یه سیستم سریع و باحال برای گرفتن و ساختن مدل‌های سه‌بعدی پویا با نقطه‌ها و Gaussian Splats!

Fall Back

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

اولش اگه بخوام یه توضیح کوچولو بدم؛ این سیستم می‌تونه با دوربین‌هایی که فقط RGB دارن (یعنی فقط عکس رنگی می‌گیرن) یا حتی اونایی که عمق (Depth) هم دارن (که بهشون می‌گن RGB-D)، از یه سوژه فیلم بگیره و بعدش همه چی رو تبدیل کنه به یه مدل سه‌بعدی. یعنی انگار نقطه‌های زیادی که توی فضا هستن رو برات بازسازی می‌کنه و خودت می‌تونی مدل سه‌بعدی سوژه رو بچرخی و ببینی.

حالا چرا Gaussian Splats؟ بذار یه توضیح کوچولو بدم: Gaussian Splats یعنی شبیه‌سازی و نمایش نقطه‌ها توی مدل سه‌بعدی به یه فرم نرم و بلوری که هم سریع نشون داده می‌شن و هم جزییات خوبی دارن. این سیستم یه الگوریتم معروف به اسم GPS-Gaussian استفاده کرده (که منظورش Gaussian Process Splats هست)، اما روش کلی تغییر داده و بهترش کرده تا مدل‌های باکیفیت‌تر بسازه — اونم بدون اینکه کلی منابع مصرف شه یا سیستم کند شه!

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

حتی یه ویژگی خیلی باحال دیگه: همون لحظه که داری تصویر می‌گیری، می‌تونی نتیجه‌ی بازسازی رو با سرعت ۵ تا ۱۰ فریم بر ثانیه (FPS) لایو ببینی؛ یعنی همون موقع می‌فهمی کارت خوب می‌شه یا نه. این خیلی به درد کسایی می‌خوره که سر لوکیشن دارن کار می‌کنن و نمی‌خوان منتظر بمونن تا خروجی نهایی رو ببینن.

بعد داده‌هایی که گرفتی رو می‌تونی با فرمت‌های استاندارد مثل PLY (که فایل استاندارد برای مدل سه‌بعدیه)، MPEG V-PCC (یک نوع استاندارد برای کد کردن مدل‌های نقطه‌ای) و SPLAT خروجی بگیری. حتی افزونه‌هایی واسه یونیتی (Unity) و آنریل انجین (Unreal Engine) هم هست که خیلی راحت می‌تونی مدل‌ها رو وارد پروژه‌هات کنی. اگه دوست داشتی آنلاین هم ببینی، یه بیننده تحت وب هم داره.

یه نکته خیلی مهم دیگه: همه این سرویس و کدهاش به صورت open-source منتشر شده — یعنی اپن سورس بودن یعنی همه می‌تونن راحت تستش کنن، روش توسعه بدن، یا تحقیق و پژوهش ادامه بدن بدون اینکه گیر مجوز و هزینه باشن.

در کل اگه دنبال یه سیستم سریع، اپن‌سورس و انعطاف‌پذیر برای بازسازی سه‌بعدی با point cloud و Gaussian Splats هستی، این مقاله و پروژه‌ش می‌تونه کارت رو راه بندازه و کلی امکانات خفن تو راهت بذاره! هر مدل سوژه‌ای هم باشه، تحت هر شرایط نوری — می‌شه روش حساب کرد.

منبع: +