Implementacija sustava. Suvremeni problemi znanosti i obrazovanja Algoritmi pretprocesiranja slike

04.03.2021 Vijesti

Laboratorijski rad br.1

Algoritmi za obradu slike

Konvolucijska operacija

Konvolucija je vrlo široko primjenjiv algoritam koji se može koristiti i za pretprocesiranje slike i za prepoznavanje i identifikaciju objekata. Neka je slika određena dvodimenzionalnom matricom svjetline F" , i matricu impulsnog odziva H. Matematički konvolvirati matricu F s jezgrom H može se odrediti sljedećom formulom:

Gdje M2xN2 - veličina matrice jezgre konvolucije. Veličina matrice F jednako je (M1+M2-1)x(N1+N2-1), gdje je M1xN1 - veličina izvorne matrice F" . Matrica F dobiva se iz izvorne dodavanjem elemenata na rubovima matrice prema nekom pravilu kako bi se dovela do potrebne veličine. Obično je izvorna matrica na rubovima podstavljena nulama za pola širine matrice H lijevo i desno i, sukladno tome, pola visine gore i isto toliko dolje. Zatim veličina dobivene matrice R bit će isti kao i matrica F" .

Konvolucija se može izračunati izravno "provođenjem" jedne matrice preko druge, kao što je prikazano gore. Na sl. Slika 1 prikazuje dijagram za izračunavanje konvolucije (uzima se da je veličina matrice maske 3x3). Operator konvolucije može se smatrati matricom koeficijenata (maski), koji se množe element po element s odabranim fragmentom slike, nakon čega slijedi zbrajanje kako bi se dobila nova vrijednost elementa filtrirane slike. Ova matrica može biti bilo koje veličine, ne nužno kvadratna.

Riža. 1. Implementacija operacije konvolucije.

Vježbajte

    Implementirajte algoritam koji izvodi operaciju savijanja izvorne slike s matricom maske.

    Veličinu i vrstu matrice maske određuje korisnik.

    Koristite sljedeće matrice maski za implementaciju različitih algoritama za obradu slike:

    • Da biste izgladili i potisnuli šum na slici, koristite masku 3x3 matrice sljedećeg tipa:

    Za naglašavanje kontura koriste se matrične maske sljedećeg tipa:

1/9*

    Za odabir kontura koristite masku sljedeće vrste:

4. Implementirati srednji filter, koji se koristi za potiskivanje točkastog i impulsnog šuma. Piksel slike i njegovi susjedi u području koje se razmatra raspoređeni su u niz varijacija (uzlaznim ili silaznim redoslijedom vrijednosti piksela), a središnja vrijednost ovog niza varijacija odabire se kao nova vrijednost piksela. Rezultat prosječnog filtriranja je da će svaki nasumični šum sadržan u slici biti učinkovito uklonjen. To je zato što će svaka nasumična nagla promjena intenziteta piksela unutar dotične regije biti sortirana, tj. postavit će se na vrh ili na dno sortiranih vrijednosti te regije i neće se računati jer je središnja vrijednost uvijek odabrana za novu vrijednost elementa.

5. Implementirajte algoritam za utiskivanje. Utiskivanje se izvodi slično algoritmima za usrednjavanje ili naglašavanje kontura. Svaki piksel na slici obrađuje 3x3 jezgra za utiskivanje (matrična maska). Na primjer, možete uzeti sljedeću matricu maske kao jezgru za utiskivanje:

Nakon što vrijednost piksela obradi jezgra za utiskivanje, dodaje joj se 128. Dakle, vrijednost pozadinskih piksela postaje srednje siva boja (crvena = 128, zelena = 128, plava = 128). Iznosi veći od 255 mogu se zaokružiti na 255.

U reljefnoj verziji slike, konture izgledaju kao da su istisnute iznad površine. Smjer osvjetljenja slike može se promijeniti promjenom položaja 1 i -1 u kernelu. Ako, na primjer, zamijenite vrijednosti 1 i -1, smjer pozadinskog osvjetljenja je obrnut.

6. Akvarelizacija slike. Filtar akvarela transformira sliku, a nakon obrade izgleda kao da je slikana akvarelom:

    Prvi korak u primjeni filtera akvarela je izravnavanje boja na slici. Jedna od metoda izglađivanja je korištenje srednjeg prosjeka boje u svakoj točki. Vrijednost boje svakog piksela i njegovih 24 susjeda (veličina matrice maske je 5x5) raspoređeni su u niz varijacija u silaznom ili rastućem redoslijedu. Srednja (trinaesta) vrijednost boje u nizu varijacija dodjeljuje se središnjem pikselu.

    Nakon izglađivanja boja, trebate primijeniti filtar za poboljšanje rubova kako biste istaknuli granice prijelaza boja.

Bit obrade slike je svođenje izvorne slike prizora na oblik koji omogućuje rješavanje problema prepoznavanja njegovih objekata.

Krajnji cilj obrade slike u VS je pripremiti objekte scene za prepoznavanje, tj. dodjeljivanje njihovih slika nekim unaprijed definiranim klasama. Unatoč raznolikosti predstavljenih postupaka transformacije informacija, u VS-u se obično razlikuju tri glavne faze obrade:

1) predobrada slike;

2) segmentacija;

3) opis.

Predobrada pak ima dvije osnovne faze: formiranje slike i njeno kodiranje (kompresija). Redoslijed faza nije krut i ovisi o konkretnom zadatku.

Predobrada slike

Sve metode pretprocesiranja slike u STS dijele se na prostorne i frekvencijske. Prostorne metode su postupci koji djeluju izravno na pikselima slike. Svjetlina se koristi kao karakteristika slike Y(x, y). Frekvencijske metode povezane su s pretvaranjem slike u kompleksnu ravninu pomoću Fourierove transformacije.

Pri razmatranju postupaka pretprocesiranja ograničit ćemo se samo na prostorne metode, a izvornu sliku smatrat ćemo polutonom.

U prvoj fazi predobrade, formiranje slike. Formiranje slike je postupak za izravno dobivanje slike u obliku niza diskretnih elemenata - piksela - koji se nalaze u memoriji video procesora, tvoreći matricu ili konturu.

U VS, u fazi formiranja slike, odabire se prag svjetline podešavanjem osvjetljenja i slika se filtrira.

Filtriranje slika je najdugotrajnija i najsloženija faza predobrade. Općenito, filtriranje rješava sljedeće glavne probleme:

· izglađivanje (suzbijanje visokofrekventnih smetnji poput "snijega");

Povećani kontrast

· izbor obrisa.

Postupak izglađivanja provodi se odmah nakon odabira praga svjetline. Njegovo značenje je prosječna vrijednost funkcije svjetline prema određenom pravilu Y(X, y) unutar analiziranog fragmenta slike.

Filtar se koristi za uklanjanje visokofrekventnih smetnji poput "snijega". niske frekvencije. Hendikep niskopropusno filtriranje je pogoršanje kontrasta slike.

Segmentacija



Kao rezultat prethodne obrade, slika sadrži jedan ili više konturnih prikaza objekata. Postupak za odvajanje ovih kontura i njihovo povezivanje s određene objekte nazvao segmentacija.

Ako je unaprijed poznato da slika sadrži nekoliko objekata, postupak segmentacije provodi se nakon izdvajanja rubova prije faze kodiranja slike.

Algoritmi segmentacije obično se temelje na traženju diskontinuiteta u konturama i sličnosti područja. U prvom slučaju, krug je pronađen i njegovo softversko premošćivanje se provodi prema utvrđenom pravilu. Ako je kontura zatvorena, smatra se da pripada objektu. U drugom slučaju određuju se područja slike koja imaju zajednička svojstva (na primjer, istu svjetlinu piksela). Kada se takva područja pronađu, ona se dodjeljuju ili pozadini ili objektu.

Kodiranje slike

Za sustave koji obrađuju polutonske slike korištenjem prostornih metoda, postoje dvije glavne metode kodiranja:

· kodiranje same slike metodom koda dužine izvođenja;

· kodiranje konture slike koristeći Freemanov lančani kod.

U oba slučaja, tijekom kodiranja dolazi do značajnog smanjenja količine podataka koji karakteriziraju sliku. Učinkovitost kodiranja određena je stupnjem kompresije slike.

Bit kodiranja kodnom metodom duljine serije, implementiran korištenjem RLE algoritma, sastoji se u predstavljanju slike jednolikim segmentima linije skeniranja, gdje su svjetlina i boje piksela iste. Štoviše, svaku seriju karakterizira odgovarajuća vrijednost i duljina serije (broj piksela).

Za izravno kodiranje konture slike najčešće se koristi lančano kodiranje. kod Freemana(Sl. 6.22, b). U ovom slučaju, kontura objekta, počevši od određene točke, određena je nizom vektora koji imaju diskretne vrijednosti, s kutom nagiba modula koji je višekratnik 45. Vrijednost modula je 2 ako je kut nagiba vektora je 45, a 1 ako je njegov položaj okomit ili vodoravan. Promjena smjera vektora pri pomicanju od jedne točke krivulje do druge odražava prirodu promjene u modeliranoj krivulji.



Opis slike

Pod, ispod opis odnosi se na određivanje karakterističnih parametara objekta - znakovi(diskriminatori) potrebni da bi se razlikovala od svih koji tvore scenu.

Prema svojoj fizičkoj biti znakovi se dijele na globalne i lokalne. Globalni znak slike je značajka koja se može izračunati za bilo koju sliku objekta.

Lokalni znakovi koristi se rjeđe; ne karakteriziraju cijelu sliku, već samo njezin dio. To uključuje kut između dviju konturnih linija, broj i parametre rupa na slici objekta itd.

Prepoznavanje slike

Priznanje je proces u kojem se na temelju skupa obilježja određene slike predmeta utvrđuje njegova pripadnost određenoj klasi.

Prepoznavanje implementira funkciju analize vizualne slike.

Konvencionalno se sve metode prepoznavanja mogu podijeliti u dvije skupine: teorijske i strukturne. Najčešće teorijske metode prepoznavanja koriste načela iz teorije odlučivanja.

Nemoguće je odrediti stvarnu vrijednost atributa objekta, budući da se vrijednosti razlikuju sa svakim mjerenjem. Stoga se zadatak prepoznavanja postavlja na sljedeći način: odredite vjerojatnost da objekt pripada određenoj klasi.

Jedno od najzanimljivijih područja prepoznavanja slika u STZ-u vezano je uz razvoj algoritama za prepoznavanje lica. Algoritam prepoznavanja (provjere) blizak je algoritmu registracije. Značajke izvučene iz trenutne slike kombiniraju se u vektor značajki, čije se komponente uspoređuju s odgovarajućim komponentama svih vektora sadržanih u bazi podataka.

Prezentacija slika

Postoje dvije glavne vrste prikaza slike – vektor i raster.

U vektorskom prikazu slika je opisana skupom linija (vektora), koji sadrže koordinate početne i završne točke, zakrivljenost linija i druge geometrijske karakteristike; također su opisana pravila za konstruiranje različitih područja i karakteristika boja. . Drugim riječima, za rasterski prikaz potrebno je formirati neki matematički model. Stoga se vektorski prikaz koristi uglavnom pri rješavanju problema sinteze slike. Iako neki algoritmi za prepoznavanje slike zahtijevaju vektorski prikaz za svoj rad, koji se mora dobiti iz izvorne slike.

Rasterska slika je jedna ili više matrica koje opisuju prostornu raspodjelu karakteristika slike na nekoj Kartezijevoj koordinatnoj mreži. U ovom slučaju, slika je izgrađena od mnogo točaka i ima rastersku strukturu. Glavni element rasterske reprezentacije slike je piksel (skraćenica za izraz “elementi slike” - elementi slike), koji ima koordinate u rasterskom koordinatnom sustavu i neke atribute (boja, svjetlina, prozirnost itd.). Broj piksela u X i Y koordinatama (horizontalnim i okomitim) određuje rezoluciju (dimenziju) prikaza slike. Boja piksela određena je dubinom - brojem bitova potrebnih za određivanje bilo koje boje.

Rasterske slike, ovisno o načinu postavljanja boje piksela i svojstvima izvorne slike, dijele se na:

Binarni

Poluton

Paleta

Puna boja

U binarnom prikazu, boja piksela može biti bijela ili crna i kodirana je kao jedan bit. Slika je matrica. Svaki element I (i, j) ove matrice ima vrijednost 0 ili 1, gdje je i broj retka, a broj j stupca elementa koji odgovara danom pikselu (slika 1).

Na slikama u sivim tonovima pikseli predstavljaju vrijednosti svjetline koje odgovaraju nijansama sive. Indeksi matrice koji opisuju polutonsku sliku određuju položaj piksela na rasteru i vrijednost elementa matrice

– postavlja svoju svjetlinu I (i, j) (slika 2).

Paletne slike opisuju dvije matrice (slika 3). Jedna pohranjuje vrijednosti indeksa koje određuju pristup retku matrice palete. Matrica palete je mapa boja. Sadrži 3 grupe stupaca - koji odgovaraju crvenoj "R", zelenoj "G" i plavoj "B" boji. Oni postavljaju boju odgovarajućeg piksela.

Paleta je matrica dimenzije Nc 3, gdje je Nc broj boja.

Algoritmi za prethodnu obradu slike

Slike u boji konstruirane su u RGB formatu i predstavljaju tri matrice R (i, j), G (i, j), B (i, j). Odgovarajući elementi svake matrice sadrže intenzitete crvene, zelene i plave boje za piksel specificiran indeksima matrice. Dakle, slika u punoj boji nema mapu boja i boja svakog piksela predstavljena je s tri broja preuzeta iz odgovarajućih matrica (slika 4).

Format brojeva u matricama može biti cijeli broj ili pokretni zarez. Prvi slučaj odnosi se na takozvane digitalizirane slike dobivene korištenjem razne uređaje– skeneri, digitalni fotoaparati, televizijske kamere itd. U tom se formatu informacije o slikama pohranjuju u standardnim grafičkim datotekama.

Druga opcija se koristi za interni prikaz slika tijekom njihove obrade. U ovom slučaju, prikladno je normalizirati podatke o intenzitetu na jedan raspon, na primjer na raspon, i izvesti različite izračune s pomičnim brojevima, a zatim pretvoriti rezultat u izvorni cjelobrojni oblik. Ova metoda omogućuje vam smanjenje pogrešaka u izračunu i povećanje točnosti rezultata obrade.

Za slike u boji, jedna od opcija je maksimalan iznos boje koje se mogu prikazati u ovom formatu. Najčešće korištene slike su one sa 16, 256, 65536 (High Color) i 10,7 milijuna (True Color) boja.

Algoritmi za prethodnu obradu slike

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Algoritmi za prethodnu obradu slike

Matrica indeksa

31 15 03 09

Matrica palete

Algoritmi za prethodnu obradu slike

Slika u punoj boji može se prikazati ne samo u RGB formatu, već i korištenjem drugih sustava boja.

U HSB sustavu boja je predstavljena sljedećim karakteristikama boje: Hue – ton boje;

Saturation – zasićenost; Svjetlina – svjetlina.

Vjeruje se da ovaj sustav boja odgovara osobitostima ljudske percepcije boja.

U LAB sustavu boja se smatra kombinacijom svjetline (svjetline) i dvije neovisne vrijednosti kromatičnosti, koje određuju pravu boju piksela. Kromatičnost A – komponenta boje odabrana je u rasponu od ljubičaste do zelene. Kromatičnost B - druga komponenta boje odabire se iz raspona od žute do plave.

Postoje i drugi sustavi predstavljanja boja. Naravno, svi su povezani i jedan prikaz se može koristiti za dobivanje drugog. Raznolikost sustava boja određena je problemima koji se rješavaju uz njihovu pomoć. Na primjer, prikladnije je izvršiti korekciju boja u LAB sustavu, bolje je reproducirati sliku na zaslonu monitora u RGB sustavu, bolje je ispisivati,

Algoritmi za prethodnu obradu slike

koristeći CMYK prikaz. Međutim, u svakom slučaju, pri obradi slika i njihovom prepoznavanju, oni rade s rasterskim prikazom slika koje sadrže jednu ili više matrica.

Klasifikacija algoritama pretprocesiranja

Algoritmi za pretprocesiranje slike podijeljeni su u različite skupine ovisno o značajci klasifikacije. Svi algoritmi predprocesiranja moraju ili poboljšati kvalitetu slike na neki način, ili je pretvoriti u oblik koji je najprikladniji za naknadnu obradu.

Algoritmi čiji je cilj poboljšanje reprodukcije boja slike nazivaju se algoritmi za korekciju boja. Ova skupina također uključuje algoritme koji rade s polutonskim slikama koje mijenjaju njihovu svjetlinu i karakteristike kontrasta.

Algoritmi koji imaju za cilj obradu prostornih karakteristika slika nazivaju se algoritmi prostorno filtriranje. U ovu skupinu spadaju algoritmi za suzbijanje šuma, algoritmi za prostorno izglađivanje i algoritmi za prostorno pojačanje, algoritmi za suzbijanje i pojačavanje prostornih frekvencija.

Algoritmi koji izvode geometrijske operacije na slici nazivaju se algoritmi geometrijske obrade. To uključuje:

Algoritmi za prethodnu obradu slike

Obrezivanje slike – odabir određenog dijela pravokutnog oblika s izvorne slike;

Promjena veličine slike. Ovi algoritmi koriste različite metode interpolacije za ispravno popunjavanje piksela koji nedostaju na uvećanoj slici ili ponovno izračunavanje vrijednosti piksela prilikom smanjivanja slike

Rotirajte sliku. Ovi algoritmi rotiraju izvornu sliku za zadani kut, ispravno preračunavajući vrijednosti piksela koristeći različite metode interpolacije.

Algoritmi koji izvode pretvorbe iz jednog sustava boja u drugi nazivaju se algoritmi za pretvorbu boja. Oni također uključuju algoritme za pretvaranje slika u boji u sive tonove i algoritme binarizacije koji pretvaraju izvornu sliku u binarnu.

Algoritmi koji ističu određena područja na izvornoj slici u skladu s različitim, često neformalnim uvjetima, nazivaju se segmentacijskim algoritmima. Primjer takvog algoritma je, na primjer, algoritam koji bi trebao istaknuti područja teksta i grafičkih informacija na slici dokumenta ili algoritam koji bi trebao istaknuti područja na tekstualnoj slici koja se odnose na pojedinačne riječi.

Algoritmi za prethodnu obradu slike

Algoritmi prostornog filtriranja

Filtriranje prostorne slike u matematičkom obliku je diskretna konvolucija diskretne slike s nekim impulsnim odzivom prostornog filtra

Ako (i, j)

Im(i m , j n )h (m , n ), gdje je:

m N11 n N21

Im, If matrice izvorne i filtrirane slike, h matrica impulsnog odziva filtra,

N 11, N 21 su donje i gornje granice stupaca impulsnog odziva, N 12, N 22 su lijeve i desne granice redaka impulsnog odziva.

Matrica impulsnog odziva može se dobiti izračunavanjem prostornog filtra na temelju zadanih parametara. Velika količina literature o digitalnom filtriranju posvećena je, primjerice, metodama izračuna prostornih filtara. Za praktične izračune možete koristiti standardne matematičke pakete, na primjer, sustav MATLAB uključuje sustav izračuna filtra Image Filter Design.

Imajte na umu da se filtriranje također može provesti u frekvencijskoj domeni. U tome

Algoritmi za prethodnu obradu slike

U ovom slučaju, redoslijed filtriranja je sljedeći:

Pretvorite sliku iz prostorne domene u frekvencijsku domenu pomoću dvodimenzionalne diskretne Fourierove transformacije

Izvršite množenje element po element matrice frekvencije slike s matricom frekvencije filtra

Pretvorite dobiveni rezultat u prostornu domenu pomoću inverzne dvodimenzionalne diskretne Fourierove transformacije.

Im(x, y)

Im(f x , f y )

Ako (f x , f y ) Im(f x , f y ) H (f x , f y )

If(fx,fy)

Ako (x, y).

Filtriranje slika u frekvencijskoj domeni koristi se vrlo rijetko zbog velike količine izračuna. Međutim, ova metoda filtriranja naširoko se koristi u teoretskim izračunima pri analizi mogućnosti obrade slike. Omogućuje vam da sasvim jasno zamislite kakva je filtracija potrebna. Na primjer, ako trebate istaknuti oštre promjene svjetline na slici, onda je očito da trebate koristiti visokopropusne filtre. Naprotiv, ako se trebate riješiti niskofrekventnih smetnji - podrhtavanja krugova, pojedinačnih emisija itd., tada trebate koristiti niskopropusne filtre. Specifični parametri filtra odabiru se na temelju analize frekvencije šuma i svojstava izvorne slike.

1

Ovaj članak razvija algoritme za obradu slike s inteligentnim mobilni roboti temeljeno na neizrazitoj logici i neuronskim mrežama, omogućava isticanje granica na slici pomoću Sobel operatora. Bit obrade slike je svođenje izvorne slike prizora na oblik koji omogućuje rješavanje problema prepoznavanja njegovih objekata. Razmatraju se glavni problemi, kao i načini njihovog rješavanja tijekom početne pripreme slike za prepoznavanje. Detaljno je analiziran algoritam pretprocesiranja pomoću neizrazite logike i proces binarizacije slike. Algoritam neizrazite obrade konstruiran je za prepoznavanje granica na slici pomoću Sobel operatora.

obrada slike

Mutna logika

inteligentni sustav

prepoznavanje predmeta

1. Vesnin E.N., Veto A.V., Tsarev V.A. O problematici razvoja i primjene adaptivnih optoelektroničkih sustava tehnički vid// Automatizacija u industriji, 2009.- br. 11.- str. 48-52.

2. Grishin V.A. Sustavi tehničkog vida u rješavanju problema upravljanja bespilotnim letjelicama // Senzori i sustavi, br. 2, 2009.- str. 46-52.

3. Klevalin V.A., Polivanov A.Yu. Metode digitalnog prepoznavanja u sustavima tehničkog vida industrijskih robota // Mehatronika, automatizacija, upravljanje, 2008., br. 5.- S. 56-56.

4. Mikhailov S.V., Romanov V.V., Zaikin D.A. Sustav tehničkog vida za dijagnosticiranje procesa rezanja materijala // Bulletin of computer and informacijske tehnologije, 2007., broj 3.- Str. 12-19.

5. Semin M.S. Pregled rješavanja primijenjenih problema korištenjem sustava tehničkog vida // http://www.videoscan.ru/page/718#13.

Trenutno je automatska obrada slike jedno od najvažnijih područja u području umjetne inteligencije i uključuje razvoj robotskih sustava koji obavljaju prepoznavanje slike. Jedan od najučinkovitijih alata za prepoznavanje uzoraka su sustavi izgrađeni na neizrazitoj logici i umjetnim neuronskim mrežama. Sustav tehničkog vida (TVS) zahtijeva nekoliko metoda i algoritama koji rješavaju isti problem. različiti putevi, pružajući pritom potrebne pokazatelje za brzinu i pouzdanost identifikacije.

Bit algoritma hibridne obrade slike u SZ mobilnih robotskih sustava (MRC) je reduciranje originalne slike scene na oblik koji omogućuje rješavanje problema prepoznavanja njenih objekata.

Algoritam za prethodnu obradu slike korištenjem neizrazitog sustava u STS

U obradi slike, neizrazita obrada predstavlja mnogo različitih neizrazitih pristupa, a to su razumijevanje, reprezentacija, obrada slike, segmentacija i neizraziti skupovi. U procesu prepoznavanja uzoraka od velike je važnosti postupak preliminarne obrade neizrazite slike, budući da o njemu ovisi kvaliteta podataka koji potom ulaze na ulaze neuronske mreže. U okviru problema koji se rješava, razvijeni algoritam pre-fuzzy obrade može se predstaviti kao sljedeći niz koraka (slika 1): snimanje slike pomoću web kamere; pretvaranje rezultirajuće slike u boji u sliku u sivim tonovima; obrada neizrazite slike.

Riža. 1. Algoritam za preliminarnu obradu neizrazite slike

Dakle, prvi korak pre-fuzzy obrade je pretvaranje slike iz boje u sive tonove. Pretvaranje boja slike u sive tonove radi se na sljedeći način. Cijela paleta boja predstavljena je u obliku kocke, čiji vrhovi odgovaraju različitim bojama. Siva skala nalazi se na dijagonali kocke koja povezuje crne i bijele vrhove.

Za pretvaranje slike u nijanse sive, intenziteti crvene, zelene i plave komponente boje izoliraju se za svaku točku na slici, a zatim se boja pretvara pomoću sljedeće formule:

gdje je nova vrijednost boje, je intenzitet crvene komponente boje, je intenzitet zelene komponente boje i je intenzitet plave komponente boje. Izlaz svakog algoritma je u sivim tonovima između 0 i 1. Postoje neke tehnike za pretvaranje slika u slike samo u sivim tonovima. Metoda svjetline koristi prosječnu vrijednost između dvije najvažnije i najmanje značajne boje: . Prosječna metoda koristi prosjek sve tri boje: . Metoda svjetline koristi ponderirani prosjek sve tri boje kako bi se uzela u obzir ljudska percepcija. Dakle, budući da je ljudsko oko najosjetljivije na zelenu boju, njegova se težina smatra najvažnijom: . Korištena metoda otkrivanja svjetline softver za obradu slike. Implementirao je funkciju " rgb2gray" u MATLAB-u i često se koristi za računalni vid. Neizrazita pretprocesiranje ima proces pretvaranja slika iz boja (RGB) u sive nijanse pomoću metode detekcije svjetline. Zatim se slika pretvara iz sivih tonova u crno-bijelu (slika 2).

Riža. 2. proces pretvaranja slika iz boja u sive tonove

Binarizacija slike tijekom predprocesiranja

Svrha preliminarne obrade nejasne slike je formiranje i naknadno poboljšanje slike, njezina binarizacija i kodiranje (osobito dobivanje konturnog prikaza). Binarizacija slike je proces pretvaranja slike koja se sastoji od gradacije jedne boje (u našem slučaju sive) u binarnu sliku, tj. sliku u kojoj svaki piksel može imati samo dvije boje (u našem slučaju crnu i bijelu). Kao rezultat ove transformacije, boja piksela se konvencionalno smatra jednakom nuli ili jedinici, dok se pikseli s vrijednošću nula (u ovom slučaju to su bijeli pikseli) nazivaju pozadinom, a pikseli s vrijednošću jednakom jedan (crni) nazivaju se prvi plan. Ali binarna slika dobivena kao rezultat takve transformacije iskrivljena je u usporedbi s izvornikom, što je karakterizirano pojavom lomova i zamućenja na objektima, pojavom šuma slike u homogenim područjima, kao i gubitkom cjelovitosti. strukture objekata.

Gubitak cjelovitosti predmeta, kao i pucanje predmeta, nastaje zbog niza razloga, kao što su velika neravnomjerna osvijetljenost predmeta ili dodirivanje (ili preklapanje predmeta jednog na drugom). Posebne poteškoće u obradi izaziva prekrivanje (ili dodirivanje - kao poseban slučaj preklapanja), jer s jedne strane, slika nekoliko objekata može se interpretirati kao jedan objekt, as druge strane, algoritmi koji provjeravaju geometrijski integritet objekta formirat će diskontinuitete na mjestima preklapanja, predstavljajući ta područja kao pozadinu. Teškoća obrade leži u nedostatku teorijskog rješenja problema tumačenja preklapanja objekata, budući da se dio informacija gubi. Prilikom implementacije algoritama u praksi, jedna od navedenih opcija uzima se kao ispravna odluka - ili se raskrižje smatra nastavkom trenutnog objekta ili će se područje preklapanja smatrati pozadinom.

Thresholding pretvara sliku u boji ili sivu u crno-bijelu sliku. Transformacije pragova zauzimaju središnje mjesto u problemima primijenjene segmentacije slike zbog svojih intuitivnih svojstava i jednostavnosti implementacije. Za svaki piksel na slici ispituje se njegova razina intenziteta; ako je njegova vrijednost iznad određene razine praga, odgovara bijeloj boji. Ako je ispod postavljenog praga, postavljen je na crno. Razina praga bit će između 0 i 255.

Trenutno postoji veliki broj metoda binarizacije. Bit ove pretvorbe rasterske slike je usporedna analiza svjetline trenutnog piksela s određenom vrijednošću praga: ako svjetlina trenutnog piksela premaši vrijednost praga, tj. , tada će boja piksela u binarnoj slici biti bijela, inače će boja biti crna. Površina praga je matrica čija dimenzija odgovara dimenziji izvorne slike.

U procesu binarizacije sve metode se dijele u dvije skupine prema principu konstruiranja plohe praga - to su metode globalne i lokalne obrade binarizacije. U metodama obrade globalne binarizacije, površina praga je ravnina s konstantnom vrijednošću praga svjetline, tj. vrijednost praga izračunava se na temelju analize histograma cijele slike i ista je za sve piksele originalne slike. Globalno određivanje praga ima značajan nedostatak - ako izvorna slika ima neujednačeno osvjetljenje, područja koja su manje osvijetljena u potpunosti su klasificirana kao prednji plan. U metodama obrade lokalne binarizacije, vrijednost praga se mijenja za svaku točku na temelju nekih značajki područja koje pripada određenom susjedstvu te točke. Nedostatak ove vrste transformacije je mala brzina rad algoritama povezanih s ponovnim izračunom vrijednosti praga za svaku točku slike.

Kao metodu rješavanja problema koristit ćemo Bernsenovu metodu. Metoda se temelji na ideji usporedbe razine svjetline pretvorenog piksela s vrijednostima lokalnih prosjeka izračunatih u njegovom okruženju. Pikseli slike obrađuju se jedan po jedan uspoređujući njihov intenzitet s prosječnim vrijednostima svjetline u prozorima centriranim na točke (slika 3).

Riža. 3. Pretvorba piksela slike

Algoritam neizrazite obrade za detekciju rubova i segmentaciju slike

Nakon pretvaranja slike u crno-bijelu, pomoću Sobel operatora dobiva se gradijentna slika koja se šalje na ulaze obrade neizrazite slike (FIP) (Sl. 4).

Obrada neizrazite slike sastoji se od tri glavne faze: nejasna faza slike, neizraziti sustav zaključivanja o vrijednostima pripadnosti i defuzizacija slike. Glavna obrada neizrazite slike je u srednjem koraku (sustav neizrazitog zaključivanja). Nakon prijenosa slikovnih podataka iz razine sive u fazifikaciju, sustav neizrazitog zaključivanja određen je vrijednostima pripadnosti. Fuzzification je kodiranje slikovnih podataka, a defuzzification je dekodiranje rezultata, što omogućuje obradu slike neizrazitim tehnikama.

Slika - veličina s razinama sive i može se definirati kao niz neizrazitih skupova od jedne točke (neizraziti skupovi mogu biti podržani sa samo jednom točkom) koji označavaju vrijednost pripadnosti svakog piksela s obzirom na pred-svojstva slike (npr. svjetlina, glatkoća, itd.).

(1)

gdje su i pripadnici piksela u zapisu neizrazitih skupova. Određivanje vrijednosti članstva ovisi o specifičnim zahtjevima određene aplikacije i o relevantnoj bazi znanja.

Izlaz sustava za ulazni sustav dan je sljedećom formulom:

(2)

Riža. 4. Algoritam za obradu neizrazite slike za detekciju rubova

Primjena neuronskih mreža za prepoznavanje uzoraka

Višeslojni perceptron je umjetna neuronska mreža koja se sastoji od nekoliko ulaznih čvorova koji tvore ulazni sloj, jednog ili više računalnih slojeva neurona i jednog izlaznog sloja (slika 6). U takvim mrežama, signal primijenjen na ulazni sloj prenosi se sekvencijalno u smjeru naprijed od sloja do sloja. Ovaj tip ANN se uspješno koristi za rješavanje niza problema, posebice za problem prepoznavanja uzoraka.

Neuralna mreža povratnog širenja sastoji se od nekoliko slojeva neurona, pri čemu je svaki neuron u prethodnom sloju povezan sa svakim neuronom u sljedećem sloju. U takvim mrežama, nakon određivanja broja slojeva i broja elemenata svakog sloja, potrebno je izračunati vrijednosti težina i pragova mreže na način da se minimizira pogreška predviđanja. Ovaj se problem rješava korištenjem raznih algoritama učenja. Bit ovih algoritama je prilagoditi mrežu podacima za obuku. Pogreška implementirane mreže utvrdit će se pokretanjem svih ulaznih podataka i usporedbom stvarnih vrijednosti dobivenih na mrežnom izlazu s ciljnim vrijednostima. Tada se dobivene razlike zbrajaju u zajedničku, tzv. funkciju greške, koja karakterizira ukupnu grešku mreže. Ali češće se zbroj kvadrata pogrešaka uzima kao funkcija pogrešaka.

Jedan od najčešćih algoritama za obuku višeslojnih neuronskih mreža je algoritam povratnog širenja. Ovaj algoritam izračunava vektor gradijenta površine pogreške. Zatim se pomaknemo za određeni iznos u smjeru vektora (on će nam pokazati smjer najvećeg spuštanja), gdje će vrijednost pogreške biti manja. Takav dosljedan napredak postupno će dovesti do smanjenja pogreške. Ovdje se javlja poteškoća u određivanju iznosa za predujam. Ako je veličina koraka relativno velika, to će dovesti do najbržeg spuštanja, ali postoji mogućnost "preskakanja"

željenu točku ili idite u krivom smjeru ako površina ima prilično složen oblik. Na primjer, ako je površina uska klisura sa strmim padinama, algoritam će se kretati vrlo sporo, skačući s jedne padine na drugu. Ako je veličina koraka mala, to će dovesti do pronalaženja najoptimalnijeg smjera, ali može značajno povećati broj ponavljanja. Da bi se postigao najoptimalniji rezultat, veličina koraka se uzima proporcionalno strmini padine uz određenu konstantu - brzinu učenja. Izbor ove konstante provodi se eksperimentalno i ovisi o uvjetima konkretnog zadatka.

Uvedimo sljedeću oznaku. Označimo matricu težinskih koeficijenata iz ulaza u skriveni sloj, a matricu težina koja povezuje skriveni i izlazni sloj - . Za indekse ćemo koristiti sljedeću notaciju: ulazi će biti numerirani samo indeksom, elementi skrivenog sloja - indeksom, a izlazi - indeksom. Broj mrežnih ulaza je , broj neurona u skrivenom sloju je , broj neurona u izlaznom sloju je . Neka se mreža trenira na uzorku , . Tada će algoritam za obuku višeslojnog perceptrona izgledati ovako:

Korak 1. Inicijalizacija mreže. Težinskim koeficijentima dodjeljuju se male slučajne vrijednosti, na primjer, iz raspona (-0,3, 0,3); postavljaju se - parametar točnosti učenja, - parametar brzine učenja (u pravilu, a može se dodatno smanjivati ​​tijekom procesa učenja), - najveći dopušteni broj ponavljanja.

Korak 2: Izračunajte trenutni izlazni signal. Jedna od slika uzorka za treniranje dostavlja se na ulaz mreže i određuju se izlazne vrijednosti svih neurona neuronske mreže.

Korak 3. Postavljanje sinoptičkih težina. Izračunajte promjenu u težinama za izlazni sloj neuronske mreže pomoću formula:

Gdje , . Izračunajte promjenu težine za skriveni sloj pomoću formula: , Gdje

Korak 4. Koraci 2-3 se ponavljaju za sve vektore obuke. Uvježbavanje je dovršeno kada svaka od slika uvježbavanja dosegne vrijednost funkcije pogreške koja ne prelazi e ili nakon najvećeg dopuštenog broja ponavljanja.

U koraku 2, bolje je predstaviti vektore iz niza obuke na ulaz nasumičnim redoslijedom.

Broj ulaza i izlaza mreže u pravilu je diktiran uvjetima problema, a veličina skrivenog sloja se pronalazi eksperimentalno. Obično je broj neurona u njemu 30-50% broja ulaza. Previše neurona u skrivenom sloju dovodi do toga da mreža gubi sposobnost generalizacije (jednostavno temeljito pamti elemente uzorka za obuku i ne odgovara na slične uzorke, što je neprihvatljivo za zadatke prepoznavanja). Ako je broj neurona u skrivenom sloju premalen, mreža jednostavno ne može učiti.

Zaključak

Razmatraju se glavni problemi, kao i načini njihovog rješavanja tijekom početne pripreme slike za prepoznavanje. Detaljno je analiziran algoritam pretprocesiranja pomoću neizrazite logike i proces binarizacije slike. Algoritam neizrazite obrade konstruiran je za prepoznavanje granica na slici pomoću Sobel operatora.

Recenzenti:

Gagarina L.G., doktor tehničkih znanosti, profesor, voditelj Odsjeka za softver informatike i računalnih sustava, Nacionalno istraživačko sveučilište MIET, Moskva.

Portnov E.M., doktor tehničkih znanosti, profesor Odsjeka za “Softver informatike i računalnih sustava”, voditelj istraživačkog laboratorija “Menadžeri” Informacijski sustavi» Nacionalno istraživačko sveučilište "MIET", Moskva.

Bibliografska poveznica

Aung C.H., Tant Z.P., Fedorov A.R., Fedorov P.A. RAZVOJ ALGORITAMA ZA OBRADU SLIKE INTELIGENTNIM MOBILNIM ROBOTIMA NA TEMELJNOJ LOGICI I NEURONSKIM MREŽAMA // Suvremeni problemi znanosti i obrazovanja. – 2014. – br. 6.;
URL: http://science-education.ru/ru/article/view?id=15579 (datum pristupa: 01.02.2020.). Predstavljamo vam časopise izdavačke kuće "Akademija prirodnih znanosti"

DIGITALNI LIJEČENJE SIGNALI

Tema 17. OBRADA SLIKE

Ne postoji ništa što se ljudska mašta usuđuje učiniti.

Tit Lukrecije. rimski filozof i pjesnik. I stoljeće PRIJE KRISTA e.

Mašta je dobra stvar. Ali izvući beskućnika iz podruma, oprati ga, pretvoriti u Apolona, ​​spakirati u kutiju šibica i poslati prijatelju e-pošta dobar grafički program će biti bolji.

Anatolij Pyshmintsev, novosibirski geofizičar Uralske škole. XX. stoljeća

Uvod.

1. Osnovni pojmovi. Grafički prikaz slike. Predstavljanje boja u računalnoj grafici. Boja RGB model. CIE XYZ sustav boja.

2. Geometrijske transformacije rasterskih slika. Područja i stupnjevi transformacije. Uzorkovanje. Interpolacijski nizovi za rekonstrukciju dvodimenzionalnog signala. Frekvencijska izobličenja slike i njihovo uklanjanje. Ponovno uzorkovanje slika.

3. Filtriranje slike. Linearni filtri. Anti-aliasing filtri. Filtri za poboljšanje kontrasta. Filtri razlike. Dvodimenzionalna ciklička konvolucija. Nelinearni filtri. Filtriranje praga. Srednje filtriranje. Ekstremni filteri.

4. Kompresija slike. Algoritmi kodiranja dužine ponavljanja (RLE). Rječnički algoritmi. Statistički algoritmi kodiranja. Kompresija slike s gubitkom. Procjena gubitka na slikama. Fourierova transformacija. Wavelet transformacija.

UVOD

Opseg istraživanja u području digitalne slike brzo raste. To je određeno činjenicom da je obrada slike obrada višedimenzionalnih signala, a većina signala u stvarnom svijetu je višedimenzionalna.


Slika u matematičkom prikazu je dvodimenzionalni signal koji nosi ogromnu količinu informacija. Slika u boji od 500 × 500 elemenata je niz od nekoliko stotina tisuća bajtova. Takve informacije mogu se obraditi samo racionalnom organizacijom izračuna. Za specifične zadatke obrade slika možete koristiti učinkovite načine obrada uzimajući u obzir karakteristike i ograničenja ovog specifičnog zadatka. Ali ako govorimo o obradi slike za rješavanje široke klase problema, onda je potrebno istaknuti skup standardne operacije, iz kojeg možete izgraditi algoritme za rješavanje proizvoljnih problema. To uključuje linearne transformacije, 2D konvoluciju i 2D diskretnu Fourierovu transformaciju.

Ali nelinearne transformacije također se široko koriste u obradi slike. Osobitost slika je u tome pojedinačni elementi slike su u određenoj vezi sa susjednim elementima. Stoga je većina algoritama za transformaciju slike lokalne prirode, tj. obrađuju slike po skupinama elemenata koji se nalaze u blizini zadanog. Linearne transformacije zadovoljavaju svojstvo lokalnosti i omogućuju konstrukciju algoritama čija računalna složenost malo ovisi o veličini okolnog susjedstva. Ista su svojstva potrebna za nelinearne transformacije slike. Klasa takvih transformacija uključuje algoritme koji se nazivaju algoritmi za filtriranje ranga, koji se temelje na izračunu lokalne statistike ranga slika. Pri izračunu statistike ranga i njezinih izvedenica moguća su pojednostavljenja zbog redundantnosti informacija na slikama. Najpoznatiji algoritam ove klase je algoritam srednjeg filtriranja. Ostali primjeri algoritama rangiranja uključuju algoritme ekstremnog filtriranja, koji zamjenjuju analizirani element slike maksimumom ili minimumom u susjedstvu. Drugo svojstvo algoritama za rangiranje je lokalna prilagodba karakteristikama obrađene slike i potencijal njihove upotrebe ne samo za izglađivanje i uklanjanje šuma, već i za isticanje značajki u automatskom prepoznavanju slike.

U obradi slike, metode za obradu jednodimenzionalnih signala naširoko se koriste ako se mogu generalizirati na višedimenzionalne signale. Pritom je potrebno uzeti u obzir da matematičke metode za opisivanje višedimenzionalnih sustava nisu potpune. Višedimenzionalni sustavi imaju veliki broj stupnjeva slobode, a njihov dizajn stječe fleksibilnost koja nije karakteristična za jednodimenzionalne sustave. Istovremeno, višedimenzionalni polinomi se ne mogu rastaviti na proste faktore, što komplicira analizu i sintezu višedimenzionalnih sustava.

17.1. Osnovni koncepti

Grafički prikaz slika. Za prikaz grafičkih informacija na dvodimenzionalnoj ravnini (zaslon monitora) koriste se dva pristupa: rasterski i vektorski.

S vektorskim pristupom grafičke informacije opisan kao zbirka sažetaka geometrijski objekti- ravne linije, segmenti, krivulje, pravokutnici itd. Opis vektora pretpostavlja apriorno znanje o strukturi slike.

Rasterska grafika radi s proizvoljnim slikama u obliku rastera. Raster je opis slike na ravnini dijeljenjem (uzorkovanjem) na identične elemente na pravilnoj mreži i dodjeljivanjem svakom elementu vlastite boje i bilo kojih drugih atributa. Najjednostavniji raster je pravokutni, najekonomičniji u pogledu broja uzoraka za prijenos slika je šesterokutni. S matematičkog gledišta, raster je komadno konstantna aproksimacija na ravnini kontinuirane slikovne funkcije.

Rasterski element naziva se piksel. Standardna identifikacija piksela:


f(i, j) = (A(i, j),C(i, j)), (17.1.1)

gdje je A(i, j) Ì R2 područje piksela, C(i, j) Î C je atribut piksela (obično boja). Postoje dvije vrste atributa koji se najčešće koriste:

C(i, j) = I(i, j) - intenzitet (svjetlina) piksela;

C(i, j) = (R(i, j), G(i, j), B(i, j)) - atributi boja u RGB modelu boja.

U obliku matrice:

Mij ​​​​= (Aij, Cij).

Kod diskretizacije kontinuiranih slika, vrijednosti Aij mogu se definirati na dva načina, ili kao vrijednosti točaka Aij = (i, j), za koje su definirani atributi Cij, ili kao vrijednosti kvadrati Aij = (i, i+1) × (j, j+1) ili bilo koji drugi oblik, pri čemu je Cij određen prosječnim vrijednostima unutar ovog oblika (slika 17.1.1).

U praksi, u pravilu, X i Y su ograničeni skupovi nenegativnih cijelih brojeva kvadratnog ili pravokutnog rastera s omjerom stranica (omjerom stranica) širine rastera prema visini, koji se zapisuje u obliku, na primjer, " 4:3".

Predstavljanje boja u računalnoj grafici. Koncept boje temelji se na percepciji elektromagnetskih valova u određenom frekvencijskom rasponu od strane ljudskog oka. Dnevna svjetlost koju opažamo ima valne duljine λ od 400 nm (ljubičasta) do 700 nm (crvena). Opis svjetlosni tok može poslužiti kao njegova spektralna funkcija I(λ). Svjetlost se naziva monokromatskom ako njen spektar ima samo jednu određenu valnu duljinu.

Postoje dvije vrste receptora na mrežnici oka: štapići i čunjići. Spektralna osjetljivost štapića (slika 17.1.2) izravno je proporcionalna svjetlini upadne svjetlosti. Čunjići se dijele na tri tipa, od kojih svaki ima određenu osjetljivost u ograničenim rasponima s maksimumima u crvenoj, zelenoj i plavoj boji, a oštro gube svoju osjetljivost u mraku. Osjetljivost oka na plavo mnogo je manja nego na druga dva. Važno svojstvo ljudske percepcije svjetlosti je linearnost pri dodavanju boja različitih valnih duljina.

RGB model boja (Red, Green, Blue - crvena, zelena, plava) u računalnoj grafici trenutno je najčešća. U ovom je modelu spektralna funkcija predstavljena kao zbroj krivulja osjetljivosti za svaku vrstu čunjića s nenegativnim težinskim koeficijentima (normaliziranim od 0 do 1), koji su označeni R, G i B. Model karakterizira svojstvo aditivnosti za dobivanje novih boja. Na primjer, kodiranje spektralnih funkcija:

Crna: fcrna = 0, (R, G, B) = (0,0,0);

Ljubičasta boja fljubičasta = fred + fplava, (R, G, B) = (1,0,1);

Bijelo fbijelo = crveno + fzeleno + fplavo, (R, G, B) = (1,1,1).

Trodimenzionalni prostor boja RGB modela prikazan je na sl. 17.1.3. Zbog osobitosti percepcije svjetlosti od strane receptora, nisu sve boje vidljive ljudima prikazane u ovom modelu. Međutim, udio boja koje se reproduciraju znatno je veći od udjela koje nisu zastupljene u ovom modelu.

CIE XYZ sustav boja. Međunarodni standard za prikaz boja CIE (CIE - Commission Internationale de l'Eclairage) usvojen je 1931. godine od strane Međunarodne komisije za rasvjetu. On definira tri osnovne funkcije ρX(λ), ρY(λ), ρZ(λ), ovisno o valna duljina , čije nam linearne kombinacije s nenegativnim koeficijentima (X, Y i Z) omogućuju dobivanje svih boja vidljivih ljudima. Ove funkcije uzimaju u obzir relativnu percepciju intenziteta svjetlosti od strane receptora oka. U trodimenzionalnom prostoru, CIE sustav boja oblikuje stožac u prvom kvadrantu i služi za kvalitetan prikaz slika u boji.

17.2. Geometrijske transformacije rasterskih slika

Područja i stupnjevi transformacije. Slike se mogu podijeliti na teksturu i detalje. U teksturnim slikama svi uzorci (elementi) nose informaciju (slika na TV ekranu). Detaljna slika je ona na kojoj možete identificirati ometajuće objekte, pozadinu i korisne objekte.

Postoje tri glavne skupine algoritama za obradu slike na računalima:

1. Primarna (preliminarna) obrada slike u svrhu restauracije, čišćenja od slučajnog šuma, poboljšanja kvalitete, ispravljanja geometrijskih izobličenja optički sustavi(defokusiranje, aberacije itd.).

2. Opis slika, prepoznavanje uzoraka. Izvodi se za određivanje parametara detalja slike i uključuje: pronalaženje područja slike koja su ujednačena u razini osvjetljenja i boje, prepoznavanje značajki oblika slika, određivanje koordinata posebnih točaka objekata itd.

3. Učinkovito kodiranje za smanjenje volumena prijenosa i pohrane.

Većina metoda primarna obrada temelje se na korištenju linearnih prostorno nepromjenjivih (SPI) filtara. Linearni algoritmi izvode se korištenjem dvodimenzionalnih analoga jednodimenzionalnih FIR i IIR filtara. Mogu se koristiti, na primjer, pri implementaciji filtara za smanjenje šuma na slikama.

FIR filteri su implementirani metodom konvolucije. Prednosti 2D FIR filtera su jasnoća, jednostavnost i apsolutna robusnost. IIR filtri implementirani su pomoću diferencijskih jednadžbi i z-transformacija. Brži su od FIR filtera, ali mogu biti nestabilni. Sinteza dvodimenzionalnih IIR filtara razlikuje se od sinteze jednodimenzionalnih jer za dvodimenzionalnu funkciju nije moguće eksplicitno identificirati polove.

Nelinearne metode također mogu biti potrebne za vraćanje slika i poboljšanje njihove kvalitete. Na primjer, kako bi se suzbio šum, a istovremeno očuvao konturni dio slike, potrebno je koristiti nelinearne ili linearne prostorno neinvarijantne (SPNI) filtre, koji su implementirani algoritmima rangiranja. Svi nelinearni filtri ranga temelje se na brzim algoritmima za izračunavanje lokalnih histograma.

Jedna takva metoda je srednje filtriranje. Korištenje srednjih filtara učinkovito je za suzbijanje određenih vrsta šuma i periodičnih smetnji bez istovremenog izobličenja signala, na primjer, za suzbijanje nizova buke, uključujući ispuštene vodove. Metoda se također može koristiti za rješavanje problema povezanih s prepoznavanjem, na primjer, za prepoznavanje tankih linija i malih izoliranih objekata.

Algoritmi za opis slike i prepoznavanje uzoraka obično su nelinearni i heuristički. Značajke objekata obično su površina slike objekta, opseg konture slike i omjer površine i kvadrata perimetra slike. Oblik objekta može se karakterizirati polumjerom kruga upisanog u sliku ili opisanog oko slike objekta, duljinom minimalnog i maksimalnog radijus vektora od "centra mase" slike.

Uzorkovanje. Pretvorbe slika u računalu i pohranjivanje obrađenih podataka obavljaju se u diskretni oblik. Uzorkovanje se koristi za dobivanje diskretne reprezentacije kontinuiranih analognih slika stvarnog svijeta. U praksi se to provodi pomoću ulaznih uređaja (digitalni fotoaparat, skener ili drugi). Za vizualnu percepciju obrađenih slika na izlaznim uređajima (zaslon, crtač, itd.), analogna slika se rekonstruira iz svoje uzorkovane reprezentacije.

U najjednostavnijem slučaju crno-bijele slike imamo dvodimenzionalni niz sa(x, y). Za slike u boji u RGB modelu, uzimajući u obzir svojstvo aditivnosti pri dodavanju boja, svaki sloj R, G i B također se može smatrati i obraditi kao dvodimenzionalni niz, uz naknadno zbrajanje rezultata.

Od načina generalizacije jednodimenzionalne periodične diskretizacije na dvodimenzionalni slučaj, najjednostavniji je periodična diskretizacija u pravokutnim koordinatama:

s(n, m) = sa(nDx, mDy),

gdje su Dx i Dy horizontalni i vertikalni intervali uzorkovanja dvodimenzionalnog kontinuiranog signala sa(x, y) s kontinuiranim x i y koordinatama. U nastavku, vrijednosti Dx i Dy, kao u jednodimenzionalnom slučaju, uzimaju se jednake 1.

Uzorkovanje dvodimenzionalnog signala također dovodi do periodizacije njegovog spektra i obrnuto. Uvjet informacijske ekvivalentnosti koordinatnih i frekvencijskih prikaza diskretnog signala također je očuvan s jednakim brojem točaka uzorkovanja u glavnim rasponima signala. Za pravokutno uzorkovanje, prednja i inverzna Fourierova transformacija dane su kao:

S(k, l) = s(n, m) exp(-jn2pk/N-jm2pl/M), (17.2.1)

S(k, l) = exp(-jn2pk/N) s(n, m) exp(-jm2pl/M), (17.2.1")

s(n, m) = S(k, l) exp(-jn2pk/N-jm2pl/M). (17.2.2)

s(n, m) = exp(-jn2pk/N) S(k, l) exp(-jm2pl/M). (17.2.2")

Riža. 17.2.1. Periodizacija spektra.

Ovi izrazi pokazuju da se dvodimenzionalni DFT iz pravokutnog rastera uzorkovanja podataka može izračunati pomoću jednodimenzionalnih sekvencijalnih DFT-ova. Drugi zbrojevi izraza (17.2.1") i (17.2.2") jednodimenzionalni su DFT-ovi odsječaka funkcija s(n, m) i S(k, l) duž linija n i k, redom, i prvi su jednodimenzionalni DFT-ovi izračunatih funkcija u odsječcima po m i l. Drugim riječima, početne matrice vrijednosti s(n, m) i S(k, l) prvo se preračunavaju u srednje matrice s DFT u redovima (ili u stupcima), a međumatrice u konačne matrice s DFT u stupcima (odnosno u redovima).

Kako periodično ponavljanje spektra (sl. 17.2.1), uzrokovano uzorkovanjem analognog signala s frekvencijom Fx=1/Dx i Fy=1/Dy, ne bi promijenilo spektar u glavnom frekvencijskom području ( u odnosu na spektar izvornog analognog signala), potrebno je i dovoljno je da maksimalne komponente frekvencije fmax u spektru analognog signala, kako u redovima tako iu stupcima, ne prelaze Nyquistovu frekvenciju (fmax. x £ fN = Fx/2, fmaks. y £ fM = Fy/2). To znači da brzina uzorkovanja signala mora biti najmanje dvostruko veća od maksimalne frekvencijske komponente u spektru signala:

Fx ³ 2fmax. x, Fy ³ 2fmax. y, (17.2.3)

koji osigurava da spektralne funkcije dosegnu nulte vrijednosti na krajevima glavnog raspona spektra.

Interpolacijski nizovi za rekonstrukciju dvodimenzionalnog signala. Ako je kontinuirani signal sa(x, y) signal s ograničenim spektrom, a periodi uzorkovanja su odabrani dovoljno mali da se spektri susjednih perioda ne preklapaju:

Sa(Wx, Wy) = 0 za |Wx|p/Dx, |Wy|p/Dx,

tada se, kao u jednodimenzionalnom slučaju, signal sa(x, y) može rekonstruirati iz diskretnog signala korištenjem dvodimenzionalnog analoga Kotelnikov-Shannonovog niza:

sa(x, y) = Sn Sm s(n, m) . (17.2.4)

Frekvencijska izobličenja slike i njihovo uklanjanje. Signal s neograničenim spektrom također se može uzorkovati, ali u ovom slučaju postoji aliasing spektara u susjednim periodima, i visoke frekvencije, više će Nyquistove frekvencije biti "maskirane", kao u jednodimenzionalnom slučaju, pod niske frekvencije glavno razdoblje. Učinak "refleksije" od granica razdoblja daje još složeniju sliku zbog interferencije frekvencija reflektiranih duž različitih koordinata. Sličan učinak, poznat kao aliasing, također će se primijetiti kada je brzina uzorkovanja slike nedovoljna. Ovaj se učinak može posebno jasno uočiti u oštrim kontrastnim promjenama svjetline.

Za borbu protiv takvih pojava koristi se prethodno filtriranje (antialiasing) - preliminarna konvolucija analogne slike s funkcijom filtra za težinu koja odsijeca visokofrekventne komponente koje mogu dovesti do aliasinga. U dvodimenzionalnom slučaju, filtriranje je opisano na sljedeći način:

z(x, y) = h(x", y") ③③ s(x-x", y-y"). (17.2.5)

Valja napomenuti da analogne slike postoje samo u optičkom rasponu, na primjer, u obliku svjetlosnog prikaza na ekranu, fotografskom papiru ili filmu, ali ne mogu postojati u memoriji računala. Stoga je fizička provedba predfiltracije moguća samo kod registracije slike defokusiranjem, što se u pravilu ne koristi. Primarne informacije uvijek treba bilježiti s maksimalnom potpunošću i točnošću, a čišćenje primarnih informacija od nepotrebnih detalja i suvišnosti stvar je naknadne obrade podataka. Stoga, u odnosu na jednadžbu 17.2.5, dvodimenzionalna predfiltracija, u svojoj praktična provedba, može predstavljati samo filtriranje slika uzorkovanih s velikom marginom preko glavnog frekvencijskog raspona (s prevelikom rezolucijom), a koristi se, u pravilu, kod ponovnog uzorkovanja na veći korak, na primjer, kod kompresije slika. Predfilteriranje se također može ugraditi u algoritme za konstrukciju slike.

Na sl. 17.2.3 i niže, tablica 17.2.1 prikazuje primjere najčešćih jednodimenzionalnih filtara za anti-aliasing. Također se mogu implementirati u obliku analognih filtara i koristiti, na primjer, pri prijenosu linija televizijske slike u analognom obliku preko radio kanala (horizontalni antialiasing). Načelno se slična operacija može izvesti preko stupaca (double - image), a nakon zbrajanja slike izvršit će se kompletna operacija anti-aliasinga, ali ova metoda više pripada području posebnih znanstvenih istraživanja.

Tablica 17.2.1.

Osnovne težinske funkcije

Vremenski prozor

Funkcija težine

Fourierova slika

Prirodno (P)

P(t) = 1, |t|£t; P(t) = 0, |t|>t

P(w) = 2t sinc

Bartlett (D)

B(w) = t sinc2(wt/2).

Henninga, Ganna

p(t) = 0,5

0,5P(š)+0,25P(š+p/t)+0,25P(š-p/t)

Rubljenje

p(t) = 0,54+0,46 cos(pt/t)

0,54P(š)+0,23P(š+p/t)+0,23P(š-p/t)

Carre (2. prozor)

p(t) = b(t) sinc(pt/t)

t·B(w)*P(w), P(w) = 1 za |w|

Laplace-Gaussov

p(t) = exp[-b2(t/t)2/2]

[(t/b) exp(-t2w2/(2b2))] ③ P(w)

Dvodimenzionalni analozi jednodimenzionalnih filtara f1(x) konstruirani su u dvije opcije simetrije: ili kao funkcija polumjera:

f2(x, y) = f1(),

ili kao djelo:

f2(x, y) = f1(x) × f1(y).

Prva opcija je ispravnija, ali druga ima svojstvo odvojivosti, tj. dvodimenzionalna konvolucija se može izvesti s dvije jednodimenzionalne konvolucije uzastopno duž redaka s f1(x) i duž stupaca s f1(y).

Ponovno uzorkovanje slike ili ponovno uzorkovanje je promjena frekvencije uzorkovanja digitalnog signala. Kada se primijeni na digitalne slike, to znači promjenu veličine slike.

Postoje različiti algoritmi za ponovno uzorkovanje slike. Na primjer, za povećanje slike 2 puta metodom bilinearne interpolacije, srednji stupci i retci dobivaju se linearnom interpolacijom vrijednosti susjednih stupaca i redaka. Svaka točka nove slike može se dobiti kao ponderirani zbroj većeg broja točaka na izvornoj slici (bikubična i druge vrste interpolacije). Najviša kvaliteta ponovnog uzorkovanja postiže se korištenjem algoritama koji uzimaju u obzir ne samo vremensku, već i frekvencijsku domenu signala.

Razmotrimo algoritam ponovnog uzorkovanja s maksimalnim očuvanjem informacija o frekvenciji slike. Razmotrit ćemo rad algoritma na jednodimenzionalnim signalima, budući da se dvodimenzionalna slika može prvo rastegnuti ili komprimirati vodoravno (duž redaka), a zatim okomito (duž stupaca), te svesti ponovno uzorkovanje dvodimenzionalne slike na ponovno uzorkovanje jednodimenzionalnih signala.

Recimo da imamo jednodimenzionalni signal (slika 17.2.4), specificiran na 0-T intervalu i uzorkovan s korakom Dt=1 (N intervala). Signal je potrebno “razvući” m puta. Spektar signala prikazan na slici izračunat je brzom Fourierovom transformacijom (FFT, broj uzoraka spektra jednak je broju uzoraka signala) i dan je u glavnom FFT rasponu (0-2p, Nyquistova frekvencija wN = p/Dt = p, odnosno 0,5N prema numeriranju uzoraka spektra s korakom duž spektra Df = 1/T ili Dw = 2p/T). Postoje 2 koraka za izvođenje istezanja.

Prvi korak je nulta interpolacija, koja povećava duljinu signala za m puta. (Slika 17.2.5). Morate pomnožiti sve uzorke izvornog signala s m, a zatim umetnuti m-1 nultu vrijednost nakon svakog uzorka signala. Interval 0-T, čija vrijednost ostaje nepromijenjena, sada sadrži m puta više intervala uzorkovanja (mN), a novi korak uzorkovanja bit će jednak Dx=Dt/m. Prema tome, nova Nyquistova frekvencija za ovaj signal je mp/Dt = mp. Ali fizička vrijednost koraka spektra u frekvencijskim jedinicama je inverzna fizikalnoj vrijednosti intervala postavljanja signala (Df = 1/T), i stoga će FFT iz mN točaka signala izračunati mN točaka spektra u glavni FFT raspon od 0-2pm sa korakom spektra izvornog signala, u kojem će sadržavati m-perioda spektra izvornog signala (jedna glavna i m-1 strana).

Drugi korak je filtriranje bočnih pojaseva spektra pomoću niskopropusnog filtra u vremenskoj ili spektralnoj domeni. Na sl. 17.2.6 spektar je očišćen i izvedena je inverzna Fourierova transformacija, što je rezultiralo signalom m puta dužim od izvornog uz potpuno očuvanje svih informacija o frekvenciji.

Koristeći sličan princip, može se konstruirati algoritam za sažimanje (desetkovanje) signala za n puta, s obrnutim redoslijedom koraka. Prilikom komprimiranja signala povećava se korak uzorkovanja signala i, sukladno tome, smanjuje se Nyquistova frekvencija, dok će se odrezane visoke frekvencije (šum i beznačajni visokofrekventni dijelovi spektra signala) reflektirati od granice glavnog raspona. i sažeti s glavnim informacijama, stvarajući iskrivljenje. Kako bi se eliminirao ovaj fenomen, signal se najprije filtrira niskopropusnim s graničnom frekvencijom koja je jednaka novoj Nyquistovoj frekvenciji (antialiasing), a tek onda se signal desetkuje decimacijom.

Kada se ponovno uzorkovanje izvodi samo u vremenskoj domeni, algoritmi istezanja i kompresije kombiniraju se, u pravilu, u jedan sekvencijalni proces određivanjem promjene koraka uzorkovanja u obliku omjera m/n, što vam omogućuje da odredite cjelobrojne vrijednosti m i n za frakcijske vrijednosti promjene koraka uzorkovanja. To značajno pojednostavljuje algoritme i povećava učinkovitost i kvalitetu njihova rada. Na primjer, kod rastezanja signala za 1,5 puta pri m/n = 3/2, signal se prvo rasteže 3 puta (jednostavno i ravnomjerno dodavanje nula svim uzorcima, zatim se izvodi niskopropusno filtriranje, nakon čega se signal je razrijeđen za faktor dva. Filtar protiv aliasinga nije potreban, jer se njegova granična frekvencija preklapa frekvencijom prvog niskopropusnog filtra. U operaciji obrnute kompresije (na primjer, m/n = 2 /3), samo se anti-aliasing filtar koristi na sličan način.

17.3. filtriranje slike

Filtriranje slike je operacija koja rezultira slikom iste veličine, dobivenom od originalne prema određenim pravilima. Tipično, intenzitet (boja) svakog piksela u rezultirajućoj slici određen je intenzitetom (bojama) piksela koji se nalaze u njegovom susjedstvu na izvornoj slici.

Pravila filtriranja mogu biti vrlo raznolika. Filtriranje slike jedna je od najosnovnijih operacija računalnog vida, prepoznavanja uzoraka i obrade slike. Rad velike većine metoda obrade slike počinje jednim ili drugim filtriranjem izvornih slika.

Linearni filtri imaju vrlo jednostavan matematički opis. Pretpostavit ćemo da je dana originalna polutonska slika A, a intenzitete njenih piksela označit ćemo kao A(x, y). Linearni filtar je definiran funkcijom realne vrijednosti h (jezgra filtra) definiranom na rasteru. Samo filtriranje izvodi se operacijom diskretne konvolucije (ponderirano zbrajanje):

B(x, y) = h(i, j) ③③A(x, y) = h(i, j) A(x-i, y-j). (17.3.1)

Rezultat je slika B. Tipično, jezgra filtra je različita od nule samo u nekom susjedstvu N točke (0, 0). Izvan ovog susjedstva, h(i, j) je jednak nuli ili joj je vrlo blizu i može se zanemariti. Zbrajanje se provodi preko (i, j) O N, a vrijednost svakog piksela B(x, y) određena je pikselima slike A koji leže u prozoru N sa središtem u točki (x, y) (označeno skupom N(x, y) ). Jezgra filtra definirana na pravokutnom susjedstvu N može se promatrati kao mxn matrica gdje su duljine stranica neparni brojevi. Kada specificirate jezgru kao matricu, ona bi trebala biti centrirana. Ako se piksel (x, y) nalazi u blizini rubova slike, tada koordinate A(x-i, y-j) za određene (i, j) mogu odgovarati nepostojećim pikselima A izvan slike. Ovaj problem se može riješiti na nekoliko načina.

Izbjegavajte filtriranje ovih piksela obrezivanjem rubova slike B ili primjenom izvornih vrijednosti slike A na njihove vrijednosti.

Nemojte uključivati ​​piksel koji nedostaje u zbrajanje, ravnomjerno raspoređujući njegovu težinu h(i, j) među ostalim pikselima u susjedstvu N(x, y).

Odredite vrijednosti piksela izvan granica slike pomoću ekstrapolacije.

Definirajte vrijednosti piksela izvan granica slike pomoću zrcalnog nastavka slike.

Izbor metode se vrši uzimajući u obzir specifične značajke filtera i slike.

Anti-aliasing filtri. Najjednostavniji pravokutni filtar za izglađivanje radijusa r specificiran je pomoću matrice veličine (2r+1) × (2r+1), čije su sve vrijednosti jednake 1/(2r+1)2, i zbroja vrijednosti je jednak jedan. Ovo je dvodimenzionalni analog niskopropusnog jednodimenzionalnog pomičnog prosjeka filtra u obliku slova U. Prilikom filtriranja s takvim kernelom, vrijednost piksela zamjenjuje se prosječnom vrijednošću piksela u kvadratu sa stranicom 2r+1 oko njega. Primjer filter maske 3×3:

.

Jedna upotreba filtara je smanjenje buke. Šum se razlikuje neovisno od piksela do piksela i, pod uvjetom da je matematičko očekivanje vrijednosti šuma nula, šum susjednih piksela će se međusobno poništiti kada se zbroji. Što je veći prozor za filtriranje, niži će biti prosječni intenzitet šuma, međutim, također će doći do odgovarajućeg zamućenja značajnih detalja slike. Slika bijele točke na crnoj pozadini tijekom filtriranja (reakcija na jedan impuls) bit će ravnomjerno sivi kvadrat.

Smanjenje šuma pomoću pravokutnog filtra ima značajan nedostatak: svi pikseli u maski filtra na bilo kojoj udaljenosti od onog koji se obrađuje imaju isti učinak na rezultat. Nešto bolji rezultat dobiva se modificiranjem filtra povećanjem težine središnje točke:

.

Učinkovitije smanjenje šuma može se postići ako se utjecaj piksela na rezultat smanjuje s povećanjem udaljenosti od obrađenog. Gaussov filtar s jezgrom ima ovo svojstvo: h(i, j) = (1/2ps2) exp(-(i2+j2)/2s2). Gaussov filtar ima jezgru različitu od nule beskonačne veličine. Međutim, vrijednosti jezgre filtera vrlo brzo opadaju na n), pa se stoga u praksi može ograničiti na konvoluciju s prozorom male veličine oko (0, 0), na primjer, uzimajući radijus prozora jednak 3σ .

Gaussovo filtriranje također je izglađivanje. Međutim, za razliku od pravokutnog filtra, slika točke s Gaussovim filtriranjem bit će simetrična mutna mrlja, čija se svjetlina smanjuje od sredine prema rubovima. Stupanj zamućenja slike određen je parametrom σ.

Filtri za poboljšanje kontrasta . Dok anti-aliasing filtri smanjuju lokalni kontrast slike zamućujući je, filtri za poboljšanje kontrasta imaju suprotan učinak i u biti su filtri visoke prostorne frekvencije. Jezgra filtra za poboljšanje kontrasta u točki (0, 0) ima vrijednost veću od 1, s ukupnim zbrojem vrijednosti jednakim 1. Na primjer, filtri za poboljšanje kontrasta su filtri s jezgrom definiranom matricama :

. .

Primjer korištenja filtra prikazan je na sl. 17.3.1. Učinak pojačanog kontrasta postiže se tako što filter naglašava razliku između intenziteta susjednih piksela, udaljavajući te intenzitete jedan od drugog. Taj će učinak biti jači što je veća vrijednost središnjeg člana jezgre. Karakterističan artefakt linearnog filtriranja za poboljšanje kontrasta su vidljivi svijetli i manje vidljivi tamni aureole oko granica.

Filtri razlike – to su linearni filtri specificirani diskretnim aproksimacijama diferencijalnih operatora (koristeći metodu konačnih razlika). Ovi filtri imaju vitalnu ulogu u mnogim aplikacijama, na primjer, za pronalaženje rubova na slici.

Najjednostavniji diferencijalni operator je derivacija u odnosu na x-koordinatu d/dx, koja je definirana za kontinuirane funkcije. Uobičajene varijante sličnih operatora za diskretne slike su Prewitt i Sobel filteri:

. .

Filtri koji aproksimiraju operator derivacije y-koordinate d/dy dobivaju se transponiranjem matrica.

Najjednostavniji algoritam za izračunavanje norme gradijenta iz tri susjedne točke:

G(x, y) = .

Također se koristi pojednostavljena formula za izračun:

Izračun norme gradijenta preko četiri susjedne točke (Robertsov operator):

Sobelov algoritam koristi osam uzoraka svjetline u blizini središnje točke:

G(x, y) = , G(x, y) @ ,

Gxx, y = - ,

Gyx, y = -.

Uz točnije određivanje norme gradijenta Sobelov algoritam omogućuje određivanje smjera vektora gradijenta u ravnini analize slike u obliku kuta j između vektora gradijenta i smjera redaka matrice:

j(x, y) = argtg(Gyx, y /Gxx, y).

Za razliku od filtara za izglađivanje i poboljšanje kontrasta, koji ne mijenjaju prosječni intenzitet slike, primjena operatora razlike obično rezultira slikom s prosječnom vrijednošću piksela blizu nule. Okomite razlike (rubovi) izvorne slike odgovaraju pikselima s velikim vrijednostima modula u rezultirajućoj slici. Stoga se filtri razlike nazivaju i filtri odabira granice objekta.

Slično gornjim filtrima, filtri za druge diferencijalne operatore mogu se konstruirati korištenjem metode konačnih razlika. Konkretno, diferencijalni Laplaceov operator (Laplacian) D= 𝝏2/𝝏x2 + 𝝏2/𝝏y2, koji je važan za mnoge primjene, može se aproksimirati za diskretne slike korištenjem filtra s matricom (jedna od opcija):

.

Kao što se može vidjeti na Sl. 17.3.2, kao rezultat korištenja diskretnog Laplaciana, vrijednosti velike apsolutne vrijednosti odgovaraju i vertikalnim i horizontalnim razlikama svjetline. Filtar je dakle filtar koji pronalazi granice bilo koje orijentacije. Pronalaženje granica na slici može se izvršiti primjenom ovog filtra i uzimanjem svih piksela čija apsolutna vrijednost premašuje određeni prag.

Međutim, takav algoritam ima značajne nedostatke. Glavna je nesigurnost u odabiru vrijednosti praga. Za različite dijelove slike obično se dobije prihvatljiv rezultat sa značajno različitim vrijednostima praga. Osim toga, filteri razlike su vrlo osjetljivi na šum slike.

Dvodimenzionalna ciklička konvolucija. Kao i kod jednodimenzionalnih signala, dvodimenzionalna konvolucija može se izvesti u domeni prostorne frekvencije korištenjem brzih algoritama Fourierove transformacije i množenja dvodimenzionalnih spektara slike i jezgre filtera. Također je ciklički, a obično se izvodi u kliznoj verziji. Uzimajući u obzir cikličnost, za izračun konstantnog uzorka spektra jezgre, dimenzije maske kernel filtra su udvostručene duž osi i dopunjene nulama, a iste dimenzije maske koriste se za odabir prozora koji klizi preko slike unutar kojeg izvodi se FFT. Implementacija FIR filtra pomoću FFT-a posebno je učinkovita ako filtar ima veliko referentno područje.

Nelinearni filtri . U obradi digitalne slike, nelinearni algoritmi temeljeni na statistici ranga naširoko se koriste za obnavljanje slika oštećenih različitim modelima šuma. Omogućuju izbjegavanje dodatnog izobličenja slike prilikom uklanjanja šuma, a također značajno poboljšavaju rezultate filtara na slikama s visokim stupnjem šuma.

Uvedimo koncept M-susjedstva elementa slike A(x, y), koji je središnji za to susjedstvo. U najjednostavnijem slučaju, M-susjedstvo sadrži N-piksela - točaka koje padaju u masku filtera, uključujući (ili ne uključujući) središnju. Vrijednosti ovih N-elemenata mogu se poredati u niz varijacija V(r), poredati uzlaznim (ili silaznim) redoslijedom, a određeni momenti tog niza mogu se izračunati, na primjer, prosječna vrijednost svjetline mN i varijanca dN. Izlazna vrijednost filtra, koji zamjenjuje središnji uzorak, izračunava se pomoću formule:

B(x, y) = aA(x, y) + (1-a)mN. (17.3.2)

Vrijednost koeficijenta a = povezana je određenom ovisnošću sa statistikom uzoraka u prozoru filtra, na primjer:

a = dN /(dN + k dS), (17.3.3)

gdje je dS disperzija šuma preko slike kao cjeline ili preko S-susjedstva za S > M i MÎS, k je konstanta pouzdanosti za disperziju S-susjedstva. Kao što slijedi iz ove formule, za k = 1 i dN » dS vrijedi a » 0,5, a vrijednost B(x, y) = (A(x, y) + mN)/2, tj. zbrajaju se jednako na vrijednosti središnjeg uzorka i prosječne vrijednosti piksela njegovog M-susjedstva. Kako se dN vrijednosti povećavaju, povećava se doprinos rezultatu središnje referentne vrijednosti, a kako se dN vrijednosti smanjuju, mN vrijednost raste. Težina doprinosa prosječnih vrijednosti u M-susjedstvu može se promijeniti vrijednošću koeficijenta k.

Izbor statističke funkcije i priroda ovisnosti koeficijenta a o njoj može biti vrlo raznolik (na primjer, prema disperziji razlika u uzorcima u M-susjedstvu sa središnjim uzorkom), a ovisi io veličini i otvora filtra te o prirodi slike i šuma. U biti, vrijednost koeficijenta a trebala bi specificirati stupanj oštećenja središnjeg uzorka i, sukladno tome, funkciju posuđivanja za njegovu korekciju uzoraka iz M-susjedstva.

Najjednostavniji i najčešći tipovi nelinearnih filtara za obradu slike su filtri praga i medijana.

Filtriranje praga daje se, na primjer, kako slijedi:

B(x, y) =

Veličina str je prag filtriranja. Ako vrijednost središnje točke filtra premašuje prosječnu vrijednost uzoraka mN u svom M-susjedstvu za vrijednost praga, tada se zamjenjuje prosječnom vrijednošću. Vrijednost praga može biti konstantna ili funkcionalno ovisna o vrijednosti središnje točke.

Srednje filtriranje definira se na sljedeći način:

B(x, y) = med (M(x, y)),

to jest, rezultat filtriranja je srednja vrijednost piksela susjedstva, čiji je oblik određen maskom filtera. Srednje filtriranje može učinkovito ukloniti šum sa slike koji neovisno utječe na pojedinačne piksele. Na primjer, takve smetnje su "mrtvi" pikseli tijekom digitalne fotografije, "sniježni" šum kada su neki od piksela zamijenjeni pikselima s maksimalnim intenzitetom, itd. Prednost srednjeg filtriranja je u tome što je "vrući" piksel tamna pozadina zamijenit će se tamnim, a ne "razmazati" po tom području.

Medijansko filtriranje ima izraženu selektivnost u odnosu na elemente niza, koji su nemonotona komponenta niza brojeva unutar otvora filtera. U isto vrijeme, medijalni filter ostavlja monotonu komponentu niza nepromijenjenom. Zahvaljujući ovoj značajci, srednji filtri s optimalno odabranim otvorom blende čuvaju oštre granice objekta bez izobličenja, potiskujući nekorelirani ili slabo korelirani šum i detalje male veličine.

Ekstremni filteri određuju se prema pravilima:

Bmin(x, y) = min (M(x, y)),

Bmax(x, y) = max (M(x, y)),

tj. rezultat filtriranja je minimalna i maksimalna vrijednost piksela u maski filtera. Takvi se filtri obično koriste za binarne slike.

17.4. KOMPRESIJA SLIKE

Tipična slika razlučivosti od oko 3000x2000 pri 24 bita po pikselu za prijenos boja ima volumen od 17 megabajta. Za profesionalne uređaje veličina dobivenog slikovnog rastera može biti mnogo veća, dubina boje do 48 bita po pikselu, a veličina jedne slike može biti veća od 200 megabajta. Stoga su algoritmi za kompresiju slike vrlo relevantni za smanjenje količine podataka koji predstavljaju sliku.

Postoje dvije glavne klase algoritama:

1. Kompresija bez gubitaka A (kompresija bez gubitaka), ako postoji inverzni algoritam A-1 takav da za bilo koju h - sliku A[h] = h1 imamo A-1 = h. U takvim se slučajevima koristi kompresija bez gubitaka grafički formati prikazi slika, kao što su: GIF, PCX, PNG, TGA, TIFF, a koristi se kod obrade posebno vrijednih primarnih informacija (medicinske slike, zračne i svemirske fotografije, itd.), kada je i najmanje izobličenje nepoželjno

2. Kompresija s gubitkom, ako ne pruža mogućnost točnog vraćanja izvorne slike. Algoritam za približnu obnovu slike uparen s A bit će označen kao A*. Par (A, A*) je odabran kako bi pružio visoke omjere kompresije uz zadržavanje vizualne kvalitete. Kompresija s gubitkom koristi se u slikovnim formatima: JPEG, JPEG2000 itd.

Svi algoritmi i izjave primjenjuju se i na slike i na proizvoljne nizove, čiji elementi mogu poprimiti konačan broj vrijednosti. Treba imati na umu da ne postoje idealni algoritmi koji mogu komprimirati bilo koji skup podataka bez gubitka.

Algoritmi ponavljanja kodiranja duljine (RLE). temelje se na jednostavnom principu: zamjena ponavljajućih grupa elemenata izvornog niza parom (količinom, elementom) ili samo količinom.

Bitna razina. Razmotrit ćemo izvorne podatke na razini niza bitova, na primjer, predstavljajući crno-bijelu sliku. Obično postoji nekoliko 0 ili 1 u nizu, a možete kodirati broj identičnih znamenki u nizu. Ali broj ponavljanja također mora biti kodiran u bitovima. Možemo uzeti u obzir da svaki broj ponavljanja varira od 0 do 7 (3-bitni kod), izmjenjujući niz kodova jedinica i nula. Na primjer, nizovi se mogu usporediti s brojevima 7 0 4, tj. 7 jedinica, 0 nula, 4 jedinice, a imamo novu godinu - Što je duljina nizova identičnih bitova veća, to je učinak veći. Dakle, niz od 21 jedinice, 21 nule, 3 jedinice i 7 nula bit će kodiran na sljedeći način: , tj. od originalnog niza dugog 51 bita, imamo niz dugačak 36 bita.

Razina bajta. Pretpostavimo da je ulaz polutonska slika, gdje je 1 bajt dodijeljen za vrijednost intenziteta piksela, a očekivanje dugog lanca identičnih bitova značajno je smanjeno.

Podijelit ćemo ulazni tok u bajtove (kod od 0 do 255) i kodirati bajtove koji se ponavljaju parom (količina, slovo). Jedan bajt može ostati nepromijenjen. Dakle, kodiramo bajtove AABBBCDAA (2A) (3B) (C) (D) (2A).

Međutim, modifikacije ovog algoritma rijetko se koriste samostalno (na primjer, u PCX formatu), budući da je potklasa nizova na kojima je algoritam učinkovit relativno uska. Češće se koriste kao jedan od stupnjeva kompresijskog cjevovoda.

Rječnički algoritmi Umjesto da se kodira samo jedan element dolazne sekvence, kodira se lanac elemenata. U ovom slučaju, rječnik lanaca (stvoren iz ulazne sekvence) koristi se za kodiranje novih.

LZ77 algoritam bio je jedan od prvih koji je koristio rječnik. Zadnjih N već kodiranih elemenata niza koristi se kao rječnik. Tijekom procesa kompresije, rječnik podniza "klizi" duž ulaznog niza. Lanac elemenata na izlazu kodira se na sljedeći način: položaj podudarnog dijela obrađenog lanca elemenata u rječniku - pomak (u odnosu na trenutnu poziciju), duljina, prvi element koji slijedi nakon podudarnog dijela lanca. Duljina odgovarajućeg lanca je gore ograničena brojem n. Sukladno tome, zadatak je pronaći najveći lanac iz rječnika koji odgovara nizu koji se obrađuje. Ako nema podudaranja, tada se bilježi nulti pomak, jedinična duljina i prvi element nekodirane sekvence.

Gore opisana shema kodiranja vodi do koncepta kliznog prozora koji se sastoji od dva dijela:

Podniz već kodiranih elemenata duljine N-rječnik - međuspremnik pretraživanja;

Podniz duljine n iz lanca elemenata za koji će se pokušati naći podudarnost - međuspremnik pretpregled(međuspremnik za gledanje unaprijed).

Dekodiranje komprimirane sekvence je dekodiranje snimljenih kodova: svakom zapisu se pridružuje lanac iz rječnika i eksplicitno napisani element, nakon čega se rječnik pomiče. Rječnik se ponovno stvara kako se izvodi algoritam za dekodiranje.

Ovaj algoritam je utemeljitelj cijele obitelji algoritama. Njegove prednosti uključuju pristojan stupanj kompresije na prilično velikim sekvencama i brzu dekompresiju. Nedostaci uključuju spora brzina kompresiju i niži omjer kompresije od alternativnih algoritama.

LZW algoritam. Rječnik u ovaj algoritam je tablica koja se puni lancima elemenata dok algoritam radi. Tijekom procesa kompresije pronalazi se najdulji lanac koji je već zabilježen u rječniku. Svaki put kada novi lanac elemenata nije pronađen u rječniku, dodaje se u rječnik, a kod lanca se bilježi. U teoriji nema ograničenja u pogledu veličine tablice, ali ograničavanje veličine omogućuje vam da poboljšate omjer kompresije, jer se nakupljaju nepotrebni lanci (koji se ne pojavljuju). Što više unosa tablica ima, to više informacija treba dodijeliti kodovima trgovina.

Dekodiranje se sastoji od izravnog dešifriranja kodova, tj. konstruiranja rječnika i ispisa odgovarajućih lanaca. Rječnik se inicijalizira na isti način kao u enkoderu. Prednosti algoritma uključuju visok stupanj kompresije i dovoljan velika brzina, i kompresiju i dekodiranje.

Statistički algoritmi kodiranja dodijeliti šifru svakom elementu niza tako da njegova duljina odgovara vjerojatnosti pojavljivanja elementa. Kompresija se događa zamjenom elemenata izvornog niza koji imaju istu duljinu (svaki element zauzima isti broj bitova) elementima različitih duljina, proporcionalno negativnom logaritmu vjerojatnosti, tj. elementi koji se pojavljuju češće od ostalih imaju kod kraće dužine.

Huffmanov algoritam koristi prefiks kod promjenjive duljine koji ima posebno svojstvo da je manji kratke kodove ne slažu se s prefiksom (početnim dijelom) dužih. Ovaj kod omogućuje kodiranje jedan na jedan. Proces kompresije uključuje zamjenu svakog elementa ulaznog niza njegovim kodom. Konstrukcija skupa kodova obično se provodi pomoću tzv kodna stabla.

Huffmanov algoritam je algoritam s dva prolaza. Prvim prolaskom kroz sliku stvara se tablica težine elemenata, a tijekom drugog dolazi do kodiranja. Postoje implementacije algoritma s fiksnom tablicom. Često se događa da je apriorna distribucija vjerojatnosti elemenata abecede nepoznata, budući da cijeli niz nije dostupan odjednom, pa se koriste adaptivne modifikacije Huffmanovog algoritma.

Kompresija slike s gubitkom. Količina informacija potrebnih za pohranu slika obično je velika. Klasični algoritmi, budući da su algoritmi Opća namjena, ne uzimaju u obzir da je komprimirana informacija slika - dvodimenzionalni objekt, i ne pružaju u dovoljnoj mjeri kompresija.

Kompresija s gubitkom temelji se na karakteristikama ljudske percepcije slike: najvećoj osjetljivosti u određenom rasponu valova boja, sposobnosti percepcije slike u cjelini bez primjećivanja manjih izobličenja. Glavna klasa slika na koju su usmjereni algoritmi kompresije s gubitkom su fotografije i slike s glatkim prijelazima boja.

Procjena gubitka na slikama. Postoje mnoge mjere za procjenu gubitaka u slikama nakon što su restaurirane (dekodirane) iz komprimiranih, ali za sve je moguće odabrati dvije slike tako da će njihova mjera razlike biti prilično velika, ali će razlike biti gotovo nevidljive na oko. I obrnuto - možete odabrati slike koje su vrlo različite na oko, ali imaju malu mjeru razlike.

Standardna numerička mjera gubitka obično je standardna devijacija (RMS) vrijednosti piksela rekonstruirane slike od izvorne. Ipak, najvažnije "mjerilo" procjene gubitka je mišljenje promatrača. Što manje razlika (ili još bolje, bez razlika) promatrač otkrije, to je veća kvaliteta algoritma kompresije. Algoritmi kompresije s gubitkom često daju korisniku mogućnost odabira količine "izgubljenih podataka", tj. pravo izbora između kvalitete i veličine komprimirana slika. Naravno, što je bolja vizualna kvaliteta uz viši omjer kompresije, to je bolji algoritam.

Fourierova transformacija. Općenito, slika se može promatrati kao funkcija dviju varijabli, definiranih u točkama konačnog rastera. Skup takvih funkcija u točkama fiksnog konačnog rastera tvori konačnodimenzionalni euklidski prostor i na njih se može primijeniti diskretna Fourierova transformacija, tj. spektralni prikaz slike. Pruža:

Nekorelirani i neovisni koeficijenti spektra, tj. točnost prikaza jednog koeficijenta ne ovisi ni o jednom drugom.

- Energetsko zbijanje. Transformacija pohranjuje osnovne informacije u malom broju koeficijenata. Ova nekretnina Ovaj efekt je najizraženiji kod fotorealističnih slika.

Koeficijenti spektralne reprezentacije su amplitude prostornih frekvencija slike. U slučaju slika s glatkim prijelazima, većina informacija sadržana je u niskofrekventnom spektru.

Algoritam kompresije koji se koristi u JPEG format, temelji se na korištenju diskretne kosinusne Fourierove transformacije. Shema kompresije u algoritmu je cjevovod, gdje je ova transformacija samo jedna od faza, ali jedna od glavnih. Algoritam sadrži sljedeće glavne operacije:

1. Pretvorba u YCbCr prostor boja. Ovdje je Y komponenta svjetline, Cb i Cr su komponente kromatičnosti. Ljudsko oko je osjetljivije na svjetlinu nego na boju. Stoga je važnije održavati veću točnost kod prijenosa Y nego kod prijenosa Cb i Cr.

2. Diskretna kosinusna transformacija (DCT). Slika je podijeljena u blokove 8 × 8. Diskretna kosinusna transformacija primjenjuje se na svaki blok (odvojeno za komponente Y, Cb i Cr).

3. Redukcija visokofrekventnih komponenti u DCT matricama. Ljudsko oko jedva primjećuje promjene u visokofrekventnim komponentama, stoga se koeficijenti odgovorni za visoke frekvencije mogu pohraniti s manjom točnošću.

4. Cik-cak poredak matrica. Ovo je poseban prolaz matrice za dobivanje jednodimenzionalnog niza. Prvo dolazi element T00, zatim T01, T10, T1. Štoviše, za tipične fotorealistične slike, prvo će postojati koeficijenti različiti od nule koji odgovaraju niskofrekventnim komponentama, a zatim - skup nula (visokofrekventne komponente).

5. Kompresija najprije RLE metodom, a zatim Huffmanovom metodom.

Algoritam za obnovu slike radi obrnutim redoslijedom. Omjer kompresije je od 5 do 100 puta ili više. U isto vrijeme, vizualna kvaliteta za većinu fotorealističnih slika ostaje na dobra razina kada se stisne do 15 puta. Algoritam i format su najčešći za prijenos i pohranjivanje slika u punoj boji.

Wavelet transformacija signala je generalizacija klasične Fourierove transformacije. Izraz "wavelet" preveden s engleskog znači "mali (kratki) val". Valići su generalizirani naziv za familije matematičkih funkcija određenog oblika, koje su lokalne po vremenu i frekvenciji, au kojima se sve funkcije dobivaju iz jedne osnovne kroz njezine pomake i rastezanja po vremenskoj osi.

U algoritmima kompresije s gubitkom, u pravilu se zadržavaju sve operacije cjevovoda kompresije, a diskretna Fourierova transformacija zamijenjena je diskretnom valovitom transformacijom. Wavelet transformacije imaju vrlo dobru frekvencijsko-prostornu lokalizaciju iu tom su pogledu superiorne tradicionalnim Fourierovim transformacijama. U ovom slučaju postaje moguće primijeniti jaču kvantizaciju, poboljšavajući svojstva sekvence za naknadnu kompresiju. Algoritmi kompresije slike temeljeni na ovoj transformaciji pokazuju bolje rezultate u očuvanju kvalitete slike uz isti omjer kompresije.

književnost

46. ​​​​i dr. Brzi algoritmi u digitalnoj obradi slike. – M.: Radio i veze, 1984. – 224 str.

47. Soifer obrada slike. Dio 2. Metode i algoritmi. – Soros edukativni časopis br.3, 1996.

48. , Šum patrone od slika temeljen na nelinearnim algoritmima koji koriste statistiku ranga. - Jaroslavsko državno sveučilište, 2007.

49. Andreev televizijski sustavi zapažanja. Dio II. Aritmetičke i logičke osnove i algoritmi. Tutorial. - St. Petersburg: St. Petersburg, GUITMO, 2005. – 88 str.

51. Uvod u digitalna obrada signali (Matematičke osnove) - M.: MSU, Laboratorij računalna grafika i multimedija, 2002. – http://pv. *****/dsp/dspccourse. pdf, http://dsp-knjiga. *****/dsptečaj. djvu, http://geogin. *****/arhiv/dsp/dsp4.pdf.

1i. i dr. Algoritamske osnove rasterska grafika. – Internetsko sveučilište informacijskih tehnologija. – http://www. *****/goto/course/rastrgraph/

2i. Lukin -elektronički sustavi: Bilješke s predavanja. ITMO, 2004. - St. Petersburg, ITMO IFF, 2004. - http://iff. *****/kons/oes/KL. htm

O uočenim pogreškama i prijedlozima za dopune: *****@****ru.

Autorska prava©2008DavidovA.V.