Inside the Tech - حل حالت های چهره آواتار - وبلاگ Roblox

Inside the Tech – حل حالت های چهره آواتار – وبلاگ Roblox

Inside the Tech یک سری وبلاگ است که ما را همراهی می کند پادکست Tech Talks. در قسمت 20 پادکست، آواتارها و بیان خود، دیوید بازوکی، مدیر اجرایی Roblox، با مدیر ارشد مهندسی Kiran Bhat، مدیر ارشد محصول ماهش راماسوبرامانیان، و مدیر محصول اصلی Effie Goenawan، در مورد آینده ارتباطات همهجانبه از طریق آواتارها و چالش های فنی که ما در حال حل آن هستیم تا آن را فعال کنیم. در این نسخه Inside the Tech، ما با مدیر مهندسی یان ساکس صحبت کردیم تا درباره یکی از آن چالش‌های فنی - فعال کردن حالات چهره برای آواتارهایمان - و اینکه چگونه کار تیم Avatar Creation (تحت گروه موتور) به کاربران کمک می‌کند، بیشتر بدانیم. در Roblox

بزرگترین چالش های فنی تیم شما چیست؟

وقتی به این فکر می‌کنیم که یک آواتار چگونه شخصی را در Roblox نشان می‌دهد، معمولاً دو چیز را در نظر می‌گیریم: نحوه رفتار و ظاهر آن. بنابراین یکی از تمرکز اصلی برای تیم من این است که آواتارها را قادر به انعکاس عبارات یک شخص کنند. به عنوان مثال، وقتی فردی لبخند می‌زند، آواتار او همگام با او لبخند می‌زند. 

یکی از چیزهای سخت در مورد ردیابی حالات صورت، تنظیم کارایی مدل خود است تا بتوانیم این عبارات را مستقیماً در دستگاه شخص در زمان واقعی ضبط کنیم. ما متعهد هستیم که این ویژگی را تا حد امکان برای افراد زیادی در Roblox در دسترس قرار دهیم و باید از طیف وسیعی از دستگاه‌ها پشتیبانی کنیم. میزان توان محاسباتی که دستگاه شخص می تواند تحمل کند، عاملی حیاتی در آن است. ما می‌خواهیم همه بتوانند خودشان را ابراز کنند، نه فقط افرادی که دستگاه‌های قدرتمندی دارند. بنابراین، ما یکی از اولین مدل‌های یادگیری عمیق خود را به کار می‌گیریم تا این امکان را فراهم کنیم. 

دومین چالش فنی کلیدی که ما با آن مقابله می‌کنیم، ساده‌سازی فرآیندی است که سازندگان برای توسعه آواتارهای پویا که افراد می‌توانند شخصی‌سازی کنند، استفاده کنند. ایجاد آواتارهایی مانند آن بسیار پیچیده است زیرا باید سر را مدل سازی کنید و اگر می خواهید آن را متحرک کنید، باید کارهای بسیار خاصی را برای ساخت مدل انجام دهید، مانند قرار دادن مفاصل و وزنه ها برای لایه برداری ترکیبی خطی. ما می‌خواهیم این فرآیند را برای سازندگان آسان‌تر کنیم، بنابراین در حال توسعه فناوری برای ساده‌سازی آن هستیم. آنها فقط باید روی ساخت مدل استاتیک تمرکز کنند. وقتی آنها این کار را انجام می دهند، ما می توانیم به طور خودکار آن را دکل و قفس کنیم. سپس، ردیابی صورت و لباس‌های لایه‌بندی باید بلافاصله کار کنند. 

برخی از رویکردها و راه حل های نوآورانه ای که برای مقابله با این چالش های فنی استفاده می کنیم چیست؟

ما چند کار مهم انجام داده‌ایم تا اطمینان حاصل کنیم که اطلاعات درستی را برای حالات صورت دریافت می‌کنیم. این با استفاده از استاندارد صنعتی FACS (سیستم کنترل انیمیشن صورت) شروع می شود. اینها کلید همه چیز هستند زیرا آنها چیزی هستند که ما برای ایجاد حالات چهره یک آواتار استفاده می کنیم - دهان چقدر گشاد است، کدام چشم ها باز می شوند و چقدر و غیره. ما می توانیم از حدود 50 کنترل مختلف FACS برای توصیف یک حالت چهره مورد نظر استفاده کنیم. 

هنگامی که در حال ساختن یک الگوریتم یادگیری ماشینی برای تخمین حالات چهره از روی تصاویر یا ویدیو هستید، با نشان دادن نمونه تصاویر با عبارات حقیقت زمینی شناخته شده (توصیف شده با FACS) مدلی را آموزش می دهید. با نشان دادن بسیاری از تصاویر مختلف با حالت‌های مختلف به مدل، مدل یاد می‌گیرد که حالت چهره چهره‌هایی که قبلا دیده نشده بود را تخمین بزند.

به طور معمول، زمانی که روی ردیابی صورت کار می کنید، این عبارات توسط انسان ها برچسب گذاری می شوند و ساده ترین روش استفاده از نشانه ها است - به عنوان مثال، قرار دادن نقاط روی یک تصویر برای علامت گذاری مکان پیکسل ویژگی های صورت مانند گوشه چشم. 

اما وزن‌های FACS متفاوت است زیرا نمی‌توانید به تصویر نگاه کنید و بگویید: "دهان 0.9 در مقابل 0.5 باز است." برای حل این مشکل، ما از داده‌های مصنوعی برای تولید وزن‌های FACS به طور مستقیم استفاده می‌کنیم که شامل مدل‌های سه‌بعدی ارائه‌شده با ژست‌های FACS از زوایای مختلف و شرایط نوری است.

متأسفانه، از آنجایی که مدل نیاز به تعمیم به چهره‌های واقعی دارد، نمی‌توانیم صرفاً روی داده‌های مصنوعی آموزش ببینیم. بنابراین ما مدل را با استفاده از ترکیبی از داده‌های واقعی و مصنوعی، روی یک کار پیش‌بینی نقطه‌نظر از قبل آموزش می‌دهیم، و به مدل اجازه می‌دهیم تا کار پیش‌بینی FACS را با استفاده از داده‌های کاملا مصنوعی بیاموزد.

ما می‌خواهیم ردیابی چهره برای همه کار کند، اما برخی از دستگاه‌ها قدرتمندتر از سایرین هستند. این بدان معناست که ما باید سیستمی بسازیم که بتواند به صورت پویا خود را با قدرت پردازش هر دستگاهی تطبیق دهد. ما این کار را با تقسیم مدل خود به یک فاز پیش‌بینی سریع FACS به نام BaseNet و یک مرحله اصلاح دقیق‌تر FACS به نام HiFiNet انجام دادیم. در طول زمان اجرا، سیستم عملکرد خود را اندازه گیری می کند و در شرایط بهینه، هر دو فاز مدل را اجرا می کنیم. اما اگر کاهش سرعت تشخیص داده شود (به عنوان مثال، به دلیل یک دستگاه پایین تر)، سیستم فقط فاز اول را اجرا می کند.

برخی از نکات کلیدی که از انجام این کار فنی آموخته اید چیست؟

یکی این است که به کار گرفتن یک ویژگی، بخش کوچکی از چیزی است که در واقع برای انتشار موفقیت آمیز چیزی لازم است. یک تن از کار در مرحله آزمایش مهندسی و واحد است. ما باید مطمئن شویم که راه‌های خوبی برای تعیین اینکه آیا خط لوله خوبی از داده‌ها داریم، داریم. و باید از خود بپرسیم، "هی، آیا این مدل جدید واقعا بهتر از مدل قبلی است؟"

حتی قبل از شروع مهندسی هسته، تمام خطوط لوله ای که برای ردیابی آزمایش ها ایجاد می کنیم، اطمینان حاصل می کنیم که مجموعه داده های ما نشان دهنده تنوع کاربران ما، ارزیابی نتایج، و استقرار و دریافت بازخورد در مورد آن نتایج جدید هستند تا مدل کافی باشد. اما این بخشی از فرآیند است که در مورد آن چندان صحبت نمی شود، حتی اگر بسیار حیاتی باشد. 

تیم شما با کدام ارزش Roblox هماهنگی بیشتری دارد؟

درک مرحله یک پروژه کلیدی است، بنابراین در طول نوآوری، نگاه بلند مدت اهمیت زیادی دارد، به خصوص در تحقیقات زمانی که در تلاش برای حل مشکلات مهم هستید. اما احترام به جامعه زمانی که مشکلاتی را که ارزش نوآوری دارند را شناسایی می‌کنید، بسیار مهم است، زیرا ما می‌خواهیم روی مشکلاتی که بیشترین ارزش را برای جامعه بزرگ‌تر خود داریم، کار کنیم. به عنوان مثال، ما به طور خاص تصمیم گرفتیم که به جای صرفاً «ردیابی چهره» روی «ردیابی چهره برای همه» کار کنیم. با رسیدن به نقطه 90 درصدی ساخت چیزی، تبدیل یک نمونه اولیه به یک ویژگی کاربردی به اجرا و انطباق با مرحله پروژه بستگی دارد.

چه چیزی شما را بیشتر در مورد جایی که Roblox و تیم شما هدایت می کند هیجان زده می کند؟

من همیشه به سمت کار بر روی ابزارهایی که به افراد کمک می کند خلاق باشند علاقه مند بوده ام. ایجاد چیزی خاص است زیرا در نهایت چیزی را به دست می آورید که منحصر به فرد شماست. من در جلوه‌های بصری و ابزارهای مختلف ویرایش عکس کار کرده‌ام، از ریاضیات، علوم، تحقیقات و بینش‌های مهندسی استفاده کرده‌ام تا افراد را برای انجام کارهای واقعا جالب توانمند کنم. اکنون، در Roblox، می‌توانم آن را به سطح جدیدی برسانم. Roblox یک پلتفرم خلاقیت است، نه فقط یک ابزار. و مقیاسی که در آن می‌توانیم ابزارهایی بسازیم که خلاقیت را امکان‌پذیر می‌کنند، بسیار بزرگ‌تر از هر چیزی است که قبلاً روی آن کار کرده‌ام، که فوق‌العاده هیجان‌انگیز است.

تمبر زمان:

بیشتر از Roblox