CalculatoareTehnologia informației

Viziune computer modern. Sarcini și tehnologie viziune de calculator. Programare Computer Vision în Python

Cum de a preda un computer pentru a înțelege ceea ce este descris în imagine sau imagini? Acest lucru pare simplu, dar pentru un calculator este doar o matrice formată din zerouri și cele din care doriți să le extrage informații importante.

Care este viziunea de calculator? Este abilitatea de a „vedea“ computer

Vision - este o sursă importantă de informații pentru persoana folosindu-l, vom obține, potrivit diverselor estimări, 70-90% din toate informațiile. Și, desigur, dacă dorim să creăm o mașină inteligentă, trebuie să pună în aplicare aceleași competențe și calculatorul.

Problema vederii de calculator poate afirma destul de clar. Ce este „vezi“? Se înțelege că, în cazul în care există doar în căutarea. Aceasta a concluzionat diferențele de viziune de calculator și a vederii umane. Viziune pentru noi - este o sursă de cunoaștere despre lume, precum și o sursă de informații metrice - adică, capacitatea de a înțelege distanțele și dimensiunile.

imagine de nucleu semantic

Privind la imagine, putem descrie printr-o serie de atribute, ca să spunem așa, pentru a extrage informații semantice.

De exemplu, uita la această imagine, putem spune că este în aer liber. Care este traficul urban. Că există mașini. putem ghici că acest lucru este în Asia de Sud-Est privind configurația clădirii și hieroglife. Portretul lui Mao Zedong să înțeleagă că acest lucru este de la Beijing, și dacă cineva a văzut video în direct sau el însuși ar fi fost acolo, ar ghici că aceasta este faimoasa Piata Tiananmen.

Ce putem spune mai multe despre imagine, vazandu-l? Putem identifica obiecte din imagine, să spunem, că există oameni aici mai aproape - gard. Aici umbrele, postere care clădirii. Acestea sunt exemple de clase este obiecte foarte importante, care sunt angajate în căutarea pentru moment.

Cu toate acestea, putem afla unele dintre caracteristicile sau atributele obiectelor. De exemplu, aici putem determina că acest lucru nu este un portret al unui chinez obișnuit, și anume, Mao Zedong.

În conformitate cu vehiculul poate fi stabilit că acesta este un obiect în mișcare, și este greu, care nu este deformată în timpul mișcării. Despre steaguri se poate spune că obiectele, ele sunt, de asemenea, în mișcare, dar ele nu sunt greu, în mod constant deformat. Și în scenă există vânt, care pot fi determinate prin dezvoltarea steaguri, și poate determina chiar și direcția vântului, de exemplu, este suflare de la stânga la dreapta.

Distanțele și lungimile în computer vision

Foarte important este informația metrică despre știință viziune de calculator. Acest lucru este tot felul de distantele. De exemplu, pentru roverul este deosebit de important, deoarece echipele sunt de pe Pământ aproximativ 20 de minute și să răspundă la fel de mult. Prin urmare, link-ul de acolo și înapoi - 40 de minute. Și dacă vom face un plan pentru comenzi de mișcare a Pământului, trebuie să ia în considerare acest lucru.

integrat cu succes tehnologia de viziune de calculator în jocuri video. Potrivit video, puteți construi modele tridimensionale de obiecte, oameni, și fotografii de pe utilizatorul poate restaura modele tridimensionale ale orașelor. Și apoi umbla pe ele.

computer vision - o gamă destul de largă. Aceasta este strâns legată de diverse alte științe. O parte din computer vision Aceasta captura zona de procesare a imaginii și, uneori, alocă viziune de calculator, punct de vedere istoric.

Analiza, recunoasterea formelor - calea spre crearea inteligenței superioare

Să examinăm aceste concepte separat.

Procesarea Imaginilor - acesta este un domeniu de algoritmi, în care de intrare și ieșire - imagine, și avem să-l facă ceva.

Analiza imaginii - este zona de vizibilitate calculator, care se concentrează pe lucrul cu imaginea bidimensională și să facă concluzii din aceasta.

Pattern Recognition - o disciplină matematică abstractă care recunoaște datele sub formă de vectori. Aceasta este, la intrare - vectorul și avem ceva de a face cu ea. În cazul în care vectorul este, nu suntem atât de important să se cunoască.

computer vision - acesta inițial a fost de a restabili structura imaginilor bidimensionale. Astăzi, acest domeniu a devenit mai larg și poate fi interpretată ca o acceptare a tuturor obiectelor fizice care fac, pe baza imaginii. Asta este, este sarcina inteligenței artificiale.

În paralel cu viziune de calculator într-un domeniu complet diferit, în geodezie, fotogrammetrie a evoluat - o măsurare a distanței dintre obiectele pe imagini bidimensionale.

Roboți pot „vedea“

Și, în sfârșit - aceasta este masina de viziune. Sub viziunea mașinii înseamnă o viziune de roboți. Aceasta este decizia unor probleme de producție. Putem spune că viziune de calculator - este o mare știință. Acesta combină o parte pe de altă parte știință. Și când viziunea calculatorului devine orice aplicație specială, se transformă într-o viziune mașină.

regiune viziune calculator are o masă de aplicații practice. Acesta este asociat cu automatizarea producției. La întreprinderile devin mai eficiente pentru a înlocui munca manuală de către mașină. Mașina nu oboseste, nu a dormit, ea a avut program de lucru neregulat, ea este dispusă să lucreze 365 de zile pe an. Deci, folosind mașina de lucru, putem obține un rezultat garantat la un anumit moment, și este destul de interesant. Toate activitățile au o utilizare clară pentru sistemele informatice viziune. Și nu este nimic mai bun decât pentru a vedea rezultatele imediat pe imagine numai în faza de calcul.

În pragul lumii inteligenței artificiale

Plus zona - este greu! O parte semnificativă a creierului responsabile pentru vederea, și se crede că dacă predați calculatorul pentru a „vedea“, care este, complet viziunea de utilizare a calculatorului, acesta este unul dintre obiectivele inteligenței artificiale completă. Dacă putem rezolva problema la nivel uman, cel mai probabil, în același timp, vom rezolva problema de AI. Acest lucru este foarte bun! Sau nu foarte bine, dacă te uiți, „Terminator 2“.

De ce este viziunea - este dificil? Deoarece imaginea aceluiași obiect poate varia foarte mult în funcție de factori externi. În funcție de obiectul de puncte de observație arata diferit.

De exemplu, una și aceeași figură, luate din unghiuri diferite. Și ceea ce este cel mai interesant în figură poate fi un ochi, doi ochi și jumătate. Și în funcție de context (în cazul în care această imagine a omului într-o cămașă cu ochi pictate), ochiul poate fi mai mult de două.

Calculatorul încă nu înțelege, dar „vede“

Un alt factor care face dificilă - este iluminat. Aceeași scenă cu diferite sisteme de iluminare va arăta diferit. mărimea obiectului poate varia. Mai mult decât atât, obiectele de orice clasă. Cum poți spune despre un om care înălțimea lui de 2 metri? Nimic. uman de creștere și poate fi de 2,3 m, și 80 cm. Ca și în cazul altor tipuri de obiecte, cu toate acestea, sunt obiecte din aceeași clasă.

În special obiectele vii sunt supuse o varietate de tulpini. Par oameni, sportivi, animale. Uită-te la poze cu cai de rulare, determina ce se întâmplă cu coama și coada este pur și simplu imposibil. O suprapunere de obiecte dintr-o imagine? Dacă împinge o imagine de calculator, chiar și cea mai puternică mașinărie găsi dificultate pentru a da decizia corectă.

Ecranul următor - este o deghizare. Unele obiecte, animale travestiți în mediul înconjurător, și destul de pricepere. Și aceleași locuri și colorarea. Cu toate acestea, noi le vedem, cu toate că nu întotdeauna de departe.

O altă problemă - mișcarea. Obiecte în mișcare inimaginabile suferi o deformare.

Multe dintre obiectele sunt foarte variabile. Aici, de exemplu, în cele două fotografii de mai jos, obiectele de „scaun“.

Și acest lucru se poate sta. Dar pentru a preda o mașină, astfel încât diferitele lucruri în formă, culoare, materiale, totul este un „scaun“ obiect - este foarte dificil. Aceasta este provocarea. Pentru a integra metode de vizualizare pe computer - este de a preda o mașină pentru a înțelege, analiza, specula.

Integrarea viziune de calculator în diverse platforme

Masa de viziune de calculator a început să pătrundă mai mult în 2001, când a creat primul detector de față. Viola, Jones: Am doi autori făcut. Acesta a fost primul algoritm suficient de rapid și de încredere, care a demonstrat puterea de metode de învățare automată.

Acum, viziune de calculator au suficiente noi aplicații practice - recunoaștere a feței umane.

Dar pentru a recunoaște omul ca în filme - la unghiuri aleatorii, condiții diferite de iluminare - este imposibil. Dar pentru a rezolva problema, sau una care diferite persoane cu diferite sisteme de iluminare sau într-o altă postură, similară cu cea din fotografia din pașaport, este posibil, cu un grad ridicat de încredere.

un cerințe pentru fotografii tip pașaport în mare parte datorită caracteristicii algoritmilor de recunoaștere a feței.

De exemplu, dacă aveți un pașaport biometric, în unele aeroporturi moderne, puteți utiliza sistemul automat de control al pașapoartelor.

problemă nerezolvată de viziune de calculator - abilitatea de a recunoaște orice text

Poate cineva folosit sistemul OCR. Una dintre acestea - un Fine Reader, este foarte popular în sistemul RuNet. Există mai multe forme în cazul în care veți completa datele, acestea sunt perfect scanate, informațiile sunt recunoscute de sistem foarte bine. Dar, cu orice text în imagine situația este mult mai rău. Această problemă încă rămâne nerezolvată.

Jocuri care implică viziune de calculator, de captare de mișcare

zonă separată de mare - este crearea de modele tridimensionale și de captare de mișcare (care este implementat destul de succes în jocurile pe calculator). Primul program, care folosește viziune de calculator - un sistem de interacțiune cu computerul folosind gesturi. Când a fost creat a fost o mulțime de lucruri deschise.

Algoritmul este proiectat destul de simplu, dar pentru a configura a fost nevoie pentru a crea un generator de imagini sintetice de oameni pentru a obține un milion de imagini. Supercomputer cu ei pentru a alege parametrii algoritmului, pentru care acum el funcționează bine.

Asta e un milion de imagini si saptamana timp supercomputer numărabil posibil pentru a crea un algoritm care consumă 12% din capacitatea de un procesor și permite unei persoane să perceapă poziția în timp real. Acest sistem Microsoft Kinect (2010).

Căutați imagini în funcție de conținut vă permite să încărcați fotografii în sistem, iar rezultatele vor da toate imaginile cu același conținut și a făcut din același unghi.

Exemple de computer vision: tridimensionale și hărți bidimensionale sunt acum realizate cu ea. Harta pentru mașini de navigație sunt actualizate în mod regulat în funcție de DVR.

Există o bază de date cu miliarde de fotografii geoetichetate. Prin descărcarea imaginii în baza de date, puteți determina unde a fost făcută, și chiar cu unele perspectivă. Desigur, cu condiția ca locul este destul de popular ca la un moment dat turiștilor și a făcut o serie de fotografii ale zonei au fost acolo.

roboți sunt peste tot

Robotică în prezent, peste tot, fără ca, în nici un fel. Acum, există vehicule care au camere speciale care recunosc pietonii și indicatoarele rutiere pentru a transmite comenzi către conducătorul auto (acest lucru într-un mod un program de calculator pentru a vizualiza, ajută șoferul). Și există o vehicule robotizate complet automatizate, dar ele nu se pot baza numai pe camera video de sistem, fără utilizarea unei cantități mari de informații suplimentare.

Modern aparat de fotografiat - aceasta este o cameră obscură analog

Să vorbim despre imaginea digitală. camere digitale moderne sunt aranjate pe principiul camera obscura. Numai că în loc de gaura prin care lumina intră în fasciculul și proiectate pe peretele din spate al camerei circuitului subiect, avem un sistem optic special numit lentila. Obiectivul ei este de a colecta un fascicul de lumină de mare și de ao transforma, astfel încât toate razele trecut printr-un punct virtual, în scopul de a obține proiecția și formează o imagine pe film sau o matrice.

camere digitale moderne (matrice) este compus din elemente individuale - pixeli. Fiecare pixel poate masura energia luminii, care este incident pe total de pixeli, și să emită un număr de ieșire. Prin urmare, într - un aparat de fotografiat digital, vom obține în loc de măsurătorile set de lumină luminozitatea imaginii, prins într - un singur pixel - calculator câmpul vizual. Prin urmare, atunci când imaginea vom vedea nu curge linii și contururi clare, și o grilă de pătrate colorate în culori diferite - pixeli.

Mai jos vedeți prima imagine digitală din lume.

Dar, în această imagine nu este? Culoare. Ce este culoarea?

Percepția psihologică a culorilor

Culoare - aceasta este ceea ce vedem. Culoarea unul și același lucru pentru oameni și pisicile vor fi diferite. Din moment ce (om) și un sistem optic pentru animale - viziunea este diferită. Prin urmare, culoarea - este calitatea psihologică a viziunii noastre, care are loc atunci când observarea obiectelor și a luminii. Și nu o proprietate fizică a obiectului și lumina. Culoare - este rezultatul interacțiunii componentelor ușoare, iar scena a sistemului nostru vizual.

Programare Computer Vision în Python folosind biblioteci

Dacă ați decis să se angajeze în mod serios în studiul de viziune de calculator, ar trebui să se pregătească imediat pentru o serie de dificultăți, această știință nu este cea mai ușoară și ascunde o serie de capcane. Dar „Programarea calculatoarelor Vision pe Python“ paternitatea lui Jan Erik Solema - o carte care descrie toate limbajul cel mai simplu. Aici veți face cunoștință cu metodele de recunoaștere a diferitelor obiecte în 3D, să învețe să lucreze cu imaginea stereo, realitatea virtuală și multe alte aplicații de vizualizare pe computer. În carte sunt destule exemple în Python. Dar explicațiile sunt prezentate, ca să spunem așa, generalizată, astfel încât să nu suprasarcină prea mult de cercetare și de date dure. Lucrul potrivit pentru studenți, amatori și entuziaști. Descarcă această carte și altele despre viziunea de calculator (format pdf) poate fi în rețea.

În momentul de față, există open source bibliotecă de algoritmi viziune de calculator și de procesare a imaginii și algoritmi numerici OpenCV. Acesta este implementat pe cele mai multe limbaje de programare moderne, este open source. Dacă vorbim despre viziune de calculator, Python folosește ca limbaj de programare, ea are, de asemenea, sprijinul bibliotecii, în plus, este în continuă evoluție și are o comunitate mare.

Compania „Microsoft“ ofera serviciile sale Api-capabil de a instrui rețeaua neuronală pentru a lucra cu imagini de oameni. Există , de asemenea, posibilitatea de a aplica viziune de calculator, Python folosește ca un limbaj de programare.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ro.delachieve.com. Theme powered by WordPress.