مشاهده دسته‌بندی‌ها

تشخیص بدن - ردیابی حالت تمام بدن در اسکرچ

🏃‍♂️ تشخیص بدن - ردیابی حالت تمام بدن در اسکرچ #

افزونه PoseNet ردیابی کامل بدن با هوش مصنوعی را به اسکرچ می‌آورد.
این افزونه به پروژه‌های شما اجازه می‌دهد تا به حرکات بدن شما - راه رفتن، دست تکان دادن، رقصیدن یا پریدن - واکنش نشان دهند - همگی به صورت آنی، درست در مرورگر شما، بدون نیاز به تنظیمات.
به اندازه کافی ساده برای دانش‌آموزان، و در عین حال قدرتمند برای کلاس‌های درس خلاق.


🌟 مرور کلی #

  • تشخیص کامل بدن: مفاصل اصلی - سر، شانه‌ها، آرنج‌ها، مچ دست‌ها، لگن، زانوها و مچ پا را ردیابی کنید.
  • ۳۳ نقطه کلیدی: مدل BlazePose با ۳۳ نقطه کلیدی (سر، بازوها، تنه، پاها) استفاده شده است.
  • مختصات را بخوانید: موقعیت X و Y هر مفصل شناسایی شده بدن را مستقیماً در صحنه Scratch دریافت کنید - از آنها برای حرکت دادن اسپرایت‌ها یا فعال کردن برخی کارها استفاده کنید.
  • اندازه‌گیری کنید: محاسبه زاویه‌ها و فواصل بین دو مفصل.
  • پیش‌نمایش دوربین را تغییر دهید: نمایش نمای زنده دوربین، پنهان کردن یا آینه‌ای کردن آن برای تطبیق با تنظیمات شما.
  • ورودی را انتخاب کنید: آنالیز تصویر دریافتی از دوربین به صورت زنده یا مستقیماً از تصویر استیج اسکرچ.

ویژگی‌های کلیدی #

  • ردیابی تمام بدن یک نفر با استفاده از مدل BlazePose.
  • منوی کشویی کاربر پسند برای قسمت‌های رایج بدن.
  • قابلیت تنظیم فواصل زمانی «دسته‌بندی» برای عملکرد روان.
  • دارای پیش‌نمایش دوربین، تنظیم شفافیت و کنترل‌های دستگاه.
  • کاملاً در مرورگر کار می‌کند - ایمن و خصوصی.

🚀 نحوه استفاده #

  1. بروید به: pishi.ai/play
  2. بخش افزونه‌ها را باز کنید.
  3. افزونه‌ی PoseNet را انتخاب کنید.
  4. در صورت درخواست، دسترسی به دوربین را مجاز کنید و بررسی کنید که پیش‌نمایش ویدیوی شما نمایش داده شود.
  5. اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر می‌کند.
  6. پس از بارگذاری، تشخیص مداوم حالت به طور خودکار شروع می‌شود (می‌توانید حالت آن را در هر زمان تنظیم کنید).
  7. حالا می‌توانید از بلوک‌های موقعیت یا اندازه‌گیری برای واکنش نشان دادن اسپرایت‌ها به بدن خود استفاده کنید - حرکت، پرش یا موج‌سواری برای کنترل پروژه‌تان!

نکات

  • جایی بایستید که بالاتنه کامل شما با نور مناسب قابل مشاهده باشد.
  • از بلوک تعداد افراد برای بررسی اینکه آیا در حال حاضر شخصی شناسایی شده است یا خیر، استفاده کنید .
  • برای کلاس‌های درس یا دستگاه‌های قدیمی‌تر، برای عملکرد روان، دسته‌بندی را در فواصل ۱۰۰ تا ۲۵۰ میلی‌ثانیه شروع کنید.

🧱 بلوک‌ها و توابع #

📍 موقعیت و تعداد #

x of [KEYPOINT] person no: [PERSON_NUMBER]
y of [KEYPOINT] person no: [PERSON_NUMBER]

موقعیت X یا Y یک مفصل بدن را روی صحنه گزارش می‌دهد.
[KEYPOINT]: یک مفصل را از لیست کشویی انتخاب می‌کند (شانه، آرنج، مچ دست و غیره).
[PERSON_NUMBER]: انتخاب می‌کند کدام فرد ردیابی شود (در BazePose فقط ۱ نفر است). "۱" = اولین فرد شناسایی شده.

اگر هیچ شخصی شناسایی نشود، یا وقتی مفصل انتخاب شده خارج از نمای دوربین باشد، یا اطمینان تشخیص آن کمتر از حداقل آستانه باشد، مقدار خالی را برمی‌گرداند.

 

people count
تعداد افراد شناسایی‌شده در حال حاضر (0 یا 1) را گزارش می‌دهد. BlazePose برای بهترین دقت، هر بار یک نفر را ردیابی می‌کند.


📏 اندازه گیری‌ها #

زاویه بین نقاط شماره: [KEYPOINT_1] و [KEYPOINT_2] جسم شماره: [PERSON_NUMBER]
زاویه (بر حسب درجه) بین دو مفصل در یک فرد - عالی برای تشخیص بالا بردن دست، خم شدن یا وضعیت بدن.

فاصله بین نقاط شماره: [KEYPOINT_1] و [KEYPOINT_2] جسم شماره: [PERSON_NUMBER]
فاصله بین دو مفصل بر حسب پیکسل‌های استیج - مناسب برای بررسی طول گام یا طول بازو.

نکات:
نقاط کلیدی پیش‌فرض: 11 (شانه چپ) و 12 (شانه راست).
مختصات با مبدا در مرکز صحنه (افقی ≈ −240240، عمودی ≈ −180180).
وقتی ویدیو آینه‌ای می‌شود، مقادیر مختصات X نیز قرینه می‌شوند تا با آنچه روی صفحه می‌بینید مطابقت داشته باشند.


🎯 اطمینان #

set minimum confidence [CONFIDENCE]
حداقل امتیاز تشخیص (0-1) مورد نیاز برای معتبر شمرده شدن تشخیص یک مفصل را تعیین می‌کند.
اگر اطمینان اتصال کمتر از این آستانه باشد، نادیده گرفته می‌شود - به این معنی که بلوک‌های X/Y، زاویه یا فاصله به جای مقادیر ناپایدار، مقدار خالی را برمی‌گردانند.

0.1 – پیش‌فرض: برای استفاده عمومی و ردیابی روان مناسب است.
0.3–0.5 – برای کاهش لرزش یا حرکت کاذب، آن را به ۰.۳-۰.۵ افزایش دهید،
0.1–0.2 – اگر مفاصل کوچک (مانند مچ دست یا مچ پا) مرتباً نادیده گرفته می‌شوند، آن را به ۰.۱-۰.۲ کاهش دهید.

 

minimum confidence
مقدار آستانه اطمینان فعلی را گزارش می‌دهد - برای نمایش آن روی صفحه یا تنظیم پویای آن در طول پروژه مفید است.

توجه: فیلترینگ اطمینان برای هر مفصل اعمال می‌شود، نه برای هر فرد.
اگر یک مفصل خاص به آستانه نرسد، هر بلوکی که از مختصات آن مفصل (مانند موقعیت، زاویه یا فاصله) استفاده کند، خالی برمی‌گردد.


⚙️ کنترل دسته‌بندی #

  • دسته‌بندی [INTERVAL] - انتخاب کنید که تشخیص چند وقت یکبار انجام شود:
    • هر بار که این بلوک اجرا می‌شود
    • پیوسته، بدون وقفه
    • پیوسته، هر ۵۰ تا ۲۵۰۰ میلی‌ثانیه
  • دسته‌بندی را [خاموش/روشن] کن - شروع یا توقف تشخیص پیوسته.
  • فاصله زمانی دسته‌بندی - فاصله زمانی فعلی را بر حسب میلی‌ثانیه گزارش می‌دهد.
  • دسته‌بندی پیوسته - گزارش می‌دهد که تشخیص پیوسته «روشن» یا «خاموش» است.
  • انتخاب تصویر ورودی [دوربین/صحنه] - دوربین یا صحنه را انتخاب کنید.
  • تصویر ورودی - منبع ورودی فعال را گزارش می‌دهد.

🎥 کنترل ویدیو #

  • دسته‌بندی [INTERVAL] - انتخاب کنید که تشخیص چند وقت یکبار انجام شود:
    • هر بار که این بلوک اجرا می‌شود
    • پیوسته، بدون وقفه
    • پیوسته، هر ۵۰ تا ۲۵۰۰ میلی‌ثانیه
  • دسته‌بندی را [خاموش/روشن] کن - شروع یا توقف تشخیص پیوسته.
  • فاصله زمانی دسته‌بندی - فاصله زمانی فعلی را بر حسب میلی‌ثانیه گزارش می‌دهد.
  • دسته‌بندی پیوسته - گزارش می‌دهد که تشخیص پیوسته «روشن» یا «خاموش» است.
  • انتخاب تصویر ورودی [دوربین/صحنه] - دوربین یا صحنه را انتخاب کنید.
  • تصویر ورودی - منبع ورودی فعال را گزارش می‌دهد.

🦵 نقاط کلیدی رایج (شماره‌های مفید) #

از این شماره‌های میانبر برای مفاصل رایج بدن استفاده کنید، یا از منوی کشویی انتخاب کنید.

BlazePose (33 نکته کلیدی):

0: بینی،
1 / 2 / 3: چشم چپ، گوشه داخلی / چشم چپ / چشم چپ، گوشه بیرونی،
4 / 5 / 6: چشم راست، گوشه داخلی / چشم راست / چشم راست، گوشه بیرونی،
7 / 8: گوش چپ / راست، 9 / 10: دهان گوشه چپ / دهان، گوشه راست،
11 / 12: شانه‌ی چپ / شانه‌ی راست 13 / 14: آرنج چپ / آرنج راست
15 / 16: دست چپ، مچ / دست راست، مچ 17 / 18: دست چپ، انگشت کوچک / دست راست، انگشت کوچک
19 / 20: دست چپ، انگشت اشاره / دست راست، انگشت اشاره 21 / 22: دست چپ، انگشت شست / دست راست، انگشت شست
23 / 24: پای چپ، ران / پای راست، ران 25 / 26: پای چپ، زانو / پای راست، زانو
27 / 28: پای چپ، قوزک پا / پای راست، قوزک پا 29 / 30: پای چپ، پاشنه / پای راست، پاشنه
31 / 32: پای چپ، انگشت اشاره / پای راست، انگشت اشاره

اعداد با شاخص‌های نقاط کلیدی مورد استفاده توسط MediaPipe BlazePose مطابقت دارند.


🎓 کاربردهای آموزشی #

  • بیومکانیک را با زوایا و فواصل مفاصل به صورت زنده بررسی کنید.
  • سیستم‌های مختصات را با مرتبط کردن حرکت یدن با موقعیت‌های اسپرایت روی صحنه آموزش دهید.
  • از ریاضی و هندسه برای اندازه‌گیری تقارن، گام یا وضعیت بدن استفاده کنید.
  • پروژه‌های هنری، رقص یا تناسب اندام تعاملی ایجاد کنید که با حرکت کنترل می‌شوند.

🎮 پروژه‌های نمونه #

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

🧩 خودتان امتحان کنید: pishi.ai/play


🔧 نکات و عیب‌یابی #

  • دوربین یافت نشد؟
    • مطمئن شوید که دوربین شما متصل است و اجازه مرورگر داده شده است.
    • اگر دوربین مسدود شده است، آن را در تنظیمات سایت مرورگر خود فعال کنید و صفحه را دوباره بارگذاری کنید.
    • در حین بارگذاری افزونه، اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر می‌کند تا بتوانید همچنان ویژگی‌های FaceMesh را آزمایش کنید.
  • تشخیص داده نشد؟
    دسته‌بندی پیوسته: از این گزارشگر برای بررسی فعال بودن دسته‌بندی استفاده کنید.
    • اگر فعال است، روشنایی را بهبود بخشیده و مستقیماً رو به دوربین باشید.
    دسته‌بندی را [روشن] کن: از این بلوک استفاده کنید، اگر دسته‌بندی فعال نیست، سپس وضعیت طبقه‌بندی را با گزارشگر فوق دوباره بررسی کنید.
    • در حالت ورودی دوربین، وقتی دوربین خاموش است، دسته‌بندی نیز متوقف می‌شود - باید ویدیو را دوباره روشن کنید یا ورودی را به صحنه تغییر دهید.
    • در حالت ورودی صحنه، سیستم هر آنچه را که روی صحنه قابل مشاهده است طبقه‌بندی می‌کند - پس‌زمینه‌ها، اسپرایت‌ها یا تصاویر. می‌توانید ویدیو را کاملاً خاموش کنید و همچنان تصاویر صحنه را پردازش کنید.
    • حالت صحنه کندتر از ورودی دوربین است، بنابراین برای نتایج روان‌تر با استفاده از این بلوک، فاصله زمانی دسته‌بندی خود را کاهش دهید (مثلاً بین ۱۰۰ تا ۲۵۰ میلی‌ثانیه): دسته‌بندی [INTERVAL]
    • در حالت صحنه، نشانه‌های «چپ» و «راست» جابجا می‌شوند زیرا تصویر صحنه آینه‌ای نیست - فضای مختصات نشان دهنده یک نمای واقعی (غیر آینه‌ای) است.
    • دسته‌بندی همچنین می‌تواند هنگام استفاده از بلوک‌هایی مانند موارد زیر به طور خودکار مجدداً راه‌اندازی شود:
    ویدیو را [روشن] کن / دسته‌بندی [INTERVAL] / دوربین [CAMERA] را انتخاب کن. / انتخاب تصویر ورودی [دوربین/صحنه].
  • نمای وارونه؟
    ویدیو را [روشن و آینه‌ای] کن: از این برای نمایش دوربین بدون آینه‌سازی استفاده کنید. حالت «روشن» مانند یک سلفی آینه‌ای می‌شود؛ حالت «روشن و آینه‌ای» جهت واقعی چپ/راست را نشان می‌دهد.
  • کند یا دارای تاخیر؟
    از فواصل دسته‌بندی بین ۱۰۰ تا ۲۵۰ میلی‌ثانیه استفاده کنید یا سایر تب‌های مرورگر را ببندید تا بار پردازش کاهش یابد.
  • هشدار WebGL2؟
    فایرفاکس یا دستگاه جدیدتری که از شتاب گرافیکی WebGL2 پشتیبانی می‌کند را امتحان کنید.
  • به جای دوربین، صحنه را تحلیل کن؟
    انتخاب تصویر ورودی [صحنه]: از این گزینه برای تحلیل تصویر صحنه Scratch به جای تصویر زنده دوربین استفاده کنید.

🦵 نکات ویژه تشخیص بدن #

  • اگر شخص شناسایی نشد؟ مطمئن شوید که تمام قسمت بالای بدن شما قابل مشاهده است - حداقل سر، شانه‌ها و بازوهای شما باید برای تشخیص مداوم در دید باشند.
  • مفاصل گم شده‌اند؟ برخی از مفاصل مانند مچ دست یا مچ پا ممکن است در صورت پوشیده شدن یا خارج از قاب، از بین بروند. برای تأیید تشخیص، تعداد افراد را بررسی کنید.
  • آیا در مورد یک مفصل خاص، ضریب اطمینان پایین است؟ نورپردازی را بهبود بخشید یا حداقل مقدار ضریب اطمینان را کمی کاهش دهید (مثلاً 0.1 تا 0.2) تا به ثبت مفاصل دشوار مانند مچ پا کمک کند.
  • ردیابی ناپایدار است؟ در فاصله حدود ۳ تا ۶ فوت از دوربین بایستید تا تمام بدن شما قابل مشاهده و به طور یکنواخت روشن باشد.
  • تشخیص بالا بردن بازو؟ موقعیت Y نقاط کلیدی ۱۵ یا ۱۶ (مچ دست) را با نقاط کلیدی ۱۱ یا ۱۲ (شانه‌ها) مقایسه کنید. اگر مچ دست بالاتر باشد، بازو بالا رفته است.
  • شمارش پرش‌ها؟ موقعیت Y نقاط کلیدی ۲۷ یا ۲۸ (مچ پا) را دنبال کنید. حرکت ناگهانی به سمت بالا نشان دهنده پرش است.
  • تشخیص اسکات؟ زاویه بین نقاط کلیدی ۲۳ (باسن)، ۲۵ (زانو) و ۲۷ (مچ پا) را اندازه بگیرید. زاویه کوچکتر به معنای اسکات عمیق‌تر است.
  • وضعیت بدن یا تعادل را بررسی کنید؟ زاویه بین نقاط کلیدی ۱۱ و ۱۲ (شانه‌ها) را محاسبه کنید. کج شدن از حالت افقی نشان دهنده تکیه دادن یا عدم تعادل است.
  • تشخیص راه رفتن؟ حرکت متناوب در موقعیت‌های X نقاط کلیدی ۲۷ و ۲۸ (مچ پا) را مشاهده کنید. حرکت منظم از یک طرف به طرف دیگر نشان دهنده راه رفتن است.
  • فقط یک نفر با BlazePose شناسایی شد؟ این قابل انتظار بود – BlazePose بر ردیابی تمام بدن با دقت بالا و تک نفره تمرکز دارد.
  • استفاده از حالت صحنه با عکس‌های بدن؟ نقاط قابل دیدن در حالت صحنه آینه‌ای نیستند - چپ و راست با اضلاع آناتومیک واقعی مطابقت دارند.

🔒 حریم خصوصی و امنیت #

  • همه چیز به صورت محلی در مرورگر شما اجرا می‌شود.
  • هیچ تصویر یا ویدیویی در هیچ کجا آپلود نمی‌شود.
  • فایل‌های مدل ممکن است یک بار برای استفاده آفلاین دانلود شوند.
  • قبل از استفاده از دوربین، همیشه از معلم یا والدین خود اجازه بگیرید.
  • در هر زمان، با خیال راحت ویدیو را [خاموش] کن.

🧪 اطلاعات فنی #

  • مدل: مدیا پایپ BlazePose
  • چارچوب: TensorFlow.js (آخرین نسخه) - به‌صورت کامل در مرورگر اجرا می‌شود و از شتاب‌دهی WebGL2 استفاده می‌کند.
  • افراد: ۱ (تشخیص تک نفره)
  • نقاط کلیدی: ۳۳ نقطه کلیدی (۰–۳۲)
  • مختصات: پیکسلی با مبدأ مرکز صحنه (X راست، Y بالا)
  • آینه‌سازی: «روشن» = پیش‌نمایش آینه‌ای، «روشن و آینه‌ای» = نمای واقعی
  • ورودی‌ها: دوربین یا بوم صحنه
  • نقاط کلیدی پیش‌فرض: ۱۱ (شانه چپ)، ۱۲ (شانه راست)
  • نیازمند: WebGL2 برای بهترین عملکرد

🔗 افزونه‌های مرتبط #

  • 😎 تشخیص صورت - تشخیص نقاط کلیدی صورت
  • 🖐️ تشخیص دست - تشخیص نقاط کلیدی دست
  • 🖼️ یاد دادن تصاویر - مدل‌های سفارشی‌سازه‌شده هوش مصنوعی بسازید
  • 🏫 ماشین آموزش‌پذیر گوگل - مدل‌های Teachable Machine خودتان را وارد کنید

📚 اطلاعات بیشتر #


پیمایش به بالا