SIFT सुविधाओं और SVM का उपयोग करके छवि वर्गीकरण


12

मुझे उम्मीद है कि कोई व्यक्ति यह बता सकता है कि SIFT / SURF / ORB सुविधाओं और एक समर्थन वेक्टर मशीन का उपयोग करके छवि वर्गीकरण करने के लिए शब्दों के मॉडल के बैग का उपयोग कैसे किया जाए?

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

विषय पर ट्यूटोरियल या साहित्य के किसी भी लिंक का स्वागत है, धन्यवाद

जवाबों:


16

यदि आप एक एसवीएम लागू कर सकते हैं, तो आप सुविधाओं को निर्धारित कर सकते हैं। :)

आमतौर पर सुविधाओं का उपयोग k- साधन क्लस्टरिंग का उपयोग करके किया जाता है। सबसे पहले, आप तय करते हैं कि आपकी "शब्दावली का आकार" क्या होना चाहिए (200 "विज़ुअल शब्द"), और फिर आप क्लस्टर संख्या (200) के लिए k- साधन क्लस्टरिंग चलाते हैं। SIFT डिस्क्रिप्टर 128 तत्वों के वैक्टर हैं, यानी 128-आयामी स्थान में अंक। तो आप उन्हें किसी भी अन्य बिंदुओं की तरह, क्लस्टर करने की कोशिश कर सकते हैं। आप बड़ी संख्या में छवियों से SIFT डिस्क्रिप्टर निकालते हैं, उन लोगों के समान जो आप बैग-ऑफ-फीचर्स का उपयोग करके वर्गीकृत करते हैं। (आदर्श रूप से यह छवियों का एक अलग सेट होना चाहिए, लेकिन व्यवहार में लोगों को अक्सर उनके प्रशिक्षण छवि सेट से विशेषताएं मिलती हैं।) फिर आप S-200 के (या जो भी) समूहों में विभाजन करने के लिए SIFT विवरणकों के इस बड़े सेट पर क्लस्टरिंग साधन चलाते हैं। , यानी प्रत्येक विवरणक को एक क्लस्टर में निर्दिष्ट करने के लिए। k- साधन आपको 200 क्लस्टर केंद्र देगा,

फिर आप प्रत्येक SIFT डिस्क्रिप्टर को अपनी छवि में लेते हैं, और यह तय करते हैं कि इसमें से कौन से 200 क्लस्टर हैं, जो इसके निकटतम क्लस्टर का केंद्र ढूंढकर। फिर आप बस गिनते हैं कि आपके पास प्रत्येक क्लस्टर से कितनी सुविधाएँ हैं। इस प्रकार, किसी भी संख्या में SIFT सुविधाओं के साथ किसी भी छवि के लिए आपके पास 200 डिब्बे का हिस्टोग्राम है। यह आपकी सुविधा वेक्टर है जिसे आप एसवीएम को देते हैं। (ध्यान दें, शब्द की विशेषताएँ मोटे तौर पर अतिभारित हैं)।

जैसा कि मुझे याद है, इन हिस्टोग्राम को सामान्यीकृत करने के तरीके के बारे में बहुत काम किया गया था। मैं गलत हो सकता हूं, लेकिन मुझे एक पेपर याद आता है जिसने दावा किया था कि एक बाइनरी फीचर वेक्टर (यानी 1 यदि इस क्लस्टर से कम से कम 1 फीचर मौजूद है, और 0 अन्यथा) एक हिस्टोग्राम से बेहतर काम करता है। आपको विवरण के लिए साहित्य की जांच करनी होगी, और विवरण महत्वपूर्ण हैं।

संपादित करें: MATLAB के लिए कंप्यूटर विजन सिस्टम टूलबॉक्स अब सुविधाएँ कार्यक्षमता का बैग प्रदान करता है


हाय दीमा, आपके उत्तर के लिए धन्यवाद, मेरा बस एक ही सवाल था, जब आप कहते हैं "तब आप k-mean clustering को उस संख्या के क्लस्टर के लिए चलाते हैं", k-mean clustering को आप क्या चला रहे हैं? ps मैं लगभग सुविधा पर आपकी टिप्पणी के लिए इस जवाब को स्वीकार करने के लिए ललचा रहा हूँ, अत्यधिक अधिभार होने के कारण, मैं प्रासंगिक रूप से छवि प्रसंस्करण के लिए नया हूं और मैं अधिक सहमत नहीं हो सका
जोनो ब्रोगन

@JonoBrogan: आपको मेरा उत्तर स्वीकार करना चाहिए, क्योंकि यह सही है। :) मैंने k- साधनों को स्पष्ट करने के प्रयास का उत्तर संपादित किया है।
दिमा

क्या यह अब समझ में आता है?
दिमा

हाँ, धन्यवाद। मैंने जवाब स्वीकार कर लिया है, हालांकि मैं सोच रहा हूं कि क्या आप जानते हैं कि आप कितने "विज़ुअल शब्द" का उपयोग करने का निर्णय लेते हैं?
जोनो ब्रोगन

3
लेकिन सबसे बड़ी समस्या यह है कि Kmeans एल्गोरिदम हमेशा एक ही परिणाम नहीं देता है। यह बहुत यादृच्छिक है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.