मुख्य कंटेंट तक स्किप करें

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 कैलिब्रेशन को यथासंभव सहज और बुलेटप्रूफ बनाने के लिए डिज़ाइन किया गया था। बढ़ी हुई सटीकता के लिए अपने कैमरे को कैलिब्रेट करना सीखने के लिए निम्नलिखित चरणों को पढ़ें, और फिर नीचे दिया गया वीडियो देखें।

info

आपको केवल एक रेज़ोल्यूशन पर कैलिब्रेट करने की आवश्यकता है (हम LL3 के लिए 1280x960 और LL3G के लिए 1280x800 की सिफारिश करते हैं)। इंट्रिंसिक्स को आपकी पाइपलाइन के चुने गए रेज़ोल्यूशन से मेल खाने के लिए ऑटो-स्केल किया जाता है, और विकृति गुणांक एक निश्चित आस्पेक्ट अनुपात और FOV के लिए रेज़ोल्यूशन-अपरिवर्तनीय होते हैं। हार्डवेयर ज़ूम पाइपलाइन और 5-मेगापिक्सेल पाइपलाइन ही ऐसी पाइपलाइन हैं जो कस्टम कैलिब्रेशन का उपयोग नहीं करेंगी।

बोर्ड तैयार करना

आप अपने कैमरे को कैलिब्रेट करने के लिए किसी भी लैपटॉप स्क्रीन का उपयोग कर सकते हैं। हालांकि, अधिकतम सटीकता के लिए, हम calib.io से यह मोटा 800mmx600mm बोर्ड खरीदने की सिफारिश करते हैं

ChArUco बोर्ड उदाहरण

  1. ChArUco कैलिब्रेशन बोर्ड प्रिंट करें या बड़े लैपटॉप या कंप्यूटर स्क्रीन पर बोर्ड की छवि का उपयोग करें। डाउनलोड पेज से हमारे बोर्ड का उपयोग करें, या अपना खुद का जनरेट करें
  2. एक पंक्ति में कुल काले वर्गों और कुल ArUco मार्करों की संख्या जोड़कर ग्रिड की "चौड़ाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 11)।
  3. एक कॉलम में कुल काले वर्गों और कुल ArUco मार्करों की संख्या जोड़कर ग्रिड की "ऊंचाई" ज्ञात करें (डिफ़ॉल्ट Limelight कैलिब्रेशन बोर्ड के लिए 8)।
  4. एक वर्ग और एक मार्कर की भुजाओं की लंबाई को मिलीमीटर में मापकर "वर्ग आकार" और "मार्कर आकार" मापों की पुष्टि करें।
    • वर्ग आकार और मार्कर आकार माप महत्वपूर्ण हैं, इसलिए कैलिपर्स का उपयोग करें।
  5. डिक्शनरी प्रकार नोट करें। डाउनलोड पेज से डिफ़ॉल्ट बोर्ड 5x5_100 डिक्शनरी का उपयोग करता है।

कैलिब्रेशन छवियां कैप्चर करना

  1. सुनिश्चित करें कि आपका बोर्ड जितना संभव हो सके समतल है।
    • यदि आपका बोर्ड समतल नहीं है तो आपको कैलिब्रेशन नहीं करना चाहिए। आप calib.io से विशेष बोर्ड खरीद सकते हैं, या अपने प्रिंट किए गए बोर्ड को क्लिपबोर्ड पर फिक्स कर सकते हैं।
  2. अपने रोबोट को चालू करें और Limelight वेब UI एक्सेस करें।
  3. 1280x960 AprilTag पाइपलाइन बनाएं।
  4. "इनपुट" स्रोत प्रकार को "कैमरा" से "स्नैपशॉट" में बदलकर और "सभी स्नैपशॉट हटाएं" पर क्लिक करके सभी सहेजे गए स्नैपशॉट हटाएं।
  5. "इनपुट" स्रोत प्रकार को वापस "कैमरा" पर बदलें।
  6. शुरू करने के लिए ChArUco बोर्ड के कम से कम 25 स्नैपशॉट कैप्चर करें। एक बार जब आप प्रक्रिया से परिचित हो जाएं, तो आप कुल कम से कम 50 छवियां कैप्चर करना चाहेंगे।
  7. मानक चेकरबोर्ड कैलिब्रेशन की तुलना में ChArUco कैलिब्रेशन का मुख्य लाभ यह है कि यह तब भी काम करता है जब बोर्ड का केवल एक हिस्सा ही कैमरे को दिखाई देता है। इस लाभ का उपयोग करना महत्वपूर्ण है।
  8. आपकी छवियों में निम्नलिखित गुणों का अच्छा मिश्रण होना चाहिए:
    • आपका बोर्ड छवि के बड़े क्षेत्रों में फैला हुआ है।
    • आपका बोर्ड छवि के कम से कम एक किनारे या कोने से आगे निकलता है (यह छवियों के किनारों के आसपास विकृति की गणना में मदद करेगा)।
    • आपका बोर्ड अक्सर इस तरह स्थित होता है कि इसमें परिप्रेक्ष्य वार्प हो (बोर्ड छवि तल के समानांतर नहीं होना चाहिए)।
    • बोर्ड की स्थितियों, परिप्रेक्ष्यों और कवरेज में व्यापक विविधता का लक्ष्य रखें।
    • आपकी 50% छवियां महत्वपूर्ण फोरशॉर्टनिंग दिखाती हैं। यह प्रभाव है जब नजदीक के मार्कर दूर के मार्करों की तुलना में बड़े दिखाई देते हैं। निम्नलिखित स्क्रीनशॉट में पहली और अंतिम छवियां फोरशॉर्टनिंग प्रदर्शित करती हैं

कैलिब्रेशन उदाहरण

कैलिब्रेट करना

  1. "कैलिब्रेशन" टैब पर नेविगेट करें। यह वर्टिकल साइडबार में तीसरा टैब है।
  2. "बोर्ड तैयार करना" चरण में पाए गए पांच मान दर्ज करें।
  3. "स्नैपशॉट के साथ कैलिब्रेट करें" बटन पर क्लिक करें। प्रक्रिया को पूरा होने में एक या दो मिनट लग सकते हैं।
  4. सफलता पर, "नवी