Contents — find the section you need
Se il rilevamento delle caratteristiche è il processo di decisione su "dove nell'immagine utilizzare un punto di riferimento", il tracciamento delle caratteristiche è il processo di individuazione di "dove quel punto di riferimento si è spostato nel fotogramma successivo". Un tracciamento stabile consente di stimare il movimento della telecamera, la velocità dell'oggetto o l'autolocalizzazione di un robot. Al contrario, un singolo errore di corrispondenza può causare il collasso immediato della successiva stima della posa e della mappa. Questo articolo considera la differenza tra rilevatori e descrittori come un dato di fatto e tratta sia l'ottimizzazione locale del movimento dei pixel sia la corrispondenza dei descrittori come un unico problema di progettazione.
Riepilogo in 30 secondi
-
Esistono due approcci al tracciamento: "cercare nel fotogramma successivo la porzione circostante del fotogramma precedente" e "rilevare e calcolare i descrittori in ogni fotogramma e farli corrispondere".
-
Il metodo Lucas-Kanade presuppone costanza di luminosità, movimento locale e velocità condivisa tra pixel adiacenti e risolve un sistema di equazioni normali 2×2. L'utilizzo di una piramide lo estende per gestire grandi spostamenti.
-
La corrispondenza dei descrittori può effettuare ricerche anche in presenza di ampi intervalli tra i fotogrammi, ma a costo di una maggiore potenza di calcolo e di un maggior numero di errori di corrispondenza. La verifica geometrica può essere effettuata tramite il test del rapporto, i vicini più prossimi reciproci e RANSAC.
La qualità del tracciamento non deve essere valutata solo in base al numero di corrispondenze, ma anche in base alla distribuzione spaziale nell'immagine, all'errore di riproiezione, alla coerenza tra la ricerca in avanti e quella all'indietro e al tasso di recupero dopo un'occlusione.
I casi più complessi sono la sfocatura da movimento, la bassa risoluzione, i riflessi, gli oggetti dinamici, il rolling shutter e i bruschi cambiamenti di scala. Un punteggio di confidenza e un meccanismo di ri-rilevamento sono essenziali.
1. Perché i punti nell'immagine sembrano muoversi
Figura 1 — Una corrispondenza è un'ipotesi finché il suo movimento non concorda con i punti vicini e con il modello della telecamera. La copertura spaziale è importante tanto quanto il conteggio grezzo delle corrispondenze.
Un punto 3D X viene proiettato su \mathbf{x}=(x,y) nell'immagine sotto il movimento della telecamera. Con un intervallo di fotogrammi \Delta t, l'obiettivo del tracciamento è trovare lo spostamento \mathbf{d}_k in
Quando la telecamera trasla, la velocità apparente varia con la profondità; quando ruota, l'intera immagine scorre nella stessa direzione. direzione. La semplice sottrazione di immagini consecutive è fragile rispetto alle variazioni di illuminazione e al rumore di esposizione, quindi si utilizza invece la struttura locale delle patch.
2. Lucas-Kanade: Risoluzione di una piccola finestra in un colpo solo
L'ipotesi di costanza della luminosità è
Linearizzando per piccoli spostamenti (u,v) si ottiene l'equazione del vincolo del flusso ottico
Per un singolo pixel, questa è un'equazione per due incognite (il problema dell'apertura). Quindi i pixel all'interno di una finestra W vengono raggruppati e si procede con il metodo dei minimi quadrati
viene risolto. Il termine tra parentesi quadre è la matrice di struttura locale del punto caratteristico: maggiore è il gradiente in due direzioni, in un angolo, più stabile è l'invertibilità. Su una parete piana o su un singolo bordo, il movimento non può essere determinato in modo univoco.
Per gestire grandi spostamenti, lo spostamento viene propagato da Il metodo di tracciamento si basa sulla riduzione di livello di una piramide a grana grossa fino al livello di dettaglio. Ad ogni livello, vengono eseguite diverse iterazioni prima di ricalcolare la posizione successiva. Nell'implementazione, è possibile regolare la profondità della piramide, la dimensione della finestra, i criteri di terminazione, l'autovalore minimo e l'errore di tracciamento avanti-indietro.
3. Scelta tra questo metodo e il tracciamento con descrittori
Descrittori come ORB o SIFT convertono la patch circostante in un vettore o una stringa di bit e selezionano il candidato con la distanza più vicina come corrispondenza. Per piccoli movimenti tra fotogrammi consecutivi, l'algoritmo di Lucas-Kanade è veloce, ma il ricalcolo con descrittori diventa utile quando si recupera da un'occlusione, si saltano fotogrammi o quando la telecamera si sposta in modo significativo.
| Metodo | Input | Punti di forza | Punti di debolezza | Utilizzo tipico |
|---|---|---|---|---|
| Tracciamento LK | Punto del fotogramma precedente e immagine del fotogramma successivo | Veloce, precisione subpixel | Debole in caso di grandi spostamenti, occlusioni, texture di bassa qualità | Tracciamento VO, in tempo reale |
| Corrispondenza ORB | Descrittori da 2 immagini | Leggero, gestisce la rotazione | Errori di corrispondenza dovuti a riflessi/sfocature | Inizializzazione/ricerca SLAM |
Corrispondenza SIFT | Descrittori da 2 immagini | Robusto a scala/rotazione | Calcolo, memoria | SfM, recupero immagini |
Basato sull'apprendimento | Punti, descrittori, matcher | Potenzialmente robusto a grandi cambiamenti di aspetto | Al di fuori dei dati di training, carico GPU | Ambienti difficili, ricerca |
Considerare solo il candidato descrittore con la distanza più vicina lascia spazio a errori di corrispondenza da pattern simili. Richiedere d_1/d_2\lt\tau (il test del rapporto) tra la distanza più vicina d_1 e la seconda più vicina d_2, e verificare ulteriormente i vicini più prossimi reciproci da A→B e B→A, è utile. Infine, verificare con RANSAC utilizzando l'errore di riproiezione di una matrice fondamentale, omografia o PnP stimato dalle corrispondenze.
4. Quantificazione Affidabilità del tracciamento
In pratica, giudicare "tracciamento riuscito" semplicemente come "è stato restituito un punto" non è sufficiente. Registrare i seguenti parametri consente di isolare la causa di un errore:
- Autovalore minimo e residuo di LK
- Differenza tra tracciamento in avanti e all'indietro (errore avanti-indietro)
- Distribuzione del rapporto descrittore e della distanza
- Rapporto inlier RANSAC ed errore di riproiezione
- Distribuzione spaziale dei punti sull'immagine (sono raggruppati solo al centro?)
- Spostamento medio tra i fotogrammi, metrica di sfocatura, esposizione/guadagno
Anche con un elevato rapporto inlier RANSAC, se tutti i punti si raggruppano in un angolo dell'immagine, la stima della posa si degrada. Limitare il numero massimo di punti per cella della griglia e distribuire i punti caratteristici su tutto il campo visivo migliora l'osservabilità di rotazione e traslazione. A volte, mantenere un piccolo numero di corrispondenze distribuite su diverse direzioni e distanze è meglio che aumentare semplicemente il numero di punti.
5. Oggetti in movimento e rolling shutter
Odometria visiva Si assume un ambiente statico per stimare il movimento della telecamera. Quando molti pedoni, auto o una ventola rotante appaiono nell'inquadratura, le loro corrispondenze diventano valori anomali incoerenti con il modello di movimento della telecamera. Quando ci sono troppi oggetti dinamici perché RANSAC da solo possa rimuoverli, si combinano mascheramento semantico, clustering del flusso ottico, modellazione dello sfondo e coerenza della profondità.
L'otturatore rolling di una telecamera CMOS espone l'immagine riga per riga, dall'alto verso il basso, in momenti leggermente diversi. In caso di rotazione rapida o vibrazione, la posizione della telecamera cambia riga per riga anche all'interno di un singolo fotogramma, violando l'ipotesi di un singolo modello di proiezione. Le soluzioni includono la correzione della temporizzazione delle righe utilizzando la velocità angolare dell'IMU, l'otturatore globale, la breve esposizione e la calibrazione del tempo di lettura.
6. Flusso di un'implementazione minima
-
Calibrare la telecamera insieme a parametri intrinseci, distorsione e timestamp.
-
Rilevare FAST/ORB o Shi-Tomasi nel fotogramma iniziale ed equalizzare spazialmente tramite una griglia.
-
Su ogni nuovo fotogramma, tracciare con un algoritmo piramidale LK, verifica dell'errore avanti-indietro e dei bordi dell'immagine.
-
Scarta i punti a bassa affidabilità e rileva nuovi punti nelle celle della griglia poco popolate.
-
Esegui la corrispondenza dei descrittori all'intervallo necessario, rimuovendo gli outlier con RANSAC.
-
Passa le corrispondenze rimanenti a una fase di fusione Essential Matrix, PnP o IMU.
-
Se i punti vengono persi continuamente, reinizializza e registra lo stato di tracciamento e la causa.
Decidere quando riprendere il tracciamento
Quando un'occlusione o una variazione dell'esposizione riduce temporaneamente il numero di punti, l'estrapolazione di ogni vecchia posizione può trasformare una corrispondenza errata in una traccia dall'aspetto stabile. Verifica prima il numero del frame, i timestamp, i bordi dell'immagine e l'errore avanti-indietro, quindi rimuovi i candidati al di fuori dell'inviluppo operativo. Anche un conteggio sufficiente non è sicuro quando tutti i punti sopravvissuti occupano una piccola regione dell'immagine; interrompi la stima della posa, ri-rileva per cella della griglia e separa lo sfondo statico dagli oggetti in movimento prima di riadattare il modello geometrico. Registra questo come una macchina a stati con "tracciamento" e La “reinizializzazione” degli stati permette di distinguere i dati mancanti da una corrispondenza errata.
In fase di implementazione, associare un numero di frame e un timestamp di osservazione a ogni corrispondenza, in modo che il ritardo di elaborazione non possa mescolare un punto vecchio con un frame più recente. Quando la telecamera si muove bruscamente, verificare se lo spostamento rientra ancora nel livello e nella finestra della piramide più grossolana. In caso contrario, passare alla ricerca dei descrittori è più sicuro che allargare la finestra fino a convergere su un altro pattern. I candidati ricercati nuovamente devono comunque superare i controlli dei residui epipolari o di omografia e la coerenza avanti-indietro. Se gli oggetti in movimento vengono tracciati intenzionalmente, mantenere i punti di movimento della telecamera e i punti di tracciamento degli oggetti in insiemi separati; non riutilizzare le decisioni sugli outlier di un insieme per l'altro. Riprodurre i log con variazioni di illuminazione, occlusione e ritardo di comunicazione per testare il recupero a questi limiti.
7. Conclusione
Il feature tracking è una tecnologia che tratta il rilevatore, l'ottimizzazione locale, la corrispondenza dei descrittori e la verifica geometrica come un unico problema di progettazione della confidenza. LK collega in modo fluido i frame consecutivi, i descrittori si riprendono da grandi cambiamenti e RANSAC filtra discrepanze geometriche. Piuttosto che affidarsi a uno solo di questi elementi, la tenuta di registri che includano la distribuzione dei punti, la sincronizzazione temporale, gli oggetti dinamici e il rolling shutter migliora sostanzialmente la riproducibilità di Visual SLAM e VIO.
Un punto tracciato con successo è sempre una corrispondenza corretta?
Il tracciamento può saltare a uno schema simile. Verifica la coerenza avanti-indietro, i residui e la geometria anziché contare solo le tracce.
Riferimenti
- OpenCV — Flusso ottico / Lucas-Kanade
- OpenCV — Corrispondenza delle caratteristiche
- Bouguet, Implementazione piramidale del tracker di caratteristiche affine Lucas-Kanade
- Articolo ORB-SLAM3
- Articolo VINS-Mono
Segui questi punti tra due immagini nel Lab di flusso ottico.
Commenti
Accedi per continuare.
Nessun dato disponibile.