हम keypoint डिस्क्रिप्टर का उपयोग क्यों करते हैं?


18

मैंने अभी SURF के बारे में अध्ययन किया है और मैं इसके कार्यान्वयन के लिए जा रहा हूं, लेकिन मुझे अभी भी समझ नहीं आया कि हम विवरणकों का उपयोग क्यों करते हैं।

मुझे समझ में आया कि कीपॉइंट्स क्या हैं और उनका उद्देश्य क्या है, लेकिन जब हम कीपॉइंट्स निकालते हैं तो हमें डिस्क्रिप्टर का उपयोग करने की आवश्यकता क्यों है? मान्यता में उनका महत्व और भूमिका क्या है?


अरे, क्या आप विशेष रूप से SURF के बारे में जानना चाहते हैं , या आपका प्रश्न अधिक सामान्य है, "हमें कुछ बिंदुओं के लिए विवरणकर्ताओं की आवश्यकता क्यों है?" (सिर्फ SURF के बारे में सीखने से प्रेरित)
पेनेलोप

@penelope मेरा प्रश्न वर्णनकर्ताओं के बारे में अधिक सामान्य है
ARG

3
मुझे आशा है कि आपको इस बात से कोई आपत्ति नहीं है कि मैंने उत्तर देने से पहले आपके प्रश्न को और सामान्य बना दिया था।
पेनेलोप

जवाबों:


22

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

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

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

  • यदि आपके पास एक छवि ए (एक सफेद पृष्ठभूमि पर एक भालू की), और एक और छवि बी, ए की सटीक प्रतिलिपि है, लेकिन कुछ पिक्सेल के लिए अनुवादित है: निकाले गए कीपॉइंट समान होंगे (उस भालू के समान भाग पर)। उन दो छवियों को समान या समान के रूप में मान्यता दी जानी चाहिए।

    लेकिन, यदि हमारे पास एकमात्र जानकारी उनकी स्थिति है, और अनुवाद के कारण वह बदल गई है, तो आप छवियों की तुलना नहीं कर सकते।

  • यदि आपके पास एक छवि A है (मान लीजिए, इस समय एक बतख की है), और दूसरी छवि B, बिलकुल उसी बतख के रूप में A जो केवल दो बार आकार को छोड़कर है: निकाले गए कुंजी बिंदु समान (बतख के समान भाग) होंगे। वे भी समान (समान) चित्र हैं।

    लेकिन उनके सभी आकार (क्षेत्र) अलग-अलग होंगे: छवि बी से सभी की-पॉइंट छवि ए से उन लोगों के आकार का दोगुना होगा।

तो, यहाँ वर्णनकर्ता आते हैं : वे की-पॉइंट की तुलना करने का तरीका हैं। वे सारांशित करते हैं, वेक्टर प्रारूप में (स्थिर लंबाई का) कीपॉइंट्स के बारे में कुछ विशेषताएं। उदाहरण के लिए, यह उनके सबसे स्पष्ट अभिविन्यास की दिशा में उनकी तीव्रता हो सकती है। यह उस छवि के क्षेत्र के लिए एक संख्यात्मक विवरण प्रदान कर रहा है, जो कीपर को संदर्भित करता है।

विवरणकर्ताओं के लिए कुछ महत्वपूर्ण बातें हैं:

  • उन्हें कीपॉइंट पोजीशन से स्वतंत्र होना चाहिए

    यदि एक ही कीप विभिन्न पदों पर निकाला जाता है (उदाहरण के लिए अनुवाद के कारण) तो विवरणक एक ही होना चाहिए।

  • उन्हें छवि परिवर्तनों के खिलाफ मजबूत होना चाहिए

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

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

    अलग-अलग विवरणों को अलग-अलग परिवर्तनों के खिलाफ मजबूत बनाने के लिए डिज़ाइन किया गया है जो कभी-कभी उनकी गणना करने की गति के विपरीत होता है।

  • उन्हें स्वतंत्र होना चाहिए

    विवरणकर्ताओं को ध्यान में रखना चाहिए। यदि एक कीप का "प्रमुख" भाग 10px की एक ऊर्ध्वाधर रेखा है (8px की त्रिज्या वाले एक गोलाकार क्षेत्र के अंदर), और दूसरी पंक्ति का प्रमुख भाग 5px (4px की त्रिज्या वाले एक गोलाकार क्षेत्र के अंदर) है - इन कीपॉइंट्स को समान डिस्क्रिप्टर सौंपा जाना चाहिए।

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

कीपॉइंट / डिस्क्रिप्टर के अधिक जटिल उपयोग के लिए, आपको इस प्रश्न पर एक नज़र डालनी चाहिए - विशेष रूप से मेरे उत्तर में "निम्न-स्तरीय स्थानीय दृष्टिकोण" और @Maurits उत्तर में "बैग-ऑफ- वर्ड्स " दृष्टिकोण । साथ ही, उन उत्तरों में दिए गए लिंक उपयोगी हैं।


सर्वश्रेष्ठ उत्तर और अच्छी व्याख्या, शब्द सुविधा का उपयोग करना वर्णनकर्ताओं के समान है? दोनों समान हैं या अलग हैं? और क्या शब्द अभिविन्यास सर्फ में मतलब है?
ARG

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

SURF के लिए अभिविन्यास शब्द का उपयोग विशिष्ट नहीं है, इसका उपयोग SIFT में भी किया जाता है, मैं सिर्फ इसके बारे में जानना चाहता हूं, यह क्या है
ARG

आप स्थानीय ढाल के आधार पर, मुख्य बिंदु के "प्रमुख अभिविन्यास" की गणना करते हैं। तब, वह दिशा घूर्णन व्युत्क्रम को प्राप्त करने के लिए ढाल की गणना करते समय कीप के लिए "ऊपर" बन जाती है। SIFT के लिए, आपके पास विकिपीडिया पर
पेनेलोप

:) मेरा सवाल यह है कि अभिविन्यास क्या है? झारना या सर्फ पर नहीं
एआरजी

2

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

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

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

इस प्रकार, आपके डिस्क्रिप्टर को समान वस्तुओं को सही ढंग से मिलान करने की आवश्यकता है।

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