Cum va recunoaște și va clasifica Google imaginile în viitorul apropiat? Recunoașterea obiectelor tridimensionale nedeformabile în imagini bazate pe contururi

RECUNOAȘTEREA OBIECTELOR TRIDIMENSIONALE NEDEFORMABILE ÎN IMAGINI PE CONTURURI

Student 545 gr. Departamentul de Programare a Sistemelor, Universitatea de Stat din Sankt Petersburg, Nikolai. *****@***com

adnotare

Această lucrare va compara metode binecunoscute de recunoaștere a obiectelor tridimensionale după contururi și va propune o nouă metodă care este utilizată cu succes în problema recunoașterii mașinilor. Această metodă este robustă la mici modificări ale imaginii obiectului, cum ar fi mici rotații și mici modificări de scară. În această metodă, obiectele 3D sunt reprezentate de un set finit de mostre cu care imaginea de intrare este considerată similară. Metoda se bazează pe orientările gradienților de imagine și, prin urmare, depinde slab de iluminarea obiectului. Un alt avantaj al acestei abordări este capacitatea de a utiliza contururi interne și parțiale.

Introducere

Problema recunoașterii obiectelor apare în multe domenii, de exemplu, în aplicațiile medicale pentru a recunoaște tipul de os într-o radiografie sau în domeniul criminalistic pentru a compara un obiect dintr-o imagine cu un obiect dintr-o bază de date, cum ar fi fața sau recunoașterea mașinii.

Metodele existente iau în considerare două tipuri de modificări de model: modificări nedeformante și cele deformante. Primul tip de schimbare implică rotația, deplasarea și scalarea modelului, iar al doilea implică și deformarea modelului în sine, cum ar fi, de exemplu, o schimbare a poziției corpului uman sau a expresiilor faciale.

Metoda propusă mai jos presupune găsirea unui obiect aflat sub modificări nedeformabile. Pentru a face acest lucru, conturul său este extras din imaginea de intrare a obiectului studiat, apoi sunt găsite puncte speciale ale conturului, cu ajutorul cărora se găsește un contur dintr-o bază de date de contururi construite din modele tridimensionale.

Soluții existente

Problema recunoașterii unui obiect după conturul său în general este rezolvată fie prin parametrizarea conturului și calcularea în continuare a funcției de similaritate din două parametrizări, fie prin numărarea unor descriptori de contur (de exemplu, un set de histograme) și compararea acestora.

În abordarea lui Belongie și colab., sunt introduse și comparate contextele formei de contur. n puncte de contur sunt selectate uniform, segmentele sunt trimise din fiecare punct către toate celelalte puncte din eșantion și se construiește o histogramă de-a lungul direcțiilor și lungimii acestor segmente. Setul tuturor acestor histograme este contextul formei conturului. Compararea a două contururi se realizează prin suprapunerea unui set peste altul cu toate decalajele posibile, găsind cea mai bună rotație a unui contur la celălalt. Complexitatea acestei abordări este O(n3).

Abordarea lui Sebastian et al. se bazează pe spațierea de editare introdusă mai devreme pentru șiruri. Pentru fiecare punct al conturului, se cunosc distanța unui punct prestabilit (începutul conturului) și curbura în acest punct. La compararea a două contururi, funcția de similaritate se calculează prin suprapunerea unui contur pe celălalt și calculând diferența de curbură cu posibilitatea de a arunca bucăți de contururi cu penalități.

Pentru a compara contururile, se poate folosi și conceptul de grafic de șoc, ca în abordarea lui Macrini și colab. De-a lungul conturului, scheletul acestuia este construit sub forma unui copac ca un set de puncte echidistante de perechi de puncte de contur. Nodurile acestui arbore sunt șocuri; vin în diferite tipuri și puncte forte. Comparând aceste grafice, puteți compara contururile în sine.

Metodele descrise mai sus pot ajuta la determinarea dacă conturul studiat este cel al unui avion sau al unui ciocan, dar sunt dificil de distins între contururile similare ale obiectelor nedeformabile. Prin urmare, este nevoie de ceva mai dependent de punctele de contur neobișnuite și care caracterizează mai puternic un obiect specific. În plus, este nevoie să folosiți contururi interne.

Abordare sugerată

Pe imaginea de intrare a unui obiect obținută folosind o cameră cu parametri cunoscuți fără distorsiuni, este necesar să selectați mai întâi conturul obiectului folosind gradientul imaginii. Apoi lăsați doar punctele speciale ale conturului și amintiți-vă doar direcția gradientului în aceste puncte. Apoi filtrați punctele obținute într-un fel și utilizați-le atunci când comparați contururile.

Conturând

Pentru a evidenția contururile s-a folosit un gradient de imagine, calculat folosind operatorul Sobel. De obicei, în acest scop, luminozitatea imaginii este utilizată în tonuri de gri, dar pentru a obține contururi mai evidente și complete, se folosește următoarea metodă: calculăm gradientul în fiecare punct pentru trei canale separat și notăm gradientul cu maximul maxim. norma ca urmare.

https://pandia.ru/text/78/196/images/image002_10.png" width="198" height="207 src=">

Selectarea punctelor speciale

Dintre punctele gradientului de imagine rezultat, le lăsăm doar pe cele a căror normă de gradient este mai mare decât un anumit prag, obținându-se astfel puncte de contur. Pentru aceste puncte de gradient, vom lăsa doar unghiul dintre direcția gradientului și axa Ox. Dacă unghiul α este mai mare decât π, atunci scriem în schimb α - π, deoarece gradientul poate fi direcționat în direcții opuse sub fundaluri diferite. Evitarea utilizării informațiilor despre normele de gradient permite ca punctele de contur din umbră să fie utilizate în același mod ca punctele de contur din partea iluminată a obiectului. Apoi, binarizăm unghiurile calculate în n bins, adică dacă unghiul α,: 0< α < π / n, тогда он попадает в первый бин, а если α,: π / n < α < π * 2 / n, тогда во второй и так далее. Затем из точек удаляем те, для которых неверно, что направление в этой точке является самым частым направлением в некоторой небольшой окрестности точки. Это обеспечивает локальную сонаправленность точек контура и чистит контур от шума. Оставшиеся точки (направление и координаты) и будут использоваться для сравнения двух контуров

Crearea unei baze de date folosind modele 3D

Baza de date a contururilor obiectelor este utilizată pentru a găsi un obiect și unghiul acestuia în imaginea de intrare. Pe baza unui anumit set de modele tridimensionale, imaginile lor sunt generate din diferite unghiuri și la diferite scări. Apoi contururile sunt detectate în aceste imagini și punctele speciale sunt identificate folosind metoda descrisă mai sus. Aceste rezultate pot fi salvate pentru reutilizare ulterioară. De asemenea, puteți împărți această bază de date în grupuri în funcție de dimensiunea contururilor în pixeli.

Orez. 3 Un exemplu de model tridimensional într-o perspectivă rotită de-a lungul axei Oy cu 20 de grade și de-a lungul axei Ox cu 10 grade din față.

Funcția de similaritate și calculul acesteia

Să numim fiecare contur de la bază un eșantion al modelului într-o anumită perspectivă și scară. Să deplasăm coordonatele punctelor din eșantioane astfel încât abscisa punctului cel mai din stânga să fie zero, iar ordonata punctului cel mai de sus să fie, de asemenea, zero. Apoi pentru imaginea de intrare eu la punct Cuși eșantion T puteți introduce o funcție de similaritate

Unde P este setul de puncte de eșantion, DESPRE– imaginea corespunzătoare probei, ori(O, r) – direcția binarizată a gradientului imaginii O în punctul r. Funcția se bazează pe opera lui Steger și una similară a fost folosită în opera lui Farhan. Problema este că o astfel de funcție este complet instabilă la modificări, așa că pentru fiecare punct al eșantionului este necesar să se ia în considerare o anumită vecinătate R(de exemplu, un pătrat de 7x7 pixeli) în jurul punctului aplicat:

DIV_ADBLOCK44">

0 " style="border-collapse:collapse;border:none">

Rezultatul testului de estompare depinde de dimensiunea miezului de estompare și de puterea acestuia. Cu cât este mai mult, cu atât procentul este mai mic. Când există un obstacol, procentul de recunoaștere depinde de ce parte a obiectului este blocată (câte puncte de contur sunt acolo).

Orez. 4 Graficul asemănării exemplului de testare după bază (de-a lungul axelor - unghiuri de rotație în x și y). Arată că în zona unghiului corect există un vârf clar al funcției, care poate fi găsit mai repede decât prin căutarea prin toate unghiurile.

Literatură

1. Belongie, S.; Malik, J.; Puzicha, J., „Potrivirea formelor și recunoașterea obiectelor folosind contextele de formă”, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol.24, nr.4, pp.509,522, Apr 2002

2. Sebastian, T. B.; Klein, P. N.; Kimia, B. B., „On aligning curves”, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol.25, nr.1, pp.116,125, ian. 2003

3. Macrini, D.; Shokoufandeh, A.; Dickinson, S.; Siddiqi, K.; Zucker, S., „Recunoașterea obiectelor 3-D bazată pe vizualizare folosind grafice de șoc”, Pattern Recognition, 2002. Proceedings. A 16-a Conferință Internațională despre, vol.3, nr., pp.24,28 vol.3, 2002

4. Farhan U.; Shun"ichi K.; Satoru I., „Object Search Using Orientation Code Matching”, IAPR Workshop on Machine Vision Applications, 28-30 noiembrie 2000

5. C. Steger, „Occlusion Clutter, and Illumination Invariant Object Recognition”, în Arhivele Internaționale de Fotogrammetrie și Teledetecție, 2002.

Fiecare obiect poate fi caracterizat printr-un set de anumite caracteristici. Numărul de caracteristici depinde de complexitatea obiectului în sine. Precizia selecției caracteristicilor va afecta eficiența de recunoaștere a obiectului descris de acest set.

Să luăm în considerare un exemplu de recunoaștere a obiectelor simple pe baza unui set de caracteristici. La implementarea metodei, vom folosi ca principale două funcții bwlabel și imfeature, care sunt încorporate în aplicația Image Processing Toolbox.

Mai întâi citim imaginea de testare originală în spațiul de lucru Matlab

L=imread("imagine_test.bmp");

și vizualizați-o

Figura, imshow(L);

Să facem câteva comentarii cu privire la imaginea originală. În cazul nostru, datele sursă sunt reprezentate de o imagine binară. Acest lucru ne simplifică oarecum sarcina, deoarece accentul principal în acest exemplu este pe recunoașterea obiectelor. Cu toate acestea, atunci când se rezolvă probleme de recunoaștere bazate pe imagini reale, în majoritatea cazurilor, sarcina importantă este de a converti imaginea originală într-una binară. Calitatea soluției la această problemă determină în mare măsură eficacitatea recunoașterii ulterioare.

Funcțiile bwlabel și imfeature folosesc imagini 2D în tonuri de gri ca intrare. Deoarece imaginea test_image.bmp a fost generată ca una binară, dar salvată în format bmp, atunci din matricea imaginii tridimensionale L, care conține trei bile de culoare identice, este necesar să selectați una dintre bile, de exemplu, primul.

L=L(:,:,1);

Același rezultat poate fi obținut folosind funcția rgb2gray. Astfel, matricea L reprezintă o imagine binară bidimensională.

Pentru calcule suplimentare, determinăm dimensiunile acestei imagini

Dimensiune (L);

În continuare trebuie să localizați, de exemplu. determinați locația obiectelor în imagine. Pentru a face acest lucru, vom folosi funcția bwlabel, care caută zonele conectate ale pixelilor obiectului într-o imagine binară și creează o matrice, fiecare element fiind egal cu numărul obiectului căruia îi aparține pixelul corespunzător al imaginii originale. . Parametrul num returnează în plus numărul de obiecte găsite în imaginea binară originală.

Bwlabel(L,8);

În plus, funcția bwlabel specifică încă un parametru – valoarea conectivității.

În continuare, procedăm la calcularea atributelor obiectelor care sunt marcate în matricea numerelor de obiecte L. Să luăm în considerare această problemă mai detaliat. Valorile caracteristicilor sunt returnate într-o serie de structuri de fapte. După cum sa menționat mai devreme, orice set de caracteristici poate fi utilizat în recunoașterea obiectelor.

În acest exemplu, vom aplica cea mai vizuală abordare statistică pentru clasificarea obiectelor pe baza caracteristicilor morfometrice. Principalele caracteristici morfometrice includ coeficienții de formă:

  1. „soliditate” – coeficient de convexitate: egal cu raportul dintre aria și aria convexă a obiectului. Reprezentat ca un număr în intervalul (0,1).
  2. „întindere” – factor de umplere: egal cu raportul dintre aria obiectului și aria dreptunghiului de delimitare. Reprezentat ca un număr în intervalul (0,1).
  3. „excentricitate” – excentricitatea unei elipse cu momente principale de inerție egale cu momentele principale de inerție ale obiectului. Reprezentat ca un număr în intervalul (0,1).

Deoarece acest exemplu folosește o imagine de testare a obiectelor de formă simplă, dintre caracteristicile enumerate în implementarea software-ului vom folosi doar factorul de umplere „întindere”. După cum sa menționat mai devreme, parametrul „întindere” este determinat de raportul dintre aria obiectului și aria dreptunghiului de delimitare. Pentru un cerc, acest parametru va fi egal cu , iar pentru un pătrat – 1. Dar aceste date sunt date pentru cazul în care cercul și pătratul au o formă ideală. Dacă forma cercului sau pătratului este distorsionată, atunci și valorile parametrului „întindere” pot diferi de valorile de mai sus. Prin urmare, coeficienții de formă pot fi calculați cu o anumită eroare. Astfel, introducând unele erori în factorul de formă, unele dintre distorsiunile acestuia sunt permise. Mai mult, valoarea erorii este proporțională cu gradul de distorsiune. Cu toate acestea, o valoare de eroare prea mare poate duce la recunoașterea incorectă a obiectului.

În plus, vom determina și centrul de masă al obiectului folosind opțiunea „centroid”.

Feats=imfeature(L,"Centroid","Extent",8);

Să rescriem valorile caracteristicilor din matricea structurii feats în matrice separate:

Extent=zero(num); CentX=zero(num); CentY=zero(num); pentru i=1:1:num; Extent(i)=feats(i).Extent; CentX(i)=feats(i).Centroid(1); CentY(i)=feats(i).Centroid(2); Sfârşit;

De asemenea, în acest exemplu vom implementa următoarele. Pentru claritate, fiecare obiect recunoscut va fi etichetat. Sunt posibile diferite abordări pentru a realiza acest lucru. Una dintre cele mai simple este să plasați o imagine cu numele ei lângă obiectul recunoscut. Pentru a face acest lucru, mai întâi trebuie să generați imagini cu numele obiectelor și să le citiți în spațiul de lucru Matlab. Deoarece imaginea de test conține doar cercuri și pătrate, va genera și număra imaginile corespunzătoare.

Krug=imread("krug.bmp"); Kvadrat=imread("kvadrat.bmp"); d=0,15; % eroare factor de formă pentru i=1:num; L(rotunzi(CentY(i)):rotunzi(CentY(i))+1,rotunzi(CentX(i)):rotunzi(CentX(i))+1)=0; dacă (abs(Extent(i)-0,7822)

Să ne imaginăm rezultatul recunoașterii

Figura, imshow(L);

Există și alte abordări ale recunoașterii obiectelor bazate pe un set de caracteristici. Ele diferă prin complexitatea lor computațională, eficiență etc. Cu toate acestea, în materialele ulterioare vom lua în considerare acele abordări care pot fi implementate folosind funcții încorporate în sistemul Matlab.

Ca subiect de cercetare a inteligenței artificiale, recunoașterea imaginilor are o istorie lungă și o mare importanță practică. A fost folosit pentru prima dată pentru citirea automată a numerelor scrise de mână. În prezent, sfera de aplicare a acestuia s-a extins semnificativ: de la măsurare, control, sortare și asamblare în procesele de fabricație până la analiza imaginilor citite de la distanță, diagnosticare din imagini medicale, evaluare cantitativă a datelor experimentale, identificare umană, proiectare automată, înțelegere. imaginile ca funcție viziunea tehnică a roboților etc. Procesul de recunoaștere a imaginii umane nu este o simplă prelucrare a informațiilor vizuale, ci un proces complex în care factorii psihologici joacă un rol important. În special, procesul de înțelegere a unei imagini implică inferență semantică, dar implementarea ei necesită colectarea de cunoștințe extinse și decizii intuitive care depășesc logica, așa că este extrem de dificil să simulezi un astfel de proces într-un computer.

Instrumentele existente de recunoaștere a imaginilor folosesc metode diferite, în funcție de faptul că obiectul de recunoaștere este artificial sau natural. În primul caz, de obicei se ocupă de obiecte individuale de o formă clară, deci un număr mare de studii

se concentrează pe potrivirea modelelor prin detectarea marginilor și marginilor sau deducerea formelor tridimensionale folosind reguli geometrice. Printre obiectele naturale, există multe obiecte de formă neregulată cu clarobscur, așa că de obicei, folosind analiza clusterului, acestea sunt împărțite în zone omogene, iar apoi, pe baza caracteristicilor formelor acestor zone, se face o concluzie despre obiect. În plus, recent au fost efectuate multe cercetări privind reproducerea formelor bi- și tridimensionale ale obiectelor pe baza procesării unui număr mare de imagini. În robotică, este nevoie de a procesa imaginile în mișcare în timp real, adică viteza de recunoaștere devine de mare importanță.

În general, procesul de recunoaștere a imaginii folosind un computer este următorul.

1. Obținerea informațiilor despre imagine folosind o cameră sau alte mijloace și conversia acestora în informații digitale: ca urmare, cadrele sunt împărțite într-un număr mare de elemente, iar fiecărui element i se atribuie culoare și contrast.

2. Pretratament. Eliminarea zgomotului, normalizarea pentru compararea cu un standard, segmentarea (selectarea informațiilor locale necesare recunoașterii) etc.

3. Extragerea caracteristicilor. Caracteristicile imaginii pot avea diferite niveluri. Strict vorbind, segmentarea este, de asemenea, parte a extragerii caracteristicilor. Metodele de extragere a caracteristicilor pot fi locale sau globale. Un exemplu de metodă locală este metoda de detectare a marginilor, gruparea globală și metoda de extindere a regiunii. Detectarea marginilor folosește discontinuități între regiuni, în timp ce gruparea este o segmentare bazată pe detectarea regiunilor omogene. Deoarece, în orice caz, informațiile de imagine conține zgomot care nu este eliminat în etapa de pre-procesare, segmentarea necesită procesarea informațiilor neclare. Extragerea globală a caracteristicilor se realizează în raport cu forma, proprietățile, poziția relativă și alte caracteristici ale zonelor selectate. Această procedură este de mare importanță pentru faza ulterioară de evaluare.

4. Înțelegerea și evaluarea. Procesul de înțelegere a unei imagini

sunt numite fie clasificare și identificare prin compararea clusterelor rezultate cu modele cunoscute, fie construirea unei imagini tridimensionale a obiectului original folosind inferențe. Rezultatul acestui proces este scopul final al recunoașterii imaginii.

În prezent, au fost efectuate un număr mare de studii privind procesul de recunoaștere a imaginii, dar rezultatele sunt încă extrem de nesatisfăcătoare. De exemplu, probleme precum înțelegerea imaginilor complexe, transformarea reciprocă a informațiilor verbale și video, recunoașterea obiectelor cu forme curbilinii și neregulate, recunoașterea imaginilor neclare, extragerea foarte eficientă a caracteristicilor, inferența semantică și imaginația etc. nu au fost practic abordate.

Principalele abordări metodologice acceptate în prezent în recunoaștere sunt statistica, analiza clusterului, deducția în logica cu două valori și o serie de altele, dar toate sunt foarte departe de procesul de recunoaștere care este caracteristic oamenilor. Extragerea caracteristicilor este cel mai important pas în recunoașterea imaginii, dar este și extrem de complexă. Într-adevăr, ce este un atribut de imagine? De ce o caricatură seamănă mai mult cu o persoană decât o fotografie a ei? Aparent, un rol important în procesul de recunoaștere umană îl joacă informațiile care par a fi nimic mai mult decât zgomot pentru un computer, dar sunt cumva extrase și prezentate. Semnele de acest fel pot fi identificate prin sentimentele unei persoane, și nu prin logică. În plus, la recunoașterea imaginilor neclare, nu abilitățile analitice funcționează, ci abilitățile de generalizare, de exemplu. este, de asemenea, un proces intuitiv. Pentru a simula astfel de procese, este necesară cercetarea metodelor de prelucrare a informațiilor subiective și a tehnicilor de manipulare a macroinformațiilor. Cercetările privind recunoașterea imaginilor neclare sunt abia la început, dar se așteaptă deja dezvoltarea în continuare a unei noi metodologii care să îndeplinească cerințele prezentate mai sus.

Să luăm în considerare pe scurt starea recunoașterii imaginilor neclare. Deoarece informațiile video chiar și ale unui obiect destul de clar pot fi perturbate de zgomot, logica neclară este cel mai adesea folosită pentru a detecta contururile. Un exemplu tipic este clasificarea

elemente de imagine folosind clustering fuzzy. Cu toate acestea, deoarece elementele absolut identice sunt rare, este necesară gruparea „fuzzy”. Metode similare sunt utilizate la clasificarea imaginilor care au o împrăștiere în raport cu imaginea de referință (recunoașterea caracterelor scrise de mână, vorbire etc.).

La detectarea directă a contururilor, apare o problemă de zgomot care nu poate fi rezolvată complet cu ajutorul filtrelor. În plus, sunt necesare constatări pentru a reface zonele pierdute. În acest scop, se folosesc reguli euristice, care, însă, au o natură calitativă neclară. Când treceți la etapa de înțelegere a imaginii, apare problema unei potriviri neclare mai eficiente a imaginilor, care necesită o comparație nu numai în formă, ci și în semantică pentru soluționarea acesteia. În special, această situație apare în domeniul diagnosticării cu raze X, unde formarea regulilor este imposibilă.

Mai jos sunt câteva exemple tipice de cercetare a recunoașterii imaginilor folosind logica fuzzy.

Detectarea și recunoașterea obiectelor este o parte integrantă a activității umane. Nu este încă pe deplin clar cum reușește o persoană să identifice și să recunoască atât de precis și atât de rapid obiectele necesare în diversitatea mediului. Încercările de a afla acest lucru au fost făcute de fiziologi și psihologi de mai bine de o sută de ani. Totuși, scopul nostru aici nu este să înțelegem mecanismul percepției umane (și animale), ci să descriem metode de recunoaștere automată a obiectelor din imaginile lor: o nouă tehnologie a informației, o metodologie puternică, practică și, într-un sens, universală pentru prelucrarea și evaluarea informațiilor și identificarea tiparelor ascunse.

Recunoașterea obiectelor tridimensionale din imaginile lor bidimensionale a devenit recent una dintre cele mai importante sarcini în analiza scenei și viziunea computerizată. Informațiile inițiale pentru recunoaștere conțin imagini din diverse părți ale întregului spectru de radiații (optice, infraroșii, ultrasonice etc.), obținute în diverse moduri (televiziune, fotografică, laser, radar, radiații etc.), convertite în formă digitală şi prezentate sub forma unei matrice numerice. Prin obiect înțelegem nu numai (și nu atât) o reprezentare digitală a unui fragment local al unei scene bidimensionale, ci o descriere aproximativă a acesteia, sub forma unui set de proprietăți (trăsături) caracteristice. Scopul principal al descrierilor (imaginilor obiectelor) este utilizarea lor în procesul de stabilire a corespondenței obiectelor, realizat prin comparație (contrast). Sarcina recunoașterii este de a determina apartenența „ascunsă” a unui obiect la o anumită clasă prin analiza vectorului de valori ale caracteristicilor observate. Informațiile despre relația dintre valorile atributelor unui obiect și apartenența acestuia la o anumită clasă trebuie extrase de algoritmul de recunoaștere dintr-un set de antrenament de obiecte pentru care fie valorile ambelor atribute și clase, fie numai valorile. dintre atributele lor, sunt cunoscute. În primul caz, problema se numește o problemă de învățare cu recunoaștere a modelelor supravegheate, iar în al doilea caz, se numește o problemă de învățare nesupravegheată. Aici se presupune că fiecare obiect „aparține” unei imagini dintr-un set fix. La atribuirea (clasificarea) obiectelor, este necesar să se aplice o regulă stabilită anterior pentru a decide cărei imagine (clasă) îi aparține obiectul. Într-o problemă de recunoaștere a învățării, trebuie elaborată o regulă de clasificare bazată pe studiul unui set de obiecte cu apartenență cunoscută la diferite clase. Aceste obiecte sunt numite colectiv set de antrenament sau eșantion. În sarcina de formare automată a imaginii, obiectele sunt prezentate unui „observator” fără a indica apartenența lor la clasă (recunoaștere nesupravegheată). Observatorul (algoritmul de recunoaștere) trebuie să construiască în mod independent definiția adecvată a claselor (analiza cluster). Desigur, această abordare a analizei imaginii este adecvată doar unuia dintre cele două aspecte ale sarcinii duale de detectare și recunoaștere a obiectelor de scenă, și anume, recunoașterea efectivă a clasei unui fragment de imagine bine definit (selectat), considerat ca un manifestare exterioară a unei imagini ascunse. În acest caz, este forțat să presupunem că sarcina de segmentare a fost deja rezolvată, adică determinarea limitelor fragmentelor, fiecare dintre acestea putând fi considerată ca un singur întreg (obiect).

Cercetările privind recunoașterea imaginilor obiectelor spațiale se remarcă prin marea diversitate în formularea problemelor și alegerea mijloacelor de rezolvare a acestora (metode de prelucrare a fragmentelor de imagine corespunzătoare), care este o consecință a diversității domeniilor de aplicare practică. Problemele tradiționale, care au fost rezolvate în primele dezvoltări experimentale ale sistemelor de viziune computerizată, sunt detectarea și recunoașterea obiectelor având o formă dată pe baza imaginilor zgomotoase și (eventual) deformate. Astfel, una dintre primele probleme practice care a stimulat formarea și dezvoltarea teoriei recunoașterii obiectelor a fost sarcina identificării și recunoașterii fețelor umane.

Orez. 9.1. Ilustrație a problemei recunoașterii fețelor umane și abordări ale selectării fragmentelor informative (sursa)

Complexitatea acestei sarcini se datorează varietatii de unghiuri posibile (scale, poziții, unghiuri de rotație) ale fețelor recunoscute (vezi Fig. 9.1). Aici este mai întâi necesar să construim o reprezentare internă a obiectelor, inclusiv proiecții de imagini. Această sarcină este încă utilizată pe scară largă în sistemele de securitate, verificarea cardurilor de credit, analize criminalistice, teleconferințe etc. Pentru rezolvarea acesteia s-au propus metode de recunoaștere bazate pe teoria rețelelor de neurocalculatoare, algoritmi de corelație-extremă, metode de calcul al momentelor statistice și algebrice, analiză de contur, modelare 3D etc. Printre acestea, se acordă o atenție deosebită direcției asociate cu selecția automată a trăsăturilor caracteristice (informative) ale obiectelor scenei, în acest caz, elementele ochilor, nasului, gurii, bărbiei - Fig. 9.1.

Puțin mai târziu, în sarcinile de monitorizare (control) a mediului natural cu ajutorul imaginilor aerospațiale, au apărut câteva abordări mai importante ale construcției caracteristicilor informative. În special, atunci când au fost obținute primele date de teledetecție multispectrale și spectrozonale, majoritatea dezvoltatorilor de metode de interpretare a mașinilor s-au orientat către studiul proprietăților spectrale ale obiectelor naturale, deoarece luminozitatea elementelor de imagine corespunzătoare în diferite intervale spectrale a făcut posibilă identificarea acestora la costuri de calcul relativ mici.

Orez. 9.2. Analiza cluster a luminozității spectrale a obiectelor naturale, afișată și un plan bidimensional al unei perechi de canale spectrale informative

Cea mai comună metodă de procesare a fost „clasificarea nesupravegheată” bazată pe analiza clusterului, cu ajutorul căreia spațiul caracteristicilor spectrale a fost împărțit în grupuri distincte (clustere, vezi Fig. 9.2), iar clasificarea elementelor imaginii a făcut posibilă simultan segmentează scena în zone omogene din punct de vedere spectral.

În plus, s-a dovedit că la recunoașterea formațiunilor naturale, pe lângă caracteristicile spectrozonale, s-au dovedit a fi extrem de importante și trăsăturile care caracterizează organizarea spațială locală a semitonurilor (textura) obiectelor de analiză. Un interpret experimentat se bazează pe astfel de informații (forma, orientarea, distribuția elementelor caracteristice, contextul și alte caracteristici spațiale) uneori într-o măsură mai mare decât pe caracteristicile spectrozonale. În orice caz, utilizarea caracteristicilor texturii poate crește semnificativ fiabilitatea recunoașterii și poate crește numărul de clase distincte de obiecte naturale.

În studiile experimentale care vizează rezolvarea unor probleme specifice, datele inițiale sunt un anumit set de fragmente de imagine (obiecte de scenă), descifrate de experți în domeniu și care servesc ca material de instruire și control. Aici, scopul principal al dezvoltării unui algoritm de recunoaștere este de a obține un răspuns la întrebarea dacă analiza automată și clasificarea imaginilor corespunzătoare ale obiectelor este posibilă și, dacă da, ce set de caracteristici de decriptare este cel mai eficient și ce structură a regulii de decizie și metoda de decodare ar trebui să aibă.

Adnotare: Prelegerea discută caracteristicile problemelor de recunoaștere a modelelor și tipurile acestora, elementele de bază ale teoriei analizei și recunoașterii imaginilor (metoda caracteristicilor), recunoașterea folosind metoda analogiilor. Printre multe probleme interesante de recunoaștere, sunt luate în considerare principiile și abordarea recunoașterii în problemele de citire automată a textelor tipărite și scrise de mână.

Roboții moderni, echipați cu camere de televiziune, sunt capabili să vadă suficient de bine pentru a lucra cu lumea reală. Ei pot face inferențe despre ce tipuri de obiecte sunt prezente, ce relații au între ei, ce grupuri formează, ce text conțin etc. Cu toate acestea, sarcini complexe de recunoaștere, cum ar fi recunoașterea unor obiecte tridimensionale similare care se mișcă rapid sau ilizibile. text scris de mână, necesită metode și mijloace de îmbunătățire pentru rezolvarea lor. În această prelegere ne vom uita la elementele de bază ale unor metode tradiționale de recunoaștere. Vom începe recenzia noastră cu cele mai utilizate metoda de recunoaștere a caracteristicilor [ 1.4 ] , [ 4.1 ] .

Caracteristicile generale ale problemelor de recunoaștere a modelelor și tipurile acestora.

O imagine este înțeleasă ca o descriere structurată a obiectului sau fenomenului studiat, reprezentată de un vector de trăsături, fiecare element al căruia reprezintă valoarea numerică a uneia dintre trăsăturile care caracterizează obiectul corespunzător. Structura generală sisteme de recunoaștere iar etapele procesului de dezvoltare a acestuia sunt prezentate în Fig. 4.1.


Orez. 4.1.

Esența sarcinii de recunoaștere- să stabilească dacă obiectele studiate au un set finit fix de caracteristici care le permite să fie clasificate într-o anumită clasă.

Sarcinile de recunoaștere au următoarele trăsături de caracter.

  1. Acest sarcini de informare, constând din două etape: a) aducerea datelor sursă într-o formă convenabilă recunoașterii; b) recunoașterea în sine (care indică faptul că un obiect aparține unei anumite clase).
  2. În aceste sarcini puteți introduceți conceptul de analogie sau similitudine a obiectelor și formulați conceptul de proximitate a obiectelor ca bază pentru clasificarea obiectelor în aceeași clasă sau în clase diferite.
  3. În aceste sarcini puteți operați cu un set de precedente și exemple, a cărui clasificare este cunoscută și care sub formă de descrieri formalizate pot fi prezentate algoritmului de recunoaștere pentru ajustarea la sarcină în timpul procesului de învățare.
  4. Pentru aceste sarcini este dificil să construiești teorii formale și să aplici metodele matematice clasice(informațiile pentru un model matematic precis sunt adesea indisponibile sau beneficiile din utilizarea modelului și a metodelor matematice nu sunt proporționale cu costurile).
  5. În aceste sarcini posibile informații „proaste”.(informații cu omisiuni, eterogene, indirecte, neclare, ambigue, probabilistice).

Este recomandabil să distingem următoarele tipuri de sarcini de recunoaștere.

  1. Sarcina de recunoaștere este de a atribui obiectul prezentat conform descrierii sale uneia dintre clasele date ( antrenament cu un profesor).
  2. Sarcină de clasificare automată - setați partiția obiecte (situații) conform descrierilor lor într-un sistem de clase disjuncte (taxonomie, analiza grupului, învățare nesupravegheată).
  3. Sarcina de a selecta un set informativ de caracteristici în recunoaștere.
  4. Sarcina de a reduce datele sursă la o formă convenabilă pentru recunoaștere.
  5. Recunoaștere dinamică și clasificare dinamică - sarcinile 1 și 2 pentru obiecte dinamice.
  6. O problemă de prognoză este 5 probleme în care o decizie trebuie să se refere la un moment dat în viitor.

Fundamentele teoriei analizei și recunoașterii imaginilor.

Fie dat o mulţime de M obiecte; pe această mulțime există o partiție într-un număr finit de submulțimi (clase) i = (1,m), Obiectele sunt specificate de valorile unor caracteristici x j, j= (1,N). O descriere a unui obiect se numește standard dacă ia o valoare din setul de valori valide.

Să fie dat masa de invatare(Tabelul 4.1). Sarcina de recunoaștere este de a, pentru un anumit obiect și un set de clase, ..., conform informațiilor de instruire din masa de antrenament despre clase și descriere calculați predicate:

unde i= (1,m), - necunoscut.

Tabelul 4.1. Masa de antrenament
Un obiect Semnele și semnificațiile lor Clasă
x 1 x j x n
...
r11
...
...

Să luăm în considerare algoritmii de recunoaștere bazați pe calculul scorurilor. Ele se bazează pe principiul precedentului (în situații similare ar trebui să se acționeze într-un mod similar).

Să fie dat un set complet de caracteristici x 1, ..., x N. Să selectăm un sistem de submulțimi ale mulțimii de caracteristici S 1, ..., S k. Să eliminăm un set arbitrar de caracteristici din liniile , , ..., și să notăm liniile rezultate cu , , ..., , .

Regula de proximitate, care ne permite să evaluăm asemănarea șirurilor, este următoarea. Fie ca șirurile „trunchiate” să conțină primele q caractere, adică, iar Pragurile sunt specificate... , Șirurile și sunt considerate similare dacă sunt îndeplinite cel puțin următoarele inegalități:

Mărimile ... sunt incluse ca parametri în modelul unei clase de algoritmi bazați pe estimări.

Fie evaluarea obiectului pe clasă.

Descrierile obiectelor prezentate pentru recunoaștere sunt traduse într-o matrice numerică de evaluări. Decizia cu privire la care clasă să îi atribui un obiect se face pe baza calculului gradului de asemănare dintre recunoașterea obiectului (șirului) și șirurilor a căror apartenență la clase date este cunoscută.

Să ilustrăm algoritmul de recunoaștere descris cu un exemplu. Sunt specificate 10 clase de obiecte (Fig. 4.2a). Trebuie să identifici semnele tabele de învățare, pragurile și estimările de proximitate de construcție pentru clasele de obiecte prezentate în Fig. 4.2b. Sunt sugerate următoarele semne tabele de învățare:

x 1 - număr de linii verticale de dimensiune minimă;