वन छवियों में ट्रेल का पता लगाना


30

क्या किसी को किसी वन दृश्य की छवि में एक निशान (एक रेखा या बिंदु से बिंदु वक्र के रूप में) की पहचान के लिए किसी भी शोध / कागजात / सॉफ़्टवेयर के बारे में पता है (कैमरे के नज़रिए से निशान के साथ कहीं खड़े हैं)?

मैं एक एल्गोरिथ्म खोजने की कोशिश कर रहा हूं जो एक छवि ले सकता है जैसे:

वैकल्पिक शब्द

और एक मुखौटा का उत्पादन, एक संभावित "निशान" की पहचान, जैसे:

वैकल्पिक शब्द

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

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

मैं SURF सुविधाओं को निकालने के बारे में सोच रहा था, लेकिन मुझे केवल SURF / SIFT के साथ सफलता मिली है जब छवि पूरी तरह से स्पष्ट है और लगातार प्रकाश व्यवस्था के साथ है।

मैंने छवियों और मुखौटों को बहुत छोटे आकार (जैसे 100x75) तक स्केल करने की कोशिश की है, उन्हें 1xN वैक्टर में परिवर्तित किया है, और उनका उपयोग FANN- आधारित तंत्रिका नेटवर्क को प्रशिक्षित करने के लिए किया है (जहां छवि इनपुट है और मुखौटा वांछित है। उत्पादन)। यहां तक ​​कि इतने छोटे आकार में, 75% इनपुट वेक्टर के साथ 1 छिपी हुई परत के साथ, इसे प्रशिक्षित करने में 6 घंटे लगे, और अभी भी परीक्षण सेट में किसी भी मुखौटे की भविष्यवाणी नहीं कर सकता है।

क्या कोई इस विषय पर किसी अन्य तरीके या कागजात का सुझाव दे सकता है?


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

मैं करता हूँ, कुछ हद तक। मैं एक सस्ते मोनोकुलर कैमरा (वेब ​​कैमरा / सेलफोन कैमरा) के साथ तस्वीरें ले रहा हूं, लेकिन मुझे नहीं लगता कि वे अवरक्त स्टोर करते हैं।
सेरिन

कई रंगों के फिल्टर का उपयोग करना, जो वनस्पति और गंदगी के स्पेक्ट्रा के बीच अंतर कर सकते हैं, शायद सहायक होगा
एंडोलिथ

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

@yoda, बायेसियन दृष्टिकोण से आपका क्या मतलब है? मैं केवल बायेसियन से परिचित हूं, जैसा कि असतत वर्गीकरण और तार्किक नेटवर्क पर लागू होता है। मैं सीवी पर लागू होने से परिचित नहीं हूँ। मुझे आपके द्वारा कोई पोस्ट देखना याद नहीं है।
सेरिन ऑक्ट

जवाबों:


13

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

"शैडोज़ फ्रॉम द शैडोज़ फ्रॉम इमेज", जीडी फिनलेसन, एसडी होर्डले, सी। लू, और एमएस ड्रू, IEEE पैटर्न एनालिसिस एंड मशीन इंटेलिजेंस (PAMI), Vol.28, No.1, Jan, 2006, pp.59- 68। http://www.cs.sfu.ca/~mark/ftp/Pami06/pami06.pdf

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

छाया हटाना
(स्रोत: datageist.com )

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

वार्णिकता
(स्रोत: datageist.com )

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


12

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

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

संरचना के विषय को जारी रखना: क्या ट्रेल्स दूसरों के साथ विलीन हो जाती हैं? कुछ मिट्टी / बजरी सुविधाओं के साथ ट्रेल्स को चित्रित किया गया है? एक मानव के रूप में (यह पैटर्न पहचान में काफी अच्छा है!), मुझे निचले बाएँ चतुर्थांश में दिखाई गई विशेषताओं द्वारा चुनौती दी गई है: मुझे ग्रे / भूरे रंग के क्षेत्र दिखाई देते हैं जिन्हें मैं "निशान" के रूप में छूट नहीं दे सकता। शायद मैं अधिक जानकारी के साथ ऐसा कर सकता था यदि मेरे पास अधिक जानकारी थी: एक नक्शा और एक मोटे तौर पर ज्ञात स्थान, इस निशान पर व्यक्तिगत अनुभव, या शायद इस बिंदु पर जाने वाली छवियों का एक क्रम - शायद यह दृश्य इतना अस्पष्ट नहीं है यदि पहचानकर्ता जानता है "क्या इस दृश्य के लिए नेतृत्व किया।

मेरी राय में छवियों का एक संग्रह सबसे दिलचस्प दृष्टिकोण है। विचार की उस पंक्ति को जारी रखना: एक छवि पर्याप्त डेटा प्रदान नहीं कर सकती है, लेकिन एक मनोरम दृश्य दृश्य को तोड़ सकती है।


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

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

निशान की कुछ विशेषताएं हैं जो एक दृष्टि प्रणाली का शोषण कर सकती हैं: संभवतः हम मान सकते हैं कि निशान मुक्त, नौगम्य स्थान का प्रतिनिधित्व करता है। इस प्रकार, पेड़, झाड़ी और चट्टान की विशेषताओं को "निशान नहीं" के रूप में वर्गीकृत किया जा सकता है। शायद एक बनावट विश्लेषण इन समझदार की सहायता कर सकता है? मैं निश्चित नहीं हूं, हालांकि: पेड़ों के नीचे की जमीन (मध्य से ऊपरी बाएं) निशान के समान दिखती है।

मेरा पहला विचार LU या Eigen परिवर्तनों को संदर्भित करना होगा जो बनावट के किसी न किसी प्रकार होने पर उच्च प्रतिक्रिया देते हैं। हालाँकि, यहाँ निशान / गैर-निशान के बीच मुख्य विशिष्ठ विशेषता रंग प्रतीत होती है। तो हो सकता है कि इसे एचएसवी रंग स्थान में परिवर्तित किया जाए और पिक्सल से एक मुखौटा बनाया जाए जिसमें 'भूरा' रंग - भूरा या गेरुआ हो - जो एक मोटा अनुमान लगाएगा।
अरुनिआरसी

12

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

  1. आपको "प्रशिक्षण उदाहरण" के एक सेट की आवश्यकता होगी, जिसके द्वारा मेरा मतलब है कि विभिन्न वातावरणों में ट्रेल्स के कई चित्र हैं, जिसमें आपको (पर्यवेक्षक) ने "ट्रेल" के रूप में गिना जाता है और पृष्ठभूमि "वन" के रूप में क्या गिना है। आप छवियों को छोटे वर्गों (आमतौर पर 8x8) में तोड़ते हैं और इसे ब्लॉक के डीसीटी (असतत कोसाइन ट्रांसफॉर्म) लेकर "फीचर स्पेस" में बदल देते हैं। इस मामले में प्रत्येक ब्लॉक का डीसीटी आपको एक 64 बिंदु "फीचर वेक्टर" देता है।
  2. XxYy1=traily2=forest

    • वर्ग सशर्त वितरण
      • PX|Y(x|trail)trail
      • PX|Y(x|forest)forest
    • कक्षा की संभावनाएँ या पूर्व
      • PY(trail)trail
      • PY(forest)forest
  3. इसके साथ, आप अपनी छवि का परीक्षण करते हैं (फिर से, इसे छोटे टुकड़ों में तोड़कर) और पीछे की संभावना की गणना करते हैं। बेयस के निर्णय सिद्धांत का उपयोग करते हुए, आप अपने बाइनरी (इस मामले में) चयन मानदंड को कुछ इस तरह परिभाषित करेंगे

    y~i(x)=argmaxyiPX|Y(x|yi) PY(yi)

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

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

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

मशीन सीखने के बारे में अधिक जानने के लिए, आप कुछ पाठ्य पुस्तकों को देखना चाह सकते हैं। इस क्षेत्र में प्रसिद्ध और अक्सर अनुशंसित पाठ्यपुस्तकों में से एक है:

टी। हस्ती, आर। तिब्शीरानी और जे। फ्रीडमैन, द एलिमेंट्स ऑफ़ स्टैटिस्टिकल लर्निंग: डेटा माइनिंग, इनविज़न, और प्रिडिक्शन। 2 एड।, स्प्रिंगर-वर्लग (2008)

जो अब दिए गए लिंक पर मुफ्त पीडीएफ के रूप में उपलब्ध है। एक और सभ्य पुस्तक है:

आरओ डूडा, पीई हार्ट और डीजी स्टॉर्क, पैटर्न वर्गीकरण , 2 एड।, जॉन विले एंड संस (2001)


1
उस नोट पर, मैं ml-class.org को इंगित करना चाहूंगा जो मशीन लर्निंग का एक उत्कृष्ट परिचय है।
bjoernz

दिलचस्प विधि। हालाँकि, जब आप कहते हैं कि Py (निशान) और Py (वन) "पूरी तस्वीर में निशान ढूंढने की संभावना" हैं, तो क्या आपको इसका मतलब 8x8 ब्लॉक या पूरी छवि में खोजने की संभावना है? अगर पूरी छवि, मुझे लगता है कि ये दोनों 100% होंगे, क्योंकि सभी प्रशिक्षण छवियों में ये दोनों कहीं न कहीं होंगे।
सेरिन

@Cerin: क्षमा करें, Py (निशान) द्वारा, मेरा मतलब है कि इसे एक ब्लॉक में खोजने की संभावना है। ताकि सभी पिक्चर में कुल ब्लॉक की कुल संख्या के साथ सभी ब्लॉक हों। मैं सही है कि करने के लिए इसे संपादित किया है
Lorem Ipsum

आप सुविधा स्थान X को कैसे परिभाषित करेंगे? क्या आप K-Means क्लस्टरिंग जैसी किसी चीज का उपयोग 64 पॉइंट फीचर वैक्टर की आयामीता को कम करने के लिए 10 सुविधाओं की तरह करेंगे?
सेरिन

@ केरिन हां, K- साधन आयामीता को कम करने के लिए आम दृष्टिकोणों में से एक है।
लोरम इप्सुम


5

यह बनावट विभाजन के लिए एक समस्या की तरह दिखता है (रंग विभाजन नहीं) बहुत सारी विधियाँ हैं,

वे अक्सर गैबर वेवलेट्स का उपयोग करते हैं, जैसे कि यह http://note.sonots.com/SciSoftware/GaborTextureSeactation.html

सुपरपिक्सल आधारित विभाजन http://ttic.uchicago.edu/~xren/research/superpixel/

और इसी तरह का ग्राफ कट सेगमेंटेशन http://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision

यहाँ विकि अवलोकन है http://en.wikipedia.org/wiki/Segmentation_(image_processing)


Gabor बनावट विभाजन अच्छा लगता है!
nkint
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.