Untuk beberapa algoritma rekonstruksi volume yang sedang saya kerjakan, saya perlu mendeteksi sejumlah pola melingkar dalam data titik 3d (yang berasal dari perangkat LIDAR). Pola-pola ini dapat diorientasikan secara sewenang-wenang di ruang angkasa, dan diasumsikan terletak (meskipun tidak sempurna) di bidang tipis 2d. Berikut ini adalah contoh dengan dua lingkaran di bidang yang sama (walaupun ingat ini adalah ruang 3d):
Saya mencoba banyak pendekatan .. yang paling sederhana (tapi yang paling berhasil sejauh ini) adalah pengelompokan berdasarkan set terpisah dari grafik tetangga terdekat. Ini bekerja cukup baik ketika polanya berjauhan, tetapi kurang begitu dengan lingkaran seperti pada contoh, benar-benar dekat satu sama lain.
Saya mencoba K-means, tetapi tidak berhasil: Saya kira pengaturan titik melingkar mungkin tidak cocok untuk itu. Ditambah lagi, saya memiliki masalah tambahan karena tidak mengetahui sebelumnya nilai K.
Saya mencoba pendekatan yang lebih rumit, berdasarkan deteksi siklus dalam grafik tetangga terdekat, tetapi apa yang saya dapatkan terlalu rapuh atau mahal secara komputasi.
Saya juga membaca tentang banyak topik terkait (transformasi Hough, dll) tetapi tampaknya tidak ada yang berlaku dengan sempurna dalam konteks khusus ini. Ide atau inspirasi apa pun akan dihargai.