2011-11-30 14 views
6

मैं एक छवि (ए) में एसयूआरएफ डिस्क्रिप्टर की तुलना करना चाहता हूं, कई अन्य छवियों (बी, सी, डी, ..) में वर्णनकर्ताओं के साथ ए के लिए सबसे समान छवि। वर्णनकर्ताओं के पास 64 आयाम हैं।अन्य छवियों में वर्णनकर्ताओं की सूची में एक छवि में एसयूआरएफ डिस्क्रिप्टर की तुलना करें

सी # और इमू का उपयोग करके, मैच ए के वर्णनकर्ताओं को बी के साथ तुलना करके किया जाता है, फिर सी, फिर डी और इसी तरह। जब छवि गणना 10 से अधिक हो जाती है, तो यह बहुत धीमा होता है, क्योंकि कई अप्रासंगिक वर्णनकर्ताओं को खोजना पड़ता है।

प्रक्रिया को तेज़ी से बढ़ाने के लिए, लेखों के अनुसार (बी, सी, डी, ..) में वर्णक के लिए एक केडी-पेड़ बनाने का सही तरीका है ताकि जल्दी से वर्णनकर्ता को मिल सके ए। केडी-पेड़ स्तर के अनुसार आयामों में विभाजित है। पहला विभाजन 1 आयाम द्वारा तय किया जाता है, दूसरा आयाम आदि द्वारा विभाजित होता है। हालांकि, वर्णक (64) के लिए आयामों की संख्या अधिक होती है, केडी-पेड़ का उपयोग करने का लाभ छोटा हो जाता है।

तो मेरा सवाल यह है कि: एक छवि (ए) से कई छवियों (बी, सी, डी ..) से एसयूआरएफ डिस्क्रिप्टर से मेल खाने के लिए केडी-पेड़/अन्य विधि का उपयोग करने के साथ आपके पास क्या अनुभव या ज्ञान है। क्या अच्छा काम करता है और इतना अच्छा नहीं है और आपने ऐसा कुछ किया है?

FLANN यहां एक विकल्प होगा, क्योंकि इसका उपयोग ओपनसीवी द्वारा किया जाता है, लेकिन मुझे सी # के लिए कोई संस्करण नहीं मिल रहा है। लगभग निकटतम नेइटबोर भी केडी-पेड़ को गति देने का विकल्प होगा, लेकिन क्या यह मिलान करने वाली छवियों के साथ अच्छी तरह से काम करता है?

सादर मोर्टेन

उत्तर

0

आप FLANN यह सी या सी ++ पर कोशिश कर सकते हैं। यह बहुत जटिल नहीं है।

हालांकि, मैं सी ++ पर FLANN का परीक्षण कर रहा हूं, लेकिन मिलान समय (एसयूआरएफ फीचर्स, FLANN, 1,000 छवियों पर क्वेरी का उपयोग करके) 20 सेकंड से 400 सेकेंड तक (प्रति छवि फीचर वैक्टर की संख्या के आधार पर) बहुत लंबा है। इस उदाहरण

संबंधित मुद्दे