टेक के अंदर - अवतार चेहरे के भावों का समाधान - रोबॉक्स ब्लॉग

टेक के अंदर - अवतार चेहरे के भावों का समाधान - रोबॉक्स ब्लॉग

स्रोत नोड: 3039939

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

आपकी टीम किन सबसे बड़ी तकनीकी चुनौतियों का सामना कर रही है?

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

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

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

इन तकनीकी चुनौतियों से निपटने के लिए हम किन नवीन दृष्टिकोणों और समाधानों का उपयोग कर रहे हैं?

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

जब आप छवियों या वीडियो से चेहरे के भावों का अनुमान लगाने के लिए एक मशीन लर्निंग एल्गोरिदम का निर्माण कर रहे हैं, तो आप एक मॉडल को ज्ञात जमीनी सच्चाई अभिव्यक्तियों (एफएसीएस के साथ वर्णित) के साथ उदाहरण छवियां दिखाकर प्रशिक्षित करते हैं। मॉडल को विभिन्न भावों के साथ कई अलग-अलग छवियां दिखाकर, मॉडल पहले से अनदेखे चेहरों की चेहरे की अभिव्यक्ति का अनुमान लगाना सीखता है।

आम तौर पर, जब आप चेहरे की ट्रैकिंग पर काम कर रहे होते हैं, तो इन भावों को मनुष्यों द्वारा लेबल किया जाता है, और सबसे आसान तरीका लैंडमार्क का उपयोग करना है - उदाहरण के लिए, आंखों के कोनों जैसे चेहरे की विशेषताओं के पिक्सेल स्थानों को चिह्नित करने के लिए एक छवि पर बिंदु लगाना। 

लेकिन FACS वज़न अलग-अलग हैं क्योंकि आप किसी तस्वीर को देखकर यह नहीं कह सकते हैं, "मुंह खुला है 0.9 बनाम 0.5।" इसे हल करने के लिए, हम सीधे FACS वज़न उत्पन्न करने के लिए सिंथेटिक डेटा का उपयोग कर रहे हैं जिसमें विभिन्न कोणों और प्रकाश स्थितियों से FACS पोज़ के साथ प्रस्तुत किए गए 3D मॉडल शामिल हैं।

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

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

इस तकनीकी कार्य को करने से आपने कौन सी प्रमुख बातें सीखी हैं?

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

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

आपकी टीम किस Roblox मान के साथ सबसे अधिक मेल खाती है?

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

रोबॉक्स और आपकी टीम किस दिशा में जा रही है, इस बारे में आपको सबसे अधिक उत्साहित करने वाली बात क्या है?

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

समय टिकट:

से अधिक Roblox