یک مدل متنباز تازه برای تخمین دست از روی تصویر منتشر شده که روی سختافزار مصرفی سریع است: FAH. مقالهی آن در arXiv (۵ نوامبر ۲۰۲۶) و کدش در گیتهاب آمده و نویسندهی آن Jinkun Cao است. مدل از روی یک تصویر یا ویدیوی معمولی، نقاط دوبعدی و سهبعدی مفصلها و سطح دست را پیشبینی میکند و روی آنها مش MANO یا MHR-Hand را فیت میکند.
FAH چه میکند
بیشتر تخمینگرهای مش دست، پارامترهای اسکلت (rig) را پیشبینی میکنند و نقطههای دوبعدی را با تصویر کردن مش به دست میآورند. نویسنده میگوید در آزمایشهای او مفصلهای سهبعدیِ مستقیم با پیشبینی دوبعدی بهتر همخوان میشوند و فیتکردن مش روی نقطههای پیشبینیشده، خطای مش را کم میکند. FAH بر پایهی شاخهی دست در SAM 3D Body ساخته شده (با fine-tuning و feature distillation) و این خروجیها را دارد:
مفصلها و نقطههای سطح، دوبعدی و سهبعدی، و فیت MANO یا MHR-Hand
اختیاری: برچسب بخشهای دست و احتمال تماس با شیء، بدون نیاز به هندسهی شیء هنگام استنتاج
حالت ویدیو: پالایش علّی (فقط از فریمهای گذشته) که خطای شتاب را کم میکند
حالت جهان: تخمین دوربین و قراردادن دستها در فضای جهان
خروجیهای FAH-L روی یک کلیپ نگهداشتهشده از HOT3D: مفصلها، نقطههای سطح، مش، بخشهای دست و ماسکها.
چهار اندازه، با سرعت و دقت
خانوادهی FAH چهار مدل دارد. جدول زیر عددهای README ریپو است؛ PA-MPJPE خطای مفصلهاست (کمتر بهتر) روی HOT3D، و سرعت روی RTX 4070 Ti SUPER با TensorRT و مشفیت اندازهگیری شده است.
مدل | انکودر | اندازهی کراپ | PA-MPJPE (میلیمتر) | سرعت (fps) |
|---|---|---|---|---|
FAH-S | DINOv3 ViT-S/16 | 320 | 5.25 | 101 |
FAH-B | DINOv3 ViT-B/16 | 320 | 4.57 | 89 |
FAH-L (پیشفرض) | DINOv3 ViT-L/16 | 320 | 4.31 | 65 |
FAH-H | DINOv3 ViT-H+/16 | 448 | 4.12 | 27 |
FAH-L با افزودن برچسب بخشها به ۵۴ و با تماس هم به ۴۹ fps میرسد. FAH-S بدون مشفیت، بخشها و تماس به ۱۲۵ fps میرسد. بهگفتهی مقاله، FAH-L حدود ۶٫۵ برابر سریعتر از شاخهی دست SAM 3D Body است (۶۵ در برابر ۱۰ fps).
کار روی میز با دوربین، اسباببازی، موس و کیبورد، با همهی خروجیها (ورودی، نقطههای ۲بعدی، مش ۳بعدی، بخشها، تماس).
ژستها، دستهای روی همافتاده و کار با شیء رو به دوربین.
مقالهی علمی
مقاله «Fast and Accurate Hand Estimation in Pixels, Interaction and World Space» نام دارد. طبق مقاله، روی HOT3D خطای شتاب با حالت ویدیو از ۳٫۸۳ به ۱٫۶۵ میرسد (HaWoR، مدل ویدیویی مقایسهشده: ۱٫۹۴) و PA-MPJPE از ۴٫۳۱ به ۴٫۱۶ میلیمتر. در دقت دوبعدی، FAH-L مقدار ۰٫۸۳ PCK@0.1 میگیرد، در برابر ۰٫۷۲ برای قویترین مدل مقایسهشده. در تماس، طبق مقاله از HACO بهتر است (روی HOT3D با ۱۰ میلیمتر برچسب: F1 برابر ۰٫۸۰ در برابر ۰٫۵۸).
مقایسهی تماس FAH-L با HACO. HACO در این ویدیوها همهجا تماس را علامت میزند و FAH-L بین ۶۹ تا ۹۵ درصد نگهداشتن شیء را.
بخش محدودیتهای مقاله میگوید خطای دوربین بر خطای فضای جهان غالب است. یک نکتهی مهم هم این است که بهبود حالت ویدیو روی همهی معیارها یکسان نیست: روی EgoStandard، خطای شتاب از ۳٫۹۹ به ۱٫۶۷ میرسد ولی PA-MPJPE کمی بدتر میشود (۷٫۱۰ به ۷٫۱۷ میلیمتر). README هم میگوید دستهای خیلی ریز در کلاژها و دستهای سخت در هم گرهخورده هنوز دشوارند، و تماس ممکن است روی تماس دست با صورت یا دست دیگر هم فعال شود.
نمونهی ویدیوی دوربین روی سر از مجموعهی HoloAssist، بریده و با پیشبینیهای مدل رویش.
متن کامل مقاله (PDF): Fast and Accurate Hand Estimation in Pixels, Interaction and World Space
نصب و مجوز
به Python 3.10 و PyTorch 2.1 به بالا نیاز است. دستور fah --img hand.jpg --output_dir output/fah روی یک تصویر اجرا میشود و fah-video برای ویدیو آمده است. روی CPU و Apple silicon هم نصب توضیح داده شده، ولی فقط سرعتهای گزارششده روی GPU انویدیا اندازهگیری شدهاند. چند نکتهی عملی:
کد با Apache-2.0 منتشر شده، ولی همهی وزنهای FAH فقط برای پژوهش و استفادهی غیرتجاریاند.
برای اجرا باید مجوز SAM را در Hugging Face بپذیری و MANO را جداگانه از وبسایت mano.is.tue.mpg.de ثبتنام کرده و دانلود کنی.
نظر من
به نظر میرسد جذابیت اصلی FAH ترکیب سرعت و خروجیهای متعدد است: از روی مشخصات منتشرشده، تا حدود ۶۵ fps با مشفیت روی یک کارت مصرفی، چیزی است که برای ردیابی دست در رابطهای AR/VR، رباتیک و ضبط داده میتواند مهم باشد. از طرف دیگر، همهی اعداد از یک نویسنده و یک سختافزار (WSL2 روی RTX 4070 Ti SUPER) آمدهاند و مجوز غیرتجاری وزنها استفاده در محصول را محدود میکند. اگر بخواهم تستش کنم، اول FAH-S و FAH-L را روی همان ویدیوی یکسان اجرا میکنم و سرعت واقعی و پایداری در دستهای درگیر با شیء را میسنجم.
