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

अतिरिक्त सिद्धांत

विज़न टारगेट्स

FRC गेम डिज़ाइनर्स अक्सर फील्ड में रणनीतिक स्थानों पर परावर्तक "विज़न टारगेट्स" रखते हैं। ये विज़न टारगेट्स आमतौर पर रेट्रो-रिफ्लेक्टिव टेप से बने होते हैं। प्रमुख स्कोरिंग एलिमेंट्स में आमतौर पर विज़न टारगेट्स होते हैं जिनका उपयोग स्वचालित निशाना लगाने के लिए किया जा सकता है। नीचे आप 2016 और 2017 FRC गेम्स के विज़न टारगेट्स के दो उदाहरण देख सकते हैं।

विज़न टारगेट उदाहरण

इन रेट्रो-रिफ्लेक्टिव विज़न टारगेट्स में एक बहुत उपयोगी गुण होता है: जब उन पर प्रकाश डाला जाता है, तो वह प्रकाश स्रोत की ओर सीधा परावर्तित होता है। यही कारण है कि Limelight के कैमरा लेंस के चारों ओर चमकीली हरी LED होती हैं। टारगेट की ओर चमकीला हरा प्रकाश भेजते हुए कैमरा एक्सपोजर को बहुत कम करके, हम एक ऐसी छवि प्राप्त कर सकते हैं जो ज्यादातर काली होती है और जिसमें एक चमकीला हरा विज़न टारगेट होता है। यह टारगेट को प्राप्त करने का काम अपेक्षाकृत आसान बना देता है।

यहाँ आप आदर्श छवि का एक उदाहरण देख सकते हैं। ध्यान दें कि कम एक्सपोजर सेटिंग के कारण छवि में लगभग सभी विवरण गायब हो गए हैं लेकिन रेट्रो-रिफ्लेक्टिव टेप चमकीली तरह से उभरती है।

विज़न टारगेट उदाहरण 2


थ्रेशोल्डिंग

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

Limelight HSV (Hue-Saturation-Value) कलरस्पेस में थ्रेशोल्डिंग करता है। आप RGB (Red-Green-Blue) कलरस्पेस में रंगों के बारे में सोचने के आदी हो सकते हैं। HSV रंग को दर्शाने का एक और तरीका है, जैसे कार्टेशियन कोऑर्डिनेट्स या पोलर कोऑर्डिनेट्स का उपयोग स्थितियों का वर्णन करने के लिए किया जा सकता है। हम HSV कलरस्पेस का उपयोग इसलिए करते हैं क्योंकि Hue का उपयोग Limelight की LED द्वारा आउटपुट किए गए हरे रंग को बहुत कसकर चुनने के लिए किया जा सकता है।

HSV छवि

छवि से जितना हो सके उतना हटाने के लिए अपनी थ्रेशोल्डिंग सेटिंग्स को समायोजित करना महत्वपूर्ण है। आपको सबसे अच्छे परिणाम तब मिलेंगे जब आप अगले चरण पर जाने से पहले अपनी विज़न पाइपलाइन के प्रत्येक चरण को अनुकूलित करें। निम्नलिखित छवि अनुचित और उचित थ्रेशोल्डिंग के बीच अंतर को दर्शाती है:

थ्रेशोल्डिंग उदाहरण

कभी-कभी एरीना में छत की लाइटें या खिड़कियां जैसी चीजें थ्रेशोल्डिंग का उपयोग करके छवि से हटाना मुश्किल हो सकता है, जो हमें अगले चरण पर ले जाता है।


कंटूर फिल्टरिंग

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

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

FRC विज़न टारगेट्स में अक्सर कुछ ज्यामितीय गुण होते हैं जिनका उपयोग कंटूर को फिल्टर करने में मदद के लिए किया जा सकता है। उदाहरण के लिए, यदि विज़न टारगेट में एक चौड़ा आस्पेक्ट रेशियो है, तो हम किसी भी कंटूर को फिल्टर कर सकते हैं जो चौड़ा नहीं है:

टारगेट

हालांकि, ध्यान रखें कि आपका कैमरा टारगेट को एक अजीब कोण से देख सकता है। यह इसके कंटूर के आस्पेक्ट रेशियो को काफी प्रभावित कर सकता है। अपनी सेटिंग्स का विभिन्न कोणों से परीक्षण करना सुनिश्चित करें ताकि आप बहुत आक्रामक रूप से फिल्टर न करें और विज़न टारगेट को अनदेखा न करें!

टारगेट

यह अगला इमेज टारगेट बहुत दिलचस्प है। यह FRC में सबसे अच्छे डिज़ाइन किए गए विज़न टारगेट्स में से एक है (हमारी राय में)। Limelight स्वचालित रूप से कंटूर की पूर्णता नामक मान की गणना करता है। पूर्णता कंटूर के पिक्सेल क्षेत्र का उसके उत्तल क्षेत्र से अनुपात है। इस विशेष आकार में बहुत कम पूर्णता है और आप शायद ही कभी इतनी कम पूर्णता वाली छत की लाइटें, खिड़कियां, आदि देखते हैं। इसलिए यदि आपका विज़न टारगेट इस तरह दिखता है तो आप अवांछित कंटूर को बहुत प्रभावी ढंग से फिल्टर कर सकते हैं।

टारगेट

Limelight में कंटूर को फिल्टर करने के कई विकल्प हैं। आप इन विकल्पों का उपयोग उस विशेष विज़न टारगेट की ज्यामितीय विशेषताओं के बारे में अपनी जानकारी के साथ कर सकते हैं जिसे आप ट्रैक करने की कोशिश कर रहे हैं।

वर्तमान में, यदि कई कंटूर आपके फिल्टरिंग विकल्पों से गुजरते हैं, तो सबसे बड़े कंटूर को चुना जाता है। इसके अतिरिक्त, पाइपलाइन हिस्टेरेसिस का उपयोग करके कंटूर पर "लॉक" करना पसंद करती है। यह एक ऐसी विशेषता है जो समान लक्ष्यों के बीच फ्लिकरिंग को रोकने में मदद करती है।

पिक्सेल से कोण तक

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

पहले हम मान लेते हैं कि हमारे पास एक परफेक्ट "पिनहोल" कैमरा है। व्यवहार में यह सत्य से बहुत दूर हो सकता है लेकिन लाइमलाइट का कैमरा इस आदर्श के बहुत करीब है। (एक फिशआई लेंस एक काउंटर-उदाहरण के रूप में इस आदर्श से बहुत दूर होगा।)

लाइमलाइट कैमरे का क्षैतिज फील्ड ऑफ व्यू 54 डिग्री और ऊर्ध्वाधर फील्ड ऑफ व्यू 41 डिग्री है। यह 320x240 रेजोल्यूशन पर छवियां कैप्चर करता है। हम मानते हैं कि छवि का केंद्र कैमरे का ऑप्टिकल एक्सिस है (इसलिए उस स्थान के लिए x और y कोण 0,0 हैं)। इन ज्ञात मानों के आधार पर, हम छवि में किसी भी