Diberikan satu set poin (2D) yaitu, point cloud (PC), pertanyaannya adalah tentang a robust
, accurate
dan computing-friendly
metode untuk menemukan lingkaran (atau elips dalam versi lanjutan).
Gagasan intuitifnya adalah menggunakan Pencarian Brute-Force pada semua titik yang memungkinkan (sebagai pusat) {infinite!} Dan jari-jari (lagi-lagi tak terbatas!). Ini sangat lambat dan tidak efisien.
Seperti yang diperlihatkan di bawah ini, setiap lingkaran yang dipasang akan diberi peringkat berdasarkan jumlah titik ( nn
) yang diposisikan pada lingkaran-keliling dalam jarak yang lebih pendek dari ambang batas ( t
). Jadi ada derr
untuk menyajikan jarak rata-rata.
Dalam bentuk elips maju menarik untuk dipasang.
Adakah ide, brainstorming, pengalaman, komentar?
sumber
Jawaban:
Ide-ide terbaik yang persis mencoba untuk memecahkan masalah ini adalah Hough Transform .
Pada dasarnya, sinyal di ruang hough akan
r, x, y
dikoordinasikan. Di sinir
singkatan radius danx,y
singkatan dari center. Setiap poin dapat dimiliki oleh satu atau banyak lingkaran. Jadi di pesawat Hough, lewati semua lingkaran yang memungkinkan di mana titik ini bisa menjadi milik dan lakukan +1. Ini bukan pencarian, hanya koleksi.Sekarang, jika lingkaran nyata ada, begitu banyak poin akan ditambahkan dan skor seperti itu
r, x, y
akan jauh lebih tinggi daripada yang lainnya. Memilih titik seperti itu akan memungkinkan Anda memilih lingkaran yang tepat.Ini adalah makalah klasik pada tahun 1971 (sebelum saya lahir!) Yang menemukan konsep ini.
Untuk Tutorial saya akan menyarankan referensi di bawah ini:
Khusus untuk deteksi lingkaran, Anda dapat merujuk ini di bawah:
Metode ini sangat efisien, dan sangat ramah komputer.
sumber