به قلم: امین بابادی
انیمیشن مبتنی بر فیزیک1 شاخهای از گرافیک کامپیوتری است که هدف آن استفاده از هوش مصنوعی برای تولید حرکتهایی است که از نظر فیزیکی قابل قبول هستند. این حرکتها معمولا توسط شخصیتهای مجازی در محیطهای شبیهسازی شدهٔ دو بعدی یا سه بعدی اجرا میشوند. یک مثال خوب از یکی از روشهای موفق اخیر در تولید این حرکتها در شکل 1 مشخص است.
شکل ۱. نمونهای از یک انیمیشن مبتنی بر فیزیک [1]
یکی از تفاوتهای اصلی میان انیمیشنهای مبتنی بر فیزیک و انیمیشنهای سنتی مبتنی بر قاب کلیدی2 این است که انیمیشنهای مبتنی بر فیزیک میتوانند خودشان را با تغییرات محیطی وفق بدهند. در طرف مقابل، انیمیشنهای مبتنی بر قاب کلیدی [اغلب] ایستا و غیرواکنشی هستند و باید به دقت کنترل شوند؛ در غیر این صورت، به سادگی ممکن است باعث ایجاد حرکات غیرطبیعی شوند (مانند شکل 2).
شکل ۲. انیمیشنهای سنتی مبتنی بر قاب کلیدی، باید به دقت مدیریت شوند. در غیر این صورت، به سادگی ممکن است خروجیهای غیرطبیعی ایجاد کنند.
در ادامه این مقاله، برخی مفاهیم ابتدایی و یافتههای اخیر در رابطه با این مسئله شرح داده میشود.
1. رویکردهای متداول
پژوهشگرهای زیادی در دو دههٔ اخیر روی مسئلهٔ انیمیشنهای مبتنی بر فیزیک کار کردهاند و تاکنون روشهای بیشماری برای حل این مسئله ارائه دادهاند. میتوان این روشها را به دو دسته کلی تقسیمبندی کرد: روشهای مبتنی بر جستجو و یادگیری تقویتی. در ادامه ایده اصلی پشت این رویکردها شرح داده میشود.
1.1. روشهای مبتنی بر جستجو
یک دستهٔ کلاسیک و در عین حال قوی از رویکردهایی که تاکنون برای حل مسئلهٔ انیمیشنهای مبتنی بر فیزیک ارائه شده است، استفاده از روشهای مبتنی بر جستجو برای بهینهسازی حرکتها است. ایده اصلی این روشها بسیار ساده است: در مرحلهٔ اول تعدادی دنبالهٔ کنش تولید میشود. در مرحلهٔ دوم، این دنبالهها با استفاده از شبیهسازی رو به جلو3 و محاسبهٔ تابع هزینه4 ارزیابی میشوند و در مرحلهٔ سوم دنبالهٔ کنشی که تابع هزینهها را کمینه میکند، انتخاب میشود. یک شمای کلی از این فرآیند در شکل 3نشان داده شده است.
شکل ۳. این شکل مکانیزم اصلی روشهای مبتنی بر جستجو را با یک مثال ساده شرح میدهد. در اینجا هدف کنترل کردن یک شی در سمت چپ صفحه است به طوری که به دایره سبز رنگ سمت راست برسد. مسیر بهینه با رنگ آبی نشان داده شده است و خطوط خاکستری نشاندهنده مسیرهایی هستند که به صورت تصادفی تولید شدهاند. بعد از محاسبهٔ تابع هزینه برای همهٔ مسیرهای تولید شده، مسیری که حداقل هزینه را دارد (مسیر مشکی) به عنوان پاسخ مسئله در نظر گرفته میشود [2].
تاکنون تعداد بسیار زیادی از روشهای مبتنی بر جستجو برای حل مسئلهٔ انیمیشنهای مبتنی بر فیزیک ارائه شدهاند. یک نمونه از حرکتهای تولید شده توسط این روشها در شکل 4 نشان داده شده است.
شکل ۴. نمونهای از خروجی یک روش مبتنی بر جستجو، که در آن با استفاده از بهینهسازی برونخط، یک کنترلکننده پارامتردار که حرکت را تولید میکند، بهینهسازی میشود [3].
نکتهٔ جالب در مورد روش استفاده شده در شکل 4 این است که این روش به صورت مستقیم حرکتها را بهینهسازی نمیکند. در عوض، ابتدا یک کنترلکنندهٔ پارامتردار برای تولید حرکت تعریف شده، و سپس پارامترهای این کنترلکننده بهینهسازی میشوند. این روش به کاراکتر اجازه میدهد که در حین حرکت به طور مقاوم بتواند تکانهای شدید در محیط را نیز تحمل کند [3].
2.1. یادگیری تقویتی
یادگیری تقویتی5 یک حوزهٔ داغ در یادگیری ماشین6 است که به رویکردهای محاسباتی برای یادگیری از طریق تعامل میپردازد [4]. تعریف اصلی یادگیری تقویتی شامل یک عامل است که درون یک محیط قرار گرفته و با آن تعامل دارد، و هدفش این است که جمع پاداش دریافتی از محیط را در طول زمان بیشینه کند. در هر گام زمانی، عامل حالت فعلی را مشاهده کرده و یک کنش انجام میدهد. پس از آن، عامل یک پاداش عددی به همراه مشاهدات حالت جدید محیط را مشاهده میکند. هدف این است که عامل به گونهای بهینهسازی شود که حداکثر پاداش ممکن را از طریق انتخاب کنشهای بهینه دریافت کند. یک شمای کلی از این تعامل در شکل 5 نشان داده شده است.
شکل ۵. تعامل عامل و محیط در یادگیری تقویتی [4]
در سالهای اخیر، یادگیری تقویتی به علت نتایج خیرهکنندهای که با استفاده از یادگیری تقویتی عمیق7 در بازیهای آتاری و گو به دست آمد، توجه بسیار زیادی به خود جلب کرده است. این پیشرفتها الهامبخش پیشرفتهای بسیار زیادی در استفاده از یادگیری تقویتی در مسالهٔ کنترل پیوسته شدهاند. خروجی یکی از روشهای موفق اخیر در این دسته بندی در شکل 6 نشان داده شده است.
شکل 6. یک نمونه از استفاده از یادگیری تقویتی برای تقلید حرکات آکروباتیک از طریق مشاهده ویدیوهای یوتیوب [8]
روش استفاده شده برای تولید خروجی شکل 6، از سه مرحله تشکیل شده است: اول، تخمین حالت بدن. دوم، بازسازی حرکت و سوم، تقلید حرکت. در گام اول، ویدیوی ورودی پردازش شده و حالت بدن شخصیت اصلی در هر کدام از قابهای ویدئو پیشبینی میشود. سپس، در مرحلهٔ بازسازی حرکت این حالتها با هم ترکیب شده و با حذف اختلالهای حرکتی، یک حرکت مرجع تولید میشود. در نهایت، در گام تقلید حرکت، یک شخصیت شبیهسازی شده با استفاده از یادگیری تقویتی آموزش داده میشود تا حرکت مرجع را تقلید کند [8].
2. چه بازیهایی از انیمیشنهای مبتنی بر فیزیک استفاده میکنند؟
اغلب روشهای موجود برای حل مسالهٔ انیمیشنهای مبتنی بر فیزیک به منابع محاسباتی زیادی نیاز دارند و همین مساله باعث شده است که از این نوع انیمیشنها در بازیهای ویدیویی خیلی زیاد استفاده نشود. با این حال، لازم به ذکر است که تقریبا تمامی بازیهایی که سامانههای انیمیشنی پیچیدهای دارند، از برخی تکنیکهای ارائه شده در این روشها بهره میبرند. چند نمونه از این بازیها، FIFA ،PES و Assassin’s Creed هستند (شکل 7).
شکل 7. بازی FIFA یک نمونه خوب از بازیهای بزرگی است که از انیمیشنهای مبتنی بر فیزیک استفاده میکنند.
اگر بازیهای بزرگ را در نظر نگیریم، برخی بازیهای مستقل نیز سامانههای انیمیشن خود را به طور کامل بر مبنای فیزیک پیادهسازی کردند. از میان این بازیها، بازیهای QWOP و Toribash دو تا از موفقترین نمونهها هستند. ویدیوهای زیادی از این بازیها در اینترنت موجود است. با این حال، توصیه میشود که خودتان این بازیها را تجربه کنید تا بهتر بتوانید قدرت و پیچیدگی انیمیشنهای مبتنی بر فیزیک را درک کنید. تصویری از بازی Toribash در شکل 8 نشان داده شده است.
شکل 8. بازی Toribash از نمونه بازیهای مستقلی است که سامانه انیمیشن خود را مبتنی بر فیزیک پیادهسازی کردهاند.
3. مسائل باز در حوزه انیمیشنهای مبتنی بر فیزیک کدامند؟
اغلب رویکردهای موجود برای حل مسئلهٔ انیمیشنهای مبتنی بر فیزیک یا پیچیدگی محاسباتی بالایی دارند یا حرکات مقاومی تولید نمیکنند. به همین علت، مسائل باز گوناگونی در این حوزه وجود دارد. چند نمونه از مهمترین این مسائل در ادامه آمده است:
۱- چگونه میتوان روشهای کارا برای تولید انیمیشنهای مبتنی بر فیزیک طراحی کرد؟
۲- چگونه میتوان از انیمیشنهای مبتنی بر فیزیک در بازیها و نرمافزارهای بلادرنگ استفاده نمود؟
۳- چگونه میتوان کیفیت یک انیمیشن را (از نظر نرمی حرکت، طبیعی بودن و ...) اندازه گرفت؟
۴- چگونه میتوان از انیمیشنهای مبتنی بر فیزیک برای طراحی مکانیکهای نوین در بازیها یا واسطهای جدید تعامل انسان و کامپیوتر8 استفاده کرد؟
۵- انیمیشنهای مبتنی بر فیزیک چگونه میتوانند فناوریهای واقعیت افزوده، مجازی و ترکیبی9 را تحت تاثیر قرار دهند؟
هرکدام از این مسائل میتوانند برای شروع کار پژوهشگرانی که به این حوزه علاقهمند هستند، مناسب باشند.
4. نتیجهگیری
در این مقاله به معرفی کوتاهی از انیمیشنهای مبتنی بر فیزیک پرداختیم. این انیمیشنها در مقایسه با تکنیکهای سنتی انیمیشنهای قاب کلیدی، پتانسیل تولید حرکتهایی با انعطافپذیری و تنوع بالاتری را دارند. رویکردهای موجود برای تولید این انیمیشنها از روشهای مبتنی بر جستجو و/یا یادگیری تقویتی استفاده میکنند. علیرغم پیشرفتهای قابل توجهی که اخیراً در این حوزه اتفاق افتاده است، هنوز جای کار بسیاری برای بهبود رویکردهای موجود چه از نظر پیچیدگی محاسباتی و چه از نظر مقاوم بودن حرکتهای تولید شده وجود دارد. به همین علت است که انیمیشنهای مبتنی بر فیزیک هنوز به طور کامل راه خود را به درون پروسه ساخت بازیهای ویدیویی پیدا نکردهاند.
مراجع
Peng, X. B.; Abbeel, P.; Levine, S. & van de Panne, M., “DeepMimic: Example-guided deep reinforcement learning of physics-based character skills.” ACM Trans. Graph., ACM, 2018, 37, 143:1–143:14
Hämäläinen, P.; Rajamäki, J. & Liu, C. K., “Online control of simulated humanoids using particle belief propagation,” ACM Transactions on Graphics (TOG), ACM, 2015, 34, 81
Geijtenbeek, T.; van de Panne, M. & van der Stappen, A. F., “Flexible muscle-based locomotion for bipedal creatures,” ACM Transactions on Graphics, ACM SIGGRAPH, 2013, 32
Sutton, R. S. & Barto, A. G., “Reinforcement learning: An introduction,” MIT press, 2018
Mnih, V.; Kavukcuoglu, K.; Silver, D.; Rusu, A. A.; Veness, J.; Bellemare, M. G.; Graves, A.; Riedmiller, M.; Fidjeland, A. K.; Ostrovski, G. & others, “Human-level control through deep reinforcement learning,” Nature, 2015, 518, 529
Silver, D.; Huang, A.; Maddison, C. J.; Guez, A.; Sifre, L.; Van Den Driessche, G.; Schrittwieser, J.; Antonoglou, I.; Panneershelvam, V.; Lanctot, M. & others, “Mastering the game of Go with deep neural networks and tree search,” Nature, 2016, 529, 484–489
Silver, D.; Schrittwieser, J.; Simonyan, K.; Antonoglou, I.; Huang, A.; Guez, A.; Hubert, T.; Baker, L.; Lai, M.; Bolton, A. & others, “Mastering the game of go without human knowledge,” Nature, 2017, 550, 354
Peng, X. B.; Kanazawa, A.; Malik, J.; Abbeel, P. & Levine, S., “SFV: Reinforcement learning of physical skills from videos,” ACM Trans. Graph., ACM, 2018, 37
1 Physics-based animation
2 Keyframe animation
3 Forward simulation
4 Cost function
5 Reinforcement learning
6 Machine learning
7 Deep reinforcement learning
8 Human-Computer Interaction (HCI)
9 Augmented/Virtual/Mixed Reality (AR, VR, MR)