Contents — find the section you need

कैमरा लेकर चारों ओर घूमें और छवियों के क्रम में दीवार का कोना या कोई साइनबोर्ड धीरे-धीरे खिसकता है। इस बीच, एक एक्सेलेरोमीटर और एक जाइरोस्कोप उच्च आवृत्ति पर मापते हैं कि उसी अंतराल में डिवाइस कितना त्वरित और घूमा। विजुअल ओडोमेट्री (VO) पहले से प्राप्त जानकारी के आधार पर वर्तमान तक की सापेक्ष स्थिति, वेग और स्थान का अनुमान लगाती है; विजुअल-इनर्शियल ओडोमेट्री (VIO) इन दोनों से इसका अनुमान लगाती है। यह इनडोर उड़ान भरने वाले ड्रोन, AR/VR हेडसेट, हैंडहेल्ड 3D स्कैनर और मोबाइल रोबोट के लिए एक प्रमुख तकनीक है।

VO/VIO को कभी-कभी SLAM का पर्यायवाची माना जाता है, लेकिन इनकी भूमिकाएँ कुछ भिन्न होती हैं। ओडोमेट्री एक फ्रंट-एंड चरण है जो एक सहज, अल्पकालिक सापेक्ष प्रक्षेपवक्र उत्पन्न करता है, और सिद्धांत रूप में इसकी त्रुटि संचित होती जाती है। SLAM उस संचित त्रुटि को वैश्विक स्तर पर ठीक करने के लिए मानचित्र, स्थान पहचान और लूप क्लोजर का उपयोग करता है। यह लेख मैपिंग की समग्र तस्वीर पर कम और इस बात पर अधिक केंद्रित है कि गति को फ्रेम दर फ्रेम कैसे एकीकृत किया जाता है, आईएमयू को कैसे शामिल किया जाता है, और अनुमान पर कब संदेह करना चाहिए।

Mobileye कैमरा वाहन के विंडशील्ड पर लगा हुआवाहन कैमरे का उदाहरण
Xsens MTi-G GNSS/INS एकीकृत IMUGNSS/INS IMU का उदाहरण

चित्र: Car Mobileye सिस्टम का विंडो कैमरा (Ranbar, CC BY-SA 4.0) / Xsens MTi-G (Kallap85, CC BY-SA 4.0), विकिमीडिया कॉमन्स। प्रतिनिधि सेंसर, आवश्यक VO/VIO उत्पाद संयोजन नहीं।

0. 30-सेकंड का सारांश

  • VO छवि पत्राचार या पिक्सेल उपस्थिति में परिवर्तन से कैमरे की गति का क्रमिक रूप से अनुमान लगाता है। मोनोक्युलर VO अनुवाद के पूर्ण पैमाने का अवलोकन नहीं कर सकता है, और त्रुटि समय के साथ बढ़ती जाती है। स्टीरियो, RGB-D, ज्ञात वस्तु आकार, जड़त्वीय संवेदन और पहिए सभी पैमाना प्रदान करते हैं।

  • VIO कैमरे के निम्न-आवृत्ति, बहाव-प्रतिरोधी प्रेक्षणों को IMU के उच्च-आवृत्ति प्रेक्षणों के साथ मिलाता है, जो अल्प अंतराल में सटीक होते हैं लेकिन पूर्वाग्रह के कारण बह जाते हैं। जाइरोस्कोप घूर्णन प्रदान करता है; त्वरणमापी गुरुत्वाकर्षण और त्वरण को अलग करने वाले संकेत की पूरक भूमिका निभाता है।

  • IMU प्रीइंटीग्रेशन, इमेज कीफ्रेम के बीच मौजूद कई IMU सैंपलों को एक सिंगल, बायस-रिलाइनराइजेबल कंस्ट्रेंट में संपीड़ित करता है। यही कारण है कि स्लाइडिंग-विंडो ऑप्टिमाइजेशन कम्प्यूटेशनल रूप से सुगम हो जाता है।

  • आरंभीकरण सबसे कठिन भाग है। पर्याप्त पैरेलेक्स, रोटेशन सहित उत्तेजना, स्थिर अवस्था में बायस अनुमान, कैमरा-IMU समय सिंक्रोनाइज़ेशन और बाह्य अंशांकन के बिना, स्केल, गुरुत्वाकर्षण, वेग और बायस को अलग-अलग नहीं किया जा सकता।

  • मूल्यांकन में न केवल औसत त्रुटि, बल्कि ATE/RPE, प्रति अंतराल ड्रिफ्ट, विफलता दर, विलंबता, CPU/GPU उपयोग और क्या प्रक्षेपवक्र ने किसी रिलोकेलाइज़ेशन का उपयोग किया, इसकी जानकारी भी देनी चाहिए। कम टेक्सचर, गतिशील वस्तुएं, मोशन ब्लर, रोलिंग शटर, झटके और सिंक्रोनाइज़ेशन ऑफसेट विफलता की प्रमुख स्थितियां हैं।

1. VO क्या अनुमान लगाता है और क्या नहीं

कैमरा या IMU फ्रेम B की स्थिति को विश्व फ्रेम W के सापेक्ष समय k पर स्थिति \mathbf{p}_{WB,k} और घूर्णन R_{WB,k} के रूप में लिखें। VO का केंद्रीय आउटपुट आसन्न फ्रेम या कीफ्रेम के बीच सापेक्ष रूपांतरण है,

T_{C_kC_{k+1}}= \begin{bmatrix}R_{C_kC_{k+1}}&\mathbf{t}_{C_kC_{k+1}}\\\mathbf{0}^\mathsf{T}&1\end{bmatrix}\in SE(3)

फीचर-ट्रैकिंग विधियों में, एसेंशियल मैट्रिक्स का अनुमान RANSAC के माध्यम से संबंधित बिंदुओं से लगाया जाता है, और इससे घूर्णन और अनुवाद दिशा को पुनर्प्राप्त किया जाता है। स्टीरियो/RGB-D/मैप-आधारित विधियों में, जिनमें पहले से ही 3D बिंदु होते हैं, 2D-3D पत्राचार पर PnP का उपयोग किया जाता है। डायरेक्ट VO में, स्पष्ट विवरणकों का मिलान करने के बजाय, स्थिति को इस प्रकार अनुकूलित किया जाता है कि एक्सपोज़र-सुधारित पिक्सेल मान उनके प्रक्षेपित स्थान पर मेल खाते हैं।

चाहे कोई भी विधि अपनाई जाए, VO एक प्रकार की डेड रेकनिंग है जो "पिछले फ्रेम से अब तक मैं कितनी दूर चला हूँ" को एकीकृत करती है। बाहरी मानचित्र या लूप क्लोजर के बिना, सापेक्ष स्थिति में एक छोटी सी त्रुटि भी कभी दूर नहीं होती। स्थिति त्रुटि आम तौर पर समय और तय की गई दूरी के साथ बढ़ती है, और भले ही आप एक लंबे गलियारे में आगे-पीछे चलें और अपने शुरुआती बिंदु पर लौट आएं, प्रक्षेप पथ बंद नहीं होगा। यह केवल कार्यान्वयन की विफलता नहीं है - यह एक ऐसी समस्या का गुण है जो स्थानीय अवलोकनों को क्रमिक रूप से संचित करती है।

Diagram 1 · Use the button to switch views
Fusing camera and IMU in VIOThe camera supplies low-frequency visual constraints, the IMU supplies high-frequency motion constraints, and sliding-window optimization estimates the state trajectory. CameraImages, features, direct method IMUAngular velocity, acceleration (high-frequency) Preintegration + visual residualSliding windowoptimization / filter State estimatePose, position, velocityGravity, bias, scale Calibration, time sync, extrinsics

मोनोक्युलर स्केल समस्या

कैलिब्रेटेड मोनोक्युलर टू-व्यू कॉरेस्पोंडेंस E=[\mathbf{t}]_\times R को सीमित करता है, लेकिन \mathbf{t} की लंबाई निर्धारित नहीं करता है। ऐसा इसलिए है क्योंकि प्रत्येक 3D बिंदु और ट्रांसलेशन को s>0 द्वारा स्केल करने से इमेज प्रोजेक्शन अपरिवर्तित रहते हैं। एक मोनोक्युलर VO पोज़ सटीक दिख सकता है जबकि स्थिति की इकाई मनमानी हो सकती है — और यदि स्केल फ्रेम दर फ्रेम डगमगाता है, तो प्रक्षेप पथ का आकार भी बिगड़ जाता है।

ज्ञात बेसलाइन B वाले स्टीरियो रिग के साथ, डिसपैरिटी d से गहराई को Z=fB/d के रूप में प्राप्त किया जा सकता है। RGB-D सेंसर की अपनी गहराई को एक निश्चित मान देता है। स्केल। VIO में, चूंकि त्वरण को m/s² की इकाइयों में मापा जाता है और गुरुत्वाकर्षण का परिमाण लगभग ज्ञात होता है, इसलिए पर्याप्त गति उत्तेजना आपको दृश्य प्रणाली के मनमाने स्केल को भौतिक स्केल के साथ संरेखित करने देती है। लेकिन केवल IMU लगाने से स्केल स्वतः उत्पन्न नहीं होता — स्थिर अवस्था में, स्थिर वेग से गति करते समय, बहुत कम अंतराल पर, या गलत समय ऑफ़सेट के साथ, स्केल और पूर्वाग्रह आपस में भ्रमित हो जाते हैं।

2. कैमरा अवलोकन: विशेषता-आधारित और प्रत्यक्ष विधियाँ

विशेषता-आधारित VO, ORB, SIFT, FAST+KLT और इसी तरह की विधियों द्वारा ट्रैक किए गए पत्राचारों का उपयोग करता है। एक नए फ्रेम के 2D अवलोकन \mathbf{z}_{ij} और लैंडमार्क \mathbf{P}_j के लिए, प्रक्षेपण अवशिष्ट है

\mathbf{r}_{C,ij}=\mathbf{z}_{ij}-\pi\left(K\,T_{CW,i}\mathbf{P}_j\right)

जहां \pi([X,Y,Z]^\mathsf{T})=(X/Z,Y/Z)^\mathsf{T} परिप्रेक्ष्य विभाजन है। RANSAC विसंगतियों को हटाता है, और ह्यूबर्ट हानि या इसी तरह की विधि शेष आउटलायर्स को अधिक भारित होने से रोकती है। फीचर-आधारित विधियाँ एक्सपोज़र परिवर्तनों के प्रति अपेक्षाकृत अधिक स्थिर होती हैं और ज्यामितीय रूप से इन्हें देखना और डीबग करना आसान होता है।

प्रत्यक्ष विधियाँ संबंधित पिक्सेल या छोटे पैच के चमक अवशेष को न्यूनतम करती हैं। एक्सपोज़र पैरामीटर a_i,b_i के साथ, बिंदु \mathbf{u} पर अवशेष को लगभग इस प्रकार लिखा जा सकता है:

r_I=I_j\left(\pi(T_{C_jW}T_{WC_i}\pi^{-1}(\mathbf{u},d))\right)-e^{a_j-a_i}I_i(\mathbf{u})-(b_j-e^{a_j-a_i}b_i)

यह कई टेक्सचर्ड पिक्सेल का उपयोग कर सकता है, लेकिन यह चमक-स्थिरता की धारणा, रोलिंग शटर, ब्लर, ऑटो-एक्सपोज़र और प्रतिबिंबों के प्रति संवेदनशील है। अर्ध-प्रत्यक्ष विधियाँ एक मध्य मार्ग अपनाती हैं - मोटे तौर पर ट्रैकिंग के लिए पिक्सेल और बाद के चरण के लिए फीचर्स।

विधि प्राथमिक अवलोकन खूबियाँ कमज़ोरियाँ प्रतिनिधि उदाहरण
फीचर-आधारित VO कीपॉइंट रीप्रोजेक्शन समझाने में आसान, प्रकाश परिवर्तन के प्रति अपेक्षाकृत स्थिर कम टेक्सचर, दोहराव वाले फीचर्स ORB-SLAM परिवार, VINS-Mono
प्रत्यक्ष / अर्ध-प्रत्यक्ष पिक्सेल/पैच चमक सघन जानकारी, सब-पिक्सेल ट्रैकिंग एक्सपोज़र परिवर्तन, धुंधलापन, परावर्तन डीएसओ, एसवीओ

मोनोक्युलर वीआईओ | छवि + आईएमयू | हल्का, पैमाना स्पष्ट रूप से दिखाई देता है | आरंभीकरण/सिंक्रनाइज़ेशन के प्रति संवेदनशील | VINS-Mono, OpenVINS |

स्टीरियो वीआईओ | बाएँ/दाएँ छवि + आईएमयू | तत्काल पैमाना, स्थिर आरंभीकरण | बिजली की खपत, बाएँ-दाएँ सिंक/कैलिब्रेशन | VINS-Fusion, Basalt |

3. आईएमयू क्या मापता है, और आप इसे सीधे एकीकृत क्यों नहीं कर सकते

एक आईएमयू जाइरोस्कोप का कोणीय वेग \tilde{\boldsymbol\omega} और एक्सेलेरोमीटर का विशिष्ट बल \tilde{\mathbf{a}} आउटपुट करता है। ये आदर्श मान नहीं हैं — इनमें पूर्वाग्रह \mathbf{b}_g,\mathbf{b}_a और श्वेत शोर \mathbf{n}_g,\mathbf{n}_a शामिल हैं।

\tilde{\boldsymbol\omega}=\boldsymbol\omega+\mathbf{b}_g+\mathbf{n}_g, \qquad \tilde{\mathbf{a}}=R_{BW}(\ddot{\mathbf{p}}_{WB}-\mathbf{g})+\mathbf{b}_a+\mathbf{n}_a

महत्वपूर्ण बिंदु यहां समस्या यह है कि एक्सेलेरोमीटर सीधे तौर पर पृथ्वी के त्वरण को नहीं मापता — यह विशिष्ट बल को मापता है, जिसमें से गुरुत्वाकर्षण पहले ही घटा दिया गया होता है। दिशा का पता न होने पर, आपको यह नहीं पता होता कि गुरुत्वाकर्षण को किस दिशा में वापस जोड़ना है, और यहां तक कि एक छोटे से पूर्वाग्रह का भी दोहरा एकीकरण स्थिति में तेजी से बदलाव लाता है। गति के सतत-समय समीकरण इस प्रकार हैं:

\dot R_{WB}=R_{WB}[\tilde{\boldsymbol\omega}-\mathbf{b}_g-\mathbf{n}_g]_\times, \quad \dot{\mathbf{v}}_{WB}=\mathbf{g}+R_{WB}(\tilde{\mathbf{a}}-\mathbf{b}_a-\mathbf{n}_a), \quad \dot{\mathbf{p}}_{WB}=\mathbf{v}_{WB}

केवल एक सेकंड के बाद की त्रुटि को देखने पर, एक IMU सुचारू और उत्कृष्ट प्रतीत होता है, लेकिन मिनटों तक बिना किसी सहायता के नेविगेशन करने पर, पूर्वाग्रह और दिशा संबंधी त्रुटि स्थिति को बुरी तरह प्रभावित करती है। VIO का सार यह है कि छवियां IMU के दीर्घकालिक विचलन को ठीक करती हैं, जबकि IMU गति और घूर्णन के उन छोटे अंतरालों को पाटता है जहां छवियां विरल होती हैं।

4. IMU पूर्व-एकीकरण: कीफ्रेम के बीच गति को संपीड़ित करना

एक सामान्य सेटअप में कैमरा 20-60 हर्ट्ज़ पर और IMU 100-1000 हर्ट्ज़ पर चलता है। कीफ्रेम i और j के बीच आईएमयू मापों की संख्या दस से सैकड़ों तक हो सकती है। ऑप्टिमाइज़र द्वारा पोज़ या बायस में मामूली बदलाव करने पर प्रत्येक नमूने को पुनः एकीकृत करना महंगा होगा। फोर्स्टर एट अल. का आईएमयू प्रीइंटीग्रेशन दिए गए लीनियराइजेशन-पॉइंट बायस के सापेक्ष घूर्णन, वेग परिवर्तन और स्थिति परिवर्तन की पूर्व-गणना करता है, और जैकोबियन और सहप्रसरण को भी बनाए रखता है।

गुरुत्वाकर्षण और विश्व वेग को हटाकर मात्राओं को \Delta R_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij} के रूप में लिखने पर, पूर्वानुमान लगभग इस प्रकार है:

R_j\simeq R_i\Delta R_{ij},\quad \mathbf{v}_j\simeq\mathbf{v}_i+\mathbf{g}\Delta t_{ij}+R_i\Delta\mathbf{v}_{ij},
\mathbf{p}_j\simeq\mathbf{p}_i+\mathbf{v}_i\Delta t_{ij}+\frac12\mathbf{g}\Delta t_{ij}^2+R_i\Delta\mathbf{p}_{ij}

जब बायस को अपडेट किया जाता है, तो संग्रहीत \partial\Delta/\partial\mathbf{b} का उपयोग करके प्रथम-क्रम सुधार लागू किया जाता है, और पूर्ण पुनः एकीकरण केवल तभी होता है जब परिवर्तन बड़ा हो। घूर्णन को एक साधारण वेक्टर के रूप में नहीं जोड़ा जाता है, बल्कि घातीय मानचित्र या चतुर्भुज के माध्यम से SO(3) मैनिफोल्ड पर संयोजित किया जाता है। सहप्रसरण \Sigma_{ij} को वहन करने से शोर वाले आईएमयू और सटीक आईएमयू के बीच संतुलन स्थापित होता है। कैमरा अवशिष्ट को समान उद्देश्य फलन के भीतर सही ढंग से भारित किया जाना चाहिए।

स्लाइडिंग-विंडो VIO के लिए प्रतिनिधि उद्देश्य फलन है:

\min_{\mathcal X}\sum_{(i,j)\in\mathcal{B}}\left\|\mathbf{r}_{I,ij}\right\|^2_{\Sigma_{ij}^{-1}} +\sum_{(i,l)\in\mathcal C}\rho\left(\left\|\mathbf{r}_{C,il}\right\|^2_{\Sigma_{C}^{-1}}\right) +\left\|\mathbf{r}_{\text{prior}}\right\|^2

स्टेट सेट \mathcal X में प्रत्येक कीफ़्रेम के लिए पोज़, स्थिति, वेग, जाइरोस्कोप/एक्सेलेरोमीटर बायस, लैंडमार्क की व्युत्क्रम गहराई और, जहाँ आवश्यक हो, समय ऑफ़सेट या बाह्य पैरामीटर शामिल होते हैं। पुराने स्टेट्स को एक प्रायर में मार्जिनलाइज़ किया जाता है, जिससे कम्प्यूटेशनल लागत सीमित रहती है। क्योंकि मार्जिनलाइज़ेशन रेखीयकरण बिंदु पर निर्भर करता है, स्टेट को बार-बार बड़ी मात्रा में पुनः अपडेट करने से संगति भंग होने की संभावना रहती है। फर्स्ट-एस्टिमेट जैकोबियन (FEJ) जैसी तकनीकें केवल गति अनुकूलन नहीं हैं - वे सिस्टम को उन स्वतंत्रता की डिग्री को गलत तरीके से "अवलोकन" करने से रोकने के लिए मौजूद हैं जो वास्तव में अवलोकन योग्य नहीं हैं।

5. फ़िल्टर-आधारित बनाम अनुकूलन-आधारित

VIO को व्यापक रूप से त्रुटि-अवस्था विस्तारित कल्मन फ़िल्टर (EKF) परिवारों में विभाजित किया जा सकता है और निश्चित लंबाई वाले नॉन-लीनियर ऑप्टिमाइजेशन परिवारों में से एक है। पहला परिवार वर्तमान स्थिति और सहप्रसरण को क्रमिक रूप से अपडेट करता है, जिससे विलंबता और मेमोरी कम रहती है। MSCKF फीचर बिंदुओं को दीर्घकालिक स्थिति के रूप में नहीं रखता; इसके बजाय, यह उन्हें मल्टी-व्यू कंस्ट्रेंट के रूप में मार्जिनलाइज़ करता है, जिससे यह हल्का रहता है। OpenVINS इस परिवार को पुनरुत्पादकता और विस्तारशीलता पर जोर देते हुए लागू करता है।

दूसरा परिवार कई कीफ्रेम और लैंडमार्क को एक साथ ऑप्टिमाइज़ करता है। VINS-Mono एक प्रतिनिधि उदाहरण है जिसमें फीचर ट्रैकिंग, IMU प्रीइंटीग्रेशन, स्लाइडिंग विंडो और लूप क्लोजर शामिल हैं। कई फ्रेमों में रीप्रोजेक्शन त्रुटि को वितरित करने से अक्सर सटीकता में लाभ मिलता है, लेकिन मार्जिनलाइज़ेशन, सॉल्वर, विलंबता और विफल आरंभीकरण से रिकवरी, इन सभी को सावधानीपूर्वक डिज़ाइन करने की आवश्यकता होती है।

पहलू EKF/MSCKF परिवार स्लाइडिंग-विंडो ऑप्टिमाइजेशन परिवार
अनुमान का रूप स्थिति और सहप्रसरण का क्रमिक अपडेट कई फ्रेमों पर फैक्टर ग्राफ का पुनरावृत्ति न्यूनीकरण टाइमस्टेप्स

गणना/विलंबता | पूर्वानुमान योग्य, कम विलंबता बनाए रखना आसान | कीफ्रेम और पुनरावृति की संख्या पर निर्भर करता है |

विशेषताओं का प्रबंधन | अवलोकन बाधाओं के रूप में सीमांकित करना आसान | स्पष्ट स्थिति के रूप में व्युत्क्रम गहराई आदि बनाए रखना आसान |

गुण | एम्बेडेड के लिए उपयुक्त, सहप्रसरण को संभालना आसान | पुनर्प्रक्षेपण को व्यापक रूप से सुसंगत रखना आसान |

कमियां | रेखीयकरण और सुसंगतता, अवलोकनशीलता | सीमांकित त्रुटि, सीपीयू लोड, पुनः रेखीयकरण |

कोई भी सर्वमान्य रूप से बेहतर नहीं है। आवश्यक विलंबता, सेंसर आवृत्ति, सीपीयू बजट, दृश्य क्षेत्र, परिचालन वातावरण और रखरखाव क्षमता के आधार पर चयन करें। किसी शोध पत्र में बताई गई प्रक्षेपवक्र त्रुटि की तुलना करना, कैमरा मॉडल, अंशांकन, डेटासेट गति और पुनर्स्थानीकरण का उपयोग किया गया था या नहीं, जैसी बातों को अनदेखा करना, गलत कार्यान्वयन विकल्प चुनने का एक अच्छा तरीका है।

6. आरंभीकरण: पहले कुछ सेकंड में क्या निर्धारित करना है

VIO के प्रारंभ होने के क्षण में, विश्व अभिविन्यास, प्रारंभिक वेग, जाइरोस्कोप बायस, एक्सेलेरोमीटर बायस, गुरुत्वाकर्षण, मोनोक्युलर स्केल और कैमरा-आईएमयू की सापेक्ष स्थिति, ये सभी अनिश्चित हैं। सामान्य प्रक्रिया यह है कि केवल छवियों से दो-दृश्य/बहु-दृश्य सापेक्ष संरचना बनाई जाए, फिर उस दृश्य गति को आईएमयू एकीकरण के साथ संरेखित करके वेग, गुरुत्वाकर्षण दिशा, स्केल और बायस का मान ज्ञात किया जाए।

स्थिर अंतराल औसत जाइरो रीडिंग से प्रारंभिक जाइरोस्कोप-बायस अनुमान और औसत त्वरण दिशा से गुरुत्वाकर्षण दिशा का संकेत देता है। लेकिन एक्सेलेरोमीटर वाहन के स्वयं के रैखिक त्वरण और गुरुत्वाकर्षण के बीच अंतर नहीं कर सकता। आरंभीकरण के दौरान "उत्तेजना" को शामिल करना - उपकरण को केवल धीरे-धीरे आगे-पीछे करने के बजाय कई अक्षों के साथ घुमाना और स्थानांतरित करना - स्केल और बायस के बीच सहसंबंध को स्पष्ट करने में मदद करता है। इसके विपरीत, उपकरण को डेस्क पर लगभग स्थिर रखकर, एक दिशा में स्थिर वेग से गतिमान रखकर, या केवल एक समतल को देखकर शुरुआत करने से सिस्टम का अवलोकन अपर्याप्त हो जाता है।

आरंभीकरण की सफलता का आकलन केवल ऑप्टिमाइज़र अभिसरण के आधार पर नहीं किया जाता है। यह भी जांचें कि अनुमानित स्केल यह सकारात्मक और तर्कसंगत है कि गुरुत्वाकर्षण का परिमाण लगभग 9.81\,\mathrm{m/s^2} के करीब है, कि पूर्वाग्रह सेंसर के विनिर्देश से बहुत अधिक बाहर नहीं है, और यह कि प्रारंभिक त्रिभुज बिंदुओं में पर्याप्त लंबन और धनात्मक गहराई का उच्च अंश है। विफलता के बाद खराब पुरानी स्थिति को आगे ले जाने के बजाय, इमेज ट्रैक और IMU बफर को रीसेट करना और पुनः आरंभ करना बाद में कम नुकसानदायक होता है।

7. अंशांकन और समय तुल्यकालन

VIO के प्रदर्शन को एल्गोरिदम के नाम से अधिक सेंसर मॉडल की शुद्धता नियंत्रित करती है। कम से कम तीन अंशांकन आवश्यक हैं।

  • कैमरा आंतरिक अंशांकन: फोकल लंबाई, प्रमुख बिंदु, विरूपण मॉडल। यदि छवि का आकार बदला जाता है या उसे क्रॉप किया जाता है, तो K को भी बदलना होगा।

  • बाह्य अंशांकन: कैमरा और IMU के बीच कठोर रूपांतरण T_{BC}। कुछ डिग्री की घूर्णन त्रुटि, या लीवर-आर्म त्रुटि। कुछ सेंटीमीटर का अंतर भी तीव्र गति में बड़ा प्रभाव डालता है।

समय अंशांकन: छवि एक्सपोज़र समय और IMU समय के बीच का अंतर, और यदि आवश्यक हो, तो कैमरा रीडआउट समय। अलग-अलग घड़ियाँ, बफ़रिंग और ड्राइवर टाइमस्टैम्प कई मिलीसेकंड का अवशिष्ट अंतर छोड़ सकते हैं।

कैमरा और IMU के बीच समय अंतर और बाह्यता का अनुमान लगाने के लिए Kalibr एक व्यापक रूप से उपयोग किया जाने वाला उपकरण है। लेकिन एक बार प्राप्त मान को स्थायी मानना जोखिम भरा है - फ़ोकस परिवर्तन, हाउसिंग को पुनः जोड़ना, तापमान या सेंसर में फ़र्मवेयर समय प्रबंधन, ये सभी स्थितियाँ बदल सकती हैं। डेटाशीट से विशिष्ट मानों को हूबहू कॉपी करने के बजाय, एलन विचरण जैसी किसी चीज़ के साथ IMU शोर घनत्व और पूर्वाग्रह यादृच्छिक चाल की जाँच करने से फ़िल्टर पर अत्यधिक भरोसा करने से बचा जा सकता है।

एक रोलिंग-शटर कैमरा एक ही क्षण में एक फ्रेम कैप्चर नहीं करता है। तीव्र घूर्णन के तहत, शीर्ष और निचली पंक्तियों को अलग-अलग स्थितियों में देखा जाता है, और एक वैश्विक शटर मानने वाला पुनर्प्रक्षेपण अवशिष्ट व्यवस्थित रूप से गलत होगा। वैश्विक शटर के साथ एक छोटा एक्सपोज़र सबसे विश्वसनीय है। यदि समस्या हल नहीं होती है, तो पंक्ति समय निर्धारण और आईएमयू क्षतिपूर्ति को शामिल करने वाले अवलोकन मॉडल पर विचार करें। बाएँ/दाएँ कैमरे या डेप्थ सेंसर जोड़ने पर, हार्डवेयर-ट्रिगर सिंक्रोनाइज़ेशन बेहतर होता है।

8. कार्यान्वयन का चयन: VINS-Mono, OpenVINS और संबंधित प्रणालियाँ

VINS-Mono एक मोनोक्युलर कैमरा और आईएमयू के लिए व्यापक रूप से संदर्भित अनुकूलन-आधारित VIO कार्यान्वयन है। इसमें ऑनलाइन बाह्य और समय-ऑफसेट अंशांकन, फ़ीचर ट्रैकिंग, प्रीइंटीग्रेशन, स्लाइडिंग विंडो और लूप क्लोज़र शामिल हैं। इसका महत्व केवल पोज़ आउटपुट करना ही नहीं है, बल्कि यह है कि संपूर्ण कॉन्फ़िगरेशन अनुसंधान उद्देश्यों के लिए सुपाठ्य है। स्टीरियो या जीपीएस को संयोजित करने के लिए VINS-Fusion एक उपयुक्त विकल्प है।

OpenVINS एक ओपन कार्यान्वयन है जो MSCKF/EKF परिवार पर केंद्रित है, जिसे FEJ और स्पष्ट संगति के साथ डिज़ाइन किया गया है। यह उन स्थितियों के लिए उपयुक्त है जहाँ आप यह सत्यापित करना चाहते हैं कि फ़िल्टर-आधारित VIO स्थिति, सहप्रसरण और अंशांकन को कैसे संभालता है। Basalt उच्च-प्रदर्शन अनुकूलन बैकएंड के साथ स्टीरियो VIO प्रदान करता है। इसका प्रयोग EuRoC जैसे डेटासेट पर किया जाता है। स्मार्टफोन और AR में, प्लेटफ़ॉर्म के अंतर्निहित VIO का उपयोग करना अक्सर किसी एप्लिकेशन के लिए अधिक व्यावहारिक होता है, क्योंकि इसमें कैमरा टाइमिंग, IMU टाइमिंग और डिवाइस-विशिष्ट कैलिब्रेशन की सुविधा होती है।

कार्यान्वयन/परिवार अनुमान शैली उदाहरण सेंसर कॉन्फ़िगरेशन उपयुक्त अपनाने से पहले जाँचने योग्य बातें
VINS-Mono अनुकूलन, निश्चित विंडो मोनोक्युलर + IMU VIO की समग्र संरचना सीखना, अनुसंधान प्रोटोटाइपिंग ROS जनरेशन, कैलिब्रेशन प्रारूप, आरंभीकरण शर्तें
VINS-Fusion अनुकूलन, निश्चित विंडो मोनोक्युलर/स्टीरियो + IMU, GPS वैकल्पिक मल्टी-सेंसर प्रोटोटाइपिंग निर्देशांक फ्रेम और निरपेक्ष प्रेक्षणों का भारण
OpenVINS EKF/MSCKF मोनोक्युलर/स्टीरियो + IMU एम्बेडेड लर्निंग, फ़िल्टर सत्यापन शोर मान, FEJ, स्टेट डिज़ाइन
बेसाल्ट ऑप्टिमाइज़ेशन स्टीरियो + आईएमयू उच्च-प्रदर्शन वीआईओ बैकएंड बिल्ड वातावरण, कैमरा मॉडल
कस्टम ओपनसीवी + सेरेस मनमाना मनमाना आवश्यकता-विशिष्ट कार्य, सीखना रीप्रोजेक्शन, प्रीइंटीग्रेशन, मार्जिनलाइज़ेशन का सत्यापन

मौजूदा कार्यान्वयनों की तुलना करते समय, डेमो में दिखाई देने वाली ट्रैजेक्टरी को सफलता न मानें। वास्तविक हार्डवेयर पर सत्यापित करें: इनपुट छवि का रिज़ॉल्यूशन और वास्तविक आवृत्ति, आईएमयू की इकाइयाँ और अक्षीय परिपाटी, समय संदर्भ, बाह्य अंशांकन, आरंभिकरण विफलता पर व्यवहार, ट्रैकिंग हानि के बाद पुनः स्थान निर्धारण, सीपीयू उपयोग, मेमोरी और लाइसेंस। विशेष रूप से, यदि किसी आरओएस संदेश के टाइमस्टैम्प में "प्राप्ति समय" भर दिया जाता है, तो एस्टीमेटर को एक ऐसा ऑर्डर प्राप्त होता है जो सही प्रतीत होता है लेकिन समय अंतराल भौतिक रूप से गलत होते हैं।

9. एक न्यूनतम प्रोसेसिंग प्रवाह

  1. कैमरा इंट्रिंसिक्स/एक्सट्रिंसिक्स और समय को कैलिब्रेट करें, और छवियों और आईएमयू डेटा को बफर करें एक सामान्य समय आधार पर।

  2. प्रत्येक IMU आगमन पर, पूर्वाग्रह-सुधारित कोणीय वेग और विशिष्ट बल का उपयोग करके स्थिति का पूर्वानुमान लगाएं, और सहप्रसरण या पूर्व-एकीकरण को अद्यतन करें।

  3. प्रत्येक छवि आगमन पर, पिछले फ्रेम/कीफ्रेम से विशेषताओं को ट्रैक करें, और आगे-पीछे की जांच, RANSAC और मास्क का उपयोग करके आउटलायर्स को हटा दें।

  4. आरंभीकरण से पहले, लंबन और उत्तेजना का आकलन करें, और दृश्य संरचना को जड़त्वीय डेटा के साथ संरेखित करें। यदि स्थितियाँ अनुकूल नहीं हैं तो आरंभ में देरी करें।

  5. आरंभीकरण के बाद, दृश्य पुनर्प्रक्षेपण अवशिष्ट को IMU अवशिष्ट के साथ संयोजित करें, और मुद्रा, स्थिति, वेग, पूर्वाग्रह और बिंदुओं को अद्यतन करें।

  6. पुराने कीफ्रेम को सीमांकित करें, और गुणवत्ता जांच में विफल रहने वाले प्रेक्षणों को हटा दें। यदि आवश्यक हो तो पुनः स्थानीयकरण या सुरक्षित रीसेट पर जाएं।

इस प्रवाह में, पूर्वानुमान और सुधार के बीच का अंतर महत्वपूर्ण है। भले ही छवियां अस्थायी रूप से खो जाएं, IMU पूर्वानुमान आउटपुट उत्पन्न करता रह सकता है, लेकिन इसकी अनिश्चितता बढ़ती जा रही है। "मुद्रा उपलब्ध/अनुपलब्ध" के द्विआधारी परिणाम के बजाय, अनुप्रयोग पक्ष को ट्रैकिंग स्थिति, सहप्रसरण या गुणवत्ता स्कोर और अंतिम दृश्य अद्यतन के बाद का समय, इन मापदंडों का उपयोग करके AR डिस्प्ले को क्रमिक रूप से स्विच करें, वेग को नियंत्रित करें और सुरक्षा स्टॉप लागू करें।

10. मूल्यांकन मेट्रिक्स: निष्पक्ष तुलना के लिए क्या मापना चाहिए

निरपेक्ष प्रक्षेपवक्र त्रुटि (ATE) अनुमानित स्थिति अनुक्रम और ग्राउंड ट्रुथ के बीच का अंतर है, जो उन्हें एक कठोर या Sim(3) रूपांतरण के साथ संरेखित करने के बाद प्राप्त होता है।

\mathrm{ATE}_{\mathrm{RMSE}}=\sqrt{\frac1N\sum_{k=1}^{N}\left\|\mathbf{p}^{\mathrm{gt}}_k-(R\hat{\mathbf{p}}_k+\mathbf{t})\right\|^2}

चूंकि मोनोक्युलर VO का पैमाना अनिश्चित होता है, इसलिए हमेशा यह बताएं कि क्या Sim(3) संरेखण भी पैमाने से मेल खाता है। यदि आप वास्तव में VIO या स्टीरियो में पैमाने की त्रुटि देखना चाहते हैं, तो Sim(3) संरेखण उस त्रुटि को छिपा देगा। SE(3) संरेखण का उपयोग करना है, केवल प्रारंभिक स्थिति को संरेखित करना है, या असंरेखित प्रक्षेपवक्रों की तुलना करनी है, यह उद्देश्य के अनुसार चुना जाना चाहिए।

सापेक्ष स्थिति त्रुटि (RPE) एक निश्चित समय या दूरी अंतराल पर स्थानीय बहाव को मापती है \Delta। यह अनुमानित सापेक्ष रूपांतरण \hat T_{k,k+\Delta} और ग्राउंड ट्रुथ के बीच के अंतर से प्राप्त होती है। T^{\mathrm{gt}}_{k,k+\Delta} ,

E_k=(T^{\mathrm{gt}}_{k,k+\Delta})^{-1}\hat T_{k,k+\Delta}

अनुवाद त्रुटि (मी/मी या %) और घूर्णन त्रुटि (डिग्री/मी, डिग्री/सेकंड) की गणना की जाती है। भले ही लंबी दूरी पर ATE कम हो, अल्पकालिक कंपन अधिक होने पर प्रक्षेपवक्र AR या उड़ान नियंत्रण के लिए अनुपयुक्त होता है। इसके विपरीत, एक ऐसा प्रक्षेपवक्र जो सुचारू हो लेकिन लंबी दूरी पर ड्रिफ्ट करता हो, मैपिंग के लिए उपयुक्त नहीं होता।

मीट्रिक यह मुख्य रूप से क्या बताता है खामी
ATE RMSE/माध्यिका प्रक्षेपवक्र की समग्र स्थितिगत स्थिरता संरेखण विधि के आधार पर मान में बहुत परिवर्तन होता है
RPE (दूरी/समय अंतराल) स्थानीय ड्रिफ्ट, नियंत्रण पर प्रभाव अंतराल की लंबाई बताए बिना तुलनीय नहीं
घूर्णन त्रुटि जाइरोस्कोप/दृश्य अभिविन्यास की गुणवत्ता यॉ को रोल/पिच के साथ मिलाने से कारण छिप जाता है
स्केल त्रुटि मोनोक्युलर का भौतिक पैमाना VIO/स्टीरियो Sim(3) अलाइनमेंट के बाद मूल्यांकन नहीं किया जा सकता

ट्रैक दर / विफलता दर | वास्तविक दुनिया में उपलब्धता | विफलता के बाद स्वचालित पुनः आरंभीकरण को न छिपाएँ |

विलंबता / CPU / पावर | एम्बेडेड कार्यान्वयन की व्यावहारिकता | केवल ऑफ़लाइन प्रोसेसिंग से मूल्यांकन नहीं किया जा सकता |

EuRoC MAV, TUM VI, UZH-FPV और KITTI सार्वजनिक डेटासेट हैं जिनका उपयोग आमतौर पर तुलना के लिए किया जाता है। लेकिन इनडोर हैंडहेल्ड कैमरे, वाहन-माउंटेड सेटअप और रेसिंग ड्रोन का फ़ील्ड ऑफ़ व्यू, प्रकाश, गति, कंपन और एक्सपोज़र अलग-अलग होते हैं। बेंचमार्क रैंकिंग को सीधे वास्तविक हार्डवेयर पर आयात करने के बजाय, अपने लॉग के समान मार्ग, गति और विफलता की स्थिति पर मूल्यांकन करें। यहां तक कि उस क्षेत्र में भी जहां वास्तविक स्थिति को कैप्चर नहीं किया जा सकता है, आप एक बंद लूप के प्रारंभ/अंत अंतराल, ज्ञात दूरी, दीवार के पुनर्प्रक्षेपण या बाहरी गति कैप्चर द्वारा कवर किए गए आंशिक खंड के आधार पर ऑडिट कर सकते हैं।

11. प्रतिनिधि विफलता स्थितियाँ और निवारण उपाय

कम बनावट, अंधेरा, धुंधलापन

एक सफेद दीवार, एक अंधेरा गलियारा, बैकलाइटिंग, या एक तीव्र मोड़ दृश्य अवशेष में अपर्याप्त ग्रेडिएंट छोड़ देते हैं। जब फीचर पॉइंट कम हों तो RANSAC थ्रेशोल्ड को ढीला करने से बेमेल की संभावना बढ़ जाती है। इसके निवारण उपायों में एक्सपोज़र समय को कम करने वाला प्रकाश/सेंसर डिज़ाइन, वाइड-एंगल या स्टीरियो मोड का उपयोग, फीचर पॉइंट्स का पुनः पता लगाना और उपभोक्ता को अनुमानित अनिश्चितता में वृद्धि की सूचना देना शामिल है।

गतिशील वस्तुएं और परावर्तन

VIO मानता है कि अधिकांश छवि बिंदु स्थिर पृष्ठभूमि से संबंधित हैं। भीड़, यातायात में आगे चल रहा वाहन, दर्पण, कांच और पानी की सतहें इस धारणा को तोड़ देती हैं। केवल रोबस्ट लॉस और RANSAC ही उस स्थिति को नहीं बचा सकते जहां पृष्ठभूमि अल्पसंख्यक हो जाती है। इसके लिए गतिशील वस्तुओं के सिमेंटिक क्षेत्र को बाहर करना, गहराई या प्रवाह के साथ कई गतियों को अलग करना और स्थिर वस्तुओं को प्राथमिकता देने वाला डिज़ाइन आवश्यक है।

IMU संतृप्ति, कंपन, तापमान विचलन

ड्रोन और छोटे रोबोट में मोटर कंपन एक्सेलेरोमीटर में मजबूत बैंड-सीमित शोर उत्पन्न करता है, और झटके इसकी सीमा को संतृप्त कर सकते हैं। फ़िल्टर के नॉइज़ को बहुत कम सेट करने और IMU पर ज़रूरत से ज़्यादा भरोसा करने से यह इमेज करेक्शन को अस्वीकार कर देता है और विचलन उत्पन्न करता है। वाइब्रेशन आइसोलेशन, उपयुक्त बैंड-लिमिटिंग, सैचुरेशन फ़्लैग, तापमान को शामिल करने वाला बायस मॉडल और मापे गए नॉइज़ पैरामीटर का उपयोग करें। साथ ही, सावधान रहें — रॉ IMU को ज़रूरत से ज़्यादा स्मूथ करने से शॉर्ट एक्सेलरेशन खो जाते हैं।

समय ऑफ़सेट और कोऑर्डिनेट-फ़्रेम में गड़बड़ी

5 मिलीसेकंड का समय ऑफ़सेट तेज़ रोटेशन के दौरान फ़ील्ड-ऑफ़-व्यू में बड़े अंतर को दर्शाता है। स्पष्ट रूप से बताएं कि इमेज टाइमस्टैम्प का मतलब एक्सपोज़र प्रारंभ, एक्सपोज़र मध्यबिंदु या प्राप्ति समय है, और IMU टाइमस्टैम्प का मतलब सैंपल समय या आगमन समय है। दाएं हाथ/बाएं हाथ के कन्वेंशन, गुरुत्वाकर्षण का चिह्न, T_{BC} बनाम T_{CB} या कैमरे के ऑप्टिकल अक्ष की दिशा में गड़बड़ी से ऑप्टिमाइज़ेशन संख्यात्मक रूप से अभिसरित हो सकता है लेकिन भौतिक रूप से गलत हो सकता है। एक स्थिर परीक्षण, एक ज्ञात 90-डिग्री रोटेशन और एक छोटी सीधी रेखा गति का उपयोग करके यूनिट परीक्षण तैयार करें।

आरंभीकरण और पुनःस्थानीकरण में भ्रम

आरंभीकरण का अर्थ है बिना किसी मानचित्र या पैमाने के किसी स्थिति से अनुमान लगाना शुरू करना; पुनःस्थानीकरण का अर्थ है किसी ज्ञात मानचित्र या पिछले कीफ़्रेम पर वापस लौटना। ट्रैकिंग खो जाने पर शुद्ध VO/VIO आमतौर पर एक नए स्थानीय निर्देशांक फ्रेम में पुनः आरंभ करता है। मूल्यांकन करते समय लूप-क्लोजिंग SLAM की पुनःस्थानीकरण क्षमता को VO के कच्चे ड्रिफ्ट प्रदर्शन से भ्रमित न करें। उत्पाद में, ट्रैकिंग खो जाने के बाद पुराने निर्देशांक फ्रेम का उपयोग जारी रखना है, सुरक्षित रूप से रोकना है, या एंकर को अमान्य करना है, यह स्पष्ट रूप से तय करें।

12. हाल के रुझान

हाल के वर्षों में, सुपरपॉइंट, लाइटग्लू और LoFTR जैसे लर्निंग-आधारित फ़ीचर और कॉरेस्पोंडेंस अनुमान, कुछ मामलों में, उन दिखावट परिवर्तनों के विरुद्ध प्रभावी साबित हुए हैं जिन्हें पारंपरिक स्थानीय डिस्क्रिप्टर के लिए पहचानना मुश्किल होता है। DROID-SLAM जैसे ऐसे दृष्टिकोण भी सामने आए हैं जो एक गहरे नेटवर्क को पुनरावृत्ति ज्यामितीय अनुकूलन के साथ जोड़ते हैं। लेकिन जब कोई सीखा हुआ मॉडल कई संगतियाँ लौटाता है, तब भी स्केल अस्पष्टता, समतलीय अपघटन, समय तुल्यकालन और आईएमयू पूर्वाग्रह भौतिक समस्याएँ बनी रहती हैं। एक ऐसा डिज़ाइन जो मजबूत ज्यामिति, पुनर्प्रक्षेपण त्रुटि और जड़त्वीय संगति के विरुद्ध सीखे हुए आउटपुट को सत्यापित करता है, अभी भी मूलभूत दृष्टिकोण है।

इवेंट कैमरे, अपनी उच्च गति और उच्च गतिशील रेंज के साथ, उन स्थितियों को कवर करने की क्षमता रखते हैं जहाँ एक पारंपरिक कैमरा धुंधलापन या अंधेरे से जूझता है। मल्टी-मोडल अनुमान जो वीआईओ में लिडार, यूडब्ल्यूबी, जीएनएसएस या व्हील ओडोमेट्री को जोड़ता है, दीर्घकालिक बहाव और कठोर वातावरण के लिए एक प्रतिउपाय के रूप में व्यावहारिक होता जा रहा है। अधिक सेंसर जोड़ने से प्रदर्शन में स्वतः सुधार नहीं होता है - बाह्यता, समय, दोष पहचान और भार समायोजन सभी संभावित विफलता के नए क्षेत्र बन जाते हैं।

13. सारांश

वीओ छवियों से अल्पकालिक सापेक्ष गति को पुनर्प्राप्त करने के लिए एक उपयोगी ओडोमेट्री तकनीक है, लेकिन मोनोक्युलर वीओ में कोई स्केल नहीं होता है और स्थानीय त्रुटि संचित होती है। VIO, IMU की उच्च-आवृत्ति गति अवरोधन क्षमता को कैमरे के दीर्घकालिक सुधार के साथ जोड़ता है, जिससे एक साथ स्केल, पोज़, वेग और बायस का अनुमान लगाया जा सकता है। इसका मूल आधार एक सटीक सेंसर मॉडल, IMU प्रीइंटीग्रेशन, पर्याप्त गति उत्तेजना का उपयोग करके आरंभीकरण और दृश्य एवं जड़त्वीय अवशिष्टों का सुदृढ़ संलयन है।

व्यवहार में, पहले अंशांकन, समय और निर्देशांक फ़्रेमों की पुष्टि करें, फिर लंबन, इनलायर वितरण, पुनर्प्रक्षेपण त्रुटि, बायस, गुरुत्वाकर्षण और ट्रैकिंग स्थिति को अवलोकन योग्य लॉग में परिवर्तित करें। VINS-Mono और OpenVINS अच्छे प्रारंभिक बिंदु हैं, लेकिन इन्हें आपकी कैप्चर स्थितियों, विलंबता, पुनः आरंभीकरण नीति और सुरक्षा आवश्यकताओं के आधार पर परखा जाना चाहिए। अंततः जिस पर भरोसा किया जाना चाहिए वह यह नहीं है कि प्रक्षेप पथ कितना अच्छा दिखता है, बल्कि एक ऐसा डिज़ाइन है जो यह समझा सके कि किन परिस्थितियों में स्केल और पोज़ अवलोकन योग्य हैं, और किन परिस्थितियों में अनिश्चितता बढ़ती है।

अपनी समझ की जाँच करें
क्या IMU जोड़ने से स्केल हमेशा स्थिर हो जाता है?

अवलोकनीयता गति पर निर्भर करती है।

अपर्याप्त उत्तेजना या अंशांकन त्रुटि अतिरिक्त सेंसर के बावजूद अनुमान को अस्थिर बना सकती है। ## संदर्भ (प्राथमिक स्रोत और आधिकारिक दस्तावेज़) - [स्कारामुज़ा और फ्राउंडोर्फर, विज़ुअल ओडोमेट्री: भाग I (IEEE रोबोटिक्स एंड ऑटोमेशन पत्रिका, 2011)](https://doi.org/10.1109/MRA.2011.943233) - [फ़ॉस्टर एट अल., ऑन-मैनिफोल्ड प्रीइंटीग्रेशन फॉर रियल-टाइम विज़ुअल-इनर्टियल ओडोमेट्री (IEEE TRO, 2017)](https://doi.org/10.1109/TRO.2016.2597321) - [किन, ली और शेन, VINS-Mono: एक मजबूत और बहुमुखी मोनोक्युलर विज़ुअल-इनर्टियल स्टेट एस्टीमेटर (IEEE TRO, 2018)](https://doi.org/10.1109/TRO.2018.2853729) - [जिनेवा एट अल., OpenVINS: विज़ुअल-इनर्टियल एस्टीमेशन के लिए एक अनुसंधान मंच] (ICRA 2020)](https://arxiv.org/abs/1910.11675) - [OpenVINS आधिकारिक दस्तावेज़ीकरण](https://docs.openvins.com/) - [VINS-Mono आधिकारिक रिपॉजिटरी](https://github.com/HKUST-Aerial-Robotics/VINS-Mono) - [Kalibr आधिकारिक रिपॉजिटरी](https://github.com/ethz-asl/kalibr) - [EuRoC MAV डेटासेट (ETH ज़्यूरिख)](https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) - [TUM VI बेंचमार्क](https://cvg.cit.tum.de/data/datasets/visual-inertial-dataset) - [DROID-SLAM पेपर (NeurIPS 2021)](https://proceedings.neurips.cc/paper_files/paper/2021/hash/a7c9585703d275249f30e7c8b80005e9-Abstract.html)

What to read next

Review the backgroundमल्टी-व्यू स्टीरियो प्राइमर — एक विरल पॉइंट क्लाउड को सघन 3डी आकार में भरनाContinue the seriesलूप क्लोज़र प्राइमर — एक लूप के चारों ओर, एक ही बार में SLAM सिस्टम के ड्रिफ्ट को ठीक करनाExplore another aspect of this fieldछवि चमक और ल्यूमिनेंस Lab — एक्सपोज़र, गामा और क्लिपिंग