Algoritmi za predobdelavo slik. Osnovni algoritmi za obdelavo slik Za zagotavljanje natančnosti uporablja napredne algoritme za obdelavo slik

Digitalni šum je napaka slike, ki je naključno locirana območja, ki so blizu velikosti slikovnih pik in se od izvirne slike razlikujejo po svetlosti ali barvi. Zmanjšanje šuma ima pomembno vlogo pri prenosu, obdelavi in ​​stiskanju video sekvenc in slik.

Video šum se lahko pojavi iz več razlogov:

1. Nepopolna oprema za zajem videa.

2. Slabi pogoji fotografiranja – na primer nočno fotografiranje/video snemanje, snemanje v slabem vremenu.

3. Motnje pri prenosu po analognih kanalih - motnje iz virov elektromagnetnih polj, lastni šum aktivnih komponent (ojačevalcev) daljnovoda. Primer bi bil televizijski signal.

4. Netočnosti pri filtriranju pri izločanju signalov svetilnosti in barvne razlike iz analognega sestavljenega signala itd.

Količina hrupa na sliki se lahko giblje od skoraj neopazne pike na digitalni fotografiji, posneti pri dobri svetlobi, do astronomskih slik, kjer šum zakrije večino koristne informacije, ki ga je mogoče dobiti le s naporno obdelavo slik.

Obstajajo različne vrste šuma, odvisno od narave naključne porazdelitve šuma na sliki. V praksi so najpogostejše naslednje vrste:

Beli Gaussov šum

Eden najpogostejših šuma je aditivni Gaussov šum, za katerega je značilno dodajanje vrednosti z normalno porazdelitvijo in ničelno srednjo vrednostjo vsakemu slikovnemu piku na sliki. Izraz "aditiv" pomeni, da je ta vrsta šuma dodana uporabnemu signalu. Pojavi se, ko je sprejem signala slab.

Digitalni šum

Razlog za nastanek digitalnega šuma je najpogosteje povezan s posebnostmi opreme, ki se uporablja za snemanje – običajno z nezadostno svetlobno občutljivostjo matrice. Za to vrsto šuma je značilna zamenjava nekaterih slikovnih pik na sliki z vrednostmi fiksne ali naključne vrednosti. Če je svetlost pik približno enaka, se digitalni šum imenuje tudi "impulz". Če lahko intenzivnost pik variira od črne do bele, se ta hrup imenuje hrup soli in popra.

Običajno ta vrsta šuma vpliva le na majhno število slikovnih pik na sliki.

Kombinirani hrup

Primeri, ko je slika v enaki glasnosti hrupna z Gaussovim šumom in naključnimi impulzi, so veliko manj pogosti. Ta sklop se imenuje kombinirani šum.

Napake pri skeniranju

Na sliki se lahko pojavijo tudi tuji učinki, kot so razpoke, praske, modrice. Ti artefakti nimajo homogene strukture, določitev njihove oblike in lokacije pa v veliki meri presega matematično analizo. Tovrstne napake je mogoče odpraviti le s pomočjo ročne obdelave slik, zato jih v tem delu ne obravnavamo.

Algoritmi za odstranjevanje hrupa

Obstaja veliko algoritmov za odstranjevanje šuma s slik, ki jih lahko uporabljajo ne samo posebni programi za obdelavo, ampak tudi nekatere foto in video kamere. Kljub temu še vedno ni univerzalnega algoritma filtriranja, saj je pri obdelavi slike vedno treba izbrati med stopnjo odprave neželenih učinkov in ohranitvijo majhnih podrobnosti, ki imajo podobne lastnosti kot šum. Poleg tega lahko algoritem, ki se zlahka spopade z eno vrsto hrupa, samo pokvari sliko z drugo vrsto šuma.

Oglejmo si nekaj najbolj znanih algoritmov za zatiranje šuma slike.

Linearno povprečje slikovnih pik

Najpreprostejša ideja za odstranjevanje šuma je povprečje vrednosti slikovnih pik v prostorski soseščini. Ker se šum spreminja neodvisno od slikovne pike do slikovne pike, se bo šum sosednjih slikovnih pik med seboj izničil, ko se dodajo. Določeno je pravokotno okno, ki se po vrsti postavi na vsak piksel slike. Vrednost osrednje slikovne pike se izračuna na podlagi analize vseh sosednjih pikslov, ki spadajo v območje okna. Skladno s tem, večje kot je okno, bolj povprečna vrednost bo na koncu dosežena, kar vodi do močnega učinka zamegljenosti.

V najpreprostejši različici je analiza sosednjih slikovnih pik iskanje njihove aritmetične sredine. Za zmanjšanje vpliva slikovnih pik, ki ne pripadajo istemu območju kot obravnavano (na primer temen obris na svetlem ozadju), lahko vnesete določen številčni prag in pri izračunu upoštevate samo tiste sosede, katerih razlika je od osrednje slikovne pike ne preseže tega praga. Višja kot je vrednost praga, močnejše bo povprečje. Obravnavana možnost se lahko zaplete z uvedbo utežnih koeficientov za vsak sosednji piksel, odvisno od njihove oddaljenosti do središča obravnavanega območja.

Ta metoda se lahko uporabi tudi v časovni domeni, pri čemer se vsaka slikovna pika povpreči po sosednjih okvirih video toka (vsaka slikovna pika bo povprečna za slikovne pike, ki se nahajajo na istem mestu v sosednjih okvirih).

Ta algoritem je zelo preprost, vendar ne daje dobrega rezultata, hkrati pa vodi do močne zamegljenosti podrobnosti slike.

Gaussov filter

Ima podobno načelo delovanja kot prejšnja metoda in spada tudi v število gladilnih filtrov. Vendar ima zmanjšanje šuma z uporabo filtra za linearno povprečje pomembno pomanjkljivost: vsi sosedje obdelanega slikovnega pika imajo enak učinek na rezultat, ne glede na njihovo razdaljo do njega. Gaussov filter povpreči tudi osrednji piksel in njegove sosede na določenem območju, le da se to zgodi po določenem zakonu, ki ga nastavi Gaussova funkcija.

Kjer parameter y nastavi količino zamegljenosti, parameter A pa zagotavlja normalizacijo. Posledično bo imel osrednji piksel obravnavanega območja največja vrednost ki ustreza vrhuncu Gaussove porazdelitve. Vrednosti preostalih elementov bodo vse manj vplivale, ko se bo razdalja od središča povečala.

Matrični filter, izračunan po navedeni formuli, se imenuje Gaussov; večja kot je njegova velikost, močnejša je zamegljenost (s fiksnim y). V kolikor ta filter je ločljiv, potem ga lahko predstavimo kot:

Iz tega sledi, da lahko konvolucijo izvedemo zaporedno po vrsticah in stolpcih, kar vodi do znatnega pospeševanja metode za velike velikosti filtrov.

Algoritem 2Dcleaner

Vsako slikovno piko na sliki zamenja s povprečjem sosednjih slikovnih pik, posnetih na območju, omejenem z določenim polmerom. V tem primeru se ne upoštevajo vse točke v polmeru, temveč le tiste, katerih vrednost se od osrednje piksle razlikuje za največ nekaj vnaprej določene vrednosti (prag). To povzroči, da so enakomerno obarvana območja bolj zamegljena kot ostri robovi predmetov. To zmanjša nizko raven šuma na sliki, hkrati pa ohrani drobne podrobnosti nedotaknjene.

Mediano filtriranje

Linearni algoritmi se izkažejo za zelo učinkovite pri zatiranju Gaussovega šuma, ko sosednji piksli, čeprav imajo nekaj naključnega razpona vrednosti, še vedno ostanejo znotraj določene povprečne vrednosti, značilne za regijo, ki ji pripadajo. Vendar pa se morate včasih soočiti s slikami, ki so popačene zaradi drugih vrst motenj. Primer takšne motnje je impulzni šum, ki se kaže v prisotnosti naključno razpršenih točk naključne svetlosti na sliki. Povprečenje v tem primeru vsako takšno točko "razmaže" v sosednje piksle, kar vodi v poslabšanje kakovosti slike.

Standardni način za zatiranje impulznega hrupa je mediano filtriranje. Ta tehnika nelinearne obdelave slik odpravlja izstope, vendar za razliko od algoritmov linearnega povprečja pušča monotono zaporedje slikovnih pik nespremenjeno. Zaradi tega lahko mediani filtri brez popačenja ohranjajo obrise predmetov in razlike med območji različne svetlosti, hkrati pa učinkovito zavirajo nekorelirani šum in majhne podrobnosti.

Načelo filtriranja: Nastavljeno je določeno okno čudne velikosti, ki se zaporedno postavi na vsak piksel slike. Med vsemi slikovnimi pikami znotraj obravnavanega območja, vključno s osrednjim, se išče mediana vrednost, ki se na koncu pripiše osrednjemu pikslu območja. V tem primeru mediana pomeni mediani element niza razvrščenih vrednosti slikovnih pik, ki pripadajo regiji. Neparna velikost okna je izbrana natančno, da se zagotovi obstoj mediane slikovne pike.

Za zatiranje belega Gaussovega šuma na sliki je mogoče uporabiti srednji filter. Vendar pa študija zatiranja hrupa z uporabo medianega filtriranja kaže, da je njegova učinkovitost pri reševanju tega problema nižja kot pri linearnem filtriranju.

Mediano filtriranje ni brez pomanjkljivosti, ki je značilna za večino filtrov za odpravljanje hrupa - povečanje velikosti maske za izboljšanje stopnje zatiranja šuma vodi do zmanjšanja jasnosti slike in zamegljenosti njenih kontur. Negativne učinke pa je mogoče minimizirati z uporabo medianega filtriranja z dinamično velikostjo maske (aditivno mediano filtriranje), katerega princip ostaja enak, spreminja se lahko le velikost drsnega filtrirnega okna glede na svetlost sosednjih slikovnih pik.

Izostritev slike

Skoraj vsi algoritmi za zatiranje šuma na sliki vodijo do njene zamegljenosti, posledično se izgubijo majhne podrobnosti, zaznavanje slike pa je težko. Filter za ostrenje slike lahko delno kompenzira ta negativni učinek in obnovi izgubljeni kontrast kontur in barvne prehode. Ostrina je lahko odvisna tudi od številnih drugih dejavnikov - od kakovosti leče, od uporabljene zaslonke, od debeline filtra proti moire, ki se nahaja na večinski matriki. digitalni fotoaparati zameglitev slike do različnih stopenj. Prav tako je pogosto treba povečati ostrino slik po zmanjšanju njihove velikosti, saj se s tem neizogibno izgubi nekaj informacij in s tem jasnost kontur.

Neostro maskiranje je tehnika, ki s povečanjem kontrasta prehodov med toni slike omogoča izboljšanje njene vizualne zaznave zaradi iluzije izostritve. Pravzaprav ostrina ostaja na isti ravni, saj je načeloma nemogoče obnoviti izgubljene podrobnosti slike, vendar izboljšanje kontrasta med območji različne svetlosti vodi do dejstva, da je slika zaznana kot jasnejša.

Slika 5.1 - Ilustracija koncepta "ostrine konture"

Ostrina slike je odvisna od velikosti razlike v svetlosti med območji (W), ki tvorijo njene konture, in od ostrine spremembe te razlike (H).

Tehnika neostrega maskiranja je bila najprej uporabljena za obdelavo filmskih fotografij. Metoda, prilagojena digitalni obdelavi slik, se malo razlikuje od prvotne: od slike se odšteje tako imenovana "neostra maska" - njena zamegljena in obrnjena kopija. Rezultat je nova slika, ki vsebuje le svetle obrise izvirnika. Temne obrise lahko dobite tako, da preprosto obrnete rezultat.

Če v prihodnosti od prvotne slike odštejete temne obrise in dodate svetle, dobite znatno povečanje kontrasta pri vsaki razliki v svetlosti.

Uporabite lahko katerega koli od filtrov za odpravljanje hrupa, na primer Gaussov filter, da zameglite izvirnik, da dobite »neostro masko«.

Slika 5.2 - Rezultat uporabe neostrega maskiranja

Operacija konvolucije se pogosto uporablja pri obdelavi slik. Poleg ostrenja se uporablja za zameglitev, povečanje svetlosti, osvetlitev itd.

Konvolucija slike je operacija izračuna nove vrednosti danega slikovnega pika, ki upošteva vrednosti okoliških sosednjih slikovnih pik. V splošnem pomenu ta izraz pomeni neko dejanje, ki se izvaja na vsakem delu slike.

Glavni element konvolucije je maska ​​konvolucije - je matrika (poljubne velikosti in razmerja stranic). Ta maska ​​se pogosto imenuje filter, jedro, vzorec ali okno. Vrednosti matričnih elementov se običajno imenujejo koeficienti.

Najpogosteje se kvadratna matrika uporablja kot konvolucijsko jedro.

Obdelava slike z operacijo konvolucije je naslednja: Osrednji element matrike, imenovan »sidro«, je zaporedno postavljen na vsak piksel slike. Nova vrednost obravnavanega slikovnega pika se izračuna kot vsota vrednosti sosednjih slikovnih pik, pomnoženih z ustreznimi koeficienti maske konvolucije.

Rezultat je odvisen od izbranega konvolucijskega jedra.

Jedro filtra za izboljšanje kontrasta ima na točki (0, 0) vrednost večjo od 1, pri čemer je skupna vsota vseh vrednosti enaka 1. Filter za izboljšanje kontrasta so na primer filtri z jedri, določenimi z matrice:

Učinek povečanja kontrasta je dosežen zaradi dejstva, da filter poudari razliko med intenzivnostjo sosednjih slikovnih pik in odstrani te intenzivnosti drug od drugega. Ta učinek bo močnejši, čim večja je vrednost osrednjega člena jedra.

Linearno filtriranje kontrasta, ki temelji na konvoluciji, lahko povzroči vidne barvne haloje okoli robov slike.

Kompenzacija razlike v osvetlitvi

Težave z osvetlitvijo slike se najpogosteje pojavijo, ko okna, sonce ali drugi neregulirani svetlobni viri vstopijo v okvir.

Ta situacija se imenuje "presežna svetloba" in vodi v dejstvo, da se zaradi presvetle osvetlitve opornice izgubijo podrobnosti in barva predmetov, ki se nahajajo na ozadju preveč svetlih predmetov, zato jih je težko razlikovati.

Pogosta je tudi situacija pomanjkanja svetlobe. Vzrok je lahko snemanje v temnih prostorih s slabo osvetlitvijo, pa tudi omejen razpon občutljivosti video opreme.

Algoritem Retinex v enem merilu

Ko poskusite osvetliti sliko tako, da povečate svetlost vsake slikovne pike za določeno vrednost, se lahko prvotno svetla območja zdijo popolnoma izpuščena.

V takih primerih je potrebno uporabiti "pametno" barvno korekcijo, ki bi lahko izenačila osvetlitev na sliki, pri čemer bi svetla področja obdelala v manjši meri kot temna.

Te zahteve izpolnjuje algoritem Single Scale Retinex, ki temelji na načelih oblikovanja receptorjev mrežnice. Glavni cilj algoritma je razdeliti sliko na komponente, ki so ločeno odgovorne za osvetlitev in podrobnosti. Ker so težave na sliki povezane z osvetlitvijo prizora, potem, ko prejmete komponento, ki je odgovorna za osvetlitev, jo je mogoče preoblikovati ločeno od slike in s tem znatno povečati njeno kakovost.

Vsako sliko lahko predstavimo kot produkt visokofrekvenčnega signala (odboj - R) in nizkofrekvenčnega signala (osvetlitev - I).

S (x, y) = I (x, y) * R (x, y) (5.6)


Slika 5.3 - Predstavitev slike v algoritmu Retinex.

Približno sliko osvetlitve lahko dobite z nizkoprepustnim filtriranjem - z drugimi besedami, preprosto zameglite izvirno sliko, na primer z Gaussovim filtrom.

kjer je G - Gaussov filter

Ker logaritem signala ne spremeni frekvence in zaradi lastnosti logaritemske funkcije (logaritem produkta je enak vsoti logaritmov faktorjev), je lahko problem delitve produkta signalov poenostavljeno na problem delitve vsote signalov.

Po tem ostane samo, da iz prejetega signala vzamemo eksponent, da ga vrnemo na prvotno amplitudno lestvico. Nastalo visokofrekvenčno komponento je mogoče dodati zamegljeni in osvetljeni izvirni sliki, ki deluje kot nov svetlobni model.

Učinek izenačevanja osvetlitve je lahko premočan (temna področja bodo po svetlosti postala enaka kot svetla). Če želite zmanjšati učinek, lahko obdelano sliko preprosto združite z izvirnikom v določenem razmerju.

Gama korekcija

Prvotni namen korekcije gama je kompenzirati razlike v prikazanih barvah na različnih izhodnih napravah, tako da je slika videti enaka, ko jo gledate na različnih monitorjih. Zaradi nelinearnega videza uporabljene funkcije moči vam popravek gama omogoča tudi povečanje kontrasta temnih območij slike, ne da bi preveč osvetlili svetle podrobnosti in ne da bi izgubili razlikovanje robov predmetov na sliki.

Informacije o svetlosti v analogni obliki na televiziji, pa tudi v digitalni obliki v najpogostejših grafičnih formatih, so shranjene v nelinearnem merilu. Svetlost slikovne pike na zaslonu monitorja se lahko šteje za sorazmerno

kjer je I svetlost slikovne pike na zaslonu (ali svetlost barvnih komponent, rdeče, zelene in modre ločeno),

V je številčna vrednost barve od 0 do 1 in

d - indikator korekcije gama.

Če je r manjši od 1, bodo lastnosti prenosa nivojev konveksne in nastala slika bo svetlejša od izvirne. Če je r večji od 1, bo značilnost prenosa nivoja konkavna in nastala slika bo temnejša od izvirne.

Privzeto je parameter r enak 1, kar ustreza linearnim značilnostim prenosa nivojev in odsotnosti korekcije gama.

Izbira kontur slike

Analiza kontur se lahko uporablja za opis, prepoznavanje, primerjavo in iskanje grafičnih objektov, predstavljenih kot obrisi. Ker uporaba kontur izključuje notranje točke predmeta iz obravnave, lahko to bistveno zmanjša računsko in algoritemsko kompleksnost teh operacij.

Slika 5.4 - Sprememba oblike moči moči glede na parameter r

Obris predmeta je seznam točk, ki predstavljajo določeno krivuljo na sliki, ki ločuje predmet od ozadja. Najpogosteje se vzdolž konture opazi skok v svetlosti ali barvi.

Če želite poenostaviti iskanje kontur na sliki, jo lahko vnaprej binarizirate.

Sobelov filter izbere meje predmetov glede na njihovo svetlost. Ker se barvna komponenta ne upošteva, je treba slike najprej pretvoriti v sivine.

Sobelov filter se uporablja zaporedno za vsako slikovno piko, pri čemer se izračuna približna vrednost njegovega gradienta svetlosti. Gradient za vsako točko slike (funkcija svetlosti) je dvodimenzionalni vektor, katerega komponente so vodoravni in navpični izpeljanki svetlosti slike.

Na vsaki točki slike je vektor gradienta usmerjen v smeri največjega povečanja svetlosti, njegova dolžina pa ustreza velikosti spremembe svetlosti. Ti podatki nam omogočajo, da domnevamo o verjetnosti iskanja obravnavane točke na meji določenega predmeta, pa tudi o orientaciji te meje.

To. rezultat delovanja Sobelovega operaterja v točki v območju konstantne svetlosti bo ničelni vektor, v točki, ki leži na meji območij različne svetlosti - vektor, ki prečka mejo v smeri naraščajoče svetlosti.

Za izračun približnih vrednosti izpeljank na vsaki točki slike Sobelov filter uporablja konvolucijo z matriko 3 × 3.

Koeficienti Sobelove matrike:

Končna vrednost gradienta se izračuna s približkom po formuli:

| G | = | Gx | + | Gy |

Kenny mejni detektor

Čeprav je Kennyjevo delo potekalo v zgodnjih dneh računalniškega vida (1986), je Kennyjev mejni detektor še vedno eden najboljših detektorjev. Kennyjeva metoda je večstopenjski algoritem in vključuje naslednje korake:

1. Čiščenje slike pred šumom in nepotrebnimi podrobnostmi.

2. Čiščenje slike pred šumom in nepotrebnimi detajli.

3. Iščite prelive slike, na primer z operaterjem Sobel.

4. Zatiranje ne-maksimov. Kot meje so označeni samo lokalni vrhovi.

5. Filtriranje z dvojnim pragom. Potencialne meje so opredeljene s pragovi.

6. Sledenje poti (povezava robove s potmi)

Ker lahko najmanjši šum na sliki krši celovitost njenih kontur, je priporočljivo, da pred začetkom iskanja sliko filtrirate s katero koli metodo za zmanjšanje šuma. Zaradi visoke hitrosti delovanja in enostavne izvedbe se najpogosteje uporablja Gaussov filter. Robovi slike so lahko v različnih smereh, zato Kennyjev algoritem uporablja štiri filtre za zaznavanje vodoravnih, navpičnih in diagonalnih robov. Z uporabo operaterja zaznavanja meje (na primer Sobel operator) dobimo vrednost za prvo izpeljanko v horizontalni smeri (Gy) in navpični smeri (Gx). Iz tega gradienta lahko dobite kot smeri meje:

Mejni kot smeri je zaokrožen na enega od štirih vogalov, ki predstavljajo navpično, vodoravno in dve diagonali (na primer 0, 45, 90 in 135 stopinj). Za meje so deklarirane samo tiste slikovne pike, v katerih je dosežen maksimum lokalnega gradienta v smeri vektorja gradienta. Vrednost smeri mora biti večkratnik 45 °. Po zatiranju ne-maksimov postanejo robovi natančnejši in tanjši.

V naslednjem koraku se s filtriranjem praga za vsak obravnavani piksel ugotovi, ali pripada mejam slike. Višji kot je prag, bolj enotne bodo najdene konture; šibke robove pa je mogoče prezreti. Po drugi strani pa znižanje praga poveča dovzetnost algoritma za šum. Kennyjeva izbira meje uporablja dva praga filtriranja: če je vrednost slikovnih pik višja od zgornje meje, vzame največjo vrednost (meja velja za veljavno), če je nižja, je piksel potlačen, točke z vrednostjo, ki spada v območje med pragovi imajo fiksno povprečno vrednost (izboljšani bodo v naslednjem koraku).

Zadnji korak pri obdelavi slike je povezovanje posameznih robov v enotne konture. Piksli, ki so prejeli povprečje v prejšnjem koraku, so bodisi potlačeni (če se ne dotikajo nobenega od že zaznanih robov) ali pa so pritrjeni na ustrezno konturo.

Segmentacija

Večina slik, pridobljenih s fotografsko in video opremo, je rastrskih, torej sestavljena iz barvnih pik, razporejenih v pravokotno mrežo. Vendar ljudje svet okoli sebe dojemajo kot zbirko celih predmetov in ne matriko točk. Človeški možgani so sposobni združiti različne podrobnosti slike v homogena področja, ki jih podzavestno jasno razdelijo na predmete. Ta proces se imenuje segmentacija in ga je mogoče programsko izvajati pri reševanju problema računalniške analize slik in prepoznavanja vzorcev. Segmentacija se izvaja v zgodnjih fazah analize, kakovost njene izvedbe pa lahko močno vpliva na njeno hitrost in natančnost.

Metode segmentacije lahko razdelimo v dva razreda: avtomatske - brez interakcije z uporabnikom in interaktivne - z uporabo uporabniškega vnosa neposredno v procesu.

V prvem primeru se ne uporabljajo nobene apriorne informacije o lastnostih območij, vendar so določeni pogoji za razdelitev same slike (vsa področja morajo biti na primer enotna po barvi in ​​teksturi). Ker ta formulacija problema segmentacije ne uporablja a priori informacij o upodobljenih predmetih, so metode te skupine univerzalne in uporabne za vse slike.

Za grobo oceno kakovosti metode pri določenem problemu je običajno zabeleženih več lastnosti, ki bi jih morala imeti dobra segmentacija:

§ enotnost regij (enakomernost barve ali teksture);

§ različnost sosednjih regij;

§ gladkost meje regije;

§ majhno število majhnih "luknj" znotraj regij;

Segmentacija praga

Thresholding je najpreprostejša metoda, ki se osredotoča na obdelavo slik, katerih posamezna homogena področja se razlikujejo po povprečni svetlosti. Če pa je slika neenakomerno osvetljena, lahko nekateri predmeti po intenzivnosti sovpadajo z ozadjem, zaradi česar bo segmentacija praga neučinkovita.

Najenostavnejša in hkrati pogosto uporabljena vrsta segmentacije praga je binarna segmentacija, ko se na sliki razlikujeta le dve vrsti homogenih območij.

V tem primeru se pretvorba vsake točke izvorne slike v izhod izvede po pravilu:

kjer je x0 edini parameter obdelave, imenovan prag. Izhodni nivoji svetlosti y0 in y1 so lahko poljubni, opravljajo le funkcije nalepk, s pomočjo katerih je dobljeni zemljevid označen - dodeli svoje točke razredom K1 oziroma K2. Če se nastali izdelek pripravlja za vizualno zaznavanje, potem njihove vrednosti pogosto ustrezajo ravnem črno-belega. Če obstajata več kot dva razreda, je treba med določanjem pragov nastaviti družino pragov, ki ločuje svetlost različnih razredov drug od drugega.

Segmentacija praga je dobra za izbiro majhnega števila predmetov, ki se ne sekajo na sliki, ki imajo homogeno strukturo in močno izstopajo iz ozadja. S povečanjem stopnje heterogenosti slike, kar pomeni število segmentov in njihovo kompleksnost, ta vrsta segmentacije postane neučinkovita.

Segmentacija na podlagi delitve grafa

Metode teorije grafov so eno najbolj aktivno razvijajočih se področij segmentacije slik.

Splošna ideja metod te skupine je naslednja. Slika je predstavljena v obliki tehtanega grafa z oglišči na točkah slike. Teža roba grafa odraža podobnost točk v nekem smislu (razdalja med točkami glede na neko metriko). Delitev slike je modelirana z izrezi grafov.

Običajno je v metodah teorije grafov uveden funkcional "stroška" reza, ki odraža kakovost dobljene segmentacije. Tako je problem delitve slike na homogena področja reduciran na optimizacijski problem iskanja odbitka minimalnih stroškov na grafu. Ta pristop omogoča poleg enakomernosti barve in teksture segmentov nadzor nad obliko segmentov, njihovo velikostjo, kompleksnostjo meja itd.

Za iskanje razreza minimalnih stroškov se uporabljajo različne metode: požrešni algoritmi (na vsakem koraku je tak rob izbran tako, da je skupni strošek reza minimalen), metode dinamičnega programiranja (zagotovljeno je, da z izbiro optimalnega roba na vsakem koraku bomo na koncu dobili optimalno pot), algoritem Dijkstra itd.

Interpolacija

V računalniški grafiki se metoda interpolacije pogosto uporablja pri spreminjanju lestvice slik. S spreminjanjem števila slikovnih pik na sliki interpolacija pomaga preprečiti pretirano pikselizacijo slike, ko se poveča, ali izgubo pomembnih podrobnosti, ko jo zmanjšamo.

Med postopkom interpolacije se med slikovne pike vstavijo dodatne točke, katerih ocenjeni ton in barva se izračunata s posebnim algoritmom na podlagi analize razpoložljivih podatkov o sosednjih območjih. Na žalost, ker je vsaka interpolacija le približek, bo slika vedno izgubila kakovost, ko bo interpolirana.

Interpolacija najbližjega soseda

Ta algoritem je najpreprostejša vrsta interpolacije, ki preprosto poveča vsako slikovno piko na zahtevanem merilu. Zahteva najmanj časa obdelave, vendar daje najslabše rezultate.

Bilinearna interpolacija

Ta vrsta interpolacije se izvaja za vsako koordinato dvodimenzionalne mreže. V tem primeru se slika obravnava kot površina, barva je tretja dimenzija. Če je slika barvna, se interpolacija izvede ločeno za tri barve. Za vsako neznano točko na novi sliki bilinearna interpolacija upošteva kvadrat štirih okoliških znanih pikslov. Tehtano povprečje teh štirih slikovnih pik se uporablja kot interpolirana vrednost. Posledično so slike videti bistveno bolj gladke kot rezultat metode najbližjega soseda.

Bilinearna interpolacija dobro deluje pri velikih celoštevilskih faktorjih skaliranja, vendar precej zamegli ostre robove slike.

Bikubična interpolacija gre še korak dlje od bilinearne interpolacije, če upoštevamo matriko 4x4 okoliških slikovnih pik – le 16. Ker so na različnih razdaljah od neznanega slikovnega pika, so najbližje slikovne pike pri izračunu bolj ponderirane. Bikubična interpolacija ustvari bistveno ostrejše slike kot prejšnji dve metodi in je verjetno optimalna v smislu časa obdelave in kakovosti izpisa. Zaradi tega je postal standard za številne programe za urejanje slik (vključno z Adobe Photoshop), gonilnike tiskalnika in vgrajeno interpolacijo kamere.

Pomanjšana slika lahko postane veliko manj ostra. Interpolacijski algoritmi, ki bolje ohranjajo ostrino, so tudi bolj dovzetni za moiré, medtem ko tisti, ki odpravljajo moiré, ponavadi dajejo mehkejši rezultat. Žal se temu kompromisu glede skaliranja ni mogoče izogniti.

Eden od najboljši načini za boj proti temu - takoj po luščenju nanesite neostro masko, tudi če je izvirnik že izostren.

5.2 Utemeljitev izbire algoritmov, uporabljenih v podsistemu

Glavna zahteva za razvit programski paket je bila zmanjšanje zamude pri predvajanju video toka med njegovo predprocesiranjem na računalniški gruči. Poleg tega lahko streljanje poteka v kakršnih koli pogojih, kar pomeni, da je bilo treba v kratkem času izvesti veliko število preprostih filtrov za nevtralizacijo različnih negativnih učinkov. Poleg tega je bilo treba v kratkem času preučiti veliko število negativnih dejavnikov, ki se pojavljajo na videoposnetku, in implementirati preproste filtre za njihovo nevtralizacijo. Algoritmi, ki izpolnjujejo predstavljene zahteve, morajo biti na voljo, dobro optimizirani, zelo zanesljivi in ​​hkrati enostavni za implementacijo. Funkcije knjižnice OpenCV imajo takšne lastnosti, zato so pri izbiri posebnih metod za izvajanje filtrov za obdelavo video toka prednost dali algoritmom, ki jih ta knjižnica vsebuje v takšni ali drugačni obliki.

Vsi algoritmi, ki smo jih obravnavali v teoretičnem delu zaključnega kvalifikacijskega dela, smo implementirali v testni obliki, da bi primerjali njihove značilnosti v praksi. Zlasti je bila dana prednost kompromisu med hitrostjo obdelave okvirja video toka in kakovostjo dobljenega rezultata.

Kot rezultat, so bili izbrani naslednji algoritmi za implementacijo filtrov za obdelavo video toka v računalniški gruči:

1. Za odstranitev »aditivnega belega« šuma je bil izbran Gaussov algoritem. Kot najpogostejša metoda zmanjševanja hrupa je zelo dobro optimizirana in zato ima visoko delovno hitrost.

2. Za odstranitev »aditivnega belega« šuma je bil izbran Gaussov algoritem. Kot najpogostejša metoda zmanjševanja hrupa je zelo dobro optimizirana in zato ima visoko delovno hitrost.

3. Za odstranitev »impulznega« šuma je bilo izbrano mediano filtriranje. Ta metoda je tudi dobro optimizirana in je bila posebej zasnovana za odpravo impulznega in solnega hrupa.

4. Konvolucija je bila izbrana za povečanje ostrine slike, saj deluje veliko hitreje kot neostro maskiranje, hkrati pa daje sprejemljive rezultate.

5. Knjižnica OpenCV ne vsebuje algoritmov barvne korekcije - zato je bilo odločeno, da se implementira najbolj razširjen in dobro dokumentiran algoritem Single Scale Retinex. Ta metoda je zelo učinkovita, vendar zahteva optimizacijo za pospešitev delovne hitrosti.

6. Kot metodo za ekstrakcijo kontur je bil izbran Kennyjev algoritem, saj daje boljše rezultate kot Sobelov filter.

7. Algoritem piramidalne segmentacije, predstavljen v knjižnici OpenCV, deluje izjemno počasi, zato je bilo odločeno, da na grafih uporabimo že obravnavani algoritem segmentacije.

8. interpolacija - metoda bikubične interpolacije je bila izbrana kot najbolj smiseln kompromis med hitrostjo dela in kakovostjo rezultata.

Namestitev in konfiguracija uporabljene programske opreme.

Uporabljena računalniška gruča je izvajala GNU Linux (Ubuntu)

Po namestitvi operacijski sistem morate namestiti več knjižnic, ki podpirajo branje in pisanje slikovnih datotek, risanje na zaslonu, delo z videom itd.

Namestitev CMake

Projekt je zgrajen s pomočjo CMake (potrebna je različica 2.6 ali novejša). Namestite ga lahko z ukazom:

apt-get install cmake

Morda boste potrebovali tudi naslednje knjižnice:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

Namestitev ffmpeg

Da bi opencv pravilno obdelal video datoteke, mora biti nameščena knjižnica ffmpeg. To se naredi z naslednjimi ukazi:

1) Prenos izvornih kod knjižnice

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) Razpakiranje arhiva z izvornimi kodami

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) Konfiguracija knjižnice

configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) Gradnja in namestitev knjižnice

namestitev GTK

Za prikaz oken OpenCV je potrebna nameščena knjižnica GTK + 2.x ali novejša, vključno z datotekami z glavami (libgtk2.0-dev)

apt-get namestite libgtk2.0-dev

Namestitev Opencv

Po namestitvi vseh povezanih knjižnic se izvede namestitev opencv2.2 z naslednjimi ukazi:

1) Prenos izvornih kod knjižnice OpenCV

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) Razpakiranje arhiva z izvornimi kodami

tar -xvf OpenCV-2.2.0.tar.bz2

3) ustvarjanje Makefile s pomočjo CMake.

4) izdelava in namestitev knjižnice OpenCV

5) Morda boste morali registrirati tudi pot do knjižnic

izvoz LD_LIBRARY_PATH = / usr / local / lib: $ LD_LIBRARY_PATH

Namestitev in sestavljanje razvitega programskega paketa

Treba je kopirati izvorne kode programe z diska, ki je priložen temu pojasnjevalnemu opombi. Kopirajte paketno datoteko build_all.sh v isto mapo in jo nato zaženite. Če je prevajalnik gcc nameščen v sistemu, se bo gradnja zgodila samodejno.

Predstavitev slik

Obstajata dve glavni vrsti predstavitev slik - vektorski in rastrski.

V vektorski predstavitvi je slika opisana z nizom črt (vektorjev), ki vsebujejo koordinate začetne in končne točke, ukrivljenost črt in druge geometrijske značilnosti, opisana so tudi pravila za konstruiranje različnih območij in barvne značilnosti. Z drugimi besedami, za rastrsko predstavitev je potrebno oblikovati določen matematični model. Zato se vektorska predstavitev uporablja predvsem za reševanje problemov sinteze slike. Čeprav nekateri algoritmi za prepoznavanje slik za svoje delo zahtevajo točno vektorsko predstavitev, ki jo je treba pridobiti iz izvirne slike.

Rastrska slika je ena ali več matrik, ki opisujejo prostorsko porazdelitev značilnosti slike na določeni kartezični koordinatni mreži. V tem primeru je slika zgrajena iz številnih točk in ima rastrsko strukturo. Glavni element predstavitve rastrske slike je piksel (okrajšava za besedno zvezo "elementi slike" - slikovni elementi), ki ima koordinate v rastrskem koordinatnem sistemu in nekatere atribute (barva, svetlost, prosojnost itd.). Število slikovnih pik v koordinatah X in Y (vodoravno in navpično) določa ločljivost (dimenzijo) predstavitve slike. Barva slikovne pike je določena z globino - številom bitov, potrebnih za določitev katere koli barve.

Rastrske slike, odvisno od načinov za nastavitev barve slikovnih pik in lastnosti izvirne slike, delimo na:

Binarno

Polton

Paleta

Polna barva

Pri binarni predstavitvi je lahko barva slikovne pike bela ali črna in je kodirana v enem bitu. Slika je matrica. Vsak element I (i, j) te matrike ima vrednost 0 ali 1, kjer je i številka vrstice in je številka stolpca j elementa, ki ustreza danemu pikslu (slika 1).

V slikah v sivih tonih slikovne pike predstavljajo vrednosti svetlosti sivin. Matrični indeksi, ki opisujejo sivinsko sliko, določajo položaj slikovne pike na rastru in vrednost matričnega elementa

- nastavi svojo svetlost I (i, j) (slika 2).

Slike palete so opisane z dvema matrikama (slika 3). Eden shranjuje vrednosti indeksov, ki določajo sklicevanje na vrstico matrike palete. Matrica palete je barvni zemljevid. Vsebuje 3 skupine stolpcev - ki ustrezajo rdeči barvi "R", zeleni "G" in modri barvi "B". Nastavijo barvo ustreznega piksla.

Paleta je matrika Nc 3, kjer je Nc število barv.

Algoritmi za predobdelavo slik

Polnobarvne slike so zgrajene v formatu RGB in predstavljajo tri matrike R (i, j), G (i, j), B (i, j). Ustrezni elementi vsake matrike vsebujejo vrednosti intenzivnosti rdeče, zelene in modre barve za slikovni pik, določen z indeksi matrike. Tako polnobarvna slika nima barvnega zemljevida in je barva vsake slikovne pike predstavljena s tremi številkami, vzetimi iz ustreznih matrik (slika 4).

Oblika številk v matrikah je lahko celo število ali s plavajočo vejico. Prvi primer se nanaša na tako imenovane digitalizirane slike, pridobljene z različnimi napravami – skenerji, digitalnimi fotoaparati, televizijskimi kamerami itd. V tej obliki so podatki o slikah shranjeni v standardnih grafičnih datotekah.

Druga možnost se uporablja za interno predstavitev slik med njihovo obdelavo. V tem primeru je priročno normalizirati podatke o intenzivnosti na en obseg, na primer v obseg, in izvesti različne izračune s plavajočimi številkami, nato pa rezultat pretvoriti v izvirno celoštevilsko obliko. Ta metoda vam omogoča, da zmanjšate napake pri izračunu in izboljšate natančnost rezultata obdelave.

Za polnobarvne slike je eden od parametrov največje število barv, ki jih je mogoče predstaviti v tej obliki. Najpogosteje uporabljene slike imajo 16, 256, 65536 (High Color) in 10,7 milijona (True Color) barv.

Algoritmi za predobdelavo slik

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 predobdelavo slik

Indeksna matrika

31 15 03 09

Paletna matrica

Algoritmi za predobdelavo slik

Polnobarvno sliko je mogoče predstaviti ne samo v formatu RGB, temveč tudi z uporabo drugih barvnih sistemov.

V sistemu HSB barvo predstavljajo naslednje barvne značilnosti: Hue - odtenek;

Saturation - nasičenost; Svetlost - svetlost.

Menijo, da ta barvni sistem ustreza posebnostim človeškega zaznavanja barve.

V sistemu LAB se barva obravnava kot zbirka svetlosti in dveh neodvisnih vrednosti kromatičnosti, ki določata pravo barvo slikovne pike. Chroma A - izbere barvno komponento od magenta do zelene. Kromatičnost B - druga barvna komponenta je izbrana iz razpona od rumene do cian.

Obstajajo tudi drugi sistemi za predstavljanje barv. Seveda so vsi povezani in iz ene predstavitve je mogoče dobiti drugo. Raznolikost barvnih sistemov je posledica nalog, ki jih rešujemo z njihovo pomočjo. Na primer, bolj priročno je izvajati barvno korekcijo v sistemu LAB, reproducirati sliko na zaslonu monitorja v sistemu RGB, bolje tiskati,

Algoritmi za predobdelavo slik

z uporabo predstavitve CMYK. Vsekakor pa pri obdelavi slik in njihovem prepoznavanju delajo z rastrsko predstavo slik, ki vsebuje eno ali več matrik.

Klasifikacija algoritmov predprocesiranja

Algoritmi za predobdelavo slik bodo razdeljeni v različne skupine glede na klasifikacijsko funkcijo. Vsi algoritmi za predhodno obdelavo morajo bodisi izboljšati kakovost slik bodisi v nekem smislu pretvoriti v obliko, ki je najbolj primerna za nadaljnjo obdelavo.

Algoritmi, katerih cilj je izboljšati barvno reprodukcijo slike, se imenujejo algoritmi barvne korekcije. V to skupino spadajo tudi algoritmi, ki delajo s poltonskimi slikami, ki spreminjajo njihove značilnosti svetlosti in kontrasta.

Algoritmi, ki so namenjeni obdelavi prostorskih značilnosti slik, se imenujejo algoritmi prostorsko filtriranje. V to skupino spadajo algoritmi za zatiranje šuma, algoritmi prostorskega glajenja in algoritmi prostorskega pridobivanja, algoritmi za zatiranje in ojačanje prostorskih frekvenc.

Imenujejo se algoritmi, ki izvajajo geometrijske operacije na sliki algoritmi geometrijske obdelave... Tej vključujejo:

Algoritmi za predobdelavo slik

Obrezovanje slike - izbor določenega dela pravokotne oblike iz izvirne slike;

Spreminjanje velikosti slike. Ti algoritmi uporabljajo različne metode interpolacije, ki omogočajo bodisi pravilno zapolnitev manjkajočih slikovnih pik v povečani sliki ali ponovno izračun vrednosti slikovnih pik, ko se slika zmanjša.

Zavrtite sliko. Ti algoritmi zasukajo izvirno sliko za določen kot in pravilno preračunajo vrednosti slikovnih pik z različnimi metodami interpolacije.

Imenuje se algoritmi, ki izvajajo transformacije iz enega barvnega sistema v drugega algoritmi za pretvorbo barv... Vključujejo tudi algoritme za pretvorbo barvnih slik v sivine in algoritme za binarizacijo, ki pretvorijo izvirno sliko v binarno.

Algoritmi, ki poudarjajo nekatera področja v izvirni sliki v skladu z različnimi, pogosto neformalnimi pogoji, se imenujejo algoritmi segmentacije. Primer takega algoritma je lahko na primer algoritem, ki bi moral izbrati področja besedilnih in grafičnih informacij na sliki dokumenta, ali algoritem, ki na sliki besedila izbere področja, ki se nanašajo na posamezne besede.

Algoritmi za predobdelavo slik

Algoritmi prostorskega filtriranja

Prostorsko filtriranje slike v matematični obliki je diskretna konvolucija diskretne slike z določenim impulznim odzivom prostorskega filtra

Če (i, j)

Im (i m, j n) h (m, n), kjer:

m N11 n N21

Im, če so matrice originalne in filtrirane slike, h matrika impulznega odziva filtra,

N 11, N 21 so spodnja in zgornja meja stolpcev impulznega odziva, N 12, N 22 sta leva in desna meja vrstic impulznega odziva.

Matriko impulznega odziva lahko dobimo z izračunom prostorskega filtra na podlagi določenih parametrov. Velika količina literature, ki je na primer namenjena digitalnemu filtriranju, je namenjena metodam za izračun prostorskih filtrov. Za praktične izračune lahko uporabite standardne matematične pakete, na primer sistem "MATLAB" vključuje sistem za izračun filtra "Image Filter Design".

Upoštevajte, da je filtriranje mogoče izvesti tudi v frekvenčnem področju. V tem

Algoritmi za predobdelavo slik

V tem primeru je vrstni red filtriranja naslednji:

Pretvorite sliko iz prostorske v frekvenčno domeno z uporabo 2D diskretne Fourierjeve transformacije

Izvedite elementarno množenje frekvenčne matrike slike s frekvenčno matriko filtra

Dobljeni rezultat pretvorimo v prostorsko domeno z inverzno dvodimenzionalno diskretno Fourierjevo transformacijo.

jaz (x, y)

Im (f x, f y)

Če (f x, f y) Im (f x, f y) H (f x, f y)

Če (fx, f y)

Če (x, y).

Filtriranje slik v frekvenčni domeni se zaradi velike količine izračunavanja redko uporablja. Vendar se ta metoda filtriranja pogosto uporablja v teoretičnih izračunih pri analizi možnosti za obdelavo slik. Omogoča vam jasno vizualizacijo, kakšno filtriranje je potrebno. Na primer, če morate na sliki poudariti ostre spremembe svetlosti, potem je očitno, da morate uporabiti visokoprepustne filtre. Nasprotno, če se morate znebiti nizkofrekvenčnih motenj - trepetajočih zank, posameznih prenapetosti itd., Potem morate uporabiti nizkofrekvenčne filtre. Specifični parametri filtra so izbrani na podlagi frekvenčne analize motenj in lastnosti izvirne slike.

1

V tem članku so razviti algoritmi za obdelavo slik z inteligentnimi mobilnimi roboti na podlagi mehke logike in nevronskih omrežij, ki omogočajo izbiro meja na sliki s pomočjo operaterja Sobel. Bistvo obdelave slike je, da izvirno sliko prizora spravimo v obliko, ki omogoča reševanje problema prepoznavanja njenih predmetov. Obravnavani so glavni problemi in načini njihovega reševanja med začetno pripravo slike za prepoznavanje. Podrobno sta analizirana algoritem predprocesiranja z mehko logiko in proces binarizacije slike. Zgrajen je algoritem mehke obdelave za izbiro robov na sliki z uporabo Sobelovega operaterja.

obdelava slike

mehka logika

inteligentni sistem

prepoznavanje predmeta

1. Vesnin E.N., Veto A.V., Tsarev V.A. O razvoju in uporabi prilagodljivih optoelektronskih sistemov tehničnega vida // Avtomatizacija v industriji, 2009.- št. 11.- str. 48-52.

2. Grishin V.A. Sistemi tehničnega vida pri reševanju problemov vodenja zračnih plovil brez posadke // Senzorji in sistemi, št. 2, 2009.- str. 46-52.

3. Klevalin V.A., Polivanov A.Yu. Metode digitalnega prepoznavanja v sistemih tehničnega vida industrijskih robotov // Mehatronika, avtomatizacija, vodenje, 2008, št. 5.- str. 56-56.

4. Mihajlov S.V., Romanov V.V., Zaikin D.A. Sistem tehničnega vida za diagnosticiranje postopka rezanja materialov // Bilten računalniške in informacijske tehnologije, 2007, št. 3.- S. 12-19.

5. Semin M.S. Pregled rešitve uporabnih problemov z uporabo tehničnih sistemov vida // http://www.videoscan.ru/page/718#13.

Trenutno je avtomatska obdelava slik ena najpomembnejših smeri na tem področju umetna inteligenca in pomeni razvoj robotskih sistemov, ki izvajajo prepoznavanje vzorcev. Eno najučinkovitejših orodij za prepoznavanje vzorcev so sistemi, ki temeljijo na mehki logiki in umetnih nevronskih omrežjih. Sistem tehničnega vida (STZ) zahteva več metod in algoritmov, ki rešujejo isti problem. različne poti, hkrati pa zagotavlja potrebne kazalnike za hitrost in zanesljivost identifikacije.

Bistvo algoritma hibridne obdelave slik v STZ mobilnih robotskih sistemov (MRC) je, da izvirno sliko prizora spravi v obliko, ki omogoča reševanje problema prepoznavanja njenih predmetov.

Algoritem za predobdelavo slike z uporabo mehkega sistema v STZ

Za obdelavo slik predstavlja mehka obdelava veliko različnih mehkih pristopov, ki so razumevanje, predstavitev, obdelava slik, segmenti in mehke množice. V procesu prepoznavanja vzorcev je zelo pomemben proces predhodne obdelave mehke slike, saj je od tega odvisna kakovost podatkov, ki nato prispejo na vhode nevronske mreže. Kot del problema, ki ga rešujemo, lahko razvit algoritem mehke preliminarne obdelave predstavimo kot naslednje zaporedje korakov (slika 1): zajem slike s spletno kamero; pretvorbo nastale barvne slike v gradacijsko sliko siva; mehka obdelava slik.

riž. 1. Algoritem za predhodno obdelavo mehke slike

Tako je prvi korak pri vnaprej mehki obdelavi pretvorba slike iz barvne v sivine. Pretvarjanje barv na sliki v sivine se izvede na naslednji način. Celotna barvna paleta je predstavljena v obliki kocke, katere oglišča ustrezajo različne barve... Siva lestvica se nahaja na diagonali kocke, ki povezuje črno-belo oglišče.

Za pretvorbo slike v sivine so intenzivnosti rdeče, zelene in modre komponente barve označene za vsako točko na sliki, nato pa se barva pretvori z naslednjo formulo:

kjer je nova vrednost barve, je intenzivnost rdeče komponente barve, je intenzivnost zelene komponente barve in je intenzivnost modre komponente barve. Vsak algoritem daje od 0 do 1 sivine. Obstaja več metod za pretvorbo slik samo v sivine. Metoda svetlobe uporablja povprečno vrednost med dvema najbolj in najmanj pomembnima barvama:. Povprečna metoda uporablja povprečje vseh treh barv: ... Metoda svetilnosti uporablja tehtano povprečje vseh treh barv, pri čemer se upošteva človeško zaznavanje. Torej, ker je človeško oko najbolj dovzetno za zeleno barvo, se njegova teža šteje za najpomembnejšo:. Uporablja se metoda določanja svetlosti programsko opremo za obdelavo slik. Izvedel je funkcijo " rgb2gray ”v MATLAB-u in to se pogosto uporablja za računalniški vid. Postopek mehke predhodne obdelave ima postopek pretvorbe slik iz barvne (RGB) v sivine z uporabo metode določanja svetilnosti. Slika se nato pretvori iz sivin v črno-belo (slika 2).

riž. 2. Postopek pretvorbe slik iz barvnih v sivine

Binarizacija slike med predobdelavo

Namen predhodne obdelave mehke slike je oblikovanje in naknadno izboljšanje slike, njena binarizacija in kodiranje (zlasti pridobitev obrisa). Binarizacija slike je postopek pretvorbe slike, sestavljene iz gradacije ene barve (v našem primeru sive) v binarno sliko, t.j. slika, pri kateri ima lahko vsak piksel le dve barvi (v našem primeru sta to črno-bela). Kot rezultat te transformacije se barva slikovne pike običajno šteje za enako nič ali ena, medtem ko se slikovne pike z ničelno vrednostjo (v tem primeru bele piksle) imenujejo ozadje, slikovne pike z vrednostjo, ki je enaka ena (črna). ) se imenujejo ospredje. Toda binarna slika, pridobljena kot posledica takšne transformacije, je popačena v primerjavi z izvirnikom, za katero je značilen videz vrzeli in zamegljenosti na predmetih, pojav šuma slike na homogenih območjih, pa tudi izguba slike. celovitost strukture predmetov.

Izguba celovitosti predmeta, pa tudi zlom predmeta, nastane zaradi številnih razlogov, kot je velika neenakomerna osvetlitev predmeta ali dotikanje (ali prekrivanje predmetov). Prav prekrivanje (ali dotik – kot poseben primer prekrivanja) povzroča posebno težavo pri obdelavi. po eni strani lahko sliko več predmetov razlagamo kot en predmet, po drugi strani pa algoritmi, ki preverjajo geometrijsko celovitost predmeta, tvorijo vrzeli na mestih prekrivanja in ta področja predstavljajo kot ozadje. Kompleksnost obdelave je v odsotnosti teoretične rešitve problema interpretacije vsiljevanja predmetov, saj se del informacij izgubi. Pri izvajanju algoritmov v praksi je ena od navedenih možnosti sprejeta kot pravilna odločitev - bodisi se križišče šteje za nadaljevanje trenutnega objekta ali pa se območje prekrivanja šteje za ozadje.

Prag pretvori barvno ali sivinsko sliko v črno-belo sliko. Transformacije pragov so zaradi svojih intuitivnih lastnosti in enostavne izvedbe osrednjega pomena za aplikacije za segmentacijo slik. Za vsako slikovno piko na sliki se preuči njena raven intenzivnosti, če je njena vrednost nad določeno mejno vrednostjo, to ustreza beli barvi. Če je pod nastavljenim pragom, je nastavljen na črno. Raven praga bo med 0 in 255.

Trenutno obstaja veliko število metod binarizacije. Bistvo te transformacije rastrskih slik je primerjalna analiza svetlosti trenutnega piksla z določeno mejno vrednostjo: če svetlost trenutnega slikovnega pika preseže mejno vrednost, t.j. , potem bo barva piksla v binarni sliki bela, sicer bo barva črna. Mejna površina je matrica, katere dimenzija ustreza dimenziji izvirne slike.

V procesu binarizacije so vse metode po principu konstruiranja pragovne površine razdeljene v dve skupini – to so metode globalne in lokalne obdelave binarizacije. V metodah globalne binarizacijske obdelave je mejna površina ravnina s konstantno vrednostjo praga svetlosti, t.j. vrednost praga se izračuna na podlagi analize histograma celotne slike in je enaka za vse slikovne pike izvirne slike. Globalni prag ima pomembno pomanjkljivost – če ima izvorna slika neenakomerno osvetlitev, so območja, ki niso dobro osvetljena, v celoti razvrščena kot ospredje. Pri metodah lokalne binarizacijske obdelave se vrednost praga spremeni za vsako točko na podlagi nekaterih značilnosti območja, ki pripada neki soseščini dane točke. Pomanjkljivost te vrste preoblikovanja je nizka hitrost delo algoritmov, povezanih s ponovnim izračunom mejnih vrednosti za vsako točko slike.

Kot metodo za reševanje problema bomo uporabili Bernsenovo metodo. Metoda temelji na zamisli o primerjavi ravni svetlosti pretvorjenega slikovnega pika z lokalnimi povprečnimi vrednostmi, izračunanimi v njegovem okolju. Piksli slike se obdelajo eno za drugo tako, da se njihova intenzivnost primerja s povprečnimi vrednostmi svetlosti v oknih, osredotočenih na točke (slika 3).

riž. 3. Pretvarjanje slikovnih pik

Algoritem mehke obdelave za ekstrakcijo robov in segmentacijo slike

Po pretvorbi slike v črno-belo se s pomočjo Sobelovega operaterja pridobi gradientna slika in se napaja na vhode obdelave mehke slike (FOI) (slika 4).

Obdelava mehke slike je sestavljena iz treh glavnih stopenj: fuzzifikacija slike, sistem mehkega sklepanja, ki temelji na vrednostih članstva, in razprševanje slike. Glavna obdelava mehke slike je v srednjem koraku (sistem mehkega sklepanja). Po prenosu slikovnih podatkov iz sive ravni v fuzzifikacijo se mehki sklepni sistem določi z vrednostmi članstva. Fuzzification je kodiranje slikovnih podatkov, defuzzification pa je dekodiranje rezultatov, ki omogoča obdelavo slik z mehkimi metodami.

Slika - velikost s sivinami in ga je mogoče definirati kot niz mehkih enotočkovnih nizov (mehke množice je mogoče podpreti samo z eno točko), ki označujejo vrednost članstva vsakega slikovnega pika glede na vnaprej določeno lastnost slike (npr. svetlost, gladkost itd.).

(1)

kjer in sta pripadnost piksla v zapisu mehkih množic. Določitev vrednosti članstva je odvisna od posebnih zahtev posamezne aplikacije in od ustrezne baze znanja.

Sistemski izhod za vhodni sistem je podan z naslednjo formulo:

(2)

riž. 4. Algoritem za obdelavo mehke slike za odkrivanje meja

Uporaba nevronskih mrež za prepoznavanje vzorcev

Večplastni perceptron je umetna nevronska mreža, sestavljena iz več vhodnih vozlišč, ki tvorijo vhodno plast, ene ali več računskih plasti nevronov in ene izhodne plasti (slika 6). V takih omrežjih se signal, ki se nanaša na vhodno plast, prenaša zaporedno v smeri naprej od sloja do sloja. Ta vrsta ANN se uspešno uporablja za reševanje različnih problemov, predvsem za problem prepoznavanja vzorcev.

Nevronska mreža za povratno širjenje je sestavljena iz več plasti nevronov in vsak nevron prejšnje plasti je povezan z vsakim nevronom naslednje plasti. V takih omrežjih je po določitvi števila slojev in števila elementov vsake plasti potrebno izračunati vrednosti uteži in pragov omrežja na način, da se zmanjša napaka napovedi. Ta problem je rešen z uporabo različnih učnih algoritmov. Bistvo teh algoritmov je, da se omrežje prilagodi podatkom o usposabljanju. Napako implementiranega omrežja bomo ugotovili z izvajanjem vseh vhodnih podatkov in primerjavo dejanskih vrednosti, pridobljenih na izhodu omrežja, s ciljnimi vrednostmi. Nato dobljene razlike seštejemo v skupno, tako imenovano funkcijo napake, ki označuje skupno napako omrežja. Toda pogosteje se vsota kvadratov napak vzame kot funkcija napake.

Eden najpogostejših algoritmov za usposabljanje večplastnih nevronskih mrež je algoritem povratnega širjenja napak. Ta algoritem izračuna gradientni vektor površine napake. Nato se za določeno količino premaknemo v smeri vektorja (nakazal nam bo smer najstrmejšega spusta), kjer bo vrednost napake manjša. Tak dosleden napredek bo postopoma vodil k zmanjšanju napake. Tu nastanejo težave pri določanju zneska za predujem. Če je velikost koraka razmeroma velika, bo to vodilo do najhitrejšega spusta, vendar obstaja možnost "preskoka"

želeno točko ali pojdite v napačno smer, če ima površina precej zapleteno obliko. Na primer, če je površina ozka grapa s strmimi pobočji, se bo algoritem premikal zelo počasi in skakal z enega pobočja na drugega. Če je velikost koraka majhna, bo to vodilo do iskanja najbolj optimalne smeri, vendar lahko znatno poveča število ponovitev. Za dosego najbolj optimalnega rezultata se velikost koraka vzame sorazmerno s strmino pobočja z določeno konstanto - hitrostjo učenja. Izbira te konstante se izvede eksperimentalno in je odvisna od pogojev določenega problema.

Naj uvedemo naslednji zapis. Označimo matriko uteži od vhodov do skrite plasti, matriko uteži, ki povezuje skrito in izhodno plast -. Za indekse bomo uporabili naslednji zapis: vhodi bodo oštevilčeni samo z indeksom, elementi skrite plasti - z indeksom, izhodi - z indeksom. Število mrežnih vhodov je enako, število nevronov v skriti plasti je, število nevronov v izhodni plasti je. Naj se omrežje uri na vzorcu,. Potem bo algoritem za usposabljanje večplastnega perceptrona videti takole:

Korak 1. Inicializacija omrežja. Uteži so dodeljene majhne naključne vrednosti, na primer iz razpona (-0,3, 0,3); so nastavljeni - parameter točnosti vadbe, - parameter hitrosti učenja (praviloma in se lahko v učnem procesu dodatno zmanjša), - največje dovoljeno število ponovitev.

Korak 2. Izračunajte trenutni izhodni signal. Ena od slik vadbenega vzorca se napaja na vhod omrežja in določi se vrednosti izhodov vseh nevronov nevronske mreže.

3. korak. Nastavitev sinoptičnih uteži. Izračunajte spremembo uteži za izhodno plast nevronske mreže s formulami:

kje , . Izračunajte spremembo uteži za skrito plast s formulami: , kje

Korak 4. Koraki 2-3 se ponovijo za vse vektorje usposabljanja. Usposabljanje se konča, ko funkcija napake za vsako od vadbenih slik doseže vrednost funkcije napake, ki ne presega e, ali po največjem dovoljenem številu ponovitev.

V 2. koraku je bolje, da vektorje iz vadbenega zaporedja predstavimo na vhod v naključnem vrstnem redu.

Število vhodov in izhodov omrežja praviloma narekujejo pogoji problema, velikost skrite plasti pa najdemo eksperimentalno. Običajno je število nevronov v njem 30-50% števila vhodov. Preveč nevronov v skriti plasti vodi v dejstvo, da omrežje izgubi sposobnost posploševanja (preprosto si temeljito zapomni elemente vzorca usposabljanja in se ne odziva na podobne vzorce, kar je nesprejemljivo za naloge prepoznavanja). Če je število nevronov v skriti plasti premajhno, se omrežje preprosto ne more naučiti.

Zaključek

Obravnavani so glavni problemi in načini njihovega reševanja med začetno pripravo slike za prepoznavanje. Podrobno sta analizirana algoritem predprocesiranja z mehko logiko in proces binarizacije slike. Zgrajen je algoritem mehke obdelave za izbiro robov na sliki z uporabo Sobelovega operaterja.

Ocenjevalci:

Gagarina LG, doktorica tehničnih znanosti, profesorica, vodja oddelka za informatiko in programsko opremo za računalniške sisteme, Nacionalna raziskovalna univerza MIET, Moskva.

Portnov EM, doktor tehničnih znanosti, profesor Oddelka za informatiko in programsko opremo za računalniške sisteme, vodja raziskovalnega laboratorija "Nadzorni informacijski sistemi" Nacionalne raziskovalne univerze "MIET", Moskva.

Bibliografska referenca

Aung Ch.Kh., Tant Z.P., Fedorov A.R., Fedorov P.A. RAZVOJ ALGORITMOV OBDELAVE SLIKE Z INTELIGENTNIMI MOBILNIMI ROBOTI NA TEMELJIH FUZZY LOGIC IN NEVRALNIH OMREŽJ // Sodobni problemi znanost in izobraževanje. - 2014. - Št. 6.;
URL: http://science-education.ru/ru/article/view?id=15579 (datum dostopa: 01.02.2020). Predstavljamo vam revije, ki jih izdaja "Academy of Natural Sciences"

DIGITALNO ZDRAVLJENJE SIGNALI

Tema 17. OBDELAVA SLIKE

Nič ni, ne glede na to, kaj si upa človekova domišljija.

Tit Lukrecij. Rimski filozof in pesnik. 1. stoletje pr NS.

Domišljija je dobra stvar. Ampak spravi klošar iz kleti, ga operi, spremeni v Apolla, zapakiraj v škatlo vžigalic in pošlji prijatelju E-naslov dober grafični program bo boljši.

Anatolij Pyshmintsev, novosibirski geofizik Uralske šole. XX stoletje

Uvod.

1. Osnovni pojmi. Grafična predstavitev slik. Predstavitev barv v računalniški grafiki. Barvni model RGB. Barvni sistem CIE XYZ.

2. Geometrijske transformacije rastrskih slik. Področja in stopnje transformacije. Vzorčenje. Interpolacijski niz rekonstrukcije dvodimenzionalnega signala. Frekvenčno popačenje slik in njihova odprava. Ponovno vzorčenje slik.

3. Filtriranje slik. Linearni filtri. Filtri za glajenje. Filtri za povečanje kontrasta. Filtri za razliko. Dvodimenzionalna ciklična konvolucija. Nelinearni filtri. Filtriranje pragov. Mediano filtriranje. Ekstremni filtri.

4. Stiskanje slik. Algoritmi kodiranja dolžine ponovitve (RLE). Slovarski algoritmi. Statistični kodirni algoritmi. Kompresija slike z izgubo. Ocena izgube slike. Fourierjeva transformacija. Wavelet transformacija.

UVOD

Obseg raziskav digitalnega slikanja hitro raste. To je zato, ker je obdelava slike večdimenzionalna obdelava signalov, večina signalov v resničnem svetu pa je večdimenzionalna.


Slika v matematični predstavitvi je dvodimenzionalni signal, ki nosi ogromno informacij. Barvna slika 500 × 500 elementov je niz več sto tisoč bajtov. Takšne informacije je mogoče obdelati le z racionalno organizacijo izračunov. Za posebne naloge obdelave slik je mogoče uporabiti učinkovite metode obdelave ob upoštevanju posebnosti in omejitev te posamezne naloge. Če pa govorimo o obdelavi slik za reševanje širokega razreda problemov, potem je treba izpostaviti nabor standardnih operacij, iz katerih je mogoče sestaviti algoritme za reševanje poljubnih problemov. Sem spadajo linearne transformacije, 2D konvolucija in 2D diskretna Fourierjeva transformacija.

Vendar pa se pri obdelavi slik pogosto uporabljajo tudi nelinearne transformacije. Posebnost slik je, da so posamezni elementi slike v določeni povezavi s sosednjimi elementi. Zato je večina algoritmov za pretvorbo slik lokalne narave, to pomeni, da slike obdelujejo po skupinah elementov, ki se nahajajo v soseščini okoli danega. Linearne transformacije izpolnjujejo lastnost lokalnosti in omogočajo gradnjo algoritmov, katerih računska zahtevnost je malo odvisna od velikosti okoliške soseske. Enake lastnosti so potrebne za nelinearne transformacije slik. Razred takšnih transformacij vključuje algoritme, imenovane algoritmi za filtriranje rangov, ki temeljijo na izračunu lokalne statistike ranga slik. Pri izračunu statistike ranga in njihovih izpeljank so možne poenostavitve, povezane z informacijsko redundanco slik. Najbolj znan algoritem tega razreda je algoritem za filtriranje mediane. Drugi primeri algoritmov za rangiranje so algoritmi ekstremnega filtriranja, ki zamenjajo analizirani slikovni element z maksimumom ali minimumom v soseščini. Druga lastnost algoritmov rangiranja je lokalna prilagoditev značilnostim obdelane slike in možnost njihove uporabe ne le za glajenje in čiščenje pred šumom, temveč tudi za ekstrakcijo značilnosti med samodejnim prepoznavanjem slike.

Pri obdelavi slik se široko uporabljajo metode obdelave enodimenzionalnih signalov, če jih je mogoče posplošiti na večdimenzionalne signale. Hkrati je treba to upoštevati matematične metode opisi večdimenzionalnih sistemov niso popolni. Večdimenzionalni sistemi imajo veliko število stopenj svobode, njihova zasnova pa pridobi fleksibilnost, ki ni lastna enodimenzionalnim sistemom. Hkrati se večdimenzionalni polinomi ne razgradijo na prafaktorje, kar otežuje analizo in sintezo večdimenzionalnih sistemov.

17.1. Osnovni koncepti

Grafična predstavitev slik. Za predstavitev grafičnih informacij na dvodimenzionalni ravnini (zaslon monitorja) se uporabljata dva pristopa: rastrski in vektorski.

V vektorskem pristopu so grafične informacije opisane kot zbirka abstraktnih geometrijskih objektov – črt, segmentov, krivulj, pravokotnikov itd. Vektorski opis predpostavlja a priori poznavanje strukture slike.

Rasterska grafika deluje s poljubnimi slikami v obliki rastrov. Raster je opis slike na ravnini, tako da jo razdeli (diskretizira) na enake elemente na običajni mreži in vsakemu elementu dodeli svojo barvo in morebitne druge atribute. Najpreprostejši raster je pravokoten, najbolj ekonomičen glede na število vzorcev za prenos slik je šesterokoten. Z matematičnega stališča je raster kosično konstanten približek na ravnini neprekinjene slikovne funkcije.

Rastrski element se imenuje piksel. Standardna identifikacija slikovnih pik:


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

kjer je A (i, j) Ì R2 - območje slikovnih pik, C (i, j) Î C - atribut slikovnih pik (običajno barva). Najpogosteje se uporabljata dve vrsti atributov:

C (i, j) = I (i, j) - intenzivnost slikovnih pik (svetlost);

C (i, j) = (R (i, j), G (i, j), B (i, j)) - barvni atributi v barvnem modelu RGB.

V matrični obliki:

Mij ​​= (Aij, Cij).

Pri diskretizaciji neprekinjenih slik je mogoče vrednosti Aij definirati na dva načina, bodisi kot vrednosti točk Aij = (i, j), za katere so definirani atributi Cij, ali kot vrednosti kvadrati Aij = (i, i + 1) × (j, j + 1) ali katera koli druga oblika, z določitvijo Cij s srednjimi vrednostmi znotraj te oblike (slika 17.1.1).

V praksi sta X in Y praviloma omejena nabora nenegativnih celih števil kvadratnega ali pravokotnega rastra z razmerjem širine in višine rastra, ki je zapisan v obliki npr. "4: 3".

Predstavitev barv v računalniški grafiki. Koncept barve temelji na zaznavanju elektromagnetnih valov v določenem frekvenčnem območju s človeškimi očmi. Dnevna svetloba, ki jo zaznavamo, ima valovne dolžine λ od 400 nm (vijolična) do 700 nm (rdeča). Opis svetlobnega toka je lahko njegova spektralna funkcija I (λ). Svetloba se imenuje monokromatska, če ima njen spekter samo eno določeno valovno dolžino.

Na mrežnici sta dve vrsti receptorjev: paličice in stožci. Spektralna občutljivost palic (slika 17.1.2) je neposredno sorazmerna s svetlostjo vpadne svetlobe. Stožci so razdeljeni na tri vrste, od katerih ima vsaka določeno občutljivost v omejenih območjih z maksimumi za rdečo, zeleno in modro barvo, v temi pa močno izgubijo občutljivost. Občutljivost očesa za modro je bistveno nižja kot za drugi dve. Pomembna lastnost človeškega zaznavanja svetlobe je linearnost, ko se kombinirajo barve z različnimi valovnimi dolžinami.

Barvni model RGB (Rdeča, zelena, modra - rdeča, zelena, modra) je v računalniški grafiki trenutno najpogostejša. V tem modelu je spektralna funkcija predstavljena kot vsota krivulj občutljivosti za vsak tip stožca z nenegativnimi utežni faktorji(normalizirane od 0 do 1), ki jih označujemo z R, G in B. Za model je značilna lastnost aditivnosti za pridobivanje novih barv. Na primer, kodiranje spektralnih funkcij:

Črna: fčrna = 0, (R, G, B) = (0,0,0);

Vijolična fvijolična = fred + fmodra, (R, G, B) = (1,0,1);

Bela f bela = fred + f zelena + f modra, (R, G, B) = (1,1,1).

Tridimenzionalni barvni prostor modela RGB je prikazan na sl. 17.1.3. Zaradi posebnosti zaznavanja svetlobe s strani receptorjev v tem modelu niso zastopane vse barve, ki so vidne človeku. Vendar je delež ponovljivih barv veliko večji od deleža, ki v tem modelu niso zastopani.

Barvni sistem CIE XYZ. Mednarodni standard za barvno predstavitev CIE (CIE - Commission Internationale de l "Eclairage)" je leta 1931 sprejela Mednarodna komisija za osvetlitev. Opredeljuje tri osnovne funkcije ρX (λ), ρY (λ), ρZ (λ), odvisno od katerih linearne kombinacije valovnih dolžin z nenegativnimi koeficienti (X, Y in Z) tvorijo vse človeku vidne barve. Te funkcije upoštevajo relativno zaznavanje intenzivnosti svetlobe s strani očesnih receptorjev. V tridimenzionalnem prostoru se Barvni sistem CIE tvori stožec v prvem kvadrantu in se uporablja za visokokakovosten prikaz barvnih slik.

17.2. Geometrijske transformacije bitnih slik

Področja in stopnje transformacije. Slike lahko razdelimo na teksturo in podrobnosti. V teksturnih slikah vsi vzorci (elementi) nosijo informacije (slika na TV zaslonu). Podrobna slika je slika, na kateri lahko označite moteče predmete, ozadje in uporabne predmete.

Obstajajo tri glavne skupine algoritmov za obdelavo slik na računalnikih:

1. Primarna (predhodna) obdelava slik za namen obnove, čiščenje pred naključnim šumom, izboljšanje kakovosti, popravljanje geometrijskih popačenj optičnih sistemov (defokusiranje, aberacije itd.).

2. Opis slik, prepoznavanje vzorcev. Izvaja se za določitev parametrov podrobnosti slike in vključuje: iskanje področij slike, ki so enakomerna glede na osvetlitev in barvo, poudarjanje oblik slike, določanje koordinat posebnih točk predmetov itd.

3. Učinkovito kodiranje za zmanjšanje obsega prenosa in shranjevanja.

Večina metod predprocesiranja temelji na uporabi filtrov z linearnim prostorsko invariantnim (LPI). Linearni algoritmi se izvajajo z uporabo dvodimenzionalnih analogov enodimenzionalnih FIR in IIR filtrov. Uporabljajo se lahko na primer pri implementaciji filtrov za zmanjšanje šuma na slikah.

FIR filtri se izvajajo po metodi konvolucije. Prednost 2D FIR filtrov je jasnost, preprostost in absolutna stabilnost. IIR filtri se izvajajo z uporabo diferencialnih enačb in z-transform. So hitrejši od filtrov FIR, vendar so lahko nestabilni. Sinteza dvodimenzionalnih IIR filtrov se razlikuje od sinteze enodimenzionalnih filtrov, saj za dvodimenzionalno funkcijo ni mogoče izbrati polov v eksplicitni obliki.

Za obnovitev slik in izboljšanje njihove kakovosti bodo morda potrebne tudi nelinearne metode. Tako je na primer za zatiranje šuma in hkrati ohranitev obrisnega dela slik potrebno uporabiti nelinearne ali linearne prostorsko neinvariantne (LPNI) filtre, ki jih izvajajo rank algoritmi. Vsi rangirani nelinearni filtri temeljijo na hitrih algoritmih za lokalno računanje histogrami.

Ena od teh metod je mediano filtriranje. Uporaba srednjih filtrov je učinkovita za zatiranje nekaterih vrst hrupa in občasnih motenj brez hkratnega popačenja signala, na primer za zatiranje izbruhov hrupa, vključno z izpadom linije. Metoda se lahko uporablja tudi za reševanje problemov, povezanih s prepoznavanjem, na primer za poudarjanje tankih črt in majhnih izoliranih predmetov.

Algoritmi za opisovanje slik in prepoznavanje vzorcev so običajno nelinearni in hevristični. Značilnosti predmetov so običajno površina slike predmeta, obod konture slike, razmerje med površino in kvadratom oboda slike. Obliko predmeta je mogoče označiti s polmerom kroga, ki je vpisan v sliko ali opisan okoli slike predmeta, dolžino najmanjšega in največjega polmernega vektorja od »težnega središča« slike.

Vzorčenje. Transformacije slik v računalniku in shranjevanje obdelanih podatkov se izvajajo v diskretni obliki. Vzorčenje se uporablja za pridobitev diskretne reprezentacije iz neprekinjenih analognih slik resničnega sveta. V praksi se izvaja z vhodnimi napravami (digitalna kamera, skener ali drugo). Za vizualno zaznavanje obdelanih slik na izhodnih napravah (zaslon, risalnik itd.) se analogna slika rekonstruira glede na njeno diskretizirano predstavitev.

V najpreprostejšem primeru črno-belih slik imamo dvodimenzionalni niz sa (x, y). Za barvne slike v modelu RGB, ob upoštevanju lastnosti aditivnosti pri dodajanju barv, lahko vsako plast R, G in B obravnavamo in obdelamo tudi kot dvodimenzionalni niz, z naknadnim seštevanjem rezultatov.

Od metod posploševanja enodimenzionalnega periodičnega vzorčenja na dvodimenzionalni primer je najenostavnejše periodično vzorčenje v pravokotnih koordinatah:

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

kjer sta Dx in Dy horizontalna in navpična intervala vzorčenja dvodimenzionalnega neprekinjenega signala sa (x, y) z neprekinjenimi koordinatama x in y. Pod vrednosti Dx in Dy, kot v enodimenzionalnem primeru, sta enaki 1.

Vzorčenje dvodimenzionalnega signala vodi tudi do periodizacije njegovega spektra in obratno. Pogoj informacijske enakovrednosti koordinatnih in frekvenčnih predstavitev diskretnega signala je ohranjen tudi z enakim številom vzorčnih točk v glavnih območjih signala. Za pravokotno vzorčenje sta neposredna in inverzna Fourierjeva transformacija določena z izrazi:

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ž. 17.2.1. Periodizacija spektra.

Ti izrazi kažejo, da je mogoče dvodimenzionalni DFT nad pravokotnim rastrom vzorčenja podatkov izračunati z uporabo enodimenzionalnih zaporednih DFT. Drugi vsoti izrazov (17.2.1 ") in (17.2.2") sta enodimenzionalni DFT odsekov funkcij s (n, m) in S (k, l) vzdolž črt n oz. , prvi pa so enodimenzionalni DFT izračunanih funkcij v odsekih po m in l. Z drugimi besedami, začetne matrike vrednosti s (n, m) in S (k, l) se najprej preračunajo v vmesne matrike z DFT po vrsticah (ali po stolpcih), vmesne matrike pa v končne matrike z DFT po stolpce (oz. po vrsticah).

Da periodično ponavljanje spektra (slika 17.2.1), ki ga povzroča vzorčenje analognega signala s frekvenco Fx = 1 / Dx in Fy = 1 / Dy, ne spremeni spektra v glavnem frekvenčnem območju (glede na spekter izvirnega analognega signala) je potrebno in zadostuje, da največje frekvenčne komponente fmax v spektru analognega signala, tako v vrsticah kot stolpcih, ne presegajo Nyquistove frekvence (fmax. x £ fN = Fx / 2, fmax y £ fM = Fy / 2). To pomeni, da mora biti frekvenca vzorčenja signala vsaj dvakrat večja od največje frekvenčne komponente v spektru signala:

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

ki zagotavlja, da spektralne funkcije dosežejo ničelne vrednosti na koncih glavnega območja spektra.

Interpolacijski niz rekonstrukcije dvodimenzionalnega signala. Če je neprekinjen signal sa (x, y) signal z omejenim spektrom in so obdobja vzorčenja izbrana dovolj majhna in se spektri sosednjih obdobij ne prekrivajo:

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

potem, tako kot v enodimenzionalnem primeru, lahko signal sa (x, y) rekonstruiramo iz diskretnega signala z uporabo dvodimenzionalnega analoga serije Kotelnikov-Shannon:

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

Frekvenčno popačenje slik in njihova odprava. Lahko se vzorči tudi signal neomejenega spektra, vendar v tem primeru pride do vzmetenja v sosednjih obdobjih, medtem ko bodo visoke frekvence, višje od Nyquistovih frekvenc, "zamaskirane", kot v enodimenzionalnem primeru, pod nizke frekvence glavno obdobje. Učinek "odboja" od meja obdobja daje še bolj kompleksno sliko zaradi interferenc frekvenc, ki se odražajo v različnih koordinatah. Podoben učinek, znan kot vzdevek, se bo pojavil tudi, če so slike premalo vzorčene. Ta učinek je še posebej jasno opazen pri ostrih kontrastnih spremembah svetlosti.

Za boj proti takšnim pojavom se uporablja predfiltriranje (antialiasing) - predhodna konvolucija analogne slike s funkcijo uteženja filtra, ki odreže visokofrekvenčne komponente, ki lahko vodijo do vzmetenja. V dvodimenzionalnem primeru je filtriranje opisano na naslednji način:

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

Treba je opozoriti, da analogne slike obstajajo samo v optičnem območju, na primer v obliki svetlobnega prikaza na zaslonu, fotografskem papirju ali fotografskem filmu, ne morejo pa obstajati v računalniškem spominu. Zato je fizična izvedba predfiltriranja možna le pri registraciji slike z razostritvijo, ki se praviloma ne uporablja. Primarne informacije je treba vedno beležiti z največjo popolnostjo in natančnostjo, čiščenje primarnih informacij od nepotrebnih podrobnosti in redundance pa je stvar naknadne obdelave podatkov. Zato je v zvezi z enačbo 17.2.5 lahko dvodimenzionalno predfiltriranje v svoji praktični izvedbi filtriranje slik, vzorčenih z veliko mejo v glavnem frekvenčnem območju (s preveliko ločljivostjo), in se praviloma uporablja pri prevelikem vzorčenju na večji korak, na primer pri stiskanju slik. Predfiltriranje je mogoče vgraditi tudi v slikovne algoritme.

Na sl. 3 in spodaj, v tabeli 17.2.1 so prikazani primeri najpogostejših enodimenzionalnih filtrov proti zglajenju. Izvajajo se lahko v obliki analognih filtrov in se lahko uporabljajo na primer pri prenosu televizijskih linij slik v analogni obliki po radijskih kanalih (horizontalni antialiasing). Načeloma lahko podobno operacijo izvedemo na stolpcih (double - image), po seštevanju slike pa se izvede celotna operacija anti-aliasinga, vendar ta metoda sodi bolj v področje posebnih znanstvenih raziskav.

Tabela 17.2.1.

Osnovne funkcije teže

Časovno okno

Funkcija teže

Fourierjeva transformacija

naravno (P)

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

P (w) = 2t sink

Bartlett (D)

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

Henninga, Ganna

p (t) = 0,5

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

Hamming

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

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

Carre (2. okno)

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

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

Laplace-Gauss

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

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

Dvodimenzionalni analogi enodimenzionalnih filtrov f1 (x) so konstruirani v dveh variantah simetrije: ali kot funkcija polmera:

f2 (x, y) = f1 (),

ali kot delo:

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

Prva možnost je pravilnejša, druga pa ima lastnost ločljivosti, to pomeni, da lahko dvodimenzionalno konvolucijo izvedemo z dvema enodimenzionalnima zvitkoma zaporedno vzdolž vrstic s f1 (x) in vzdolž stolpcev s f1 (y).

Ponovno vzorčenje slike ali ponovno vzorčenje je sprememba hitrosti vzorčenja digitalnega signala. Za digitalne slike to pomeni spreminjanje velikosti slike.

Obstajajo različni algoritmi za ponovno vzorčenje slik. Na primer, če želite sliko povečati za 2-krat z uporabo metode bilinearne interpolacije, se vmesni stolpci in vrstice dobijo z linearno interpolacijo vrednosti sosednjih stolpcev in vrstic. Vsako točko nove slike lahko dobimo kot tehtano vsoto večjega števila točk v izvirni sliki (bikubična in druge vrste interpolacije). Najvišjo kakovost vzorčenja dosežemo z uporabo algoritmov, ki upoštevajo ne le časovno, ampak tudi frekvenčno domeno signala.

Razmislite o algoritmu za ponovno vzorčenje z največjim ohranjanjem informacij o frekvenci slike. Upoštevali bomo delovanje algoritma na enodimenzionalnih signalih, saj lahko dvodimenzionalno sliko najprej raztegnemo ali stisnemo vodoravno (po vrsticah) in nato navpično (s stolpci), ponovno vzorčenje dvodimenzionalne slike pa je mogoče zmanjšano na ponovno vzorčenje enodimenzionalnih signalov.

Recimo, da imamo enodimenzionalni signal (slika 17.2.4), nastavljen na interval 0-T in vzorčen s korakom Dt = 1 (N intervalov). Signal je treba "raztegniti" m-krat. Signalni spekter, prikazan na sliki, je izračunan s hitro Fourierjevo transformacijo (FFT, število vzorcev spektra je enako številu vzorcev signala) in je podan v glavnem območju FFT (0-2p, Nyquistova frekvenca wN = p / Dt = p ali 0,5N glede na oštevilčenje vzorcev spektra s korakom vzdolž spektra Df = 1 / T ali Dw = 2p / T). Obstajata 2 koraka za izvajanje raztezanja.

Prvi korak je interpolacija z ničlami, ki poveča dolžino signala za faktor m. (slika 17.2.5). Vse vzorce prvotnega signala je treba pomnožiti z m, nato pa po vsakem vzorcu signala vstaviti m-1 ničelno vrednost. Na intervalu 0-T, katerega vrednost ostane nespremenjena, se zdaj nahaja m-krat več intervalov vzorčenja (mN), nov korak vzorčenja pa bo enak Dx = Dt / m. V skladu s tem je nova Nyquistova frekvenca za ta signal mp / Dt = mp. Toda fizična velikost koraka spektra v frekvenčnih enotah je inverzna glede na fizično vrednost intervala nastavitve signala (Df = 1 / T), zato bo FFT iz mN točk signala izračunal mN točk spektra v glavni razpon FFT 0-2pm s korakom spektra izvirnega signala, v katerem bodo prisotna m-obdobja spektra izvirnega signala (ena glavna in m-1 stranska).

Drugi korak je filtriranje stranskih pasov spektra z uporabo nizkoprepustnega filtra, bodisi v časovni ali v spektralni domeni. Na sl. 17.2.6 je bil spekter počiščen in izvedena je bila inverzna Fourierjeva transformacija, zaradi česar je bil pridobljen signal m-krat daljši od prvotnega s popolno ohranitvijo vseh frekvenčnih informacij.

Po podobnem principu je mogoče izdelati algoritem za stiskanje (zmanjševanje) signala za n-krat, pri čemer je vrstni red korakov obrnjen. Ko je signal stisnjen, se stopnja vzorčenja signala poveča in s tem se zmanjša Nyquistova frekvenca, medtem ko se odrezane visoke frekvence (šum in nepomembni visokofrekvenčni deli spektra signala) odbijejo od meje glavne obseg in dodane glavnim informacijam, kar ustvarja popačenje. Za odpravo tega pojava se signal najprej filtrira nizkoprepustno z mejno frekvenco, ki je enaka novi Nyquistovi frekvenci (antialiasing), in šele nato se signal zdesetka z decimacijo.

Pri ponovnem vzorčenju samo v časovni domeni se algoritma raztezanja in stiskanja praviloma združita v en sam zaporedni proces z določitvijo spremembe koraka vzorčenja v obliki razmerja m / n, ki omogoča nastavitev celega števila vrednosti m in n pri delnih vrednostih spremembe v koraku vzorčenja. To močno poenostavi algoritme ter poveča učinkovitost in kakovost njihovega dela. Na primer, ko se signal raztegne 1,5-krat pri m / n = 3/2, se signal najprej raztegne 3-krat (enostavno in enakomerno dodajanje ničle vsem vzorcem, nato se izvede nizkoprepustno filtriranje, po katerem se signal dvakrat zdesetkano. Filter proti zmanjševanju ni potreben, saj je njegova mejna frekvenca pokrita s frekvenco prvega nizkoprepustnega filtra. Pri obratnem kompresiji (na primer m / n = 2/3) se samo filter proti zglajenju se uporablja na enak način.

17.3. filtriranje slik

Filtriranje slik je operacija, ki povzroči sliko enake velikosti, pridobljeno iz izvirne po določenih pravilih. Običajno je intenzivnost (barva) vsake slikovne pike nastale slike določena z intenzivnostjo (barvami) slikovnih pik, ki se nahajajo v njeni bližini v izvirni sliki.

Pravila filtriranja so lahko zelo različna. Filtriranje slik je ena najbolj temeljnih operacij računalniškega vida, prepoznavanja vzorcev in obdelave slik. Delo velike večine metod obdelave slik se začne z enim ali drugim filtriranjem izvornih slik.

Linijski filtri imajo zelo preprost matematični opis. Predvidevamo, da je podana izvirna sivina slika A, in označimo intenzitete njenih slikovnih pik A (x, y). Linearni filter je definiran s funkcijo h z realno vrednostjo (jedro filtra), definirano na rastru. Samo filtriranje se izvede z operacijo diskretne konvolucije (uteženo seštevanje):

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

Rezultat je slika B. Običajno je jedro filtra drugačen od nič le v neki soseščini N točke (0, 0). Zunaj te soseske je h (i, j) enak nič ali zelo blizu nje in ga je mogoče zanemariti. Seštevanje se izvede nad (i, j) Î N, vrednost vsake slikovne pike B (x, y) pa je določena s slikovnimi pikami A, ki ležijo v oknu N, s središčem v točki (x, y). ) (oznaka - množica N (x, y) ). Filtrirno jedro, definirano v pravokotni soseski N, lahko gledamo kot matriko m-by-n, kjer so dolžine strani lihe številke. Ko določate jedro kot matriko, ga je treba centrirati. Če je piksel (x, y) v bližini robov slike, potem koordinate A (x-i, y-j) za določene (i, j) lahko ustrezajo neobstoječim slikovnim pikam A zunaj slike. Ta problem je mogoče rešiti na več načinov.

Teh slikovnih pik ne filtrirajte tako, da obrežete sliko B na robovih ali uporabite izvirne vrednosti slike A za njihove vrednosti.

Manjkajočega slikovnega pika ne vključite v seštevanje tako, da enakomerno porazdelite njegovo težo h (i, j) med druge slikovne pike v soseščini N (x, y).

Ponovno definirajte vrednosti slikovnih pik zunaj meja slike z uporabo ekstrapolacije.

Ponovno definirajte vrednosti slikovnih pik zunaj meja slike z uporabo nadaljevanja zrcalne slike.

Izbira metode se izvede ob upoštevanju posebnih filtrov in značilnosti slike.

Filtri za glajenje. Najenostavnejši pravokotni gladilni filter polmera r je določen z matriko velikosti (2r + 1) × (2r + 1), katere vse vrednosti so enake 1 / (2r + 1) 2, in vsota vrednosti je enaka ena. Je dvodimenzionalni analog nizkofrekvenčnega enodimenzionalnega drsečega povprečja filtra v obliki črke U. Pri filtriranju s takšnim jedrom se vrednost slikovnih pik nadomesti s povprečno vrednostjo slikovnih pik v kvadratu s stranico 2r + 1 okoli njega. Primer filtrske maske 3 × 3:

.

Ena od aplikacij filtrov je zmanjšanje hrupa. Šum se razlikuje od slikovne pike do slikovne pike in pod pogojem, da je matematično pričakovanje vrednosti šuma enako nič, se bo šum sosednjih slikovnih pik med seštevanjem izničil. Večje kot je okno filtriranja, manjša bo povprečna intenzivnost šuma, vendar bo to povzročilo tudi ustrezno zamegljenost pomembnih podrobnosti slike. Slika bele točke na črnem ozadju med filtracijo (reakcija na en sam impulz) bo enakomerno siv kvadrat.

Zmanjševanje hrupa s pravokotnim filtrom ima pomembno pomanjkljivost: vse slikovne pike v filtrski maski na kateri koli razdalji od obdelane imajo enak učinek na rezultat. Nekoliko boljši rezultat je dosežen pri spreminjanju filtra s povečanjem teže središčne točke:

.

Učinkovitejše zmanjšanje šuma je mogoče izvesti, če se učinek slikovnih pik na rezultat zmanjšuje z naraščajočo oddaljenostjo od predmeta, ki se obdeluje. To lastnost ima Gaussov filter z jedrom: h (i, j) = (1 / 2ps2) exp (- (i2 + j2) / 2s2). Gaussov filter ima neničelno jedro neskončne velikosti. Vendar se vrednost filtrskega jedra zelo hitro zmanjša na n), zato se lahko v praksi omejimo na konvolucijo z majhnim oknom okoli (0, 0), na primer, pri čemer je polmer okna enak 3σ.

Gaussovo filtriranje je tudi anti-aliasing. Vendar bo za razliko od pravokotnega filtra slika točke z Gaussovim filtriranjem simetrična zamegljena točka z zmanjšanjem svetlosti od sredine do robov. Stopnjo zamegljenosti slik določa parameter σ.

Filtri za povečanje kontrasta ... Medtem ko filtri proti zmanjševanju zmanjšajo lokalni kontrast slike z zameglitvijo, filtri za izboljšanje kontrasta povzročijo nasproten učinek in so v bistvu filtri visoke prostorske frekvence. Jedro filtra za izboljšanje kontrasta na točki (0, 0) ima vrednost večjo od 1, s skupno vsoto vrednosti, ki je enaka 1. Filtri za izboljšanje kontrasta so na primer filtri z jedrom, določenim z matrikami :

. .

Primer uporabe filtra je prikazan na sl. 17.3.1. Učinek povečanja kontrasta je dosežen zaradi dejstva, da filter poudari razliko med intenzivnostjo sosednjih slikovnih pik in odstrani te intenzivnosti drug od drugega. Ta učinek bo močnejši, čim večja je vrednost osrednjega člena jedra. Značilen artefakt filtriranja z linearnim kontrastom so opazni svetli in manj opazni temni haloji okoli robov.

Filtri za razliko Ali so linearni filtri podani z diskretnimi približki diferencial operaterji (po metodi končnih razlik). Ti filtri igrajo bistveno vlogo v številnih aplikacijah, na primer pri nalogah iskanja meja na sliki.

Najpreprostejši diferencialni operater je izvod glede na x-koordinato d/dx, ki je definirana za zvezne funkcije. Pogoste različice podobnih operaterjev za diskretne slike so filtra Prewitt in Sobel:

. .

Filtre, ki približujejo operaterju izpeljanke glede na y-koordinato d/dy, dobimo s transponiranjem matrik.

Najenostavnejši algoritem za izračun norme gradienta iz treh sosednjih točk:

G (x, y) = .

Uporablja se tudi poenostavljena formula za izračun:

Izračun norme gradienta iz štirih sosednjih točk (Robertsov operater):

Sobelov algoritem uporablja osem odčitkov svetilnosti v bližini osrednje točke:

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

Gxx, y = -,

Gyx, y = -.

Poleg natančnejšega določanja norme gradienta Sobelov algoritem omogoča tudi določanje smeri vektorja gradienta v ravnini analize slike v obliki kota j med vektorjem gradienta in smerjo matričnih vrstic:

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

V nasprotju s filtri proti zmanjševanju in kontrastu, ki ne spreminjajo povprečne intenzivnosti slike, se zaradi uporabe operatorjev razlike praviloma dobi slika s povprečno vrednostjo slikovnih pik blizu nič. Navpični robovi (meje) izvirne slike ustrezajo slikovnim pikam z velikimi absolutnimi vrednostmi v nastali sliki. Zato se delta filtri imenujejo tudi filtri za izbiro meja.

Podobno kot pri zgornjih filtrih lahko z uporabo metode končne razlike sestavite filtre za druge diferencialne operaterje. Zlasti Laplaceov diferencialni operator (Laplacian) D = 𝝏2 / 𝝏x2 + 2 / y2, ki je pomemben za številne aplikacije, je mogoče približati za diskretne slike s filtrom z matriko (ena od možnosti):

.

Kot je razvidno iz sl. 17.3.2, kot rezultat uporabe diskretnega Laplaciana, velike absolutne vrednosti ustrezajo tako vertikalnim kot horizontalnim razlikam v svetlosti. Filter je torej filter, ki najde meje katere koli orientacije. Iskanje meja na sliki lahko izvedete tako, da uporabite ta filter in vzamete vse slikovne pike, katerih velikost presega določen prag.

Vendar ima ta algoritem pomembne pomanjkljivosti. Glavna je negotovost pri izbiri mejne vrednosti. Za različne dele slike se običajno dobi sprejemljiv rezultat pri bistveno različnih mejnih vrednostih. Poleg tega so diferenčni filtri zelo občutljivi na šum slike.

Dvodimenzionalna ciklična konvolucija. Kar zadeva enodimenzionalne signale, lahko dvodimenzionalno konvolucijo izvedemo v domeni prostorskih frekvenc z uporabo hitrih algoritmov Fourierjeve transformacije in množenjem dvodimenzionalnih spektrov slike in jedra filtra. Prav tako je cikličen in se običajno izvaja v drsni različici. Ob upoštevanju cikličnosti se za izračun konstantnega vzorca spektra jedra dimenzije maske filtra jedra podvojijo vzdolž osi in obrobijo z ničlami, enake velikosti maske pa se uporabijo za izbiro okna, ki drsi čez sliko, znotraj pri katerem se izvede FFT. Izvedba FIR filtra s FFT je še posebej učinkovita, če ima filter veliko referenčno območje.

Nelinearni filtri ... Pri digitalni obdelavi slik se nelinearni algoritmi, ki temeljijo na statistiki ranga, pogosto uporabljajo za obnovitev slik, poškodovanih zaradi različnih modelov šuma. Omogočajo vam, da se izognete dodatnemu popačenju slike pri odstranjevanju šuma, pa tudi bistveno izboljšajo rezultate filtrov na slikah z visoko stopnjo šuma.

Uvedemo pojem M-soseščine slikovnega elementa A (x, y), ki je osrednji za to sosesko. V najpreprostejšem primeru soseska M vsebuje N-pikslov - točke, ki spadajo v filtrsko masko, vključno z (ali ne) osrednjo. Vrednosti teh N-elementov je mogoče razporediti v variacijska serija V (r), razvrščena v naraščajočem (ali padajočem) vrstnem redu, in izračunajte določene trenutke te serije, na primer povprečno vrednost svetlosti mN in variance dN. Izračun izhodne vrednosti filtra, ki nadomešča osrednji vzorec, se izvede po formuli:

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

Vrednost koeficienta a = je povezana z določenim razmerjem s statistiko štetja v oknu filtra, na primer:

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

kjer je dS varianca hrupa na sliki kot celoti ali v S-soseščini za S> M in MÎS, k je konstanta zaupanja variance S-sosesk. Kot izhaja iz te formule, za k = 1 in dN "dS, a" 0,5, vrednost B (x, y) = (A (x, y) + mN) / 2, torej sešteje enako iz vrednosti osrednje reference in povprečne vrednosti slikovnih pik njegove soseščine M. S povečanjem vrednosti dN se prispevek vrednosti osrednje referenčne vrednosti k rezultatu poveča, z zmanjšanjem pa vrednost mN. Težo prispevka povprečnih vrednosti nad M-soseščino lahko spremenimo z vrednostjo koeficienta k.

Izbira statistične funkcije in narava odvisnosti koeficienta a od nje je lahko precej raznolika (na primer glede na variance razlik v vzorcih v M-soseščini s centralnim vzorcem) in je odvisna od obeh o velikosti odprtine filtra ter o naravi slik in šuma. V bistvu bi morala vrednost koeficienta a določati stopnjo poškodbe osrednje reference in s tem funkcijo izposoje vzorcev iz soseščine M za njeno popravljanje.

Najbolj preprosti in pogosti tipi nelinearnih filtrov za obdelavo slik so pragovi in ​​mediani filtri.

Filtriranje pragov je na primer nastavljen na naslednji način:

B (x, y) =

Količina str je prag filtracije. Če vrednost središčne točke filtra za vrednost praga presega povprečno vrednost vzorcev mN v njegovi soseščini M, se nadomesti s povprečno vrednostjo. Mejna vrednost je lahko konstantna ali funkcionalno odvisna od vrednosti središčne točke.

Mediano filtriranje je opredeljen kot sledi:

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

to pomeni, da je rezultat filtriranja srednja vrednost slikovnih pik soseske, katere obliko določa maska ​​filtra. Mediano filtriranje lahko učinkovito odstrani šum iz slike, ki neodvisno vpliva na posamezne slikovne pike. Takšni šumi so na primer "pokvarjene" slikovne pike v digitalni fotografiji, "snežni" šum, ko se nekatere slikovne pike nadomestijo s slikovnimi pikami z največjo intenzivnostjo, itd. Prednost medianega filtriranja je, da je "vroča" slikovna pika na temnem ozadju. bo zamenjana temna, in ne "zamazana" v bližini.

Mediano filtriranje ima izrazito selektivnost glede na elemente niza, ki so nemonotona komponenta zaporedja številk znotraj odprtine filtra. Hkrati mediani filter pusti monotono komponento zaporedja nespremenjeno. Zaradi te lastnosti mediani filtri z optimalno izbrano zaslonko ohranjajo ostre robove predmetov brez popačenja, zatirajo nekoreliran ali slabo koreliran šum in majhne podrobnosti.

Ekstremni filtri določajo pravila:

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

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

to pomeni, da je rezultat filtra najmanjša in največja vrednost slikovnih pik v maski filtra. Takšni filtri se praviloma uporabljajo za binarne slike.

17.4. STISANJE SLIKE

Tipična slika z ločljivostjo reda 3000 × 2000 pri 24 bitov na slikovno piko za barvno reprodukcijo je 17 megabajtov. Pri profesionalnih napravah je lahko velikost nastalega slikovnega rastera veliko večja, barvna globina je do 48 bitov na slikovno piko, velikost ene slike pa je lahko več kot 200 megabajtov. Zato so algoritmi za stiskanje slike zelo pomembni za zmanjšanje količine podatkov, ki predstavljajo sliko.

Obstajata dva glavna razreda algoritmov:

1. Stiskanje brez izgub, če obstaja inverzni algoritem A-1, tako da imamo za katero koli h-sliko A [h] = h1 A-1 = h. Pri tem se uporablja stiskanje brez izgub grafični formati predstavitve slik, kot so: GIF, PCX, PNG, TGA, TIFF, in se uporablja pri obdelavi posebno dragocenih primarnih informacij (medicinske slike, zračne in vesoljske slike itd.), kadar je tudi najmanjše popačenje nezaželeno

2. Stiskanje z izgubo (stiskanje z izgubo), če ne zagotavlja možnosti natančne obnovitve izvirne slike. Algoritem za približno obnovo slike, seznanjen z A, bo označen kot A *. Par (A, A *) je izbran tako, da zagotavlja visoko kompresijsko razmerje ob ohranjanju vizualne kakovosti. Stiskanje z izgubo se uporablja v grafičnih formatih: JPEG, JPEG2000 itd.

Vsi algoritmi in izjave se nanašajo tako na slike kot na poljubna zaporedja, katerih elementi imajo lahko končno število vrednosti. Upoštevati je treba, da ni idealnih algoritmov, ki bi brez izgube stiskali kateri koli niz podatkov.

Algoritmi kodiranja dolžine ponovitve (RLE). temeljijo na preprostem načelu: zamenjava ponavljajočih se skupin elementov prvotnega zaporedja s parom (količina, element) ali samo s količino.

Bitna raven. Izvirne podatke bomo obravnavali na ravni zaporedja bitov, na primer, ki predstavljajo črno-belo sliko. Običajno je v vrsti več 0 ali 1 in lahko kodirate število zaporednih enakih števk. Toda število ponovitev mora biti tudi kodirano v bitih. Predvidevamo lahko, da se vsako število ponovitev spreminja od 0 do 7 (3-bitna koda), pri čemer se izmenjuje zaporedje kod enic in nič. Na primer, zaporedje lahko primerjamo s številkami 7 0 4, torej 7 enic, 0 ničel, 4 enice, in imamo Novo leto- Daljša kot je dolžina zaporedij istih bitov, večji je učinek. Torej, zaporedje 21 enic, 21 ničel, 3 enic in 7 ničel je kodirano na naslednji način: t.j. iz izvirnega zaporedja z dolžino 51 bitov imamo zaporedje z dolžino 36 bitov.

Raven bajtov. Recimo, da je na vhod podana slika sivine, kjer je 1 bajt dodeljen vrednosti intenzivnosti slikovnih pik, medtem ko se pričakovanje dolgega niza enakih bitov znatno zmanjša.

Vhodni tok bomo razdelili na bajte (koda od 0 do 255) in kodirali ponavljajoče se bajte v parih (številka, črka). En bajt lahko pustite nespremenjen. Tako so bajti AABBBCDAA kodirani (2A) (3B) (C) (D) (2A).

Vendar se spremembe tega algoritma redko uporabljajo same (na primer v formatu PCX), saj je podrazred zaporedij, na katerih je algoritem učinkovit, razmeroma ozek. Najpogosteje se uporabljajo kot ena od stopenj kompresijskega cevovoda.

Slovarski algoritmi namesto kodiranja samo enega elementa vhodnega zaporedja se kodira veriga elementov. V tem primeru se za kodiranje novih uporablja slovar nizov (ustvarjen iz vhodnega zaporedja).

Algoritem LZ77 je bil eden prvih, ki je uporabil slovar. Zadnjih N že kodiranih elementov zaporedja se uporablja kot slovar. Med postopkom stiskanja slovar podzaporedja "drsi" po dohodnem zaporedju. Veriga elementov na izhodu je kodirana na naslednji način: položaj ujemajočega se dela obdelane verige elementov v slovarju - odmik (glede na trenutni položaj), dolžina, prvi element, ki sledi ujemajočemu delu verige. Dolžina verige vžigalic je od zgoraj omejena s številom n. V skladu s tem je naloga najti največji niz iz slovarja, ki se ujema z zaporedjem, ki se obdeluje. Če ni ujemanja, se zabeležijo ničelni odmik, ena dolžina in prvi element nekodiranega zaporedja.

Zgoraj opisana shema kodiranja vodi do koncepta drsnega okna, ki je sestavljeno iz dveh delov:

Podzaporedje že kodiranih elementov dolžine N-slovar - pufer iskanje (iskalni pomnilnik);

Podzaporedje dolžine n iz verige elementov, za katere se bo poskušalo najti ujemanje, je predpomnilnik za naprej.

Dekodiranje stisnjenega zaporedja je dešifriranje posnetih kod: vsak vnos se ujema z nizom iz slovarja in izrecno zapisanim elementom, po katerem se slovar premakne. Slovar se ponovno ustvari med izvajanjem algoritma za dekodiranje.

Ta algoritem je prednik cele družine algoritmov. Njegove prednosti vključujejo dostojno razmerje stiskanja pri dokaj velikih sekvencah in hitro dekompresijo. Slabosti vključujejo počasna hitrost stiskanje in nižje kot pri alternativnih algoritmih, razmerje stiskanja.

LZW algoritem. Slovar v tem algoritmu je tabela, ki je med izvajanjem algoritma napolnjena z nizi elementov. Postopek stiskanja išče najdaljšo verigo, ki je že zapisana v slovarju. Vsakič, ko v slovarju ni mogoče najti novega niza elementov, se ta doda v slovar in napiše koda niza. V teoriji ni omejitev glede velikosti tabele, vendar omejitev velikosti omogoča izboljšanje razmerja stiskanja, saj se kopičijo nepotrebne (ne pojavljajo se) verige. Več vnosov ima tabela, več informacij je treba dodeliti za shranjevanje kod.

Dekodiranje je sestavljeno iz neposrednega dekodiranja kod, torej v izdelavi slovarja in izhodu ustreznih nizov. Slovar je inicializiran na enak način kot v kodirniku. Prednosti algoritma vključujejo visoko kompresijsko razmerje in dokaj visoko hitrost stiskanja in dekodiranja.

Algoritmi entropijskega kodiranja vsakemu elementu zaporedja vnesite kodo, tako da njena dolžina ustreza verjetnosti pojava elementa. Stiskanje se zgodi z zamenjavo elementov izvirnega zaporedja, ki imajo enako dolžino (vsak element ima enako število bitov) z elementi različnih dolžin, sorazmernimi z negativnim logaritmom verjetnosti, tj. elementi, ki so pogostejši od ostalih, imajo krajša dolžina kode.

Huffmanov algoritem uporablja predpono s spremenljivo dolžino s posebno lastnostjo: krajše kode se ne ujemajo s predpono (začetnim delom) daljših. Ta koda omogoča kodiranje ena proti ena. Postopek stiskanja je sestavljen iz zamenjave vsakega elementa vhodnega zaporedja s svojo kodo. Konstrukcija niza kod se običajno izvaja s pomočjo t.i kodna drevesa.

Huffmanov algoritem je dvohoden. Prvi prehod čez sliko ustvari tabelo uteži elementov, med drugim pa pride do kodiranja. Obstajajo izvedbe algoritma fiksne tabele. Pogosto se zgodi, da je predhodna verjetnostna porazdelitev elementov abeceda neznano, saj celotno zaporedje ni na voljo naenkrat in se uporabljajo prilagodljive modifikacije Huffmannovega algoritma.

Kompresija slike z izgubo. Količina informacij, potrebnih za shranjevanje slik, je običajno velika. Klasični algoritmi, ki so algoritmi splošnega namena, ne upoštevajo, da je stisnjena informacija slika - dvodimenzionalni objekt in ne zagotavljajo zadostnega razmerja stiskanja.

Stiskanje z izgubo temelji na posebnostih človeškega zaznavanja slike: najvišja občutljivost v določenem območju barvnih valovnih dolžin, sposobnost zaznavanja slike kot celote, ne da bi opazili majhna popačenja. Glavni razred slik, na katerega so osredotočeni algoritmi stiskanja z izgubo, so fotografije, slike z gladkimi barvnimi prehodi.

Ocena izgube slike. Obstaja veliko ukrepov za ocenjevanje izgube slik po njihovi obnovi (dekodiranju) iz stisnjenih, vendar je za vse mogoče izbrati dve sliki, tako da bo njuna mera razlike dovolj velika, razlike pa bodo skoraj neopazne. na oko. In obratno – poberete lahko slike, ki so na očeh zelo različne, vendar imajo majhno razliko.

Standardno številčno merilo izgube je običajno standardni odklon (RMS) vrednosti slikovnih pik rekonstruirane slike od izvirne. Vendar pa je najpomembnejši »ukrep« za oceno izgub mnenje opazovalca. Manj razlik (ali bolje, njihove odsotnosti) opazovalec zazna, višja je kakovost kompresijskega algoritma. Algoritmi stiskanja z izgubo pogosto dajejo uporabniku možnost izbire količine »izgubljenih« podatkov, torej pravico izbire med kakovostjo in velikostjo stisnjene slike. Seveda je boljši kot je vizualna kakovost z višjim razmerjem stiskanja, boljši je algoritem.

Fourierjeva transformacija. Na splošno lahko sliko obravnavamo kot funkcijo dveh spremenljivk, definiranih na točkah končnega rastra. Nabor takšnih funkcij v točkah fiksnega končnega rastra tvori končnodimenzionalni evklidski prostor in zanje lahko uporabimo diskretno Fourierjevo transformacijo, to je spektralna predstavitev slike. Zagotavlja:

Nekorelacija in neodvisnost koeficientov spektra, torej natančnost prikaza enega koeficienta, ni odvisna od nobenega drugega.

- Energetsko zbijanje. Transformacija hrani osnovne informacije v majhnem številu koeficientov. Ta lastnost je najbolj izrazita pri fotorealističnih slikah.

Koeficienti spektralne predstavitve so amplitude prostorskih frekvenc slike. Pri slikah z gladkimi prehodi je večina informacij v nizkofrekvenčnem spektru.

Algoritem stiskanja, ki se uporablja v formatu JPEG, temelji na uporabi diskretne kosinusne Fourierjeve transformacije. Shema stiskanja v algoritmu je cevovod, kjer je ta transformacija le ena od stopenj, vendar ena glavnih. Algoritem vsebuje naslednje osnovne operacije:

1. Prevod v barvni prostor YCbCr. Tukaj je Y komponenta svetilnosti, Cb in Cr sta komponenti kromatičnosti. Človeško oko je bolj občutljivo na svetlost kot na barvo. Zato je bolj pomembno ohraniti večjo natančnost pri prenosu Y kot pri prenosu Cb in Cr.

2. Diskretna kosinusna transformacija (DCT). Slika je razdeljena na bloke 8 × 8. Za vsak blok se uporabi diskretna kosinusna transformacija (ločeno za komponente Y, Cb in Cr).

3. Zmanjšanje visokofrekvenčnih komponent v DCT matrikah. Človeško oko praktično ne opazi sprememb v visokofrekvenčnih komponentah, zato je mogoče koeficiente, odgovorne za visoke frekvence, shraniti z manj natančnostjo.

4. Cikcak razvrščanje matrik. To je poseben matrični prehod za pridobitev enodimenzionalnega zaporedja. Najprej pride element T00, nato T01, T10, T1. Poleg tega bodo za tipične fotorealistične slike najprej izginili neničelni koeficienti, ki ustrezajo nizkofrekvenčnim komponentam, nato pa - številne ničle (visokofrekvenčne komponente).

5. Stiskanje najprej po metodi RLE, nato pa po Huffmanovi metodi.

Algoritem za obnovitev slike deluje v obratnem vrstnem redu. Kompresijsko razmerje od 5 do 100 ali večkrat. Hkrati vizualna kakovost večine fotorealističnih slik ostane na dobri ravni, ko jih stisnete do 15-krat. Algoritem in format sta najpogostejša za prenos in shranjevanje polnobarvnih slik.

Wavelet transformacija signali je posplošitev klasične Fourierjeve transformacije. Izraz "wavelet" v prevodu iz angleščine pomeni "majhen (kratek) val". Waveleti so posplošeno ime za družine matematičnih funkcij določene oblike, ki so lokalne po času in frekvenci in v katerih so vse funkcije pridobljene iz ene osnovne s pomočjo njenih premikov in raztezanja vzdolž časovne osi.

V algoritmih stiskanja z izgubo se praviloma ohranijo vse operacije kompresijskega cevovoda, pri čemer se diskretna Fourierjeva transformacija nadomesti z diskretno valovno transformacijo. Wavelet transformacije imajo zelo dobro frekvenčno-prostorsko lokalizacijo in so v tem indikatorju boljše od tradicionalnih Fourierovih transformacij. To omogoča uporabo močnejše kvantizacije in izboljša lastnosti zaporedja za kasnejšo stiskanje. Algoritmi za stiskanje slike, ki temeljijo na tej transformaciji, z enakim razmerjem stiskanja kažejo boljše rezultate pri ohranjanju kakovosti slike.

literatura

46. ​​et al Hitri algoritmi pri obdelavi digitalne slike. - M .: Radio in komunikacija, 1984 .-- 224 str.

47. Soifer obdelava slik. 2. del. Metode in algoritmi. - Sorosov izobraževalni časopis št. 3, 1996.

48., Hrup hrustanca iz slik, ki temeljijo na nelinearnih algoritmih z uporabo statistike rangiranja. - Jaroslavska državna univerza, 2007.

49. Andreev televizijski nadzorni sistemi. Del II. Aritmetika - logični temelji in algoritmi. Vadnica. - SPb: SPb, GUITMO, 2005 .-- 88 str.

51. Uvod v digitalno obdelavo signalov (Matematične osnove) .- M .: Moskovska državna univerza, Laboratorij za računalniško grafiko in multimedijo, 2002. - http: // pv. ***** / dsp / dsp tečaj. pdf, http://dsp-book. ***** / dsptečaj. djvu, http: // geogin. ***** / arhiv / dsp / dsp4.pdf.

1i. in drugi Algoritemske osnove rastrska grafika... - Internetna univerza informacijske tehnologije... - http: // www. ***** / goto / course / rastrgraph /

2i. Lukin - elektronski sistemi: Zapisi predavanj. ITMO, 2004. - Sankt Peterburg, ITMO IFF, 2004. - http: // iff. ***** / kons / oes / KL. htm

O opaženih napakah in predlogih za dodatke: ***** @ *** ru.

avtorske pravice© 2008DavidovA.V.



Povezani članki: