تشخیص موقعیت بدن انسان، فناوری ای است که میتواند موقعیت اندام های مختلف بدن انسان را تعیین کند. چنین فناوری کاربردهای مختلفی دارد. از جمله ی این کاربردها میتوان به یافتن حرکات نامتعارف، تشخیص سقوط و تشخیص درست انجام دادن حرکات ورزشی اشاره نمود. برخی از سیستم های امنیتی و نظارتی نیز به چنین فناوری مجهز هستند تا احتمال وقوع حادثه را پیش بینی کنند.
تشخیص موقعیت بدن چیست؟
تعیین موقعیت بدن انسان یک فناوری مبتنی بر بینایی ماشین است که میتواند وضعیت قرار گیری بدن انسان را تشخیص دهد. اجزای اصلی سیستم تشخیص موقعیت بدن انسان، مدل سازی بدن است. سه مدل برای بدن انسان وجود دارد:
- مدل اسکلتی(Skeleton-based): که شامل مجموعه ای از مفاصل مانند زانوها، شانه، آرنج، مچ و جهت آن هاست که ساختار اسکلت بدن انسان را تشکیل میدهند. این مدل به دلیل انعطاف پذیری مناسب هم در سیستم های دو بعدی و هم سه بعدی کاربرد دارد.
- مدل مبتنی بر شکل(Contour-based): در این مدل سازی، از شکل و پهنای تنه و اندام بدن استفاده میشود. بخش های مختلف بدن با استفاده از مستطیل های مختلف ترسیم میگردند.
- مدل مبتنی بر حجم(Volume-based): در این روش از شکل های سه بعدی برای نشان دادن قسمت های مخالف بدن استفاده میشود تا حجم آن قسمت ها مشخص گردد.
در ادامه تصویر هر سه مدل را مشاهده میکنید.
درادامه درباره ی مدل اسکلتی صحبت میکنیم که می تواند از مدل های سه بعدی و دو بعدی بدست آید.
تخ مین دو بعدی وضعیت بدن، مختصات قرارگیری بدن انسان را در یک نمودار دو بعدی در راستای محور X و Y در نظر میگیرد. در یک نمودار سه بعدی نیز وضعیت بدن انسان در یک نمودار سه بعدی در راستای محورهای X، Y و Z مشخص میشود.
وقتی که میخواهیم، موقعیت بدن انسان را در برنامه های تناسب اندام محاسبه کنیم، بهتر است از تخمین سه بعدی استفاده کنیم. به این دلیل که این مدل ها موقعیت بدن انسان را در حین ورزش کردن با دقت بهتری نشان میدهند.
از فناوری تشخیص موقعیت بدن انسان در برنامه های ورزشی و تناسب اندام میتوان برای موارد زیر استفاده کرد:
- مشخص کردن موقعیت بدن در حین ورزش کردن و انجام حرکات
- تحلیل درست انجام دادن حرکات
- نمایش خطاها به کاربر
سیستم تخمین سه بعدی حرکات بدن چگونه کار میکند؟
در ادامه تصویری از ساختار اسکلتی بدن انسان و نقاط مرتبط با آن مشخص شده است. این فرایند اصولا شامل استخراج مفصل های بدن انسان و تحلیل موقعیت بدن انسان با استفاده از الگوریتم های یادگیری عمیق است. اگر لازم باشد تخمین موقعیت بدن انسان در یک فیلم ویدئویی ضبط شده مشخص گردد، این کار در تمام فریم های ویدئو انجام میشود. در نتیجه موقعیت مفصل های بدن با دقت بهتری نسبت به حالتی که فقط از یک تصویر برای تخمین موقعیت استفاده میشود، انجام میشود.
روش های مختلفی برای تخمین موقعیت بدن انسان وجود دارند. اما یکی از روش های متداول استفاده از الگوریتم های یادگیری عمیق است. همچنین اگر بتوان موقعیت بدن انسان را از زاویه های مختلف توسط دوربین های مختلف رصد کرد، دقت بهتری بدست میآید. ولی چنین موقعیتی همیشه فراهم نیست همچنین پردازش تصاویر دریافتی از دوربین های مختلف به توان پردازشی بالایی نیاز دارد.
چگونه میتوان از فناوری تشخیص موقعیت بدن انسان در برنامه های تناسب اندام استفاده کرد؟
تشخیص موقعیت بدن انسان، فناوری جدیدی است که کاربرد آن در برنامه های تناسب اندام نیز مورد توجه قرار گرفته است. در ادامه ساخت چنین سیستمی را بررسی میکنیم.
فرض کنید که هدف این سیستم، دریافت فایل ورودی و بررسی آن و همچنین مقایسه آن با فایلی است که یک ورزشکار حرفه ای آن حرکات را انجام میدهد. مراحل این کار به صورت زیر انجام میشود:
- برش ویدئوی ورودی بر اساس شروع و پایان ورزش: در هر برش از ویدئو، موقعیت بدن مشخص میشود و با مقدارهای مشخص کننده ی مرزی مقایسه میگردد. برای مثال در حرکت اسکوات میتوان زاویه ی دست ها و موقعیت دست ها را با استفاده از مقدار ارتفاع مشخص کرد و در صورت فراتر رفتن حرکات از مقادیر مرزی، خطا بودن اشتباه مشخص میشود. البته میتوان تعیین ابتدا و انتهای ورزش را به عهده ی کاربر گذاشت تا این قسمت به صورت دستی مشخص گردد.

- مشخص نمودن نقاط دو بعدی یا سه بعدی در بدن فرد: بعد از اینکه نقاط مشخص شدند، با نقاط موجود در ویدئوی اصلی مقایسه میشوند تا تفاوت ها مشخص گردد. البته نمیتوان خیلی مقایسه ی دقیقی به دست آورد به دلیل اینکه در ویدئوها، سرعت انجام حرکات و همچنین تکرارشان متفاوت است.
- تجزیه ی مراحل تمرین: برای حل مسئله ی بالا در مقایسه ی ویدئوها میتوان حرکات را به چند بخش تبدیل کرد. مثل حرکت اسکوات به دو بخش اسکوات به سمت پایین و بالا تقسیم میشود.
- جستجو برای یافتن خطا: بعد از اینکه مراحل بالا انجام شد، خطاها مشخص میشود. مثلا در حرکت اسکوات اگر زانوها به قسمت مرکز نزدیک شوند، نشان دهنده ی انجام اشتباه حرکت اسکوات است.
- مقایسه ی ویدئوی ورودی با ویدئوی اصلی: در هر دو ویدئو، باید انجام حرکات به بخش های مختلف تقسیم شود و سپس نقاط بدن در هر قسمت و در هر فریم مشخص گردد. این قسمت ها در هر دو ویدئو مقایسه میگردد.
تمامی این مراحل در گام های زیر انجام میشود:
- سرعت ویدئوی اصلی کم یا زیاد میشود تا سرعتش مطابق سرعت ویدئوی ورودی باشد.
- مدل اسکلتی هر دو ویدئو با هم منطبق میگردند تا زاویه ی چرخش آن ها با هم مطابقت داشته باشد.
- سایز اسکلت موقعیت بدن هر دو ویدئو باید با هم یکسان باشد. ویدئوی ورودی میتواند در هر فاصله ای ضبط شود.
- نقاط هر دو ویدئو در هر فریم مقایسه میشوند تا درست انجام ندادن حرکات مشخص شود.
- مقایسه برای تمام مفاصل انجام میشود. موقعیت دست ها، زانو، شانه و … مقایسه میگردد.
- در انتها نتایج نشان داده میشوند و پیشنهادهایی برای بهبود حرکات به کاربر داده میشود.

منبع: