ChArUco कैमरा कैलिब्रेशन
यह क्यों महत्वपूर्ण है?
एक पूरी तरह से कैलिब्रेटेड कैमरा अधिक सटीक 2D और 3D मापन प्रदान करेगा। यह किसी भी कार्य के लिए उपयोगी है जो "सर्वोइंग" पर आधारित नहीं है।
इसके बावजूद, हम जितना हो सके "सर्वोइंग" विधि का उपयोग करने की सलाह देते हैं। यह तेज़, सटीक है, और वस्तु अधिग्रहण, निशाना लगाने और लक्ष्यों के साथ संरेखित करने जैसे कार्यों के लिए उपयुक्त है। कैलिब्रेशन के बारे में चिंता न करें जब तक आप यह निर्धारित नहीं करते कि आपको अधिक सटीकता की आवश्यकता है। प्रत्येक LL यूनिट एक डिफ़ॉल्ट कैलिब्रेशन के साथ आती है जो अधिकांश उपयोग के मामलों के लिए काफी अच्छे परिणाम प्रदान करेगी
"सर्वोइंग" आपके रोबोट को तब तक घुमाने की प्रक्रिया है जब तक आपका लक्ष्य एक कॉन्फ़िगर करने योग्य "क्रॉसहेयर" के साथ पूरी तरह से संरेखित न हो जाए। यह रोबोटिक्स में विज़न समस्याओं से निपटने का सबसे आसान और कई मामलों में, सबसे विश्वसनीय तरीका है।
कैमरा कैलिब्रेशन क्या है?
इंट्रिंसिक्स कैलिब्रेशन निम्नलिखित दो घटकों को निर्धारित करने की प्रक्रिया है:
1. कैमरा मैट्रिक्स
कैमरा मैट्रिक्स, जिसे अक्सर K के रूप में दर्शाया जाता है, एक 3x3 मैट्रिक्स है जो बताता है कि लेंस और सेंसर 3D दुनिया को 2D चित्र में कैसे बदलते हैं।
[fx 0 cx]
[0 fy cy]
[0 0 1]
cx और cy प्रिंसिपल पॉइंट / प्रिंसिपल पिक्सेल के निर्देशांक हैं। प्रिंसिपल पॉइंट / प्रिंसिपल पिक्सेल वह पिक्सेल है जो ऑप्टिकल एक्सिस / लेंस के केंद्र के साथ सीधे संरेखित होता है। निर्माण के दौरान, कैमरा लेंस लगभग कभी भी इमेज सेंसर के केंद्र के साथ पूरी तरह से संरेखित नहीं होता है। यह समझना महत्वपूर्ण है कि कौन सा पिक्सेल वास्तविक "केंद्र" पिक्सेल है
fx और fy पिक्सेल में गणना किए गए फोकल लेंथ हैं। fx और fy हमें कैमरे के फील्ड ऑफ व्यू / ज़ूम स्तर को समझने में मदद करते हैं।
2. विकृति गुणांक
हम 5 विकृति गुणांक की गणना करते हैं:
[k1, k2, p1, p2, k3]
k1, k2, k3 रेडियल विकृति गुणांक हैं जो सीधी रेखाओं को घुमावदार दिखाते हैं।
p1, p2 टैंजेंशियल विकृति गुणांक हैं जो लेंस के इमेज प्लेन के समानांतर न होने के कारण होते हैं।
ChArUco कैलिब्रेशन करना
Limelight के साथ ChArUco कैलिब्रेशन को यथासंभव सहज और बुलेटप्रूफ बनाने के लिए डिज़ाइन किया गया था। निम्नलिखित चरणों को पढ़ें, और फिर अधिक सटीकता के लिए अपने कैमरे को कैलिब्रेट करना सीखने के लिए नीचे दिए गए वीडियो को देखें।
आपको केवल एक रिज़ॉल्यूशन पर कैलिब्रेट करने की आवश्यकता है (हम LL3 के लिए 1280x960 और LL3G के लिए 1280x800 की सिफारिश करते हैं)। इंट्रिंसिक्स को आपके पाइपलाइन के चुने गए रिज़ॉल्यूशन से मेल खाने के लिए ऑटो-स्केल किया जाता है, और विकृति गुणांक एक निश्चित आस्पेक्ट अनुपात और FOV के लिए रिज़ॉल्यूशन-अपरिवर्तनीय होते हैं। हार्डवेयर ज़ूम पाइपलाइन और 5-मेगापिक्सेल पाइपलाइन ही ऐसी पाइपलाइन हैं जो कस्टम कैलिब्रेशन का उपयोग नहीं करेंगी।
बोर्ड तैयार करना
आप अपने कैमरे को कैलिब्रेट करने के लिए किसी भी लैपटॉप स्क्रीन का उपयोग कर सकते हैं। हालांकि, अधिकतम सटीकता के लिए, हम calib.io से यह 800mmx600mm बोर्ड खरीदने की सलाह देते हैं।
- ChArUco कैलिब्रेशन बोर्ड प्रिंट करें या बड़े लैपटॉप या कंप्यूटर स्क्रीन पर बोर्ड की छवि का उपयोग करें। डाउनलोड पेज से हमारे बोर्ड का उपयोग करें, या अपना खुद का जनरेट करें।
- एक पंक्ति में कुल काले वर्गों और कुल ArUco मार्करों की संख्या जोड़कर ग्रिड की "चौड़ाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 11)।
- एक कॉलम में कुल काले वर्गों और कुल ArUco मार्करों की संख्या जोड़कर ग्रिड की "ऊंचाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 8)।
- मिलीमीटर में एक वर्ग और एक मार्कर की भुजाओं की लंबाई को मापकर "स्क्वायर साइज़" और "मार्कर साइज़" माप की पुष्टि करें।
- स्क्वायर साइज़ और मार्कर साइज़ माप महत्वपूर्ण हैं, इसलिए कैलिपर्स का उपयोग करें।
- डिक्शनरी प्रकार नोट करें। डाउनलोड पेज से डिफ़ॉल्ट बोर्ड 5x5_100 डिक्शनरी का उपयोग करता है।
कैलिब्रेशन इमेज कैप्चर करना
- सुनिश्चित करें कि आपका बोर्ड जितना संभव हो सके समतल है।
- यदि आपका बोर्ड समतल नहीं है तो आपको कैलिब्रेशन नहीं करना चाहिए। आप calib.io से विशेष बोर्ड खरीद सकते हैं, या अपने प्रिंटेड बोर्ड को क्लिपबोर्ड पर ठीक कर सकते हैं।
- अपने रोबोट को चालू करें और Limelight वेब UI तक पहुंचें।
- 1280x960 AprilTag पाइपलाइन बनाएं।
- "इनपुट" स्रोत प्रकार को "कैमरा" से "स्नैपशॉट" में बदलकर और "सभी स्नैपशॉट हटाएं" पर क्लिक करके सभी सहेजे गए स्नैपशॉट हटा दें।
- "इनपुट" स्रोत प्रकार को वापस "कैमरा" पर बदलें।
- शुरू करने के लिए ChArUco बोर्ड के कम से कम 25 स्नैपशॉट कैप्चर करें। एक बार जब आप प्रक्रिया से परिचित हो जाएंगे, तो आप कुल कम से कम 50 छवियों को कैप्चर करने के लिए वापस जाना चाहेंगे।
- मानक चेकरबोर्ड कैलिब्रेशन पर ChArUco कैलिब्रेशन का मुख्य लाभ यह है कि यह तब भी काम करता है जब बोर्ड का केवल एक हिस्सा ही कैमरे को दिखाई देता है। इस लाभ का उपयोग करना महत्वपूर्ण है।
- आपकी छवियों में निम्नलिखित गुणों का अच्छा मिश्रण होना चाहिए:
- आपका बोर्ड छवि के बड़े क्षेत्रों में फैला हुआ है।
- आपका बोर्ड छवि के कम से कम एक किनारे या कोने से आगे निकला हुआ है (यह छवियों के किनारों के आसपास विकृति की गणना में मदद करेगा)।
- आपका बोर्ड अक्सर इस तरह से स्थित है कि इसमें परिप्रेक्ष्य वार्प है (बोर्ड छवि के समतल के समानांतर नहीं होना चाहिए)।
- बोर्ड की स्थितियों, परिप्रेक्ष्यों और कवरेज में व्यापक विविधता का लक्ष्य रखें।
- आपकी 50% छवियां महत्वपूर्ण फोरशॉर्टनिंग को दर्शाती हैं। यह प्रभाव है जिसमें नज़दीकी मार्कर दूर के मार्करों की तुलना में बड़े दिखाई देते हैं। निम्नलिखित स्क्रीनशॉट में पहली और अंतिम छवियां फोरशॉर्टनिंग को प्रदर्शित करती हैं।
कैलिब्रेट करना
- "कैलिब्रेशन" टैब पर नेविगेट करें। यह वर्टिकल साइडबार में तीसरा टैब है।
- "बोर्ड तैयार करना" चरण में पाए गए पांच मूल्यों को दर्ज करें।
- "स्नैपशॉट के साथ कैलिब्रेट करें" बटन पर क्लिक करें। प्रक्रिया को पूरा होने में एक या दो मिनट लग सकते हैं।
- सफलता पर, "नवीनतम कैलिब्रेशन परिणाम" कार्ड नवीनतम कैलिब्रेशन परिणाम दिखाएगा।
- कम रिप्रोजेक्शन त्रुटि (आदर्श रूप से 1 से कम) के साथ उचित परिणाम के लिए "नवीनतम कैलिब्रेशन परिणाम" कार्ड की जांच करें।
- नवीनतम कैलिब्रेशन परिणाम डाउनलोड करें और इसे "कस्टम - फ़ाइल" कैलिब्रेशन स्लॉट में अपलोड करें।
- अब आपको तीन भरे हुए कैलिब्रेशन परिणाम कार्ड दिखाई देने चाहिए।
- अपने कस्टम कैलिब्रेशन परिणाम का उपयोग करने के लिए अपने "पसंदीदा कैलिब्रेशन" को "कस्टम - फ़ाइल" में बदलें। सभी पाइपलाइन आपके कैलिब्रेशन परिणाम का उपयोग करेंगी।
- एक बार जब आप प्रक्रिया से परिचित हो जाएं, तो अधिक स्क्रीनशॉट कैप्चर करने और पुनः कैलिब्रेट करने पर विचार करें।