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