Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • U kontaktu s
  • Nekoliko riječi o prepoznavanju uzoraka. Kako će Google prepoznavati i rangirati slike u bliskoj budućnosti

Nekoliko riječi o prepoznavanju uzoraka. Kako će Google prepoznavati i rangirati slike u bliskoj budućnosti

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.

Detekcija i prepoznavanje objekata je sastavni dio ljudske aktivnosti. Još nije posve jasno kako čovjek uspijeva tako točno i tako brzo identificirati i prepoznati potrebne objekte u raznolikosti okoline. Fiziolozi i psiholozi pokušavaju to saznati više od sto godina. No, naš cilj ovdje nije razumjeti mehanizam ljudske (i životinjske) percepcije, već opisati metode za automatizirano prepoznavanje objekata iz njihovih slika: novu informacijsku tehnologiju, moćnu, praktičnu i, u određenom smislu, univerzalnu metodologiju za obrada i procjena informacija te prepoznavanje skrivenih obrazaca.

Prepoznavanje trodimenzionalnih objekata iz njihovih dvodimenzionalnih slika nedavno je postalo jedan od najvažnijih zadataka u analizi scene i računalnom vidu. Početne informacije za prepoznavanje sadrže slike u različitim dijelovima punog spektra zračenja (optičko, infracrveno, ultrazvučno itd.), dobivene na različite načine (televizijski, fotografski, laserski, radarski, zračenje itd.), pretvorene u digitalni oblik. i prikazano u obliku neke numeričke matrice. Pod objektom ne podrazumijevamo samo (i ne toliko) digitalni prikaz lokalnog fragmenta dvodimenzionalne scene, već neki njegov približni opis, u obliku skupa karakterističnih svojstava (značajki). Glavna svrha opisa (slika objekata) je njihova upotreba u procesu uspostavljanja korespondencije objekata, koja se provodi kroz usporedbu (kontrast). Zadatak prepoznavanja je utvrditi "skrivenu" pripadnost objekta određenoj klasi analizom vektora vrijednosti promatranih obilježja. Informacija o odnosu između vrijednosti atributa objekta i njegovog članstva u određenoj klasi mora biti ekstrahirana algoritmom za prepoznavanje iz skupa za obuku objekata za koje su ili vrijednosti oba atributa i klase, ili samo vrijednosti njihovih atributa, poznati su. U prvom slučaju problem se naziva nadzirani problem učenja prepoznavanja uzoraka, a u drugom slučaju problem nenadziranog učenja. Ovdje se pretpostavlja da svaki objekt "pripada" jednoj slici iz nekog fiksnog skupa. Pri dodjeljivanju (klasificiranju) objekata potrebno je primijeniti neko prethodno utvrđeno pravilo kojoj slici (klasi) predmet pripada. U zadatku prepoznavanja s uvježbavanjem, pravilo klasifikacije mora se razviti na temelju proučavanja skupa objekata s poznatim članstvom u različitim klasama. Ti se objekti zajednički nazivaju set za obuku ili uzorak. U zadatku automatskog formiranja slike, objekti se prikazuju "promatraču" bez naznake pripadnosti klasi (nenadzirano prepoznavanje). Promatrač (algoritam za prepoznavanje) mora samostalno konstruirati odgovarajuću definiciju klasa (klaster analiza). Naravno, ovaj pristup analizi slike primjeren je samo jednom od dva aspekta dvostrukog zadatka otkrivanja i prepoznavanja objekata scene, naime, stvarnom prepoznavanju klase dobro definiranog (odabranog) fragmenta slike, koji se smatra vanjska manifestacija neke skrivene slike. U ovom slučaju, mora se pretpostaviti da je zadatak segmentacije već riješen, tj. određivanje granica fragmenata, od kojih se svaki može smatrati jedinstvenom cjelinom (objekt).

Istraživanje prepoznavanja slika prostornih objekata odlikuje se velikom raznolikošću u formuliranju problema i izboru sredstava za njihovo rješavanje (metoda za obradu odgovarajućih fragmenata slike), što je posljedica raznolikosti područja praktične primjene. Tradicionalni problemi, koji su riješeni u prvim eksperimentalnim razvojima sustava računalnog vida, su detekcija i prepoznavanje objekata zadanog oblika na temelju šumnih i (eventualno) deformiranih slika. Stoga je jedan od prvih praktičnih problema koji je potaknuo formiranje i razvoj teorije prepoznavanja objekata bio zadatak identificiranja i prepoznavanja ljudskih lica.

Riža. 9.1. Ilustracija problema prepoznavanja ljudskih lica i pristupa odabiru informativnih fragmenata (izvor)

Složenost ovog zadatka je zbog različitih mogućih kutova (razmjera, položaja, kutova rotacije) prepoznatih lica (vidi sliku 9.1). Ovdje je prvo potrebno konstruirati interni prikaz objekata, uključujući projekcije slike. Ovaj se zadatak još uvijek široko koristi u sigurnosnim sustavima, provjeri kreditnih kartica, forenzičkoj analizi, telekonferencijama itd. Za njegovo rješavanje predložene su metode prepoznavanja temeljene na teoriji neuroračunalnih mreža, korelacijsko-ekstremni algoritmi, metode za izračunavanje statističkih i algebarskih momenata, konturna analiza, 3D modeliranje itd. Među njima se posebna pažnja posvećuje smjeru povezanom s automatskim odabirom karakterističnih (informativnih) značajki objekata scene, u ovom slučaju elemenata očiju, nosa, usta, brade - sl. 9.1.

Nešto kasnije, u zadaćama praćenja (kontrole) prirodnog okoliša korištenjem aerosnimki, pojavilo se nekoliko važnijih pristupa konstrukciji informativnih obilježja. Konkretno, kada su dobiveni prvi multispektralni i spektrozonalni podaci daljinskog istraživanja, većina razvijatelja metoda strojne interpretacije okrenula se proučavanju spektralnih svojstava prirodnih objekata, budući da je svjetlina odgovarajućih elemenata slike u različitim spektralnim rasponima omogućila njihovu identifikaciju na relativno niski troškovi računanja.

Riža. 9.2. Klasterska analiza spektralne svjetline prirodnih objekata, prikazana i dvodimenzionalna ravnina para informativnih spektralnih kanala

Najčešća metoda obrade bila je “nenadzirana klasifikacija” temeljena na klaster analizi, uz pomoć koje je prostor spektralnih značajki podijeljen u različite skupine (klastere, vidi sl. 9.2), a klasifikacija slikovnih elemenata omogućila je istovremeno segmentirati scenu u spektralno homogena područja.

Osim toga, pokazalo se da su se pri prepoznavanju prirodnih tvorevina, osim spektrozonskih značajki, iznimno važnima pokazale i značajke koje karakteriziraju lokalnu prostornu organizaciju polutonova (teksture) objekata analize. Iskusni tumač oslanja se na takve informacije (oblik, orijentacija, raspored karakterističnih elemenata, kontekst i druge prostorne karakteristike) ponekad u većoj mjeri nego na spektrozonske značajke. U svakom slučaju, korištenje značajki teksture može značajno povećati pouzdanost prepoznavanja i povećati broj prepoznatljivih klasa prirodnih objekata.

U eksperimentalnim studijama usmjerenim na rješavanje specifičnih problema, početni podaci su određeni skup fragmenata slike (objekata scene), koje dešifriraju predmetni stručnjaci i koji služe kao materijal za obuku i kontrolu. Ovdje je primarni cilj razvoja algoritma za prepoznavanje dobiti odgovor na pitanje je li moguća automatizirana analiza i klasifikacija odgovarajućih slika objekata i, ako jest, koji je skup značajki dešifriranja najučinkovitiji i koja je struktura pravila odlučivanja i metoda dekodiranja treba imati.



( , dio 6.1)

Prepoznavanje slika je područje koje se preklapa s prepoznavanjem uzoraka, ali je donekle odvojeno od njega. Jedna od glavnih razlika je u tome što slike iste slike mogu varirati u svojim geometrijskim karakteristikama i karakteristikama svjetline, ali to nam nije posebno zanimljivo; to se ispravlja dobro proučenim metodama pretprocesiranja slike. Druga od glavnih razlika je da su slike iste slike podložne netrivijalnim deformacijama, na primjer, različitim kutovima trodimenzionalnog objekta, smjeru osvjetljenja, promjenama u pozi/izrazima lica/kretnjama itd., što čini ne uklapaju u shemu podjele prostora slike. I tu počinje zabava.

Na nekim mjestima ću ići u detalje prepoznavanja slika, jer mi je tema bliska, te ću objaviti neke ideje i svoje viđenje kakav bi trebao biti idealan sustav za prepoznavanje slika.

Jednom sam mnogo toga detaljno opisao. Ne bez netočnosti, ali općenito razumno. Također je naznačeno odakle su slike i točni podaci iz znanstvenih članaka preuzeti.

Kako je slika predstavljena u sustavu za prepoznavanje uzoraka. Najjednostavnije je da je svaki piksel os u prostoru slike, a svjetlina piksela je njegova pozicija u tom prostoru. To odmah upućuje na zaključak da mehanizam za prepoznavanje ne uzima u obzir dvodimenzionalnost slika, ali o tome kasnije. Postoje i drugi prikazi koji se također temelje na svjetlini piksela i mogu biti malo bolji (samo malo!) u odražavanju dvodimenzionalnih odnosa piksela.

Što slijedi iz takvog prikaza? Promjena položaja prepoznatog objekta, njegova rotacija u dvodimenzionalnoj ravnini ili promjena njegovog mjerila je katastrofa za mehanizam za prepoznavanje. Zato što će piksel koji odgovara, na primjer, vrhu nosa, otići do ruba uha, ili će, sa stajališta prepoznavanja, ulazna vrijednost, koja bi trebala pasti na svojoj osi u prostoru slike, pasti na potpuno drugačija (nije jasno koja!) os (drugim riječima nazvana promjena topologije prostora). A takvo preslagivanje osi potpuno razbija razdjelne plohe u prostoru slika. Možete, naravno, reći, pustiti mehanizam za prepoznavanje da nauči sve položaje i mjerila objekta na slici. Ali, nažalost, broj raznih odredbi je toliko velik da je to nerealno učiniti.

Sljedeća posljedica je da promjena svjetline slike baca cijelu sliku na potpuno drugu točku u prostoru slike. Iako osi ovdje ostaju na mjestu, promjena svjetline i dalje ostaje veliki problem za prepoznavanje.

Kao rezultat toga, mehanizam za prepoznavanje neće reagirati toliko na sadržaj slike, koliko na njezinu svjetlinu i veličinu/položaj.

Ali sve to nije tako strašno; alati za obradu slike odavno mogu ispraviti geometriju i svjetlinu. (Još jedno pitanje, usporedivo po složenosti i metodama koje se koriste za prepoznavanje slike, jest određivanje položaja i veličine objekta na slici, što se zove detekcija.) Postoje i transformacije slike (nazvane trenuci), čiji su koeficijenti isti za bilo koji položaj i veličinu objekta. Stoga je jedna od prvih faza prepoznavanja slike (koje nema kod prepoznavanja uzoraka) normalizacija slike, koja se rješava prilično jednostavnim alatima za obradu slike. Kako je to riješeno u ljudskom mozgu također je zanimljivo pitanje, pogledajmo dalje.

Ali najzahtjevnija stvar za prepoznavanje je deformacija dvodimenzionalne projekcije povezana s trodimenzionalnom suštinom objekta (promjene kuta i smjera osvjetljenja) i promjene u samom objektu (držanje, geste, izrazi lica itd.). ). Budući da se te deformacije ne mogu ispraviti metodama obrade slike, i općenito, prvo treba utvrditi do kakve je deformacije došlo. Stoga je omiljena rake motora za prepoznavanje kada više reagiraju na kut, prepoznajući različite objekte u istom kutu kao iste. S osvjetljenjem, slična šala, na primjer, na istom mjestu, prijelaz iz bijele u crnu, kada se promijeni smjer osvjetljenja u suprotno, postat će suprotan, prijelaz iz crne u bijelu, a normalizacija svjetline ne može se ispravljeno.

Da budemo pošteni, vrijedi napomenuti da postoje načini na koje se stvara veliki set za vježbanje sa slikama posebno snimljenim iz različitih kutova i smjerova osvjetljenja, a zatim se ulazna slika, ako je unutar granica tih uvjeta, dobro prepoznaje. Štoviše, nakon tako opsežne obuke, u sustav možete uvesti nove objekte koji se više nisu snimali uz tako široku varijaciju kutova i osvjetljenja. Ali ova metoda je poseban slučaj, a također je prilično glomazna. A nama, općenito, nije zanimljivo, jer se više odnosi na matematiku i statistiku.

Druga metoda je vraćanje trodimenzionalne slike iz dvodimenzionalne projekcije. Tada kut i osvjetljenje ne igraju ulogu, a promjene poze se lakše obrađuju. Istina, metodu nije lako implementirati i nije sve u vezi s njom glatko. Kod restauracije trodimenzionalne slike obično je potreban općenitiji model objekta (bez njega će restauracija, iako moguća, biti „hroma“ i manje prikladna za prepoznavanje), a korelacija projekcije s trodimenzionalnim modelom također nosi elemente prepoznavanja slike. Ali ni to nam nije zanimljivo, jer je tu egzaktnija matematika.

„Čisti“ mehanizam za prepoznavanje trebao bi se sam nositi s navedenim deformacijama slike, bez točnih modela i posebno pripremljenih trening setova. Prepoznavač ne bi trebao raditi na slici kao na jednodimenzionalnom nizu, ali mora razumjeti da se slika sastoji od dvodimenzionalnih fragmenata, sadržaj fragmenta se može promijeniti, iako njegovo značenje ostaje isto (primjer iznad o promjeni smjera osvjetljenja ili drugačijeg izraza lica), sam fragment se može pomaknuti u odnosu na središte slike i u odnosu na druge dijelove (drugi kut ili promjena izraza lica), kombinacija dijelova može se promijeniti (npr. naočale imaju pojavio, frizura/brada na licu se promijenila, iako je sam vlasnik isti).

Prepoznavatelji koji pokažu dobre rezultate mogu učiniti mnogo od navedenog, svaki na svoj način. Ali! Ako je za određeno područje razvijen jasan, specifičan mehanizam za prepoznavanje, tada će mu biti teško konkurirati nekom općenitijem mehanizmu za prepoznavanje, iako je mehanizam za opće prepoznavanje primjenjiv za šire uvjete. Na primjer, prepoznavanje lica ima dobro razvijene metode za detekciju položaja lica, normalizaciju i izdvajanje ključnih značajki za fotografije snimljene u dobro kontroliranim uvjetima. A za ove ključne značajke, ne najzamjetniji prepoznavači rade sjajno, a to je više nego dovoljno. Ako se ispravno prethodno obrađena slika lica podnese na ulaz neuronske mreže (višeslojni perceptron), to se također smatra privatnim motorom za prepoznavanje, jer će za neobrađenu sliku takva mreža imati katastrofalne rezultate.

Kako se točno prepoznavači nose s gornjim deformacijama slike?

Isticanje ključnih točaka i njihov sadržaj. Na primjer, za lice se određuje položaj vrha nosa, usana, kutova oka, sadržaj fragmenata slike oko tih točaka te se izračunavaju međusobne udaljenosti između tih točaka. Za rukom pisane znakove to može uključivati ​​točke zavoja staze, kut zavoja i udaljenost između kutova. Djelomično se metode prepoznavanja uzoraka koriste za pronalaženje tih točaka, djelomično su to logička pravila koja ručno programira ljudski stručnjak. Zatim se ti podaci šalju redovnom mehanizmu za prepoznavanje. Budući da su dvodimenzionalni odnosi između točaka već ekstrahirani i sadržaj susjedstva točaka je pronađen, prepoznavač se već može nositi s dvodimenzionalnim deformacijama dijeljenjem prostora slike. Ovdje je već izvršeno pretraživanje i usporedba osi, topologija slike prilagođena je topologiji prostora slike mehanizma za prepoznavanje, a udaljenosti između ključnih točaka omogućuju mjerenje izobličenja ove topologije, minimizirajući razlike u kutovima i obraćanje pozornosti kojoj osobi pripada lice. Štoviše, potraga za ključnim točkama bila je:

  • iterativna, a ne jednokratna snimka ulazno-izlaznih podataka, bez konstruiranja dugih logičkih lanaca, pretraga je bila "prvo u širinu" s nabrajanjem lokalnih opcija,
  • nisu ispitane sve moguće opcije, već samo one najrealnije,
  • pretraga se zaustavlja kada se postigne optimalni kriterij; optimalnost nije zajamčena.


Identifikacijske točke i udaljenosti: a) korištene u forenzičkom fotografskom pregledu; b) najčešće se koristi u izgradnji automatiziranih identifikacijskih sustava.

Nedostatak ovog pristupa je što se analizira samo mali broj točaka, ostatak slike se odbacuje, što može rezultirati lošom kvalitetom prepoznavanja. Na primjer, ako je točka netočno pronađena, to je već kobno, ali ako analizirate i okolna područja, tada se pogreška može minimizirati. Ali za određena dobro razvijena područja (kao što je prepoznavanje lica), ovaj pristup je dovoljan.

Sljedeća metoda je deformacija slike. Kao da je preko prepoznate slike rastegnuta rešetka u čijim čvorovima postaju izvorni pikseli. Zatim se rešetka iskrivi (čvorovi mijenjaju svoj položaj) i izračuna se iskrivljena slika. Razlika se izračunava između svake slike iz skupa za vježbanje i iskrivljene slike. Izvorna slika koja tijekom određenog broja ponavljanja izobličenja stvara manju razliku u odnosu na iskrivljenu sliku smatra se najsličnijom njoj (minimalna izobličenja s maksimalnom korespondencijom). Za traženje smjera izobličenja može postojati ili kriterij minimiziranja temeljen na izvornim i iskrivljenim slikama (kao u optičkim tokovima) ili nasumično pretraživanje, kao što je žarenje. Deformacije mogu biti elastične i neelastične. Elastično znači da kada su iskrivljeni, čvorovi rešetke ne mogu preskočiti jedan preko drugog, na primjer, uho neće stati u sredinu nosa. Neelastični prema tome dopuštaju bilo kakve permutacije čvorova. Koji je od njih bolji - ne sjećam se točnih usporedbi, ali intuitivno elastične deformacije su ugodnije. Izobličenja mogu slijediti metodu žarenja opisanu u prethodnom dijelu, uslijed čega će se izobličenje "smrznuti" u jednu od najsličnijih slika treninga.


Elastična deformacija - kombiniranje piksela u izvornoj i novoj slici





Optičko strujanje (neelastična deformacija). Preslikavanje nepoznate slike na poznatu, istu osobu. S lijeva na desno: nepoznata slika, slika baze podataka, nepoznata slika s blokovima zamijenjenim blokovima iz poznate slike.


Optičko strujanje (neelastična deformacija). Preslikavanje nepoznate slike na sliku iz baze podataka. Slike različitih ljudi. Kvaliteta prikaza je lošija.


Optičko strujanje (neelastična deformacija). Iskrivljenje rešetke slike prilikom pretvaranja jedne slike u drugu. S lijeve strane su slike jedne osobe, s desne su različite.

Nedostatak ovog pristupa je što glupo deformira sliku, pokušavajući minimizirati razliku piksel po piksel, potpuno ne uzimajući u obzir značenje slike. Na primjer, osmijeh jedne osobe može ugladiti izraz lica druge osobe jer je razlika piksel po piksel manja. Ili drugim riječima, dopuštene su sve putanje izobličenja slike (čak i elastične), iako su za stvarne slike te putanje strogo fiksirane i povezane su s promjenama perspektive, izraza lica itd. Osim toga, nije jasno što će se dogoditi ako područje nije doživjelo izobličenje, ali su se, primjerice, pojavile naočale koje nisu bile na izvornoj slici. Deformacija će vjerojatno poludjeti pokušavajući pretvoriti naočale u oči :)

Još jedna važna točka je da takva deformacija traži samo sličnost, bez otkrivanja distinktivnih značajki, razlika koje razlikuju jedan objekt od drugog (kao što to radi neuronska mreža u prethodnim dijelovima). Kao rezultat toga, moguće su šale kada će takav mehanizam za prepoznavanje uhvatiti šik identičnu frizuru, zanemarujući male promjene u obliku očiju (usput, dobri sustavi za prepoznavanje izbacuju frizure i druge čimbenike "buke" u fazi slike pretprocesiranje).

Postoji varijanta kada se preko slike ne proteže rešetka, već smisleniji okvir, na primjer, za lice, uključujući točke kao što su vrh nosa, vrhovi usana, oči, uši, obrve. Takvi mehanizmi za prepoznavanje djeluju inteligentnije, jer su već dobili potrebne podatke. Ne morate čak ni tražiti te točke, dovoljno je postaviti približni okvir, a ostatak će se pronaći tijekom deformacije. Druga stvar je da u skupu za obuku te točke moraju biti jasno postavljene (a to je zaseban i težak zadatak ili se izvodi djelomično ručno), a zatim možete usporediti referentni model s nepoznatim iskrivljenim ne samo sadržajem točkama, ali i prirodom izobličenja rešetke. To se zove dinamički graf (ili elastični, ne sjećam se točno).


Sljedeća metoda naziva se skriveni Markovljevi modeli (HMM). Dolje je pomalo nejasno (ali ukratko) opisana njegova suština, ali primjer s prepoznavanjem slike sve pojašnjava. Grubo govoreći, HMM je matrica prijelaznih vjerojatnosti između stanja fizičkog sustava ili signala. Kada uđe u određeno stanje, sustav ispisuje jednu od “vrijednosti” iz skupa “vrijednosti” tog stanja. Svaka "vrijednost" ove države ima vlastitu vjerojatnost izdavanja. Štoviše, neka "značenja" mogu biti karakteristična za druga stanja. Obično ne znamo kroz kakva stanja prolazi proces signala ili fizičkog sustava, već vidimo samo izdane “vrijednosti”, zbog čega se modeli nazivaju skrivenim.



Dijagram Markovljevog modela, primjer niza opažanja O i niza stanja S

Za prepoznavanje, HMM se koriste kako slijedi. Svaka slika se smatra nizom takvih "značenja". Za svaku klasu izračunava se vlastiti HMM. Zatim se za nepoznatu sliku pokreću svi dostupni modeli i među njima se traži onaj koji daje najsličniji niz “vrijednosti”. To se zove problem prepoznavanja i postoji točna formula za njegovo rješavanje. Za zadatak postavljanja modela temeljenih na dostupnim slikama ne postoje točne formule, ali, kao iu obuci neuronskih mreža, postoje heurističke (suboptimalne, vrsta gradijentnog spuštanja) metode.

Dvodimenzionalni HMM-ovi su se dobro pokazali za prepoznavanje slika. U njima se kao "vrijednost" uzima sadržaj kvadrata slike sa stranicom od nekoliko piksela. Stanje je položaj ovog kvadrata na slici. Slika je gusto prekrivena rešetkom takvih stanja (a granice susjednih kvadrata mogu se djelomično preklapati, što daje bolji rezultat prepoznavanja). Prijelazna matrica konstruirana je na takav način da su prijelazi mogući samo između stanja koja su susjedna na rešetki dvodimenzionalne slike. Odnosno, tražit će se kvadratić s vrhom nosa između obraza i usta, ali ne i iza uha, a ako se nos na nepoznatoj slici nađe lijevo, tada će se tražiti susjedni kvadratići - obrazi, nos, brada, itd. - tražit će se lijevo.








Postoji varijanta SMM obuke, kada je svaki SMM u početku bio "obučen" na svim slikama za obuku, a tek onda dorađen "našim", rezultat prepoznavanja bio je veći. Odnosno, SMM je naučio kako tipičan objekt "općenito" izgleda i mijenja se, a zatim se prilagodio izgledu i promjenama određenog objekta. I to se nije dogodilo zbog poznavanja točnog i specifičnog fizičkog modela, već zbog općeg postupka treniranja i konkretnih primjera iz stvarnog svijeta.

Ispostavilo se da je unutar HMM-a (ovo se također odnosi na konvolucijske mreže, vidi dolje) izgrađen prihvatljiv model objekta. To nije model koji se dobiva, primjerice, trodimenzionalnom rekonstrukcijom slike, niti model kada se skup ključnih značajki i odnosi među njima ručno određuju. HMM, naprotiv, ne stvara točan fizički model, već vjerodostojan model. Model koji proizvodi slično ponašanje objekta, ali zbog procesa koji nemaju nikakve veze sa stvarnom fizikom objekta. Kada su pravilno konfigurirani, fizički i vjerojatni modeli odgovaraju rezultatima koje proizvode u uvjetima u kojima smo trenirali vjerojatni model. No izvan ovih uvjeta počinju odstupanja, koja ponekad imaju zanimljive učinke. Na primjer, osoba može lako prepoznati drugu osobu po karikaturi, iako se matematički slika karikature nikako ne može usporediti s digitaliziranom slikom nečijeg lica. Ostale svakodnevne primjere lako je pronaći. Čovjek se u svojim postupcima ne vodi egzaktnim zakonima fizike, već „naivnom“ fizikom koja djeluje u svakodnevnim uvjetima, ali je potpuno neprimjenjiva kada izađemo iz granica tih uvjeta. Slične stvari mogu se pronaći iu logičkom i u figurativnom razmišljanju, odatle proizlaze fantazije i kreativnost, gledajući ih čovjek može usporediti ili osjetiti stvarne fizikalne procese koji se sa znanstvenog stajališta takvim fantazijama ne mogu opisati . I usput, takvim ih prepoznavačima nije teško preokrenuti tako da za dati objekt proizvode varijacije njegovih promjena. Naravno, osim stvarnih slika, dobit ćemo i hrpu "fantazija" od motora za prepoznavanje, koje su po našem mišljenju čudne. To je ujedno i osnova za određivanje ključnih područja slike – onih područja koja daju najveći doprinos prepoznavanju. Ali vratit ćemo se fantazijama i vjerojatnim modelima; sada ćemo nastaviti o prepoznavanju slika.

Dakle, HMM je gotovo savršeno prepoznavanje slike:

  • može se nositi s deformacijama slike tražeći željeni komad u određenom susjedstvu,
  • deformacija slike je elastična, uzimajući u obzir specifičnosti predmeta koji se prepoznaju (nos ne ide iza uha),
  • može se nositi s promjenama u kombinacijama komada (poput promjene frizure ili izgleda naočala), zbog činjenice da svakom stanju odgovara nekoliko vrijednosti njegovih dijelova,
  • slika je čvrsto prekrivena mrežom za pretraživanje i analizirana kao cjelina.

Ali SMM ima nedostatak. HMM ne znaju razlikovati prepoznatljive klase i ne znaju pronaći razlikovna obilježja. Neuronske mreže, na primjer, kažu "da" priznatoj klasi i "ne" svim ostalim, dok HMM kaže "da" svim klasama, a od tih "da" bira se maksimum koji se smatra priznatim razreda. I, koliko sam shvatio, HMM ne mjeri promjenu udaljenosti između dijelova, što bi moglo poboljšati rezultat, već samo traži kako najbolje rasporediti dijelove na slici, uzimajući u obzir njihovu blizinu. Iako bi bilo zanimljivo ovako pronađenu iskrivljenu rešetku (u obliku udaljenosti između čvorova, gdje je čvor pozicija komada) staviti u mehanizam za prepoznavanje.



Izlaz neuronske mreže tijekom prepoznavanja - jasno je vidljiva razlika između prepoznate klase (s11) i svih ostalih. Markovljevi modeli to ne mogu.

Sljedeća metoda prepoznavanja slike su kognitroni, neokognitroni i konvolucijske neuronske mreže (CNN). U početku su kognitroni, takoreći, izmišljeni na temelju strukture neurona u vidnom korteksu, zatim su poboljšani, au konvolucijskim mrežama iz cijele te strukture izolirano je racionalno zrno.

Da biste razumjeli kako ove mreže funkcioniraju, morate razumjeti najvažniji koncept - karte značajki. Zamislite da se slika skenira kroz mali kvadratni prozor. Položaji prozora na slici mogu se djelomično preklapati. U kvadratu prozora, svaki skenirani piksel ima vlastitu težinu koja mu je pridružena, a prozor ispisuje zbrojenu ponderiranu vrijednost svih piksela. Jedno jedino značenje. Ali budući da postoji mnogo položaja prozora, dobiva se dvodimenzionalna rešetka takvih vrijednosti. Ovaj prozor detektira prisutnost neke kombinacije piksela (značajke) na slici. Kao rezultat toga, izlazna mreža će proizvesti visoke vrijednosti tamo gdje postoji željena kombinacija piksela i niske vrijednosti tamo gdje sadržaj uopće ne nalikuje onome što tražimo. Ta se rešetka naziva karta značajki. Štoviše, ne tražimo jednu značajku, već mnogo različitih, svaka od njih ima svoj prozor sa svojim skupom težina, a kao rezultat dobivamo nekoliko paralelnih mapa značajki kao izlaz. Svaka mapa značajki (kao slika) šalje se na ulaz svog sljedećeg sloja za prepoznavanje, a također prima još nekoliko paralelnih mapa kao izlaz. U završnom sloju sve se karte šalju na ulaz završnog prepoznavača, što može biti vrlo jednostavno; original je koristio višeslojni perceptron.



Jasno je da takva obrada slike može uzeti u obzir male deformacije i pomake. Postoji opcija kada se mape značajki dalje paraleliziraju dodavanjem karata u kojima su dijelovi skenirani, rotirani pod različitim kutovima. Zbog toga se prepoznavač može nositi sa zaokretima. Nastavljajući misao u ovom smjeru, možete učiniti puno zanimljivih stvari, na primjer, prozore različitih veličina i nepromjenjivost na skali slike. Možete napraviti dodatne veze koje bi išle ne samo na prethodne karte u hijerarhiji, već i na one udaljenije (ovo već miriše na intelektualnu analizu scene). Još jedna zanimljiva opcija je kada mapa značajki sljedećeg sloja skenira ne samo jednu prethodnu kartu, već sve odjednom (kao što je bio slučaj u izvornom neokognitronu). Obrada odmah postaje teža (trodimenzionalni prozor), ali i moćnija. Nažalost, ne znam je li ova opcija proučavana u konvolucijskoj mreži. Ili umjesto toga, konačnom prepoznavaču barem dostavite izlaze ne samo posljednje kartice, već svih njih iz hijerarhije.



Arhitektura konvolucijske neuronske mreže. Konvolucijski slojevi i slojevi poduzorkovanja.

Zahvaljujući ovakvim mapama značajki, konvolucijske mreže postižu kvalitativno drugačiju, snažniju obradu slike (razmislite zašto, zamislite proces formiranja značajki pri kretanju u hijerarhiji). Kao što vidimo, ni ovdje nema dugih logičkih lanaca zaključivanja i nabrajanja opcija, pretraga je kratka i “široka” (istovremeno paralelna po svim kartama značajki).

U matematici se ono što prozor radi s izvornim skupom piksela naziva konvolucija (vrsta transformacije prostorne frekvencije), a težine u prozoru djeluju kao filtar. Zato se mreže nazivaju konvolucijske mreže. Slojevi koji to rade nazivaju se i konvolucijski.

Obično se uz mape značajki uvode i slojevi za usrednjavanje, koji prije unošenja karte u sljedeći sloj smanjuju njenu veličinu usrednjavanjem susjednih piksela (poput skaliranja slike), inače se dobiva ogromna količina izračuna, a dodatno , postiže se dodatna generalizacija raznih iskrivljenja izvornika Slike.

Kako se takve mreže treniraju. Prva opcija je izgraditi topografsku kartu od dijelova koji se nalaze na izvornoj slici, a zatim uzeti vrijednosti s ove karte i izraditi karte značajki na temelju njih. Topografske karte izrađuju se na isti način za sljedeće slojeve u hijerarhiji, ali karte značajki već se isporučuju kao ulaz. Topografska karta znači da sastavljamo, takoreći, rječnik od prosječnih dijelova pronađenih na slici. Štoviše, dijelovi će, prvo, biti raspoređeni u n-dimenzionalnu rešetku, gdje će susjedi biti slični, i drugo, što je za nas najzanimljivije, dijelovi iz rječnika dobro su prikladni za konstruiranje mapa značajki, budući da su karakteristični i fragmente slika koji se često pojavljuju, jer apstraktni ili rijetko prisutni dijelovi neće pasti na ovu kartu, a slični dijelovi će biti grupirani u jedan prosječni. U ovoj se opciji obuka odvija bez učitelja, budući da za izradu topografske karte nema potrebe za greškom između željenog i stvarnog izlaza mreže; značajke se automatski grupiraju prema njihovoj sličnosti. Samo se konačni prepoznavanje obučava s učiteljem, koji prima izlazne podatke iz mapa značajki zadnjeg sloja.


Primjena Kohonenovih mapa (dvodimenzionalnih) za smanjenje dimenzionalnosti područja slike lica. S lijeve strane je topografska karta područja slika prije treninga, s desne strane - nakon treninga.

Druga opcija je da se težine za karte značajki konfiguriraju kao težine neurona u povratnom širenju. Odnosno, iz izlaza mreže dolazi postavka koja govori koje značajke treba izvući iz slike da bi se dobio rezultat. Izvorni rad o konvolucijskim mrežama tvrdi da je ova postavka jednostavna, ali ne bih vjerovao autorima na riječ, jer postoji puno opcija, a neće sve dati nešto dobro. U izvornoj verziji, konvolucijska mreža trenira i radi vrlo brzo, te daje točnost blisku HMM (ali još uvijek manju). SMM-ovima, sa svojom nevjerojatnom preciznošću, potrebno je jako dugo da se treniraju.

Ne znam koja je opcija bolja. U teoriji, s obzirom na to da se završni prepoznavač obučava s učiteljem, rezultati bi trebali biti slični.

Iz opisa arhitekture konvolucijskih mreža, da vidimo što one mogu učiniti:

  • nositi se s deformacijama slike zbog činjenice da se značajka skenira preko cijele slike,
  • sposobni su kombinirati komade (naočale/frizura/...), zbog skupa paralelnih mapa značajki,
  • Deformacije su elastične (nos ne ide iza uha), zbog traženja i usrednjavanja u okolnom području.

Što ne mogu. Prvo se sastavljaju skupovi značajki za cijelu sliku. Zapravo, bilo bi korisno kada bi, kao u HMM-u, svako susjedstvo (točnije, za putanju pretraživanja) imalo vlastite skupove značajki. Odnosno, u području očiju nalazili bi se filteri isključivo s različitim fragmentima očiju, ali ne i usta, čak i ako se tamo nikada ne bi našli. To bi omogućilo izradu preciznijeg rječnika za svako područje, umjesto prosjeka za cijelu sliku. Ali u isto vrijeme, ovo bi usporilo mehanizam za prepoznavanje. Drugo (i usko povezano s prvim), tako da su dopuštene putanje svakog fragmenta jasno identificirane, a tijekom procesa prepoznavanja mjere se promjene u udaljenostima između susjednih fragmenata (točnije, budući da su svi susjedi u rešetki povezani , tako da se dopuštena izobličenja cijele rešetke izgrade i zatim provjere). Naravno, konvolucijske mreže to već rade u nekom obliku, ali intuitivno se čini da se to može učiniti optimalnije. Jednostavnija i brža opcija je izrada karata lokalnih obilježja (uzimajući u obzir predmetno područje). Na primjer, područja očiju, usta, nosa, ušiju.

To je sve s osnovnim metodama prepoznavanja slike (na primjeru prepoznavanja lica). Za druge vrste slika, principi prepoznavanja su isti, prilagođeni njihovom području, njihovim skupovima značajki.

Zaključak je ovo. Prilikom prepoznavanja slika, slika se prvo prethodno obrađuje, zatim se značajke ekstrahiraju ručno i/ili automatski; te se značajke šalju u bilo koji mehanizam za prepoznavanje, od kojih su najsloženije nelinearne razdjelne površine u prostoru značajki. Faza izdvajanja obilježja može se dogoditi korištenjem fizičkih modela za rekonstrukciju suštine objekta, ali to je već egzaktna matematika. Pravila prepoznavanja mogu se temeljiti na logici ljudskog stručnjaka u određenom području. Druga vrsta prepoznavača (deformacije slike, Markovljevi modeli, konvolucijske mreže) pokušava upotrijebiti heurističke metode za rekreaciju vjerodostojnog modela problematične domene i njegovo prekrivanje na nepoznatu sliku.

I nema čuda. Ili točne formule plus znanje ljudskog stručnjaka ili teški i univerzalni prihvatljivi modeli. Spominjanje kako se prepoznavanje slika navodno događa kod ljudi još uvijek je više otmjena riječ nego praktična primjena.

  • 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 kada ih koristiti, koje probleme rješavaju, što se može raditi navečer na koljenima i što je bolje ne razmišljati o tome bez tima od 20 ljudi.

Već dugo pišem neke članke o optičkom prepoznavanju, pa mi nekoliko puta mjesečno razni ljudi pišu s pitanjima na tu temu. Ponekad imate osjećaj da živite s njima u različitim svjetovima. S jedne strane, shvaćate da je osoba najvjerojatnije profesionalac u srodnoj temi, ali zna vrlo malo o metodama optičkog prepoznavanja. 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. Mnogo je lakše staviti narančastu oznaku na osobu nego pratiti osobu, ističući je u kaskadama. Mnogo je lakše uzeti kameru veće rezolucije nego razviti algoritam super rezolucije.
  • Stroga formulacija problema u metodama optičkog prepoznavanja mnogo je 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 napraviti algoritam koji će jednostavno "prepoznati bilo koji natpis". Znak na ulici i list teksta bitno su različiti objekti. Vjerojatno je moguće stvoriti opći algoritam (evo dobrog primjera iz Googlea), ali ć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 izgraditi rješenje za proizvoljne probleme računalnog vida. Svrha ovog članka je strukturirati što se može koristiti. Pokušat ću postojeće metode podijeliti u tri skupine. 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 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 čistog oblika, 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 u specifičnom zadatku obrade videa obično nije potrebna analiza, već rezultat.


Najjednostavniji primjeri filtera koji naglašavaju niske frekvencije (Gaussov filter) i visoke frekvencije (Gaborov 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štenja proširene interpretacije valića je problem pronalaženja odsjaja u oku, za koji je valić sam odsjaj:

Klasični valovi obično se koriste za kompresiju slike ili za klasifikaciju slike (opisano u nastavku).
Poveznica
Nakon ovako slobodnog tumačenja valića s moje strane, vrijedno je spomenuti stvarnu korelaciju koja je u njihovoj osnovi. Ovo je nezamjenjiv alat pri filtriranju slika. 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 jednostavne matematičke funkcije na slici (crta, 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 oblika. 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 objekt prilično složen, ali jasno prepoznatljiv, tada je često jedini način rada s njim odabrati njegove konture. Postoji niz algoritama koji rješavaju problem filtriranja kontura:

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 (primjerice, model aktivnog izgleda), 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 odjeljku bit će nekoliko klasičnih metoda koje vam omogućuju prijelaz sa slike na svojstva objekata ili na same objekte.
Morfologija
Prijelaz s filtriranja na logiku, po mom mišljenju, čine 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 bio u mogućnosti primijeniti analizu kontura u stvarnim problemima. 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. To su SURF i SIFT. 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. U osnovi su to različite metode strojnog učenja i donošenja odluka. Nedavno je Yandyx objavio tečaj na ovu temu na Habru, tamo postoji vrlo dobar izbor. Evo ga u tekstualnoj verziji. 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 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