2013-10-20 5 views
5

हाय मैं ओपनसीवी के लिए नया हूं और मैं एक निश्चित स्थिति पर रखे कैमरे का उपयोग करके मानव शरीर ट्रैकिंग को लागू करने की कोशिश कर रहा हूं। मैंने थोड़ा सा शोध किया और मैं ओरिएंटेड ग्रेडियंट्स विधि के हिस्टोग्राम में आया लेकिन मेरी समझ के आधार पर यह ट्रैकिंग के बजाय पहचान है। इसलिए मैं सोच रहा था कि ओपनसीवी पर मानव पहचान और ट्रैकिंग को लागू करने का सबसे आसान तरीका क्या है?ओपनसीवी मानव शरीर ट्रैकिंग

पी/एस: मुझे यह video मिला और यह वही है जो मैं प्राप्त करना चाहता था।

+0

आप एक जवाब जो काफी अच्छा था स्वीकार कर सकते हैं:

इन अतः पदों पर एक नजर है। (बाईं तरफ के चेक मार्क पर एक उत्तर पर क्लिक करें) – samkhan13

उत्तर

4

आप मानव शरीर का पता लगाने के लिए HAAR कैस्केड का उपयोग करने का भी प्रयास कर सकते हैं। CascadeClassifier::CascadeClassifier() का उपयोग करके केवल कैस्केड लोड करें और फिर दिए गए छवि के भीतर वाले क्षेत्रों को प्राप्त करने के लिए CascadeClassifier::detectMultiScale() का उपयोग करें जहां ऑब्जेक्ट (बॉडी) का पता चला था। पता लगाने की सटीकता को बढ़ाने और बढ़ाने के लिए detectMultiScale() पर दिए गए पैरामीटर को समायोजित करें।

आप शरीर के पहचान के लिए कैस्केड here का एक गुच्छा पा सकते हैं।

+0

विस्तृत सुझाव के लिए धन्यवाद लेकिन अगर यह बहुत परेशान नहीं है तो मेरे पास एक फॉलो-अप प्रश्न है। क्या आपने जिस विधि को त्वरित पुन: पहचान करके ट्रैकिंग "अनुकरण" करने का सुझाव दिया है, क्योंकि मैं वास्तविक समय वीडियो फ़ीड पर ट्रैकिंग (जैसा कि उपरोक्त वीडियो में दिखाया गया है) के लिए एक अद्वितीय पहचानकर्ता रखना चाहता था। क्या यह आपकी विधि का उपयोग कर संभव है? एक बार फिर धन्यवाद। – user2900552

+0

@ उपयोगकर्ता2900552 HAAR या LBP कैस्केड का उपयोग करके आप केवल वांछित ऑब्जेक्ट जैसा दिखने वाले प्रत्येक कैमरा फ्रेम के भीतर क्षेत्रों का पता लगाने में सक्षम होंगे। तो हाँ, आप प्रत्येक फ्रेम में "पुनः पता लगाएं" और इस तरह ट्रैकिंग कर सकते हैं। वांछित वस्तु के उदाहरण के लिए एक अद्वितीय आईडी असाइन करने के लिए प्रिंसिपल कंपोनेंट विश्लेषण या रैखिक भेदभाव विश्लेषण या "फीचर डिटेक्शन और फीचर मिलान" के उपयोग की आवश्यकता होती है। "व्यावहारिक कंप्यूटर दृष्टि परियोजनाओं के साथ मास्टरिंग ओपनसीवी" नामक पुस्तक की तलाश करें। आपको इसकी आवश्यकता के लिए सी ++ रेसिपीज़ है। – samkhan13

+0

दयालु उत्तर के लिए धन्यवाद। मैं निश्चित रूप से आपके सुझावों का प्रयास करूंगा लेकिन अभी के लिए मुझे पहले ओपनसीवी पर रैंप करने की ज़रूरत है। एक बार फिर धन्यवाद। – user2900552

1

आप व्यक्ति के बाध्यकारी बॉक्स को पाने के लिए "व्यक्ति" मॉडल के साथ HOG डिटेक्टर या गुप्त एसवीएम डिटेक्टर का उपयोग कर सकते हैं और फिर उस व्यक्ति को ट्रैक कर सकते हैं।

व्यक्ति के केंद्र को ट्रैक करना निम्नलिखित के माध्यम से किया जा सकता है: नए केंद्र स्थान को मापें। इसका वेग मापें। वर्तमान फ्रेम स्थान और वेग का उपयोग कर अगले फ्रेम केंद्र के स्थान की भविष्यवाणी करें। फिर जांच करें कि केंद्र का नया माप भविष्यवाणी के करीब है या नहीं। यदि ऐसा है तो यह पिछले फ्रेम की तरह वही व्यक्ति है, यदि नहीं तो यह फ्रेम में प्रवेश करने वाला एक नया व्यक्ति है।

शायद आपको सेंट्रॉइड के बजाय बाउंडिंग बॉक्स को ट्रैक करना चाहिए। आप फ्रेम दर काफी अधिक है, शायद आप केवल बाउंडिंग बॉक्स प्लॉट कर सकते हैं और ट्रैकिंग के बारे में भूल सकते हैं।

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