Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • TV (Smart TV)
  • Zadatak 2: slikovno prepoznavanje bioloških objekata. Obrada i prepoznavanje slike (tečaj predavanja, L.M.

Zadatak 2: slikovno prepoznavanje bioloških objekata. Obrada i prepoznavanje slike (tečaj predavanja, L.M.

  • Tutorial

Dugo sam želio napisati općeniti članak koji će sadržavati same osnove prepoznavanja slike, neku vrstu vodiča za osnovne metode, govoreći vam kada ih koristiti, koje probleme rješavaju, što možete učiniti navečer na koljenima i o čemu je bolje ne razmišljati bez tima od 20 ljudi.

Već dugo pišem neke članke o optičkom prepoznavanju, pa mi ljudi pišu nekoliko puta mjesečno razni ljudi s pitanjima o ovoj temi. Ponekad imate osjećaj da živite s njima različiti svjetovi. S jedne strane, shvaćate da je osoba najvjerojatnije profesionalac u srodnoj temi, ali u metodama optičko prepoznavanje zna vrlo malo. A ono što najviše smeta je š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 mu počnete govoriti nešto iz same osnove. A s obzirom na to da pričanje iz temelja oduzima puno vremena, kojeg često nema, postaje još tužnije.

Ovaj je članak namijenjen tako da osoba koja nikada nije radila s metodama prepoznavanja slika može u roku od 10-15 minuta stvoriti u svojoj glavi 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čet ću s nekoliko principa koje uvijek počinjemo govoriti potencijalnom kupcu ili osobi koja se želi početi baviti optičkim prepoznavanjem:

  • Kad rješavate problem, uvijek krenite od najjednostavnijeg. Puno je lakše staviti oznaku na osobu narančasta boja nego pratiti osobu, ističući je u kaskadama. Puno je lakše uzeti kameru iz visoka rezolucija nego razviti algoritam super-rezolucije.
  • Stroga formulacija problema u metodama optičkog prepoznavanja je redova veličine važnija nego u problemima sistemskog programiranja: jedan suvišna riječ može dodati 50% rada tehničkim specifikacijama.
  • U zadacima nema priznanja univerzalna rješenja. Ne možete napraviti algoritam koji će jednostavno "prepoznati bilo koji natpis". Znak na ulici i list teksta bitno su različiti objekti. Vjerojatno se može opći algoritam(dobar primjer iz Googlea), ali to će zahtijevati puno rada velikog tima i sastojat će se od desetaka različitih potprograma.
  • OpenCV je biblija koja ima mnogo metoda i može riješiti 50% gotovo svakog problema, ali OpenCV je samo mali dio onoga što se zapravo može učiniti. U jednoj studiji zaključci su napisani: “Problem se ne može riješiti OpenCV metodama, stoga je nerješiv.” Pokušajte to izbjeći, nemojte biti lijeni i svaki put trezveno procijenite trenutni zadatak ispočetka, bez korištenja OpenCV predložaka.
Vrlo je teško dati bilo kakav univerzalni savjet ili reći kako stvoriti nekakvu strukturu oko koje možete graditi rješenje proizvoljnih problema računalni vid. Svrha ovog članka je strukturirati što se može koristiti. Pokušat ću ga razbiti postojeće metode u tri grupe. Prva skupina je preliminarno filtriranje i priprema slike. Druga skupina je logička obrada rezultata filtriranja. Treća skupina su algoritmi odlučivanja temeljeni na logičkoj obradi. Granice između grupa su vrlo proizvoljne. Za rješavanje problema nije uvijek potrebno koristiti metode iz svih skupina, ponekad su dovoljne dvije, a ponekad i jedna.

Popis ovdje navedenih metoda nije potpun. Predlažem da u komentarima dodate kritičke metode koje nisam napisao i da svakoj pripišete 2-3 popratne riječi.

Dio 1. Filtriranje

U ovu sam grupu smjestio metode koje vam omogućuju odabir područja interesa na slikama bez njihove analize. Većina ovih metoda primjenjuje neku vrstu pojedinačne transformacije na sve točke na slici. Na razini filtriranja ne provodi se analiza slike, ali se točke koje se filtriraju mogu smatrati područjima s posebnim karakteristikama.
Binarizacija po pragu, odabir područja histograma
Najjednostavnija transformacija je binarizacija slike prema pragu. Za RGB slike i slike u sivim tonovima, prag je vrijednost boje. Postoje idealni problemi u kojima je takva transformacija dovoljna. Pretpostavimo da želite automatski odabrati objekte na bijelom listu papira:




Odabir praga na kojem dolazi do binarizacije uvelike određuje sam proces binarizacije. U u ovom slučaju, slika je binarizirana prosječnom bojom. Tipično, binarizacija se provodi pomoću algoritma koji adaptivno odabire prag. Takav algoritam može biti izbor očekivanja ili načina. Ili možete odabrati najveći vrh u histogramu.

Binarizacija može dati vrlo zanimljive rezultate pri radu s histogramima, uključujući i situaciju u kojoj ne razmatramo sliku u RGB, već u HSV. Na primjer, boje segmenta od interesa. Na ovom principu možete izgraditi i detektor oznaka i detektor ljudske kože.
Klasično filtriranje: Fourier, niskopropusni filtar, visokopropusni filtar
Klasične metode radarskog filtriranja i obrade signala mogu se uspješno primijeniti na razne zadatke prepoznavanja uzoraka. Tradicionalna metoda u radaru, koja se gotovo nikad ne koristi u slikama u čisti oblik, je Fourierova transformacija (točnije, FFT). Jedna od rijetkih iznimaka u kojima se koristi jednodimenzionalna Fourierova transformacija je kompresija slike. Za analizu slike jednodimenzionalna transformacija obično nije dovoljna; trebate koristiti dvodimenzionalnu transformaciju koja zahtijeva mnogo više resursa.

Malo ljudi to zapravo izračuna; obično je mnogo brže i lakše koristiti konvoluciju područja interesa s gotovim filtrom, podešenim za visoke (HPF) ili niske (LPF) frekvencije. Ova metoda, naravno, ne dopušta analizu spektra, ali in konkretan zadatak Video obrada obično ne zahtijeva analizu, već rezultate.


Najviše jednostavni primjeri filteri koji implementiraju podcrtavanje niske frekvencije(Gaussov filter) i visoke frekvencije(Gabor filter).
Za svaku točku slike odabire se prozor i množi s filtrom iste veličine. Rezultat takve konvolucije je nova vrijednost boda. Prilikom implementacije niskopropusnih filtara i visokopropusnih filtara dobivaju se slike sljedećeg tipa:



Valići
Ali što ako koristimo neku proizvoljnu karakterističnu funkciju za konvoluciju sa signalom? Tada će se zvati "Wavelet transformacija". Ova definicija valića nije točna, ali tradicionalno, u mnogim timovima, valićka analiza je potraga za proizvoljnim uzorkom na slici korištenjem konvolucije s modelom tog uzorka. Postoji skup klasičnih funkcija koje se koriste u valićnoj analizi. To uključuje valić Haar, valić Morlet, valić meksičkog šešira itd. Haar primitive, o kojima je bilo nekoliko mojih prethodnih članaka (,), odnose se na takve funkcije za dvodimenzionalni prostor.


Iznad su 4 primjera klasičnih valića. 3-dimenzionalni Haarov valić, 2-dimenzionalni Meyerov valić, meksički Hat valić, Daubechiesov valić. Dobar primjer Korištenje proširene interpretacije valića je problem pronalaženja odsjaja u oku, za koji je valić sam odsjaj:

Klasični valići obično se koriste za ili za njihovu klasifikaciju (što će biti opisano u nastavku).
Poveznica
Nakon ovako slobodnog tumačenja valića s moje strane, vrijedno je spomenuti stvarnu korelaciju koja je u njihovoj osnovi. Prilikom filtriranja slika ovo neizostavan alat. Klasična primjena je korelacija video streama radi pronalaženja pomaka ili optičkih tokova. Najjednostavniji detektor pomaka također je, u određenom smislu, korelator razlike. Gdje slike nisu bile u korelaciji, bilo je kretanja.

Funkcije filtriranja
Zanimljiva klasa filtara je funkcionalno filtriranje. Ovo su čisto matematički filtri koji vam omogućuju otkrivanje jednostavnih matematička funkcija na slici (ravna linija, parabola, krug). Konstruira se akumulirajuća slika u kojoj je za svaku točku izvorne slike nacrtan skup funkcija koje je generiraju. Najklasičnija transformacija je Hough transformacija za linije. U ovoj transformaciji, za svaku točku (x;y), nacrtan je skup točaka (a;b) pravca y=ax+b za koje vrijedi jednakost. Dobijate prekrasne slike:


(prvi plus ima onaj tko prvi nađe caku u slici i ovoj definiciji i objasni je, drugi plus ima onaj tko prvi kaže što je ovdje prikazano)
Houghova transformacija omogućuje pronalaženje bilo koje funkcije koja se može parametrizirati. Na primjer krugovi. Postoji modificirana transformacija koja vam omogućuje pretraživanje bilo kojeg . Matematičari užasno vole ovu transformaciju. Ali pri obradi slika, nažalost, ne radi uvijek. Vrlo spora brzina rada, vrlo visoka osjetljivost na kvalitetu binarizacije. Čak i u idealnim situacijama, radije sam se zadovoljio drugim metodama.
Analog Houghove transformacije za ravne linije je Radonova transformacija. Izračunava se putem FFT-a, što daje dobitak performansi u situaciji kada ima puno bodova. Osim toga, može se primijeniti na nebinariziranu sliku.
Filtriranje kontura
Zasebna klasa filtara je rubno i konturno filtriranje. Obrisi su vrlo korisni kada želimo prijeći s rada sa slikom na rad s objektima na toj slici. Kada je predmet prilično složen, ali dobro razaznat, onda često jedini način raditi s njim je istaknuti njegove konture. Postoji niz algoritama rješavanje problema krugovi za filtriranje:

Najčešće se koristi Canny koji dobro radi i čija je implementacija u OpenCV-u (tu je i Sobel, ali lošije traži konture).



Ostali filteri
Iznad su filtri čije izmjene pomažu u rješavanju 80-90% problema. Ali osim njih, postoje rjeđi filtri koji se koriste u lokalnim zadacima. Postoji na desetke takvih filtera, neću ih sve nabrajati. Zanimljivi su iterativni filtri (na primjer), kao i ridgelet i curvlet transformacije, koje su spoj klasičnog valovitog filtriranja i analize u polju radon transformacije. Beamlet transformacija lijepo funkcionira na granici valićne transformacije i logičke analize, omogućujući vam da istaknete konture:

No te su transformacije vrlo specifične i skrojene za rijetke zadatke.

Dio 2. Logička obrada rezultata filtriranja

Filtriranje daje skup podataka prikladnih za obradu. Ali često ne možete jednostavno uzeti i koristiti te podatke bez obrade. U ovom dijelu bit će ih nekoliko klasične metode, omogućujući vam prijelaz sa slike na svojstva objekata ili na same objekte.
Morfologija
Prijelaz s filtriranja na logiku, po mom mišljenju, su metode matematičke morfologije (,). U biti, to su najjednostavnije operacije rasta i nagrizanja binarnih slika. Ove metode omogućuju uklanjanje šuma iz binarne slike povećanjem ili smanjenjem postojećih elemenata. Postoje algoritmi za konturiranje temeljeni na matematičkoj morfologiji, ali obično se koriste neke vrste hibridnih algoritama ili algoritama u kombinaciji.
Analiza kontura
Algoritmi za dobivanje granica već su spomenuti u odjeljku o filtriranju. Rezultirajuće granice se vrlo jednostavno pretvaraju u konture. Za Canny algoritam to se događa automatski; za druge algoritme potrebna je dodatna binarizacija. Možete dobiti konturu za binarni algoritam, na primjer, pomoću algoritma buba.
Kontura je jedinstvena karakteristika objekta. To vam često omogućuje prepoznavanje objekta prema njegovom obrisu. Postoji moćan matematički aparat koji vam to omogućuje. Uređaj se naziva analiza kontura (,).

Da budem iskren, nikada nisam mogao primijeniti analizu kontura u pravi problemi. Potrebni su previše idealni uvjeti. Ili nema granica, ili je previše buke. Ali, ako trebate prepoznati nešto u idealnim uvjetima, onda je analiza kontura odlična opcija. Radi vrlo brzo, lijepa matematika i jasna logika.
Posebne točke
Singularne točke su jedinstvene karakteristike objekta koje omogućuju usporedbu objekta sa samim sobom ili sa sličnim klasama objekata. Postoji nekoliko desetaka načina za prepoznavanje takvih točaka. Neke metode identificiraju posebne točke u susjednim okvirima, neke nakon dužeg vremena i kada se osvjetljenje promijeni, neke vam omogućuju pronalaženje posebnih točaka koje ostaju takve čak i kada se objekt rotira. Počnimo s metodama koje nam omogućuju pronalaženje posebnih točaka, koje nisu tako stabilne, ali se brzo izračunavaju, a zatim ćemo ići u sve većoj složenosti:
Prvi razred. Posebne točke koje su stabilne tijekom razdoblja od nekoliko sekundi. Takve se točke koriste za vođenje objekta između susjednih video okvira ili za kombiniranje slika sa susjednih kamera. Takve točke uključuju lokalne maksimume slike, kutove na slici (najbolji detektor je možda Charis detektor), točke u kojima se postiže maksimalna disperzija, određeni gradijenti itd.
Drugi razred. Posebne točke koje su stabilne pri promjenama osvjetljenja i malim pomacima objekta. Takve točke služe prvenstveno za obuku i kasniju klasifikaciju tipova objekata. Na primjer, klasifikator pješaka ili klasifikator lica proizvod je sustava izgrađenog upravo na takvim točkama. Neki od prethodno spomenutih valića mogu biti osnova za takve točke. Na primjer, Haar primitive, traženje istaknutih dijelova, traženje drugih specifičnih funkcija. Ove točke uključuju one koje su pronađene metodom histograma usmjerenih gradijenata (HOG).
Treća klasa. Stabilne točke. Znam samo za dvije metode koje daju potpunu stabilnost i njihove modifikacije. Ovo i . Omogućuju vam pronalaženje posebnih točaka čak i kada rotirate sliku. Izračun takvih bodova traje dulje u usporedbi s drugim metodama, ali je vrijeme prilično ograničeno. Nažalost, ove metode su patentirane. Iako je u Rusiji nemoguće patentirati algoritme, pa ga koristite za domaće tržište.

Dio 3. Trening

Treći dio priče bit će posvećen metodama koje ne rade izravno sa slikom, ali koje vam omogućuju donošenje odluka. Uglavnom razne metode strojno učenje i donošenje odluka. Nedavno je Yandyx objavio na Habru na ovu temu, vrlo je dobar izbor. Evo ga tekstualna verzija. Za ozbiljno proučavanje teme, toplo preporučujem da ih pogledate. Ovdje ću pokušati ocrtati nekoliko glavnih metoda koje se posebno koriste u prepoznavanju uzoraka.
U 80% situacija suština učenja u zadatku prepoznavanja je sljedeća:
Postoji testni uzorak koji sadrži nekoliko klasa objekata. Neka to bude prisutnost/odsutnost osobe na fotografiji. Za svaku sliku postoji skup značajki koje su istaknute nekom značajkom, bilo da je to Haar, HOG, SURF ili neki valić. Algoritam učenja mora izgraditi model tako da može analizirati novu sliku i odlučiti koji je objekt na slici.
Kako se to radi? Svaka od testnih slika je točka u prostoru značajki. Njegove koordinate su težina svake značajke na slici. Neka naši znakovi budu: “Prisutnost očiju”, “Prisutnost nosa”, “Prisutnost dviju ruku”, “Prisutnost ušiju” itd... Sve ove znakove ćemo istaknuti pomoću naših postojećih detektora, koji su obučeni na dijelovi tijela slični ljudskim Za osobu u takvom prostoru točna bi točka bila . Za majmuna, točka za konja. Klasifikator se obučava pomoću uzorka primjera. Ali nisu sve fotografije prikazivale ruke, druge nisu imale oči, a na trećoj je majmun imao ljudski nos zbog pogreške klasifikatora. Istrenirani ljudski klasifikator automatski dijeli prostor značajki na takav način da kaže: ako je prva značajka u rasponu od 0,5 U biti, cilj klasifikatora je nacrtati područja u prostoru obilježja koja su karakteristična za objekte klasifikacije. Ovako će izgledati sekvencijalna aproksimacija odgovora za jedan od klasifikatora (AdaBoost) u dvodimenzionalnom prostoru:


Postoji mnogo klasifikatora. Svaki od njih radi bolje u nekom određenom zadatku. Zadatak odabira klasifikatora za određeni zadatak uvelike je umjetnost. Evo nekoliko lijepih slika na temu.
Jednostavan slučaj, jednodimenzionalno razdvajanje
Pogledajmo primjer najjednostavnijeg slučaja klasifikacije, kada je prostor značajki jednodimenzionalan, a moramo razdvojiti 2 klase. Situacija se događa češće nego što mislite: na primjer, kada trebate razlikovati dva signala ili usporediti uzorak s uzorkom. Dopustite nam uzorak za obuku. Ovo proizvodi sliku gdje je X-os mjera sličnosti, a Y-os broj događaja s takvom mjerom. Kada je željeni objekt sličan sebi, dobiva se lijevi Gaussov. Kad ne izgleda tako, onda je ono pravo. Vrijednost X=0,4 razdvaja uzorke tako da pogrešna odluka smanjuje vjerojatnost donošenja pogrešne odluke. Potraga za takvim separatorom je zadatak klasifikacije.


Mala napomena. Kriterij koji minimizira pogrešku neće uvijek biti optimalan. Sljedeći grafikon je grafikon stvarnog sustava za prepoznavanje šarenice. Za takav sustav odabire se kriterij da se minimalizira vjerojatnost lažnog ulaska neovlaštene osobe u objekt. Ta se vjerojatnost naziva "pogreška tipa I", "vjerojatnost lažnog alarma", "lažno pozitivno". U literaturi na engleskom jeziku “False Access Rate”.
) AdaBusta je jedan od najčešćih klasifikatora. Na primjer, na njemu je izgrađena kaskada Haar. Obično se koristi kada je potrebna binarna klasifikacija, ali ništa ne sprječava obuku za veći broj klasa.
SVM ( , , , ) Jedan od najmoćnijih klasifikatora, koji ima mnogo implementacija. Uglavnom, na zadacima učenja s kojima sam se susretao, radio je slično kao Adabusta. Smatra se prilično brzim, ali njegovo je treniranje teže od Adabustinog i zahtijeva odabir prave jezgre.

Tu su i neuronske mreže i regresija. Ali da bismo ih ukratko klasificirali i pokazali u čemu se razlikuju, potreban nam je članak puno dulji od ovoga.
________________________________________________
Nadam se da sam uspio dati kratak pregled korištenih metoda bez poniranja u matematiku i opis. Možda ovo nekome pomogne. Iako je, naravno, članak nedorečen i nema ni riječi o radu sa stereo slikama, niti o LSM-u s Kalmanovim filtrom, 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 problemi ImageRecognitiona.

I konačno

Što čitati?
1) Jednom mi se jako svidjela knjiga "Digitalna obrada slike" B. Yanea, koja je napisana jednostavno i jasno, ali je u isto vrijeme data gotovo sva matematika. Dobro za upoznavanje s postojećim metodama.
2) Klasik žanra je R. Gonzalez, R. Woods “Digital Image Processing”. Iz nekog razloga bilo mi je teže od prvog. Puno manje matematike, ali više metoda i slika.
3) “Obrada i analiza slike u problemima računalnog vida” - napisano na temelju kolegija koji se izvodi na jednom od odsjeka za fiziku i tehnologiju. Postoji mnogo metoda i njihovih detaljnih opisa. Ali po mom mišljenju, knjiga ima dva velika nedostatka: knjiga je snažno usredotočena na softverski paket koji dolazi s njom; u knjizi se prečesto opis jednostavne metode pretvara u matematičku džunglu iz koje je teško izvesti strukturni dijagram metode. Ali autori su napravili prikladnu web stranicu na kojoj je predstavljen gotovo sav sadržaj - wiki.technicalvision.ru Dodaj oznake

Kao tema istraživanja umjetne inteligencije, prepoznavanje slika ima dugu povijest i veliku praktičnu važnost. Prvo se koristio za strojno čitanje rukom pisanih brojeva. Trenutno se opseg njegove primjene znatno proširio: od mjerenja, kontrole, sortiranja i sastavljanja u proizvodnim procesima do analize slika očitanih iz daljine, dijagnostike iz medicinskih slika, kvantitativne evaluacije 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 čimbenici igraju važnu ulogu. Konkretno, proces razumijevanja slike uključuje semantičko zaključivanje, ali njegova implementacija zahtijeva prikupljanje opsežnog znanja i intuitivnih odluka koje nadilaze logiku, pa je iznimno teško simulirati takav proces u računalu.

Postojeći alati za prepoznavanje slike koriste različite metode ovisno o tome je li objekt prepoznavanja umjetan ili prirodan. U prvom slučaju obično se radi o pojedinačnim predmetima jasne forme, pa je veliki broj studija

usredotočuje se na podudaranje uzoraka otkrivanjem rubova i rubova ili zaključivanjem trodimenzionalnih oblika pomoću geometrijskih pravila. Među prirodnim objektima ima mnogo objekata nepravilnog oblika sa chiaroscuro, pa se obično klaster analizom dijele na homogena područja, a zatim se na temelju karakteristika oblika tih područja donosi zaključak o objektu. Osim toga, u posljednje vrijeme provedeno je mnogo istraživanja o reprodukciji dvodimenzionalnih i trodimenzionalnih oblika predmeta na temelju obrade velikog broja slika. U robotici postoji potreba za obradom pokretnih slika u realnom vremenu, odnosno brzina prepoznavanja postaje od velike važnosti.

Općenito, proces prepoznavanja slike pomoću računala je sljedeći.

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

2. Prethodni tretman. Uklanjanje šuma, normalizacija za usporedbu sa standardom, segmentacija (odabir lokalnih informacija potrebnih za prepoznavanje) itd.

3. Ekstrakcija značajki. Značajke slike mogu imati različite razine. Strogo govoreći, segmentacija je također dio izdvajanja značajki. Metode izdvajanja značajki mogu biti lokalne ili globalne. Primjer lokalne metode je otkrivanje rubova, globalno klasteriranje i metoda proširenja regije. Detekcija rubova koristi diskontinuitete između regija, dok je klasteriranje segmentacija temeljena na detekciji homogenih regija. Budući da u svakom slučaju slikovna informacija sadrži šum koji nije eliminiran u fazi pretprocesiranja, segmentacija zahtijeva obradu nejasnih informacija. Ekstrakcija globalnih značajki provodi se u odnosu na oblik, svojstva, relativni položaj i druge karakteristike odabranih područja. Ovaj postupak je od velike važnosti za kasniju fazu procjene.

4. Razumijevanje i vrednovanje. Proces razumijevanja slike

nazivaju se ili klasifikacija i identifikacija usporedbom rezultirajućih klastera s poznatim modelima ili konstruiranjem trodimenzionalne slike izvornog objekta korištenjem zaključaka. Rezultat ovog procesa je konačni cilj prepoznavanja slike.

Trenutno je o procesu prepoznavanja slike proveden ogroman broj istraživanja, ali rezultati su još uvijek krajnje nezadovoljavajući. Na primjer, pitanja kao što su razumijevanje složenih slika, uzajamna transformacija verbalnih i video informacija, prepoznavanje objekata krivocrtnih i nepravilnih oblika, prepoznavanje mutnih slika, visoko učinkovito izdvajanje značajki, semantičko zaključivanje i mašta, itd. praktički se nisu bavila.

Glavni metodološki pristupi koji su trenutno prihvaćeni u prepoznavanju su statistika, klaster analiza, dedukcija u dvovrijednoj logici i niz drugih, ali svi su oni vrlo daleko od procesa prepoznavanja koji je karakterističan za ljude. Ekstrakcija značajki je najvažniji korak u prepoznavanju slike, ali je također izuzetno složen. Doista, što je atribut slike? Zašto karikatura više liči na osobu nego njezina fotografija? Očigledno, važnu ulogu u procesu ljudskog prepoznavanja igraju informacije koje se računalu čine ništa više od buke, ali su nekako izvučene i predstavljene. Znakovi ove vrste mogu se identificirati prema osjećajima osobe, a ne logikom. Osim toga, kod prepoznavanja mutnih slika ne rade analitičke sposobnosti, već sposobnosti generalizacije, tj. to je također intuitivan proces. Za simulaciju takvih procesa potrebno je istraživanje metoda za obradu subjektivnih informacija i tehnika za rukovanje makroinformacijama. Istraživanja o prepoznavanju nejasnih slika tek počinju, ali već se očekuje daljnji razvoj nove metodologije koja zadovoljava gore navedene zahtjeve.

Razmotrimo ukratko stanje prepoznavanja nejasnih slika. Budući da video informacije čak i prilično jasnog objekta mogu biti poremećene šumom, neizrazita logika se najčešće koristi za otkrivanje kontura. Tipičan primjer je klasifikacija

elementi slike korištenjem neizrazitog grupiranja. Međutim, budući da su apsolutno identični elementi rijetki, potrebno je "nejasno" grupiranje. Slične se metode koriste pri klasificiranju slika koje imaju raspršenost u odnosu na referentnu sliku (prepoznavanje rukom pisanih znakova, govora itd.).

Kod izravnog detektiranja kontura javlja se problem šuma koji se ne može u potpunosti riješiti uz pomoć filtara. Osim toga, potrebni su nalazi za nadopunjavanje izgubljenih područja. U tu svrhu koriste se heuristička pravila koja su, međutim, nejasne kvalitativne prirode. Kad se prijeđe u fazu razumijevanja slike, javlja se problem učinkovitijeg neizrazitog slaganja slika, koji za svoje rješenje zahtijeva usporedbu ne samo u formi, već iu semantici. Posebno se ova situacija javlja u području dijagnostike pomoću rendgenskih zraka, gdje je nemoguće formirati pravila.

Dolje su navedeni neki tipični primjeri istraživanja prepoznavanja slika korištenjem neizrazite logike.

Skeniranje slike i otkrivanje objekata u njoj zadatak je broj 1 u obradi slike i računalnom vidu. Pretraživanje za "automatsko prepoznavanje slike" na Google Scholar-u vratit će mnoge članke sa složenim jednadžbama i algoritmima od ranih 90-ih do danas. To sugerira da ovaj problem zaokuplja znanstvenike od pojave web pretraživanja, ali još nije riješen.

Osnivač CognitiveSEO Razvan Gavrilas vjeruje da će Google u bliskoj budućnosti promijeniti svoje algoritme za rangiranje slika, što će utjecati na pretraživanje i, zapravo, na optimizaciju tražilica diljem 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, otkrivanje objekata na slikama postat će neka vrsta dodatnog faktora rangiranja. Na primjer, slika plavog psa bila bi 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 što je na slici),
  • prepoznavanje objekata na slici pomoći će vam da sadržaj stranice povežete s tom slikom. Ako stranica ima puno slika plavih pasa i drugih stvari vezanih uz pse, tada će ta stranica imati viši rang kao stranica za pse.

Drugo je pitanje hoće li prepoznavanje uzoraka uvesti "novu eru" za manipuliranje objektima na slikama kao novu sumnjivu SEO tehniku? Ne, jer algoritmi tražilice ovih dana mogu lako otkriti ovu vrstu neželjene pošte.

Google, umjetna inteligencija i prepoznavanje slika

Sveučilište Stanford je 2010. prvi put održalo natjecanje ILSVRC (ImageNet large-scale visual recognition challenge) na kojem programeri demonstriraju mogućnosti sustava za prepoznavanje slika koje razvijaju.

ILSVRC uključuje tri glavne faze:

  • klasifikacija,
  • klasifikacija s lokalizacijom,
  • otkrivanje.

U prvom slučaju procjenjuje se sposobnost algoritma da stvori ispravne "potpise" za sliku (označavanje); lokalizacija uključuje identifikaciju glavnih objekata na slici; zadatak detekcije formuliran je na sličan način, ali stroži kriteriji ocjenjivanja prijaviti se ovdje.

U slučaju detekcije, algoritam za prepoznavanje mora opisati složenu sliku s mnogo objekata, određujući njihovu lokaciju i točno identificirajući svaki od njih. To znači da ako netko na slici vozi moped, softver mora moći ne samo razlikovati nekoliko odvojenih objekata (na primjer, moped, osobu i kacigu), već ih i ispravno pozicionirati u prostoru i ispravno klasificirati ih. Kao što možemo vidjeti na donjoj slici, pojedinačne stavke su ispravno identificirane i klasificirane.

Bilo koja tražilica s ovom mogućnošću otežat će bilo kome da fotografije ljudi na mopedu predstavi kao fotografije vozača Porschea kroz manipulaciju metapodacima. Algoritam sposoban za prepoznavanje objekata prilično je napredan i moći će analizirati bilo koju sliku, uključujući i onu najsloženiju.

2014. godine na natjecanju ILSVRC pobijedio je tim GoogLeNet. Naziv je nastao od riječi Google i LeNet - jedna od implementacija konvolucijske neuronske mreže. Takva mreža može brzo učiti i proizvoditi rezultate čak i s malom količinom memorije zbog više od deseterostrukog smanjenja broja parametara u usporedbi s većinom drugih modela računalnog vida.

Pojam "neuralne mreže" odnosi se na umjetne neuronske mreže (ANN), koje su računalni modeli temeljeni na principima učenja i prepoznavanja uzoraka. U nastavku je dan primjer rada algoritma za detekciju objekta:

GoogLeNet tim koristi specifičnu vrstu ANN-a - konvolucionarnu neuronsku mrežu, čiji je princip da pojedinačni neuroni reagiraju na različita (ali preklapajuća) područja u vidnom polju. Ta se područja mogu postaviti jedan pored drugog kako bi se stvorila složenija slika. Prema Razvanu Gavrilasu, ovo podsjeća na rad sa slojevima u uređivaču slika.

Jedna od prednosti konvolucijske neuronske mreže je dobra podrška za translaciju - bilo koju vrstu pomicanja objekta iz jednog prostora u drugi. Infrastruktura DistBelief može istaknuti objekt bez obzira gdje se nalazi na slici.

Druga korisna značajka infrastrukture je nepromjenjivost mjerila, prema kojoj se svojstva objekata ne mijenjaju ako se mjerila duljina pomnože zajedničkim faktorom. To znači da okvir DistBelief mora jasno prepoznati sliku, na primjer, "naranče", bez obzira na to je li velika (na pozadini radne površine) ili sićušna (na ikoni). U oba slučaja objekt je narančaste boje i klasificiran je kao "narančasti".

Potrebno je reći nešto o Hebbovom principu, prema kojem se treniraju umjetne neuronske mreže. U knjizi Organisation of Behavior: A Neuropsychological Theory, Hebbov postulat je sljedeći: “Ako je akson stanice A dovoljno blizu da pobudi stanicu B, i opetovano ili opetovano sudjeluje u njenom pobuđivanju, tada je neki proces rasta ili metaboličke promjene opaženo u jednoj ili obje stanice, što dovodi do povećanja učinkovitosti A kao jedne od stanica koje pobuđuju B.”

Razvan Gavrilas malo pojednostavljuje citat: "Stanice koje pale zajedno se vežu zajedno." U slučaju ANN, "stanice" treba zamijeniti s "neuroni". Da povučemo daljnju analogiju, softver će se moći naučiti neprestano poboljšavati.

Google zapošljava stručnjake u području umjetne inteligencije i prepoznavanja slika

Google stvara vlastitu tehnologiju prepoznavanja slika na temelju razvoja trećih strana; na primjer, u tu svrhu kupio je startup tvrtku DNNresearch, koja se bavi istraživanjem u području prepoznavanja objekata i glasa. DNNresearch je startup; u trenutku akvizicije imao je troje zaposlenih koji su automatski postali zaposlenici Googlea. Dobili su potporu za potporu radu u području neuronskih mreža. Google može koristiti nove tehnologije za poboljšanje kvalitete pretraživanja slika.

Googleova je strategija držati mnoga rješenja otvorenog koda dostupnima drugim tvrtkama. To se radi kako bi se razvilo tržište. Prema Razvanu, zašto daviti svoje konkurente kada si možete priuštiti da ga kupite nakon nekog vremena?

Još jedna zanimljiva akvizicija Googlea je tvrtka DeepMind u koju je uloženo 400 milijuna dolara. Ova i mnoge druge akvizicije prvenstveno su usmjerene na privlačenje kvalificiranih stručnjaka u Google, a ne na neka gotova rješenja. Ovakvi potezi kupnje tvrtki dokaz su utrke Googlea, Facebooka i drugih internetskih kompanija za “mozgovima” za daljnji razvoj na području umjetne inteligencije.

Google+ već koristi otkrivanje objekata u slikama. Je li Google Search sljedeći?

Zapravo, algoritam za detekciju slike temeljen na neuronskoj mreži radi na Googleu+ više od godinu dana. Dio softverskog koda predstavljenog na ILSVRC-u korišten je za poboljšanje algoritama Google+, naime za traženje određenih vrsta fotografija.

Googleova tehnologija prepoznavanja slika ima sljedeće značajke:

  • Googleov algoritam uzima u obzir korespondenciju objekata na web slikama (krupni plan, umjetno osvjetljenje, detalji) s objektima na prirodnim fotografijama (srednja snimka, prirodno svjetlo sa sjenama, različiti stupnjevi detalja). Drugim riječima, cvijet treba ostati cvijet čak i na slikama s različitim rezolucijama ili uvjetima osvjetljenja.
  • Neke specifične vizualne klase uklonjene su iz općih jedinica. Na primjer, u velikom popisu naziva cvijeća koje algoritam razlikuje, označene su neke pojedinačne biljke, na primjer, hibiskus ili dalija.
  • Googleov algoritam za prepoznavanje slika također je uspio naučiti kako raditi s apstraktnim kategorijama objekata, ističući određeni broj slika koje se mogu kategorizirati kao "ples", "hrana", "poljupci". Za to je potrebno mnogo više vremena od jednostavnog identificiranja narančasto-narančastih odnosa.

Klase s različitim značenjima također se dobro obrađuju. Primjer je "auto". Je li to stvarno fotografija automobila ako na njoj možemo vidjeti cijeli automobil? Smatra li se slika unutrašnjosti automobila fotografijom automobila ili nešto drugo? Na oba bismo pitanja odgovorili potvrdno, a Googleov algoritam za prepoznavanje čini isto.

Treba napomenuti da je sustav za prepoznavanje slika još uvijek nedovoljno razvijen. Međutim, čak iu svom "sirovom" obliku, Googleov algoritam je za glavu iznad svih dosadašnjih dostignuća u području računalnog vida.

Je li tehnologija prepoznavanja slika dio Googleovog Grafikona znanja?

Googleov novi algoritam dio je "strojnog učenja" koje je dijelom implementirano u Knowledge Graph. Sadrži entitete - objekte dizajnirane da zamijene znakove koji se ne mogu pojaviti u svom "čistom" obliku u HTML tekstu, na primjer, znak "

Svaki objekt i svaka klasa objekata dobiva jedinstvenu šifru, tako da se životinja "jaguar" nikada neće zamijeniti s istoimenom markom automobila. Na temelju tih 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 karakterne objekte.

Kako tehnologija otkrivanja objekata može utjecati na SEO?

Sposobnost prepoznavanja slika može biti korisna kad god trebate znati što je na slici.

Iz opće perspektive SEO-a, mogućnost prepoznavanja slika veliki je korak naprijed. To pomaže u poboljšanju kvalitete sadržaja, jer postaje gotovo nemoguće prevariti tražilicu netočno označenim fotografijama ili velikim brojem njih.

Dobar vizualni sadržaj (tj. visoka kvaliteta slike, jasno vidljivi objekti, relevantne fotografije) vjerojatno će igrati važnu ulogu u svemu što se tiče vizualnog pretraživanja.

Ako želite da vaša slika bude prva među slikama za upite “Yellow Dog”, tada će optimizacija morati započeti navođenjem tipa vaše slike i popisom objekata koje sadrži.

Zaključak

Ljudska sposobnost prepoznavanja mnogih objekata i njihove kategorizacije jedna je od najčudesnijih sposobnosti vizualne percepcije, čiji računalni ekvivalent još nije izumljen. Međutim, Google već poduzima korake naprijed, na primjer, već posjeduje patent za automatsko prepoznavanje velikih video objekata od 2012. godine.

Dakle, prema Razvanu Gavrilasu, Googleovi organski rezultati pretraživanja uskoro će doživjeti promjene. Tražilica će prijeći "od nizova do stvari", u biti integrirajući svoj Grafikon znanja u krajolik pretraživanja. Algoritmi pretraživanja također će se promijeniti, vjerojatno u odnosu na stvarne objekte u sadržaju i određujući kako su ti objekti međusobno povezani.

Nastavljam seriju članaka o temama prepoznavanja uzoraka, računalnog vida i strojnog učenja. Danas vam predstavljam pregled algoritma koji se zove eigenface.

Algoritam se temelji na korištenju temeljnih statističkih karakteristika: prosjeka (očekivanja) i matrice kovarijance; koristeći metodu glavne komponente. Također ćemo se dotaknuti koncepata linearne algebre kao što su svojstvene vrijednosti i svojstveni vektori (wiki: , eng). A osim toga, radit ćemo u višedimenzionalnom prostoru.
Bez obzira koliko sve ovo može zvučati zastrašujuće, ovaj algoritam je možda jedan od najjednostavnijih koje sam razmatrao, njegova implementacija ne prelazi nekoliko desetaka redaka, au isto vrijeme pokazuje dobre rezultate u nizu problema.


Za mene je eigenface zanimljiv jer zadnjih 1,5 godinu razvijam, između ostalog, statističke algoritme za obradu različitih skupova podataka, gdje se vrlo često moram baviti svim gore opisanim “stvarima”.

Alati

Prema utvrđenoj metodologiji, u okviru mog skromnog iskustva, nakon razmišljanja o bilo kojem algoritmu, ali prije njegove implementacije u C/C++/C#/Python itd., potrebno je brzo (koliko je to moguće) izraditi matematički model i testiraj ga, računaj nešto. To vam omogućuje da izvršite potrebne prilagodbe, ispravite pogreške i otkrijete što nije uzeto u obzir kada ste razmišljali o algoritmu. Za sve ovo koristim MathCAD. Prednost MathCAD-a je što uz veliki broj ugrađenih funkcija i procedura koristi klasičnu matematičku notaciju. Grubo rečeno, dovoljno je znati matematiku i znati napisati formule.

Kratak opis algoritma

Kao i svaki algoritam iz serije strojnog učenja, vlastito lice se prvo mora istrenirati; za to se koristi set za uvježbavanje, a to su slike lica koje želimo prepoznati. Nakon što je model obučen, unijet ćemo neku sliku kao ulaz i kao rezultat ćemo dobiti odgovor na pitanje: koja slika iz skupa za obuku najvjerojatnije odgovara primjeru na ulazu ili ne odgovara ničemu.

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

Gdje je F i centrirana (tj. minus prosjek) i-ta slika izvornog uzorka, w j predstavlja težine, a u j svojstvene vektore (svojstveni vektori ili, unutar okvira ovog algoritma, vlastita lica).

Na gornjoj slici dobivamo izvornu sliku ponderiranim zbrajanjem svojstvenih vektora i dodavanjem prosjeka. Oni. S obzirom na w i u, možemo rekonstruirati bilo koju izvornu sliku.

Vježbeni set potrebno je projicirati u novi prostor (a prostor je u pravilu puno većih dimenzija od izvorne 2-dimenzionalne slike), pri čemu će svaka dimenzija dati određeni doprinos ukupnoj reprezentaciji. Metoda glavne komponente omogućuje vam da pronađete osnovu novog prostora na takav način da su podaci u njemu smješteni, u neku ruku, optimalno. Da biste razumjeli, samo zamislite da će u novom prostoru neke dimenzije (poznate kao glavne komponente ili svojstveni vektori ili vlastita lica) "nositi" općenitije informacije, dok će druge nositi samo specifične informacije. U pravilu, dimenzije višeg reda (koje odgovaraju manjim svojstvenim vrijednostima) nose puno manje korisnih (u našem slučaju korisno je nešto što daje generaliziranu predodžbu o cijelom uzorku) informacija od prvih dimenzija, koje odgovaraju najvećim svojstvenim vrijednostima. Ostavljajući dimenzije samo s korisnim informacijama, dobivamo prostor značajki u kojem je svaka slika izvornog uzorka predstavljena u generaliziranom obliku. Ovo je, na vrlo pojednostavljen način, ideja algoritma.
Zatim, imajući pri ruci neku sliku, možemo je mapirati na unaprijed stvoren prostor i odrediti kojoj je slici uzorka za obuku naš primjer najbliži. Ako se nalazi na relativno velikoj udaljenosti od svih podataka, onda ova slika najvjerojatnije uopće ne pripada našoj bazi podataka.

Za detaljniji opis savjetujem vam da pogledate popis vanjskih poveznica na Wikipediji.

Mala digresija. Metoda glavne komponente je široko korištena. Na primjer, u svom radu koristim ga za isticanje komponenti određenog mjerila (vremenskog ili prostornog), smjera ili frekvencije u nizu podataka. Može se koristiti kao metoda za kompresiju podataka ili metoda za smanjenje izvorne dimenzije višedimenzionalnog uzorka.

Izrada modela

Za sastavljanje uzorka za obuku korištena je Olivetti Research Lab (ORL) Face Database. Postoji 10 fotografija 40 različitih ljudi:

Kako bih opisao implementaciju algoritma, ovdje ću umetnuti snimke zaslona s funkcijama i izrazima iz MathCAD-a i komentirati ih. Ići.

FaceNums navodi vektor brojeva lica koji će se koristiti u obuci. varNums navodi broj opcije (prema opisu baze podataka, imamo 40 direktorija svaki s 10 slikovnih datoteka iste osobe). Naš set za obuku sastoji se od 4 slike.
Zatim pozivamo funkciju ReadData. Implementira sekvencijalno čitanje podataka i pretvaranje slike u vektor (funkcija TwoD2OneD):

Dakle, na izlazu imamo matricu G, čiji je svaki stupac slika "proširena" u vektor. Takav se vektor može smatrati točkom u višedimenzionalnom prostoru, gdje je dimenzija određena brojem piksela. U našem slučaju slike veličine 92x112 proizvode vektor od 10304 elementa ili definiraju točku u 10304-dimenzionalnom prostoru.

2. Potrebno je normalizirati sve slike u skupu za treniranje oduzimanjem prosječne slike. To je učinjeno kako bi se ostavile samo jedinstvene informacije, uklanjajući elemente zajedničke za sve slike.

Funkcija AverageImg izračunava i vraća vektor prosjeka. Ako ovaj vektor "skupimo" 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 svojstvenih vektora (tzv. svojstvenih lica) u i težine w za svaku sliku u skupu za učenje. Drugim riječima, ovo je prijelaz u novi prostor.

Izračunavamo matricu kovarijance, zatim pronalazimo glavne komponente (one su također svojstveni vektori) i izračunavamo težine. Oni koji se bolje upoznaju s algoritmom ući će u matematiku. Funkcija vraća matricu težine, svojstvene vektore i svojstvene vrijednosti. Ovo su svi podaci potrebni za prikaz u novom prostoru. U našem slučaju, radimo s 4-dimenzionalnim prostorom, prema broju elemenata u setu za obuku, preostalih 10304 - 4 = 10300 dimenzija su degenerirane, ne uzimamo ih u obzir.

Općenito, ne trebamo svojstvene vrijednosti, ali iz njih možemo pronaći neke korisne informacije. Pogledajmo ih:

Svojstvene vrijednosti zapravo pokazuju varijancu duž svake od osi glavnih komponenti (svaka komponenta odgovara jednoj dimenziji u prostoru). Pogledajte izraz s desne strane, zbroj zadanog vektora = 1, a svaki element pokazuje doprinos ukupnoj varijanci podataka. Vidimo da 1 i 3 glavne komponente zbroje 0,82. Oni. Dimenzije 1 i 3 sadrže 82% svih informacija. 2. dimenzija je kolabirana, a 4. nosi 18% informacija i ne treba nam.

Priznanje

Model je sastavljen. Testirat ćemo ga.

Kreiramo novi uzorak od 24 elementa. Prva 4 elementa su ista kao u setu za vježbanje. Ostalo su različite verzije slika iz skupa 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 se težine w. Nakon što je poznat vektor w, potrebno je odrediti kojem je od postojećih objekata najbliži. Za to se koristi funkcija dist (umjesto klasične euklidske udaljenosti u problemima prepoznavanja uzoraka, bolje je koristiti drugu metriku: Mahalonobisovu udaljenost). Pronalazi se minimalna udaljenost i indeks objekta kojemu je data slika najbliža.

Na gore prikazanom uzorku od 24 objekta, učinkovitost klasifikatora je 100%. Ali postoji jedna nijansa. Ako unesemo sliku koja nije u izvornoj bazi podataka, tada će se vektor w ipak izračunati i pronaći će se minimalna udaljenost. Stoga se O kriterij uvodi ako minimalna udaljenost< O значит изображение принадлежит к классу распознаваемых, если минимальное расстояние >O, onda nema takve slike u bazi podataka. Vrijednost ovog kriterija odabrana je empirijski. Za ovaj model odabrao sam O = 2,2.

Napravimo uzorak od pojedinaca koji nisu u uzorku za obuku i vidimo koliko će učinkovito klasifikator ukloniti lažne uzorke.

Od 24 uzorka imamo 4 lažno pozitivna. Oni. učinkovitost je bila 83%.

Zaključak

Sveukupno jednostavan i originalan algoritam. Još jednom se dokazuje da se u višedimenzionalnim prostorima “skriva” puno korisnih informacija koje se mogu koristiti na razne načine.  Zajedno s drugim naprednim tehnikama, eigenface se može koristiti za povećanje učinkovitosti rješavanja zadanih problema.

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

DIGITALNA OBRADA SIGNALA

Tema 18. PREPOZNAVANJE SLIKOVNIH PREDMETA

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

Immanuel Kant. njemački filozof. XVIII stoljeće

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

Georgij Korgul, uralski geofizičar. XX. stoljeća

Uvod.

1. Predobrada slika. Korekcija svjetline i kontrasta slika. Histogrami svjetline. Izjednačavanje osvjetljenja slike. Poboljšana prostorna rezolucija.

2. Određivanje granica objekata na slici. Detekcija rubova temeljena na gradijentu. Pronalaženje granica na temelju Laplaciana.

3. Odabir objekata na slici. Algoritam "čarobnog štapića". Algoritam "pametne škare". Segmentacija pomoću rezova grafikona.

4. Identifikacija obilježja objekata. Određivanje površine i opsega. Određivanje polumjera upisane i opisane kružnice. Određivanje stranica opisanog pravokutnika. Određivanje broja i međusobnog položaja kutova. Određivanje momenata tromosti objekta.

5. Detekcija i prepoznavanje slikovnih objekata. Otkrivanje objekata. Metoda izravne usporedbe objekta s referentnom slikom. Metoda korelacije. Metode prepoznavanja temeljene na sustavu obilježja.

UVOD

Detaljno razmatranje teorijskih aspekata ove teme nije svrha ovog odjeljka. Potpunije informacije o ovoj problematici zainteresirani mogu dobiti iz drugih izvora. U nastavku se nalaze praktične preporuke za implementaciju pojedinih metoda izravno povezanih s najtipičnijim problemima koji se rješavaju pomoću algoritama razmatranih u prethodnoj temi.

Prepoznavanje objekata na slikama optičkih senzora (foto, zračne, satelitske i druge slike) tradicionalno je područje obrade slike. U isto vrijeme, metode prepoznavanja objekata počele su se naširoko koristiti u automatskim televizijskim nadzornim sustavima, u rendgenskoj i magnetskoj rezonanciji i drugim vrstama prvobitno digitalnih slika, kako za naknadnu obradu tako i za obradu u stvarnom vremenu.

^ 18.1. Predobrada SLIKA

Operacijama prepoznavanja slika određenih objekata u pravilu prethodi obrada slike kako bi se stvorili uvjeti koji povećavaju učinkovitost i kvalitetu identifikacije i prepoznavanja objekata koji se traže ili proučavaju. Metode prethodne obrade ovise o ciljevima istraživanja, vrlo su raznolike i mogu uključivati, na primjer, odabir najinformativnijih fragmenata, njihovo povećanje, dobivanje 3-dimenzionalnih slika, mapiranje boja, implementaciju visoke prostorne rezolucije, povećanje rezolucije kontrasta, poboljšanje kvalitete slike itd. Razmotrimo među njima one bez kojih se u pravilu ne može završiti niti jedan tipični zadatak.

Ispravljanje svjetline i kontrasta slika .

Slike unesene u računalo često su slabog kontrasta. Slab kontrast obično je posljedica širokog raspona reproducirane svjetline, često u kombinaciji s nelinearnošću karakteristika prijenosa razine. Priroda ovisnosti promjene svjetline palete piksela od minimalne vrijednosti do maksimuma također utječe na kvalitetu slike. Optimalna funkcija je linearna funkcija promjene intenziteta piksela. S konkavnom karakteristikom slika će biti tamnija, s konveksnom karakteristikom bit će svjetlija. U oba slučaja, karakteristike objekata mogu biti iskrivljene i loše identificirane. Korekcija (linearizacija) svjetline palete značajno poboljšava kvalitetu slike.

Nizak kontrast također može biti posljedica činjenice da su varijacije u funkciji svjetline piksela na slici mnogo manje od dopuštenog raspona ljestvice svjetline. U ovom slučaju, kontrast slike se povećava "rastezanjem" stvarnog dinamičkog raspona svjetline preko cijele ljestvice pomoću linearne transformacije element po element.

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

Neki zadaci obrade slike uključuju pretvaranje polutonske slike (mnogo gradacija svjetline) u binarnu (dvije gradacije). Transformacija se provodi kako bi se smanjila informacijska redundantnost slike, ostavljajući u njoj 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 nevažne značajke (pozadina) moraju biti isključene.

Obrada praga polutonske slike sastoji se od dijeljenja svih elemenata slike u dvije klase A 1 i A 2 na temelju svjetline s granicom A gr, te izvođenja odgovarajućeg filtriranja praga zamjenom piksela slike s postavljenom svjetlinom klasa. Izbor granice određen je vrstom histograma svjetline izvorne slike. Za najjednostavnije slike kao što su crteži, tipkani 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 načina njihove svjetline, tada filtriranje praga također može osigurati nekoliko klasa svjetline piksela.

Raspon svjetline računalne slike može se razlikovati od izvornog raspona svjetline, na primjer, zbog nedovoljne ekspozicije. Postoje dva moguća načina za podešavanje svjetline. Prema prvoj metodi, slika se prikazuje linearno u rasponu svjetline izvorne. Druga metoda uključuje ograničavanje svjetline piksela u obrađenoj slici maksimalnim i minimalnim razinama praga i ima širu primjenu. Prisutnost najsvjetlijih i najtamnijih tonova na slici stvara dojam dobrog kontrasta, ali pretjerani kontrast dovodi do toga da maksimalne gradacije utječu na srednje tonove, a većina detalja slike obojena je srednjim tonovima i pretjerani kontrast može dovesti do gubitak tih pojedinosti ili otežati njihov odabir.

Histogrami svjetline. Alat za procjenu razine intenziteta piksela je histogram - grafički prikaz kvantitativne karakteristike distribucije vjerojatnosti intenziteta (svjetline) piksela u odabranom području slike. Maksimalnoj vrijednosti intenziteta piksela dodijeljena je razina gradacije 255 (bijela), a najtamnijem intenzitetu piksela dodijeljena je razina gradacije 0 (crna). Intenziteti u rasponu od 0 do 255 imaju linearnu ljestvicu promjene, bilo postavljenu u skladu s prihvaćenom funkcijom promjene, na primjer, pojačavajući slabe signale (sive tonove) i slabeći jake signale (u bijeloj regiji), čime se povećavaju prostorni i kontrastna rezolucija slike ili određene zone interesa.

Poznata je metoda poboljšanja slike koja se temelji na izračunu logaritma spektralnih koeficijenata Fourierove transformacije izvorne slike (izračun cepstra). Kada se kepstrum ponovno pretvara u sliku, histogram slike se izjednačava logaritamskom transformacijom spektra slike.

Mnoge slike karakteriziraju histogrami s visokom koncentracijom linija u određenim područjima distribucije intenziteta. Često je histogram raspodjele svjetline slike iskrivljen prema niskim razinama (svjetlina većine elemenata je ispod prosjeka). Jedna od metoda za poboljšanje kvalitete takvih slika je modificiranje njihovog histograma. Izjednačavanje histograma može se provesti na temelju potenciranja modula spektralnih koeficijenata Fourierove transformacije slike, uz očuvanje predznaka i faze koeficijenata. Označimo li eksponent α, tada za α<1 операция извлечения корня степени α уменьшает большие спектральные коэффициенты и увеличивает малые. Такое перераспределение энергии в частотной плоскости изображения приводит к более эффективному использованию динамического диапазона интенсивностей пикселей изображения в пространственной области.

Odabir dobre kontrolne maske histograma intenziteta piksela povećava kontrast, čime se poboljšava rezolucija detalja kontrasta. Programi za obradu imaju naredbe koje vam omogućuju postavljanje boja prilikom mapiranja boja slika koje imaju glatke ili, obrnuto, oštre prijelaze prikazanih detalja u području interesa. U kombinaciji s preokretom kontrasta, koji pretvara negativnu sliku u pozitivnu, ova metoda također omogućuje povećanje kontrasta malih i srednjih detalja na slici.

Postoji prilično velik arsenal matematičkih modela i algoritama čija softverska implementacija može značajno povećati razlučivost kontrasta slika. Ovi se algoritmi temelje na linearnim i nelinearnim procesima filtriranja slike koji transformiraju histogram intenziteta.

Izjednačavanje osvjetljenja slike. Često su neka područja slike pretamna da bi se bilo što vidjelo. Ako cijeloj slici dodate svjetlinu, početno svijetla područja mogu postati preeksponirana. Za poboljšanje izgleda slike u takvim slučajevima koristi se metoda izjednačavanja osvjetljenja.

Osvjetljenje se u prostoru mijenja dosta sporo i može se smatrati niskofrekventnim signalom. Sama slika se u prosjeku može smatrati signalom više frekvencije. Kad bi se ti signali zbrajali tijekom fotografiranja, mogli bi se razdvojiti pomoću uobičajenih filtara. Međutim, na pravoj fotografiji rezultat je proizvod slike koju želimo vidjeti i karte osvjetljenja. A budući da se ti signali ne zbrajaju, već se množe, neće se moći riješiti neravnomjernosti osvjetljenja jednostavnim filtriranjem.

Za rješavanje takvih problema koristi se homomorfna obrada. Ideja obrade je smanjiti nelinearni problem na linearni. Na primjer, možete smanjiti problem odvajanja umnoženih signala na problem odvajanja dodanih signala. Da biste to učinili, morate uzeti logaritam umnoška slika, koji će biti jednak zbroju logaritama faktora. U ovom slučaju, problem odvajanja umnoška signala svodi se na problem odvajanja zbroja niskofrekventnih i visokofrekventnih signala i rješava se korištenjem visokopropusnog filtra, koji će ukloniti niske frekvencije iz zbroja signala. . Sve što preostaje je uzeti eksponencijal iz primljenog signala da se vrati na izvornu skalu amplitude.

Visokopropusni filtar može se implementirati na sljedeći način. Prvo se na sliku primjenjuje operacija zamućivanja (niskopropusni filtar), a zatim se zamućena slika oduzima od izvorne slike. Najbolji radijus zamućenja ovisi o specifičnoj slici. Možete početi eksperimentirati s radijusom od oko deset piksela.

Obično se za zamućivanje slike koristi dvodimenzionalni Gaussov filtar, koji ima oblik h(x, y) = A exp(-(x 2 +y 2) /2 2). Ovdje je A normalizirajuća konstanta (zbroj svih koeficijenata filtra mora biti jednak 1), σ je "širina" filtra, koja regulira stupanj zamućenja.

Izravno računanje 2D konvolucije s takvom jezgrom računalno je zahtjevno, čak i s relativno malom veličinom jezgre. Međutim, ekvivalentan učinak može se postići filtriranjem jednodimenzionalnim Gaussovim prvo redova slike, a zatim stupaca rezultirajuće slike. Učinak dobiven izravnavanjem osvjetljenja može biti prejak (tamna područja postat će iste svjetline kao i svijetla). Da biste smanjili učinak, možete jednostavno pomiješati obrađenu sliku s izvornom u određenom omjeru.

Poboljšana prostorna rezolucija . Interpretacija slika usko je povezana s kvalitetom prikaza sitnih, neiskrivljenih detalja. U ovom slučaju, potrebno je da s povećanjem fragmenata ne dođe do pogoršanja razlučivosti slike prilikom izvođenja matematičkih operacija 2D interpolacije funkcije prostorne raspodjele intenziteta piksela u redovima i stupcima matrice slike. Važan čimbenik u identifikaciji objekata također je lokalizacija i prikaz područja iste svjetline ili boje, čak i ako su ta područja velika nekoliko piksela.

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

A) "magnituda" - stupanj utjecaja efekta na oštrinu slike;

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

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

Neki programi automatski postavljaju optimalni omjer kontrasta i svjetline kako bi održali potrebnu jasnoću slike.

Pri obradi slika važnu ulogu imaju algoritmi za filtriranje ranga, koji omogućuju uklanjanje "zamućenosti" detalja (poboljšanje njihovog fokusiranja) odabirom dvodimenzionalne n×n maske piksela, izvođenjem operacije rangiranja piksela vrijednosti intenziteta unutar navedene maske i dodjeljivanje vrijednosti središnjem pikselu jednake maksimalnoj vrijednosti rangiranjem. Vrsta ranga također uključuje postupak srednjeg filtriranja, koji eliminira nekorelirane nasumične signale i impulsni šum na slici bez "zamućivanja" oštrih promjena svjetline na granicama objekata.

Informativna upotreba linearnog filtriranja je zbog njegove sposobnosti ispravljanja različitih vrsta izobličenja koja nastaju kao posljedica nesavršenosti uređaja koji tvore sliku. Pomoću linearnog filtriranja moguće je smanjiti utjecaj šuma fluktuacije i drugih nedostataka na reproducirane slike u načinu povećanja kontrasta niskokontrastnih detalja uz povećanje skale područja interesa.

Ispravljanje izobličenja otvora blende na slikama u nedostatku komponente šuma signala provodi se inverznim filtriranjem (dekonvolucija). Međutim, treba uzeti u obzir da dekonvolucijski filtri imaju dobitak disperzije šuma veći od 1, te se umjesto poboljšanja slike može povećati šum.

Metode nelinearnog filtriranja temeljene na frekvencijskim maskama smatraju se obećavajućim, omogućujuć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, glavne informacije ne leže u svjetlini pojedinih područja, već u njihovim obrisima. Zadatak izdvajanja kontura je konstruirati sliku granica objekata i obrise homogenih područja.

U pravilu, granica objekta na fotografiji odražava se razlikom u svjetlini između dva relativno ujednačena područja. Ali razlika u svjetlini također može biti uzrokovana teksturom objekta, sjenama, svijetlima, promjenama u osvjetljenju itd.

Konturom slike nazvat ćemo skup njezinih piksela u čijoj se blizini opaža nagla promjena funkcije svjetline. Budući da se u digitalnoj obradi slika prikazuje kao funkcija cjelobrojnih argumenata, konture se prikazuju linijama širokim najmanje jedan piksel. Ako izvorna slika, osim područja konstantne svjetline, sadrži područja s glatko promjenjivom svjetlinom, tada nije zajamčen kontinuitet konturnih linija. S druge strane, ako postoji šum na "djelomično konstantnoj" slici, tada se mogu otkriti "dodatne" konture u točkama koje nisu granice područja.

Pri razvoju algoritama za izdvajanje kontura, potrebno je uzeti u obzir navedene značajke ponašanja konturnih linija. Posebna dodatna obrada odabranih kontura eliminira lomove i potiskuje lažne konturne linije.

Postupak za konstruiranje binarne slike granica objekta obično se sastoji od dvije sekvencijalne operacije: ekstrakcije kontura i njihovog praga.

Izvorna slika podvrgava se linearnoj ili nelinearnoj obradi, reagirajući 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. Putem obrade praga, konturni objekt se formira iz ove slike. Odabir praga u drugoj fazi trebao bi se napraviti na temelju sljedećih razmatranja. Ako je prag previsok, mogu se pojaviti rubni diskontinuiteti i suptilne promjene svjetline možda neće biti otkrivene. Ako je prag prenizak, mogu se pojaviti lažne konture zbog buke i heterogenosti područja.

Detekcija rubova temeljena na gradijentu. Jedan od najjednostavnijih načina identificiranja granica je prostorno razlikovanje funkcije svjetline. Za dvodimenzionalnu funkciju svjetline A(x, y), promjene u smjerovima x i y bilježe se parcijalnim derivatima A(x, y)/x i A(x, y)/y, koje su proporcionalne brzine promjene svjetline u odgovarajućim smjerovima.

Riža. 18.2.1.


Identifikacija razlika svjetline ilustrirana je na sl. 18.2.1. Vidi se da je podcrtavanje obrisa okomitih na os x osigurano derivacijom A(x, y)/x (slika b), a podcrtavanje obrisa okomitih na os y daje A( x, y)/y (slika . V).

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

|A(x, y)| = ,

Što je proporcionalno maksimalnoj (u smjeru) brzini promjene funkcije svjetline u danoj točki i ne ovisi o smjeru konture. Modul gradijenta, za razliku od parcijalnih derivata, uzima samo ne-negativne vrijednosti, stoga na rezultirajućoj slici (slika d) točke koje odgovaraju konturama imaju povećanu razinu svjetline.

Za digitalne slike, analozi parcijalnih derivacija i modula gradijenta su funkcije razlike.

Praktičan primjer prepoznavanja granica na fotografiji prikazan je na sl. 18.2.2. Izvorna slika (1) je monokromatska. Slika (2) prikazuje rezultat izračuna vektora gradijenta svjetline Ax, y) = (A/x, A/y). Kao što se može vidjeti na slici, u točkama velikih razlika u svjetlini gradijent ima veliku duljinu. Filtriranjem piksela s duljinom gradijenta većom od određenog praga , dobivamo sliku granica (3).



Riža. 18.2.2.
Nedostatak algoritma je što preskače granice s malim promjenama svjetline i među granice uključuje detalje slike s velikim promjenama svjetline (koža vjeverice). Kada slika postane šumna, mapa graničnih točaka bit će kontaminirana samo šumom, budući da se ne uzima u obzir da granične točke ne odgovaraju samo razlikama u svjetlini, već i razlikama u svjetlini između relativno monotonih područja.

Kako bi se smanjio utjecaj ovog nedostatka, slika se prvo podvrgava izglađujućem Gaussovom filtriranju. Uz anti-aliasing filtriranje, mali, nevažni detalji zamagljuju se brže od razlika između područja. Rezultat operacije vidljiv je na slici (4). Međutim, istodobno se jasno definirane granice zamagljuju u debele linije.

Gradijent svjetline u svakoj točki karakterizira njezina duljina i smjer. Gore je pri traženju graničnih točaka korištena samo duljina vektora. Smjer gradijenta je smjer maksimalnog porasta funkcije, što omogućuje korištenje postupka suzbijanja bez maksimuma. U ovom postupku, za svaku točku, razmatra se segment dug nekoliko piksela, orijentiran u smjeru gradijenta i centriran na dotični piksel. Piksel se smatra maksimalnim ako i samo ako je duljina gradijenta u njemu najveća među svim duljinama gradijenata piksela u segmentu. Svi maksimalni pikseli s duljinama gradijenta većim od određenog praga mogu se smatrati graničnim. Gradijent svjetline u svakoj točki je okomit na granicu, tako da nakon potiskivanja ne-maksimuma ne ostaju debele linije. Na svakom okomitom dijelu debele linije bit će jedan piksel s maksimalnom duljinom gradijenta.

Okomitost gradijenta svjetline na granicu može se koristiti za praćenje granice počevši od nekog graničnog piksela. Ovo se praćenje koristi u filtriranju maksimalne histereze piksela. Ideja iza filtriranja histereze je da će duga, stabilna granična kontura vjerojatno sadržavati piksele s posebno velikom razlikom u svjetlini, a, počevši od takvog piksela, kontura se može pratiti duž graničnih piksela s manjom razlikom u svjetlini.


Riža. 18.2.3.
Prilikom izvođenja filtriranja histereze uvode se ne jedna, već dvije vrijednosti praga. Manji () odgovara minimalnoj duljini gradijenta na kojoj se piksel može prepoznati kao granica. Veći () odgovara minimalnoj duljini gradijenta na kojoj piksel može inicijalizirati konturu. Nakon što se obris inicijalizira na maksimalnom pikselu P s duljinom gradijenta većom od , uzima se u obzir svaki maksimalni piksel uz njega Q. Ako je piksel Q ima duljinu gradijenta veću od , i kut između vektora PQ i ( P) je blizu 90 o, dakle P dodaje se obrisu i proces se rekurzivno pomiče na Q. Njegov rezultat za izvornu sliku na Sl. 18.2.2 prikazan je na sl. 18.2.3.

Stoga se algoritam za pronalaženje granica na temelju gradijenta sastoji od sekvencijalne primjene sljedećih operacija:

Gaussovo izglađivanje filtriranja;

Pronalaženje gradijenta svjetline u svakom pikselu;

Pronalaženje maksimalnog broja piksela;

Filtriranje histereze maksimalnih piksela.

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

Pronalaženje granica na temelju Laplaciana. Poznato je da je nužan i dovoljan uvjet za ekstremnu vrijednost prve derivacije funkcije u proizvoljnoj točki da je druga derivacija u toj točki jednaka nuli, a druga derivacija mora imati različite predznake na suprotnim stranama od točka.

U dvodimenzionalnoj verziji, analog druge derivacije je Laplacian - skalarni operator   f) = (2 f/x + 2 f/y).


Riža. 18.2.3.
Pronalaženje granica na slici pomoću Laplaciana može se izvršiti analogijom s jednodimenzionalnim slučajem: točke u kojima je Laplacian jednak nuli i oko kojih ima različite predznake smatraju se graničnim točkama. Procjeni Laplaciana pomoću linearnog filtriranja također prethodi Gaussovo izglađivanje filtriranja kako bi se smanjila osjetljivost algoritma na šum. Gaussovo izglađivanje i Laplaciano pretraživanje mogu se izvoditi istovremeno, tako da je pronalaženje granica korištenjem takvog filtra brže nego korištenjem Cannyjevog algoritma. Filtar se koristi u sustavima gdje su važni i kvaliteta rezultata (obično lošiji od Canny algoritma) i performanse. Kako biste smanjili osjetljivost na nevažne detalje, iz broja graničnih točaka možete također isključiti one čija je duljina gradijenta manja od određenog praga (slika 18.2.3).

^ 18.3. ISTAKAVANJE OBJEKATA NA SLICI

Pri radu sa slikom često postoji potreba da se jedan dio koji je korisniku značajan (objekt) odvoji od svega ostalog (pozadine). Na primjer, na medicinskim slikama odabran je određeni objekt za mjerenje njegovih parametara. Algoritmi za rješavanje ovog problema su interaktivni, jer samo korisnik može odrediti što je predmet interesa, a što pripada pozadini.

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

Algoritam "Čarobni štapić" (Magic wand) bio je jedan od prvih algoritama interaktivne segmentacije. Korisnik sekvencijalno označava točke objekta, a algoritam odabire okolne piksele slične boje i (po odluci korisnika) dodaje odabrano područje objektu. Za procjenu "sličnosti", korisnik specificira matricu pragova osjetljivosti za udaljenost između boja. Što je veći, to će više piksela biti odabrano u jednom koraku. U ovom slučaju, samo povezani pikseli dodjeljuju se području "sličnih" boja.

Algoritam dobro funkcionira pri odabiru objekata koji su prilično monotone boje. Uz jake varijacije boja, nemoguće je točno odvojiti objekt od pozadine pomoću ovog algoritma. Ako je prag osjetljivosti prenizak, značajan dio objekta možda neće biti istaknut. Povećanje praga uzrokuje "krvarenje" odabira izvan objekta. U slučaju šarenog objekta ili nejasne granice između pozadine i objekta, algoritam je praktički bespomoćan.

Algoritam "pametnih škara". koristi se od 1996. godine, stekao je popularnost i ugrađen je u popularni uređivač fotografija Adobe Photoshop. Prilikom korištenja algoritma, korisnik povlači granicu između objekta i pozadine, označavajući točke na granici s određenim intervalom, a „pametne škare“ povlače graničnu liniju između sekvencijalno navedenih točaka.


Riža. 18.3.1.
Zamislimo rastersku sliku u obliku grafikona (slika 18.3.1) s rubovima koje tvore strane piksela. Kada korisnik specificira dvije uzastopne točke P i Q, algoritam škara izračunava minimalnu udaljenost između točaka P i Q duž rubova grafa, dok je uvjetna geometrijska duljina svakog ruba na ovoj putanji u obrnutoj vezi s razlikom u boji od pikselima na njegovim stranama. Budući da će rubovi koji odgovaraju oštrim razlikama u boji imati kraću nominalnu duljinu, "pametne škare" nastoje povući granicu upravo duž takvih rubova.

"Pametne škare" značajno ubrzavaju proces odabira predmeta. Međutim, oni također ne funkcioniraju dobro u prisutnosti šarene pozadine i/ili šarenog objekta. U takvim slučajevima potrebno je odrediti veći broj rubnih točaka.

Segmentacija pomoću rezova grafikona. Treća metoda isticanja objekta iz pozadine također se temelji na teoriji grafova. Korisnik jednostavno označava određeni skup A piksela koji pripadaju objektu i određeni skup B piksela koji pripadaju pozadini. Budući da ti pikseli ne moraju biti blizu ruba, takve oznake ne zahtijevaju puno truda od korisnika. Rezultat algoritma je segmentacija u kojoj se cijeli skup A odnosi na objekt, a skup B na pozadinu.

Ako rezultat odabira ne zadovolji korisnika prvi put, on dodaje piksele izvornim skupovima, dodatno ih označavajući na slici. Na primjer, ako je algoritam greškom dodijelio dio objekta pozadini, korisnik označava dio piksela tog dijela kao piksele objekta (skup A). Rezultat ponovnog pokretanja algoritma je pročišćena segmentacija.

Pogledajmo kako algoritam radi. Izgradimo graf na rasteru na sljedeći način. U središte svakog piksela postavit ćemo vrhove piksela grafa, a pod bojom vrha podrazumijevat ćemo boju piksela. Svaki vrh povezujemo sa susjednim vrhovima i dobivamo osam bridova koji spajaju središta susjednih piksela. Dodijelimo težinu svakom rubu:

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

Gdje je L geometrijska duljina brida, C 1 i C 2 su boje vrhova spojenih bridom, λ i σ su neki (pozitivni) parametri, (..) je matrica osjetljivosti razlike u boji. Ova težina je manja što je veća razlika između boja vrhova.

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

Razmotrimo raspodjelu boja vrhova skupa A (na primjer, kao histogram). Za sve vrhove piksela koji nisu iz skupa A, rubovima koji ih povezuju s izvorom dodjeljujemo težinu proporcionalnu postojanosti njihove boje s ovom distribucijom boja, dok će težina ruba biti veća što je boja "sličnija" vrha je prema bojama vrhova skupa A. Slično Izvest ćemo postupak za skup B i bridove koji povezuju vrhove piksela s ponorom.

Sve rubove grafa ćemo “izrezati” na dva disjunktna ​​skupa - izvor i ponor, te ćemo pretpostaviti da vrhovi koji se nalaze u izvornom skupu odgovaraju pikselima objekta, a ostali koji su u ponornom skupu odgovaraju pozadinskim pikselima. Broj mogućih rezova jednak je 2 P, gdje je P broj piksela, budući da se svaki vrh piksela može dodijeliti bilo izvornom, bilo skupu ponora.


Riža. 18.3.2.
Težina reza je zbroj težina svih reznih rubova, s izuzetkom rubova s ​​beskonačnom težinom. Minimalni rez je rez s minimalnom težinom, a izvorni pikseli ovog rezanja bit će dodijeljeni pikselima objekta, a osnovni pikseli pozadini. Granica između objekta i pozadine bit će povučena, kad god je to moguće, između piksela vrlo različitih boja.

Naravno, ne može postojati savršeno razdvajanje. Na primjer, područje slike može biti slične boje pozadini (pikseli skupa B), ali okruženo pikselima skupa A i neodvojeno od njih oštrom granicom. U takvim slučajevima, izbor parametra λ u formuli težine ruba uspostavlja ravnotežu između posljednje dvije točke. Kako vrijednost λ raste, povećava se važnost da granica između pozadine i objekta prolazi između piksela različitih boja, a kada se smanjuje, raste važnost da su pikseli slične boje pikselima skupa A (ili B) dodijeljen objektu (pozadina). Primjer odabira objekta prikazan je na sl. 18.3.2.

^ 18.4. Izolacija značajki objekta

Ekstrakcija značajki omogućuje pojednostavljenje implementacije prepoznavanja ili identifikacije objekta. Prilikom odabira najinformativnijih značajki potrebno je uzeti u obzir i svojstva samih objekata i mogućnosti razlučivosti primarnih generatora signala slike. Ekstrakciju značajki izvršit ćemo na primjeru obrade monokromatskih (jednoslojnih) slika. Na slikama u boji algoritmi koji se raspravljaju mogu se primijeniti na svaku boju posebno.

Prilikom obrade preferiraju se sljedeće karakteristike objekta:

– površina i opseg slike objekta;

– dimenzije upisanih jednostavnih geometrijskih likova (krugova, pravokutnika, trokuta i dr.);

– broj i međusobni položaj uglova;

– momenti tromosti slika predmeta.

Važna značajka većine geometrijskih obilježja je nepromjenjivost u odnosu na rotaciju slike objekta, a normalizacijom geometrijskih obilježja jednih u odnosu na druge postiže se nepromjenjivost u odnosu na mjerilo slike objekta.

Određivanje površine i opsega. Područje slike objekta izračunava se brojanjem 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.

Opseg slike objekta P izračunava se nakon identificiranja granica objekta zbrajanjem skupa konturnih točaka slike objekta.

Na temelju izdvojenih značajki, normalizirana značajka nepromjenjiva na skali slike je U = A/P 2 ili V = P/.

Određivanje polumjera upisane i opisane kružnice (Sl. 18.4.1) sastoji se od dva stupnja.


Riža. 18.4.1.
1. Određivanje koordinata geometrijskog središta slike objekta:

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

Gdje x I g– broj redaka i stupaca svih piksela S(x, y) uključenih u objekt.

2. Izračun minimalne i maksimalne udaljenosti od središta do granica slike objekta.

R(x, y) = .

R max = r (x, y max); R min = r (x, y min), gdje su x, y  P (točke perimetra).

Normalizirana značajka R′ = R max ⁄ R min nepromjenjiva je u odnosu na mjerilo slike objekta.


Riža. 18.4.2.
Određivanje stranica opisanog pravokutnika (Sl. 18.4.2) izvodi se na sljedeći način. Određuju se maksimalne i minimalne vrijednosti apscise i ordinate slike objekta x max i x min, y max i y min, nakon čega se određuju visina i baza pravokutnika:

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

Ova značajka nije nepromjenjiva na rotaciju slike objekta.

Određivanje broja i međusobnog položaja kutova. Klasičan način određivanja kutnih točaka slike objekta je analiza malog fragmenta konture u blizini dane točke i određivanje radijusa njegove zakrivljenosti. Ako je radijus manji od postavljenog praga, radi se o kutnom elementu; u suprotnom nije.


Riža. 18.4.3.
S praktičnog gledišta, čini se da je jednostavniji algoritam poželjniji. Sastoji se od procjene udaljenosti između početne i završne točke fragmenta konture, na primjer, između elemenata konture s rednim brojevima k – 2 i k + 2 na slici. 18.4.3.

Neka su x(k) i y(k) apscisa i ordinata konturnih elemenata. Tada bi pravilo odlučivanja moglo izgledati ovako:

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

Ako je uvjet zadovoljen, tada ova konturna točka pripada skupu kutnih točaka L. Ovdje je H vrijednost praga odabrana uzimajući u obzir svojstva objekata.

Određivanje momenata tromosti objekta. Pojam "momenti tromosti slike objekta" nema nikakve veze s mehanikom. Jednostavno, za izračunavanje ovog atributa koriste se matematički izrazi, slični izračunavanju momenata tromosti materijalnog tijela, gdje se umjesto vrijednosti mase pojedinih točaka tijela uzimaju vrijednosti osvjetljenja u odgovarajućim točkama njegovog tijela. slike su zamijenjene. Trenuci inercije su informacijske značajke za naknadno prepoznavanje uzoraka.



Riža. 18.4.4.
Označimo glavne tražene momente tromosti slike objekta s J 1 i J 2 . Za pronalaženje J 1 i J 2 potrebno je najprije odrediti tzv. međumomente J x i J y, tj. momenti tromosti u odnosu na vertikalnu i horizontalnu os koordinatnog sustava, kao i mješoviti moment J x,y (sl. 18.4.4a).

Redoslijed izračuna:

1. Određuju se koordinate težišta (energetskog centra) slike objekta.

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

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

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

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

3. Izračunavaju se glavne točke.

J 1,2 = .

^ 18.5. detekcija i prepoznavanje objekata SLIKE

Otkrivanje objekata. Detekcija (identifikacija) slika objekata na slici iskrivljenoj šumom i smetnjama može se definirati u obliku postupka za provjeru određenog uvjeta za usporedbu dvaju brojeva - rezultata transformacije analizirane slike i određene granične vrijednosti:

L ≥ P. (18.5.1)

Ovdje je L[.] operator transformacije izvorne slike, P[.] je operator formiranja vrijednosti praga. Odluka o prisutnosti objekta donosi se ako je uvjet ispunjen. Kvalitetu detekcije karakterizira vjerojatnost ispunjenja uvjeta u prisutnosti objekta na analiziranoj slici.

Specifična vrsta operatora L[.], P[.] i kvaliteta detekcije ovise o dostupnosti apriornih informacija o očekivanim objektima, šumovima, smetnjama i izobličenjima. Osnova za određivanje optimalnih parametara operatora je teorija statističkih rješenja.

Tako je, primjerice, kod identificiranja točkastih objekata oblik slike objekta jednoznačno određen funkcijom rasprsne točke leće, koja se može smatrati poznatom, a problem se svodi na klasični postupak detekcije signala poznatog oblika naspram pozadina aditivnog normalnog šuma s nultom prosječnom vrijednošću. U ovom slučaju, operatori transformacije su korelacijski integrali izračunati korištenjem zadanog opisa poznate slike objekta odnosno tipičnog šuma. Identifikacija se sastoji od usporedbe slike predmeta s etalonima dane klase. Odluka o objektu donosi se na temelju najboljeg podudaranja.

Metoda izravne usporedbe objekta s referentnom slikom. Neka je S(x, y) izvorna slika objekta, F(x, y) referentna slika. Algoritam izravne usporedbe izgleda ovako:

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, uz prisutnost destabilizirajućih čimbenika u stvarnim uvjetima, pouzdanost metode je niska. Uz veću vrijednost praga D, uvjet (18.5.2) mogu zadovoljiti različiti objekti i mogu se pojaviti pogreške povezane s netočnom identifikacijom objekta (pogreške prve vrste). Kada se D smanji, mogu se pojaviti pogreške kao što je nedostatak objekta (pogreške druge vrste). Podešavanjem vrijednosti D možete samo promijeniti omjer između vjerojatnosti pogrešaka prve i druge vrste u skladu sa zadanim kriterijem optimalnosti.

Metoda korelacije temelji se na izračunavanju unakrsne korelacije između objekata i standarda. Iz skupa od k alternativnih opcija odabire se objekt (ili standard) za koji se dobiva maksimalni zbroj unakrsne korelacije:

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

Pri identificiranju objekata prikladno je koristiti koeficijente korelacije, koji u prvoj aproksimaciji također daju procjenu vjerojatnosti klasificiranja objekta kao danog standarda:

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

Gdje su K max (k) vrijednosti autokorelacije standarda.

Metoda korelacije je pouzdanija, ali zahtijeva znatno veću količinu izračuna. Ali kada se obrađuju binarne slike, to nije toliko značajno, budući da se množenje jednobitnih brojeva svodi na jednostavnu logičku operaciju "I".

Gore razmotrene metode zahtijevaju istu orijentaciju slika objekta i standarda, njihovo poravnanje duž prostornih koordinata i održavanje istih mjerila.

Metode prepoznavanja temeljene na sustavu obilježja također koriste objektne standarde, ali karakteristike objekta i standarda koriste se kao elementi za usporedbu, što omogućuje smanjenje količine referentnih podataka i vremena obrade informacija. Međutim, treba imati na umu da se u praksi odabir značajki objekata uvijek provodi s određenom pogreškom, pa je stoga potrebno identificirati i uzeti u obzir prirodu i stupanj mogućeg raspršivanja procjena značajke koje se koriste za svaki od očekivanih objekata, tj. koristiti histograme raspodjele vrijednosti obilježja.

Ako postoji veliki broj mogućih opcija objekta, preporučuje se višestupanjski (hijerarhijski) algoritam. U ovom slučaju, u svakoj fazi prepoznavanja koristi se jedna od karakteristika objekta (površina, opseg, polumjeri upisanih i opisanih krugova, momenti tromosti, broj i položaj kutova itd.). Na nižim razinama koriste se značajke koje ne zahtijevaju velike računalne troškove (na primjer, površine i perimetri objekata), a one najinformativnije (na primjer, momenti tromosti) koriste se na višoj razini, gdje se broj alternative su minimalne.

A.V.Davydov.

književnost

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

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

48. Apalkov I.V., Khryashchev V.V. Uklanjanje šuma sa slika na temelju nelinearnih algoritama korištenjem statistike ranga. - Jaroslavsko državno sveučilište, 2007.

49. Andreev A.L. Automatizirani televizijski sustavi nadzora. Dio II. Aritmetičke i logičke osnove i algoritmi. Tutorial. - St. Petersburg: St. Petersburg, GUITMO, 2005. – 88 str.

50. Rosenfeld L.G. itd. Mogućnosti naknadne obrade dijagnostičkih CT i MRI slika na osobnom računalu. - Ukrajinska medicinska knjiga sati – br. 6 (56) – XI/XII, 2006.

51. Lukin A. Uvod u digitalnu obradu signala (Matematičke osnove) - M.: Moskovsko državno sveučilište, Laboratorij

Najbolji članci na temu