Rumah > Artikel > Peranti teknologi > GSLAM |. Seni bina dan penanda aras umum SLAM
Tiba-tiba menemui kertas 19 tahun
GSLAM: Rangka Kerja dan Penanda Aras Umum SLAM
Kod sumber terbuka: https://github.com/zdzhaoyong/GSLAM
Pergi terus ke teks penuh untuk merasai kualiti karya ini~
Teknologi SLAM telah mencapai banyak kejayaan baru-baru ini dan menarik perhatian syarikat teknologi tinggi. Walau bagaimanapun, cara untuk antara muka dengan algoritma sedia ada atau yang baru muncul untuk melaksanakan penandaarasan dengan cekap pada kelajuan, kekukuhan dan mudah alih masih menjadi persoalan. Dalam kertas kerja ini, satu platform SLAM baharu bernama GSLAM dicadangkan, yang bukan sahaja menyediakan fungsi penilaian tetapi juga menyediakan penyelidik dengan alat berguna untuk membangunkan sistem SLAM mereka sendiri dengan pantas. Sumbangan teras GSLAM adalah sejagat. Antara muka SLAM sumber terbuka merentas platform, direka untuk mengendalikan interaksi set data input, pelaksanaan SLAM, visualisasi dan aplikasi dalam rangka kerja bersatu. Melalui platform ini, pengguna boleh melaksanakan fungsi mereka sendiri dalam bentuk plug-in untuk meningkatkan prestasi SLAM dan seterusnya mendorong aplikasi SLAM ke dalam aplikasi praktikal.
Sejak 1980-an, Penyetempatan dan Pemetaan Serentak (SLAM) telah menjadi topik penyelidikan popular dalam bidang penglihatan komputer dan robotik. SLAM menyediakan fungsi penting untuk banyak aplikasi yang memerlukan navigasi masa nyata, seperti robotik, kenderaan udara tanpa pemandu (UAV), pemanduan autonomi dan realiti maya dan tambahan. Dalam beberapa tahun kebelakangan ini, teknologi SLAM telah berkembang pesat, dan pelbagai sistem SLAM telah dicadangkan, termasuk sistem SLAM bermata (kaedah langsung dan separa langsung berdasarkan titik ciri), sistem SLAM berbilang sensor (kaedah RGB, binokular dan bantuan inersia) dan sistem SLAM berasaskan Pembelajaran (kaedah diselia dan tidak diselia).
Namun, dengan perkembangan pesat teknologi SLAM, hampir semua pengkaji menumpukan kepada teori dan pelaksanaan sistem SLAM mereka sendiri, yang menyukarkan pertukaran idea dan tidak mudah untuk melaksanakan migrasi ke sistem lain. Ini menghalang aplikasi pesat teknologi SLAM dalam pelbagai bidang industri. Tambahan pula, pada masa ini terdapat banyak pelaksanaan sistem SLAM yang berbeza, dan cara untuk menanda aras secara berkesan kelajuan, kekukuhan dan mudah alih masih menjadi isu. Baru-baru ini, Nardi et al dan Bodin et al mencadangkan sistem penanda aras SLAM bersatu untuk menjalankan kajian eksperimen kuantitatif, setanding dan boleh disahkan dan juga meneroka pertukaran antara pelbagai sistem SLAM. Sistem ini memudahkan untuk menjalankan eksperimen penilaian menggunakan set data dan modul penilaian metrik.
Memandangkan sistem sedia ada hanya menyediakan penanda aras penilaian, makalah ini percaya bahawa adalah mungkin untuk mewujudkan platform untuk melayani keseluruhan kitaran hayat algoritma SLAM, termasuk peringkat pembangunan, penilaian dan aplikasi. Di samping itu, SLAM berasaskan pembelajaran mendalam telah mencapai kemajuan yang ketara dalam beberapa tahun kebelakangan ini, jadi adalah perlu untuk mewujudkan platform yang menyokong bukan sahaja C++ tetapi juga Python untuk menyokong penyepaduan geometri dan sistem SLAM berasaskan pembelajaran mendalam dengan lebih baik. Oleh itu, dalam kertas kerja ini, platform SLAM novel diperkenalkan yang bukan sahaja menyediakan keupayaan penilaian tetapi juga menyediakan penyelidik dengan alat berguna untuk membangunkan sistem SLAM mereka sendiri dengan pantas. Melalui platform ini, fungsi yang biasa digunakan disediakan dalam bentuk plug-in, jadi pengguna boleh menggunakannya secara langsung atau mencipta fungsi mereka sendiri untuk prestasi yang lebih baik. Diharapkan platform ini dapat mempromosikan lagi aplikasi praktikal sistem SLAM. Secara ringkasnya, sumbangan utama kertas kerja ini adalah seperti berikut:
Yang berikut mula-mula memperkenalkan antara muka rangka kerja GSLAM dan menerangkan prinsip kerja GSLAM. Kedua, tiga komponen praktikal diperkenalkan iaitu Penganggar, Pengoptimum dan Perbendaharaan Kata. Kemudian, beberapa set data awam biasa digunakan untuk menilai pelaksanaan SLAM popular yang berbeza menggunakan rangka kerja GSLAM. Akhir sekali, kami meringkaskan kerja-kerja ini dan menantikan hala tuju penyelidikan masa hadapan.
Penglihatan Komputer dan Platform Robotik
SLAM Penanda Aras
4
Pelaksanaan SLAM. GSLAM menganggap setiap pelaksanaan sebagai perpustakaan pemalam. Pembangun boleh dengan mudah mereka bentuk pelaksanaan SLAM berdasarkan antara muka GSLAM dan kelas utiliti. Pembangun juga boleh menggunakan antara muka untuk membungkus pelaksanaan tanpa memperkenalkan kebergantungan tambahan. Pengguna boleh memberi tumpuan kepada pembangunan algoritma teras tanpa mengambil berat tentang input dan output yang perlu diproses secara luaran kepada pelaksanaan SLAM.
Rangka kerja ini direka bentuk agar serasi dengan pelbagai jenis pelaksanaan SLAM yang berbeza, termasuk tetapi tidak terhad kepada monokular, binokular, RGBD dan odometri inersia visual berbilang kamera dengan gabungan berbilang sensor. Platform pembelajaran mendalam moden dan pembangun lebih suka kod dalam Python, jadi GSLAM menyediakan pengikatan Python, membenarkan pembangun melaksanakan SLAM dalam Python dan memanggilnya menggunakan GSLAM, atau menggunakan Python untuk memanggil pelaksanaan SLAM berasaskan C++. Selain itu, JavaScript disokong untuk kegunaan berasaskan web.
Sesetengah struktur data yang biasa digunakan oleh antara muka SLAM termasuk tetapan/bacaan parameter, format imej, transformasi pose, model kamera dan struktur data peta. Berikut ialah pengenalan ringkas kepada beberapa kelas antara muka asas.
Tetapan Parameter
GSLAM menggunakan parsing parameter kecil dan kelas tetapan parameter Svar, yang hanya mengandungi fail pengepala dan bergantung pada C+ +11 , dan mempunyai ciri berikut:
a. Sama seperti alat penghuraian parameter popular seperti Google gflags, konfigurasi pembolehubah boleh dimuatkan daripada argumen baris perintah, fail dan persekitaran sistem. Pengguna juga boleh menentukan jenis parameter yang berbeza dan memberikan maklumat pengenalan, yang akan dipaparkan dalam dokumen bantuan.
b. Bahasa skrip kecil yang menyokong pembolehubah, fungsi dan pernyataan bersyarat untuk menjadikan fail konfigurasi lebih berkuasa.
c. Pengikatan dan perkongsian selamat benang. Adalah disyorkan untuk mengikat pembolehubah yang kerap digunakan pada penunjuk atau rujukan, yang bukan sahaja memberikan kecekapan tetapi juga kemudahan.
d, definisi fungsi ringkas dan panggilan daripada C++ atau skrip tulen. Pengikatan antara perintah dan fungsi membantu pembangun memisahkan kebergantungan fail.
e. Menyokong perwakilan struktur pokok, yang bermaksud konfigurasi boleh dimuatkan atau disimpan dengan mudah menggunakan format XML, JSON dan YAML.
Intra-Process Messaging
Kerana ROS menyediakan kaedah komunikasi yang sangat mudah antara nod, ia digemari oleh kebanyakan penyelidik robotik. Diilhamkan oleh seni bina mesej ROS2, GSLAM melaksanakan kelas utiliti komunikasi antara proses serupa yang dipanggil Messenger. Ini menyediakan alternatif kepada ROS dalam pelaksanaan SLAM sambil mengekalkan keserasian. Disebabkan reka bentuk antara prosesnya, Messenger dapat menerbitkan dan melanggan mana-mana kelas tanpa kos tambahan. Berikut ialah pengenalan kepada lebih banyak fungsi:
a Antara muka menggunakan gaya ROS, yang mudah untuk pengguna bermula. Dan ia menyokong semua mesej yang ditakrifkan ROS, yang bermaksud bahawa ia memerlukan sedikit kerja untuk menggantikan sistem pemesejan ROS yang asal.
b. Memandangkan tiada siri dan pemindahan data, mesej boleh dihantar tanpa berlengah-lengah dan kos tambahan. Pada masa yang sama, muatan mesej tidak terhad kepada mesej yang ditentukan ROS, tetapi juga menyokong sebarang struktur data yang boleh disalin.
c Kod sumber hanya termasuk fail pengepala berasaskan C++11 tanpa kebergantungan tambahan, menjadikannya mudah alih.
d API adalah selamat untuk benang dan menyokong pemberitahuan bersyarat berbilang benang apabila saiz baris gilir lebih besar daripada sifar. Sebelum penerbit dan pelanggan bersambung antara satu sama lain, nama topik dan struktur data RTTI disemak untuk memastikan ia dipanggil dengan betul.
3D Transforamtion
#🎜##🎜🎜🎜🎜🎜🎜🎜 Untuk bahagian putaran, terdapat beberapa perwakilan untuk dipilih, termasuk matriks, sudut Euler, kuaternion unit, dan algebra Lie so(3). Untuk transformasi tertentu, mana-mana satu daripadanya boleh digunakan untuk mewakilinya dan boleh ditukar kepada satu sama lain. Walau bagaimanapun, apabila mempertimbangkan pelbagai transformasi dan pengoptimuman manifold, perhatian yang teliti perlu diberikan kepada perwakilan yang dipilih. Perwakilan matriks terlebih parameter menggunakan 9 parameter, manakala putaran hanya mempunyai 3 darjah kebebasan (DOF). Perwakilan sudut Euler menggunakan tiga pembolehubah dan mudah difahami, tetapi ia menghadapi masalah kunci universal dan menyusahkan untuk pelbagai transformasi. Kuaternion unit ialah cara paling cekap untuk melakukan berbilang putaran, manakala algebra Lie ialah perwakilan biasa untuk melaksanakan pengoptimuman popular.
Begitu juga, algebra Lie se(3) dan sim(3) bagi jasad tegar dan transformasi persamaan ditakrifkan. GSLAM menggunakan kuaternion untuk mewakili bahagian putaran dan menyediakan fungsi untuk menukar satu perwakilan kepada yang lain. Jadual 1 menunjukkan pelaksanaan transformasi dan membandingkannya dengan tiga pelaksanaan manifold lain (Sophus, TooN dan Ceres). Memandangkan pelaksanaan Ceres menggunakan perwakilan paksi sudut, eksponen dan logaritma putaran tidak diperlukan. Seperti yang ditunjukkan dalam jadual, pelaksanaan GSLAM menunjukkan prestasi yang lebih baik kerana ia menggunakan kuaternion dan mempunyai pengoptimuman yang lebih baik, manakala TooN menggunakan pelaksanaan matriks dan berprestasi lebih baik dari segi transformasi titik.
Format imejPenyimpanan dan penghantaran data imej adalah salah satu fungsi terpenting dalam SLAM visual. Untuk meningkatkan kecekapan dan kemudahan, GSLAM menggunakan struktur data GImage, yang serasi dengan cv::Mat. Ia mempunyai kaunter penunjuk pintar untuk memastikan memori dikeluarkan dengan selamat dan boleh dipindahkan dengan mudah tanpa penyalinan memori. Penunjuk data diselaraskan untuk pecutan Data Berbilang Arahan Tunggal (SIMD) yang lebih mudah. Pengguna boleh menukar antara GImage dan cv::Mat dengan lancar dan selamat tanpa penyalinan memori. Model Kamera Memandangkan SLAM mungkin mengandungi herotan jejari dan tangensial akibat ketidaksempurnaan pembuatan, atau imej yang ditangkap oleh kamera fisheye atau panoramik, model kamera yang berbeza dicadangkan untuk menerangkan tayangan. GSLAM menyediakan pelaksanaan termasuk OpenCV (digunakan oleh ORB-SLAM), ATAN (digunakan oleh PTAM) dan OCamCalib (digunakan oleh MultiCol-SLAM). Pengguna juga boleh dengan mudah mewarisi kelas ini dan melaksanakan model kamera lain seperti Kannala-Brandt dan model panoramik isometrik. Struktur Data Peta Untuk pelaksanaan SLAM, matlamatnya adalah untuk mencari dan menjana peta dalam masa nyata. GSLAM mengesyorkan menggunakan struktur data peta bersatu, yang terdiri daripada berbilang bingkai peta dan titik peta. Struktur data ini sesuai untuk kebanyakan sistem SLAM visual sedia ada, termasuk kaedah berasaskan ciri atau langsung. Bingkai peta digunakan untuk mewakili status lokasi pada masa yang berbeza, termasuk pelbagai maklumat atau hasil anggaran yang ditangkap oleh penderia, termasuk data mentah IMU atau GPS, maklumat kedalaman dan model kamera. Pelaksanaan SLAM menganggarkan hubungan antara mereka, dan hubungan antara mereka membentuk graf pose. Mata peta digunakan untuk mewakili persekitaran seperti yang diperhatikan oleh bingkai, biasanya digunakan oleh kaedah berasaskan ciri. Walau bagaimanapun, titik peta boleh mewakili bukan sahaja titik utama, tetapi juga GCP (Titik Kawalan Tanah), garis tepi atau objek 3D. Korespondensi mereka dengan bingkai peta membentuk graf pemerhatian, sering dipanggil graf berkas. Untuk memudahkan pelaksanaan sistem SLAM, GSLAM menyediakan kelas utiliti. Bahagian ini akan memperkenalkan secara ringkas tiga modul yang dioptimumkan, iaitu Penganggar, Pengoptimum dan Perbendaharaan Kata. Pengiraan geometri tulen kekal sebagai masalah asas yang memerlukan penyelesaian masa nyata yang berkuasa dan tepat. Algoritma visual SLAM tradisional atau penyelesaian inersia visual moden bergantung pada algoritma penglihatan geometri untuk pemulaan, penempatan semula dan penutupan gelung. OpenCV menyediakan berbilang algoritma geometri, dan Kneip menyediakan kotak alat untuk penglihatan geometri, OpenGV, yang terhad kepada pengiraan pose kamera. Penganggar GSLAM bertujuan untuk menyediakan keluarga penyelesai bentuk tertutup yang meliputi semua kes dan menggunakan Kaedah Ketekalan Persampelan Rawak Teguh (RANSAC). Jadual 2 menyenaraikan algoritma yang disokong oleh Penganggar. Berdasarkan data pemerhatian yang diberikan, ia dibahagikan kepada tiga kategori. Padanan 2D-2D digunakan untuk menganggarkan kekangan epipolar atau homografi, dan pose relatif boleh diuraikan daripadanya. 2D-3D sepadan dengan menganggarkan pose mutlak pusat atau bukan pusat sistem monokular atau berbilang kamera, yang merupakan masalah PnP yang terkenal. Fungsi geometri 3D seperti pemasangan satah, dan menganggarkan transformasi SIM bagi awan dua titik juga disokong. Kebanyakan algoritma bergantung pada perpustakaan algebra linear sumber terbuka Eigen, yang merupakan perpustakaan pengepala sahaja dan tersedia pada kebanyakan platform. Pengoptimuman bukan linear ialah bahagian teras sistem SLAM geometri moden. Disebabkan oleh latitud tinggi dan jarang matriks Hessian, struktur graf digunakan untuk memodelkan masalah anggaran kompleks SLAM. Beberapa rangka kerja, termasuk Ceres, G2O dan GTSAM, dicadangkan untuk menyelesaikan masalah pengoptimuman graf umum. Rangka kerja ini digunakan secara meluas dalam sistem SLAM yang berbeza. ORB-SLAM dan SVO menggunakan G2O untuk BA dan pose pengoptimuman graf. OKVIS dan VINS menggunakan Ceres untuk pengoptimuman graf dengan faktor IMU, dan tingkap gelongsor digunakan untuk mengawal kerumitan pengiraan. Forster et al mencadangkan kaedah permulaan visual berdasarkan SVO dan menggunakan GTSAM untuk melaksanakan bahagian belakang. Pengoptimum GSLAM bertujuan untuk menyediakan antara muka bersatu untuk kebanyakan masalah SLAM tak linear, seperti penyelesai PnP, BA, pengoptimuman graf pose. Pemalam universal untuk masalah ini dilaksanakan berdasarkan perpustakaan Ceres. Untuk masalah khusus, seperti BA, beberapa pelaksanaan yang lebih cekap, seperti PBA dan ICE-BA, juga tersedia sebagai pemalam. Menggunakan alat pengoptimum, pembangun boleh mengakses pelaksanaan yang berbeza menggunakan antara muka bersatu, terutamanya untuk sistem SLAM berasaskan pembelajaran mendalam. Pengiktirafan tempat ialah salah satu bahagian terpenting dalam sistem SLAM, digunakan untuk penempatan semula dan pengesanan gelung balik. Kaedah Bag of Words (BoW) digunakan secara meluas dalam sistem SLAM kerana kecekapan dan prestasi cemerlangnya. FabMap mencadangkan kaedah probabilistik untuk pengecaman tempat berasaskan penampilan, yang digunakan dalam sistem seperti RSLAM dan LSD-SLAM. Memandangkan ia menggunakan deskriptor titik terapung seperti SIFT dan SURF, DBoW2 membina pokok perbendaharaan kata untuk latihan dan pengesanan, menyokong deskriptor binari dan titik terapung. Refael mencadangkan dua versi DBoW2, DBoW3 dan FBoW yang dipertingkatkan, yang memudahkan antara muka dan mempercepatkan latihan dan pemuatan. Selepas itu, ORB-SLAM mengguna pakai deskriptor ORB dan menggunakan DBoW2 untuk pengesanan gelung, penempatan semula dan pemadanan pantas. Selepas itu, satu siri sistem SLAM, seperti ORB-SLAM2, VINS-Mono dan LDSO, menggunakan DBoW3 untuk pengesanan gelung balik. Ia telah menjadi alat yang paling popular untuk melaksanakan pengecaman lokasi dalam sistem SLAM. Diilhamkan oleh kerja di atas, GSLAM melaksanakan pelaksanaan fail pengepala sahaja bagi perbendaharaan kata DBoW3, yang mempunyai ciri-ciri berikut: Jadual 3 menunjukkan perbandingan empat perpustakaan beg perkataan. Dalam percubaan, setiap nod induk mempunyai 10 nod anak, pengesanan ciri ORB menggunakan ORB-SLAM dan pengesanan SIFT menggunakan SiftGPU. Perbendaharaan kata ORB digunakan dalam hasil pelaksanaan, dengan tahap 4 dan 6 masing-masing, serta perbendaharaan kata SIFT. Kedua-dua FBoW dan GSLAM menggunakan multi-threading untuk latihan perbendaharaan kata. Pelaksanaan GSLAM mengatasi prestasi lain dalam hampir semua projek, termasuk memuatkan dan menyimpan perbendaharaan kata, melatih perbendaharaan kata baharu, menukar senarai deskriptor kepada vektor BoW untuk pengecaman tempat dan vektor ciri untuk pemadanan ciri pantas. Selain itu, pelaksanaan GSLAM menggunakan kurang memori dan memperuntukkan lebih sedikit blok memori dinamik kerana sebab utama DBoW2 memerlukan banyak memori ialah isu pemecahan. Tanda aras sedia ada memerlukan pengguna memuat turun set data ujian dan memuat naik keputusan untuk penilaian ketepatan, yang tidak mencukupi untuk menyatukan persekitaran operasi dan menilai perbandingan prestasi yang adil. Terima kasih kepada antara muka bersatu GSLAM, penilaian sistem SLAM menjadi lebih elegan. Dengan bantuan GSLAM, pembangun hanya boleh memuat naik pemalam SLAM dan melakukan pelbagai penilaian kelajuan, kos pengiraan dan ketepatan dalam persekitaran berlabuh menggunakan sumber tetap. Dalam bahagian ini, beberapa set data dan pemalam SLAM yang dilaksanakan akan mula diperkenalkan. Kemudian, tiga pelaksanaan SLAM yang mewakili dinilai pada kelajuan, ketepatan, memori dan penggunaan CPU. Penilaian ini bertujuan untuk menunjukkan kemungkinan pelaksanaan penanda aras SLAM bersatu dengan pemalam SLAM yang berbeza. Menjalankan sistem SLAM biasanya memerlukan aliran data sensor dan konfigurasi yang sepadan. Untuk membolehkan pembangun menumpukan pada pembangunan pemalam teras SLAM, GSLAM menyediakan antara muka set data standard dan pembangun tidak perlu mengambil berat tentang input SLAM. Input penderia dalam talian dan data luar talian disediakan melalui pemalam set data yang berbeza Pemalam yang betul akan dimuatkan secara dinamik mengikut akhiran laluan set data yang diberikan. Pelaksanaan set data harus menyediakan semua aliran sensor yang diminta bersama dengan konfigurasi yang berkaitan, jadi tiada persediaan tambahan diperlukan untuk set data yang berbeza. Semua aliran sensor berbeza diterbitkan melalui Messenger, menggunakan nama topik standard dan format data. GSLAM telah melaksanakan beberapa pemalam dataset visual SLAM yang popular, seperti yang ditunjukkan dalam Jadual 4. Pengguna juga boleh dengan mudah melaksanakan pemalam set data berdasarkan teras GSLAM pengepala sahaja, menerbitkannya sebagai pemalam dan menyusunnya dengan aplikasi. Rajah 2 menunjukkan beberapa tangkapan skrin pemalam SLAM dan SfM sumber terbuka yang dijalankan menggunakan visualizer Qt terbina dalam. Rangka kerja menyokong sistem SLAM seni bina yang berbeza, termasuk kaedah langsung, kaedah separa langsung, kaedah berasaskan ciri, dan juga kaedah SfM. Pelaksanaan DSO perlu menerbitkan hasil seperti awan titik, pose kamera, trajektori dan peta pose untuk visualisasi seperti pelaksanaan berasaskan ROS. Pengguna boleh menggunakan rangka kerja bersatu untuk mengakses pemalam SLAM yang berbeza, dan sangat mudah untuk membangunkan aplikasi berasaskan SLAM berdasarkan antara muka C++, Python dan Node-JS. Memandangkan ramai penyelidik menggunakan ROS dalam pembangunan, GSLAM juga menyediakan pemalam visualisasi ROS untuk menghantar mesej yang ditakrifkan ROS dengan lancar dan membolehkan pembangun memanfaatkan Rviz untuk paparan atau terus membangunkan aplikasi berasaskan ROS yang lain. Memandangkan kebanyakan penanda aras sedia ada hanya menyediakan set data atau tidak mempunyai kebenaran asas untuk pengguna menjalankan penilaian mereka sendiri, GSLAM menyediakan pemalam terbina dalam dan beberapa alatan skrip untuk pengkomputeran penilaian prestasi dan ketepatan. Jujukan nostructure-texture-near-withloop dalam set data TUM RGBD digunakan dalam kertas untuk menunjukkan pelaksanaan penilaian. Percubaan berikut menggunakan tiga pemalam SLAM monokular sumber terbuka DSO, SVO dan ORB-SLAM. Dalam semua eksperimen, komputer dengan CPU i7-6700, GPU GTX 1060 dan RAM 16GB yang menjalankan Ubuntu 16.04 64-bit telah digunakan. Penilaian prestasi pengiraan termasuk penggunaan memori, bilangan blok memori yang diperuntukkan, penggunaan CPU dan masa statistik yang dibelanjakan untuk setiap bingkai, seperti ditunjukkan dalam Rajah 3. Keputusan menunjukkan bahawa SVO menggunakan paling sedikit memori dan sumber CPU dan mencapai kelajuan terpantas. Dan memandangkan SVO hanyalah odometer visual dan hanya mengekalkan peta setempat dalam pelaksanaan, kosnya kekal stabil. DSO memperuntukkan lebih sedikit blok memori, tetapi menggunakan lebih daripada 100MB memori dan berkembang dengan perlahan. Satu masalah dengan DSO ialah apabila bilangan bingkai menurun di bawah 500, masa pemprosesan meningkat secara mendadak, di samping itu, masa pemprosesan bingkai utama adalah lebih lama lagi. ORB-SLAM menggunakan sumber CPU yang paling banyak, masa pengiraan adalah stabil, tetapi penggunaan memori meningkat dengan cepat, dan ia memperuntukkan dan mengeluarkan sejumlah besar blok memori kerana BAnya menggunakan perpustakaan G2O dan tidak menggunakan kaedah pengoptimuman tambahan. Rajah 4 menunjukkan keputusan penilaian trajektori odometri. Seperti yang ditunjukkan dalam rajah, SVO lebih pantas tetapi mempunyai drift yang lebih besar, manakala ORBSLAM mencapai ketepatan tertinggi dari segi ralat sikap mutlak (APE). Memandangkan penilaian menyeluruh ialah aplikasi pemalam boleh pasang, lebih banyak metrik penilaian boleh dilaksanakan semula, seperti ketepatan awan titik. Artikel ini memperkenalkan platform SLAM am baharu yang dipanggil GSLAM, yang mencadangkan sokongan daripada pembangunan, penilaian kepada aplikasi. Melalui platform ini, kit alat yang biasa digunakan disediakan dalam bentuk pemalam, dan pengguna juga boleh membangunkan modul mereka sendiri dengan mudah. Untuk menjadikan platform lebih mudah digunakan, jadikan antara muka hanya bergantung pada C++11. Selain itu, antara muka Python dan JavaScript disediakan untuk mengintegrasikan SLAM tradisional dan SLAM berasaskan pembelajaran mendalam dengan lebih baik, atau melaksanakan operasi teragih di Web. Dalam penyelidikan berikut, lebih banyak pelaksanaan SLAM, dokumen dan kod demonstrasi akan disediakan untuk pembelajaran dan penggunaan yang mudah. Di samping itu, integrasi SLAM tradisional dan SLAM berasaskan pembelajaran mendalam akan disediakan untuk meneroka lebih lanjut kemungkinan sistem SLAM yang tidak diketahui. Laman utama karya ini adalah seperti berikut: GSLAM: Halaman Utama Rasanya seperti rangka kerja untuk mempelajari prinsip setiap bahagian SLAM~ Pautan asal: https://mp.weixin .qq.com/s/ PCxhqhK3t1soN5FI0w9NFw
5 Alat pelaksanaan SLAM
Penganggar
Optimizer
Kosa Kata
6 Tanda Aras Penilaian SLAM
Set Data
Pelaksanaan SLAM
Penilaian
7 Ringkasan
Atas ialah kandungan terperinci GSLAM |. Seni bina dan penanda aras umum SLAM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!