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

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

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

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

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

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

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

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


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

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

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

HSV छवि

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

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

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


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

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

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

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

टारगेट

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

टारगेट

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

टारगेट

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

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

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

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

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

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