2009-11-08 19 views
8

में मार्कर का पता लगाएं मैं 2 डी ऑब्जेक्ट डिटेक्शन के साथ कुछ मदद प्राप्त करने की उम्मीद कर रहा हूं। मैं उस संदर्भ के बारे में संक्षिप्त विवरण दूंगा जिसमें इसे कार्यान्वित किया जाएगा।2 डी छवि

छत का एक चित्र लिया जाएगा। छत पर मार्कर लगाए जाएंगे ताकि कैमरे का अभिविन्यास निर्धारित किया जा सके। चित्रों को हमेशा सीधे सामना करना होगा। मेरा लक्ष्य छवि में इन मार्करों में से एक का पता लगाने और इसके घूर्णन को निर्धारित करना है। इसलिए रोटेशन और स्केलिंग (कम हद तक) छवि पहचान में उपयोग किए जाने वाले दो प्राथमिक कारक होंगे। मैं या तो सी # या matlab में सॉफ्टवेयर लिख रहा हूँ (अभी तक बिल्कुल यकीन नहीं है)।

Reference Arrow

एक छवि छत के लिया मार्कर होते हैं:

उदाहरण के लिए, मार्कर इस तरह एक तीर हो सकता है। सॉफ़्टवेयर को एक मार्कर का पता लगाने की आवश्यकता है और यह निर्धारित करता है कि इसे 170 डिग्री से घूर्णन किया गया है।

Ceiling Arrows

मैं छवि विश्लेषण के साथ कोई पूर्व अनुभव है। मुझे पता है कि छवि प्रसंस्करण एक काफी व्यापक विषय है और मुझे उम्मीद है कि मुझे किस दिशा में लेना चाहिए और कौन सी तकनीक मेरे आवेदन के लिए सबसे अच्छी होगी। धन्यवाद!

+0

मैं आपके प्रश्न का शीर्षक बदलकर "2 डी छवि में मार्कर का पता लगाने" का सुझाव दूंगा। ऑब्जेक्ट डिटेक्शन में छवि विश्लेषण में अन्य अर्थ हैं। – Ivan

उत्तर

3

मैं MATLAB की अनुशंसा करता हूं या यदि आप सी #, Emgu CV का उपयोग करने का इरादा रखते हैं तो यह बहुत अच्छा है।

Hough transforms एक अच्छा विचार है। एक बार जब आप अपनी छवि में किनारों का पता लगाते हैं, तो Canny edge detector कहें, आपको एक बढ़त छवि मिलती है (जो बाइनरी छवि है केवल मानों के लिए 1 या 0)।

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

alt text http://upload.wikimedia.org/wikipedia/en/a/af/Hough_space_plot_example.png

उपरोक्त उदाहरण में, एक लाइन के लिए पैरामीट्रिक रूप है:

rho = x*cos(theta) + y*sin(theta) 

जहां रो दूरी और थीटा है है कोण

तो जैसा कि यदि आप किसी विशेष अभिविन्यास पर बिन को देखते हैं तो आप देख सकते हैं कि आप उस कोण पर कितनी रेखाएं उन्मुख हैं, यह पता लगा सकते हैं। बेशक, आपको यह पता लगाने के लिए कुछ अतिरिक्त काम करना होगा कि कौन सी रेखाएं उस कोण पर उन्मुख हैं क्योंकि आपके पास प्रति तीर 5 अन्य रेखाएं हैं लेकिन यह बहुत कठिन नहीं होनी चाहिए।

+0

आपका दूसरा पैराग्राफ बुरी तरह से लिखा गया है: ऐसा लगता है कि आटा ट्रांसफॉर्म एक एज डिटेक्टर है, जबकि यह एक लाइन डिटेक्टर है। पूरा होने के लिए, एक सोबेल एज डिटेक्टर भी यहां अच्छी तरह से फिट होगा। –

+0

हम्म, मुझे ऐसा नहीं लगता है। यह बहुत स्पष्ट लगता है कि दूसरा अनुच्छेद हफ़ ट्रांसफॉर्म प्राप्त करने के लिए किनारे की छवि का उपयोग करता है। दूसरा, पूर्णता कोई मुद्दा नहीं है, क्योंकि ** ** ** ** ** ** कई ** किनारे-डिटेक्टर उपलब्ध हैं, इसलिए एक को सही दिशा में ओपी चलाने के लिए पर्याप्त होना चाहिए। किसी भी मामले में, इनपुट के लिए धन्यवाद, मैं अनुच्छेद को संशोधित करूंगा। – Jacob

4

मैं सीधे इस क्षेत्र में नहीं हूं लेकिन मैं आपको विशेष रूप से किनारे का पता लगाना शुरू करने के लिए कहूंगा। यदि आप गणित में एक पृष्ठभूमि है, तो/इंजीनियरिंग सामग्री बहुत समझने में आसान कर रहे हैं:

यह कुछ विचारों चिंगारी लग रहा था: http://www.cfar.umd.edu/~fer/cmsc426/lectures/edge1.ppt

2

आप बढ़त का पता लगाने का पता लगाने, तो Hough फिल्टर गौर करने की आवश्यकता होगी। इसके बाद आपको पैटर्न क्लासिफायर और फीचर निष्कर्षण में देखना होगा।

This paper में एक एल्गोरिदम है जो किनारे का पता लगाने के बिना काम करता प्रतीत होता है। This book excerpt किनारे का पता लगाने के बाद, आपके इरादे के प्रतीक पहचान के प्रति अधिक उन्मुख है।

3

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

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

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

3

कई प्रणालियों मार्करों और मजबूती के साथ उनके उन्मुखीकरण पता लगाने के लिए विकसित किया गया है:

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

दूसरी ओर, अगर आप मर्दाना सीखने में रुचि रखते हैं, मैं आपको यह भी ARToolKit करने के लिए प्रत्यक्ष और its publications (and their references) समझाने कि कैसे मजबूती के साथ मार्कर का पता लगाने को लागू करने की होगी।

1

(कैमरों के सबसे) एक प्रोजेक्टिव ज्यामिति के तहत हासिल कर ली imaged के उन्मुखीकरण का निर्धारण करने के गायब हो जाने अंक और गायब हो जाने लाइनों उपयोग कर रहा है एक कठोर तरीका है। आपको अच्छी खबर: इस जानकारी को खोजने के लिए आपके मार्कर का उपयोग किया जा सकता है!अधिक अच्छी खबर, आपकी छवि संशोधित हो सकती है, इसलिए छवि कॉलम (वाई-अक्ष) ऊपर-नीचे दिशा के अनुरूप होगा। आपको इस सामग्री के बारे में हार्टले और ज़िसमैन की पुस्तक, के अध्याय 8 में कंप्यूटर विजन में एकाधिक दृश्य ज्यामिति में और अधिक जानकारी मिलेगी।

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