Devo trovare la differenza di trasformazione e di rotazione tra due nuvole di punti 3D. Per questo sto guardando PCL, come sembra ideale.Libreria nuvola di punti, registrazione robusta di nuvole a due punti
In base ai dati di prova pulita devo iterativo di lavoro punto più vicino, ma dando risultati strani (anche se forse ho implementato in modo non corretto ...) ho pcl::estimateRigidTransformation
di lavoro, e sembra meglio, anche se presumo si occuperà peggio con rumoroso dati.
La mia domanda è:
Le due nuvole saranno rumoroso, e anche se dovrebbero contenere gli stessi punti, ci saranno alcune discrepanze. Qual è il modo migliore per affrontare questo?
Devo trovare le funzioni corrispondenti nelle due nuvole per iniziare e POI utilizzare estimateTransform
? O dovrei guardare una funzione RANSAC
per rimuovere i valori anomali? ICP
è un modo migliore per andare rispetto a estimateRigidTransform
?
Sono nuovo di PCL, quindi scusami se questo non è utile. C'è la [libreria di registrazione PCL] (http://pointclouds.org/documentation/tutorials/walkthrough.php#registration) che penso sarà utile per il tuo scopo. – dhanushka
Basta seguire prima alcuni tutorial su ICP. E dipende dall'applicazione Quale filtro usi, mi piace molto il veloce filtro a griglia Voxel. ICP non è il modo migliore per farlo. Prima apprendi gli esempi e costruisci il tuo (dal trunk) pcl ICP. L'ICP dell'esempio è solo una funzione funzionante, invece vuoi un vero preformatore (un ICP preformatore è un ICP che è costruito per te) costruisci il tuo! –