Maybaygiare.org

Blog Network

A Gentle Introduction to Computer Vision

Tweet Share Share

Ultimo aggiornamento il 5 luglio 2019

Computer Vision, spesso abbreviato in CV, è definito come un campo di studio che cerca di sviluppare tecniche per aiutare i computer a “vedere” e comprendere il contenuto di immagini digitali come fotografie e video.

Il problema della visione artificiale appare semplice perché è banalmente risolto da persone, anche bambini molto piccoli. Tuttavia, rimane in gran parte un problema irrisolto basato sia sulla comprensione limitata della visione biologica che sulla complessità della percezione visiva in un mondo fisico dinamico e quasi infinitamente variabile.

In questo post, scoprirai una delicata introduzione al campo della visione artificiale.

Dopo aver letto questo post, saprai:

  • L’obiettivo del campo della visione artificiale e la sua distinzione dall’elaborazione delle immagini.
  • Ciò che rende il problema della visione artificiale impegnativo.
  • Problemi tipici o compiti perseguiti in computer vision.

Avvia il tuo progetto con il mio nuovo libro Deep Learning for Computer Vision, inclusi tutorial passo-passo e i file di codice sorgente Python per tutti gli esempi.

Iniziamo.

Una dolce introduzione alla visione artificiale

Una dolce introduzione alla visione artificiale
Foto di Axel Kristinsson, alcuni diritti riservati.

Panoramica

Questo tutorial è diviso in quattro parti; sono:

  1. Desiderio di computer per vedere
  2. Che cosa è Computer Vision
  3. Sfida di Computer Vision
  4. Compiti in Computer Vision

Desiderio di computer per vedere

Siamo inondati di immagini.

Gli smartphone hanno macchine fotografiche, e scattare una foto o un video e la condivisione non è mai stato così facile, con conseguente crescita incredibile dei moderni social network come Instagram.

YouTube potrebbe essere il secondo più grande motore di ricerca e centinaia di ore di video vengono caricati ogni minuto e miliardi di video vengono guardati ogni giorno.

Internet è composto da testo e immagini. È relativamente semplice indicizzare e cercare il testo, ma per indicizzare e cercare le immagini, gli algoritmi devono sapere cosa contengono le immagini. Per molto tempo, il contenuto di immagini e video è rimasto opaco, meglio descritto utilizzando le meta descrizioni fornite dalla persona che li ha caricati.

Per ottenere il massimo dai dati immagine, abbiamo bisogno di computer per “vedere” un’immagine e capire il contenuto.

Questo è un problema banale per un essere umano, anche i bambini piccoli.

  • Una persona può descrivere il contenuto di una fotografia che ha visto una volta.
  • Una persona può riassumere un video che ha visto solo una volta.
  • Una persona può riconoscere un volto che ha visto solo una volta prima.

Abbiamo bisogno di almeno le stesse funzionalità dai computer al fine di sbloccare le nostre immagini e video.

Vuoi risultati con il Deep Learning per la visione artificiale?

Prendi il mio corso accelerato gratuito di 7 giorni (con codice di esempio).

Fare clic per iscriversi e anche ottenere una versione PDF Ebook gratuito del corso.

Scarica il tuo Mini-corso GRATUITO

Che cos’è la visione artificiale?

Computer vision è un campo di studio incentrato sul problema di aiutare i computer a vedere.

A livello astratto, l’obiettivo dei problemi di visione artificiale è quello di utilizzare i dati delle immagini osservate per dedurre qualcosa sul mondo.

— Pagina 83, Computer Vision: Models, Learning, and Inference, 2012.

Si tratta di un campo multidisciplinare che potrebbe essere ampiamente definito un sottocampo di intelligenza artificiale e apprendimento automatico, che può comportare l’uso di metodi specializzati e fare uso di algoritmi di apprendimento generale.

presentazione della Relazione dell'Intelligenza Artificiale e della Computer Vision

vista la Relazione dell’Intelligenza Artificiale e della Computer Vision

multidisciplinare area di studio, si può guardare disordinato, con tecniche prese in prestito e riutilizzati da una gamma di diverse ingegneria e scienza campi.

Un particolare problema nella visione può essere facilmente affrontato con un metodo statistico artigianale, mentre un altro può richiedere un insieme ampio e complesso di algoritmi di apprendimento automatico generalizzati.

La visione artificiale come campo è una frontiera intellettuale. Come ogni frontiera, è eccitante e disorganizzata, e spesso non c’è un’autorità affidabile a cui fare appello. Molte idee utili non hanno basi teoriche e alcune teorie sono inutili nella pratica; le aree sviluppate sono ampiamente sparse e spesso una sembra completamente inaccessibile dall’altra.

— Pagina xvii, Computer Vision: A Modern Approach, 2002.

L’obiettivo della computer vision è quello di comprendere il contenuto delle immagini digitali. In genere, ciò comporta lo sviluppo di metodi che tentano di riprodurre la capacità della visione umana.

Comprendere il contenuto delle immagini digitali può comportare l’estrazione di una descrizione dall’immagine, che può essere un oggetto, una descrizione testuale, un modello tridimensionale e così via.

La visione artificiale è l’estrazione automatizzata di informazioni dalle immagini. Le informazioni possono significare qualsiasi cosa, dai modelli 3D, posizione della telecamera, rilevamento e riconoscimento degli oggetti al raggruppamento e alla ricerca del contenuto dell’immagine.

— Pagina ix, Programmazione Computer Vision con Python, 2012.

Computer Vision ed elaborazione delle immagini

Computer vision è distinto da elaborazione delle immagini.

L’elaborazione delle immagini è il processo di creazione di una nuova immagine da un’immagine esistente, in genere semplificando o migliorando il contenuto in qualche modo. È un tipo di elaborazione del segnale digitale e non si occupa di comprendere il contenuto di un’immagine.

Un dato sistema di visione artificiale può richiedere l’elaborazione delle immagini da applicare all’input raw, ad esempio pre-elaborazione delle immagini.

Esempi di elaborazione delle immagini includono:

  • Normalizzazione delle proprietà fotometriche dell’immagine, come la luminosità o il colore.
  • Ritagliare i limiti dell’immagine, ad esempio centrare un oggetto in una fotografia.
  • Rimozione del rumore digitale da un’immagine, ad esempio artefatti digitali da bassi livelli di luce.

Sfida di Computer Vision

Aiutare i computer a vedere risulta essere molto difficile.

L’obiettivo della visione artificiale è quello di estrarre informazioni utili dalle immagini. Questo si è rivelato un compito sorprendentemente impegnativo; ha occupato migliaia di menti intelligenti e creative nel corso degli ultimi quattro decenni, e nonostante questo siamo ancora lontani dall’essere in grado di costruire un general-purpose “seeing machine.”

— Pagina 16, Computer Vision: Models, Learning, and Inference, 2012.

La visione artificiale sembra facile, forse perché è così facile per gli esseri umani.

Inizialmente, si credeva che fosse un problema banalmente semplice che poteva essere risolto da uno studente che collegava una fotocamera a un computer. Dopo decenni di ricerca, “computer vision” rimane irrisolto, almeno in termini di soddisfare le capacità della visione umana.

Fare vedere un computer era qualcosa che i maggiori esperti nel campo dell’Intelligenza Artificiale pensavano fosse al livello di difficoltà del progetto di uno studente estivo negli anni Sessanta. Quarant’anni dopo il compito è ancora irrisolto e sembra formidabile.

— Pagina xi, Multiple View Geometry in Computer Vision, 2004.

Una ragione è che non abbiamo una forte comprensione di come funziona la visione umana.

Studiare la visione biologica richiede una comprensione degli organi di percezione come gli occhi, così come l’interpretazione della percezione all’interno del cervello. Sono stati fatti molti progressi, sia nel tracciare il processo che in termini di scoperta dei trucchi e delle scorciatoie utilizzate dal sistema, anche se, come ogni studio che coinvolge il cervello, c’è una lunga strada da percorrere.

Gli psicologi percettivi hanno trascorso decenni cercando di capire come funziona il sistema visivo e, anche se possono escogitare illusioni ottiche per prendere in giro alcuni dei suoi principi, una soluzione completa a questo puzzle rimane sfuggente

— Page 3, Computer Vision: Algorithms and Applications, 2010.

Un altro motivo per cui si tratta di un problema così impegnativo è a causa della complessità insita nel mondo visivo.

Un dato oggetto può essere visto da qualsiasi orientamento, in qualsiasi condizione di illuminazione, con qualsiasi tipo di occlusione da altri oggetti, e così via. Un vero sistema di visione deve essere in grado di” vedere ” in un numero infinito di scene e comunque estrarre qualcosa di significativo.

I computer funzionano bene per problemi strettamente vincolati, non aprono problemi illimitati come la percezione visiva.

Compiti in Computer Vision

Tuttavia, ci sono stati progressi nel campo, soprattutto negli ultimi anni con i sistemi di commodity per il riconoscimento ottico dei caratteri e il rilevamento dei volti in fotocamere e smartphone.

La visione artificiale è a un punto straordinario nel suo sviluppo. Il soggetto stesso è stato intorno dal 1960, ma solo di recente è stato possibile costruire sistemi informatici utili utilizzando idee da computer vision.

— Pagina xviii, Computer Vision: A Modern Approach, 2002.

Il libro di testo del 2010 sulla visione artificiale intitolato “Computer Vision: Algorithms and Applications” fornisce un elenco di alcuni problemi di alto livello in cui abbiamo visto il successo con la visione artificiale.

  • Riconoscimento ottico dei caratteri (OCR)
  • Ispezione della macchina
  • Vendita al dettaglio (es. casse automatiche)
  • Costruzione di modelli 3D (fotogrammetria)
  • Imaging medico
  • Sicurezza automobilistica
  • Partita mossa (es. merging CGI with live actors in movies)
  • Motion capture (mocap)
  • Surveillance
  • Riconoscimento delle impronte digitali e biometria

Si tratta di una vasta area di studio con molti compiti specializzati e tecniche, così come specializzazioni per indirizzare i domini applicativi.

La visione artificiale ha un’ampia varietà di applicazioni, sia vecchie (ad esempio, navigazione mobile con robot, ispezione industriale e intelligence militare) che nuove (ad esempio, human computer interaction, image retrieval in digital libraries, medical image analysis, and the realistic rendering of synthetic scenes in computer graphics).

— Pagina xvii, Computer Vision: A Modern Approach, 2002.

Potrebbe essere utile ingrandire alcune delle attività di visione artificiale più semplici che potresti incontrare o essere interessato a risolvere dato il vasto numero di fotografie e video digitali disponibili pubblicamente.

Molte applicazioni popolari di visione artificiale comportano il tentativo di riconoscere le cose nelle fotografie; per esempio:

  • Classificazione degli oggetti: Quale ampia categoria di oggetti si trova in questa fotografia?
  • Identificazione dell’oggetto: quale tipo di oggetto è presente in questa fotografia?
  • Verifica dell’oggetto: È l’oggetto nella fotografia?
  • Rilevamento di oggetti: dove sono gli oggetti nella fotografia?
  • Object Landmark Detection: Quali sono i punti chiave per l’oggetto nella fotografia?
  • Segmentazione degli oggetti: quali pixel appartengono all’oggetto nell’immagine?
  • Object Recognition: Quali oggetti sono in questa fotografia e dove sono?

Altri esempi comuni sono relativi al recupero delle informazioni; ad esempio: trovare immagini come un’immagine o immagini che contengono un oggetto.

Ulteriori letture

Questa sezione fornisce più risorse sull’argomento se stai cercando di approfondire.

Libri

  • Computer Vision: modelli, apprendimento e inferenza, 2012.
  • Programmazione Computer Vision con Python, 2012.
  • Multiple View Geometry in Computer Vision, 2004.
  • Computer Vision: algoritmi e applicazioni, 2010.
  • Computer Vision: un approccio moderno, 2002.

Articoli

  • Computer vision, Wikipedia.
  • Visione artificiale, Wikipedia.
  • Elaborazione di immagini digitali, Wikipedia.

Sommario

In questo post, hai scoperto una delicata introduzione al campo della visione artificiale.

In particolare, hai imparato:

  • L’obiettivo del campo della visione artificiale e la sua distinzione dall’elaborazione delle immagini.
  • Ciò che rende il problema della visione artificiale impegnativo.
  • Problemi tipici o compiti perseguiti in computer vision.

Hai qualche domanda?
Fai le tue domande nei commenti qui sotto e farò del mio meglio per rispondere.

Sviluppare modelli di apprendimento profondo per la visione di oggi!

Deep Learning per Computer Vision

Sviluppare i propri modelli di visione in pochi minuti

…con poche righe di codice python

Scopri come nel mio nuovo Ebook:
Deep Learning for Computer Vision

Fornisce tutorial di autoapprendimento su argomenti come:
classificazione, rilevamento di oggetti (yolo e rcnn), riconoscimento facciale (vggface e facenet), preparazione dei dati e molto altro…

Finalmente portare l’apprendimento profondo per i vostri progetti di visione

Saltare gli accademici. Solo risultati.

Guarda cosa c’è dentro

Tweet Condividi Condividi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.