एक कैनरी एज डिटेक्टर की सीमाएं क्या हैं?


18

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

हालांकि, एक सरल जिज्ञासा के रूप में, क्या कैनी के किनारे डिटेक्टर के लिए चिंता का एक क्षेत्र है? या ऐसे अनुप्रयोग के क्षेत्र हैं जहां कैनी सबसे अच्छा नहीं होगा?

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

इसके अलावा, मैं वास्तव में कार्यान्वयन के विशिष्ट मुद्दों पर ध्यान केंद्रित नहीं कर रहा हूं। मैं एल्गोरिथ्म में निहित अधिक सैद्धांतिक सीमाओं या विशेषताओं की तलाश कर रहा हूं।


दिलचस्प बात यह है कि यहाँ पत्तियों में नसों को विभाजित करने का सबसे अच्छा तरीका है? बढ़त का पता लगाने की जरूरत है। दिखाए गए परिणामों में से एक कैनी है और बहुत अच्छा नहीं दिखता है। हालांकि, कई पहलुओं को लागू करने में समस्या हो सकती है, यह कैनी की सादा सीमा हो सकती है! उस पर कोई विचार?
दीपन मेहता

कृपया मेरा उत्तर देखें ( dsp.stackexchange.com/questions/1714/… ), यह कैनी से जो मिला उससे बेहतर परिणाम दिखाता है।
गीर्टेन

संभव (आंशिक) डुबकी : dsp.stackexchange.com/questions/74/… (या कम से कम संबंधित)। प्रश्न अपने आप में बहुत (एक भाग के लिए) समान है, इस प्रश्न के उत्तर कुछ अलग हैं।
गीर्टेन

1
@DipanMehta: तो किन किनारों का उपयोग उन चीजों का पता लगाने के लिए नहीं किया जाना चाहिए जो कि किनारे नहीं हैं? :)
एंडोलिथ

जवाबों:


19

मेरे अनुभव से, निम्नलिखित बिंदु सीमाएँ हैं:

  • परिणाम द्विआधारी है। आपको कभी-कभी एक माप के रूप में 'कितना' की आवश्यकता होती है, जो कि किनारे के रूप में योग्य है (उदाहरण के लिए एक सोबल आयाम एज डिटेक्टर से आने वाली तीव्रता की छवि)
  • मापदंडों की मात्रा के लिए असीम रूप से tweaking की ओर जाता है कि बस थोड़ा बेहतर परिणाम प्राप्त करने के लिए।
  • आपको अभी भी पूरी तरह से किनारों को निकालने के लिए परिणामी किनारों को जोड़ने की आवश्यकता है जो मानव आंख + मन के लिए बहुत स्पष्ट लगते हैं।
  • गाऊसी चौरसाई के कारण भी: गॉसियन कर्नेल के आकार के आधार पर किनारों का स्थान बंद हो सकता है।

  • विधि को कोनों और जंक्शनों के साथ समस्या है:

    • गाऊसी चौरसाई उन्हें बाहर धब्बा देती है, जिससे उनका पता लगाना कठिन हो जाता है (वही किनारों के लिए चला जाता है)
    • कोने के पिक्सल्स अपने पड़ोसियों के लिए गलत दिशाओं में देखते हैं, खुले छोर को छोड़ते हैं, और लापता जंक्शन

इस अंतिम समस्या को SUSAN विधि द्वारा संबोधित किया गया है , जो किनारों को बेहतर ढंग से जोड़ता है और अच्छे जंक्शन भी देता है, जैसा कि इन उदाहरणों द्वारा दिखाया गया है जैसा कि लिंक किए गए पेपर में दिया गया है:

टेस्ट इनपुट छवि:

इनपुट छवि का परीक्षण करें

परिणाम SUSAN:

परिणाम SUSAN

परिणाम कैनी:

परिणाम कैनी

आप स्पष्ट रूप से देख सकते हैं कि सुसान ने कैनी के बजाय कोनों और जंक्शनों को पाया।


ठीक है, आप जिस चीज का जिक्र कर रहे हैं, वह ज्यादातर कार्यान्वयन से संबंधित मुद्दे हैं। मैं मानता हूं कि इस तरह के मुद्दे मौजूद हो सकते हैं, लेकिन मेरी राय में कई अन्य एज डिटेक्शन और अन्य एल्गोरिदम हैं। मैं एल्गोरिथ्म में निहित अधिक सैद्धांतिक सीमाओं या विशेषताओं की तलाश कर रहा हूं।
दीपन मेहता

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

थ्रेशोल्डिंग हर एज डिटेक्टर द्वारा की जाती है और इसलिए प्रत्येक एज डिटेक्टर का आउटपुट बाइनरी है। मैं पैरामीटर और गॉसियन चौरसाई पहलू को ट्विक करने में कठिनाई के बारे में आपकी बात उठाऊंगा लेकिन लो जी प्रकार के ऑपरेटर के विपरीत, कैनी वास्तव में शोर की उपस्थिति में सबसे इष्टतम मात्रा में चौरसाई पाता है।
दीपन मेहता

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

6

या ऐसे अनुप्रयोग के क्षेत्र हैं जहां कैनी सबसे अच्छा नहीं होगा?

मैं कुछ सोच सकता हूँ:

  • यदि आपको बंद कर्व्स की आवश्यकता है, तो एक डिटेक्टर जो बेहतर होने की गारंटी दे सकता है (जैसे कि लैपेलियन या वाटरशेड विभाजन के शून्य क्रॉसिंग)
  • यदि आप एक सजातीय वस्तु का पता लगाने की कोशिश कर रहे हैं जो कुछ क्षेत्रों में कम विपरीत है, तो एक विभाजन विधि जो वैश्विक जानकारी (जैसे वाटरशेड विभाजन) का उपयोग करती है, बेहतर परिणाम दे सकती है

1

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


1

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

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