🖐️ تشخیص دست - تشخیص دستها و حرکات در اسکرچ #
افزونه HandPose ردیابی دست به صورت آنی را به اسکرچ میآورد.
این افزونه به پروژههای شما اجازه میدهد تا به انگشتان، حرکات مچ دست و حرکات ساده واکنش نشان دهند - درست در مرورگر شما، بدون نیاز به تنظیمات.
ایدهآل برای کلاسهای درس، کارگاهها و پروژههای کدنویسی خلاقانه. 🙌
🌟 مرور کلی #
- تشخیص حداکثر ۴ دست: یک یا چند دست را همزمان ردیابی کنید.
- ۲۱ نقطه کلیدی: مچ دست، مفاصل شست و مفاصل و نوک هر انگشت.
- مختصات را بخوانید: موقعیتهای X/Y هر نقطه کلیدی دست را در صحنه اسکرچ دریافت کنید.
- اندازهگیری کنید: محاسبه زاویهها و فواصل بین نقاط کلیدی دست.
- کنترلهای دوربین: نمایش، پنهان کردن، آینه کردن و انتخاب دستگاه دوربین
- ورودی را انتخاب کنید: آنالیز تصویر دریافتی از دوربین به صورت زنده یا از تصویر استیج اسکرچ.
✨ ویژگیهای کلیدی #
- ردیابی چند دست (۱ تا ۴ دست).
- منوی کشویی کاربر پسند برای نمایش مفاصل و نوک انگشتان.
- فواصل زمانی «دستهبندی» قابل تنظیم برای عملکرد روان و کنترل CPU.
- گزینههای شفافیت و آینهسازی پیشنمایش دوربین.
- کاملاً مبتنی بر مرورگر - بدون نصب، خصوصی و امن.
🚀 نحوه استفاده #
- بروید به منوی pishi.ai/play.
- بخش افزونهها را باز کنید.
- از لیست، گزینه تشخیص دست یا HandPose را انتخاب کنید.
- در صورت درخواست، دسترسی به دوربین را مجاز کنید و بررسی کنید که پیشنمایش ویدیوی شما ظاهر شود.
- اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر میکند.
- تشخیص مداوم به طور پیشفرض با یک فاصله زمانی ۱۰۰ میلیثانیهای شروع میشود.
- از بلوکهای موقعیت و اندازهگیری برای واکنش نشان دادن اسپرایتها به حرکات انگشت استفاده کنید.
نکات:
- برای بهترین دقت ردیابی، از نور خوب و یکنواخت استفاده کنید.
- وقتی چندین دست ظاهر میشود، از شماره دست ۱ تا ۴ در منوی کشویی بلوک استفاده کنید.
- در رایانههای کندتر، برای کاهش بار پردازنده، فاصله زمانی را افزایش دهید (مثلاً ۱۵۰ تا ۲۵۰ میلیثانیه).
🧱 بلوکها و توابع #
📍 موقعیت و تعداد #
x of keypoint no: [KEYPOINT] hand no: [HAND_NUMBER]
y of keypoint no: [KEYPOINT] hand no: [HAND_NUMBER]
موقعیت X یا Y یک نقطه کلیدی خاص دست را روی صحنه گزارش میدهد.
[KEYPOINT]: از لیست کشویی انتخاب کنید (مچ دست، مفاصل، نوک انگشتان).
[HAND_NUMBER]انتخاب میکند کدام دست ردیابی شود (۱-۴). "۱" = اولین صورت شناسایی شده.
اگر هیچ دستی شناسایی نشود، مقدار خالی را برمیگرداند.
hand count
گزارش میدهد که در حال حاضر چند دست شناسایی شده است (0 تا 4).
📏 اندازه گیریها #
angle between keypoints: [KEYPOINT_1] and [KEYPOINT_2] object no: [HAND_NUMBER]
زاویه بین دو نقطه کلیدی را بر حسب درجه گزارش میدهد - ایدهآل برای تشخیص خم شدن انگشت یا چرخش مچ دست.
distance between keypoints: [KEYPOINT_1] and [KEYPOINT_2] object no: [HAND_NUMBER]
فاصله بین دو نقطه کلیدی را بر حسب پیکسلهای صحنه اندازهگیری میکند - برای حرکات بزرگنمایی، کوچک کردن یا باز کردن مفید است.
نکات:
نقاط کلیدی پیشفرض: 0 (مچ دست) و 12 (نوک انگشت میانی).
مختصات از مرکز صفحه اسکرچ (افقی ≈ −240…240، عمودی ≈ −180…180).
وقتی قابلیت آینهسازی فعال است، مقادیر X برای مطابقت با نمای پیشنمایش، برعکس میشوند.
⚙️ کنترل دستهبندی #
دستهبندی [INTERVAL]- انتخاب کنید که تشخیص چند وقت یکبار انجام شود:- هر بار که این بلوک اجرا میشود
- پیوسته، بدون وقفه
- پیوسته، هر ۵۰ تا ۲۵۰۰ میلیثانیه
دستهبندی را [خاموش/روشن] کن- شروع یا توقف تشخیص پیوسته.فاصله زمانی دستهبندی- فاصله زمانی فعلی را بر حسب میلیثانیه گزارش میدهد.دستهبندی پیوسته- گزارش میدهد که تشخیص پیوسته «روشن» یا «خاموش» است.انتخاب تصویر ورودی [دوربین/صحنه]- دوربین یا صحنه را انتخاب کنید.تصویر ورودی- منبع ورودی فعال را گزارش میدهد.
🎥 کنترل ویدیو #
دستهبندی [INTERVAL]- انتخاب کنید که تشخیص چند وقت یکبار انجام شود:- هر بار که این بلوک اجرا میشود
- پیوسته، بدون وقفه
- پیوسته، هر ۵۰ تا ۲۵۰۰ میلیثانیه
دستهبندی را [خاموش/روشن] کن- شروع یا توقف تشخیص پیوسته.فاصله زمانی دستهبندی- فاصله زمانی فعلی را بر حسب میلیثانیه گزارش میدهد.دستهبندی پیوسته- گزارش میدهد که تشخیص پیوسته «روشن» یا «خاموش» است.انتخاب تصویر ورودی [دوربین/صحنه]- دوربین یا صحنه را انتخاب کنید.تصویر ورودی- منبع ورودی فعال را گزارش میدهد.
🖐️ نقاط کلیدی رایج (شمارههای مفید) #
از این میانبرها برای نواحی رایج دست استفاده کنید، یا هر نقطه کلیدی را از منوی کشویی انتخاب کنید.
0: مچ،1: پایه انگشت شست، 2مفصل شماره 2 انگشت شست،3مفصل شماره 1 انگشت شست، 4: نوک انگشت شست،5–8: بندهای انگشت اشاره تا نوک،9–12: بندهای انگشت وسط تا نوک،13–16: بندهای انگشت حلقه تا نوک،17–20: بندهای انگشت کوچک تا نوک،این منو از ۰ تا ۲۰ شمارش میشود (مانند اندیسهای MediaPipe).
🎓 کاربردهای آموزشی #
- با تجسم مفاصل دست و حرکت، بینایی کامپیوتر را بررسی کنید.
- سیستمهای مختصات را با تبدیل حرکت انگشت به مختصات اسپرایت آموزش دهید.
- هندسه و ریاضی را برای محاسبه زاویهها و فواصل به کار ببرید.
- تعاملات مبتنی بر اشاره مانند نیشگون گرفتن، اشاره کردن یا لایک با شست را ایجاد کنید.
🎮 پروژههای نمونه #
- نیشگون گرفتن برای کلیک: تشخیص فاصله انگشت شست تا اشاره برای شبیهسازی کلیک ماوس.
- پیانوی انگشتی: نوک انگشتان را به کلیدها مپ کنید و همزمان با حرکت، نتها را بنوازید.
- تشخیصدهندهی اشارهی شست به بالا: وقتی شست به سمت بالا اشاره میکند، اقداماتی انجام میشود.
- سنگ - کاغذ - قیچی: با استفاده از فواصل نقاط کلیدی، شکل دستها را تشخیص دهید.
- کنترلکنندهی دستی: اسپرایتها را با مختصات مچ دست حرکت دهید و با باز شدن انگشتان، حرکت را تقویت کنید.
🧩 خودتان امتحان کنید: pishi.ai/play
🔧 نکات و عیبیابی #
- دوربین یافت نشد؟
• مطمئن شوید که دوربین شما متصل است و اجازه مرورگر داده شده است.
• اگر دوربین مسدود شده است، آن را در تنظیمات سایت مرورگر خود فعال کنید و صفحه را دوباره بارگذاری کنید.
• در حین بارگذاری افزونه، اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر میکند تا بتوانید همچنان ویژگیهای FaceMesh را آزمایش کنید. - تشخیص داده نشد؟
•دستهبندی پیوسته: از این گزارشگر برای بررسی فعال بودن دستهبندی استفاده کنید.
• اگر فعال است، روشنایی را بهبود بخشیده و مستقیماً رو به دوربین باشید.
•دستهبندی را [روشن] کن: از این بلوک استفاده کنید، اگر دستهبندی فعال نیست، سپس وضعیت طبقهبندی را با گزارشگر فوق دوباره بررسی کنید.
• در حالت ورودی دوربین، وقتی دوربین خاموش است، دستهبندی نیز متوقف میشود - باید ویدیو را دوباره روشن کنید یا ورودی را به صحنه تغییر دهید.
• در حالت ورودی صحنه، سیستم هر آنچه را که روی صحنه قابل مشاهده است طبقهبندی میکند - پسزمینهها، اسپرایتها یا تصاویر. میتوانید ویدیو را کاملاً خاموش کنید و همچنان تصاویر صحنه را پردازش کنید.
• حالت صحنه کندتر از ورودی دوربین است، بنابراین برای نتایج روانتر با استفاده از این بلوک، فاصله زمانی دستهبندی خود را کاهش دهید (مثلاً بین ۱۰۰ تا ۲۵۰ میلیثانیه):دستهبندی [INTERVAL]
• در حالت صحنه، نشانههای «چپ» و «راست» جابجا میشوند زیرا تصویر صحنه آینهای نیست - فضای مختصات نشان دهنده یک نمای واقعی (غیر آینهای) است.
• دستهبندی همچنین میتواند هنگام استفاده از بلوکهایی مانند موارد زیر به طور خودکار مجدداً راهاندازی شود:ویدیو را [روشن] کن/دستهبندی [INTERVAL]/دوربین [CAMERA] را انتخاب کن./انتخاب تصویر ورودی [دوربین/صحنه]. - نمای وارونه؟
ویدیو را [روشن و آینهای] کن: از این برای نمایش دوربین بدون آینهسازی استفاده کنید. حالت «روشن» مانند یک سلفی آینهای میشود؛ حالت «روشن و آینهای» جهت واقعی چپ/راست را نشان میدهد. - کند یا دارای تاخیر؟
از فواصل دستهبندی بین ۱۰۰ تا ۲۵۰ میلیثانیه استفاده کنید یا سایر تبهای مرورگر را ببندید تا بار پردازش کاهش یابد. - هشدار WebGL2؟
فایرفاکس یا دستگاه جدیدتری که از شتاب گرافیکی WebGL2 پشتیبانی میکند را امتحان کنید. - به جای دوربین، صحنه را تحلیل کن؟
انتخاب تصویر ورودی [صحنه]: از این گزینه برای تحلیل تصویر صحنه Scratch به جای تصویر زنده دوربین استفاده کنید.
🖐️ 🖐️ نکات ویژه تشخیص دست #
- دستتان شناسایی نشد؟ مطمئن شوید که تمام دستتان - شامل مچ دست - در دوربین قابل مشاهده است. انگشتانتان را کمی باز کنید؛ مشتهای بسته یا تاری حرکت، شناسایی را دشوارتر میکند.
- انگشتان قاطی میشوند؟ انگشتان را به وضوح از هم جدا نگه دارید و از روی هم قرار دادن آنها خودداری کنید تا ردیابی دقیق نوک انگشتان انجام شود.
- چند دست؟ از پارامتر شماره دست ۱ تا ۴ در بلوک برای انتخاب دستی که میخواهید ردیابی کنید استفاده کنید. دست ۱ معمولاً بزرگترین یا نزدیکترین دست در دید است.
- ردیابی ناپایدار است؟ دست خود را ثابت و به طور یکنواخت روشن نگه دارید. از سایههای قوی یا انعکاسهای بسیار روشن روی پوست خودداری کنید.
- تشخیص حرکت نیشگون گرفتن؟ فاصله بین نقاط کلیدی ۴ (نوک شست) و ۸ (نوک انگشت اشاره) را اندازه بگیرید. فاصله کمتر نشان دهنده نیشگون گرفتن است.
- تشخیص اشاره؟ بررسی کنید که آیا نقطه کلیدی ۸ (نوک انگشت اشاره) مقدار Y کوچکتری نسبت به نقطه کلیدی ۵ (پایه انگشت اشاره) دارد در حالی که سایر انگشتان خم شدهاند.
- انگشتانی که بالا هستند را بشمارید؟ موقعیت Y هر نوک انگشت را با پایه آن مقایسه کنید - اگر Y نوک انگشت بالاتر باشد، آن انگشت کشیده شده است.
- تشخیص انگشت شست رو به بالا؟ بررسی کنید که آیا نقطه کلیدی ۴ (نوک انگشت شست) بالاتر از نقطه کلیدی ۲ (پایه انگشت شست) است در حالی که سایر انگشتان تا شدهاند.
- جهت دست؟ زاویه بین نقطه کلیدی ۰ (مچ) و نقطه کلیدی ۱۲ (نوک انگشت میانی) را محاسبه کنید تا چرخش یا شیب دست را تخمین بزنید.
- از حالت ورودی صحنه با عکسها استفاده میکنید؟ به یاد داشته باشید که نقاط کلیدی در حالت ورودی صحنه قرینه نمیشوند - چپ/راست موقعیتهای آناتومیکی واقعی هستند.
🔒 حریم خصوصی و ایمنی #
- همه چیز به صورت محلی در مرورگر شما اجرا میشود.
- هیچ تصویر یا ویدیویی در هیچ کجا آپلود نمیشود.
- فایلهای مدل ممکن است یک بار برای استفاده آفلاین دانلود شوند.
- قبل از استفاده از دوربین، همیشه از معلم یا والدین خود اجازه بگیرید.
- در هر زمان، با خیال راحت
ویدیو را [خاموش] کن.
🧪 اطلاعات فنی #
- مدل: دستان مدیا پایپ (HandPose)
- چارچوب: TensorFlow.js (آخرین نسخه) - بهصورت کامل در مرورگر اجرا میشود و از شتابدهی WebGL2 استفاده میکند.
- تشخیص: تشخیص: تا ۴ دست / ۲۱ نقطه کلیدی (۰ – ۲۰)
- سیستم مختصات: پیکسلی با مبدأ مرکز صحنه (X راست، Y بالا)
- آینهسازی: «روشن» = پیشنمایش آینهای، «روشن و آینهای» = نمای واقعی
- حالتهای ورودی: دوربین یا بوم صحنه
- نقاط کلیدی پیشفرض: ۰ (مچ دست)، ۱۲ (نوک انگشت وسط)
- فاصله زمانی پیشفرض برای دستهبندی: ۱۰۰ میلیثانیه
🔗 افزونههای مرتبط #
- 😎 تشخیص صورت - تشخیص نقاط کلیدی صورت
- 🕺 تشخیص بدن - ردیابی حالات بدن
- 🖼️ یاد دادن تصاویر - مدلهای سفارشیسازهشده هوش مصنوعی بسازید
- 🏫 ماشین آموزشپذیر گوگل - مدلهای Teachable Machine خودتان را وارد کنید

