Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Televizori (Smart TV)
  • Zadatak 2 prepoznavanje slika bioloških objekata. Obrada i prepoznavanje slike (predavanje, L.M

Zadatak 2 prepoznavanje slika bioloških objekata. Obrada i prepoznavanje slike (predavanje, L.M

  • Tutorial

Odavno sam želio napisati opći članak koji će sadržavati same osnove prepoznavanja slika, vodič kroz osnovne metode, koji govori kada ih primijeniti, koje zadatke rješavaju, šta se može raditi uveče na koljenima, a šta je bolje ne za razmišljanje bez tima ljudi u 20.

Već duže vrijeme pišem neke članke o optičkom prepoznavanju, pa mi par puta mjesečno pišu razni ljudi sa pitanjima na ovu temu. Ponekad imate osjećaj da živite s njima u različitim svjetovima. S jedne strane, razumijete da je osoba najvjerovatnije profesionalac u srodnoj temi, ali zna vrlo malo o metodama optičkog prepoznavanja. A najvrednije je to što pokušava primijeniti metodu iz obližnjeg područja znanja, što je logično, ali ne radi u potpunosti u prepoznavanju slika, ali to ne razumije i jako se uvrijedi ako počne nešto pričati od samih osnova. A s obzirom na to da pričanje iz osnova oduzima puno vremena, što često nije, postaje još tužnije.

Ovaj članak je zamišljen tako da osoba koja se nikada nije bavila metodama prepoznavanja slika može u roku od 10-15 minuta u svojoj glavi stvoriti određenu osnovnu sliku svijeta koja odgovara temi i shvatiti u kojem smjeru treba kopati. Mnoge od ovdje opisanih tehnika primjenjive su na radarsku i audio obradu.
Počeću s nekoliko principa koje uvijek počinjemo govoriti potencijalnom kupcu ili osobi koja želi početi raditi optičko prepoznavanje:

  • Kada rješavate problem, uvijek idite od najjednostavnijeg. Mnogo je lakše okačiti narandžastu etiketu na osobu nego pratiti osobu, ističući je kaskadama. Mnogo je lakše uzeti kameru sa višom rezolucijom nego razviti algoritam super rezolucije.
  • Stroga formulacija problema u metodama optičkog prepoznavanja je za redove veličine važnija nego u problemima sistemskog programiranja: jedna dodatna riječ u tehničkoj specifikaciji može dodati 50% posla.
  • Ne postoje univerzalna rješenja za probleme prepoznavanja. Ne možete kreirati algoritam koji će jednostavno “prepoznati bilo koji natpis”. Znak na ulici i list teksta su suštinski različiti objekti. Vjerovatno je moguće napraviti opći algoritam (dobar primjer iz Google-a), ali to će zahtijevati dosta rada velikog tima i sastoji se od desetina različitih potprograma.
  • OpenCV je biblija koja ima mnogo metoda i pomoću koje možete riješiti 50% obima gotovo svakog problema, ali OpenCV je samo mali dio onoga što zapravo možete učiniti. U jednoj studiji, zaključci su napisani: "Problem se ne rješava OpenCV metodama, stoga je nerješiv." Pokušajte to izbjeći, ne budite lijeni i trezveno procijenite trenutni zadatak svaki put od nule, bez korištenja OpenCV šablona.
Vrlo je teško dati nekakav univerzalni savjet, ili vam reći kako da napravite neku vrstu strukture oko koje možete izgraditi rješenje za proizvoljne probleme kompjuterskog vida. Svrha ovog članka je strukturirati ono što možete koristiti. Pokušat ću podijeliti postojeće metode u tri grupe. Prva grupa je preliminarno filtriranje i priprema slike. Druga grupa je logička obrada rezultata filtriranja. Treća grupa su algoritmi za donošenje odluka zasnovani na logičkoj obradi. Granice između grupa su vrlo uslovne. Za rješavanje problema nije uvijek potrebno primijeniti metode iz svih grupa, ponekad su dovoljne dvije, a ponekad čak i jedna.

Lista metoda koja je ovdje navedena je nepotpuna. Predlažem da u komentare dodate kritičke metode koje nisam napisao i da svakom pripišete 2-3 popratne riječi.

Dio 1. Filtracija

U ovu grupu sam stavio metode koje vam omogućavaju da istaknete područja od interesa na slikama bez njihove analize. Većina ovih metoda primjenjuje neku vrstu uniformne transformacije na sve piksele na slici. Na nivou filtriranja, slika se ne analizira, ali se tačke koje se filtriraju mogu smatrati oblastima sa posebnim karakteristikama.
Binarizacija praga, izbor područja histograma
Najjednostavnija transformacija je granična binarizacija slike. Za RGB sliku i sliku u nijansama sive, prag je vrijednost boje. Postoje idealni zadaci u kojima je takva transformacija dovoljna. Recimo da želite automatski odabrati objekte na bijelom listu papira:




Izbor praga na kojem dolazi do binarizacije u velikoj mjeri određuje sam proces binarizacije. U ovom slučaju, slika je binarizirana prosječnom bojom. Obično se binarizacija vrši pomoću algoritma koji adaptivno bira prag. Ovaj algoritam može biti izbor očekivanja ili načina rada. I možete odabrati najveći vrh histograma.

Binarizacija može dati vrlo zanimljive rezultate kada se radi s histogramima, uključujući i kada razmatramo sliku ne u RGB, već u HSV. Na primjer, segmentirajte boje koje vas zanimaju. Ovaj princip se može koristiti za izgradnju i detektora oznaka i detektora ljudske kože.
Klasično filtriranje: Fourier, LPF, HPF
Klasične metode filtriranja od radara i obrade signala mogu se uspješno primijeniti u različitim zadacima prepoznavanja uzoraka. Tradicionalna metoda u radaru, koja se gotovo nikada ne koristi u čistim slikama, je Fourierova transformacija (tačnije, FFT). Jedan od rijetkih izuzetaka za koje se koristi jednodimenzionalna Fourierova transformacija je kompresija slike. Za analizu slike, jednodimenzionalna transformacija obično nije dovoljna; morate koristiti mnogo više resursno intenzivnu dvodimenzionalnu transformaciju.

Malo ljudi to stvarno izračuna, obično je mnogo brže i lakše koristiti konvoluciju područja od interesa sa gotovim filterom naoštrenim za visoke (HPF) ili niske (LPF) frekvencije. Ova metoda, naravno, ne dozvoljava analizu spektra, ali specifičan zadatak obrade video zapisa obično ne zahtijeva analizu, već rezultat.


Najjednostavniji primjeri filtera koji naglašavaju niske frekvencije (Gausov filter) i visoke frekvencije (Gaborov filter).
Za svaku tačku na slici odabire se prozor koji se množi sa filterom iste veličine. Rezultat ove konvolucije je nova vrijednost bodova. Prilikom implementacije niskopropusnog i visokopropusnog filtera dobijaju se slike sljedećeg tipa:



Wavelets
Ali što ako koristimo neku proizvoljnu karakterističnu funkciju za konvoluciju sa signalom? Tada će se zvati "Wavelet transformacija". Ova definicija talasa nije tačna, ali tradicionalno se razvilo da je u mnogim naredbama talasna analiza potraga za proizvoljnim uzorkom na slici koristeći konvoluciju sa modelom ovog uzorka. Postoji skup klasičnih funkcija koje se koriste u talasnoj analizi. To uključuje Haar talas, Morlet talas, meksički šešir talas, itd. Haar primitivi, o kojima je bilo nekoliko mojih prethodnih članaka (,), odnose se na takve funkcije za dvodimenzionalni prostor.


Iznad su 4 primjera klasičnih talasa. 3D Haar wavelet, 2D Meyer wavelet, Mexican Hat wavelet, Daubechies wavelet. Dobar primjer korištenja proširene interpretacije talasa je problem pronalaženja bljeska u oku, za koji je sama bljesak talas:

Klasični talasi se obično koriste za ili za njihovu klasifikaciju (opisano u nastavku).
Korelacija
Nakon ovako slobodnog tumačenja talasa s moje strane, vrijedno je spomenuti stvarnu korelaciju koja leži u njihovoj osnovi. To je nezamjenjiv alat za filtriranje slika. Klasična aplikacija je korelacija video tokova za pronalaženje pomaka ili optičkih tokova. Najjednostavniji detektor pomaka je takođe, u izvesnom smislu, korelator razlike. Tamo gdje slike nisu u korelaciji, bilo je kretanja.

Funkcije filtriranja
Zanimljiva klasa filtera je filtriranje funkcija. Ovo su čisto matematički filteri koji vam omogućavaju da otkrijete jednostavnu matematičku funkciju na slici (prava, parabola, krug). Gradi se akumulirajuća slika u kojoj se za svaku tačku originalne slike iscrtava skup funkcija koje je generiraju. Najklasičnija transformacija je Houghova transformacija za linije. U ovoj transformaciji, za svaku tačku (x; y), crta se skup tačaka (a; b) prave linije y = ax + b, za koje je tačna jednakost. Dobijamo prelepe slike:


(prvi plus je onome ko prvi nađe kvaku na slici i takvu definiciju i objasni je, drugi plus onome ko prvi kaže ovo što je prikazano)
Hough transformacija vam omogućava da pronađete bilo koje funkcije koje se mogu parametrirati. Na primjer, krug. Postoji modificirana transformacija koja vam omogućava da tražite bilo koju. Ova transformacija je užasno draga matematičarima. Ali prilikom obrade slika, to, nažalost, ne radi uvijek. Vrlo mala brzina, vrlo visoka osjetljivost na kvalitet binarizacije. Čak i u idealnim situacijama, radije sam se snalazio s drugim metodama.
Analog Houghove transformacije za prave linije je Radon transformacija. Izračunava se putem FFT-a, što daje prednost performansama u situaciji kada ima puno bodova. Osim toga, može se primijeniti na nebinariziranu sliku.
Filtriranje obrisa
Posebna klasa filtera je filtriranje granica i obrisa. Obrisi su veoma korisni kada želimo da pređemo sa rada sa slikom na rad sa objektima na toj slici. Kada je objekt dovoljno složen, ali dobro definiran, tada je često jedini način rada s njim odabir njegovih kontura. Postoji niz algoritama koji rješavaju problem filtriranja kontura:

Najčešće se koristi Kenny, koji dobro radi i čija implementacija je u OpenCV-u (Sobel je također tu, ali lošije izgleda za konture).



Ostali filteri
Iznad su filteri čije modifikacije pomažu u rješavanju 80-90% problema. Ali osim njih, postoje rijetki filteri koji se koriste u lokalnim zadacima. Takvih filtera ima na desetine, neću ih sve navoditi. Zanimljivi su iterativni filteri (na primjer), kao i ridgelet i curvature transformacije, koje su legura klasičnog talasnog filtriranja i analize u polju transformacije radona. Beamlet transformacija radi prekrasno na granici wavelet transformacije i logičke analize, omogućavajući vam da istaknete konture:

Ali ove transformacije su vrlo specifične i prilagođene su rijetkim zadacima.

Dio 2. Logička obrada rezultata filtriranja

Filtriranje pruža skup podataka pogodnih za obradu. Ali često ne možete samo uzeti i koristiti ove podatke bez obrade. U ovom odeljku će biti nekoliko klasičnih metoda koje vam omogućavaju da pređete sa slike na svojstva objekata ili na same objekte.
Morfologija
Prijelaz sa filtracije na logiku, po mom mišljenju, jesu metode matematičke morfologije (,). Zapravo, ovo su najjednostavnije operacije stvaranja i erodiranja binarnih slika. Ove metode vam omogućavaju da uklonite šum iz binarne slike povećanjem ili smanjenjem postojećih elemenata. Na osnovu matematičke morfologije, postoje algoritmi za konturiranje, ali obično koriste neku vrstu hibridnih algoritama ili algoritama u sprezi.
Analiza kontura
Algoritmi za dobijanje granica su već pomenuti u odeljku o filtriranju. Rezultirajuće granice se jednostavno pretvaraju u konture. Za Cannyjev algoritam, to se događa automatski; za druge algoritme je potrebna dodatna binarizacija. Možete dobiti konturu za binarni algoritam, na primjer, algoritmom buba.
Kontura je jedinstvena karakteristika objekta. Ovo često omogućava identifikaciju objekta duž konture. Postoji moćan matematički aparat koji vam to omogućava. Aparat se naziva analiza kontura (,).

Da budem iskren, nikada nisam uspio primijeniti analizu kontura u stvarnim problemima. Potrebni su previše idealni uslovi. Ili nema granice, ili je previše buke. Ali, ako trebate nešto prepoznati u idealnim uvjetima, onda je analiza kontura odlična opcija. Radi veoma brzo, lepa matematika i jasna logika.
Posebne tačke
Pojedinačne tačke su jedinstvene karakteristike objekta koje vam omogućavaju da povežete objekat sam sa sobom ili sa sličnim klasama objekata. Postoji nekoliko desetina načina za isticanje takvih tačaka. Neke metode ističu posebne tačke u susjednim okvirima, neke nakon dužeg vremenskog perioda i pri promjeni osvjetljenja, neke vam omogućavaju da pronađete posebne točke koje ostaju tako čak i kada se objekt rotira. Počnimo s metodama koje nam omogućavaju da pronađemo singularne tačke koje nisu tako stabilne, ali se brzo izračunavaju, a zatim idemo u sve veću složenost:
Prvi razred. Singularne tačke koje su stabilne sekundama. Takve tačke se koriste za vođenje objekta između susjednih video okvira ili za spajanje slika sa susjednih kamera. Ove tačke uključuju lokalne maksimume slike, uglove slike (najbolji od detektora, možda Haris detektor), tačke u kojima se postižu maksimumi disperzije, određene gradijente itd.
Druga klasa. Posebne tačke koje su stabilne sa promenama osvetljenja i malim pokretima subjekta. Takve tačke se prvenstveno koriste za obuku i naknadnu klasifikaciju tipova objekata. Na primjer, klasifikator za pešake ili klasifikator lica je proizvod sistema izgrađenog oko takvih tačaka. Neki od prethodno navedenih talasa mogu biti osnova za takve tačke. Na primjer, Haar primitivi, pretraživanje odsjaja, traženje drugih specifičnih funkcija. Ove tačke uključuju tačke pronađene metodom histograma usmjerenog gradijenta (HOG).
Treća klasa. Stabilne tačke. Znam samo za dvije metode koje daju potpunu stabilnost i za njihove modifikacije. Ovo i. Omogućavaju vam da pronađete posebne tačke čak i kada rotirate sliku. Izračunavanje takvih bodova traje duže od ostalih metoda, ali je prilično ograničeno vrijeme. Nažalost, ove metode su patentirane. Iako u Rusiji algoritmi nisu patentirani, pa ih koristite za domaće tržište.

Dio 3. Obuka

Treći dio priče će biti posvećen metodama koje ne rade direktno sa slikom, ali koje omogućavaju donošenje odluka. To su uglavnom različite metode mašinskog učenja i donošenja odluka. Nedavno je Yandyks objavio na Habru na ovu temu, postoji jako dobar izbor. Evo ga u tekstualnoj verziji. Za ozbiljno proučavanje teme, toplo preporučujem da ih pogledate. Ovdje ću pokušati opisati nekoliko osnovnih metoda koje se koriste u prepoznavanju obrazaca.
U 80% situacija, suština učenja u problemu prepoznavanja je sljedeća:
Postoji testni set koji sadrži nekoliko klasa objekata. Neka to bude prisustvo/odsustvo osobe na fotografiji. Za svaku sliku postoji skup karakteristika koje su identifikovane nekom karakteristikom, bilo da je to Haar, HOG, SURF ili neka vrsta talasa. Algoritam učenja mora izgraditi takav model, prema kojem će moći analizirati novu sliku i odlučiti koji se od objekata nalazi na slici.
Kako se to radi? Svaka od testnih slika je tačka u prostoru obeležja. Njegove koordinate su težina svake od karakteristika na slici. Neka naši znaci budu: "Prisustvo očiju", "Prisustvo nosa", "Prisustvo dve ruke", "Prisustvo ušiju" itd... čoveka. Za osobu u takvom prostoru poenta će biti tačna. Za majmuna, poenta je za konja. Klasifikator je obučen na uzorku primjera. Ali nisu na svim fotografijama prikazane ruke, druge nemaju oči, a na trećoj majmun ima ljudski nos zbog greške u klasifikatoru. Obučeni ljudski klasifikator automatski dijeli prostor karakteristika na način da kaže: ako se prva karakteristika nalazi u rasponu od 0,5 U suštini, svrha klasifikatora je da u prostor obeležja uvuče oblasti koje su karakteristične za objekte klasifikacije. Ovako će izgledati uzastopna aproksimacija odgovora za jedan od klasifikatora (AdaBoost) u dvodimenzionalnom prostoru:


Postoji mnogo klasifikatora. Svaki od njih bolje radi u nekom svom zadatku. Zadatak odabira klasifikatora za određeni zadatak je na mnogo načina umjetnost. Evo nekoliko prekrasnih slika na ovu temu.
Jednostavno kućište, jednodimenzionalno razdvajanje
Analizirajmo na primjeru najjednostavniji slučaj klasifikacije, kada je prostor karakteristika jednodimenzionalan, a trebamo podijeliti 2 klase. Situacija se događa češće nego što se može zamisliti: na primjer, kada trebate razlikovati dva signala ili uporediti uzorak s uzorkom. Recimo da imamo uzorak za obuku. U ovom slučaju se dobija slika, gde će na X-osi biti mera sličnosti, a na Y-osi - broj događaja sa takvom merom. Kada traženi objekat izgleda kao sam, dobije se lijevi Gaussian. Kad ne kao - tačno. Vrijednost X = 0,4 dijeli uzorke tako da pogrešna odluka minimizira vjerovatnoću donošenja bilo kakve pogrešne odluke. Potraga za takvim separatorom je problem klasifikacije.


Mala primedba. Kriterijum koji minimizira grešku neće uvijek biti optimalan. Sljedeći graf je graf stvarnog sistema za prepoznavanje šarenice. Za takav sistem kriterijum se bira tako da se minimizira verovatnoća lažnog ulaska neovlašćenog lica u objekat. Ova vjerovatnoća se naziva "greška prve vrste", "vjerovatnoća lažnog alarma", "lažno pozitivna". U literaturi na engleskom jeziku "False Access Rate".
) AdaBusta je jedan od najčešćih klasifikatora. Na primjer, na njemu je izgrađena Haar kaskada. Obično se koriste kada je potrebna binarna klasifikacija, ali ništa vas ne sprečava da predajete za veći broj časova.
SVM (,,,) Jedan od najmoćnijih klasifikatora sa mnogo implementacija. U osnovi, na zadacima učenja s kojima sam se susreo, radio je na sličan način kao adabusta. Smatra se da je dovoljno brz, ali je njegov trening teži od onog kod Adabuste i potreban je odabir ispravnog jezgra.

Tu su i neuronske mreže i regresija. Ali da bismo ih ukratko klasifikovali i pokazali po čemu se razlikuju, potreban je članak mnogo više od ovog.
________________________________________________
Nadam se da sam uspio napraviti brzi pregled korištenih metoda bez poniranja u matematiku i opis. Možda će nekome pomoći. Iako je, naravno, članak nedorečen i nema ni riječi o radu sa stereo slikama, niti o OLS-u sa Kalman filterom, niti o adaptivnom Bayesovom pristupu.
Ako vam se sviđa članak, pokušat ću napraviti drugi dio s izborom primjera kako se rješavaju postojeći zadaci ImageRecognition.

I na kraju

Šta čitati?
1) Jednom mi se jako dopala knjiga "Digitalna obrada slike" B. Yanea, koja je napisana jednostavno i jasno, ali je u isto vrijeme predstavljena gotovo sva matematika. Dobro za upoznavanje sa postojećim metodama.
2) Klasici žanra su R. Gonzalez, R. Woods "Digitalna obrada slike". Iz nekog razloga mi je bilo teže od prvog. Mnogo manje matematike, ali više metoda i slika.
3) "Obrada i analiza slike u zadacima mašinskog vida" - napisano na osnovu predmeta koji se izvodi na jednom od odsjeka PhysTech. Postoji mnogo metoda i njihovih detaljnih opisa. Ali po mom mišljenju, knjiga ima dva velika nedostatka: knjiga je snažno fokusirana na softverski paket koji dolazi uz nju, u knjizi se prečesto opis jednostavne metode pretvara u matematičku džunglu, od koje je teško napraviti strukturni dijagram metode. Ali autori su napravili zgodnu stranicu na kojoj je predstavljen gotovo sav sadržaj - wiki.technicalvision.ru Dodaj oznake

Kao tema istraživanja za umjetnu inteligenciju, prepoznavanje slika ima dugu povijest i veliku praktičnu vrijednost. Prvo je korišten za mašinsko čitanje ručno pisanih brojeva. Danas je opseg njegove primjene značajno proširen: od mjerenja, kontrole, sortiranja i sklapanja u proizvodnim procesima do analize slika očitanih na daljinu, dijagnostike sa medicinskih slika, kvantitativne procjene eksperimentalnih podataka, ljudske identifikacije, automatskog dizajna, razumijevanja slike kao funkcija tehnička vizija robota itd. Proces prepoznavanja ljudske slike nije jednostavna obrada vizualnih informacija, već složen proces u kojem psihološki faktori igraju važnu ulogu. Konkretno, u procesu razumijevanja slike dolazi do semantičkog zaključivanja, ali njegova implementacija zahtijeva prikupljanje opsežnog znanja i intuitivnih rješenja koja nadilaze logiku, pa je takav proces izuzetno teško simulirati u kompjuteru.

Postojeći alati za prepoznavanje slika koriste različite metode ovisno o tome da li je objekt prepoznavanja umjetni ili prirodni. U prvom slučaju obično se bave zasebnim objektima jasne forme, dakle velikim brojem studija

fokusira se na uparivanje uzoraka otkrivanjem kontura i granica, ili crtanjem trodimenzionalnog oblika koristeći geometrijska pravila. Među prirodnim objektima ima mnogo objekata nepravilnog oblika sa svjetlošću i nijansama, pa se klaster analizom najčešće dijele na homogena područja, a zatim se na osnovu karakteristika oblika ovih područja donosi zaključak o objektu. . Osim toga, u posljednje vrijeme provedena su mnoga istraživanja o reprodukciji dvodimenzionalnih i trodimenzionalnih oblika objekata na osnovu obrade velikog broja slika. U robotici postaje neophodna obrada pokretnih slika u realnom vremenu, odnosno brzina prepoznavanja je od velike važnosti.

Općenito, proces prepoznavanja slika pomoću računara je sljedeći.

1. Primanje informacija o slici pomoću kamere ili drugih sredstava i njihovo pretvaranje u digitalne informacije: kao rezultat toga, okviri se dijele na veliki broj elemenata, a boja i kontrast se dodjeljuju svakom elementu.

2. Prethodna obrada. Uklanjanje šuma, normalizacija za poređenje sa referencom, segmentacija (izvlačenje lokalnih informacija potrebnih za prepoznavanje) itd.

3. Izolacija znakova. Atributi slike mogu imati različite nivoe. Strogo govoreći, segmentacija je također dio ekstrakcije karakteristika. Metode izdvajanja karakteristika mogu biti lokalne i globalne. Primjeri lokalne metode su detekcija granica, globalno grupisanje i metoda proširenja regije. Diskontinuiteti između područja se koriste za otkrivanje granica, dok je klasterizacija segmentacija zasnovana na detekciji homogenih područja. Kako, u svakom slučaju, informacija o slici sadrži šum koji nije eliminisan u fazi predobrade, prilikom segmentacije je neophodna obrada nejasnih informacija. Globalni odabir karakteristika se vrši u odnosu na oblik, svojstva, relativni položaj i druge karakteristike odabranih područja. Ovaj postupak je od velikog značaja za narednu fazu procene.

4. Razumijevanje i evaluacija. Proces razumijevanja slike

oni nazivaju ili klasifikaciju i identifikaciju upoređivanjem dobijenih klastera sa poznatim modelima, ili konstrukciju trodimenzionalne slike originalnog objekta pomoću zaključivanja. Rezultat ovog procesa je konačni cilj prepoznavanja slike.

Trenutno je proveden veliki broj studija procesa prepoznavanja slike, ali su dosadašnji rezultati krajnje nezadovoljavajući. Na primjer, pitanja kao što su razumijevanje složenih slika, međusobna transformacija verbalnih i video informacija, prepoznavanje objekata krivolinijskih i nepravilnih oblika, prepoznavanje zamućenih slika, visokoefikasna ekstrakcija karakteristika, semantičko zaključivanje i maštanje, itd. .

Glavni metodološki pristupi koji se trenutno koriste u prepoznavanju su statistika, klaster analiza, dedukcija u dvovrednosnoj logici i niz drugih, ali su svi oni veoma daleko od procesa prepoznavanja koji je inherentan ljudima. Ekstrakcija karakteristika je najvažnija faza u prepoznavanju slike, ali je i izuzetno teška. Zaista, šta je karakteristika slike? Zašto karikatura više liči na osobu nego na fotografiju? Očigledno, važnu ulogu u procesu ljudskog prepoznavanja igraju informacije, koje za kompjuter izgleda nisu ništa drugo do buka, ali su nekako izolirane i predstavljene. Moguće je prepoznati znakove ove vrste po osjećajima osobe, a ne po logici. Osim toga, kod prepoznavanja mutnih slika ne funkcioniraju analitičke vještine, već sposobnost generalizacije, tj. to je takođe intuitivan proces. Za simulaciju ovakvih procesa potrebno je proučiti metode obrade subjektivnih informacija i tehnike rukovanja makroinformacijama. Istraživanja o prepoznavanju nejasnih slika tek počinju, ali sada očekuju dalji razvoj nove metodologije koja ispunjava gore navedene zahtjeve.

Razmotrimo ukratko stanje raspoznatljivosti nejasne slike. Budući da video informacije čak i dovoljno jasnog objekta mogu biti poremećene šumom, fuzzy logika se najčešće koristi za otkrivanje ivica. Tipičan primjer je klasifikacija

elementi slike koristeći rasplinuto grupiranje. Međutim, pošto su apsolutno identični elementi retki, neophodno je "fazi" grupisanje. Slične metode se koriste za klasifikaciju slika koje su raštrkane u odnosu na referentnu sliku (prepoznavanje rukom pisanih znakova, govor, itd.).

Direktna detekcija kontura otvara problem buke, koji se ne može u potpunosti riješiti uz pomoć filtera. Osim toga, potrebni su zaključci za popunu izgubljenih lokacija. Za to se koriste heuristička pravila, koja su, međutim, nejasne kvalitativne prirode. Kada se pređe na fazu razumijevanja slike, javlja se problem efikasnijeg nejasnog poređenja slika, koji zahtijeva usklađivanje ne samo u formi, već iu semantici za njegovo rješenje. Posebno se ova situacija razvija u oblasti dijagnostike na osnovu rendgenskih snimaka, gdje je formiranje pravila nemoguće.

Ispod su neki tipični primjeri istraživanja o prepoznavanju slika korištenjem fuzzy logike.

Skeniranje slike i otkrivanje objekata u njoj je zadatak broj 1 u obradi slike i kompjuterskom vidu. Pretraga za "automatsko prepoznavanje slika" na Google akademijama će vratiti mnoge članke sa složenim jednadžbama i algoritmima od ranih 90-ih do danas. To sugerira da ovaj problem bavi naučnicima od samog pojavljivanja web pretraživanja, ali još nije riješen.

Osnivač CognitiveSEO-a Razvan Gavrilas vjeruje da će Google u bliskoj budućnosti promijeniti svoje algoritme za rangiranje slika, što će uticati na pretragu i, zapravo, na optimizaciju pretraživača širom svijeta. Razvan razvija ovu temu u ovom članku.

Zašto je sposobnost prepoznavanja objekata na slikama važna za globalnu digitalnu zajednicu?

Prema riječima stručnjaka, detekcija objekata na slikama će postati svojevrsni dodatni faktor rangiranja. Na primjer, slika plavog psa bila bi neraskidivo povezana s ključnom riječi "plavi pas", a ne "crveni pas".

Ovo ima dvije važne implikacije za SEO:

  • broj irelevantnih rezultata pri traženju određene ključne riječi bit će manji (ovisno o tome šta je na slici),
  • Prepoznavanje objekata u slici pomoći će vam da povežete sadržaj stranice s tom slikom. Ako stranica sadrži puno slika plavih pasa i drugih stvari vezanih za pse, tada će ocjena ove stranice kao posvećene psima biti veća.

Još jedno pitanje – da li će prepoznavanje uzoraka biti početak „nove ere“ za manipulaciju objektima na slikama kao nova sumnjiva SEO tehnika? Ne, jer algoritmi pretraživača ovih dana lako otkrivaju ovu vrstu neželjene pošte.

Google, umjetna inteligencija i prepoznavanje slika

U 2010. godini, Univerzitet Stanford je održao prvo ILSVRC (ImageNet large-scale visual recognition challenge) takmičenje, na kojem programeri demonstriraju mogućnosti svojih sistema za prepoznavanje slika.

ILSVRC ima tri glavne faze:

  • klasifikacija,
  • klasifikacija sa lokalizacijom,
  • detekcija.

U prvom slučaju procjenjuje se sposobnost algoritma da kreira ispravne "naslove" na slici (označavanje), lokalizacija uključuje odabir glavnih objekata na slici, problem detekcije je formuliran na sličan način, ali više primjenjuju se strogi kriteriji evaluacije.

U slučaju detekcije, algoritam prepoznavanja mora opisati složenu sliku s mnogo objekata, određujući njihovu lokaciju i precizno identificirajući svaki od njih. To znači da ako se neko vozi mopedom na slici, onda bi softver trebao biti u stanju ne samo da razlikuje nekoliko zasebnih objekata (na primjer, moped, osobu i kacigu), već i da ih pravilno pozicionira u prostoru i klasifikuje ispravno. Kao što možemo vidjeti na slici ispod, pojedinačni artikli su ispravno identificirani i klasificirani.

Bilo koji pretraživač sa ovom mogućnošću bi otežao bilo kome da fotografije ljudi na mopedima prosledi kao fotografije vozača Porschea manipulisanjem metapodacima. Algoritam sposoban za prepoznavanje objekata je prilično napredan i moći će raščlaniti bilo koju, uključujući i najsloženiju, sliku.

2014. godine na takmičenju ILSVRC pobijedio je tim GoogLeNet. Naziv je izveden od riječi Google i LeNet - jedne od implementacija konvolucione neuronske mreže. Takva mreža može brzo da uči, ali i da daje rezultate čak i sa malom količinom memorije zbog više od desetostrukog smanjenja broja parametara, u poređenju sa većinom drugih modela kompjuterskog vida.

Termin "neuronske mreže" označava umjetne neuronske mreže (ANN), koje su računski modeli zasnovani na principima učenja i prepoznavanja obrazaca. Primjer kako algoritam za detekciju objekata radi prikazan je u nastavku:

GoogLeNet tim koristi specifičnu vrstu ANN - konvolucionu neuronsku mrežu, koja radi u kojoj pojedinačni neuroni reaguju na različita (ali preklapajuća) područja u vidnom polju. Ove oblasti se mogu spojiti zajedno kako bi se stvorila složenija slika. Prema Razvanu Gavrilasu, ovo je slično radu sa slojevima u uređivaču slika.

Jedna od prednosti konvolucione neuronske mreže je dobra translacijska podrška - bilo koja vrsta kretanja objekta iz jednog prostora u drugi. Infrastruktura DistBelief može odabrati objekat bez obzira gdje se nalazi na slici.

Još jedna korisna infrastrukturna karakteristika je invarijantnost skale, prema kojoj se svojstva objekata ne mijenjaju ako se skale dužine pomnože sa zajedničkim faktorom. To znači da okvir DistBelief mora jasno prepoznati sliku, na primjer, "narandže", bez obzira da li je velika (na pozadini desktopa) ili sićušna (na ikoni). U oba slučaja, objekat je narandžast i klasifikovan je kao „narandžasti“.

Neophodno je reći i o Hebbovom principu, prema kojem se treniraju umjetne neuronske mreže. U Behavioral Organization: A Neuropsychological Theory, Hebbov postulat glasi kako slijedi: „Ako je akson ćelije A dovoljno blizu da pobuđuje ćeliju B, i stalno ili više puta sudjeluje u njenom pobuđivanju, tada dolazi do nekog procesa rasta ili metaboličkih promjena u jednoj ili obe ćelije, što dovodi do povećanja efikasnosti A kao jedne od ćelija koje pobuđuju B”.

Razvan Gavrilas malo pojednostavljuje citat: "Ćelije koje su pobuđene zajedno se vezuju." U slučaju ANN, "ćelije" treba zamijeniti sa "neuronima". Gradeći dalju analogiju, može se reći da će softver moći da se educira kako bi se stalno usavršavao.

Google zapošljava profesionalce za umjetnu inteligenciju i prepoznavanje slika

Google razvija vlastitu tehnologiju za prepoznavanje slika na osnovu razvoja trećih strana, na primjer, za to je kupljena startup kompanija DNNresearch, koja se bavi istraživanjem u oblasti prepoznavanja objekata i glasa. DNNresearch je startup, u trenutku preuzimanja imao je troje zaposlenih koji su automatski postali Google zaposlenici. Dobili su grant za podršku radu u oblasti neuronskih mreža. Nove tehnologije koje Google može primijeniti za poboljšanje kvaliteta pretraživanja slika.

Prema Googleovoj strategiji, mnoga rješenja otvorenog koda ostaju dostupna drugim kompanijama. Ovo se radi kako bi se razvilo tržište. Prema Razvanu, zašto gušiti svoje konkurente kada si možete priuštiti da ga kupite nakon nekog vremena?

Još jedna zanimljiva Google akvizicija je DeepMind, koji ima investiciju od 400 miliona dolara. Ova i mnoge druge akvizicije prvenstveno imaju za cilj privlačenje kvalifikovanih ljudi u Google, a ne neka gotova rješenja. Ovakvi potezi za kupovinu kompanija svedočanstvo su da Gugl, Fejsbuk i druge internet kompanije jure za "mozgom" za daljim razvojem u oblasti veštačke inteligencije.

Google+ već koristi detekciju objekata na slikama. Sljedeći na redu za Google pretragu?

Zapravo, algoritam za detekciju slika zasnovan na neuronskoj mreži radi na Google+ već više od godinu dana. Neki od softverskih kodova predstavljenih na ILSVRC-u korišteni su za poboljšanje Google+ algoritama za pronalaženje određenih vrsta fotografija.

Googleova tehnologija za prepoznavanje slika ima sljedeće karakteristike:

  • Google-ov algoritam uzima u obzir korespondenciju objekata na web slikama (izbliza, umjetno osvjetljenje, detalji) sa objektima na prirodnim fotografijama (srednji plan, prirodno svjetlo sa sjenama, različiti stepen detalja). Drugim riječima - cvijet bi trebao ostati cvijet čak i na slikama s različitim rezolucijama ili uvjetima osvjetljenja.
  • Neke specifične vizuelne klase su pomerene iz opštih jedinica. Na primjer, u velikoj listi naziva cvijeća koje algoritam razlikuje, označene su neke pojedinačne biljke, na primjer, hibiskus ili dalija.
  • Google-ov algoritam za prepoznavanje slika uspio je i da nauči kako da radi sa apstraktnim kategorijama objekata, ističući određeni broj slika koje bi se mogle kategorizirati kao "ples", "hrana", "poljubci". Potrebno je mnogo više vremena od jednostavnog utvrđivanja omjera narandžasto-narandžasto.

Časovi s različitim značenjima također se dobro obrađuju. Primjer je "automobil". Da li je ovo snimak automobila ako vidimo ceo auto na njemu? Da li se slika unutrašnjosti automobila smatra fotografijom automobila ili je nešto drugo? Na oba pitanja bismo odgovorili potvrdno, a Google-ov algoritam za prepoznavanje čini isto.

Treba napomenuti da je sistem za prepoznavanje slika još nedovršen. Međutim, čak iu svom "sirovom" obliku, Guglov algoritam je iznad svih dosadašnjih razvoja u oblasti kompjuterskog vida.

Da li je tehnologija prepoznavanja slika dio Google Grafa znanja?

Guglov novi algoritam dio je "mašinskog učenja", koji je dijelom implementiran u Grafiku znanja. Sadrži entitete - objekte namijenjene zamjeni znakova koji se ne mogu sresti u njihovom "čistom" obliku u HTML-tekstu, na primjer, znak "

Svaki objekat i svaka klasa objekata dobijaju jedinstvenu šifru, tako da se životinjski "jaguar" nikada neće pomešati sa automobilom istog imena. Na osnovu ovih kodova, algoritam za prepoznavanje može koristiti bazu znanja. Zapravo, Google stvara "pametno pretraživanje" koje razumije i prevodi vaše riječi i slike u stvarne simboličke objekte.

Kako tehnologija detekcije objekata na slikama može uticati na SEO?

Funkcija prepoznavanja slike može biti korisna gdje god želite da znate šta je na slici.

Sa konvencionalnog stanovišta SEO-a, prepoznavanje slika je ogroman korak naprijed. Ovo pomaže u poboljšanju kvaliteta sadržaja, jer postaje gotovo nemoguće prevariti tražilicu pogrešno označavanjem fotografija ili velikog broja njih.

Dobar vizuelni sadržaj (tj. visok kvalitet slike, jasno vidljivi objekti, relevantnost fotografije) vjerovatno će igrati važnu ulogu u svemu što se odnosi na vizualno pretraživanje.

Ako želite da vaša slika bude prva među slikama u upitima "Žuti pas", onda će optimizacija morati započeti navođenjem tipa vaše slike i navođenjem objekata koje sadrži.

Zaključak

Sposobnost osobe da prepozna mnoge predmete i kategorizira ih jedna je od najnevjerovatnijih mogućnosti vizualne percepcije, čiji kompjuterski analozi još nisu izmišljeni. Međutim, Google već čini korake naprijed, na primjer, već posjeduje patent za automatsko prepoznavanje velikih video objekata od 2012. godine.

Dakle, prema riječima Razvana Gavrilasa, Google-ovi rezultati organske pretrage uskoro će se promijeniti. Pretraživač će se kretati "od redova do stvari", u stvari, integrirajući svoj graf znanja u pejzaž pretraživanja. Algoritmi pretraživanja će se također promijeniti, koji će se vjerovatno odnositi na stvarne objekte u sadržaju i odrediti kako će se ti objekti međusobno povezati.

Nastavljam seriju članaka o prepoznavanju obrazaca, kompjuterskom vidu i mašinskom učenju. Danas vam predstavljam pregled algoritma koji se zove eigenface.

Algoritam se zasniva na korištenju osnovnih statističkih karakteristika: srednje vrijednosti (očekivanja) i matrice kovarijanse; koristeći metodu glavnih komponenti. Dotaknut ćemo se i takvih koncepata linearne algebre kao što su svojstvene vrijednosti i svojstveni vektori (wiki :, eng). Osim toga, radit ćemo u višedimenzionalnom prostoru.
Koliko god zastrašujuće sve zvučalo, ovaj algoritam je možda jedan od najjednostavnijih koje sam razmatrao, njegova implementacija ne prelazi nekoliko desetina redova, a istovremeno pokazuje dobre rezultate u nizu zadataka.


Za mene je eigenface zanimljiv jer poslednjih 1,5 godina razvijam između ostalog i statističke algoritme za obradu raznih nizova podataka, gde se vrlo često moram baviti svim gore opisanim "stvarima".

Alati

Prema ustaljenom, u okviru mog skromnog iskustva, tehniku, nakon promišljanja bilo kog algoritma, ali prije implementacije u C/C++/C#/Python itd., potrebno je brzo (koliko je to moguće) ) kreirajte matematički model i testirajte ga, da biste nešto prebrojali. Ovo vam omogućava da izvršite potrebna podešavanja, ispravite greške i otkrijete šta nije uzeto u obzir prilikom razmišljanja o algoritmu. Za ovo koristim MathCAD. Prednost MathCAD-a je što, uz ogroman broj ugrađenih funkcija i procedura, koristi klasičnu matematičku notaciju. Grubo govoreći, dovoljno je poznavati matematiku i moći pisati formule.

Kratak opis algoritma

Kao i svaki algoritam iz serije mašinskog učenja, eigenface se prvo mora istrenirati, za to se koristi set za obuku, a to su slike lica koje želimo da prepoznamo. Nakon što je model obučen, daćemo neku sliku kao ulaz i kao rezultat ćemo dobiti odgovor na pitanje: koja slika iz uzorka za obuku najvjerovatnije odgovara primjeru na ulazu, ili ne odgovara bilo kome.

Zadatak algoritma je da predstavi sliku kao zbir osnovnih komponenti (slika):

Gdje je F i - centrirana (tj. minus srednja) i-ta slika originalnog uzorka, w j su težine i u j svojstveni vektori (svojstveni vektori ili, u okviru ovog algoritma, vlastita lica).

Na gornjoj slici, originalnu sliku dobijamo ponderisanim zbrajanjem sopstvenih vektora i dodavanjem srednje vrednosti. One. sa w i u, možemo vratiti bilo koju originalnu sliku.

Set za obuku se mora projektovati u novi prostor (a prostor je, po pravilu, mnogo veći od originalne 2-dimenzionalne slike), pri čemu će svaka dimenzija dati određeni doprinos ukupnoj reprezentaciji. Metoda glavnih komponenti omogućava vam da pronađete osnovu novog prostora na način da se podaci u njemu nalaze, na neki način, optimalno. Da biste razumjeli, samo zamislite da će u novom prostoru neke dimenzije (također glavne komponente ili svojstveni vektori ili vlastita lica) "nositi" općenitije informacije, dok će druge nositi samo specifične informacije. Po pravilu, dimenzije višeg reda (koje odgovaraju manjim svojstvenim vrijednostima) nose mnogo manje korisnih (u našem slučaju korisno znači nešto što daje generalizirani pogled na cijeli uzorak) informacija od prvih dimenzija koje odgovaraju najvećim svojstvenim vrijednostima. Ostavljajući dimenzije samo sa korisnim informacijama, dobijamo prostor karakteristika, u kojem je svaka slika originalnog uzorka predstavljena u generalizovanom obliku. Ovo je, vrlo pojednostavljeno, ideja algoritma.
Nadalje, imajući u rukama neku sliku, možemo je mapirati u unaprijed kreirani prostor i odrediti kojoj se slici uzorka za obuku naš primjer nalazi najbliže. Ako se nalazi na relativno velikoj udaljenosti od svih podataka, onda ova slika najvjerovatnije uopće ne pripada našoj bazi podataka.

Za detaljniji opis, savjetujem da pogledate listu vanjskih veza na Wikipediji.

Mala digresija. Metoda glavne komponente se široko koristi. Na primjer, u svom radu ga koristim za odabir komponenti određene skale (vremenske ili prostorne), smjera ili frekvencije u nizu podataka. Može se koristiti kao metoda za komprimiranje podataka ili kao metoda za smanjenje originalne dimenzije višedimenzionalnog uzorka.

Kreiranje modela

Baza podataka lica Olivetti Research Lab (ORL) korištena je za sastavljanje uzorka za obuku, koji sadrži 10 fotografija 40 različitih ljudi:

Da bih opisao implementaciju algoritma, ubacit ću ovdje snimke ekrana sa funkcijama i izrazima iz MathCAD-a i komentirati ih. Idi.

FaceNums definira vektor brojeva lica koji će se koristiti u obuci. varNums postavlja broj varijante (prema opisu baze imamo 40 direktorijuma, svaki sa 10 slikovnih datoteka istog lica). Naš set za obuku sastoji se od 4 slike.
Zatim pozivamo funkciju ReadData. Implementira sekvencijalno čitanje podataka i konverziju slike u vektor (funkcija TwoD2OneD):

Dakle, na izlazu imamo matricu G, čija je svaka kolona slika "proširena" u vektor. Takav vektor se može posmatrati kao tačka u višedimenzionalnom prostoru, gde je dimenzija određena brojem piksela. U našem slučaju, slike veličine 92x112 daju vektor od 10304 elementa ili definiraju tačku u 10304-dimenzionalnom prostoru.

2. Potrebno je normalizirati sve slike u setu za obuku oduzimanjem prosječne slike. Ovo se radi kako bi se ostavile samo jedinstvene informacije, uklanjajući elemente koji su zajednički za sve slike.

Funkcija AverageImg broji i vraća vektor prosjeka. Ako "skupimo" ovaj vektor u sliku, vidjet ćemo "prosječno lice":

Funkcija Normalize oduzima vektor srednjih vrijednosti od svake slike i vraća prosječni uzorak:

3. Sljedeći korak je izračunavanje vlastitih vektora (aka svojstvena lica) u i težine w za svaku sliku u skupu za obuku. Drugim riječima, to je prijelaz u novi prostor.

Izračunavamo matricu kovarijanse, zatim pronalazimo glavne komponente (oni su takođe svojstveni vektori) i izračunavamo težine. Oni koji bolje upoznaju algoritam ući će u matematiku. Funkcija vraća matricu težina, svojstvenih vektora i svojstvenih vrijednosti. Ovo su svi podaci koji su vam potrebni za mapiranje u novi prostor. U našem slučaju radimo sa 4-dimenzionalnim prostorom, prema broju elemenata u skupu za obuku, preostalih 10304 - 4 = 10300 dimenzija su degenerisane, ne uzimamo ih u obzir.

Općenito, ne trebaju nam vlastite vrijednosti, ali iz njih se mogu pratiti neke korisne informacije. Pogledajmo ih:

Svojstvene vrijednosti zapravo pokazuju varijansu duž svake ose glavnih komponenti (svaka komponenta odgovara jednoj dimenziji u prostoru). Pogledajte pravi izraz, zbir datog vektora = 1, a svaka stavka predstavlja doprinos ukupnoj varijansi podataka. Vidimo da zbir 1 i 3 glavne komponente iznosi 0,82. One. 1 i 3 dimenzija sadrže 82% svih informacija. 2. dimenzija je srušena, a 4. nosi 18% informacija i ne trebaju nam.

Priznanje

Model je sastavljen. Mi ćemo testirati.

Kreiramo novi izbor od 24 elementa. Prva četiri elementa su ista kao u setu za obuku. Ostalo su različite varijante slika iz seta za obuku:

Zatim učitavamo podatke i prosljeđujemo ih proceduri Recognize. U njemu se svaka slika usrednjava, preslikava u prostor glavnih komponenti i pronalaze težine w. Nakon što je vektor w poznat, potrebno je odrediti kojem je od postojećih objekata najbliži. Za to se koristi dist funkcija (umjesto klasične Euklidske udaljenosti u problemima prepoznavanja uzoraka, bolje je koristiti drugu metriku: Mahalonobisovu udaljenost). Pronalazi minimalnu udaljenost i indeks objekta kojem se ova slika nalazi najbliže.

Na gore prikazanom uzorku od 24 objekta, efikasnost klasifikatora je 100%. Ali postoji jedno upozorenje. Ako na ulaz predamo sliku koja nije u originalnoj bazi, tada će se i dalje izračunati vektor w i naći se minimalna udaljenost. Stoga se uvodi kriterij O ako je minimalna udaljenost< O значит изображение принадлежит к классу распознаваемых, если минимальное расстояние >Oh, nema takve slike u bazi podataka. Vrijednost ovog kriterija se bira empirijski. Za ovaj model sam izabrao O = 2,2.

Hajde da napravimo uzorak ljudi koji nisu na obuci i vidimo koliko će efikasno klasifikator filtrirati lažne uzorke.

Imamo 4 lažno pozitivna od 24 uzorka. One. efikasnost je bila 83%.

Zaključak

Općenito, jednostavan i originalan algoritam. Još jednom dokazuje da se u prostorima viših dimenzija "skriva" mnogo korisnih informacija koje se mogu koristiti na razne načine.  Zajedno sa drugim naprednim tehnikama, eigenface se može koristiti za poboljšanje efikasnosti rješavanja zadataka.

Na primjer, koristimo jednostavan klasifikator udaljenosti kao klasifikator. Međutim, mogli bismo primijeniti napredniji algoritam klasifikacije, na primjer

DIGITALNA OBRADA SIGNALA

Tema 18. PREPOZNAVANJE OBJEKATA SLIKE

Svako ljudsko znanje počinje intuicijom, prelazi na koncepte i završava idejama.

Immanuel Kant. njemački filozof. XVIII vijek

Kada kompjuter umjesto osobe prepozna konja na slici, to nije tako daleko od istine, iako je tek u početnoj fazi procesa formiranja znanja o osobi.

Georgij Korgul, uralski geofizičar. XX vijek

Uvod.

1. Predobrada slika. Ispravlja svjetlinu i kontrast slika. Histogrami osvjetljenja. Izjednačavanje osvjetljenja slika. Poboljšana prostorna rezolucija.

2. Određivanje granica objekata na slici. Pronađite granice na osnovu gradijenta. Pronalaženje granica na osnovu Laplasijana.

3. Izbor objekata na slici. Algoritam čarobnog štapića. Algoritam pametnih makaza. Segmentacija pomoću rezova grafova.

4. Dodjela karakteristika objekata. Određivanje površine i perimetra. Određivanje polumjera upisanih i opisanih kružnica. Određivanje stranica opisanog pravougaonika. Određivanje broja i relativnog položaja uglova. Određivanje momenata inercije objekta.

5. Detekcija i prepoznavanje objekata slike. Detekcija objekata. Metoda za direktno poređenje objekta sa referentnom slikom. Korelacioni metod. Metode prepoznavanja zasnovane na sistemu karakteristika.

UVOD

Detaljno razmatranje teorijskih aspekata ove teme nije zadatak ovog odjeljka. Potpunije informacije o ovim pitanjima svako može dobiti u drugim izvorima. U nastavku su date praktične preporuke za implementaciju pojedinačnih metoda direktno vezanih za najtipičnije probleme, a koji se rješavaju korištenjem algoritama o kojima je bilo riječi u prethodnoj temi.

Prepoznavanje objekata na slikama optičkih senzora (fotografske, zračne, satelitske i druge slike) tradicionalno je područje obrade slike. Istovremeno, metode prepoznavanja objekata počele su da se široko koriste u automatskim televizijskim sistemima za posmatranje, u rendgenskim i magnetnim rezonantnim slikama i drugim tipovima prvobitno digitalnih slika za naknadnu obradu i obradu u realnom vremenu.

^ 18.1. prethodna obrada SLIKA

Operacijama prepoznavanja na slikama određenih objekata, po pravilu, prethodi obrada slike kako bi se stvorili uslovi koji povećavaju efikasnost i kvalitet odabira i prepoznavanja traženih ili proučavanih objekata. Metode predobrade zavise od istraživačkih zadataka, prilično su raznolike i mogu uključivati, na primjer, odabir najinformativnijih fragmenata, njihovo uvećanje, dobijanje 3-dimenzionalnih slika, mapiranje boja, implementaciju visoke prostorne rezolucije, povećanje rezolucije kontrasta. , poboljšanje kvaliteta slike itd. Razmotrite među njima one bez kojih obično nijedan tipičan zadatak ne može.

Ispravljanje svjetline i kontrasta slika .

Slike unesene u kompjuter često su niskog kontrasta. Loš kontrast, po pravilu, nastaje zbog širokog raspona ponovljive svjetline, koji se često kombinuje sa nelinearnošću karakteristika prijenosa nivoa. Priroda zavisnosti promene svetline palete piksela od minimalne vrednosti do maksimalne vrednosti takođe utiče na kvalitet slike. Linearna funkcija promjene intenziteta piksela je optimalna. Sa konkavnom karakteristikom, slika će biti tamnija, a sa konveksnom će biti svjetlija. U oba slučaja, karakteristike objekata mogu biti izobličene i nedovoljno identificirane. Korekcija (linearizacija) svjetline palete značajno poboljšava kvalitet slike.

Nizak kontrast može biti i zbog činjenice da su varijacije u funkciji svjetline piksela na slici mnogo manje od dozvoljenog raspona sive skale. U ovom slučaju, kontrast slike se povećava „rastezanjem“ stvarnog dinamičkog raspona svjetline na cijelu skalu pomoću linearne transformacije po elementima.

Drugi način da se ispravi svjetlina palete je invertiranje ulazne slike. Budući da je prilično teško razlikovati slabe signale na tamnoj pozadini, inverzni oblik predstavljanja takvih slika ima drugačiji histogram svjetline, što je prihvatljivije za promatranje i vizualnu identifikaciju.

Neki zadaci obrade slike uključuju pretvaranje slike u sivim tonovima (mnogo stupnjeva svjetline) u binarnu sliku (dva stepena). Transformacija se provodi kako bi se smanjila informacijska redundantnost slike, kako bi se u njoj ostavile samo one informacije koje su potrebne za rješavanje određenog problema. U binarnoj slici moraju se sačuvati određeni detalji (na primjer, obrisi prikazanih objekata), a beznačajne karakteristike (pozadina) moraju biti isključene.

Prag slike u nijansama sive se sastoji od podjele svih elemenata slike u dvije klase A 1 i A 2 prema svjetlini sa ivicom A c, te u izvođenju odgovarajućeg filtriranja praga sa zamjenom piksela slike zadatim klasama svjetline. Izbor ivice je određen tipom histograma svjetline originalne slike. Za najjednostavnije slike kao što su crteži, kucani tekst, itd., koje imaju bimodalnu distribuciju, granica je postavljena na minimum između načina distribucije. U općem slučaju, slika može biti multimodalna, a ako se uspostavi dovoljno pouzdana korespondencija između objekata i odgovarajućih modova njihove svjetline, tada filtriranje praga također može osigurati nekoliko klasa svjetline piksela.

Opseg svjetline kompjuterske slike može se razlikovati od originalnog raspona svjetline, na primjer, zbog nedovoljne ekspozicije. Postoje dva moguća načina za korekciju svjetline. Prema prvoj metodi, slika se linearno prikazuje u opsegu originalne svjetline. Druga metoda omogućava ograničavanje svjetline piksela u obrađenoj slici na maksimalne i minimalne granične razine i ima širu primjenu. Prisutnost najsvjetlijih i najtamnijih tonova na slici daje utisak dobrog kontrasta, međutim, pretjeran kontrast dovodi do toga da maksimalne gradacije utiču na srednje tonove, a većina detalja na slici je obojena u srednjim tonovima i pretjeran kontrast može dovesti do gubitka ovih detalja ili otežati njihov odabir.

Histogrami osvjetljenja. Alat za procjenu nivoa intenziteta piksela je histogram - grafički prikaz kvantitativnih karakteristika vjerovatnoće distribucije intenziteta (svjetline) piksela u odabranom području slike. Maksimalnoj vrijednosti intenziteta piksela dodjeljuje se nivo gradacije intenziteta od 255 (bijelo), a najtamnijoj vrijednosti dodjeljuje se vrijednost 0 (crno). Intenzitet u rasponu od 0 do 255 ima linearnu skalu promjene, ili je postavljen u skladu sa usvojenom funkcijom promjene, na primjer, pojačavajući slabe signale (sive skale) i prigušujući jake signale (u bijelom području), čime se povećava prostorni i kontrastna rezolucija slike ili određene oblasti od interesa.

Poznata je metoda za poboljšanje slike zasnovana na izračunavanju logaritma spektralnih koeficijenata Fourierove transformacije originalne slike (izračunavanje kepstruma). Sa obrnutom transformacijom cepstruma u sliku, histogram slike se poravnava zbog logaritamske transformacije spektra slike.

Mnoge slike karakteriziraju histogrami s visokom koncentracijom linija u određenim područjima distribucije intenziteta. Često je histogram distribucije svjetline slike nagnut prema niskim nivoima (osvijetljenost većine elemenata je ispod prosjeka). Jedna od metoda za poboljšanje kvaliteta takvih slika je modifikacija njihovog histograma. Poravnavanje histograma se može izvesti na osnovu podizanja na stepen modula spektralnih Fourierovih koeficijenata transformacije slike, pri čemu su predznak i faza koeficijenata sačuvani. Ako označimo eksponent α, onda za α<1 операция извлечения корня степени α уменьшает большие спектральные коэффициенты и увеличивает малые. Такое перераспределение энергии в частотной плоскости изображения приводит к более эффективному использованию динамического диапазона интенсивностей пикселей изображения в пространственной области.

Odabirom dobre maske za podešavanje histograma intenziteta piksela povećava se kontrast, čime se poboljšava rezolucija kontrasta detalja. Programi za obradu imaju komande koje vam omogućavaju postavljanje boja za mapiranje boja slika koje imaju glatke ili, obrnuto, oštre prijelaze prikazanih detalja u području od interesa. U kombinaciji sa preokretom kontrasta, koji pretvara negativnu sliku u pozitivnu, ova metoda također poboljšava kontrast malih i srednjih detalja slike.

Postoji prilično veliki arsenal matematičkih modela i algoritama, čija softverska implementacija može značajno povećati rezoluciju kontrasta slika. Ovi algoritmi su zasnovani na linearnim i nelinearnim procesima filtriranja slike koji transformišu histogram intenziteta.

Izjednačavanje osvjetljenja slika. Često su neke oblasti slike previše tamne da bi se videle. Ako cijeloj slici dodate svjetlinu, tada bi prvobitno svijetla područja mogla biti preeksponirana. Da bi se poboljšao izgled slike u takvim slučajevima, primjenjuje se metoda izjednačavanja osvjetljenja.

Osvetljenje se u prostoru menja prilično sporo i može se smatrati niskofrekventnim signalom. Sama slika se u prosjeku može smatrati signalom više frekvencije. Ako bi se u toku fotografije dodavali ovi signali, onda bi se mogli razdvojiti pomoću konvencionalnih filtera. Međutim, na pravoj fotografiji dobijamo proizvod slike koju želimo da vidimo i mapu zračenja. A pošto se ovi signali ne zbrajaju, već množe, neće se moći riješiti nepravilnosti u osvjetljenju jednostavnim filtriranjem.

Za rješavanje takvih problema koristi se homomorfna obrada. Ideja obrade je da se nelinearni problem svede na linearni. Na primjer, problem dijeljenja pomnoženih signala može se svesti na problem dijeljenja pomnoženih signala. Da biste to učinili, trebate uzeti logaritam proizvoda slika, koji će biti jednak zbroju logaritama faktora. U ovom slučaju, problem podjele proizvoda signala svodi se na problem dijeljenja zbira NF i VF signala i rješava se korištenjem HF filtera koji uklanja niske frekvencije iz zbira signala. Ostaje uzeti eksponent od primljenog signala da se vrati na izvornu skalu amplitude.

RF filter se može implementirati na sljedeći način. Prvo se na sliku primjenjuje operacija zamućenja (niskopropusni filter), a zatim se zamućeno oduzima od originalne slike. Najbolji radijus zamućenja zavisi od određene slike. Možete početi eksperimentirati s radijusom od oko deset piksela.

Obično se za zamućenje slike koristi dvodimenzionalni Gausov filter koji ima oblik h (x, y) = A exp (- (x 2 + y 2) / 2 2). Ovdje je A normalizirajuća konstanta (zbir svih koeficijenata filtera mora biti jednak 1), σ je “širina” filtera, koja kontrolira stepen zamućenja.

Direktno izračunavanje 2D konvolucije s takvim jezgrom je računski intenzivno, čak i uz relativno malu veličinu kernela. Međutim, ekvivalentan efekat se može postići tako što se prvo filtriraju linije slike jednodimenzionalnim Gausovim, a zatim kolone rezultirajuće slike. Efekat koji se dobija izjednačavanjem osvetljenja može biti prejak (tamne oblasti će postati iste svetline kao i svetle). Da biste smanjili učinak, možete jednostavno pomiješati obrađenu sliku s originalom u određenom omjeru.

Poboljšanje prostorne rezolucije ... Interpretacija slika usko je povezana sa kvalitetom prezentacije finih, neiskrivljenih detalja. U ovom slučaju potrebno je da sa povećanjem fragmenata ne dođe do pogoršanja rezolucije slike pri izvođenju matematičkih operacija 2D interpolacije funkcije prostorne distribucije intenziteta piksela u redovima i stupcima matrice slike. Važan faktor u identifikaciji objekata je i lokalizacija i prikaz područja iste svjetline ili kromatičnosti, čak i ako su ta područja veličine nekoliko piksela.

Jasnoća slika u profesionalnim programima se u pravilu ispravlja određivanjem optimalnih vrijednosti svjetline i kontrasta odabirom odgovarajućih opcija:

A) "vrednosti" - stepen uticaja uticaja na oštrinu slike;

B) "radijus" - debljina konture oštrine;

C) "prag diskriminacije" - definiranje kontura objekata postavljanjem razlike u vrijednostima intenziteta susjednih piksela, dovoljne da program poveća kontrast između njih.

Neki programi sadrže automatsku postavku optimalnog omjera kontrasta i svjetline, održavajući potrebnu jasnoću slike.

U obradi slike važnu ulogu imaju algoritmi za filtriranje ranga, koji omogućavaju eliminaciju "zamućenja" detalja (kako bi se poboljšalo njihovo fokusiranje) odabirom dvodimenzionalne n × n maske piksela, izvodeći operaciju rangiranja piksela. vrijednosti intenziteta unutar navedene maske i dodjeljivanje vrijednosti jednake maksimalnoj vrijednosti centralnom pikselu rangiranjem. Rangirani tip takođe uključuje proceduru srednjeg filtriranja, koja eliminiše nekorelisane slučajne signale i impulsni šum na slici bez "zamućenja" oštrih promena u osvetljenosti na granicama objekata.

Informativna upotreba linearnog filtriranja je zbog njegove sposobnosti da ispravi različite vrste izobličenja nastalih zbog nesavršenosti uređaja koji formiraju sliku. Pomoću linearnog filtriranja moguće je smanjiti uticaj fluktuacionog šuma i drugih defekata na reprodukovane slike u režimu povećanja kontrasta niskokontrastnih detalja sa povećanjem skale oblasti od interesa.

Korekcija izobličenja blende slike u odsustvu šumne komponente signala vrši se inverznim filtriranjem (dekonvolucijom). Međutim, treba imati na umu da filteri za dekonvoluciju imaju pojačanje disperzije šuma veće od 1, a umjesto poboljšanja slike, šum se može povećati.

Metode nelinearnog filtriranja zasnovane na frekventnim maskama smatraju se obećavajućim, omogućavajući smanjenje utjecaja niskofrekventnih komponenti signala slike i pojačavanje utjecaja visokofrekventnih komponenti, što povećava prostornu rezoluciju detalja opisanih u spektru slike višim prostornim frekvencije.

^ 18.2. ODREĐIVANJE GRANICA OBJEKATA NA SLICI

Sa stajališta prepoznavanja i analize objekata na slici, najinformativnije nisu vrijednosti svjetline objekata, već karakteristike njihovih granica - konture. Drugim riječima, glavna informacija ne leži u svjetlini pojedinih područja, već u njihovim obrisima. Zadatak isticanja kontura je izgraditi sliku precizno granica objekata i obrisa homogenih područja.

Obično se granica subjekta na fotografiji prikazuje razlikom u svjetlini između dvije relativno ujednačene oblasti. Ali razlika u svjetlini također može biti uzrokovana teksturom subjekta, sjenkama, svjetlima, promjenama u osvjetljenju itd.

Konturom slike ćemo nazvati skup njenih piksela u čijoj blizini se uočava nagla promjena funkcije svjetline. Budući da se u digitalnoj obradi slika prikazuje kao funkcija cjelobrojnih argumenata, konture su predstavljene linijama širine najmanje jedan piksel. Ako originalna slika, pored područja konstantne svjetline, sadrži područja s glatko promjenjivom svjetlinom, tada nije zajamčen kontinuitet linija konture. S druge strane, ako postoji šum u „komadično-konstantnoj” slici, tada se „dodatne” konture mogu naći u tačkama koje nisu granice regije.

Prilikom razvoja algoritama za odabir kontura, potrebno je uzeti u obzir navedene karakteristike ponašanja konturnih linija. Posebna dodatna obrada odabranih kontura omogućava vam da eliminišete praznine i potisnete lažne konturne linije.

Procedura za konstruisanje binarne slike granica objekta obično se sastoji od dvije uzastopne operacije: odabira kontura i njihovog praga.

Originalna slika se podvrgava linearnoj ili nelinearnoj obradi, uz odgovor na promjene svjetline. Kao rezultat ove operacije, formira se slika čija se funkcija svjetline značajno razlikuje od nule samo u područjima oštrih promjena svjetline slike. Prag formira konturni objekat iz ove slike. Izbor praga u drugoj fazi treba da se zasniva na sledećim razmatranjima. Ako je prag previsok, mogu se pojaviti lomovi ivica, a male razlike u svjetlini neće biti otkrivene. Ako je prag prenizak, mogu se pojaviti lažne konture zbog buke i neujednačenosti područja.

Pronađite granice na osnovu gradijenta. Jedan od najjednostavnijih načina da se izoluju granice je prostorna diferencijacija funkcije osvetljenja. Za dvodimenzionalnu funkciju osvjetljenja A (x, y), razlike u smjeru x i y se bilježe parcijalnim derivatima A (x, y) / x i A (x, y) / y, koji su proporcionalni brzina promjene svjetline u odgovarajućim smjerovima.

Rice. 18.2.1.


Izolacija razlika u svjetlini je ilustrovana na Sl. 18.2.1. Može se vidjeti da je podcrtavanje kontura okomitih na os x dato derivacijom A (x, y) / x (sl. B), a podvlačenje kontura okomitih na os y daje A (x, y) / y (sl. . v).

U praktičnim zadacima potrebno je odabrati konture čiji je smjer proizvoljan. U ove svrhe možete koristiti modul gradijenta funkcije svjetline

A (x, y) | = ,

Što je proporcionalno maksimalnoj (u smjeru) brzini promjene funkcije svjetline u datoj tački i ne ovisi o smjeru konture. Modul gradijenta, za razliku od parcijalnih derivacija, uzima samo nenegativne vrijednosti, stoga na rezultujućoj slici (slika D) tačke koje odgovaraju konturama imaju povećan nivo svjetline.

Za digitalne slike, analozi parcijalnih izvoda i modul gradijenta su funkcije razlike.

Praktični primjer detekcije granice na fotografskoj slici prikazan je na Sl. 18.2.2. Originalna slika (1) je jednobojna. Slika (2) prikazuje rezultat izračunavanja vektora gradijenta svjetline Ax, y) = (A / x, A / y). Kao što možete vidjeti na slici, na mjestima velike razlike u svjetlini, gradijent ima veliku dužinu. Filtriranjem piksela čija je dužina gradijenta veća od određenog praga , dobijamo sliku granica (3).



Rice. 18.2.2.
Nedostatak algoritma je preskakanje granice s malim razlikama u svjetlini i uključivanje granica detalja slike s velikim promjenama svjetline (koža veverice). Kada je slika bučna, mapa graničnih tačaka će biti zagađena i samo šum, jer se ne uzima u obzir da granične tačke odgovaraju ne samo razlikama u osvetljenosti, već i razlikama u osvetljenosti između relativno monotonih oblasti.

Da bi se smanjio efekat ovog nedostatka, slika se prvo podvrgava filtriranju Gaussovog izglađivanja. Sa anti-aliasing filtriranjem, mali beznačajni detalji su zamućeni brže od razlika između područja. Rezultat operacije možete vidjeti na slici (4). Međutim, u ovom slučaju, jasno definirane granice zamagljuju se u podebljane linije.

Gradijent svjetline u svakoj tački karakterizira dužina i smjer. Gore, prilikom traženja graničnih tačaka, korištena je samo dužina vektora. Smjer gradijenta je smjer maksimalnog povećanja funkcije, što vam omogućava da koristite proceduru ne-maksimalnog potiskivanja. U ovoj proceduri, za svaku tačku se razmatra segment dužine nekoliko piksela, orijentisan u pravcu gradijenta i sa centrom u razmatranom pikselu. Piksel se smatra maksimalnim ako i samo ako je dužina gradijenta u njemu maksimalna među svim dužinama nagiba piksela u segmentu. Svi maksimalni pikseli sa dužinama gradijenta većim od određenog praga mogu se prepoznati kao granični. Gradijent svjetline u svakoj tački je okomit na granicu, tako da nakon potiskivanja ne-maksima ne ostaju podebljane linije. Na svakom okomitom dijelu podebljane linije, ostat će jedan piksel s maksimalnom dužinom gradijenta.

Okomitost gradijenta svjetline na ivicu može se koristiti za praćenje granice počevši od nekog graničnog piksela. Ovo praćenje se koristi u filtriranju maksimalne histereze piksela. Ideja koja stoji iza filtriranja histereze je da duga stabilna granična kontura najvjerovatnije sadrži piksele sa posebno velikom razlikom u svjetlini i, počevši od takvog piksela, kontura se može pratiti kroz granične piksele s manjom razlikom svjetline.


Rice. 18.2.3.
Prilikom provođenja filtriranja histereze, uvodi se ne jedna, već dvije vrijednosti praga. Manji () odgovara minimalnoj dužini gradijenta na kojoj se piksel može prepoznati kao granični piksel. Veći (), odgovara minimalnoj dužini gradijenta na kojoj piksel može inicijalizirati putanju. Nakon što se obris inicijalizira na maksimalnom pikselu P sa dužinom gradijenta većom od , uzima se u obzir svaki maksimalni piksel uz njega Q... Ako je piksel Q ima dužinu gradijenta veću od  i ugao između vektora PQ i  ( P) je tada blizu 90 o P se dodaje konturi, a proces rekurzivno skače na Q. Njegov rezultat za originalnu sliku na Sl. 18.2.2 je prikazano na Sl. 18.2.3.

Dakle, algoritam za pronalaženje granica na osnovu gradijenta sastoji se u sekvencijalnoj primeni sledećih operacija:

Gaussovo izglađivanje filtriranja;

Pronalaženje gradijenta svjetline u svakom pikselu;

Pronalaženje maksimalnog broja piksela;

Filtriranje maksimalne histereze piksela.

Ovaj algoritam se zove Canny algoritam i najčešće se koristi za pronalaženje granica.

Pronalaženje granica na osnovu Laplasijana. Poznato je da je neophodan i dovoljan uslov za ekstremnu vrijednost prvog izvoda funkcije u proizvoljnoj tački jednakost nuli drugog izvoda u ovoj tački, a drugi izvod mora imati suprotne predznake na suprotnim stranama funkcije. tačka.

U dvodimenzionalnoj verziji, analog drugog izvoda je Laplasov - skalarni operator   f) = (2 f / x + 2 f / y).


Rice. 18.2.3.
Pronalaženje granica na slici pomoću Laplasijana može se obaviti po analogiji sa jednodimenzionalnim slučajem: granične tačke se prepoznaju kao tačke u kojima je Laplasov jednak nuli i oko kojih ima različite predznake. Procjeni Laplacijana korištenjem linearnog filtriranja također prethodi Gaussovo uglađujuće filtriranje kako bi se smanjila osjetljivost algoritma na šum. Gausovo izglađivanje i Laplasovo pretraživanje mogu se izvoditi istovremeno, tako da je pronalaženje granica pomoću ovog filtera brže nego korištenjem Cannyjevog algoritma. Filter se koristi u sistemima gdje su važni i kvalitet rezultata (obično inferiorniji u odnosu na Canny algoritam) i performanse. Da biste smanjili osjetljivost na beznačajne detalje, također možete isključiti iz broja graničnih tačaka one čija je dužina gradijenta manja od određenog praga (slika 18.2.3).

^ 18.3. IZOLIRANJE OBJEKATA NA SLICI

Prilikom rada sa slikom često je potrebno odvojiti jedan dio koji je značajan za korisnika (objekat) od svega ostalog (pozadina). Tako je, na primjer, na medicinskim slikama određeni objekt istaknut radi mjerenja njegovih parametara. Algoritmi za rješavanje ovog problema su interaktivni, jer samo korisnik može odrediti šta je predmet interesovanja, a šta pozadina.

U principu, zadatak se može riješiti na najjednostavniji način - korisnik jednostavno prati objekt kursorom miša, ali za složene objekte to će zahtijevati značajan trud i vrijeme.

Algoritam čarobnog štapića (Magic Wand) je bio jedan od prvih interaktivnih algoritama segmentacije. Korisnik sekvencijalno specificira tačke objekta, a algoritam bira okolne piksele slične boje i (prema korisnikovom nahođenju) dodaje odabrano područje objektu. Za procjenu "sličnosti", korisnik postavlja matricu pragova za osjetljivost udaljenosti između boja. Što je veći, više piksela će se izdvojiti u jednom koraku. U ovom slučaju, samo povezani pikseli se dodjeljuju području "sličnih" boja.

Algoritam dobro radi kada birate objekte koji su prilično monotone boje. Sa jakim varijacijama boja, nemoguće je precizno odvojiti subjekt od pozadine pomoću ovog algoritma. Ako je prag osjetljivosti prenizak, značajan dio objekta se možda neće isticati. Povećanje praga uzrokuje da selekcija "izlije" iz objekta. U slučaju šarolikog objekta ili zamagljene granice između pozadine i objekta, algoritam je gotovo bespomoćan.

Algoritam pametnih makaza koristi se od 1996. godine, stekao je popularnost i ugrađen je u glavni uređivač fotografija Adobe Photoshop. Kada koristi algoritam, korisnik crta granicu između objekta i pozadine, označavajući tačke na granici sa određenim razmakom, a "pametne makaze" povlače graničnu liniju između uzastopno navedenih tačaka.


Rice. 18.3.1.
Zamislite raster slike u obliku grafa (slika 18.3.1) sa ivicama formiranim od strane piksela. Kada korisnik specificira dvije uzastopne tačke P i Q, algoritam "makaze" izračunava minimalnu udaljenost između tačaka P i Q duž ivica grafa, dok uslovna geometrijska dužina svake ivice duž ove putanje ima inverzni odnos prema boji razlika piksela duž njegovih strana. Budući da će rubovi koji odgovaraju oštrim promjenama boje imati kraću uvjetnu dužinu, "pametne makaze" imaju tendenciju da povuku granicu duž takvih rubova.

"Pametne makaze" značajno ubrzavaju proces odabira predmeta. Međutim, oni ne rade dobro u prisustvu šarolike pozadine i/ili raznobojnog objekta. U takvim slučajevima potrebno je više krajnjih tačaka.

Segmentacija pomoću rezova grafova. Treći način isticanja objekta na pozadini također se temelji na teoriji grafova. Korisnik jednostavno označi neki skup A piksela koji pripada objektu i neki skup B piksela koji pripada pozadini. Budući da ovi pikseli ne moraju biti blizu granice, takvo označavanje ne zahtijeva mnogo truda od strane korisnika. Rezultat algoritma je segmentacija, u kojoj cijeli skup A pripada objektu, a skup B pozadini.

Ako rezultat odabira ne zadovoljava korisnika prvi put, on dodaje piksele originalnim skupovima, dodajući ih slici. Na primjer, ako je algoritam greškom pripisao dio objekta pozadini, korisnik označava neke od piksela ovog dijela kao piksele objekta (skup A). Rezultat ponovnog pokretanja algoritma je rafinirana segmentacija.

Pogledajmo kako algoritam funkcionira. Napravimo graf na rasteru na sljedeći način. Vrhove piksela grafa postavljamo u centar svakog piksela, a pod bojom vrhova podrazumijevamo boju piksela. Svaki vrh povezujemo sa susjednim vrhovima i dobivamo osam ivica koje povezuju centre susjednih piksela. Dodajmo težinu svakoj ivici:

( / L) exp (-  (C 2, C 2)),

Gdje je L geometrijska dužina ivice, C 1 i C 2 su boje vrhova povezanih rubom, λ i σ su neki (pozitivni) parametri,  (..) je matrica osjetljivosti razlike u boji. Što je veća razlika između boja vrhova, to je ta težina manja.

Dodajmo dva terminalna vrha grafu, nazvana izvor i odvod, i spojimo ih ivicama sa svakim vrhom grafa. Dodjeljujemo beskonačnu težinu ivicama koje povezuju izvor sa vrhovima skupa A i ivicama koje povezuju ponor sa vrhovima skupa B.

Razmotrite distribuciju boja vrhova skupa A (na primjer, kao histogram). Za sve vrhove piksela koji nisu iz skupa A, rubovima koji ih povezuju sa izvorom dodjeljujemo težinu proporcionalnu konzistentnosti njihove boje s ovom distribucijom boja, dok će težina ruba biti veća što je boja veća. vrha je "sličan" bojama vrhova skupa A. Sličan postupak se izvodi za skup B i ivice koje povezuju vrhove piksela sa odvodom.

Sve ivice grafa ćemo "isjeći" na dva skupa koji se ne sijeku - izvor i dionicu, a pretpostavit ćemo da vrhovi koji padaju u izvorni skup odgovaraju pikselima objekta, a ostali, koji spadaju u osnovni set, odgovaraju pozadinskim pikselima. Broj mogućih varijanti rezova je jednak 2 P, gdje je P broj piksela, budući da svaki vrh piksela može biti dodijeljen ili izvornom ili odvodnom skupu.


Rice. 18.3.2.
Težina rezanja je zbir težina svih reznih ivica, isključujući ivice sa beskonačnom težinom. Minimalni rez je rez sa minimalnom težinom, dok će izvorni pikseli ovog reza biti dodijeljeni pikselima objekta, a osnovni pikseli - pozadini. Granica između subjekta i pozadine biće povučena, ako je moguće, između piksela sa veoma različitim bojama.

Naravno, idealnog razdvajanja ne može biti. Na primjer, područje slike može biti slične boje pozadini (pikseli iz skupa B), ali okruženo pikselima iz skupa A i nije odvojeno od njih oštrim rubom. U takvim slučajevima, izbor parametra λ u formuli težine ruba uspostavlja ravnotežu između posljednje dvije tačke. Kako λ raste, postaje važnije da granica između pozadine i objekta leži između piksela različitih boja, a kako se λ smanjuje, postaje važnije da se dodijele pikseli slični po boji pikselima skupa A (ili B). na objekt (pozadinu). Primjer odabira objekta prikazan je na sl. 18.3.2.

^ 18.4. Izolacija karakteristika objekata

Ekstrakcija karakteristika omogućava pojednostavljenje implementacije prepoznavanja ili identifikacije objekta. Prilikom odabira najinformativnijih karakteristika, potrebno je uzeti u obzir kako svojstva samih objekata, tako i mogućnosti rezolucije primarnih oblikovača signala slike. Odabir karakteristika izvršit ćemo na primjeru obrade jednobojnih (jednoslojnih) slika. U slikama u boji, razmatrani algoritmi se mogu primijeniti na svaku boju posebno.

Tokom obrade preferiraju se sljedeće karakteristike objekata:

- površina i perimetar slike objekta;

- veličine upisanih najjednostavnijih geometrijskih figura (krugovi, pravokutnici, trouglovi itd.);

- broj i relativni položaj uglova;

- momenti inercije slika objekata.

Važna karakteristika većine geometrijskih karakteristika je invarijantnost u odnosu na rotaciju slike objekta, a normalizacijom geometrijskih karakteristika jedna u odnosu na drugu postiže se invarijantnost u odnosu na razmeru slike objekta.

Određivanje površine i perimetra. Površina slike objekta izračunava se prebrojavanjem broja elemenata koji se odnose na objekt:

A = S (x, y), S (x, y) =,

Gdje je L skup koordinata niza S (x, y) koji pripada odabranom objektu.

Perimetar slike objekta P se izračunava nakon što se odaberu granice objekta zbrajanjem više konturnih tačaka slike objekta.

Na osnovu odabranih karakteristika, normalizovana karakteristika invarijantna razmeri slike U = A / P 2 ili V = P /.

Određivanje polumjera upisanih i opisanih kružnica (sl. 18.4.1) sastoji se od dvije faze.


Rice. 18.4.1.
1. Određivanje koordinata geometrijskog centra slike objekta:

X q = xS (x, y) / S (x, y), Y q = yS (x, y) / S (x, y),

Gdje x i y- brojevi redova i kolona svih piksela S (x, y) uključenih u objekt.

2. Proračun minimalne i maksimalne udaljenosti od centra do granica slike objekta.

R (x, y) = .

R max = r (x, y max); R min = r (x, y min), gdje je x, y  P (perimetarske tačke).

Normalizovana karakteristika R ′ = R max ⁄ R min je invarijantna u odnosu na razmeru slike objekta.


Rice. 18.4.2.
Određivanje stranica opisanog pravougaonika (sl. 18.4.2) se izvodi na sledeći način. Određuju se maksimalne i minimalne vrijednosti apscisa i ordinata slike objekta x max i x min, y max i y min, nakon čega se određuju visina i osnova pravokutnika:

L = x max - x min, H = y max - y min.

Ova karakteristika nije invarijantna za rotaciju slike objekta.

Određivanje broja i relativnog položaja uglova. Klasičan način određivanja uglovnih tačaka slike objekta je analiza malog fragmenta konture u blizini date tačke i određivanje radijusa njene zakrivljenosti. Ako je radijus manji od praga, to je ugaoni element, u suprotnom nije.


Rice. 18.4.3.
Sa praktične tačke gledišta, čini se da je jednostavniji algoritam poželjniji. Sastoji se u procjeni udaljenosti između početne i krajnje točke fragmenta konture, na primjer, između elemenata konture sa serijskim brojevima k - 2 i k + 2 na Sl. 18.4.3.

Neka su x (k) i y (k) apscisa i ordinata elemenata konture, respektivno. Tada bi pravilo odluke moglo izgledati ovako:

(| x (k-2) −x (k + 2) | + | y ​​(k − 2) −y (k + 2) | ≤H).

Ako je uslov ispunjen, tada data tačka konture pripada skupu ugaonih tačaka L. Ovdje je H vrijednost praga odabrana uzimajući u obzir svojstva objekata.

Određivanje momenata inercije objekta. Termin "trenuci inercije slike objekta" nije vezan za mehaniku. Jednostavno za izračunavanje naznačene osobine koriste se matematički izrazi, slični proračunu momenata inercije materijalnog tijela, gdje se umjesto vrijednosti masa pojedinih tačaka tijela koriste vrijednosti osvjetljenja pri odgovarajuće tačke njegove slike su zamijenjene. Trenuci inercije su informativni znakovi za naknadno prepoznavanje obrazaca.



Rice. 18.4.4.
Označimo glavne potrebne momente inercije slike objekta kroz J 1 i J 2. Za pronalaženje J 1 i J 2 potrebno je prvo odrediti takozvane međumomente J x i J y, tj. momenti inercije oko vertikalne i horizontalne ose koordinatnog sistema, kao i mešoviti moment J x, y (slika 18.4.4a).

Redoslijed obračuna:

1. Određuju se koordinate centra "gravitacije" (energetskog centra) slike objekta.

X tse = xA (x, y) / A (x, y), Y tse = yA (x, y) / A (x, y),

2. Određeni su međumomenti J x, J y, J x, y.

J x = [(x- X tse) 2 A (x, y)], Y x = [(y- Y tse) 2 A (x, y)],

J xy = [(x- X tse) (y- Y tse) A (x, y)].

3. Glavne tačke su izračunate.

J 1,2 = .

^ 18.5. otkrivanje i prepoznavanje IMAGES objekata

Detekcija objekata. Detekcija (identifikacija) slika objekata na slici izobličenoj šumom i smetnjama može se definirati kao postupak za provjeru određenog uslova za poređenje dva broja – rezultat transformacije analizirane slike i određene granične vrijednosti:

L ≥ P. (18.5.1)

Ovdje je L [.] operator transformacije originalne slike, P [.] je operator formiranja granične vrijednosti. Odluka o dostupnosti objekta se donosi ako je uslov ispunjen. Kvalitet detekcije karakteriše verovatnoća ispunjenja uslova u prisustvu objekta na analiziranoj slici.

Specifični tip operatora L [.], P [.] I kvalitet detekcije zavise od dostupnosti apriornih informacija o očekivanim objektima, šumu, smetnjama i izobličenjima. Osnova za određivanje optimalnih parametara operatora je teorija statističkih rješenja.

Tako, na primjer, pri odabiru točkastih objekata, oblik slike objekta je jedinstveno određen funkcijom tačke raspršivanja sočiva, koja se može smatrati poznatom, a problem se svodi na klasičnu proceduru detekcije signala poznatog. oblik na pozadini aditivnog normalnog šuma sa nultom srednjom vrijednošću. U ovom slučaju, operatori transformacije su korelacioni integrali izračunati korišćenjem datog opisa poznate slike objekta i tipičnog šuma, respektivno. Identifikacija se sastoji u poređenju slike objekta sa standardima date klase. O objektu odlučuje najbolja utakmica.

Metoda za direktno poređenje objekta sa referentnom slikom. Neka je S (x, y) - originalna slika objekta, F (x, y) - referentna slika. Algoritam direktnog poređenja je sljedeći:

T = (S (x, y) - F (x, y)) 2 ≤ D, (18.5.2)

Gdje je D prag razlike.

Metoda je jednostavna i lako se može implementirati. Međutim, u prisustvu destabilizujućih faktora u realnim uslovima, pouzdanost metode je niska. Pri većoj vrijednosti praga D uvjet (18.5.2) mogu biti zadovoljeni raznim objektima i mogu se javiti greške povezane s pogrešnom identifikacijom objekta (greške prve vrste). Kako se D smanjuje, mogu se pojaviti greške kao što je nedostatak objekta (greške druge vrste). Prilagođavanjem vrednosti D može se samo promeniti odnos verovatnoće pojave grešaka prve i druge vrste u skladu sa datim kriterijumom optimalnosti.

Korelacioni metod na osnovu izračunavanja međukorelacije između objekata i standarda. Iz skupa od k alternativnih opcija bira se objekat (ili standard) na kojem se dobija maksimalni zbir unakrsne korelacije:

K (k) = S k (x, y) F k (x, y). (18.5.3)

Prilikom identifikacije objekata zgodno je koristiti koeficijente korelacije, koji u prvoj aproksimaciji daju i procjenu vjerovatnoće upućivanja objekta na dati standard:

R (k) = K (k) / K max (k), K max (k) = F k 2 (x, y), (18.5.3)

Gdje je K max (k) - autokorelacijske vrijednosti standarda.

Metoda korelacije je pouzdanija, ali zahtijeva mnogo više proračuna. Ali kod obrade binarnih slika to nije toliko važno, jer se množenje jednobitnih brojeva svodi na jednostavnu logičku operaciju "I".

Gore razmatrane metode zahtijevaju istu orijentaciju slika objekta i reference, njihovo poravnanje u prostornim koordinatama i održavanje istih mjerila.

Metode prepoznavanja zasnovane na sistemu karakteristika također koriste standarde objekata, ali se kao elementi poređenja koriste karakteristike objekta i standarda, što vam omogućava da smanjite količinu referentnih podataka i vrijeme obrade informacija. Međutim, treba imati na umu da se u praksi odabir karakteristika objekata uvijek vrši s određenom greškom, te je stoga potrebno identificirati i uzeti u obzir prirodu i stupanj mogućeg raspršenja procjena karakteristike koje se koriste za svaki od očekivanih objekata, tj koristiti histograme distribucije vrijednosti karakteristika.

Uz veliki broj mogućih varijanti objekata, preporučuje se višestepeni (hijerarhijski) algoritam. U ovom slučaju, u svakoj fazi prepoznavanja koristi se bilo koja od karakteristika objekta (površina, perimetar, polumjeri upisanih i opisanih kružnica, momenti inercije, broj i lokacija uglova itd.). Na nižim nivoima se koriste karakteristike koje ne zahtevaju velike računske troškove (na primer, površine i perimetri objekata), a one najinformativnije (na primer, momenti inercije) se koriste na gornjem nivou, gde je broj alternativa je minimalna.

A.V.Davydov.

književnost

46. ​​Huang T.S. i drugi Brzi algoritmi u digitalnoj obradi slike. - M.: Radio i komunikacija, 1984.-- 224 str.

47. Soifer V.A. Kompjuterska obrada slika. Dio 2. Metode i algoritmi. - Soros Educational Journal br. 3, 1996.

48. Apalkov I.V., Hrjaščov V.V. Uklanjanje šuma sa slika na osnovu nelinearnih algoritama pomoću statistike rangiranja. - Jaroslavski državni univerzitet, 2007.

49. Andreev A.L. Automatski sistemi televizijskog nadzora. Dio II. Aritmetičke i logičke osnove i algoritmi. Tutorial. - SPb: SPb, GUITMO, 2005.-- 88 str.

50. Rosenfeld L. G. i dr. Mogućnost naknadne obrade dijagnostičkih CT i MRI snimaka na personalnom računaru. - Ukrajinski medicinski časopis - № 6 (56) - XI / XII, 2006.

51. Lukin A. Uvod u digitalnu obradu signala (matematičke osnove).- M.: Moskovski državni univerzitet, Laboratorija

Top srodni članci