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 से यह coarse 800mmx600mm बोर्ड खरीदने की सलाह देते हैं

- एक ChArUco कैलिब्रेशन बोर्ड प्रिंट करें या एक बड़े लैपटॉप या कंप्यूटर स्क्रीन पर बोर्ड की इमेज का उपयोग करें। डाउनलोड पेज से हमारे बोर्ड का उपयोग करें, या अपना खुद का जनरेट करें।
- एक पंक्ति में काले वर्गों की कुल संख्या और ArUco मार्करों की कुल संख्या जोड़कर ग्रिड की "चौड़ाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 11)।
- एक कॉलम में काले वर्गों की कुल संख्या और ArUco मार्करों की कुल संख्या जोड़कर ग्रिड की "ऊंचाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 8)।
- एक वर्ग और एक मार्कर की भुजाओं की लंबाई मिलीमीटर में मापकर "स्क्वायर साइज़" और "मार्कर साइज़" माप की पु ष्टि करें।
- स्क्वायर साइज़ और मार्कर साइज़ माप महत्वपूर्ण हैं, इसलिए कैलिपर का उपयोग करें।
- डिक्शनरी टाइप नोट करें। डाउनलोड पेज से डिफ़ॉल्ट बोर्ड 5x5_100 डिक्शनरी का उपयोग करता है।
कैलिब्रेशन इमेज कैप्चर करना
- सुनिश्चित करें कि आपका बोर्ड यथासंभव सपाट है।
- यदि आपका बोर्ड सपाट नहीं है तो आपको कैलिब्रेशन नहीं करना चाहिए। आप calib.io से विशेष बोर्ड खरीद सकते हैं, या अपने प्रिंटेड बोर्ड को क्लिपबोर्ड पर फिक्स कर सकते हैं।
- अपने रोबोट को चालू करें और Limelight वेब UI एक्सेस करें।
- एक 1280x960 AprilTag पाइपलाइन बनाएं।
- "इनपुट" सोर्स टाइप को "Camera" से "Snapshot" में बदलकर और "Delete all snapshots" पर क्लिक करके सभी सेव किए गए स्नैपशॉट हटाएं।
- "इनपुट" सोर्स टाइप को वापस "Camera" में बदलें।
- शुरू करने के लिए ChArUco बोर्ड के कम से कम 25 स्नैपशॉट कैप्चर करें। एक बार जब आप प्रक्रिया से परिचित हो जाएं, तो आप कुल कम से कम 50 इमेज कैप्चर करने के लिए वापस जाना चाहेंगे।
- स्टैंडर्ड चेकरबोर्ड कैलिब्रेशन पर ChArUco कैलिब्रेशन का मुख्य लाभ यह है कि यह तब भी काम करता है जब बोर्ड का केवल एक हिस्सा कैमरे को दिखाई दे। इस लाभ का उपयोग करना महत्वपूर्ण है।
- आपकी इमेज में निम्नलिखित गुणों का अच्छा मिश्रण होना चाहिए:
- आपका बोर्ड इमेज के बड़े क्षेत्रों में फैला हो।
- आपका बोर्ड इमेज के कम से कम एक किनारे या कोने से आगे बढ़े (यह इमेज के किनारों के आसपास डिस्टॉर्शन की गणना करने में मदद करेगा)।
- आपका बोर्ड अक्सर इस तरह स्थित हो कि उसमें पर्सपेक्टिव वार्प हो (बोर्ड इमेज प्लेन के समानांतर नहीं होना चाहिए)।
- बोर्ड की स्थिति, पर्सपेक्टिव और कवरेज में व्यापक विविधता का लक्ष्य रखें।
- आपकी 50% इमेज में महत्वपूर्ण फोरशॉर्टनिंग दिखनी चाहिए। यह करीब के मार्करों के दूर के मार्करों से बड़े दिखने का प्रभाव है। निम्नलिखित स्क्रीनशॉट में पहली और आखिरी इमेज फोरशॉर्टनिंग दर्शाती हैं

कैलिब्रेट करना
- "Calibration" टैब पर नेविगेट करें। यह वर्टिकल साइडबार में तीसरा टैब है।
- "बोर्ड तैयार करना" चरण में पाए गए पांच मान दर्ज करें।
- "Calibrate with Snapshots" बटन पर क्लिक करें। प्रक्रिया को पूरा होने में एक या दो मिनट लग सकते हैं।
- सफलता पर, "Latest Calibration Result" कार्ड नवीनतम कैलिब्रेशन परिणाम दिखाएगा।
- कम रीप्रोजेक्शन एरर (आदर्श रूप से 1 से कम) के साथ उचित परिणाम के लिए "Latest Calibration Result" कार्ड की जांच करें।
- नवीनतम कैलिब्रेशन परिणाम डाउनलोड करें और इसे "custom - file" कैलिब्रेशन स्लॉट में अपलोड करें।
- अब आपको तीन पॉपुलेटेड कैलिब्रेशन रिजल्ट कार्ड दिखाई देने चाहिए।
- अपने कस्टम कैलिब्रेशन परिणाम का उपयोग करने के लिए अपनी "preferred calibration" को "custom - file" में बदलें। सभी पाइपलाइन आपके कैलिब्रेशन परिणाम का उपयोग करेंगी।
- एक बार जब आप प्रक्रिया से परिचित हो जाएं तो अधिक स्क्रीनशॉट कैप्चर करने और फिर से कैलिब्रेट करने पर विचार करें।