Precisione degli algoritmi di Computer Vision


8

Diciamo che il compito è determinare la posizione dell'elemento sull'immagine. La prima cosa molto importante è il corretto rilevamento dell'oggetto, quindi vengono utilizzati alcuni algoritmi di calcolo della posizione (per l'analisi del BLOB di esempio). Tutto dipende da più cose (correttezza del rilevamento, algoritmi usati ecc.)

Supponiamo che abbiamo un'immagine callibrata e conosciamo l'errore dato dalla callibrazione. Quali sono i metodi per calcolare in modo affidabile la precisione degli algoritmi di visione dei computer (e delle macchine)? Può essere fatto analiticamente o solo con esperimenti e test?

La domanda riguarda i casi in cui rileviamo la posizione dell'elemento e anche altri problemi di visione artificiale.

Voglio ottenere riferimenti a problemi relativi alla visione computer / macchina, in particolare il rilevamento della posizione degli elementi e presentare alcuni calcoli di correttezza analitici o sperimentali per mostrare questa precisione.

Sono anche ben accetti suggerimenti su come migliorare questa domanda.

Risposte:


4

Ad esempio, Hartley & Zisserman suggeriscono di utilizzare il precondizionamento prima della stima dell'omografia , perché l'assunzione diretta della matrice inversa può portare a enormi errori o instabilità. Questo vale per qualsiasi metodo numerico che lavora con matrice inversa.

Gli algoritmi di rilevamento delle caratteristiche spesso utilizzano l'approssimazione sub-pixel della posizione del punto di interesse.

La maggior parte dei libri che parlano dei metodi numerici si occupa anche della loro analisi di stabilità.

A volte è necessario eseguire alcune statistiche per analizzare la precisione e l'accuratezza dello stimatore (sia esso uno stimatore dei minimi quadrati o uno stimatore della massima verosimiglianza). Ciò è utile in algoritmi come RANSAC , che si occupano di valori anomali. Ti piacerebbe anche sapere quanto bene la trasformazione stimata si adatta ai tuoi dati e, eventualmente, scartare risultati troppo imprecisi.

Quando si lavora con la differenziazione finita o si esegue un filtro, viene eseguita una leggera sfocatura gaussiana per rimuovere il rumore, che altrimenti causerebbe enormi errori nei derivati ​​secondari.

Alcuni problemi nella visione artificiale sono mal posti. Un metodo di regolarizzazione (come una regolarizzazione di Tikchonov) è necessario per risolverli. Esempi in cui ciò è necessario includono il calcolo della diffusione anisotropica.


Quindi questo vale quando abbiamo rilevato alcune funzionalità e le abbiniamo alle funzionalità del modello con le statistiche (e questa corrispondenza fornisce un errore che possiamo calcolare). Che ne dite di errori di rilevamento delle funzionalità di elaborazione. Ad esempio, se le funzionalità vengono estratte dai BLOB mediante la soglia?
Krzych,

Penso che non sia possibile calcolare "errore di rilevamento" dato solo l'immagine. Ci deve essere un contesto in cui si può dire che la funzione è errata.
Libor,

Esatto ma quale connotazione. Come progettare alcuni test per capire la correttezza del rilevamento delle caratteristiche?
Krzych,

2
Come ha osservato H&Z nel loro libro: "Questo è un problema con pollo e uova ..." Non possiamo dire quali funzioni siano "buone" e quali "cattive" senza prima abbinarle. Ci sono alcuni sviluppi nella progettazione di descrittori di caratteristiche in modo che siano abbinati bene a set di dati più grandi. Data la misurazione della "qualità" di un descrittore, è possibile discriminare elementi che non è probabile che corrispondano.
Libor,

Ma ci deve essere un metodo per valutare la correttezza dell'intero sistema. Penso che sia molto importante per le applicazioni di visione artificiale, specialmente quando parliamo di posizionamento degli elementi. Come ho detto in questione, sono anche interessato ad alcuni modi per testare questa correttezza.
Krzych,

4

Questo non risponde all'intera domanda, ma affronta parte di ciò che l'OP chiede.

Può essere fatto solo sperimentalmente. Per farlo analiticamente richiederebbe informazioni su ciò che l'algoritmo avrebbe dovuto restituire. Ma per saperlo, devi confrontare un algoritmo di visione computerizzata sempre corretto (oltre a descrizioni analitiche dettagliate dell'immagine da testare). Le soluzioni analitiche richiedono la conoscenza di una verità fondamentale che è analitica piuttosto che generata a mano caso per caso. Ma non abbiamo un modo analitico per generare una verità fondamentale - questo è ciò che stiamo cercando di sviluppare.

Dato che può essere fatto solo sperimentalmente, potresti voler guardare google scholar. Se stai cercando la posizione delle persone, ci saranno molti articoli dedicati alla localizzazione di una persona o parti di una persona come la testa o le mani. Anche la posizione dell'auto avrà molta attenzione specializzata. Altri oggetti vorranno solo algoritmi generici.


Alcuni riferimenti potrebbero migliorare questa risposta.
Krzych,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.