Viziune computerizată

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 29 iulie 2019; verificările necesită 5 modificări .

Viziunea computerizată (altfel viziunea tehnică ) este o teorie și o tehnologie pentru crearea de mașini care pot detecta, urmări și clasifica obiecte.

Ca disciplină științifică, viziunea computerizată se referă la teoria și tehnologia creării de sisteme artificiale care obțin informații din imagini. Datele video pot fi sub mai multe forme, cum ar fi o secvență video, imagini de la diverse camere sau date 3D, cum ar fi de la un dispozitiv Kinect sau un scaner medical.

Ca disciplină tehnologică, viziunea computerizată urmărește să aplice teoriile și modelele viziunii computerizate la construirea sistemelor de viziune computerizată . Exemple de utilizare a unor astfel de sisteme pot fi:

  1. Sisteme de control al proceselor ( roboți industriali , vehicule autonome ).
  2. Sisteme de supraveghere video .
  3. Sisteme de organizare a informațiilor (de exemplu, pentru indexarea bazelor de date cu imagini).
  4. Sisteme de modelare a obiectelor sau a mediului (analiza imagini medicale, modelare topografică).
  5. Sisteme de interacțiune (de exemplu, dispozitive de intrare pentru un sistem de interacțiune om-mașină).
  6. Sisteme de realitate augmentată .
  7. Fotografie computațională , cum ar fi pentru dispozitivele mobile cu camere.

Viziunea computerizată poate fi descrisă și ca o completare a vederii biologice (dar nu neapărat opusul). În biologie, este studiată percepția vizuală a oamenilor și a diferitelor animale, în urma căreia sunt create modele de funcționare a unor astfel de sisteme în ceea ce privește procesele fiziologice. Viziunea computerizată, pe de altă parte, studiază și descrie sistemele de viziune computerizată care sunt implementate în hardware sau software. Schimbul interdisciplinar dintre viziunea biologică și computerizată s-a dovedit a fi foarte productiv pentru ambele domenii științifice.

Subsecțiunile viziunii computerizate includ reluarea acțiunii, detectarea evenimentelor, urmărirea, recunoașterea modelelor, recuperarea imaginii și câteva altele.

Poziția actuală

Domeniul viziunii computerizate poate fi caracterizat ca tânăr, divers și în dezvoltare dinamică. Și, deși există lucrări anterioare, se poate spune că abia la sfârșitul anilor 1970 a început studiul intens al acestei probleme, când computerele au putut controla procesarea unor seturi mari de date, cum ar fi imaginile. Cu toate acestea, aceste studii au început de obicei în alte domenii și, prin urmare, nu există o formulare standard a problemei vederii computerizate. De asemenea, și mai important, nu există o formulare standard a modului în care ar trebui rezolvată o problemă de viziune computerizată. În schimb, există multe metode pentru rezolvarea diferitelor probleme de viziune computerizată bine definite, unde metodele sunt adesea specifice problemei și rareori pot fi generalizate la o gamă largă de aplicații. Multe dintre metode și aplicații sunt încă în cercetare de bază, dar un număr tot mai mare de metode sunt utilizate în produsele comerciale, unde adesea fac parte dintr-un sistem mai larg care poate rezolva probleme complexe (de exemplu, în imagistica medicală sau în măsurarea și calitatea). control în procesele de fabricaţie). În majoritatea aplicațiilor practice ale vederii computerizate, computerele sunt preprogramate pentru a îndeplini sarcini specifice, dar metodele bazate pe cunoștințe devin din ce în ce mai generale.

O parte importantă în domeniul inteligenței artificiale este planificarea automată sau luarea deciziilor în sisteme care pot efectua acțiuni mecanice, cum ar fi deplasarea unui robot printr-un mediu oarecare. Acest tip de procesare necesită de obicei intrare de la sisteme de viziune computerizată care acționează ca un senzor video și oferă informații de nivel înalt despre mediu și robot. Alte domenii care sunt uneori descrise ca aparținând inteligenței artificiale și care sunt utilizate în legătură cu viziunea computerizată sunt metodele de recunoaștere a modelelor și de învățare. Drept urmare, viziunea computerizată este uneori văzută ca parte a domeniului inteligenței artificiale sau a informaticii în general.

Un alt domeniu legat de viziunea computerizată este procesarea semnalului . Multe metode de procesare a semnalelor unidimensionale, de obicei semnale temporale, pot fi extinse în mod natural pentru a procesa semnale bidimensionale sau multidimensionale în viziunea computerizată. Cu toate acestea, datorită naturii specifice a imaginilor, există multe metode dezvoltate în domeniul vederii computerizate care nu au analogi în domeniul procesării unidimensionale a semnalului. O proprietate specială a acestor metode este neliniaritatea lor, care, împreună cu multidimensionalitatea semnalului, face ca sub-câmpul corespunzător în procesarea semnalului să facă parte din câmpul viziunii computerizate.

Pe lângă abordările amintite ale problemei vederii computerizate, multe dintre problemele investigate pot fi studiate din punct de vedere pur matematic. De exemplu, multe metode se bazează pe statistici , metode de optimizare sau geometrie . În sfârșit, se lucrează mult în domeniul aplicațiilor practice ale viziunii computerizate – cum pot fi implementate metodele existente în software și hardware, sau cum pot fi modificate pentru a obține viteză mare fără o creștere semnificativă a resurselor consumate.

Domenii conexe

Viziunea computerizată , Procesarea imaginilor și Viziunea artificială  sunt domenii strâns legate. Dar încă nu este determinat cu exactitate dacă sunt secțiuni ale uneia, mai late. Într-o analiză detaliată, poate părea că acestea sunt doar nume diferite pentru aceeași zonă. Pentru a evita confuzia, se obișnuiește să le distingem ca zone axate pe un anumit subiect de studiu. Mai jos este o descriere a unora dintre cele mai importante:

Procesarea imaginii, sau analiza imaginii, se concentrează în principal pe lucrul cu imagini bidimensionale, adică pe modul de transformare a unei imagini în alta. De exemplu, operațiuni de îmbunătățire a contrastului pe pixel, operațiuni de îmbunătățire a marginilor, operațiuni de dezgomot sau transformări geometrice, cum ar fi transformări afine . Aceste operațiuni presupun că procesarea/analiza imaginilor funcționează independent de conținutul imaginilor în sine.

Viziunea computerizată se concentrează pe procesarea scenelor 3D proiectate pe una sau mai multe imagini. De exemplu, restaurarea structurii sau a altor informații despre o scenă tridimensională dintr-una sau mai multe imagini. Viziunea computerizată depinde adesea de presupuneri mai mult sau mai puțin complexe despre ceea ce este reprezentat în imagini.

Viziunea artificială se concentrează în principal pe aplicații industriale, cum ar fi roboții autonomi și sistemele de inspecție vizuală și măsurare. Aceasta înseamnă că tehnologiile senzorilor de imagine și teoria controlului sunt asociate cu procesarea datelor video pentru a controla robotul, iar prelucrarea datelor în timp real este efectuată în hardware sau software.

Există, de asemenea, un domeniu numit Vizualizare , care a fost asociat inițial cu procesul de creare a imaginilor, dar uneori s-a ocupat de procesare și analiză. De exemplu, radiografia funcționează cu analiza datelor video aplicației medicale.

În cele din urmă, recunoașterea modelelor este un domeniu care utilizează diverse metode pentru a extrage informații din datele video, în principal bazate pe o abordare statistică. O parte semnificativă a acestui domeniu este dedicată aplicării practice a acestor metode.

Exemple de aplicații ale vederii computerizate

Una dintre cele mai importante aplicații este procesarea imaginilor în medicină. Această zonă se caracterizează prin obținerea de informații din date video pentru diagnosticul medical al pacienților. În cele mai multe cazuri, datele video sunt obținute folosind microscopie , radiografie , angiografie , ultrasunete și tomografie . Un exemplu de informații care pot fi obținute din astfel de date video este detectarea tumorilor , aterosclerozei sau a altor modificări maligne. Un alt exemplu ar fi măsurarea dimensiunilor organelor, a fluxului sanguin etc. Această zonă de aplicare contribuie și la cercetarea medicală, oferind noi informații, de exemplu, despre structura creierului sau calitatea tratamentului medical.

Un alt domeniu de aplicare a viziunii computerizate este industria. Aici informațiile sunt obținute în scopul susținerii procesului de producție. Un exemplu ar fi controlul calității, în care piesele sau produsul final sunt verificate automat pentru defecte. Un alt exemplu este măsurarea poziției și orientării pieselor ridicate de un braț robot.

Aplicațiile militare sunt probabil cea mai mare zonă de viziune pe computer. Exemple evidente sunt detectarea soldaților și vehiculelor inamice și controlul rachetelor . Cele mai avansate sisteme de control al rachetelor trimit racheta într-o zonă dată în loc de o țintă specifică, iar selecția țintei se face atunci când racheta ajunge în zona dată pe baza datelor video primite. Un concept militar modern precum „conștientizarea luptei” implică faptul că diverși senzori, inclusiv senzori de imagine, oferă un set mare de informații despre câmpul de luptă care poate fi folosit pentru a lua decizii strategice. În acest caz, prelucrarea automată a datelor este utilizată pentru a reduce complexitatea sau a crește fiabilitatea informațiilor primite.

Unul dintre noile domenii de aplicare este vehiculele autonome, inclusiv subacvatice, sol (roboți, mașini), aer. Nivelul de autonomie variază de la vehicule complet autonome (fără pilot) până la vehicule în care sistemele bazate pe viziune computerizată sprijină șoferul sau pilotul în diferite situații. Vehiculele complet autonome folosesc viziunea computerizată pentru navigare, adică pentru a obține informații despre locația lor, pentru a crea o hartă a mediului, pentru a detecta obstacole. Ele pot fi folosite și pentru sarcini specifice, cum ar fi detectarea incendiilor forestiere. Exemple de astfel de sisteme sunt sistemele de avertizare a obstacolelor pentru vehicule și sistemele autonome de aterizare a aeronavei. Unii producători de automobile au demonstrat sisteme de conducere autonomă, dar această tehnologie nu a atins încă punctul în care să poată fi produsă în serie.

Alte aplicații includ:

Sarcini tipice de viziune computerizată

Fiecare dintre domeniile de aplicare a vederii computerizate descrise mai sus este asociat cu o serie de sarcini; problemele de măsurare sau procesare mai mult sau mai puțin bine definite pot fi rezolvate folosind o varietate de metode. Câteva exemple de sarcini tipice de viziune computerizată sunt prezentate mai jos.

Recunoaștere

O sarcină clasică în viziunea computerizată, procesarea imaginilor și viziunea artificială este determinarea dacă datele video conțin un obiect, caracteristică sau activitate caracteristică. Această sarcină poate fi rezolvată în mod fiabil și ușor de un om, dar nu a fost încă rezolvată satisfăcător în viziunea computerizată în cazul general: obiecte aleatorii în situații aleatorii.

Metodele existente de rezolvare a acestei probleme sunt eficiente numai pentru anumite obiecte, cum ar fi obiecte geometrice simple (de exemplu, poliedre), chipuri umane, caractere tipărite sau scrise de mână, mașini și numai în anumite condiții, de obicei o anumită iluminare, fundal și poziție obiectul în raport cu camera.

O varietate de probleme de recunoaștere au fost descrise în literatură:

Există mai multe sarcini specializate bazate pe recunoaștere, de exemplu:

Mișcare

Mai multe sarcini de estimare a mișcării în care o secvență de imagini (date video) este procesată pentru a găsi o estimare a vitezei fiecărui punct dintr-o imagine sau scenă 3D. Exemple de astfel de sarcini sunt:

Restaurarea scenei

Dat două sau mai multe imagini ale unei scene sau date video. Restaurarea scenei are sarcina de a recrea un model tridimensional al scenei. În cel mai simplu caz, modelul poate fi un set de puncte din spațiul tridimensional. Metode mai sofisticate reproduc modelul 3D complet.

Recuperare imagine

Sarcina restabilirii imaginii este de a elimina zgomotul (zgomotul senzorului, neclaritatea mișcării etc.). Cea mai simplă abordare pentru a rezolva această problemă este diferitele tipuri de filtre, cum ar fi filtrele trece-jos sau trece-mijloc. Metodele mai complexe folosesc reprezentări ale modului în care anumite părți ale imaginii ar trebui să arate și, pe baza acesteia, le schimbă.

Un nivel mai ridicat de eliminare a zgomotului este atins prin analizarea mai întâi a datelor video pentru prezența diferitelor structuri, cum ar fi linii sau margini, și apoi gestionând procesul de filtrare pe baza acestor date.

Sisteme de viziune computerizată

Implementarea sistemelor de viziune computerizată depinde în mare măsură de aplicația lor, de platforma hardware și de cerințele de performanță. Unele sisteme sunt autonome și rezolvă probleme specifice de detectare și măsurare, în timp ce alte sisteme sunt subsisteme ale unor sisteme mai mari care pot conține deja subsisteme pentru controlul manipulatorilor mecanici (roboți), baze de date de informații (căutarea imaginilor similare), interfețe om-mașină (jocuri pe computer) , etc. Cu toate acestea, există funcții care sunt comune multor sisteme de viziune computerizată.

Software

  1. OpenCV O bibliotecă open source computer vision.
  2. PCL O bibliotecă open source pentru lucrul cu nori de puncte 3D.

Vezi și

Literatură