🖐️ تشخیص دست - تشخیص دستها و حرکات در اسکرچ #
افزونه HandPose ردیابی دست به صورت آنی را به اسکرچ میآورد
این افزونه به پروژههای شما اجازه میدهد تا به انگشتان، حرکات مچ دست و حرکات ساده واکنش نشان دهند - درست در مرورگر شما، بدون نیاز به تنظیمات.
ایدهآل برای کلاسهای درس، کارگاهها و پروژههای کدنویسی خلاقانه. 🙌

🌟 مرور کلی #
- تشخیص حداکثر ۴ دست: یک یا چند دست را همزمان ردیابی کنید.
- ۲۱ نقطه کلیدی: مچ دست، مفاصل شست و مفاصل و نوک هر انگشت.
- مختصات را بخوانید: موقعیتهای X/Y هر نقطه کلیدی دست را در صحنه اسکرچ دریافت کنید.
- اندازهگیری کنید: محاسبه زاویهها و فواصل بین نقاط کلیدی دست.
- کنترلهای دوربین: نمایش، پنهان کردن، آینه کردن و انتخاب دستگاه دوربین
- ورودی را انتخاب کنید: آنالیز تصویر دریافتی از دوربین به صورت زنده یا از تصویر استیج اسکرچ.
✨ ویژگیهای کلیدی #
- ردیابی چند دست (۱ تا ۴ دست).
- منوی کشویی کاربر پسند برای نمایش مفاصل و نوک انگشتان.
- فواصل زمانی «دستهبندی» قابل تنظیم برای عملکرد روان و کنترل CPU.
- گزینههای شفافیت و آینهسازی پیشنمایش دوربین.
- کاملاً مبتنی بر مرورگر - بدون نصب، خصوصی و امن.
🚀 نحوه استفاده #
- بروید به منوی pishi.ai/play.
- بخش افزونهها را باز کنید.
- از لیست، گزینه تشخیص دست یا HandPose را انتخاب کنید.
- در صورت درخواست، دسترسی به دوربین را مجاز کنید و بررسی کنید که پیشنمایش ویدیوی شما ظاهر شود.
- اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر میکند.
- تشخیص مداوم به طور پیشفرض با یک فاصله زمانی ۱۰۰ میلیثانیهای شروع میشود.
- از بلوکهای موقعیت و اندازهگیری برای واکنش نشان دادن اسپرایتها به حرکات انگشت استفاده کنید.
نکات:
- برای بهترین دقت ردیابی، از نور خوب و یکنواخت استفاده کنید.
- وقتی چندین دست ظاهر میشود، از شماره دست ۱ تا ۴ در منوی کشویی بلوک استفاده کنید.
- در رایانههای کندتر، برای کاهش بار پردازنده، فاصله زمانی را افزایش دهید (مثلاً ۱۵۰ تا ۲۵۰ میلیثانیه).
🧱 بلوکها و توابع #
📍 موقعیت و تعداد #
موقعیت X یا Y یک نقطه کلیدی خاص دست را روی صحنه گزارش میدهد.
KEYPOINT: از لیست کشویی انتخاب کنید (مچ دست، مفاصل، نوک انگشتان).
HAND_NUMBERانتخاب میکند کدام دست ردیابی شود (۱-۴). "۱" = اولین صورت شناسایی شده.
اگر هیچ دستی شناسایی نشود، مقدار خالی را برمیگرداند.
گزارش میدهد که در حال حاضر چند دست شناسایی شده است (0 تا 4).
📏 اندازه گیریها #
زاویه بین دو نقطه کلیدی را بر حسب درجه گزارش میدهد - ایدهآل برای تشخیص خم شدن انگشت یا چرخش مچ دست.
فاصله بین دو نقطه کلیدی را بر حسب پیکسلهای صحنه اندازهگیری میکند - برای حرکات بزرگنمایی، کوچک کردن یا باز کردن مفید است.
انتخاب کنید که وقتی یک دست یا نقطه کلیدی پیدا نشد، بلوکهای مختصات چه چیزی را باید برگردانند.
RETURN_TYPE: آخرین مختصات پیدا شده را حفظ کند، یا به جای آن مقدار خالی برگرداند.
نکات:
نقاط کلیدی پیشفرض: 0 (مچ دست) و 12 (نوک انگشت میانی).
مختصات از مرکز صفحه اسکرچ (افقی ≈ −240…240، عمودی ≈ −180…180).
وقتی قابلیت آینهسازی فعال است، مقادیر X برای مطابقت با نمای پیشنمایش، برعکس میشوند.
⚙️ کنترل دستهبندی #
- دستهبندی [INTERVAL] - انتخاب کنید که تشخیص چند وقت یکبار انجام شود:
- هر بار که این بلوک اجرا میشود
- پیوسته، بدون وقفه
- پیوسته، هر ۵۰ تا ۲۵۰۰ میلیثانیه
- دستهبندی را [خاموش/روشن] کن - شروع یا توقف تشخیص پیوسته.
- فاصله زمانی دستهبندی - فاصله زمانی فعلی را بر حسب میلیثانیه گزارش میدهد.
- دستهبندی پیوسته - گزارش میدهد که تشخیص پیوسته «روشن» یا «خاموش» است.
- انتخاب تصویر ورودی [دوربین/صحنه] - دوربین یا صحنه را انتخاب کنید.
- تصویر ورودی - منبع ورودی فعال را گزارش میدهد.
🎥 کنترل ویدیو #
- ویدیو را [خاموش/روشن/روشن و آینهای] کن
- روشن: پیشنمایش دوربین را در یک نمای آینهای (مانند یک وبکم یا آینه معمولی) نشان میدهد.
- روشن و آینهای: پیشنمایش دوربین را در نمای غیر آینهای نشان میدهد - جهتها مانند دنیای واقعی ظاهر میشوند.
- خاموش: پیشنمایش دوربین را خاموش میکند. در حالت ورودی صحنه، تشخیص همچنان ادامه مییابد.
- شفاقیت ویدئو [TRANSPARENCY|text] شود — میزان قابل مشاهده بودن پیشنمایش دوربین را تنظیم میکند:
- 0: کاملاً قابل مشاهده (تصویر خالص)
- 100: کاملاً شفاف (نامرئی اما فعال)
- دوربین [CAMERA] را انتخاب کن — از بین دوربینهای موجود در دستگاه شما انتخاب میکند. منوی کشویی تمام دوربینهای شناساییشده را فهرست میکند و افزونه بهطور خودکار به دوربینی که انتخاب میکنید، تغییر وضعیت میدهد.
🖐️ نقاط کلیدی رایج (شمارههای مفید) #
از این میانبرها برای نواحی رایج دست استفاده کنید، یا هر نقطه کلیدی را از منوی کشویی انتخاب کنید.
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 خودتان را وارد کنید

