2010-11-22 4 views
14

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

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

Environment

का एक विशिष्ट छवि है यहां मैं अब तक क्या कर रहा हूं:

    1. क्योंकि जहां भी मैं ड्राइव करता हूं, पर्यावरण कहीं भी कम या कम होता है, इसलिए मैंने क्षितिज और इसके ऊपर कुछ भी बाहर करने के लिए रुचि का क्षेत्र (आरओआई) निर्धारित किया है।
    2. थ्रेसहोल्ड छवि
    3. कैनी एज डिटेक्शन
    4. एक Hough रूपांतरण लागू
    5. ड्रा (मैं थोड़ा में सीमा के लिए मेरे कारण की व्याख्या करेंगे) का पता चला उन रेखाओं को छोड़कर जिनके पास 0.0 का ढाल है या लगभग 0.0

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

यहाँ ऊपर संचालन

Hough Transform

मैं समझता हूँ कि इस समस्या के लिए कई समाधान देखते हैं कि का परिणाम है और मैं इस पर अनगिनत कागजात पढ़ लिया है लेकिन वे सभी बेहद अधिक जटिल वातावरण से निपटने के हो रहे हैं इससे और/या मेरे सिर पर बस रास्ता है। इसके मूल्य के लिए, एक महीने पहले थोड़ा सा, मेरे पास कंप्यूटरविजन में कोई पृष्ठभूमि नहीं थी और इसलिए यह सब मेरे लिए बहुत ही नया है।

अद्यतन 1:

मैं बेहतर संदर्भ में इस डाल करने के लिए लगता है, मैं एक तरह से गलियों ताकि लाइनों है कि मॉडल फिट नहीं है शामिल नहीं हैं मॉडल करने के लिए की तलाश में हूँ। दुर्भाग्य से, मुझे मॉडल के साथ कहां से शुरू करना है इसके बारे में कोई जानकारी नहीं है। कोई सुझाव?

इसके लायक होने के लिए, मैंने उस लेन की पहचान करने में कामयाब रहा है, जिसमें वाहन यात्रा कर रहा है और अतिरिक्त लाइनों को बाहर कर सकता है जो "सक्रिय" लेन का हिस्सा नहीं हैं। उम्मीद है कि इस फोटो सही नहीं मदद मिलेगी

Screenshot

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

उत्तर

3

जाने का एक तरीका उस दृश्य के पूर्व ज्ञान का उपयोग करना होगा जिसे आप देख रहे हैं। आपके पास एक छिपे हुए राज्य के साथ एक मॉडल हो सकता है, जिसमें कैमरा ऊंचाई, कैमरा झुकाव या लेन चौड़ाई, और कैमरा यॉ जैसे गतिशील पैरामीटर, लेन के भीतर कैमरे के पार्श्व विस्थापन, सड़क वक्रता आदि शामिल हैं। Kalman filter के फ्रेम में ऐसे मॉडल को संभाल सकता है। ऐसे मॉडल का लाभ अन्य सड़क सतह चिह्नों जैसे दिशा तीर, ज़ेबरा और इस तरह सहन करने की क्षमता होगी। सौभाग्य!

+0

दुर्भाग्यवश, मुझे ड्राइविंग सिम्युलेटर से कैमरे की ऊंचाई और अन्य पैरामीटर नहीं मिल रहे हैं। हालांकि, पर्यावरण बिल्कुल 95% समय की तस्वीर की तरह दिखता है। क्या कहा गया तरीका अभी भी जांच के लिए उपयुक्त होगा? – saad

+0

यदि आप कैमरे के दृश्य के क्षेत्र को जानते हैं, तो आप गायब बिंदु y समन्वय से झुकाव निर्धारित कर सकते हैं। यदि आप झुकाव (पिच) और लेन चौड़ाई को जानते हैं तो आप कैमरे की ऊंचाई निर्धारित कर सकते हैं। – ssegvic

+0

क्या कोई तरीका है कि मैं अनुभव के क्षेत्र को अनुभवपूर्वक पा सकता हूं? फोकल लंबाई जानने के बिना। मुद्दा यह है कि ड्राइविंग सिम मेरे द्वारा प्रोग्राम नहीं किया गया था और पूरी तरह से किसी अन्य कंपनी से वास्तव में है। जबकि मैं कोशिश करता हूं और उन चीजों के बारे में उनसे पूछता हूं, मुझे नहीं लगता कि ऐसे प्रश्नों का उत्तर उनकी प्राथमिकता सूची में अधिक होगा! – saad

1

शायद आप पूरी छवि में सभी किनारों की बजाय भूरे रंग के सफेद संक्रमणों पर पाए गए किनारों पर केवल लाइनों को खोजने का प्रयास कर सकते हैं?

+0

यहां मैं क्या आया हूं। यकीन नहीं है कि यह कितना सुरुचिपूर्ण है। मैं छवि में ब्याज (आरओआई) क्षेत्र में एक विस्तृत (लेकिन ऊंचाई में छोटा) स्थापित करने जा रहा हूं। यह नीचे 3/5 वें नीचे स्थित होने जा रहा है। यदि और केवल तभी जब कोई पंक्ति इस RoI के नीचे छेड़छाड़ करती है, तो मैं इसे आकर्षित करूंगा। यदि आप इस तस्वीर को देखते हैं: http://tinyurl.com/349hscq (चयन = RoI) आप देखेंगे कि वाहन की लेन-देन केवल उस सीमा की सीमा है जो वाहन के भीतर यात्रा कर रही है, चयन के तल को अलग कर देगी और इसलिए मैं कर सकता हूं उन्हें "लेन" के रूप में चिह्नित करें और तदनुसार उन्हें आकर्षित करें। मुझे पता है कि यह सभी मामलों में काम नहीं करेगा लेकिन मैं इसे यहां चलाने के लिए चाहता था। – saad

+2

उचित लगता है। व्यावहारिक कंप्यूटर दृष्टि में, जो कुछ भी काम करता है। जब आपके पास कुछ ऐसा होता है तो कंप्यूटर-वैज्ञानिक या सांख्यिकीय स्पष्टता या सटीकता को सहेजें। –

संबंधित मुद्दे