587 Shares 6815 views

computer vision moderna. Compiti e la tecnologia computer vision. Programmazione Computer Vision in Python

Come insegnare a un computer per capire ciò che è raffigurato nella foto o immagini? Questo sembra semplice, ma per un computer questo è solo una matrice composta di zero e uno da cui si desidera estrarre informazioni importanti.

Qual è la visione del computer? E 'la capacità di "vedere" il computer

Vision – è una fonte importante di informazioni per la persona che lo utilizza, si ottiene, secondo varie stime, dal 70 al 90% di tutte le informazioni. E, naturalmente, se vogliamo creare una macchina intelligente, abbiamo bisogno di implementare le stesse competenze e computer.

Il problema della visione artificiale può affermare con chiarezza. Ciò che è "vedere"? Resta inteso che dove ci sono solo guardando. Che ha concluso le differenze di computer vision e la visione umana. Visione per noi – è una fonte di conoscenza del mondo, così come una fonte di informazioni metriche – cioè, la capacità di comprendere le distanze e le dimensioni.

immagine del kernel semantico

Guardando l'immagine, possiamo descriverlo da una serie di attributi, per così dire, per estrarre informazioni semantiche.

Per esempio, guardando questa immagine, possiamo dire che si è all'aperto. Qual è il traffico cittadino. Che ci sono automobili. possiamo immaginare che questo è il Sud-Est asiatico dalla configurazione dell'edificio e geroglifici. Il ritratto di Mao Zedong capire che questo è Pechino, e se qualcuno ha visto il video in diretta o se stesso era stato lì, sarebbe immagino che questa è la famosa piazza Tiananmen.

Cosa possiamo dire di più circa l'immagine, vederlo? Siamo in grado di identificare gli oggetti nell'immagine, per dire, che ci sono persone qui vicino – recinzione. Qui ombrelloni, manifesti che di costruzione. Questi sono esempi di classi è oggetti molto importanti, che sono impegnati nella ricerca per il momento.

Ancora possiamo imparare alcune delle caratteristiche o attributi degli oggetti. Ad esempio, qui possiamo determinare che questo non è un ritratto di un cinese normale, vale a dire, Mao Zedong.

Secondo il veicolo può essere determinato che è un oggetto in movimento, ed è difficile, che non si deforma durante il movimento. A proposito di bandiere si può dire che gli oggetti, ma sono anche in movimento, ma non sono difficile, continuamente deformate. E nella scena c'è il vento, che può essere determinata sviluppando bandiere, e può anche determinare la direzione del vento, per esempio, si soffia da sinistra a destra.

Le distanze e le lunghezze in computer vision

Molto importante è l'informazione metrica sulla scienza computer vision. Si tratta di tutti i tipi di distanze. Ad esempio, per il rover è particolarmente importante perché le squadre sono dalla Terra di circa 20 minuti e rispondono tanto. Di conseguenza, il collegamento andata e ritorno – 40 minuti. E se facciamo un piano per comandi di movimento della Terra, è necessario tener conto di questo.

integrato con successo la tecnologia della visione artificiale nei videogiochi. Secondo il video, è possibile costruire modelli tridimensionali di oggetti, persone, e le foto su l'utente possibile ripristinare i modelli tridimensionali di città. E poi a piedi su di loro.

computer vision – una gamma piuttosto ampia. Esso è strettamente intrecciata con varie altre scienze. Parte di computer vision Cattura l'area di elaborazione delle immagini e, a volte assegna computer vision, storicamente.

Analisi, riconoscimento di forme – il percorso per la creazione di intelligenza superiore

Esaminiamo questi concetti separatamente.

Image Processing – questa è una zona di algoritmi, in cui l'ingresso e l'uscita – immagine, e l'abbiamo fatto qualcosa.

analisi delle immagini – è l'area di visione artificiale, che si concentra sul lavoro con l'immagine bidimensionale e trarre conclusioni da questo.

Pattern Recognition – una disciplina matematica astratta che riconosce i dati in forma di vettori. Cioè, all'ingresso – vettore e noi avere qualcosa a che fare con esso. Qualora il vettore è, non siamo così importante sapere.

computer vision – in origine era quello di ripristinare la struttura delle immagini bidimensionali. Oggi questa zona è diventata più ampia e può essere interpretato come accettazione di tutti gli oggetti fisici rendendo, in base all'immagine. Cioè, è compito dell'intelligenza artificiale.

In parallelo con la visione computer in un campo completamente diverso, in geodesia, fotogrammetria è evoluta – una misura della distanza tra gli oggetti sulle immagini bidimensionali.

I robot possono "vedere"

E infine – questa è la visione artificiale. Sotto la visione artificiale: una visione di robot. Questa è la decisione di alcuni problemi di produzione. Possiamo dire che la visione artificiale è una grande scienza. Esso combina alcune delle altre parte della scienza. E quando il computer vision ottiene qualsiasi applicazione particolare, si trasforma in una visione artificiale.

regione computer vision ha una massa di applicazioni pratiche. È associato con l'automazione della produzione. Alle imprese di diventare più efficiente per sostituire il lavoro manuale a macchina. La macchina non si stancano, non dormire, aveva orario di lavoro irregolare, lei è disposta a lavorare 365 giorni all'anno. Quindi, utilizzando il lavoro della macchina, possiamo ottenere un risultato garantito in un certo momento, ed è molto interessante. Tutte le attività hanno un uso chiaro per i sistemi di visione artificiale. E non c'è niente di meglio che vedere i risultati immediatamente sopra l'immagine solo nella fase di calcolo.

Sulla soglia del mondo dell'intelligenza artificiale

Inoltre l'area – è difficile! Una parte significativa del cervello responsabile per la visione, e si ritiene che se si insegna il computer di "vedere", cioè la visione completa l'uso del computer, è uno degli obiettivi della piena intelligenza artificiale. Se siamo in grado di risolvere il problema sul piano umano, molto probabilmente, allo stesso tempo, noi risolverà il problema di AI. Questo è molto buono! O non è molto buona, se si guarda, "Terminator 2".

Perché la visione – è difficile? Poiché l'immagine dello stesso oggetto può variare notevolmente a seconda di fattori esterni. A seconda dell'oggetto di punti di osservazione un aspetto diverso.

Ad esempio, una stessa figura, prese da angolazioni diverse. E ciò che è più interessante nella figura può essere un occhio, due occhi e mezzo. E a seconda del contesto (se questa immagine di uomo in una camicia con occhi dipinti), l'occhio può essere più di due.

Il computer continua a non capire, ma si "vede"

Un altro fattore che rende difficile – è l'illuminazione. La stessa scena con un'illuminazione diversa avrà un aspetto diverso. dimensione oggetto può variare. Inoltre, gli oggetti di qualsiasi classe. Come si può dire di un uomo che la sua altezza di 2 metri? Niente. crescita umana e può essere 2,3 m, e 80 cm. Come per gli altri tipi di oggetti, però, sono oggetti della stessa classe.

In particolare oggetti viventi subiscono una varietà di ceppi. Capelli persone, atleti, gli animali. Guardare le immagini di cavalli in corsa, a determinare ciò che sta accadendo con la loro criniera e la coda è semplicemente impossibile. Una sovrapposizione oggetti in un'immagine? Se spingete immagini da un computer, anche la macchina più potente trovare difficoltà a dare la giusta decisione.

Vista successiva – è un travestimento. Alcuni oggetti, animali mascherato come l'ambiente, e molto abilmente. E gli stessi punti e la colorazione. Tuttavia, noi li vediamo, anche se non sempre da lontano.

Un altro problema – il movimento. Oggetti in movimento inimmaginabili deformano.

Molti degli oggetti sono molto variabili. Qui, per esempio, nelle due foto qui sotto gli oggetti della "sedia".

E su questo ci si può sedere. Ma per insegnare una macchina, in modo tale che le diverse cose in forma, colore, materiale, tutto è un oggetto "sedia" – è molto difficile. Questa è la sfida. Per integrare i metodi di computer vision – è quello di insegnare una macchina per capire, analizzare, speculare.

L'integrazione di computer vision in varie piattaforme

La massa di computer vision ha cominciato a penetrare più nel 2001, quando ha creato il primo rivelatore faccia. Abbiamo fatto due autori: Viola, Jones. E 'stato il primo algoritmo abbastanza veloce e affidabile, che ha dimostrato la potenza di metodi di apprendimento automatico.

Ora computer vision ha abbastanza nuove applicazioni pratiche – il riconoscimento del volto umano.

Ma a riconoscere l'uomo come nei film – ad angoli casuali, diverse condizioni di luce – è impossibile. Ma per risolvere il problema, o uno che è persone diverse con l'illuminazione differente o in una posa diversa, simile a quella nella foto nel passaporto, è possibile con un alto grado di fiducia.

una fototessera requisiti in gran parte a causa della funzione degli algoritmi di riconoscimento dei volti.

Ad esempio, se si dispone di un passaporto biometrico, in alcuni aeroporti moderni, è possibile utilizzare il sistema di controllo dei passaporti automatico.

problema irrisolto di computer vision – la capacità di riconoscere qualsiasi testo

Forse qualcuno ha utilizzato sistema OCR. Una di queste – un lettore fine, è molto popolare nel sistema di RuNet. Ci sono molte forme in cui si compila i dati, sono perfettamente scansione, l'informazione è riconosciuto dal sistema molto bene. Ma con qualsiasi testo nella foto la situazione è molto peggiore. Questo problema rimane irrisolto.

Giochi che coinvolgono computer vision, motion capture

Separate vasta area – è la creazione di modelli tridimensionali e motion capture (che viene realizzato con successo in giochi per computer). Il primo programma, che utilizza computer vision – un sistema di interazione con il computer utilizzando i gesti. Quando è stato creato è stato un sacco di cose aperte.

L'algoritmo è stato progettato molto semplicemente, ma per configurare ci sono voluti per creare un generatore di immagini sintetiche di persone per ottenere un milione di immagini. Supercomputer con loro per scegliere i parametri dell'algoritmo, per la quale ora funziona bene.

Questo è un milione di immagini e week tempo numerabile supercomputer possibile creare un algoritmo che consuma il 12% della capacità di un processore e permette ad una persona di percepire la posizione in tempo reale. Questo sistema di Microsoft Kinect (2010).

Ricerca di immagini per contenuti consente di caricare le foto al sistema, ed i risultati di esso vi darà tutte le immagini con lo stesso contenuto e realizzato dalla stessa angolazione.

Esempi di computer vision: tridimensionali e mappe bidimensionali sono ora in corso con esso. Mappe per le auto di navigazione vengono regolarmente aggiornate in base al DVR.

C'è una banca dati con miliardi di foto georeferenziate. Scaricando l'immagine nel database, è possibile determinare dove è stato fatto, e anche con una certa prospettiva. Naturalmente, a condizione che il posto è sufficiente che popolare in una sola volta i turisti e ha fatto una serie di foto della zona ci sono stato.

i robot sono ovunque

Robotica al momento attuale, in tutto il mondo, senza che in alcun modo. Ora ci sono i veicoli che hanno le telecamere speciali che riconoscono i pedoni e segnali stradali per trasmettere i comandi al driver (questo in un modo in cui un programma per computer per visualizzare, aiuta l'automobilista). E c'è un veicoli robotici completamente automatizzato, ma non possono fare affidamento esclusivamente sul sistema di videocamera, senza l'utilizzo di una grande quantità di informazioni aggiuntive.

fotocamera moderna – si tratta di una camera oscura analogica

Parliamo l'immagine digitale. moderne macchine fotografiche digitali sono disposti sul principio della camera oscura. Solo che invece del foro attraverso cui la luce entra nel fascio e proiettato sulla parete di fondo della camera del circuito soggetto, abbiamo un sistema ottico speciale chiamato lente. Il suo scopo è quello di raccogliere un ampio raggio di luce e convertirlo in modo che tutti i raggi passano attraverso un punto virtuale per ottenere la proiezione e formare un'immagine su pellicola o matrice.

moderne macchine fotografiche digitali (matrice) è composta da singoli elementi – pixel. Ogni pixel può misurare l'energia della luce che è incidente sul totale dei pixel, ed emettere un numero di uscita. Pertanto, in una macchina fotografica digitale, otteniamo invece delle misurazioni di luce insieme luminosità dell'immagine, catturati in un singolo pixel – computer campo visivo. Pertanto, quando l'immagine che vediamo non scorre linee e contorni netti, e una griglia di quadrati colorati in vari colori – pixel.

Qui potete vedere la prima immagine digitale al mondo.

Ma in questa foto non è? Colore. Che cos'è il colore?

percezione psicologica del colore

Colore – questo è ciò che vediamo. Il colore della uno e la stessa cosa per gli esseri umani e gatti saranno diverse. Dal momento che (gli esseri umani) e sistema ottico degli animali – la visione è diversa. Pertanto, il colore – è qualità psicologica della nostra visione che si verifica quando l'osservazione degli oggetti e la luce. E non una proprietà fisica dell'oggetto e la luce. Colore – è il risultato dell'interazione di componenti leggeri, e la scena del nostro sistema visivo.

Programmazione Computer Vision in Python utilizzando librerie

Se avete deciso di impegnarsi seriamente nello studio della visione artificiale, dovrebbe preparare immediatamente per una serie di difficoltà, questa scienza non è il più facile e nasconde una serie di insidie. Ma "Programmazione Computer Vision sul Python" la paternità di Jan Erik Solema – un libro che descrive tutto il linguaggio più semplice. Qui potrete conoscere le modalità di riconoscimento di vari oggetti in 3D, imparare a lavorare l'immagine stereo, realtà virtuale e molte altre applicazioni di visione artificiale con. Nel libro sono abbastanza esempi in Python. Ma le spiegazioni sono presentati, per così dire, generalizzata, in modo da non sovraccaricare troppo la ricerca e dati concreti. Il lavoro adatto per gli studenti, amatori e appassionati. Scarica questo libro e altri di computer vision (formato pdf) può essere in rete.

Al momento, esistono libreria open source di algoritmi di visione artificiale ed elaborazione di immagini ed algoritmi numerici OpenCV. E 'implementato sulla maggior parte dei moderni linguaggi di programmazione, è open source. Se parliamo di computer vision, Python usa come linguaggio di programmazione, ma ha anche il sostegno della biblioteca, inoltre, è in continua evoluzione e ha una grande comunità.

La società "Microsoft" fornisce i propri servizi Api-in grado di addestrare la rete neurale di lavorare con immagini di persone. V'è anche la possibilità di applicare computer vision, Python usa come linguaggio di programmazione.