हैरिस कोनों पर तैनात दृश्य सुविधाओं के लिए ऑक्टेव और आकार का अनुमान कैसे लगाया जाए


9

मैं वर्तमान में दृश्य सुविधा मिलान के आधार के रूप में OpenCV द्वारा प्रदान किए गए कई फ़ीचर डिटेक्टरों के प्रदर्शन की तुलना और उनके साथ काम कर रहा हूं।

मैं SIFT डिस्क्रिप्टर का उपयोग कर रहा हूं । मैंने MSER और DoG (SIFT) सुविधाओं का पता लगाते समय संतोषजनक मिलान (खराब मैचों को अस्वीकार करने के बाद ) पूरा किया है।

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

मैं उपयोग कर रहा हूँ cv::FeatureDetector::detect(...)जो मुझे एक साथ प्रदान करता है std::vector<cv::KeyPoint>के साथ भर का पता चला सुविधाओं / keypoints / ब्याज के क्षेत्रों । संरचना cv::KeyPointके बारे में सुविधा के स्थान के बारे में बुनियादी जानकारी है, साथ ही में जानकारी शामिल है sizeऔर octaveजिसमें Keypoint पाया गया है।

GFTT के साथ मेरा पहला परिणाम तब तक भयानक था जब तक कि मैं विभिन्न प्रकार की विशेषताओं में विशिष्ट sizeऔर octaveमापदंडों की तुलना नहीं करता :

  • MSER आकार (10 और 40px के बीच) सेट करता है और ऑक्टेव को 0 पर छोड़ देता है
  • DoG (SIFT) दोनों का आकार और सप्तक ( आकार / अष्टक अनुपात 20 से 40 के बीच है)
  • GFTT पैरामीटर हमेशा होते हैं : आकार = 3 , ऑक्टेव = 0

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

यदि मैंने मैन्युअल रूप sizeसे GFTT की संख्या 10 - 12 पर सेट की है , तो मुझे MSER या DoG (SIFT) का उपयोग करते समय बहुत अच्छे परिणाम मिलते हैं ।

मेरा प्रश्न है: क्या यह तय करने के लिए कि size(और / या octave) को बढ़ाने के लिए 10-साथ-साथ-अगर-यह काम करता है तो कितना बेहतर तरीका है ? मैं sizeयदि संभव हो तो वृद्धि को हार्डकोड करने से बचना चाहता हूं और इसे प्रोग्रामेटिक रूप से निर्धारित करना चाहता हूं , लेकिन हार्डकोडिंग तब तक ठीक है जब तक कि मेरे पास नए size/ sizeवृद्धि / sizeआकलन एल्गोरिदम के मेरे विकल्पों का समर्थन करने के लिए कुछ ठोस तर्क हैं ।


1
हे @ पेनेलोप: इस लिंक को देखें इस आदमी ने पहले से ही कुछ अच्छा काम किया है। [ computer-vision-talks.com/2011/08/…

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

जवाबों:


4

मुझे यकीन नहीं है कि वास्तव में आपके सटीक प्रश्न का एक अच्छा जवाब है: SIFT और SURF की स्केल-स्पेस चीज़ वास्तव में एक कोने की तरह कीपॉइंट के आसपास "अच्छे" प्रासंगिक पड़ोस आकार का अनुमान लगाने के लिए विकसित की गई थी (जो कि अच्छी विशेषताएं हैं ट्रैक करने के लिए) कर रहे हैं।

अब, अधिक सकारात्मक उत्तर होंगे:

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

  • एक छवि पिरामिड में अपनी अच्छी विशेषताओं को एम्बेड करें उनके साथ कुछ प्रकार के पैमाने भी जुड़े हुए हैं। आप बहु-स्तरीय FAST और हैरिस ब्याज बिंदुओं पर संदर्भ देख सकते हैं, जो इस प्रक्रिया के समान है।

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

यदि आप वास्तव में कुछ त्वरित और गंदे फिक्स की तलाश कर रहे हैं, तो 5x5 और 11x11 के बीच आकार की कोशिश करें (स्टीरियो ब्लॉक मिलान में उपयोग किए जाने वाले विशिष्ट आकार)। यदि आप एक बौद्धिक रूप से संतोषजनक मानदंड की तलाश कर रहे हैं, तो अपने शोर स्तर के तहत दो फीचर बिंदुओं के अच्छे मिलान की संभावना को अधिकतम करने का प्रयास करें।


मैं एक ऐसे उपाय की तलाश में था जो थोड़ा जल्दी और गंदा हो गया था कि आप क्या प्रस्ताव देते हैं। इसके अलावा, मैं केवल मौसम का निर्धारण कर सकता हूं कि एक मैच एक अच्छा है या एक खराब एक के बाद मैं अपने कीपॉइंट्स को निकालता हूं और किसी चीज से मेल खाता हूं। यहां तक ​​कि अगर मैं उन्हें पूरी तरह से बेतरतीब ढंग से मिलाता हूं तो मुझे कुछ अच्छे मैच मिलते हैं - इसलिए आपका पहला सुझाव उतना मददगार नहीं है। दूसरे भाग के लिए, अधिक त्वरित और गंदा: मुझे पता है कि कोई सही पैरामीटर नहीं है, लेकिन जैसा कि मैंने कहा, आकार को बढ़ाकर 12 करने में मदद की - गुणवत्ता SIFT और MSER मिलान के लिए तुलनीय थी। मेरे पास कोई तर्क नहीं है कि जो भी १२ को १०० या ३४ साल से अधिक समय तक ले जाए ...
पेनेलोप

0

डिटेक्टरों के लिए सर्वोत्तम पैरामीटर निर्धारित करने में आपकी मदद करने के लिए, OpenCV के पास उस उद्देश्य के लिए AjusterAdapter है । मैंने इसे कभी खुद इस्तेमाल नहीं किया, लेकिन यह शायद मापदंडों को प्रोग्राम करने के लिए मानक तरीका है। इस बात से भी अवगत रहें कि हालाँकि की-पॉइंट में कई गुण होते हैं, लेकिन सभी सभी एल्गोरिदम के लिए समझ में नहीं आते हैं। क्योंकि Keypoint संरचना का उपयोग अलग-अलग एल्गोरिदम के लिए किया जाता है, इसमें उन सभी फ़ील्ड होते हैं लेकिन कभी-कभी उनका उपयोग नहीं किया जाता है, इसीलिए आपको वे ऑक्टेव = 0 मिलते हैं; IMO।


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

मैं सिर्फ इंटरफ़ेस प्रदान करता है फ़ंक्शन के माध्यम से देखा। यह डिटेक्टर डिटेक्टरों की संख्या को बढ़ा या घटा सकता है। इसके अलावा, मुझे पता चला सुविधाओं के साथ कोई समस्या नहीं है। मैं उनके आकार को समायोजित करने का एक तरीका पसंद करूंगा ताकि उनका मिलान करने में बेहतर उपयोग किया जा सके (आकार 10 तक बढ़ जाता है, लेकिन मेरे पास उस विकल्प के लिए कोई ठोस (पर्याप्त) तर्क नहीं है)
पेनेलोप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.