Bagaimana cara menentukan kualitas kecocokan ICP?

14

Dalam SLAM frontends yang menggunakan algoritma Iterative Closest Point (ICP) untuk mengidentifikasi hubungan antara dua awan titik yang cocok, bagaimana Anda dapat menentukan apakah algoritma tersebut terjebak dalam minimum lokal dan mengembalikan hasil yang salah?

Masalahnya didefinisikan sebagai pencocokan dua titik awan yang keduanya merupakan sampel dari beberapa struktur permukaan yang berubah-ubah, dan area sampel memiliki tumpang tindih 0-100% yang tidak diketahui. Saya tahu varian ICP yang dipangkas berfungsi dengan cara berulang mencoba untuk menentukan tumpang tindih, tetapi bahkan yang ini dapat terjebak dalam minimum lokal.

Pendekatan naif adalah melihat kesalahan kuadrat rata-rata dari pasangan titik yang diidentifikasi. Tetapi tanpa beberapa perkiraan sampling ini tampaknya merupakan ambang batas yang berisiko. Dalam manual untuk Leica Cyclone mereka menyarankan pemeriksaan manual histogram kesalahan pasangan. Jika memiliki bentuk Gaussian yang cocok adalah baik. Jika ada kejatuhan linear pertandingan mungkin buruk. Ini tampaknya masuk akal bagi saya, tetapi saya belum pernah melihatnya menggunakan algoritma.

Jakob
sumber
Jakob, apakah Anda pernah sampai akhir ini? Menghadapi masalah yang sama, akan sangat senang mendengar apa yang telah Anda pelajari dalam proses tersebut.
fred agustus
Tidak, sejauh yang saya ketahui, ini masih terbuka.
Jakob

Jawaban:

2

Sebagian besar metode ICP langsung menggunakan pendekatan tipe Least-Squares. Adalah umum dan termudah untuk memodelkan ketika mengasumsikan model kesalahan Gaussian merusak data cloud titik. Dalam hal ini komponen pemasangan kuadrat terkecil dari algoritma ICP menghasilkan model kesalahan Gaussian untuk parameter solusi dengan estimasi varians.

Artinya, jika Anda memiliki akses ke kesalahan setelah pencocokan, maka Anda dapat memperkirakan kesalahan Gaussian pada parameter transformasi Anda dengan cara yang sama Anda akan memperkirakan kesalahan dalam regresi linier lainnya.

Matanya
sumber
Menggunakan ambang pada kesalahan kuadrat terkecil adalah apa yang saya maksudkan dalam pertanyaan. Saya menggunakannya juga dalam aplikasi, tetapi sepertinya parameter yang sangat rapuh yang cukup khusus untuk skenario / lingkungan.
Jakob
1

Jika Anda memiliki beberapa informasi dari sensor lain yang tersedia (mis. Odometri dari pembuat enkoder), Anda dapat menggunakannya saat transformasi bodi yang kaku yang disarankan oleh laserScanner jauh.

Ingatlah bahwa pada lintasan panjang jalur odometry menyimpang dari kebenaran dasar tetapi secara lokal itu cukup akurat.

PS. Ini pertanyaan yang cukup menarik, jadi beri tahu kami bagaimana Anda melakukannya jika Anda benar-benar menyelesaikan masalah ..

bergercookie
sumber
0

Saya pikir pendekatan terbaik adalah menggunakan set data yang berisi kebenaran dasar. Kumpulan data yang paling sering dikutip dalam literatur dijelaskan dalam makalah "Sebuah tolok ukur untuk evaluasi sistem SLAM RGB-D." Mereka juga menggambarkan beberapa metrik untuk membandingkan hasil estimasi pose Anda dengan kebenaran dasar. Semoga ini membantu. Selamat coding.

roboticsmeche
sumber
Hei, terima kasih atas jawabannya, meskipun tidak cukup apa yang saya cari. Saya tertarik mengetahui kualitas pertandingan ketika tidak ada kebenaran dasar yang tersedia. Ini relevan untuk menolak hasil ICP.
Jakob