I vari rami della computer vision sono completamente distinti? [chiuso]

1

La visione artificiale include:

  • Riconoscimento dei caratteri (conversione di un'immagine in testo)
  • Riconoscimento volti (rilevamento di una faccia in un'immagine)
  • Riconoscimento oggetto (rilevamento di vari oggetti in un'immagine)
  • Riconoscimento umano (rilevamento di una forma umana in un'immagine)
  • Rilevamento del movimento / Tracciamento oggetto (rilevamento movimenti / movimento)

Tutti questi sono tra i vari rami della visione artificiale. Tutti questi possono utilizzare l'apprendimento automatico per addestrare il programma a rilevare le cose. Quindi non sarebbero tutti molto simili, in quanto l'unica differenza sarebbe dire al programma di cercare cosa?

Come se tentassi di rilevare Testo , il programma cercherebbe di separare ciascuna lettera e, a seconda della giuntura, della curva e della forma, determinerà quale lettera è.

E se sto cercando di rilevare una Faccia , il programma cercherà caratteristiche facciali come occhi, naso, bocca e forma del viso.

E se sto cercando di rilevare un oggetto , il programma cercherebbe i bordi.

E se sto cercando di individuare un umano , il programma cercherebbe testa, corpo e arti.

E se sto facendo Motion Detection , sarà fondamentalmente la rilevazione dell'oggetto mentre catturi il suo movimento.

So che sto semplificando eccessivamente le cose, ma il mio punto è - supponiamo che qualcuno stia cercando di creare una libreria / programma per la visione artificiale e che crei un programma di apprendimento con alcuni parametri (che cosa rilevare), funzionerebbe? Sarebbe troppo complesso? Sto trascurando alcune barriere tecniche che impedirebbero che ciò sia possibile?

    
posta 6119 12.05.2016 - 09:36
fonte

2 risposte

1

Considera cosa sia un "oggetto" - un oggetto potrebbe essere una faccia o un aereo? Certo che potrebbe, quindi tecnicamente, tutto è un oggetto. Ma una faccia non assomiglia a un aereo, quindi è necessario specializzarlo per rilevare le differenze.

Ora so che quando si tratta di rilevare il volto, ci sono già molti parametri che devi passare per rilevare diversi tipi di volti: le barbe sono diverse dai portatori di occhiali, i cappelli possono rovinare il rilevamento. Se si guarda nella directory haar in cascata di OpenCV, ha formato file xml per eye, eye_tree_glasses, frontalcatface, profileface, fullbody, lowerbody e persino targhe.

Quindi le routine di rilevamento sono generiche in quanto esiste una sola routine (ad es. classificazione haar o lpb) che si utilizza, ma è necessario passare un numero molto elevato di parametri diversamente addestrati.

CV riguarda il rilevamento di "oggetti" a livello di algoritmo, ma molto specializzato a livello di "addestramento".

Il rilevamento del movimento sta monitorando un oggetto rilevandolo fotogramma per fotogramma, oppure sta rilevando le modifiche nei fotogrammi senza tracciamento di ciò che si sta muovendo. Direi che è un argomento separato dal CV.

    
risposta data 12.05.2016 - 10:07
fonte
0

Ci sono certamente temi nella visione artificiale, ma le differenze nel dominio del problema rendono altamente improbabile che un motore comune sia desiderabile per tutti tranne che per le applicazioni più avanzate (robotica) o addirittura possibile a breve termine.

Il riconoscimento del testo è probabilmente la più semplice delle sfere, ma anche qui devi tenere conto di problemi come variazione di font, dimensione del font, contrasto, qualità di stampa ecc.

Il riconoscimento dei volti è relativamente semplice a condizione che l'immagine sia scattata verso la fotocamera. Un algoritmo rileva dove dovrebbero essere i vari elementi del viso e controllando i contrasti, può verificare con un ragionevole grado di precisione se c'è un volto nella foto.

Il rilevamento degli oggetti è leggermente più problematico. Prendi un gatto per esempio. Questo potrebbe essere in una varietà di pose in una varietà di colori e contro una varietà di sfondi. Un problema estremamente complesso. Tanto che in effetti Google ha adottato approccio opposto. Il loro algoritmo conteneva immagini che erano note per contenere i gatti e capovolgeva un algoritmo più preciso. L'ultima cosa era così complessa che era al di là di ciò che un umano poteva ragionevolmente capire.

Simile al problema del gatto è l'identificazione degli umani - in particolare quando si aggiunge un oggetto di accompagnamento comune come sedie a rotelle, vestiti, veicoli ecc.

Il rilevamento / il rilevamento del movimento, anche se ovviamente correlato, ha un insieme completamente diverso di ostacoli tecnici da superare.

    
risposta data 12.05.2016 - 12:40
fonte

Leggi altre domande sui tag