Saat ini saya sedang bekerja dengan dan membandingkan kinerja beberapa fitur detektor yang disediakan oleh OpenCV sebagai dasar untuk pencocokan fitur visual.
Saya menggunakan deskriptor SIFT . Saya telah menyelesaikan pencocokan yang memuaskan (setelah menolak kecocokan yang buruk) ketika mendeteksi fitur MSER dan DoG (SIFT) .
Saat ini, saya sedang menguji kode saya dengan GFTT (Good Features to Track - Harris corner) untuk mendapatkan perbandingan, dan juga karena dalam aplikasi final, satu set fitur GFTT akan tersedia dari proses pelacakan fitur visual.
Saya menggunakan cv::FeatureDetector::detect(...)
yang menyediakan saya dengan std::vector<cv::KeyPoint>
penuh terdeteksi fitur / keypoints / daerah bunga . Struktur cv::KeyPoint
berisi informasi dasar tentang lokasi fitur, serta informasi tentang size
dan octave
di mana titik kunci telah terdeteksi.
Hasil pertama saya dengan GFTT sangat buruk sampai saya membandingkan tipikal size
dan octave
parameter dalam berbagai jenis fitur:
- MSER menetapkan ukuran (antara 10 dan 40px) dan membiarkan oktaf ke 0
- DoG (SIFT) mengatur ukuran dan oktaf ( rasio ukuran / oktaf antara 20 dan 40)
- GFTT parameter selalu : size = 3 , oktaf = 0
Saya kira itu karena tujuan utama fitur GFTT tidak untuk digunakan dalam pencocokan tetapi hanya dalam pelacakan. Ini menjelaskan rendahnya kualitas hasil pencocokan, karena deskriptor yang diekstraksi dari fitur sekecil itu berhenti bersifat diskriminatif dan tidak berubah-ubah untuk banyak hal , termasuk pergeseran kecil, 1-piksel.
Jika saya secara manual mengatur size
dari GFTT ke 10-12 , saya mendapatkan hasil yang baik, sangat mirip dengan ketika menggunakan MSER atau DoG (SIFT) .
Pertanyaan saya adalah: apakah ada cara yang lebih baik untuk menentukan berapa banyak untuk meningkatkan size
(dan / atau octave
) daripada hanya-berjalan-dengan-10-lihat-jika-itu-berhasil ? Saya ingin menghindari size
peningkatan hardcoding jika mungkin dan menentukan secara pemrograman, tetapi hardcoding tidak apa - apa selama saya memiliki beberapa argumen yang solid yang mendukung pilihan saya pada algoritma baru size
/ size
kenaikan / size
estimasi .