هنر و سرگرمی
یادگیری عمیق در چهره‌سازی دیجیتال
شرکت «Epic Games» امسال در جلسه معرفی نسخه جدید موتور بازی «Unreal Engine»در همایش بازی‌سازان GDC، سرنام Game Developer Conference، شگفتی آفرید. در این جلسه که Epic Games با همکاری استودیوی بازی‌سازی «Ninja Theory» برگزار کرد، بازنمایی بسیار باورپذیر از سِنُوا (Senua)، شخصیت اصلی بازی «Hellblade» از Ninja Theory ارائه شد. حرکات باورپذیر این شخصیت شگفت‌آور بود، اما آنچه در سالن شور و هیجانی ویژه به پا کرد، این بود که سنوا، به طور زنده و توسط بازیگری که در گوشه‌ای از سالن حضور داشت، هدایت می‌شد.

حرکات بازیگر به صورت زنده به موتور بازی (Unreal Engine) فرستاده می‌شد و شخصیت در لحظه (Real Time) حرکت می‌کرد و رندر می‌شد. پروژه‌ای که تکمیل آن حدود هفت ماه زمان برد و نتیجه‌اش حیرت‌انگیز بود. این برای نخستین بار است که یک اجرای کامپیوتری زنده با چنین کیفیتی به نمایش گذاشته می‌شود و بیننده می‌تواند حالات چهره و احساسی شخصیت کامپیوتری را با این کیفیت مشاهده کند. در مطلب پیش رو، تنها بر متحرک‌سازی چهره متمرکز می‌شویم. نکته مهم، استفاده از الگوریتم‌های یادگیری عمیق در این پروژه است که تأثیر زیادی در افزایش باورپذیری این اجرای زنده کامپیوتری گذاشته است.
یکی از دشوارترین پروژه‌ها در حوزه گرافیک کامپیوتری، متحرک‌سازی واقع‌گرایانه چهره یک شخصیت کامپیوتری است که اگر هدف، متحرک‌سازی چهره انسانی باشد، کار دشوارتر هم می‌شود. زیرا با افزایش تلاش برای باورپذیری، وجود کوچک‌ترین ایراد در مدل‌سازی و متحرک‌سازی چهره کاملاً به چشم می‌آید و حس باورپذیری را به طور اساسی با مشکل مواجه می‌کند. متخصصان حوزه گرافیک کامپیوتری سال‌ها است به دنبال راهکاری برای رفع این مشکل هستند. طی سال‌های اخیر در این زمینه پیشرفت‌هایی حاصل شده و راهکارهایی نیز ارائه شده است؛ اما تاکنون اکثر این راهکارها، آفلاین بوده‌اند؛ یعنی شخصیت و حرکاتش از پیش رندر می‌شدند. 

مطلب پیشنهادی

Uncharted 4؛ هر آنچه از یک بازی می‌خواهید

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

جان‌بخشی 
متحرک‌سازی چهره شخصیت سنوا در دموی Hellblade، حاصل کار چهار شرکت Ninja Theory (سازنده بازی)، Epic Games (توسعه‌دهنده موتور بازی UE4)، شرکت 3Lateral (مدل‌سازی چهره) و شرکت Cubic Motion (متحرک‌سازی چهره) است. تکمیل کار حدود هفت هفته زمان برده و ایفای نقش سنوا را یکی از اعضای گروه Ninja Theory بر عهده گرفته است.
شرکت انگلیسی Ninja Theory برای مدل‌سازی شخصیت سنوا، نیازمند اسکن‌های دقیقی از چهره و بافت پوست بازیگر بود. آن‌ها کار اسکن را به شرکت صربستانی 3Lateral سپردند. این شرکت، روش پیشرفته و محرمانه‌ای برای اسکن و rigging چهره دارد. زمانی که Ninja Theory به شرکت 3Lateral مراجعه کرد، این شرکت در حال نهایی‌سازی عملکردهای اصلی نسل جدید اسکنر خود بود و در حقیقت اسکن بازیگر نقش سنوا، نخستین اسکنی بود که با این نسخه جدید گرفته شد. شخصیت سنوا، رنگ‌آمیزی‌هایی روی پیشانی دارد که لازم بود این رنگ‌آمیزی به طرز باورپذیری بر مدل دیجیتال پیاده شود و تَرَک‌هایی که به دلیل چین‌خوردگی پیشانی روی رنگ ایجاد می‌شود، نمایش داده شود. بر همین اساس از بازیگر در حالی که پیشانی‌اش رنگ‌آمیزی شده بود نیز اسکن تهیه شد. (شکل شماره 1) حتی هنرمندان 3Lateral برای بهبود این اسکن به طور دیجیتال بر جزئیات آن اضافه کردند.


  شکل 1:  از بازیگر در حالی که پیشانی‌اش رنگ شده بود، اسکن تهیه شد.

(شکل شماره 2) در نهایت بیش از صد حالت چهره مختلف از بازیگر اسکن شد که با کمک این اسکن‌ها این امکان ایجاد می‌شد که هر حالت چهره‌ای را به بدل مجازی اعمال کرد.


  شکل 2:  هنرمندان اسکن‌های تهیه‌شده را به طور دیجیتال بهبود دادند تا رفتار رنگ بر اثر حرکات پیشانی باورپذیرتر شود.

(شکل شماره 3) به‌منظور دستیابی به بافت واقعی پوست، از چهره او در حالات مختلف نوری عکس گرفته شد. بدین ترتیب یک سایه‌زن پوست (Skin shader) به دست آمد که در محیط مجازی به طور صحیحی به نور واکنش نشان می‌داد و امکان شبیه‌سازی چین‌وچروک‌ها و نمایش تأثیرات نور روی پوست را فراهم می‌کرد.



  شکل 3:  با کمک اسکن‌های گرفته‌شده، مدل کامپیوتری می‌توانست حالات چهره مختلفی را نشان دهد.

(شکل شماره 4) اسکلت‌بندی چهره‌ای (facial rig) که شرکت 3Lateral آن را فراهم کرده بود، برای این اجرای زنده بهینه‌سازی شد.


  شکل 4:  مقایسه چهره واقعی بازیگر (سمت راست) و مدل کامپیوتری ساخته‌شده (سمت چپ) و رفتار نور روی چهره کامپیوتری

در اجرای زنده این دمو، دوربینی روی سر بازیگر نصب شد. (شکل شماره 5 ) این دوربین حرکات چهره را ثبت می‌کرد و مستقیماً و زنده بر مدل کامپیوتری در موتور بازی Unreal Engine4 اثر می‌گذاشت.


  شکل 5:  در اجرای زنده، دوربینی مقابل چهره بازیگر نصب شد.

(شکل شماره 6) لب بالایی و پایینی با رنگ‌های متفاوتی پوشیده شد تا فرایند لب‌خوانی بازیگر با دقت بهتری انجام شود.


  شکل 6:  حرکات چهره و بدن بازیگر به طور زنده در این شخصیت کامپیوتری اعمال می‌شد.

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


  شکل 7:  برای ردیابی بهتر حرکات لب بازیگر، از دو رنگ مختلف روی لب استفاده شد.

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

سیستمی که می‌آموزد
ثبت زنده حرکات بازیگر و انتقال آن به موتوربازی، حاصل فرایند پیشرفته‌ای است که شرکت «Cubic Motion» ارائه کرده است. این شرکت می‌تواند برای ثبت حرکات چهره از روش‌های مبتنی بر یک دوربین یا دو دوربین استفاده کند. برای ثبت حرکات چهره در حالت غیرزنده (آفلاین)، معمولاً از دو دوربینِ مقابل صورت استفاده می‌شود. اما برای اجرای زنده دمو، ترجیح داده شد از یک دوربین استفاده شود. استفاده از دو دوربین بر نرخ فریم و سرعت تأثیر منفی می‌گذاشت و برای اجرای زنده مناسب نبود، در صورتی که روش تک‌دوربین در اجرای Real Time باورپذیری و سرعت بیشتری ارائه می‌کرد.
Cubic Motion برای جبران دقت کم روش تک‌دوربین متحرک‌سازی چهره، راهکار هیجان‌انگیزی دارد: استفاده از الگوریتم‌های یادگیری عمیق. ابتدا، سیستم (Solver) را بر اساس داده‌های جمع‌آوری‌شده با روش دودوربینه آموزش می‌دهند و به این ترتیب Solver درک بهتری از چهره بازیگر و اینکه می‌تواند چه حرکاتی انجام دهد، به دست می‌آورد. پس از تکمیل فرایند آموزش با این داده‌ها، سیستم می‌تواند در اجرای زنده و حتی با استفاده از یک دوربین، حرکات بازیگر را به بهترین شکل ممکن دنبال کند و به دقتی در حد سیستمی دودوربینه دست یابد. در این روش که ترکیبی است از روش شناخته‌شده FACS و یادگیری عمیق، حرکات اجزای چهره مدل سه‌بعدی بسیار دقیق‌تر بوده و متحرک‌سازی چهره و تطابق حرکات لب‌ها با صدای بازیگر بیشتر است. جالب اینکه بازیگر در نمایش زنده این دمو، حرکاتی فی‌البداهه انجام داد و هرچند این حرکات به سیستم آموزش داده نشده بود، اما سنوا به‌خوبی آن‌ها را تقلید کرد. با این حال، اگر حرکات چهره بازیگر فراتر از محدوده آموزش‌داده‌شده باشد، ممکن است باورپذیری را از دست بدهیم.
ردیابی صحیح حرکات چشم، از جمله نکات مهمی است که در باورپذیری سیستم متحرک‌سازی چهره تأثیر زیادی دارد. (شکل شماره 8) گروه Cubic Motion یادگیری عمیق را برای ردیابی چشم‌های بازیگر نیز اعمال کردند. در حقیقت برای بازیگر نقش سنوا، ردیاب چشم سفارشی‌ و ویژه‌ای به کار رفت که با مثال‌هایی از نحوه حرکات چشم‌های خودش آموزش داده می‌شد. (100 تا 150 مثال آموزشی و ویرایش آن‌ها برای اطمینان از دقت نتیجه نهایی.)



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

تحقق یک رؤیا
موتور بازی UE4 این فرصت را به گروه هنری Ninja Theory می‌داد تا اجرای بصری دمو را کاملاً کنترل کنند و موضوعاتی نظیر نورپردازی، مکان قرارگیری دوربین و جلوه‌های بصری را بر حسب نیاز تنظیم کنند. «Tim Sweeney» مؤسس و مدیر ارشد اجرایی شرکت Epic Games درباره Cubic Motion می‌گوید: «در حدود دو سال، فناوری بینایی کامپیوتری این شرکت امکان استفاده از اجراهای زنده را در سرگرمی‌های تعاملی فراهم کرده است.»؛ چیزی که به اعتقاد او در آینده، روش ساخت و انجام بازی‌های ویدیویی را تغییر خواهد داد.
«Kim Libreri»، مدیر ارشد فنی شرکت Epic Games نیز معتقد است که بدون استفاده از فناوری Cubic Motion انجام این پروژه عملی نبود.
دکتر «Gareth Edwards»، مدیر اجرایی ارشد شرکت Cubic Motion که در حوزه شناسایی چهره و اشارات در سال 2015 جایزه «Test of Time» انجمن مهندسان برق و الکترونیک (IEEE) را کسب کرده است، می‌گوید :«باعث خوشحالی بود که توانستیم این فناوری جدید را در چنین رویداد سطح بالایی به نمایش بگذاریم. در ارائه زنده راه فراری وجود ندارد و جایی برای مخفی‌کاری نیست. سیستمی که ارائه می‌کنید باید کار کند. قدرت، قابلیت اطمینان و کیفیتی که در این ارائه نشان دادیم، نتیجه پیشرفت‌های فنی مهمی است که روند تولید را متحول خواهد کرد. پیش از این گروه‌هایی بوده‌اند که با استفاده از فناوری‌هایی ابتدایی‌تر برای دستیابی به چنین نتیجه‌ای تلاش کردند، اما هرگز سیستمی را ندیدیم که بتواند درحوزه متحرک‌سازی چهره جایگزین مناسبی برای تولید آفلاین باشد. این فناوری همه چیز را تغییر خواهد داد.»
«Andy Wood» رئیس شرکت Cubic Motion می‌گوید: «امروز شاهدیم که یک شخصیت کامپیوتری توسط حالات چهره انسانی واقعی کنترل می‌شود؛ با درجه‌ای از کیفیت، باورپذیری و کارایی که تا پیش از این در هیچ نمایش زنده‌ای دیده نشده است.» دیگر نیازی نیست در ساخت بازی کامپیوتری، فیلم سینمایی یا حتی برای پخش تلویزیونی، هفته‌ها یا حتی ماه‌ها صبر کنیم تا ببینیم اجرا چطور بوده است. محتوای جدید فوراً ساخته می‌شود و می‌توان آن را زنده و مستقیم در تولید یا بازی استفاده کرد. فناوری‌ای که Cubic Motion استفاده کرده است، کاربردهای دیگری نیز خواهد داشت؛ به‌ویژه در حوزه واقعیت افزوده (AR) و واقعیت مجازی (VR) 

پی‌نوشت:
1) با استفاده از Solver حرکات مدل کامپیوتری بر اساس حالات چهره بازیگر کنترل می‌شود.

==============================

شاید به این مقالات هم علاقمند باشید:

دوربین سه‌بعدی در مغز

دوربین سه‌بعدی در مغز

۸ دلیل استفاده از فرمت JPEG به جای RAW در عکاسی

نمونه واقعی روبات انیمیشنی وال‌ای ساخته شد!

Uncharted 4؛ هر آنچه از یک بازی می‌خواهید

ابزار جدید انویدیا برای عکاسی داخل بازی

معرفی بازی‌های کوچک و جذاب

مرگ تدریجی یک انسان؛ نگاهی به چهره‌پردازی دیجیتال فیلم «مگی»

برچسب: