actualizată ultima dată pe 5 iulie 2019
viziunea computerizată, adesea prescurtată ca CV, este definită ca un domeniu de studiu care încearcă să dezvolte tehnici pentru a ajuta computerele să „vadă” și să înțeleagă conținutul imaginilor digitale, cum ar fi fotografiile și videoclipurile.
problema viziunii computerizate pare simplă, deoarece este rezolvată trivial de oameni, chiar și de copii foarte mici. Cu toate acestea, rămâne în mare măsură o problemă nerezolvată bazată atât pe înțelegerea limitată a vederii biologice, cât și din cauza complexității percepției vederii într-o lume fizică dinamică și aproape infinit variabilă.
în această postare, veți descoperi o introducere blândă în câmpul viziunii computerului.
după ce ați citit acest post, veți ști:
- scopul câmpului vizual al computerului și distinctivitatea acestuia față de procesarea imaginilor.
- ceea ce face ca problema de viziune de calculator provocatoare.
- probleme tipice sau sarcini urmărite în viziunea computerului.
începeți-vă proiectul cu noua mea carte Deep Learning For Computer Vision, inclusiv tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.
Să începem.
o introducere blândă în viziunea computerului
foto de Axel Kristinsson, unele drepturi rezervate.
- Prezentare generală
- dorința computerelor de a vedea
- vrei rezultate cu Deep Learning pentru Computer Vision?
- ce este viziunea pe calculator?
- Computer Vision and Image Processing
- provocarea viziunii computerizate
- sarcini în viziunea computerului
- lecturi suplimentare
- Cărți
- articole
- rezumat
- dezvoltați modele de învățare profundă pentru viziune astăzi!
- Dezvoltați-vă propriile modele de viziune în câteva minute
- în cele din urmă aduceți învățarea profundă proiectelor dvs. de viziune
Prezentare generală
acest tutorial este împărțit în patru părți; acestea sunt:
- dorința computerelor de a vedea
- ce este viziunea computerizată
- provocarea viziunii computerizate
- sarcini în viziunea computerizată
dorința computerelor de a vedea
suntem plini de imagini.
smartphone-urile au camere, iar realizarea unei fotografii sau a unui videoclip și partajarea acestuia nu a fost niciodată mai ușoară, rezultând creșterea incredibilă a rețelelor sociale moderne precum Instagram.YouTube ar putea fi al doilea cel mai mare motor de căutare și sute de ore de videoclipuri sunt încărcate în fiecare minut și miliarde de videoclipuri sunt vizionate în fiecare zi.
Internetul este format din text și imagini. Este relativ simplu să indexați și să căutați text, dar pentru a indexa și căuta imagini, algoritmii trebuie să știe ce conțin imaginile. Pentru cea mai lungă perioadă de timp, conținutul imaginilor și videoclipurilor a rămas opac, cel mai bine descris folosind meta descrierile furnizate de persoana care le-a încărcat.
pentru a profita la maximum de datele imaginii, avem nevoie de computere pentru a „vedea” o imagine și a înțelege conținutul.
aceasta este o problemă banală pentru un om, chiar și pentru copii mici.
- o persoană poate descrie conținutul unei fotografii pe care a văzut-o o dată.
- o persoană poate rezuma un videoclip pe care l-a văzut o singură dată.
- o persoană poate recunoaște o față pe care a mai văzut-o o singură dată.
avem nevoie de cel puțin aceleași capacități de la computere pentru a debloca imaginile și videoclipurile noastre.
vrei rezultate cu Deep Learning pentru Computer Vision?
Ia-Mi gratuit 7 zile de e-mail crash course acum (cu codul de probă).
Faceți clic pentru a vă înscrie și pentru a obține, de asemenea, o versiune gratuită PDF Ebook a cursului.
descărcați Mini-cursul gratuit
ce este viziunea pe calculator?
viziunea computerizată este un domeniu de studiu axat pe problema de a ajuta computerele să vadă.
la nivel abstract, scopul problemelor de vedere pe calculator este de a utiliza datele de imagine observate pentru a deduce ceva despre lume.
— pagina 83, Computer Vision: modele, învățare și inferență, 2012.
este un domeniu multidisciplinar care ar putea fi numit în general un subdomeniu al inteligenței artificiale și al învățării automate, care poate implica utilizarea unor metode specializate și utilizarea algoritmilor generali de învățare.
Prezentare generală a relației dintre inteligența artificială și viziunea computerizată
ca domeniu multidisciplinar de studiu, poate părea dezordonat, cu tehnici împrumutate și reutilizate dintr-o serie de domenii disparate de inginerie și Informatică.
o problemă particulară în viziune poate fi abordată cu ușurință printr-o metodă statistică artizanală, în timp ce alta poate necesita un ansamblu mare și complex de algoritmi generalizați de învățare automată.
viziunea computerizată ca câmp este o frontieră intelectuală. Ca orice frontieră, este interesantă și dezorganizată și adesea nu există o autoritate fiabilă la care să apelezi. Multe idei utile nu au nicio bază teoretică, iar unele teorii sunt inutile în practică; zonele dezvoltate sunt larg împrăștiate și adesea una pare complet inaccesibilă de cealaltă.
— pagina xvii, Computer Vision: o abordare modernă, 2002.
scopul viziunii computerizate este de a înțelege conținutul imaginilor digitale. De obicei, aceasta implică dezvoltarea de metode care încearcă să reproducă capacitatea viziunii umane.
înțelegerea conținutului imaginilor digitale poate implica extragerea unei descrieri din imagine, care poate fi un obiect, o descriere text, un model tridimensional și așa mai departe.
viziunea computerizată este extragerea automată a informațiilor din imagini. Informațiile pot însemna orice, de la modele 3D, poziția camerei, detectarea și recunoașterea obiectelor până la gruparea și căutarea conținutului imaginii.
— pagina ix, programare Computer Vision cu Python, 2012.
Computer Vision and Image Processing
viziunea computerizată este distinctă de procesarea imaginilor.
procesarea imaginilor este procesul de creare a unei imagini noi dintr-o imagine existentă, de obicei simplificând sau îmbunătățind conținutul într-un fel. Este un tip de procesare digitală a semnalului și nu este preocupat de înțelegerea conținutului unei imagini.
un anumit sistem de vizualizare computerizată poate necesita aplicarea procesării imaginilor la intrarea brută, de exemplu, preprocesarea imaginilor.
Exemple de procesare a imaginii includ:
- normalizarea proprietăților fotometrice ale imaginii, cum ar fi luminozitatea sau culoarea.
- Decuparea limitelor imaginii, cum ar fi centrarea unui obiect într-o fotografie.
- eliminarea zgomotului digital dintr-o imagine, cum ar fi artefactele digitale de la niveluri scăzute de lumină.
provocarea viziunii computerizate
ajutarea computerelor să vadă se dovedește a fi foarte grea.
scopul viziunii computerizate este de a extrage informații utile din imagini. Acest lucru sa dovedit a fi o sarcină surprinzător de provocatoare; a ocupat mii de minți inteligente și creative în ultimele patru decenii și, în ciuda acestui fapt, suntem încă departe de a putea construi o „mașină de văzut” cu scop general.”
— pagina 16, Computer Vision: modele, învățare și inferență, 2012.
viziunea computerizată pare ușoară, poate pentru că este atât de ușoară pentru oameni.
inițial, se credea că este o problemă banală simplă care ar putea fi rezolvată de un student care conectează o cameră la un computer. După decenii de cercetare, „viziunea computerizată” rămâne nesoluționată, cel puțin în ceea ce privește satisfacerea capacităților viziunii umane.
realizarea unui computer a fost ceva despre care experții de vârf în domeniul inteligenței artificiale au crezut că se află la nivelul de dificultate al proiectului unui student de vară în anii șaizeci. Patruzeci de ani mai târziu, sarcina este încă nerezolvată și pare formidabilă.
— pagina xi, geometria vizualizării Multiple în viziunea computerului, 2004.
un motiv este că nu avem o înțelegere puternică a modului în care funcționează viziunea umană.
studierea vederii biologice necesită o înțelegere a organelor de percepție, cum ar fi ochii, precum și interpretarea percepției în creier. S-au făcut multe progrese, atât în trasarea procesului, cât și în ceea ce privește descoperirea trucurilor și comenzilor rapide utilizate de sistem, deși, ca orice studiu care implică creierul, mai este un drum lung de parcurs.
psihologii perceptivi au petrecut zeci de ani încercând să înțeleagă cum funcționează sistemul vizual și, chiar dacă pot concepe iluzii optice pentru a distruge unele dintre principiile sale, o soluție completă la acest puzzle rămâne evazivă
— Pagina 3, Computer Vision: algoritmi și aplicații, 2010.
Un alt motiv pentru care este o problemă atât de provocatoare este din cauza complexității inerente lumii vizuale.
un obiect dat poate fi văzut din orice orientare, în orice condiții de iluminare, cu orice tip de ocluzie de la alte obiecte și așa mai departe. Un sistem de viziune adevărat trebuie să poată” vedea ” în oricare dintre un număr infinit de scene și să extragă încă ceva semnificativ.
calculatoarele funcționează bine pentru probleme strâns constrânse, nu pentru probleme nelimitate deschise, cum ar fi percepția vizuală.
sarcini în viziunea computerului
cu toate acestea, s-au înregistrat progrese în domeniu, în special în ultimii ani, cu sisteme de mărfuri pentru recunoașterea optică a caracterelor și detectarea feței în camere și smartphone-uri.
viziunea computerizată se află într-un moment extraordinar în dezvoltarea sa. Subiectul în sine există încă din anii 1960, dar abia recent a fost posibil să se construiască sisteme informatice utile folosind idei din computer vision.
— pagina xviii, Computer Vision: o abordare modernă, 2002.
manualul din 2010 privind viziunea computerizată intitulat „viziunea computerizată: algoritmi și aplicații” oferă o listă a unor probleme la nivel înalt în care am văzut succes cu viziunea computerizată.
- recunoașterea optică a caracterelor (OCR)
- inspecția mașinii
- Retail (de exemplu, verificări automate)
- construirea modelului 3D (fotogrammetrie)
- Imagistică Medicală
- siguranța automobilelor
- Match move (de ex. comasarea CGI cu actori vii în filme)
- Motion capture (mocap)
- supraveghere
- recunoașterea amprentelor digitale și biometria
este un domeniu larg de studiu cu multe sarcini și tehnici specializate, precum și specializări pentru a viza domeniile de aplicații.
Computer vision are o mare varietate de aplicații, atât vechi (de exemplu, navigare robot mobil, inspecție industrială și informații militare), cât și noi (de ex., interacțiunea cu computerul uman, regăsirea imaginii în bibliotecile digitale, analiza medicală a imaginii și redarea realistă a scenelor sintetice în grafica computerizată).
— pagina xvii, Computer Vision: o abordare modernă, 2002.
poate fi util să măriți unele dintre cele mai simple sarcini de viziune pe computer pe care este probabil să le întâlniți sau să fiți interesați să le rezolvați, având în vedere numărul mare de fotografii și videoclipuri digitale disponibile publicului.
multe aplicații populare de viziune pe computer implică încercarea de a recunoaște lucrurile în fotografii; de exemplu:
- Clasificarea obiect: ce categorie largă de obiect este în această fotografie?
- identificarea obiectului: ce tip de obiect dat este în această fotografie?
- verificarea obiectului: este obiectul din fotografie?
- detectarea obiectelor: unde sunt obiectele din fotografie?
- detectarea reperului obiectului: care sunt punctele cheie pentru obiectul din fotografie?
- segmentarea obiectului: ce pixeli aparțin obiectului din imagine?
- recunoașterea obiectelor: ce obiecte sunt în această fotografie și unde sunt?
alte exemple comune sunt legate de recuperarea informațiilor; de exemplu: găsirea de imagini precum o imagine sau imagini care conțin un obiect.
lecturi suplimentare
această secțiune oferă mai multe resurse pe această temă dacă doriți să aprofundați.
Cărți
- Computer Vision: modele, învățare și inferență, 2012.
- programarea viziunii computerului cu Python, 2012.
- geometria vizualizării Multiple în viziunea computerului, 2004.
- Computer Vision: algoritmi și aplicații, 2010.
- viziunea computerului: o abordare modernă, 2002.
articole
- Computer vision, Wikipedia.
- viziune mașină, Wikipedia.
- procesarea digitală a imaginilor, Wikipedia.
rezumat
în acest post, ați descoperit o introducere blândă în câmpul viziunii computerului.
Mai exact, ați învățat:
- scopul câmpului vizual al computerului și distinctivitatea acestuia față de procesarea imaginilor.
- ceea ce face ca problema de viziune de calculator provocatoare.
- probleme tipice sau sarcini urmărite în viziunea computerului.
aveți întrebări?
Pune-ți întrebările în comentariile de mai jos și voi face tot posibilul să răspund.
dezvoltați modele de învățare profundă pentru viziune astăzi!
Dezvoltați-vă propriile modele de viziune în câteva minute
…cu doar câteva linii de cod python
Descoperiți cum în noul meu Ebook:
Deep Learning pentru Computer Vision
acesta oferă tutoriale de auto-studiu pe teme cum ar fi:
clasificare, detectarea obiectelor (yolo și rcnn), recunoașterea feței (vggface și facenet), pregătirea datelor și multe altele…
în cele din urmă aduceți învățarea profundă proiectelor dvs. de viziune
săriți academicienii. Doar Rezultate.
vezi ce e înăuntru