Contents — find the section you need
Berjalanlah sambil memegang kamera, dan dalam rangkaian gambar, sudut dinding atau rambu bergeser sedikit demi sedikit. Sementara itu, akselerometer dan giroskop mengukur dengan frekuensi tinggi seberapa besar perangkat tersebut berakselerasi dan berputar dalam interval yang sama. Odometri Visual (VO) memperkirakan pose, kecepatan, dan posisi relatif hingga saat ini dari data sebelumnya; Odometri Visual-Inersia (VIO) memperkirakannya dari keduanya. Ini adalah teknologi inti untuk drone yang terbang di dalam ruangan, headset AR/VR, pemindai 3D genggam, dan robot bergerak.
VO/VIO terkadang dianggap sinonim dengan SLAM, tetapi perannya agak berbeda. Odometri adalah tahap depan yang menghasilkan lintasan relatif jangka pendek yang halus, dan kesalahannya pada prinsipnya terakumulasi. SLAM menggunakan peta, pengenalan tempat, dan penutupan loop untuk mengoreksi kesalahan yang terakumulasi tersebut secara global. Artikel ini lebih berfokus pada bagaimana gerakan diintegrasikan dari satu frame ke frame berikutnya, bagaimana IMU digabungkan, dan kapan harus mencurigai perkiraan tersebut, daripada gambaran keseluruhan pemetaan.
Contoh kamera kendaraan
Contoh IMU GNSS/INSGambar: Car kamera jendela sistem Mobileye (Ranbar, CC BY-SA 4.0) / Xsens MTi-G (Kallap85, CC BY-SA 4.0), Wikimedia Commons. Sensor representatif, bukan kombinasi produk VO/VIO yang wajib.
0. Ringkasan 30 Detik
- VO secara berurutan memperkirakan pergerakan kamera dari korespondensi gambar, atau dari perubahan tampilan piksel. VO monokular tidak dapat mengamati skala absolut translasi, dan kesalahan terakumulasi seiring waktu. Stereo, RGB-D, ukuran objek yang diketahui, penginderaan inersia, dan roda semuanya menyediakan skala.
- VIO menggabungkan pengamatan frekuensi rendah kamera yang tahan terhadap pergeseran dengan pengamatan frekuensi tinggi IMU, yang akurat dalam interval pendek tetapi bergeser karena bias. Giroskop menyediakan rotasi; akselerometer melengkapi isyarat yang memisahkan gravitasi dari percepatan.
-
Pra-integrasi IMU mengompres banyak sampel IMU di antara keyframe gambar menjadi satu batasan yang dapat direlinearisasi bias. Inilah yang membuat optimasi jendela geser dapat dihitung secara komputasi.
-
Inisialisasi adalah bagian yang sulit. Tanpa paralaks yang cukup, eksitasi yang mencakup rotasi, estimasi bias saat diam, dan sinkronisasi waktu kamera-IMU serta kalibrasi ekstrinsik, skala, gravitasi, kecepatan, dan bias tidak dapat dipisahkan.
- Evaluasi harus melaporkan tidak hanya kesalahan rata-rata tetapi juga ATE/RPE, pergeseran per interval, tingkat kegagalan, latensi, penggunaan CPU/GPU, dan apakah lintasan menggunakan relokalisasi. Tekstur rendah, objek dinamis, blur gerak, rolling shutter, guncangan, dan offset sinkronisasi adalah kondisi kegagalan klasik.
1. Apa yang Diestimasi VO, dan Apa yang Tidak Diestimasi
Tuliskan pose bingkai kamera atau IMU B relatif terhadap bingkai dunia W pada waktu k sebagai posisi \mathbf{p}_{WB,k} dan rotasi R_{WB,k}. Output utama VO adalah transformasi relatif antara frame atau keyframe yang berdekatan.
Dalam metode pelacakan fitur, Matriks Esensial diestimasi dari titik-titik yang bersesuaian melalui RANSAC, dan arah rotasi dan translasi dipulihkan darinya. Dalam metode stereo/RGB-D/berbasis peta yang sudah memiliki titik 3D, PnP digunakan pada korespondensi 2D–3D. Dalam Direct VO, alih-alih mencocokkan deskriptor eksplisit, pose dioptimalkan sehingga nilai piksel yang dikoreksi eksposur sesuai pada lokasi proyeksinya.
Metode apa pun yang digunakan, VO adalah bentuk perhitungan posisi berdasarkan perkiraan yang mengintegrasikan "seberapa jauh saya telah bergerak sejak frame terakhir." Tanpa peta eksternal atau penutupan loop, bahkan kesalahan kecil dalam pose relatif tidak akan pernah hilang. Kesalahan posisi umumnya bertambah seiring waktu dan jarak yang ditempuh, dan bahkan jika Anda berjalan bolak-balik di koridor panjang dan kembali ke titik awal Anda, lintasan tidak akan tertutup. Ini bukan sekadar kegagalan implementasi — ini adalah karakteristik dari suatu masalah yang mengakumulasi pengamatan lokal secara berurutan.
Masalah Skala Monokuler
Korespondensi dua pandangan monokuler yang dikalibrasi membatasi E=[\mathbf{t}]_\times R, tetapi tidak menentukan panjang \mathbf{t}. Itu karena penskalaan setiap titik 3D dan translasi oleh s>0 membiarkan proyeksi gambar tidak berubah. Pose VO monokular dapat terlihat akurat sementara satuan posisinya sembarangan — dan jika skalanya goyah dari frame ke frame, bahkan bentuk lintasannya pun akan rusak.
Dengan rig stereo dengan baseline yang diketahui B, kedalaman dapat dipulihkan dari disparitas d sebagai Z=fB/d. RGB-D memberikan skala tetap pada kedalaman sensor itu sendiri. Dalam VIO, karena percepatan diukur dalam satuan m/s² dan besarnya gravitasi hampir diketahui, eksitasi gerak yang cukup memungkinkan Anda untuk menyelaraskan skala sembarangan sistem visual dengan skala fisik. Tetapi hanya dengan memasang IMU tidak secara otomatis menghasilkan skala — saat diam, bergerak dengan kecepatan konstan, dalam interval yang terlalu pendek, atau dengan offset waktu yang salah, skala dan bias akan saling membingungkan.
2. Pengamatan Kamera: Metode Berbasis Fitur dan Langsung
VO berbasis fitur menggunakan korespondensi dilacak dengan ORB, SIFT, FAST+KLT, dan metode serupa. Untuk pengamatan 2D bingkai baru \mathbf{z}_{ij} dan landmark \mathbf{P}_j, residual proyeksi adalah
di mana \pi([X,Y,Z]^\mathsf{T})=(X/Z,Y/Z)^\mathsf{T} adalah pembagian perspektif. RANSAC menghilangkan ketidaksesuaian, dan kerugian Huber atau yang serupa menjaga outlier yang tersisa agar tidak terlalu terbebani. Metode berbasis fitur relatif kuat terhadap perubahan eksposur dan lebih mudah divisualisasikan dan di-debug secara geometris.
Metode langsung meminimalkan residual kecerahan piksel yang sesuai atau patch kecil. Dengan parameter eksposur a_i,b_i, residual pada titik \mathbf{u} dapat ditulis secara kasar sebagai
Ini dapat memanfaatkan banyak piksel bertekstur, tetapi sensitif terhadap asumsi konstansi kecerahan, rolling shutter, blur, auto-exposure, dan refleksi. Metode semi-langsung mengambil Jalan tengah — piksel untuk pelacakan kasar, fitur untuk tahap selanjutnya.
| Metode | Pengamatan utama | Kelebihan | Kelemahan | Contoh representatif |
|---|---|---|---|---|
| VO berbasis fitur | Reproyeksi titik kunci | Mudah dijelaskan, relatif kuat terhadap perubahan pencahayaan | Tekstur rendah, fitur berulang | Keluarga ORB-SLAM, VINS-Mono |
| Langsung / Semi-langsung | Kecerahan piksel/patch | Informasi padat, pelacakan sub-piksel | Perubahan eksposur, keburaman, refleksi | DSO, SVO |
| VIO Monokular | Gambar + IMU | Ringan, skala menjadi teramati | Sensitif terhadap inisialisasi/sinkronisasi | VINS-Mono, OpenVINS |
| VIO Stereo | Gambar kiri/kanan + IMU | Skala langsung, inisialisasi stabil | Konsumsi daya, sinkronisasi/kalibrasi kiri-kanan | VINS-Fusion, Basalt |
3. Apa yang Diukur IMU, dan Mengapa Anda Tidak Bisa Langsung Mengintegrasikannya
IMU menghasilkan kecepatan sudut giroskop \tilde{\boldsymbol\omega} dan gaya spesifik akselerometer \tilde{\mathbf{a}}. Ini bukan nilai ideal — nilai tersebut mencakup bias \mathbf{b}_g,\mathbf{b}_a dan derau putih \mathbf{n}_g,\mathbf{n}_a.
Poin penting di sini adalah bahwa akselerometer tidak mengukur percepatan dunia secara langsung — ia mengukur gaya spesifik, dengan gravitasi sudah dikurangi. Tanpa mengetahui orientasi, Anda tidak tahu ke arah mana gravitasi harus ditambahkan kembali, dan pengintegrasian ganda bahkan bias kecil pun menyebabkan pergeseran posisi dengan cepat. Persamaan gerak waktu kontinu adalah
Jika hanya melihat kesalahan setelah satu detik, IMU tampak halus dan sangat baik, tetapi selama beberapa menit navigasi tanpa bantuan, bias dan kesalahan orientasi sangat merusak posisi. Inti dari VIO adalah bahwa gambar mengoreksi pergeseran jangka panjang IMU, sementara IMU menjembatani interval pendek gerakan dan rotasi di mana gambar jarang.
4. Praintegrasi IMU: Mengompresi Gerakan Antar Keyframe
Pengaturan tipikal menjalankan kamera pada 20–60 Hz dan IMU pada 100–1000 Hz. Antara keyframe i dan j dapat terdapat puluhan hingga ratusan pengukuran IMU. Mengintegrasikan kembali setiap sampel setiap kali pengoptimal menggeser pose atau bias akan mahal. Praintegrasi IMU Forster dkk. menghitung terlebih dahulu rotasi relatif, perubahan kecepatan, dan perubahan posisi di sekitar bias titik linearisasi tertentu, dan juga mempertahankan Jacobian dan kovariansi.
Menuliskan kuantitas dengan gravitasi dan kecepatan dunia dihilangkan sebagai \Delta R_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij}, prediksinya kira-kira adalah
Ketika bias diperbarui, koreksi orde pertama diterapkan menggunakan \partial\Delta/\partial\mathbf{b} yang tersimpan, dan reintegrasi penuh hanya terjadi ketika perubahannya besar. Rotasi tidak dijumlahkan sebagai vektor biasa, tetapi disusun pada manifold SO(3) melalui peta eksponensial atau dengan kuaternion. Membawa kovariansi \Sigma_{ij} memungkinkan IMU yang bising dan residual kamera yang presisi diberi bobot dengan benar dalam fungsi objektif yang sama.
Fungsi objektif representatif untuk VIO jendela geser adalah
Himpunan keadaan \mathcal X mencakup, untuk setiap keyframe, pose, posisi, kecepatan, bias giroskop/akselerometer, kedalaman invers dari landmark, dan, jika diperlukan, offset waktu atau parameter ekstrinsik. Keadaan lama dimarginalkan ke dalam prior, menjaga Biaya komputasi dibatasi. Karena marginalisasi bergantung pada titik linearisasi, pembaruan berulang kali pada keadaan dengan jumlah besar cenderung merusak konsistensi. Teknik seperti First-Estimate Jacobian (FEJ) bukan hanya optimasi kecepatan — teknik ini ada untuk mencegah sistem secara keliru "mengamati" derajat kebebasan yang sebenarnya tidak dapat diamati.
5. Berbasis Filter vs. Berbasis Optimasi
VIO secara luas terbagi menjadi keluarga filter Kalman yang diperluas (EKF) berbasis keadaan kesalahan dan keluarga optimasi nonlinier dengan panjang tetap. Yang pertama memperbarui keadaan dan kovariansi saat ini secara berurutan, dan cenderung menjaga latensi dan memori tetap rendah. MSCKF tidak menyimpan titik fitur sebagai keadaan yang berumur panjang; sebaliknya, ia memarginalkannya sebagai kendala multi-view, yang membuatnya ringan. OpenVINS mengimplementasikan keluarga ini dengan penekanan pada reproduksibilitas dan ekstensibilitas.
Yang terakhir mengoptimalkan beberapa keyframe dan landmark secara bersamaan. VINS-Mono adalah contoh representatif yang mencakup fitur Pelacakan, pra-integrasi IMU, jendela geser, dan penutupan loop. Mendistribusikan kesalahan reproyeksi di beberapa frame sering memberikan keuntungan akurasi, tetapi marginalisasi, pemecah masalah, latensi, dan pemulihan dari inisialisasi yang gagal semuanya perlu dirancang dengan cermat.
| Aspek | Keluarga EKF/MSCKF | Keluarga optimasi jendela geser |
|---|---|---|
| Bentuk estimasi | Pembaruan berurutan dari keadaan dan kovariansi | Minimisasi iteratif dari grafik faktor selama beberapa langkah waktu |
| Komputasi/latensi | Dapat diprediksi, mudah untuk menjaga latensi rendah | Bergantung pada jumlah keyframe dan iterasi |
| Penanganan fitur | Mudah untuk melakukan marginalisasi sebagai kendala observasi | Mudah untuk menjaga kedalaman invers, dll. sebagai keadaan eksplisit |
| Kelebihan | Baik untuk embedded, mudah untuk menangani kovariansi | Lebih mudah untuk menjaga reproyeksi secara luas konsisten |
| Kekurangan | Linearisasi dan Konsistensi, Observabilitas | Kesalahan Marginalisasi, Beban CPU, Relinearisasi |
Tidak ada yang secara universal lebih baik. Pilih berdasarkan latensi yang dibutuhkan, frekuensi sensor, anggaran CPU, bidang pandang, lingkungan operasi, dan kapasitas pemeliharaan. Membandingkan hanya kesalahan lintasan yang dilaporkan dalam sebuah makalah, sambil mengabaikan model kamera, kalibrasi, pergerakan dataset, dan apakah relokalisasi digunakan, adalah cara yang baik untuk membuat pilihan implementasi yang salah.
6. Inisialisasi: Apa yang Harus Ditentukan dalam Beberapa Detik Pertama
Pada saat VIO dimulai, orientasi dunia, kecepatan awal, bias giroskop, bias akselerometer, gravitasi, skala monokular, dan pose relatif kamera-IMU semuanya belum ditentukan. Alur tipikalnya adalah membangun struktur relatif dua tampilan/multi-tampilan hanya dari gambar, kemudian menyelaraskan gerakan visual tersebut dengan integrasi IMU untuk menyelesaikan kecepatan, arah gravitasi, skala, dan bias.
Interval stasioner memberikan perkiraan bias giroskop awal dari pembacaan giroskop rata-rata, dan petunjuk arah gravitasi dari rata-rata arah percepatan. Namun, akselerometer tidak dapat membedakan percepatan linier kendaraan itu sendiri dari gravitasi. Termasuk "eksitasi" selama inisialisasi — memutar dan menerjemahkan sepanjang beberapa sumbu, bukan hanya menggerakkan perangkat secara perlahan maju mundur — membantu memisahkan korelasi antara skala dan bias. Sebaliknya, memulai dengan perangkat yang hampir diam di atas meja, bergerak dengan kecepatan konstan dalam satu arah, atau hanya melihat bidang datar, cenderung membuat sistem kurang teramati.
Menilai keberhasilan inisialisasi bukan hanya tentang konvergensi pengoptimal. Periksa apakah skala yang diperkirakan positif dan masuk akal, apakah besarnya gravitasi mendekati sekitar 9.81\,\mathrm{m/s^2}, apakah bias tidak terlalu jauh dari spesifikasi sensor, dan apakah titik-titik triangulasi awal memiliki paralaks yang cukup dan fraksi kedalaman positif yang tinggi. Daripada membawa keadaan lama yang buruk setelah kegagalan, mengatur ulang trek gambar dan buffer IMU dan menginisialisasi ulang cenderung kurang merusak di hilir.
7. Kalibrasi dan Sinkronisasi Waktu
Apa yang mengatur kinerja VIO Yang terpenting bukanlah nama algoritmanya, melainkan keakuratan model sensornya. Minimal, dibutuhkan tiga kalibrasi.
- Kalibrasi intrinsik kamera: panjang fokus, titik utama, model distorsi. Jika gambar diubah ukurannya atau dipotong, K juga harus diubah.
- Kalibrasi ekstrinsik: transformasi kaku T_{BC} antara kamera dan IMU. Kesalahan rotasi beberapa derajat, atau kesalahan lengan tuas beberapa sentimeter, memiliki efek besar pada gerakan cepat.
- Kalibrasi waktu: selisih antara waktu eksposur gambar dan waktu IMU, dan, jika diperlukan, waktu pembacaan kamera. Jam terpisah, buffering, dan stempel waktu driver dapat meninggalkan selisih sisa beberapa milidetik.
Kalibr adalah alat yang banyak digunakan untuk memperkirakan selisih waktu dan ekstrinsik antara kamera dan IMU. Tetapi memperlakukan nilai yang diperoleh sekali sebagai nilai permanen berisiko — perubahan fokus, pemasangan ulang housing, suhu, atau penanganan waktu firmware pada sensor semuanya dapat menggeser nilai-nilai ini. kondisi. Daripada hanya menyalin nilai-nilai tipikal dari lembar data, memeriksa kepadatan noise IMU dan bias random walk dengan sesuatu seperti varians Allan membantu menghindari terlalu mempercayai filter.
Kamera rolling-shutter tidak menangkap satu frame pada satu saat. Di bawah rotasi cepat, baris atas dan bawah diamati pada pose yang berbeda, dan residual reproyeksi yang mengasumsikan rana global akan secara sistematis melenceng. Eksposur singkat dengan rana global adalah perbaikan yang paling andal; jika gagal, pertimbangkan model pengamatan yang mencakup pengaturan waktu baris, bersama dengan kompensasi IMU. Saat menambahkan kamera kiri/kanan atau sensor kedalaman, sinkronisasi yang dipicu perangkat keras lebih disukai.
8. Memilih Implementasi: VINS-Mono, OpenVINS, dan Sistem Terkait
VINS-Mono adalah implementasi VIO berbasis optimasi yang banyak dirujuk untuk kamera monokuler plus IMU. Ini mencakup kalibrasi ekstrinsik dan offset waktu online, pelacakan fitur, pra-integrasi, jendela geser, dan penutupan loop. Nilainya bukan hanya menghasilkan pose — tetapi seluruh konfigurasi VINS-Fusion dapat dibaca untuk keperluan penelitian. VINS-Fusion adalah kandidat yang tepat jika Anda ingin menggabungkan stereo atau GPS.
OpenVINS adalah implementasi terbuka yang berpusat pada keluarga MSCKF/EKF, dirancang dengan FEJ dan konsistensi yang eksplisit. Ini cocok untuk situasi di mana Anda ingin memverifikasi bagaimana VIO berbasis filter menangani keadaan, kovariansi, dan kalibrasi. Basalt menyediakan VIO stereo dengan backend optimasi berkinerja tinggi dan diuji pada dataset seperti EuRoC. Pada smartphone dan AR, menggunakan VIO bawaan platform seringkali lebih realistis untuk suatu aplikasi, karena memiliki akses ke pengaturan waktu kamera, pengaturan waktu IMU, dan kalibrasi khusus perangkat.
| Implementasi/keluarga | Gaya estimasi | Contoh konfigurasi sensor | Cocok untuk | Hal-hal yang perlu diperiksa saat mengadopsi |
|---|---|---|---|---|
| VINS-Mono | Optimasi, jendela tetap | Monokular + IMU | Mempelajari struktur keseluruhan VIO, prototipe penelitian | Generasi ROS, format kalibrasi, kondisi inisialisasi |
| VINS-Fusion | Optimasi, jendela tetap | Monokular/stereo + IMU, GPS opsional | Prototyping multi-sensor | Kerangka koordinat dan pembobotan pengamatan absolut |
| OpenVINS | EKF/MSCKF | Monokular/stereo + IMU | Pembelajaran tertanam, verifikasi filter | Nilai noise, FEJ, desain keadaan |
| Basalt | Optimasi | Stereo + IMU | Backend VIO berkinerja tinggi | Lingkungan pembuatan, model kamera |
| OpenCV Kustom + Ceres | Arbitrer | Arbitrer | Pekerjaan spesifik persyaratan, pembelajaran | Memverifikasi reproyeksi, pra-integrasi, marginalisasi |
Saat membandingkan implementasi yang ada, jangan menganggap lintasan yang muncul dalam demo sebagai keberhasilan. Verifikasi pada perangkat keras nyata: resolusi dan frekuensi aktual gambar input, satuan dan konvensi sumbu IMU, waktu Referensi, kalibrasi ekstrinsik, perilaku pada kegagalan inisialisasi, relokalisasi setelah kehilangan pelacakan, penggunaan CPU, memori, dan lisensi. Secara khusus, jika stempel waktu pesan ROS diisi dengan "waktu penerimaan," estimator menerima pesanan yang tampak benar tetapi interval waktu yang secara fisik salah.
9. Alur Pemrosesan Minimal
-
Kalibrasi intrinsik/ekstrinsik kamera dan waktu, dan buffer gambar dan data IMU pada basis waktu umum.
-
Pada setiap kedatangan IMU, prediksi keadaan menggunakan kecepatan sudut yang dikoreksi bias dan gaya spesifik, dan perbarui kovariansi atau praintegrasi.
-
Pada setiap kedatangan gambar, lacak fitur dari frame/keyframe sebelumnya, dan hapus outlier dengan pemeriksaan maju-mundur, RANSAC, dan mask.
-
Sebelum inisialisasi, nilai paralaks dan eksitasi, dan sejajarkan struktur visual dengan data inersia. Tunda permulaan jika kondisinya buruk.
-
Setelah inisialisasi, gabungkan residual reproyeksi visual dengan IMU sisa, memperbarui pose, posisi, kecepatan, bias, dan titik.
-
Marginalisasi keyframe lama, dan buang observasi yang gagal melewati gerbang kualitas. Transisi ke relokalisasi atau reset aman jika diperlukan.
Dalam alur ini, perbedaan antara prediksi dan koreksi itu penting. Bahkan jika gambar hilang sementara, prediksi IMU dapat terus menghasilkan output, tetapi ketidakpastiannya meningkat. Alih-alih biner "pose tersedia / tidak tersedia," sisi aplikasi harus menerima status pelacakan, skor kovarians atau kualitas, dan waktu sejak pembaruan visual terakhir, dan menggunakannya untuk secara progresif beralih tampilan AR, mengontrol kecepatan, dan pemberhentian keselamatan.
10. Metrik Evaluasi: Apa yang Harus Diukur untuk Perbandingan yang Adil
Kesalahan Trajektori Absolut (ATE) adalah perbedaan antara urutan posisi yang diperkirakan dan kebenaran dasar setelah menyelaraskannya dengan transformasi kaku atau Sim(3).
Karena VO monokular memiliki skala yang tidak ditentukan, selalu nyatakan apakah penyelarasan Sim(3) juga sesuai dengan skala. Jika Anda benar-benar ingin melihat kesalahan skala dalam VIO atau stereo, penyelarasan Sim(3) akan menyembunyikan kesalahan tersebut. Apakah akan menggunakan penyelarasan SE(3), hanya menyelaraskan pose awal, atau membandingkan lintasan yang tidak diselaraskan harus dipilih sesuai dengan tujuannya.
Kesalahan Pose Relatif (RPE) mengukur pergeseran lokal selama interval waktu atau jarak tetap \Delta. Dari perbedaan antara transformasi relatif yang diperkirakan \hat T_{k,k+\Delta} dan kebenaran dasar T^{\mathrm{gt}}_{k,k+\Delta},
kesalahan translasi (m/m atau %) dan kesalahan rotasi (derajat/m, derajat/detik) dihitung. Bahkan jika ATE pada jarak jauh kecil, lintasan tidak cocok untuk AR atau kontrol penerbangan jika jitter jangka pendek besar. Sebaliknya, lintasan yang halus tetapi bergeser pada jarak jauh tidak menguntungkan untuk pemetaan.
| Metrik | Apa yang terutama diberitahukan kepada Anda | Jebakan |
|---|---|---|
| ATE RMSE/median | Konsistensi posisi keseluruhan lintasan | Nilai berubah banyak tergantung pada metode penyelarasan |
| RPE (jarak/interval waktu) | Pergeseran lokal, efek pada kontrol | Tidak dapat dibandingkan kecuali panjang interval dinyatakan |
| Kesalahan rotasi | Kualitas giroskop/orientasi visual | Pencampuran yaw dengan roll/pitch menyembunyikan penyebabnya |
| Kesalahan skala | Skala fisik VIO/stereo monokular | Tidak dapat dievaluasi setelah penyelarasan Sim(3) |
| Tingkat pelacakan / tingkat kegagalan | Ketersediaan di dunia nyata | Jangan menyembunyikan inisialisasi ulang otomatis setelah kegagalan |
| Latensi / CPU / daya | Kepraktisan implementasi tertanam | Tidak dapat dinilai hanya dari pemrosesan offline |
EuRoC MAV, TUM VI, UZH-FPV, dan KITTI adalah dataset publik yang umum digunakan untuk perbandingan. Tetapi kamera genggam dalam ruangan, pengaturan yang dipasang di kendaraan, Drone balap dan drone lainnya berbeda dalam bidang pandang, pencahayaan, kecepatan, getaran, dan eksposur. Daripada mengimpor peringkat benchmark langsung ke perangkat keras nyata, evaluasilah pada rute, kecepatan, dan kondisi kegagalan yang mendekati log Anda sendiri. Bahkan di lapangan di mana data sebenarnya tidak dapat ditangkap, Anda dapat melakukan audit terhadap celah awal/akhir dari loop tertutup, jarak yang diketahui, proyeksi ulang dinding, atau bagian parsial yang dicakup oleh penangkapan gerakan eksternal.
11. Kondisi Kegagalan Representatif dan Penanggulangan
Tekstur rendah, kegelapan, buram
Dinding putih, koridor gelap, pencahayaan latar, atau belokan tajam meninggalkan gradien yang tidak cukup pada residual visual. Melonggarkan ambang batas RANSAC ketika hanya ada sedikit titik fitur hanya akan meningkatkan ketidaksesuaian. Penanggulangan meliputi desain pencahayaan/sensor yang mempersingkat waktu eksposur, menggunakan sudut lebar atau stereo, mendeteksi ulang fitur, dan memberi tahu konsumen tentang peningkatan ketidakpastian yang diprediksi.
Objek dinamis dan refleksi
VIO mengasumsikan bahwa sebagian besar titik gambar termasuk ke latar belakang statis. Kerumunan, kendaraan terdepan dalam lalu lintas, cermin, kaca, dan permukaan air semuanya mematahkan asumsi tersebut. Kerugian yang kuat dan RANSAC saja tidak dapat menyelamatkan kasus di mana latar belakang menjadi minoritas. Yang dibutuhkan adalah mengecualikan wilayah semantik objek bergerak, memisahkan beberapa gerakan dengan kedalaman atau aliran, dan desain yang memprioritaskan objek tetap.
Saturasi IMU, getaran, pergeseran suhu
Getaran motor pada drone dan robot kecil menyuntikkan noise yang kuat dan terbatas pita ke dalam akselerometer, dan guncangan dapat menjenuhkan rentangnya. Menyetel noise filter terlalu kecil dan terlalu mempercayai IMU membuatnya menolak koreksi gambar dan menyimpang. Gunakan isolasi getaran, pembatasan pita yang sesuai, flag saturasi, model bias yang mencakup suhu, dan parameter noise yang terukur. Berhati-hatilah juga — penghalusan IMU mentah yang berlebihan akan menghilangkan akselerasi singkat.
Pergeseran waktu dan pencampuran kerangka koordinat
Pergeseran waktu 5 ms sesuai dengan perbedaan bidang pandang yang besar selama rotasi cepat. Jelaskan secara eksplisit apakah stempel waktu gambar berarti awal eksposur, titik tengah eksposur, atau waktu penerimaan, dan apakah stempel waktu IMU berarti waktu pengambilan sampel atau waktu kedatangan. Mencampuradukkan konvensi tangan kanan/kiri, tanda gravitasi, T_{BC} versus T_{CB}, atau arah sumbu optik kamera dapat menyebabkan optimasi konvergen secara numerik tetapi salah secara fisik. Siapkan uji unit menggunakan uji stasioner, rotasi 90 derajat yang diketahui, dan pergerakan garis lurus pendek.
Membingungkan inisialisasi dengan relokalisasi
Inisialisasi adalah memulai estimasi dari keadaan tanpa peta atau skala; relokalisasi adalah kembali ke peta yang diketahui atau keyframe sebelumnya. VO/VIO murni biasanya memulai ulang dalam kerangka koordinat lokal baru setiap kali pelacakan hilang. Jangan membingungkan kemampuan relokalisasi SLAM penutup loop dengan kinerja drift mentah VO saat mengevaluasi. Dalam suatu produk, tentukan secara eksplisit apakah akan tetap menggunakan kerangka koordinat lama setelah kehilangan pelacakan, berhenti dengan aman, atau membatalkan jangkar.
12. Arah Terkini
Dalam beberapa tahun terakhir, estimasi fitur dan korespondensi berbasis pembelajaran seperti SuperPoint, LightGlue, dan LoFTR, dalam beberapa kasus, telah terbukti efektif terhadap perubahan penampilan yang sulit ditangani oleh deskriptor lokal klasik. Pendekatan yang menggabungkan jaringan dalam dengan optimasi geometris iteratif, seperti DROID-SLAM, juga telah muncul. Namun, bahkan ketika model yang dipelajari mengembalikan banyak korespondensi, ambiguitas skala, degenerasi planar, sinkronisasi waktu, dan bias IMU tetap menjadi masalah fisik. Desain yang memverifikasi keluaran yang dipelajari terhadap geometri yang kuat, kesalahan reproyeksi, dan konsistensi inersia masih merupakan pendekatan mendasar.
Kamera peristiwa, dengan kecepatan tinggi dan rentang dinamis yang tinggi, berpotensi untuk mencakup kondisi di mana kamera konvensional kesulitan dengan keburaman atau kegelapan. Estimasi multimodal yang menambahkan LiDAR, UWB, GNSS, atau odometri roda ke dalam VIO juga menjadi praktis, sebagai penanggulangan terhadap pergeseran jangka panjang dan lingkungan yang keras. Menambahkan lebih banyak sensor tidak secara otomatis meningkatkan kinerja — ekstrinsik, pengaturan waktu, deteksi kesalahan, dan penyetelan bobot semuanya menjadi permukaan kegagalan potensial baru.
13. Ringkasan
VO adalah teknik odometri yang berguna untuk memulihkan gerakan relatif jangka pendek dari gambar, tetapi VO monokular tidak memiliki skala dan kesalahan lokal terakumulasi. VIO menggabungkan kendala gerakan frekuensi tinggi IMU dengan koreksi jangka panjang kamera, secara simultan memperkirakan skala, pose, kecepatan, dan bias. Intinya adalah model sensor yang benar, pra-integrasi IMU, inisialisasi menggunakan eksitasi gerakan yang cukup, dan fusi yang kuat dari residual visual dan inersia.
Dalam praktiknya, pertama-tama verifikasi kalibrasi, pengaturan waktu, dan kerangka koordinat, kemudian ubah paralaks, distribusi inlier, kesalahan reproyeksi, bias, gravitasi, dan status pelacakan menjadi log yang dapat diamati. VINS-Mono dan OpenVINS adalah titik awal yang kuat, tetapi perlu dievaluasi terhadap kondisi pengambilan data Anda, latensi, kebijakan inisialisasi ulang, dan persyaratan keselamatan. Yang pada akhirnya harus dipercaya bukanlah seberapa bagus tampilan lintasannya, tetapi desain yang dapat menjelaskan dalam kondisi apa skala dan pose dapat diamati, dan dalam kondisi apa ketidakpastian meningkat.
Apakah menambahkan IMU selalu menstabilkan skala?
Kemampuan pengamatan bergantung pada gerakan.
Eksitasi yang tidak memadai atau kesalahan kalibrasi dapat menyebabkan estimasi tidak stabil meskipun ada sensor tambahan.Referensi (Sumber Primer dan Dokumentasi Resmi)
- Scaramuzza & Fraundorfer, Visual Odometry: Part I (IEEE Robotics & Automation Magazine, 2011)
- Forster et al., On-Manifold Preintegration for Real-Time Visual-Inertial Odometry (IEEE TRO, 2017)
- Qin, Li & Shen, VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator (IEEE TRO, 2018)
- Geneva et al., OpenVINS: A Research Platform for Visual-Inertial Estimation (ICRA 2020)
- Dokumentasi Resmi OpenVINS
- Repositori Resmi VINS-Mono
- Repositori Resmi Kalibr
- Dataset EuRoC MAV (ETH Zurich)
- Benchmark TUM VI
- Makalah DROID-SLAM (NeurIPS 2021)
Komentar
Silakan masuk terlebih dahulu.
Belum ada data.