2011-01-28 9 views
6

में हैंड डिटेक्शन के परिणाम मैंने एक प्रोग्राम लिखा है जो किनेक्ट से गहराई डेटा का उपयोग करता है, और उपयोगकर्ता के हाथ को खोजने के लिए ब्लॉब का पता लगाता है। हालांकि, माउस को नियंत्रित करने के लिए उपयोगकर्ता के हाथ का उपयोग करते समय, यह बहुत झटकेदार हो जाता है, शायद इसलिए कि लोग शरीर के हिस्सों को पूरी तरह से पकड़ने में बहुत अच्छे नहीं हैं।झटकेदार कर्सर

मैंने पिछले दस पोजिशनिंग के आधार पर स्थिति औसत करने का प्रयास किया है, लेकिन इसके परिणामस्वरूप वास्तव में झटके को रोकने के बिना अंतराल का समय हुआ। अब तक का सबसे अच्छा समाधान है कि मैंने कर्सर को स्थानांतरित नहीं किया है यदि पिक्सेल परिवर्तन दोनों दिशाओं में 10 से कम है (यानी, किसी भी दिशा में 10 पिक्सेल परिवर्तन आंदोलन में परिणाम)। यह ठीक है, लेकिन यह अभी भी थोड़े झटकेदार है, और परिणामस्वरूप एक घबराहट इंटरफ़ेस में परिणाम है क्योंकि आपके पास ठीक परिशुद्धता नहीं है।

मैं मानव रूप में स्थिरता की कमी के लिए कैसे क्षतिपूर्ति कर सकता हूं ताकि माउस इतना झटकेदार न हो?

उत्तर

2

यह किसी भी मामले में अंतराल और स्थिरता के बीच एक व्यापारिक होगा।

अपना डेटा जांचें। आप पाते हैं कि झटके कोनेक्ट में कम संकल्प के कारण है। यदि ऐसा है तो झटकेदार दूरी तय की जाएगी कि आप किनेक्ट कैमरे के करीब कितने करीब हैं। जब आप बहुत दूर हैं तो कैमरा रिज़ॉल्यूशन बहुत कम है और यह एक या दो पिक्सेल (स्टीरियो कैम) के बीच उछाल रखेगा।

आप औसत की गणना करके और आंदोलन के लिए सीमा तय करके सही दिशा में सोच रहे हैं। आप कहते हैं कि आपने पिछले 10 पदों के लिए औसत गणना की है, जिसमें 30 एफपीएस के संकल्प के साथ 0,33 दूसरी देरी होती है।

आप केवल 5 अंतिम (प्रयोग) को औसत करना चाहते हैं, और औसत औसत मूल्य की गणना करना चाहते हैं।

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

+0

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

1

आपकी नमूना दर क्या है? 10 पद एक सेकंड के सिर्फ सौवें होने की संभावना है। आप एक दूसरे के अंतिम 10 वें या तीसरे औसत को औसत करना चाह सकते हैं।

+0

मुझे प्रति सेकेंड लगभग 30-60 नमूने मिलते हैं। – Malfist

1

क्या आपने अपनी ब्लॉब पहचान करने से पहले गहराई से median filter लागू करने का प्रयास किया था? मैंने इसे finger tracking demo में उपयोग किया और यह स्थिरता में काफी सुधार हुआ।

3 और 5 के बीच एक बैंडविड्थ ने मुझे सबसे अच्छे परिणाम दिए (5 एफपीएस को थोड़ा सा मारता है लेकिन यह वास्तव में चिकनी है)।