पैदल यात्री गिनती एल्गोरिदम


12

वर्तमान में मैं एक पैदल यात्री काउंटर परियोजना (लिनक्स पर ओपनसीवी + क्यूटी का उपयोग करके) विकसित कर रहा हूं। दृष्टिकोण के बारे में मेरा विचार है:

  1. तख्ते पर कब्जा
  2. पृष्ठभूमि घटाव करें
  3. स्पष्ट शोर (नष्ट करना, पतला करना)
  4. बूँदें मिलें (cvBlobslib) - अग्रभूमि वस्तुएं
  5. प्रत्येक बूँद के लिए, ROI सेट करें और इन ब्लॉब्स में (बेहतर प्रदर्शन के लिए) पैदल चलने वालों के लिए खोजें (LBP with detectMultiScale)
  6. प्रत्येक पाए गए पैदल यात्री के लिए एक नेस्टेड ऊपरी शरीर की खोज (निश्चित नहीं) (बेहतर विश्वसनीयता) है
  7. यदि एक ही पैदल यात्री निरंतर फ्रेम पर पाया जाता है (3-4 फ्रेम हो सकता है) - उस क्षेत्र को कैंशिफ़्ट और ट्रैक में जोड़ें - पैदल यात्री के रूप में चिह्नित करें
  8. अगले फ्रेम के लिए बूँद पहचान से क्षेत्रों को हटा दें
  9. यदि एक पैदल यात्री एक पंक्ति वृद्धि संख्या को पार करता है

मैं जांच करना चाहता हूं कि क्या मैं सही रास्ते पर हूं। क्या आपके पास मेरा दृष्टिकोण सुधारने के बारे में कोई सुझाव है? अगर किसी ने कुछ इसी तरह से काम किया, तो मैं इस समस्या पर किसी भी उपयोगी टिप्स, संसाधनों (और आलोचनाओं) की सराहना करूंगा।


5
आप अपने प्रश्न को फिर से लिखना चाहते हैं, और OpenCV भागों को छोड़ सकते हैं। इसे और अधिक पढ़ें जैसे वैचारिक प्रश्न यह वास्तव में है (पैदल यात्री गिनती और ट्रैकिंग के लिए एल्गोरिथम)।
गीर्टेन

2
आपका दृष्टिकोण उचित लगता है, क्या आपने प्रासंगिक शैक्षिक साहित्य की खोज की है? आपको कला की स्थिति का अंदाजा लगाना चाहिए। पृष्ठभूमि घटाव मुश्किल हो सकता है, पर्यावरणीय प्रभाव और साथ ही छाया एक समस्या हो सकती है।
ज्यामितीय

जवाबों:


8

मैं इस दृष्टिकोण के साथ कई संभावित समस्याओं को देख सकता हूं। मैं अपने स्वयं के अनुभव से यहां एक समान दृष्टिकोण के साथ पैदल गिनती प्रणाली में सुधार करने से बोलता हूं, इसलिए मुझे हतोत्साहित करने का मतलब नहीं है। इसके विपरीत, मैं आपको एक सटीक और मजबूत प्रणाली बनाने के लिए संभावित बाधाओं से आपको सावधान करना चाहूंगा।

सबसे पहले, पृष्ठभूमि विकल्प यह मान लेता है कि ब्याज की वस्तुएं हमेशा चलती रहेंगी, और जिन वस्तुओं की आपको गिनती में कोई दिलचस्पी नहीं है, वे पूरी तरह से अभी भी बनी रहेंगी। निश्चित रूप से पर्याप्त है, यह आपके परिदृश्य में मामला हो सकता है, लेकिन यह अभी भी बहुत सीमित धारणा है। मैंने पृष्ठभूमि विकल्प को रोशनी में बदलाव के लिए बहुत संवेदनशील माना है (मैं ज्यामितीय से सहमत हूं)।

यह धारणा बनाने से सावधान रहें कि एक बूँद = एक व्यक्ति , भले ही आपको लगे कि आपका वातावरण अच्छी तरह से नियंत्रित है। यह अक्सर ऐसा होता है कि लोगों के अनुरूप रक्त बहने लगता है क्योंकि वे आगे नहीं बढ़ रहे थे या वे बहुत छोटे थे, इसलिए वे कटाव या कुछ थ्रेसहोल्ड मानदंड द्वारा हटा दिए गए थे (और मेरा विश्वास करो, आप "में नहीं जाना चाहते" जब तक सब कुछ काम नहीं करता तब तक थ्रेशोल्ड ट्यून करें। यह काम नहीं करता;))। यह भी हो सकता है कि एक एकल बूँद दो लोगों के एक साथ चलने से मेल खाती है, या एक व्यक्ति किसी प्रकार का सामान ले जाता है। या एक कुत्ता। तो बूँद के बारे में चतुर धारणा मत बनाओ।

सौभाग्य से, जब से आप उल्लेख करते हैं कि आप व्यक्ति का पता लगाने के लिए एलबीपी का उपयोग कर रहे हैं , मुझे लगता है कि आप ऊपर के पैराग्राफ में गलतियां नहीं करने के लिए सही रास्ते पर हैं। मैं विशेष रूप से LBP की प्रभावशीलता पर टिप्पणी नहीं कर सकता। मैंने यह भी पढ़ा है कि एचओजी (ग्रेडिएंट्स का हिस्टोग्राम) लोगों का पता लगाने में कला पद्धति की एक अवस्था है, हिस्टोग्राम्स ऑफ ओरिएंटेड ग्रेजुएट्स फॉर ह्यूमन डिटेक्शन देखें

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

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

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


9

मुझे लगता है कि आप जो पूछ रहे हैं वह आपके पैदल यात्री एल्गोरिथ्म की व्यवहार्यता के बारे में है।

इस तरह की समस्याओं के लिए दो सामान्य रणनीतियाँ हैं:

  1. (बॉटम-टू-टॉप) इसे एक शुद्ध पहचान समस्या के रूप में देखें, जहां प्रत्येक फ्रेम में आप केवल पैदल चलने वालों का पता लगाते हैं। एक बार जब आप उनका पता लगा लेते हैं, तो) एक फ्रेम में उनकी संख्या गिनना काफी आसान है; और बी) उनमें से किसी को लगातार फ्रेम में ट्रैक करना भी आसान है। इसलिए, आप सब कुछ हल करते हैं।

  2. (टॉप-टू-बॉटम) इसे एक एक्शन रिकग्निशन प्रॉब्लम के रूप में मानें, जहां आप यह पता लगाते हैं कि लगातार फ्रेम में एक ROI एक पैदल यात्री है या नहीं इसके कार्यों के अनुसार। एक बार जब आप इस समस्या को हल कर लेते हैं, तो आप एक साथ पहचान और ट्रैकिंग समस्याओं को हल करते हैं।

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

यहाँ मेरे अनुभव के आधार पर कुछ सुझाव दिए गए हैं:

  1. आप क्या जानते हैं और क्या आप आसानी से उठा सकते हैं, इस पर टिके रहें। डोनट अपना समय किसी चीज पर निवेश करता है, लेकिन यह आपके लिए बहुत से बैकग्राउंड की आवश्यकता होती है। मेरा विश्वास करो, ये सभी एल्गोरिदम किसी मामले में अच्छे होंगे लेकिन कुछ अन्य में खराब। इसलिए, पहली बात यह है कि कुछ काम करना है, चाहे वह कितना भी अच्छा या बुरा हो।

  2. अपने डेटा के बारे में अधिक जानें और फिर अपनी विधि निर्धारित करें। एक समस्या के बारे में एक सामान्य विवरण कई मामलों में अपर्याप्त है।

  3. यदि आप अपने विचार को प्रदर्शित करना चाहते हैं, तो MATLAB का उपयोग करना और एक प्रोटोटाइप का निर्माण करना बेहतर है।

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