विषयसूची:

स्पीकर-अवेयर कैमरा सिस्टम (एसपीएसीएस): 8 कदम
स्पीकर-अवेयर कैमरा सिस्टम (एसपीएसीएस): 8 कदम

वीडियो: स्पीकर-अवेयर कैमरा सिस्टम (एसपीएसीएस): 8 कदम

वीडियो: स्पीकर-अवेयर कैमरा सिस्टम (एसपीएसीएस): 8 कदम
वीडियो: 4bass 6mid rcf full complete competition setup price details 2024, नवंबर
Anonim
Image
Image
हार्डवेयर - 3डी प्रिंटिंग
हार्डवेयर - 3डी प्रिंटिंग

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

चरण 1: सामग्री

एडफ्रूट पंख nRF52840 एक्सप्रेस X 1

www.adafruit.com/product/4062

इलेक्ट्रेट माइक्रोफोन एम्पलीफायर - MAX4466 X 2

www.adafruit.com/product/1063

माइक्रो सर्वो मोटर एक्स 1

www.adafruit.com/product/169

एंड्रॉइड स्मार्टफोन एक्स 1

चरण 2: हार्डवेयर - 3डी प्रिंटिंग

हार्डवेयर - 3डी प्रिंटिंग
हार्डवेयर - 3डी प्रिंटिंग
हार्डवेयर - 3डी प्रिंटिंग
हार्डवेयर - 3डी प्रिंटिंग

तेजी से कार्यान्वयन के लिए, हमने अपने लिए आवश्यक बाड़ों को 3 डी-प्रिंट करने का निर्णय लिया। बाड़ों के लिए दो मुख्य घटक हैं; एक टर्नटेबल और एक स्मार्टफोन स्टैंड। हमने इस लिंक से टर्नटेबल का उपयोग किया (https://www.thingiverse.com/thing:141287), जहां यह नीचे Arduino केस और एक घूर्णन तालिका प्रदान करता है जिसे सर्वो मोटर से जोड़ा जा सकता है। हमने इस लिंक (https://www.thingiverse.com/thing:26733050) से एक स्मार्टफोन स्टैंड का इस्तेमाल किया, जो फोल्डेबल और एंगल-एडजस्टेबल है, जिससे यह हमें आसानी से एंगल को कैलिब्रेट करने की अनुमति देता है। नीचे दिया गया आंकड़ा एक साथ इकट्ठे हुए 3D प्रिंटेड भागों को दिखाता है।

चरण 3: हार्डवेयर - इलेक्ट्रॉनिक घटक

हार्डवेयर - इलेक्ट्रॉनिक घटक
हार्डवेयर - इलेक्ट्रॉनिक घटक
हार्डवेयर - इलेक्ट्रॉनिक घटक
हार्डवेयर - इलेक्ट्रॉनिक घटक

चार वायर्ड घटक हैं; एडफ्रूट फेदर, दो माइक्रोफोन और एक मोटर। कॉम्पैक्ट पैकेजिंग के लिए, हमने ब्रेडबोर्ड का उपयोग किए बिना तारों को (ग्रे सर्कल) मिलाया। नीचे सर्किट आरेख और वास्तविक कलाकृतियों का वर्णन किया गया है।

चरण 4: सॉफ्टवेयर

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

जब किसी भी चेहरे का पता चलता है, तो ऐप उस कोण की गणना करता है जिसे फ्रेम के केंद्र में स्पीकर को फ़ोकस करने के लिए मोटर को घुमाने की आवश्यकता होती है। हमने संभावित परिदृश्यों को विघटित किया और निम्नलिखित की तरह संभाला:

  1. यदि चेहरे (चेहरे) का पता लगाया और बोल रहा है, तो यह वक्ताओं के मध्य बिंदु की गणना करता है और पंख के सापेक्ष कोण को लौटाता है।
  2. यदि चेहरे (चेहरे) का पता चला है और उनमें से कोई भी नहीं बोल रहा है, तो यह चेहरों के मध्य बिंदु की भी गणना करता है और उसी के अनुसार कोण लौटाता है।
  3. यदि किसी चेहरे का पता नहीं चलता है, तो सिस्टम स्पीकर-ट्रैकिंग लॉजिक को विजुअल से ऑडियो में बदल देता है।

SPACS सॉफ्टवेयर https://github.com/yhoonkim/cse599h-fp पर स्थित है।

चरण 5: सॉफ्टवेयर - ध्वनि

सॉफ्टवेयर - ध्वनि
सॉफ्टवेयर - ध्वनि

ध्वनि (वाईएच)

आने वाली ध्वनि के स्रोत का पता लगाने के लिए, हमने पहले दो माइक्रोफोनों के बीच के समय के अंतर का उपयोग करने का प्रयास किया। लेकिन यह उतना सटीक नहीं था जितना हमने उम्मीद की थी क्योंकि Arduino तेंदुए की नमूना दर (~ 900Hz), जहां हमने ध्वनि संकेतों का परीक्षण किया था, इतने धीमे थे कि यह 10cm-अलग माइक्रोफोन के बीच के समय के अंतर को नहीं उठा सकता है।

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

  1. दो माइक्रोफ़ोन से इनपुट लें और सिग्नल के आयाम प्राप्त करने के लिए ऑफ़सेट घटाएं।
  2. ५०० पिकअप के लिए एमआईसी प्रति एम्पलीट्यूड के निरपेक्ष मूल्यों को संचित करें ।
  3. संचित मूल्यों के अंतर को 5 स्लॉट वाली कतार में सहेजें।
  4. अंतिम अंतर मान के रूप में कतारों का योग लौटाएं।
  5. थ्रेसहोल्ड के साथ अंतिम मूल्य की तुलना यह तय करने के लिए करें कि ध्वनि कहां से आई है।

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

चरण 6: सॉफ्टवेयर - फेस एंड स्पीकिंग डिटेक्शन

चेहरे की पहचान के लिए, हमने Google (https://firebase.google.com/docs/ml-kit) द्वारा जारी फायरबेस के लिए एमएल किट का इस्तेमाल किया। एमएल किट फेस डिटेक्शन एपीआई प्रदान करता है जो प्रत्येक चेहरे और उसके लैंडमार्क के बाउंडिंग बॉक्स को लौटाता है, जिसमें आंखें, नाक, कान, गाल और मुंह के विभिन्न बिंदु शामिल हैं। एक बार चेहरों का पता लगने के बाद, ऐप यह निर्धारित करने के लिए मुंह की गति को ट्रैक करता है कि व्यक्ति बोल रहा है या नहीं। हम एक साधारण थ्रेशोल्ड-आधारित दृष्टिकोण का उपयोग करते हैं जो विश्वसनीय प्रदर्शन देता है। हमने इस तथ्य का लाभ उठाया कि जब कोई व्यक्ति बोलता है तो मुंह की गति क्षैतिज और लंबवत दोनों तरह से बड़ी हो जाती है। हम मुंह की ऊर्ध्वाधर और क्षैतिज दूरी की गणना करते हैं और प्रत्येक दूरी के लिए मानक विचलन की गणना करते हैं। दूरी चेहरे के आकार के लिए सामान्यीकृत होती है। बड़ा मानक विचलन बोलने का संकेत देता है। इस दृष्टिकोण की सीमा है कि हर गतिविधि में मुंह की गति शामिल है, जिसमें खाना, पीना या जम्हाई शामिल है, को बोलने के रूप में पहचाना जा सकता है। लेकिन, इसकी झूठी नकारात्मक दर कम है।

चरण 7: सॉफ्टवेयर - घूर्णन मोटर

सॉफ्टवेयर - घूर्णन मोटर
सॉफ्टवेयर - घूर्णन मोटर

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

चरण 8: भविष्य में सुधार

सीमाओं में से एक यह है कि मोटर कुछ कोणों पर डगमगा जाती है। ऐसा लगता है कि मोटर इतना शक्तिशाली नहीं है कि स्मार्टफोन को घुमाकर उत्पन्न टॉर्क को पार कर सके। इसे अधिक शक्तिशाली मोटर का उपयोग करके या टॉर्क को कम करने के लिए रोटेशन के केंद्र की ओर स्मार्टफोन की स्थिति को समायोजित करके हल किया जा सकता है।

ऑडियो-आधारित ध्वनि दिशा का पता लगाने को अधिक परिष्कृत तरीके से बेहतर बनाया जा सकता है। हम आने वाली ध्वनि की दिशा निर्धारित करने के लिए एक ध्वनिक बीम बनाने के दृष्टिकोण का प्रयास करना चाहेंगे। हमने श्रव्य संकेतों के आने के समय के साथ प्रयास किया है। लेकिन, फेदर की सैंपलिंग दर समय के अंतर का पता लगाने के लिए सीमित होती है जब माइक्रोफोन केवल 10 सेमी दूर होते हैं।

इस प्रोटोटाइप का अंतिम लापता टुकड़ा उपयोगिता मूल्यांकन है। मूल्यांकन करने का एक आशाजनक तरीका मौजूदा वीडियो कॉल प्लेटफॉर्म के साथ सिस्टम को एकीकृत करना और उपयोगकर्ताओं की प्रतिक्रियाओं का निरीक्षण करना है। उन प्रतिक्रियाओं से सिस्टम को बेहतर बनाने और इस प्रोटोटाइप का अगला पुनरावृत्ति करने में मदद मिलेगी।

सिफारिश की: