Sì, ICP può essere applicato a questo problema, come suggerito con il campionamento della superficie. Sarebbe meglio se hai tutte le facce disponibili nella tua scansione laser, altrimenti potresti dover rimuovere visi invisibili dal tuo modello (a seconda di quanti di questi ci sono).
Un modo per preparare automaticamente un modello eliminando alcune delle facce nascoste è calcolare lo scafo concavo che può essere utilizzato per scartare le facce nascoste (che sono ad esempio facce che non sono vicine allo scafo concavo). A seconda di come è coinvolto il modello, questo può o non può essere necessario.
ICP funziona bene se viene data una buona ipotesi iniziale perché ignora i punti che non sono vicini rispetto all'ipotesi corrente. Se ICP non presenta un buon allineamento, puoi provare con più riavvii casuali per provare a risolvere questo problema, scegliendo il miglior allineamento.
Una soluzione più coinvolgente è eseguire la corrispondenza delle funzionalità locali. Si campiona e si calcola un descrittore invariante come SHOT o FPFH. Trovi le corrispondenze migliori, respingi le partite non coerenti, usale per ottenere un buon allineamento iniziale e poi raffina con ICP. Ma potrebbe non essere necessario questo passaggio a seconda di quanto sia robusto e veloce l'ICP a riavvio casuale.
fonte
2013-09-25 10:47:26
il video sembra interessante, ma questa risposta senza le informazioni richieste per riprodurre i risultati. Potresti riassumere l'approccio che hai usato e mostrare le chiamate OpenCv rilevanti? Il codice completo è disponibile da qualche parte? – HugoRune
Il codice completo è disponibile al https://github.com/tolgabirdal/opencv_contrib/tree/master/modules/surface_matching –