تصور کنید یک بیمار در حال تمرینات فیزیوتراپی است، اما یک تغییر کوچک در نور اتاق یا خروج لحظهای دست از کادر دوربین، باعث میشود هوش مصنوعی تصور کند بیمار حرکتی غیرطبیعی یا شدید انجام داده است. در محیطهای پزشکی، چنین خطاهایی صرفاً یک باگ فنی نیستند، بلکه میتوانند منجر به تشخیصهای غلط و برنامهریزیهای خطرناک برای بیمار شوند.
پلتفرم Mendly که در رویداد HopHacks توسعه یافت و رتبه یازدهم از میان ۸۷ اثر را کسب کرد، راهکاری برای تبدیل فیدهای ناپایدار دوربین به دادههای در سطح کلینیکی ارائه داده است. طبق گزارش تیم توسعهدهنده، مشکل اصلی اکثر سامانههای بینایی ماشین این است که پیشبینیهای مدل را به عنوان حقیقت مطلق میپذیرند؛ در حالی که در محیطهای درمانی، هرگونه نوسان در تصویر میتواند «حرکات شبحوار» ایجاد کند که درمانگر یا عامل برنامهریز را به اشتباه میاندازد.
این تیم برای حل این مشکل، یک لایه اعتبارسنجی دقیق بین تشخیص اولیه ژست و موتور استدلال هوش مصنوعی قرار داد. آنها از MediaPipe Pose برای ردیابی نقاط کلیدی مانند شانه، آرنج و مچ دست استفاده کردند، اما بهجای اعتماد به خروجی خام، خط لولهای (Pipeline) ساختند که قابلیت اطمینان داده را بر تداوم خروجی اولویت میدهد.
همانطور که در تحلیلهای پیشین ما دربارهی امنیت و دقت مدلهای بینایی در محیطهای حساس اشاره کردیم، حذف نویز در لایه ورودی بسیار حیاتیتر از پیچیدگی مدل در لایه خروجی است.
خط لوله دادهها
این سامانه صرفاً یک شخص را شناسایی نمیکند، بلکه مشاهدات ناقص دوربین را به دادههای مورد اعتماد تبدیل میکند. ترتیب عملیات به این صورت است:
دوربین $\downarrow$ تشخیص ژست $\downarrow$ محاسبه زوایای مفصل / دامنه حرکتی $\downarrow$ بررسی قابلیت اطمینان $\downarrow$ تشخیص تکرار $\downarrow$ دادههای عملکرد ساختاریافته $\downarrow$ برنامهریزی تطبیقی آینده.
محاسبه حرکت
برای عبور از تحلیل ساده پیکسلها، تیم Mendly روی نقاطی که مفصلها را نمایندگی میکنند (شانه، آرنج، مچ، لگن، زانو و مچ پا) تمرکز کرد. برای مثال، برای محاسبه زاویه آرنج، سیستم از دو بردار استفاده میکند:
$v_1 = \text{Shoulder} - \text{Elbow}$
$v_2 = \text{Wrist} - \text{Elbow}$
سپس زاویه $\theta$ از طریق ضرب داخلی محاسبه میشود: $\theta = \arccos((v_1 \cdot v_2) / (|v_1||v_2|))$. این روش اجازه میدهد دامنه حرکتی (Range of Motion یا ROM) بهطور دقیق اندازهگیری شود. برای مثال، اگر آرنج از ۱۵۵ درجه به ۷۲ درجه برسد، دامنه حرکتی ۸۳ درجه است؛ دادهای که بسیار کاربردیتر از عبارت کلی «دست حرکت کرد» است.
حل مشکل دادههای «نامعلوم»
یکی از بحرانیترین نقاط شکست در تخمین ژست، نحوه برخورد با فریمهای گمشده است. در دنیای واقعی، بیمار ممکن است از کادر خارج شود یا مفصلی توسط شیء دیگری پوشانده شود. یک نقطه کلیدی اشتباه میتواند کل زنجیره را تخریب کند: نقطه بد $\downarrow$ زاویه بد $\downarrow$ تکرار بد $\downarrow$ داده عملکرد بد $\downarrow$ برنامهریزی آینده بد.
بسیاری از سامانهها در صورت گم شدن عضو، مقدار را صفر میکنند یا آخرین موقعیت شناختهشده را تکرار میکنند. هر دو روش، دادهای را اختراع میکنند که وجود ندارد. اگر در فریم ۱ زاویه ۴۰ درجه و در فریم ۲ زاویه ۵۵ درجه باشد و در فریم ۳ ردیابی شکست بخورد:
- تله مقدار صفر: در نظر گرفتن شکست استنتاج به عنوان ۰ درجه، یک حرکت شدید و جعلی در دادهها ایجاد میکند.
- تله تداوم: نگه داشتن زاویه ۵۵ درجه، فرض میکند بیمار دقیقاً در لحظه گم شدن از کادر، متوقف شده است.
Mendly یک قانون سختگیرانه وضع کرد: «نامعلوم باید نامعلوم بماند». در این خط لوله، شکست در استنتاج (Inference) — که لحظهای است مدل واقعاً جواب تولید میکند، شبیه به خودِ آشپزی در مقابل دورهی آموزش آشپز — به عنوان یک مشاهده نامعتبر علامتگذاری میشود. در نتیجه، نه وضعیت حرکت بهروز میشود، نه زاویهای ساخته میشود و نه تکراری شمرده میشود.

اصلاح اعوجاجهای هندسی
تیم متوجه باگی در مختصات نرمالشده شد. MediaPipe مقادیر X و Y را نسبت به عرض و ارتفاع فریم میدهد. در یک دوربین ۶۴۰ در ۴۸۰، مقیاسها متفاوت است: تغییر ۰.۱ در X برابر ۶۴ پیکسل و در Y برابر ۴۸ پیکسل است. محاسبه زوایا بدون در نظر گرفتن نسبت ابعاد (Aspect Ratio)، باعث اعوجاج در زوایای مفصل میشود. تیم Mendly با اعمال نسبت ابعاد واقعی دوربین پیش از محاسبه طول پرتوها و زوایا، این مشکل را حل کرد تا اندازهگیری دیجیتال با حرکت فیزیکی مطابقت داشته باشد.
شمارش تکرار مبتنی بر وضعیت
شمارش یک تکرار در توانبخشی، سادهتر از عبور از یک حد آستانه نیست. حرکات انسانی نویزی هستند و ممکن است دست در زاویه هدف لرزش داشته باشد. برای حل این مشکل، تیم به رویکرد «مبتنی بر وضعیت» روی آورد. یک تکرار معتبر اکنون نیازمند این توالی است:
شروع $\rightarrow$ پیشروی تا رسیدن به دامنه مورد نیاز $\rightarrow$ توقف (در صورت نیاز) $\rightarrow$ بازگشت $\rightarrow$ تکمیل.
همچنین سیستم بین «تلاشهای کل» و «تکرارهای معتبر» تفاوت میگذارد. اگر بیمار توالی «معتبر، شکست، شکست، معتبر، شکست» را اجرا کند، تنها ۲ تکرار از ۵ تکرار مورد نیاز انجام شده است. جلسه تنها زمانی پایان مییابد که تعداد تکرارهای معتبر به هدف برسد.
تفکیک دادههای ثبتشده از دادههای مورد اعتماد
این تفکیک برای آمار ROM حیاتی است. اگر بیمار تکراری را در حالی انجام دهد که دوربین بهسختی نقاط را ردیابی میکند، سیستم ثبت میکند که «تلاشی صورت گرفته»، اما آن را به عنوان «اندازهگیری قابلاعتماد» نمیپذیرد. سیستم دو پرسش مجزا میپرسد:
۱. آیا اتفاقی افتاد؟
۲. آیا به این اندازهگیری اعتماد داریم؟
معماری اعتماد
Mendly بخش «حسگری» را از «استدلال» جدا کرده است. لایه بینایی ماشین دنیای نویزی فیزیکی را مدیریت کرده و خروجی را به صورت دادههای ساختاریافته JSON ارائه میدهد. این کار باعث میشود مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — هرگز ویدیوهای خام را نبیند که هم حریم خصوصی را حفظ میکند و هم از توهم (Hallucination) — یعنی وقتی مدل با اطمینان چیزی میگوید که وجود ندارد، شبیه دوستی که خاطرهای را اشتباه تعریف میکند — جلوگیری میکند.
ارکستراسیون و برنامهریزی هوش مصنوعی
- ارکستراسیون: تیم از Backboard برای حافظه و مدیریت استفاده کرد تا تداوم برنامهریزی برای هر بیمار حفظ شود. این رویکرد یادآور تغییر خط لولههای ایستا به سامانههای تطبیقی است که در آن ارکستراتورها مدیریت جریان داده را بهینه میکنند.
- برنامهریزی تطبیقی: مدل Gemini تاریخچه عملکرد را برای پیشنویس تمرینات آینده پردازش میکند. اما Gemini در لحظه تصمیم نمیگیرد. جریان به این صورت است: تعریف محدوده توسط درمانگر $\downarrow$ پیشنویس AI $\downarrow$ اعتبارسنجی توسط حفاظهای قطعی $\downarrow$ تایید درمانگر $\downarrow$ اجرای بیمار $\downarrow$ اندازهگیری بینایی ماشین $\downarrow$ ذخیره نتایج. این لایه اعتبارسنجی مشابه استفاده از حفاظهای مهندسی برای کاهش نرخ خطای خروجیهای AI عمل میکند تا از تصمیمات نادرست مدل جلوگیری شود.
- انسان در حلقه: درمانگر محدودیتهایی مانند تمرینات مجاز، حداکثر سطح دشواری و اهداف توانبخشی را تعریف میکند و AI تنها در این چارچوب پیشنهاد میدهد.
- زیرساخت: این پشته شامل Next.js برای اپلیکیشن، ElevenLabs برای دسترسی صوتی، TigerData برای دادهها و DigitalOcean برای استقرار بود.
ایمنی و بازیابی
به دلیل کاربرد در توانبخشی، یک لایه پشتیبانی ایمنی برای شناسایی سیگنالهایی مثل سقوط سریع بیمار یا ناپدید شدن طولانیمدت از کادر طراحی شده است تا به درمانگر هشدار دهد. البته توسعهدهندگان تأکید کردهاند که این یک نمونه اولیه است و نه یک تشخیصدهنده سقوط تأییدشده کلینیکی.
برای بهبود تجربه کاربری، آنها از یک «پنجره لغزان» برای تنظیم دوربین استفاده کردند. بهجای اینکه بیمار را بهدلیل چند فریم بد در ابتدا مسدود کنند، سیستم تنها آخرین پنجره از فریمها را بررسی میکند تا وضعیت «آماده» را اعلام کند.
ثبات محصول و دستورالعملها
برای جلوگیری از کلافگی بیمار، رابط کاربری (UI) مستقیماً به منطق ردیابی متصل شد. پیش از این، ممکن بود به بیمار گفته شود «دست خود را بالا ببرید»، در حالی که ردیاب بهطور پنهانی نیاز به توقف ۲ ثانیهای و زاویه ۷۰ درجه داشت. اکنون UI دقیقاً همان چیزی را نشان میدهد که ردیاب میسنجد: «۱۲ تکرار $\cdot$ حرکت تا ۷۰ درجه در شانه $\cdot$ توقف برای ۲ ثانیه».
درسهای مهندسی
این تغییر رویکرد، هدف را از «هوشمندتر کردن مدل» به «پاکتر کردن دادهها» تغییر داد. پیش از Mendly، مسیر بینایی ماشین ساده به نظر میرسید: ورودی $\rightarrow$ مدل $\rightarrow$ پیشبینی. اکنون مسیر این است: ورودی $\rightarrow$ پیشبینی $\rightarrow$ اطمینان $\rightarrow$ اعتبارسنجی $\rightarrow$ استدلال زمانی $\rightarrow$ داده ساختاریافته $\rightarrow$ رفتار اپلیکیشن.
پذیرفتن اینکه سیستم گاهی «نمیداند»، زیربنای اعتمادی است که برای کاربردهای بهداشتی ضروری است. درس برای توسعهدهندگان AI روشن است: کیفیت استدلال توسط کیفیت ورودی محدود میشود. مهمترین تصمیم این نیست که مدل چه پیشبینی میکند، بلکه این است که آیا شواهد کافی برای پیشبینی وجود دارد یا خیر.
گام بعدی شما
- اگر در حال توسعه سامانههای AI برای محیطهای واقعی هستید، لایهای برای مدیریت دادههای «نامعلوم» اضافه کنید تا از تولید دادههای جعلی جلوگیری شود.
- در پروژههای بینایی ماشین، همواره نسبت ابعاد (Aspect Ratio) دوربین را پیش از محاسبات هندسی اعمال کنید.
- برای کاهش توهمات در مدلهای زبانی، ورودیها را از دادههای خام به دادههای ساختاریافته JSON تبدیل کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو