Come determinare la qualità delle partite ICP?


14

Nei frontend SLAM che utilizzano l'algoritmo Iterative Closest Point (ICP) per identificare l'associazione tra due nuvole di punti corrispondenti, come si può determinare se l'algoritmo è bloccato in un minimo locale e restituisce un risultato errato?

Il problema è definito come l'abbinamento di due nuvole di punti che sono entrambi campioni di una struttura superficiale arbitraria e le aree campionate hanno una sovrapposizione dello 0-100% che è sconosciuta. So che la variante Trimmed ICP funziona provando ripetutamente a determinare la sovrapposizione, ma anche questa può essere bloccata in un minimo locale.

Un approccio ingenuo sarebbe quello di cercare un errore quadrato medio delle coppie di punti identificate. Ma senza una stima del campionamento questo sembra un limite rischioso. Nel manuale del Leica Cyclone suggeriscono l'ispezione manuale dell'istogramma di errore della coppia. Se ha una forma gaussiana, la vestibilità è buona. In caso di caduta lineare, la partita è probabilmente negativa. Questo mi sembra plausibile, ma non l'ho mai visto usato in un algoritmo.


Jakob, sei mai arrivato alla fine? Di fronte a un problema simile, mi piacerebbe sentire ciò che hai imparato nel processo.
fred agosto

No, per quanto mi riguarda, questo è ancora aperto.
Jakob,

Risposte:


2

La maggior parte dei semplici metodi ICP utilizza un approccio di tipo Minimi quadrati. È comune e più semplice modellare quando si presume che un modello di errore gaussiano danneggi i dati della nuvola di punti. In questo caso il componente di adattamento meno quadrato dell'algoritmo ICP produce un modello di errore gaussiano per i suoi parametri di soluzione con varianza stimata.

Cioè, se hai accesso all'errore dopo la corrispondenza, puoi stimare un errore gaussiano sui parametri della tua trasformazione nello stesso modo in cui stimeresti l'errore in qualsiasi altra regressione lineare.


L'uso di una soglia sull'errore meno quadrato era quello a cui mi riferivo nella domanda. L'ho usato anche nelle applicazioni, ma mi è sembrato un parametro molto fragile che è abbastanza specifico per scenario / ambiente.
Jakob,

1

Nel caso in cui siano disponibili alcune informazioni di altri sensori (ad es. Odometria degli encoder ruota), è possibile utilizzarlo quando la trasformazione del corpo rigido suggerita da LaserScanner è lontana.

Ricorda che sulle lunghe traiettorie il percorso dell'odometria differisce dalla verità del terreno ma localmente è piuttosto preciso.

PS. Questa è una domanda piuttosto interessante, quindi facci sapere come hai fatto nel caso in cui tu abbia effettivamente risolto il problema.


0

Penso che l'approccio migliore sarebbe quello di utilizzare un set di dati che contenga una verità fondamentale. Il set di dati che è più spesso citato in letteratura è descritto nel documento "Un punto di riferimento per la valutazione dei sistemi SLAM RGB-D". Descrivono anche alcune metriche per confrontare il risultato della stima della posa con la verità di base. Spero che sia di aiuto. Buona codifica.


Ehi, grazie per la risposta, anche se non proprio quello che stavo cercando. Sono interessato a conoscere la qualità della partita quando non è disponibile alcuna verità di base. Questo è rilevante per il rifiuto dei risultati ICP.
Jakob,
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.