Viziunea computerizată și IA: Transformarea înțelegerii vizuale
Publicat: 2025-01-15Viziunea computerizată este unul dintre subdomeniile fundamentale ale inteligenței artificiale (AI). Acest ghid explică viziunea computerizată, cum funcționează, unde este aplicată și beneficiile și dezavantajele acesteia.
Cuprins
- Ce este viziunea computerizată?
- Istoria și evoluția vederii computerizate
- Cum funcționează viziunea computerizată
- Aplicații ale vederii computerizate
- Avantajele vederii computerizate
- Dezavantajele vederii computerizate
- Concluzie
Ce este viziunea computerizată?
Domeniul viziunii computerizate acoperă toate tehnicile AI care utilizează sisteme informatice pentru a analiza datele vizuale, cum ar fi datele din videoclipuri și fotografii. Domeniul există oficial din anii 1960, iar aplicațiile timpurii de viziune computerizată au folosit potrivirea modelelor și alte euristice pentru a îmbunătăți imaginile în domeniul biomedical, al fizicii avansate și în alte domenii de cercetare de ultimă oră. Aproape toate sistemele recente de viziune computerizată se bazează exclusiv pe algoritmi de învățare automată (ML) (mai precis, algoritmi de învățare profundă) pentru a-și face munca, deoarece sunt mult mai eficiente decât tehnicile mai vechi.
Istoria și evoluția vederii computerizate
Viziunea computerizată își are rădăcinile din experimentele efectuate de neurofiziologi care au căutat să înțeleagă modul în care imaginile produse de ochi sunt procesate în creier. În primele decenii ale dezvoltării sale, viziunea computerizată s-a inspirat în mare măsură și a fost inspirată de cercetările asupra vederii umane și animale.
Deși este dificil de precizat un an exact de început, 1959 este adesea considerat începutul domeniului. În acel an, au fost stabilite două concepte de bază ale analizei imaginii: (1) că analiza imaginii ar trebui să se concentreze mai întâi pe identificarea subcomponentelor unei imagini și (2) că acele componente ar trebui apoi analizate ierarhic.
Lista de mai jos evidențiază câteva dintre reperele majore dintre descoperirea acestor concepte fundamentale și explozia recentă a progreselor în viziunea computerizată. Astăzi, sistemele de viziune computerizată se bazează pe algoritmi complexi de învățare profundă pentru a procesa, înțelege, edita și crea imagini realiste în timp real.
Etape majore în dezvoltarea vederii computerizate
1959:Studiile asupra creierului animalelor au arătat că componentele simple ale unei imagini (cum ar fi marginile și liniile) au fost detectate mai întâi și apoi procesate ierarhic. Aceste perspective au devenit două dintre conceptele fundamentale în viziunea computerizată și sunt recunoscute drept începuturile oficiale ale domeniului.
Anii 1960:Au început primele eforturi oficiale de inteligență artificială și viziune pe computer. Progresele au inclus sisteme care transformau automat părți ale fotografiilor în obiecte tridimensionale echivalente.
Anii 1970:Un accent pe cercetarea și educația privind viziunea computerizată a produs mulți algoritmi de bază de viziune pe computer încă utilizați astăzi, inclusiv cei pentru detectarea modelelor, estimarea mișcării, detectarea marginilor, etichetarea liniilor și modelarea geometrică a componentelor imaginii.
Anii 1980:Rețelele neuronale convoluționale (CNN) au fost dezvoltate semnificativ de-a lungul deceniului. În 1989, primul CNN a fost aplicat cu succes unei probleme de vedere, detectând automat codurile poștale în imagini.
Anii 1990:Camerele inteligente au devenit din ce în ce mai populare și au fost utilizate pe scară largă în medii industriale. Cererea din ce în ce mai mare de instrumente pentru procesarea unor cantități mari de imagini digitale a condus la o explozie a investițiilor comerciale, avansând în continuare domeniul. S-a născut industria viziunii computerizate și s-au dezvoltat metode formale de evaluare a calității sistemelor de viziune computerizată.
2000:La sfârșitul anilor 1990 și începutul anilor 2000, cercetătorii au stabilit conceptul de orbire la schimbare. Ei au demonstrat că oamenii deseori scapă schimbări substanțiale atunci când observă datele vizuale. Această descoperire a ajutat la stabilirea unei alte perechi de concepte - ideile de atenție și procesare parțială - ca elemente de bază în viziunea computerizată.
2011:Pentru prima dată, o echipă din Elveția a demonstrat că CNN-urile aplicate pe GPU-uri erau un sistem ML cu viziune computerizată definitiv eficient. Aceste sisteme au fost revoluționare, depășind numeroase recorduri de viziune și depășind pentru prima dată oamenii. Sistemele de viziune computerizată au început să treacă la implementări bazate pe CNN.
2015:O implementare de deep learning a CNN-urilor a câștigat competiția ImageNet pentru prima dată, marcând începutul erei moderne a vederii computerizate.
Cum funcționează viziunea computerizată
Lucrarea cu viziunea computerizată implică de obicei trei părți, pe care le descriem mai jos. Detaliile de implementare la nivel inferior pot fi foarte complexe, implicând adesea etape repetate, așa cum este descris în partea a treia de mai jos. Chiar și atunci când detaliile de implementare sunt complicate, munca urmează de obicei aceste modele.
1 Achiziția imaginii
Ca și alte sisteme ML, sistemele de procesare a datelor vizuale depind de cantitatea și calitatea datelor pe care le pot accesa. Când este proiectat un sistem de viziune computerizată, se acordă o atenție deosebită când și cum sunt obținute datele și imaginile sursă pentru a îmbunătăți calitatea procesării. Trebuie luați în considerare și optimizați diverși factori, printre care:
- Senzori:numărul și tipurile de senzori utilizați. Sistemele de viziune computerizată folosesc senzori pentru a obține date din mediul lor, inclusiv camere video, lidar (detecție și detecție a luminii), radar și senzori în infraroșu.
- Implementare:aranjarea și orientarea senzorilor pentru a minimiza punctele moarte și pentru a utiliza în mod optim informațiile senzorului.
- Datele senzorului:Diferite tipuri și cantități de date trebuie procesate și interpretate diferit. De exemplu, datele RMN, cu raze X și video au cerințe specializate de procesare, stocare și interpretare.
În mod ideal, un sistem de viziune computerizată ar trebui să aibă acces la suficiente date de imagine. Cu prea puține date, nu va putea vedea suficiente informații pentru a rezolva problemele pe care este proiectat să le rezolve. Prea multe date irelevante vor maximiza resursele sistemului, îl vor încetini și vor face ca operarea să fie costisitoare. Optimizarea atentă a etapei de achiziție a imaginii este crucială pentru a construi sisteme eficiente de viziune computerizată.
2 (pre)procesare a imaginii
Aceleași date vizuale din două surse diferite pot însemna lucruri diferite. Detaliile despre contextul în care a fost realizată o imagine (cum ar fi lumina ambientală, temperatura și mișcarea camerei) pot indica, de asemenea, că imaginea trebuie interpretată diferit.
Preprocesarea imaginilor implică multă muncă pentru a face imaginile mai ușor de înțeles și analizat. De exemplu, imaginile ar putea fi normalizate, ceea ce înseamnă că proprietăți precum dimensiunea, culoarea, rezoluția și orientarea sunt ajustate pentru a fi coerente între imagini. Alte proprietăți pot fi, de asemenea, ajustate în timpul preprocesării pentru a ajuta algoritmii de vedere să detecteze caracteristicile specifice domeniului. De exemplu, contrastul poate fi îmbunătățit pentru a face unele obiecte sau caracteristici mai vizibile.
Pot fi făcute ajustări personalizate pentru a compensa diferențele dintre senzori, deteriorarea senzorului și lucrările de întreținere aferente. În cele din urmă, ar putea fi făcute unele ajustări pentru a optimiza eficiența și costul procesării, ținând cont de detalii specifice despre modul în care vor fi analizate imaginile.
3 Procesarea și analiza imaginilor: extragerea caracteristicilor, recunoașterea modelelor și clasificare
Sistemele actuale de viziune computerizată sunt ierarhice, luând în considerare părți ale fiecărei imagini în mod independent. Fiecare strat dintr-o ierarhie este de obicei specializat pentru a efectua unul dintre cele trei lucruri:
- Extragerea caracteristicilor:un strat de extracție a caracteristicilor găsește componente interesante ale imaginii. De exemplu, ar putea identifica unde pot fi găsite linii drepte în imagine.
- Recunoașterea modelelor:un strat de recunoaștere a modelelor analizează modul în care diferitele caracteristici se combină în modele. Ar putea identifica, de exemplu, ce combinații de linii din imagine formează poligoane.
- Clasificare:după suficiente repetări ale extragerii caracteristicilor și recunoașterii modelelor, este posibil ca sistemul să fi învățat suficient despre o anumită imagine pentru a răspunde la o întrebare de clasificare, cum ar fi „Există mașini în această imagine?” Un strat de clasificare răspunde la astfel de întrebări.
Diagrama de mai jos arată modul în care acest lucru este implementat într-o arhitectură de sistem de viziune computerizată construită cu CNN-uri. Intrarea (de obicei o imagine sau un videoclip) pe care sistemul o analizează se află în extrema stângă a diagramei. Un CNN, implementat ca o rețea neuronală profundă, alternează straturi convoluționale, care excelează la extragerea caracteristicilor, cu straturi de grupare, care excelează la recunoașterea modelelor. Detaliile imaginii sunt procesate de la stânga la dreapta și pot exista mult mai multe repetări ale celor două straturi decât cele prezentate mai jos.
Odată ce o analiză suficient de profundă este finalizată, un strat de neuroni complet conectat ia în considerare toate modelele și caracteristicile de date în agregat și rezolvă o problemă de clasificare (cum ar fi „Există o mașină în fotografie?”).
Aplicații ale vederii computerizate
Viziunea computerizată este aplicabilă omniprezent. Pe măsură ce sistemele au devenit mai puternice și mai ușor de aplicat, numărul de aplicații a explodat. Iată câteva dintre cele mai cunoscute aplicații.
Recunoașterea facială
Una dintre cele mai omniprezente și avansate aplicații ale vederii computerizate implică detectarea și recunoașterea fețelor. Smartphone-urile, sistemele de securitate și dispozitivele de control al accesului folosesc o combinație de senzori, camere și rețele neuronale antrenate pentru a identifica când imaginile conțin fețe și transformă fețele găsite, astfel încât să poată fi analizate.
Un sistem de recunoaștere facială scanează în mod regulat fețele din apropiere. Datele de la senzori ieftini și rapizi, cum ar fi o sursă de lumină în infraroșu și o cameră cu rezoluție scăzută, dar cu contrast ridicat, sunt transmise printr-un model ML care identifică prezența fețelor.
Dacă sunt detectate fețe potențiale, o cameră mai lentă, mai scumpă și cu rezoluție mai mare poate fi îndreptată către ele și apoi poate face o scurtă înregistrare. Un sistem de procesare vizuală poate transforma apoi înregistrarea în reconstrucții 3D pentru a ajuta la validarea prezentei unei fețe. Un clasificator facial poate decide apoi dacă persoanele din imagine fac parte dintr-un grup căruia îi este permis să deblocheze un telefon sau să acceseze o clădire.
Vehicule autonome
Este dificil să construiești un sistem care să controleze un vehicul, să navigheze prin lume și să reacționeze în timp real la schimbările din mediul său. Sistemele de viziune computerizată sunt doar o tehnologie de bază care permite vehiculele autonome.
Aceste sisteme de vizualizare învață să identifice drumurile, semnele rutiere, vehiculele, obstacolele, pietonii și majoritatea altor lucruri pe care le-ar putea întâlni în timpul conducerii. Înainte de a putea fi eficiente, trebuie să analizeze cantități mari de date obținute în toate tipurile de condiții de conducere.
Pentru a fi utile în condiții reale, sistemele de viziune computerizată utilizate pentru vehiculele autonome trebuie să fie foarte rapide (deci vehiculul autonom să aibă timp maxim să reacționeze la condițiile în schimbare), precise (deoarece o greșeală poate pune în pericol vieți) și puternice (din moment ce problema este complex – sistemul trebuie să identifice obiectele în toate condițiile meteorologice și de iluminare). Companiile de vehicule autonome investesc masiv în ecosistem. Volumele de date disponibile cresc exponențial, iar tehnicile utilizate pentru procesarea acestora se îmbunătățesc rapid.
Realitatea crescută
Ochelarii inteligenți și camerele actuale ale telefonului se bazează pe sisteme de viziune computerizată pentru a oferi utilizatorilor experiențe de realitate augmentată. Sistemele bine pregătite, similare cu cele utilizate pentru a permite vehiculele autonome, identifică obiectele în cadru pentru o cameră sau un set de ochelari inteligenți și poziția obiectelor unul față de celălalt în spațiul 3D.
Sistemele avansate de generare de imagini se conectează apoi la aceste informații pentru a spori ceea ce camera sau ochelarii arată unui utilizator în diferite moduri. De exemplu, ele pot crea iluzia că datele sunt proiectate pe suprafețe sau pot arăta cum s-ar putea încadra obiecte precum mobilierul în spațiul 3D.
Avantajele vederii computerizate
Sistemele de viziune computerizată pot ajuta la creșterea vederii umane, la îmbunătățirea sistemelor de securitate și la analiza datelor la scară. Principalele beneficii ale utilizării lor includ următoarele:
Viteza și scara recunoașterii obiectelor
Sistemele de viziune de ultimă oră pot identifica obiectele mult mai rapid și la un volum mult mai mare decât oamenii. O linie de asamblare, de exemplu, se va mișca mai repede atunci când un sistem automat de viziune computerizată îi asistă supervizorul. Vehiculele cu conducere autonomă pot funcționa într-un mod de asistență pentru șofer, ajutându-i pe șoferi să fie conștienți de informațiile din împrejurimi pe care nu le vor detecta rapid. De asemenea, pot prelua pe deplin și pot lua decizii mai rapide și mai sigure decât un om fără ajutor.
Precizie
Sistemele de viziune computerizată bine pregătite sunt mai precise decât oamenii în sarcinile pentru care sunt instruiți. De exemplu, ei pot identifica mai precis defecte ale obiectelor sau pot detecta mai devreme excrescențe canceroase în imaginile medicale.
Volum mare de prelucrare a datelor
Sistemele de vedere pot identifica anomaliile și amenințările în cantități mari de imagini și fluxuri video mult mai rapid și mai precis decât oamenii. Capacitatea lor de a procesa informații se corelează cu puterea de calcul disponibilă și poate fi extinsă la infinit.
Dezavantajele vederii computerizate
Sistemele de viziune computerizate performante sunt greu de produs. Unele dintre provocări și dezavantaje includ următoarele:
Supramontare
Sistemele actuale de viziune computerizată sunt construite pe algoritmi și rețele de învățare profundă. Acestea depind de accesul la un număr mare de date adnotate în timpul antrenamentului. În prezent, datele de antrenament vizuale nu sunt disponibile în volumele extinse observate în alte aplicații, iar generarea acestora este o provocare și costisitoare. Ca rezultat, multe sisteme de viziune computerizată sunt instruite pe date insuficiente și se vor supraadapta - vor avea nevoie de ajutor pentru generalizarea la situații noi și nevăzute.
Confidențialitatea este greu de garantat la scară
Sistemele de viziune computerizată pot observa și învăța din cantități mari de date private sau protejate. Odată ce sunt pe teren, ar putea observa și date arbitrare în mediul lor. Este dificil să garantezi că datele de instruire sunt lipsite de informații private și este și mai dificil să împiedici un sistem din domeniu să încorporeze informații private în formarea sa.
Complex din punct de vedere computațional
Sistemele care folosesc viziunea computerizată tind să fie aplicate unora dintre cele mai dificile probleme din domeniul AI. În consecință, acestea sunt costisitoare și complexe și pot fi dificil de construit și asamblat corect.
Concluzie
Multe dintre cele mai interesante și provocatoare probleme din ML și AI implică utilizarea și aplicarea sistemelor de viziune computerizată. Ele sunt ubicue utile, inclusiv în sistemele de securitate, vehiculele cu conducere autonomă, analiza imaginilor medicale și în alte părți. Acestea fiind spuse, sistemele de viziune computerizată sunt costisitoare și dificil de construit.
Acestea depind de colectarea de date la scară, consumatoare de timp, necesită resurse personalizate sau costisitoare înainte de a putea fi utilizate în mod eficient și ridică probleme de confidențialitate. Sunt în curs de desfășurare cercetări ample în acest domeniu cheie al ML, care avansează rapid.