😎 FaceMesh - تشخیص چهرهها و حالات چهره در اسکرچ #
افزونه FaceMesh ردیابی چهره مبتنی بر هوش مصنوعی را به اسکرچ میآورد.
این افزونه به کد شما در محیط اسکرچ اجازه میدهد تا به حالات چهره، حرکات سر و حرکات شما واکنش نشان دهد - همگی به صورت آنی، درون مرورگر شما، بدون نیاز به هیچ تنظیماتی.
به اندازه کافی ساده برای دانشآموزان، و در عین حال قدرتمند برای کلاسهای درس خلاق. 😊
🌟 مرور کلی #
- تشخیص ۴ چهره: تشخیص تا ۴ چهره به طور همزمان.
- ۴۷۸ نقطه کلیدی: ردیابی ۴۶۸ نقطه کلیدی صورت (چشمها، بینی، دهان، چانه و غیره) به علاوه ۱۰ نقطه کلیدی مختص عنبیه.
- مختصات را بخوانید: دریافت موقعیتهای X/Y هر نقطه کلیدی چهره را در استیج اسکرچ.
- اندازهگیری کنید: محاسبه زاویهها و فواصل بین نقاط کلیدی چهره.
- پیشنمایش دوربین را تغییر دهید: نمایش نمای زنده دوربین، پنهان کردن یا آینهای کردن آن برای تطبیق با تنظیمات شما.
- ورودی را انتخاب کنید: آنالیز تصویر دریافتی از دوربین به صورت زنده یا مستقیماً از تصویر استیج اسکرچ.
✨ ویژگیهای کلیدی #
- ردیابی چند چهره (۱ تا ۴ چهره).
- منوی کشویی کاربر پسند برای قسمتهای رایج صورت.
- قابلیت تنظیم فواصل زمانی «دستهبندی» برای عملکرد روان.
- دارای پیشنمایش دوربین، تنظیم شفافیت و کنترلهای دستگاه.
- کاملاً در مرورگر کار میکند - ایمن و خصوصی.
🚀 نحوه استفاده #
- بروید به: pishi.ai/play
- بخش افزونهها را باز کنید.
- افزونه تشخیص صورت را انتخاب کنید.
- در صورت درخواست، دسترسی به دوربین را مجاز کنید و بررسی کنید که پیشنمایش ویدیوی شما نمایش داده شود.
- اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر میکند.
- به محض اینکه افزونه با موفقیت بارگذاری شود، تشخیص چهره پیوسته در حالت بدون وقفه به طور خودکار شروع میشود.
- حالا میتوانید از بلوکهای موقعیت یا اندازهگیری برای واکنش نشان دادن اسپرایتها به چهرهتان استفاده کنید - حرکت دهید، لبخند بزنید، چشمک بزنید یا سرتان را کج کنید تا پروژهتان را کنترل کنید!
نکات
- نورپردازی خوب به مدل کمک میکند تا چهره شما را بهتر تشخیص دهد.
- وقتی چندین چهره ظاهر میشود، از شماره شخص: ۱-۴ استفاده کنید.
- برای کلاسهای درس یا دستگاههای قدیمیتر، برای عملکرد روان، دستهبندی را در فواصل ۱۰۰ تا ۲۵۰ میلیثانیه شروع کنید.
🧱 بلوکها و توابع #
📍 موقعیت و تعداد #
مختصات x نقطه شماره: [KEYPOINT_MENU_ITEM] فرد شماره: [PERSON_NUMBER]
مختصات y نقطه شماره: [KEYPOINT_MENU_ITEM] فرد شماره: [PERSON_NUMBER]
مختصات x نقطه شماره: [KEYPOINT_NUMBER] فرد شماره: [PERSON_NUMBER]
مختصات y نقطه شماره: [KEYPOINT_NUMBER] فرد شماره: [PERSON_NUMBER]
موقعیت X یا Y یک نقطه کلیدی صورت را روی صحنه گزارش میدهد.
[KEYPOINT_MENU_ITEM]: از لیست کشویی انتخاب کنید (چشمها، بینی، لبها و غیره).
[KEYPOINT_NUMBER]: یک شاخص نقطه کلیدی بین 0 تا 477 وارد کنید.
برای مشاهده شمارهگذاری نقاط کلیدی در اندازه بزرگتر، روی تصویر زیر کلیک کنید:
[PERSON_NUMBER]انتخاب میکند کدام چهره ردیابی شود (۱-۴). "۱" = اولین چهره شناسایی شده.
اگر هیچ چهرهای شناسایی نشود، مقدار خالی را برمیگرداند.
تعداد صورت
تعداد چهرههای شناساییشدهی فعلی (۰ تا ۴) را گزارش میدهد.
📏 اندازه گیریها #
زاویه بین نقاط شماره: [KEYPOINT_1] و [KEYPOINT_2] جسم شماره: [PERSON_NUMBER]
زاویه (بر حسب درجه) بین دو نقطه کلیدی روی یک صورت - ایدهآل برای تشخیص کج شدن یا تکان دادن سر.
فاصله بین نقاط شماره: [KEYPOINT_1] و [KEYPOINT_2] جسم شماره: [PERSON_NUMBER]
فاصله بین دو نقطه کلیدی بر حسب پیکسل - مناسب برای تشخیص باز بودن دهان یا پلک زدن چشم.
نکات:
نقاط کلیدی پیشفرض: 152 (چانه) و 10 (مرکز پیشانی).
مختصات با مبدا در مرکز صحنه (افقی ≈ −240…240، عمودی ≈ −180…180).
وقتی ویدیو آینهای میشود، مقادیر مختصات X نیز قرینه میشوند تا با آنچه روی صفحه میبینید مطابقت داشته باشند.
⚙️ کنترل دستهبندی #
دستهبندی [INTERVAL]— انتخاب کنید که تشخیص چند وقت یکبار انجام شود:- هر بار که این بلوک اجرا میشود
- پیوسته، بدون وقفه
- پیوسته، هر ۵۰ تا ۲۵۰۰ میلیثانیه
دستهبندی را [خاموش/روشن] کن- شروع یا توقف تشخیص پیوسته.فاصله زمانی دستهبندی— فاصله زمانی فعلی را بر حسب میلیثانیه گزارش میدهد.دستهبندی پیوسته- گزارش میدهد که تشخیص پیوسته «روشن» یا «خاموش» است.انتخاب تصویر ورودی [دوربین/صحنه]دوربین یا صحنه را انتخاب کنید.تصویر ورودی— منبع ورودی فعال را گزارش میدهد.
🎥 کنترل ویدیو #
ویدیو را [خاموش/روشن/روشن و آینهای] کنروشن: پیشنمایش دوربین را در یک نمای آینهای (مانند یک وبکم یا آینه معمولی) نشان میدهد.روشن و آینهای: پیشنمایش دوربین را در نمای غیر آینهای نشان میدهد - جهتها مانند دنیای واقعی ظاهر میشوند.خاموش: پیشنمایش دوربین را خاموش میکند. در حالت ورودی صحنه، تشخیص همچنان ادامه مییابد.
شفافیت ویدیو [0–100] شود— میزان قابل مشاهده بودن پیشنمایش دوربین را تنظیم میکند:0: کاملاً قابل مشاهده (تصویر خالص)100: کاملاً شفاف (نامرئی اما فعال)
دوربین [CAMERA] را انتخاب کن.— از بین دوربینهای موجود در دستگاه شما انتخاب میکند. منوی کشویی تمام دوربینهای شناساییشده را فهرست میکند و افزونه بهطور خودکار به دوربینی که انتخاب میکنید، تغییر وضعیت میدهد.
😊 نقاط کلیدی رایج (شمارههای مفید) #
از این نقاط کلیدی میانبر برای نواحی رایج صورت استفاده کنید. همچنین میتوانید هر شاخصی را به صورت دستی از ۰ تا ۴۷۷ وارد کنید.
1: نوک بینی، 10: مرکز پیشانی، 152: چانه، 473: مرکز عنبیه چشم چپ، 468: مرکز عنبیه چشم راست، 291 / 61: گوشههای چپ/راست دهان، 0 / 17: لب میانی بالا/پایین، 362 / 263: چشم چپ قسمت داخلی/خارجی، 133 / 33: چشم راست قسمت داخلی/خارجی، 159 / 145: چشم راست بالا/پایین، 386 / 374: چشم چپ بالا/پایین،اعداد با شاخصهای نقاط کلیدی مورد استفاده توسط MediaPipe FaceMesh مطابقت دارند.
🎓 کاربردهای آموزشی #
- مفاهیم هوش مصنوعی و بینایی کامپیوتر را به صورت بصری کاوش کنید - بفهمید که چگونه کامپیوترها چهرهها را تشخیص داده و ردیابی میکنند.
- سیستمهای مختصات را با مرتبط کردن حرکت سر یا چشم با موقعیتهای اسپرایت روی صحنه آموزش دهید.
- از ریاضیات و هندسه برای اندازهگیری زاویهها، فواصل و تقارن صورت استفاده کنید.
- پروژههای هنری تعاملی یا پروژههای دسترسیپذیری ایجاد کنید که به حالات چهره یا حرکات واکنش نشان دهند.
🎮 پروژههای نمونه #
- اسپرایت سخنگو: فاصله لبها را اندازهگیری کنید تا انیمیشنی دهان را متحرک کنید یا گفتاری را فعال کنید.
- کنترل با زاویه سر: برای هدایت اسپرایت یا ماشین، سر خود را به چپ یا راست کج کنید.
- پلک زدن برای پریدن: بسته شدن پلک را تشخیص دهید و اسپرایت خود را وادار به پریدن کنید - یک کنترلر سرگرمکننده بدون نیاز به دست!
- بازی شمارنده چهره: فقط زمانی شروع میشود که یک چهره شناسایی شود - امتیاز اضافی برای دو چهره به طور همزمان!
- لبخند بزن تا برنده شوی: یک بازی ایجاد کن که به لبخند یا ابراز شادی پاداش بدهد.
- تطبیق ایموجی: حالت ایموجی نمایش داده شده را تقلید کنید تا امتیاز بگیرید.
🧩 خودتان امتحان کنید: pishi.ai/play
🔧 نکات و عیبیابی #
- دوربین یافت نشد؟
• مطمئن شوید که دوربین شما متصل است و اجازه مرورگر داده شده است.
• اگر دوربین مسدود شده است، آن را در تنظیمات سایت مرورگر خود فعال کنید و صفحه را دوباره بارگذاری کنید.
• در حین بارگذاری افزونه، اگر هیچ دوربینی شناسایی نشود، ورودی به طور خودکار به تصویر صحنه تغییر میکند تا بتوانید همچنان ویژگیهای FaceMesh را آزمایش کنید. - تشخیص داده نشد؟
•دستهبندی پیوسته: از این گزارشگر برای بررسی فعال بودن دستهبندی استفاده کنید.
• اگر فعال است، روشنایی را بهبود بخشیده و مستقیماً رو به دوربین باشید.
•دستهبندی را [روشن] کن: از این بلوک استفاده کنید، اگر دستهبندی فعال نیست، سپس وضعیت طبقهبندی را با گزارشگر فوق دوباره بررسی کنید.
• در حالت ورودی دوربین، وقتی دوربین خاموش است، دستهبندی نیز متوقف میشود - باید ویدیو را دوباره روشن کنید یا ورودی را به صحنه تغییر دهید.
• در حالت ورودی صحنه، سیستم هر آنچه را که روی صحنه قابل مشاهده است طبقهبندی میکند - پسزمینهها، اسپرایتها یا تصاویر. میتوانید ویدیو را کاملاً خاموش کنید و همچنان تصاویر صحنه را پردازش کنید.
• حالت صحنه کندتر از ورودی دوربین است، بنابراین برای نتایج روانتر با استفاده از این بلوک، فاصله زمانی دستهبندی خود را کاهش دهید (مثلاً بین ۱۰۰ تا ۲۵۰ میلیثانیه):دستهبندی [INTERVAL]
• در حالت صحنه، نشانههای «چپ» و «راست» جابجا میشوند زیرا تصویر صحنه آینهای نیست - فضای مختصات نشان دهنده یک نمای واقعی (غیر آینهای) است.
• دستهبندی همچنین میتواند هنگام استفاده از بلوکهایی مانند موارد زیر به طور خودکار مجدداً راهاندازی شود:ویدیو را [روشن] کن/دستهبندی [INTERVAL]/دوربین [CAMERA] را انتخاب کن./انتخاب تصویر ورودی [دوربین/صحنه]. - نمای وارونه؟
ویدیو را [روشن و آینهای] کن: از این برای نمایش دوربین بدون آینهسازی استفاده کنید. حالت «روشن» مانند یک سلفی آینهای میشود؛ حالت «روشن و آینهای» جهت واقعی چپ/راست را نشان میدهد. - کند یا دارای تاخیر؟
از فواصل دستهبندی بین ۱۰۰ تا ۲۵۰ میلیثانیه استفاده کنید یا سایر تبهای مرورگر را ببندید تا بار پردازش کاهش یابد. - هشدار WebGL2؟
فایرفاکس یا دستگاه جدیدتری که از شتاب گرافیکی WebGL2 پشتیبانی میکند را امتحان کنید. - به جای دوربین، صحنه را تحلیل کن؟
انتخاب تصویر ورودی [صحنه]: از این گزینه برای تحلیل تصویر صحنه Scratch به جای تصویر زنده دوربین استفاده کنید.
😎 FaceMesh Specific Tips #
- No face detected? Make sure your full face is visible and well-lit — avoid backlighting from windows.
- Tracking unstable? Keep your head steady and face the camera directly for best accuracy.
- Multiple faces? Use person no: 1–4 to select which face to track. Person 1 is usually the largest/closest face.
- Landmarks jittery? Increase the classification interval (e.g., 150–200 ms) to smooth out rapid fluctuations.
- Need precise eye/iris tracking? Use keypoints 468–477 for iris centers and edges — great for gaze direction or blink detection.
- Mouth not opening? Measure distance between keypoints 0 (upper lip) and 17 (lower lip) — larger values = mouth open.
- Detect head tilt? Calculate angle between keypoints 454 (left eye) and 234 (right eye) — deviation from 0° = tilt.
- Smile detection? Measure distance between mouth corners (keypoints 61 and 291) — wider = smile.
- Stage mode with photos? Remember landmarks are not mirrored in stage mode — left/right are true anatomical positions.
🔒 حریم خصوصی و ایمنی #
- همه چیز به صورت محلی در مرورگر شما اجرا میشود.
- هیچ تصویر یا ویدیویی در هیچ کجا آپلود نمیشود.
- فایلهای مدل ممکن است یک بار برای استفاده آفلاین دانلود شوند.
- قبل از استفاده از دوربین، همیشه از معلم یا والدین خود اجازه بگیرید.
- در هر زمان، با خیال راحت
ویدیو را [خاموش] کن.
🧪 اطلاعات فنی #
- مدل: مش صورت مدیا پایپ (MediaPipe Face Mesh)
- فریمورک: TensorFlow.js (آخرین نسخه) — بهصورت کامل در مرورگر اجرا میشود و از شتابدهی WebGL2 استفاده میکند.
- چهرهها: تا ۴ عدد
- نقاط کلیدی: ۴۷۸ عدد در مجموع (۰ تا ۴۷۷)
- مختصات: پیکسلی با مبدأ مرکز صحنه (X راست، Y بالا)
- آینهسازی: «روشن» = پیشنمایش آینهای، «روشن و آینهای» = نمای واقعی
- ورودیها: دوربین یا بوم صحنه
- نقاط کلیدی پیشفرض: ۱۵۲ (چانه)، ۱۰ (مرکز پیشانی)
- نیازمند: WebGL2 برای بهترین عملکرد
🔗 افزونههای مرتبط #
- 🖐️ تشخیص دست — تشخیص نقاط کلیدی دست
- 🕺 تشخیص بدن — ردیابی حالات بدن
- 🧩 یاد دادن تصاویر مدلهای سفارشیسازهشده هوش مصنوعی بسازید
- 🏫 ماشین آموزشپذیر گوگل مدلهای Teachable Machine خودتان را وارد کنید
| ویژگی | Face Sensing ساخت Scratch Lab | FaceMesh ساخت Pishi.ai |
|---|---|---|
| نوع تشخیص | تشخیص سادهٔ مستطیل چهره (فقط محدودهٔ کلی). | تشخیص پیشرفتهٔ نقاط سهبعدی چهره با ۴۷۸ نقطهٔ کلیدی. |
| تعداد چهرههای پشتیبانیشده | ۱ چهره | تا ۴ چهره بهصورت همزمان |
| نقاط کلیدی / نشانهها | هیچکدام (فقط موقعیت و اندازهٔ کلی). | ۴۶۸ نقطهٔ استاندارد + ۱۰ نقطهٔ مخصوص عنبیه (چشمها، لبها، چانه، بینی و ...) |
| ردیابی حالات چهره | محدود — فقط تشخیص «وجود چهره» یا «حرکت». | تحلیل کامل هندسهٔ چهره — قابل اندازهگیری برای لبخند، پلک زدن، باز شدن دهان، چرخش سر یا بالا رفتن ابرو. |
| منبع ورودی | فقط دوربین | دوربین یا تصویر صحنه (برای تحلیل عکسها یا تصاویر گرفتهشده از صفحه). در حالت صحنه، میتوان تصویر دوربین و صحنه را نیز بهصورت همزمان برای تحلیل ترکیبی دستهبندی کرد. |
| کنترل ویدیو | ویدیو را روشن، روشن و آینهای، یا خاموش کنید و میزان شفافیت پیشنمایش ویدیو را تغییر دهید. | پشتیبانی از انتخاب دوربین، بههمراه امکان روشن کردن ویدیو، نمایش آینهای، خاموش کردن و تنظیم شفافیت پیشنمایش ویدیو. |
| تنظیم عملکرد | سرعت ثابت. | حالتهای تشخیص انعطافپذیر — شامل تنظیم بازهٔ تشخیص (هر ۵۰ تا ۲۵۰۰ میلیثانیه)، تشخیص پیوسته یا تشخیص در زمان اجرای بلوک. فرآیند طبقهبندی را میتوان در هر زمان برای کنترل عملکرد یا نمایش آموزشی روشن یا خاموش کرد. |
| حریم خصوصی | بهصورت محلی در مرورگر اجرا میشود. | کاملاً محلی، بدون بارگذاری — همان سطح امنیت، اما حتی پس از بارگذاری مدل بهصورت آفلاین هم کار میکند. |
| تمرکز آموزشی | مقدمهای ساده برای آشنایی با تشخیص چهره. | بررسی عمیق مفاهیم هوش مصنوعی و بینایی ماشین — شامل هندسه، ریاضیات و طراحی تعاملی. |
↔ برای مشاهده جدول کامل در موبایل، صفحه را به چپ یا راست بکشید
💡 چرا FaceMesh را انتخاب کنیم؟ #
FaceMesh درک بسیار دقیقتر و پیشرفتهتری از چهره ارائه میدهد. این افزونه فراتر از تشخیص وجود چهره عمل میکند — بلکه به شما میگوید چهره چه کاری انجام میدهد.
- پیوند دادن حالات چهره و حرکات به رفتار شخصیتها (اسپرایتها).
- اندازهگیری زاویهها، فاصلهها و موقعیتها برای آموزش مفاهیم STEM و هوش مصنوعی.
- ساخت بازیهای مبتنی بر ژست یا شخصیتهای واکنشگرا به احساسات — همه در محیط اسکرچ.
- یادگیری مفاهیم واقعی بینایی ماشین که در چارچوبهای حرفهای مانند MediaPipe نیز کاربرد دارند.
به طور خلاصه:
تشخیص چهره در MIT Scratch برای شروعی ساده و سرگرمکننده عالی است.
FaceMesh در Pishi.ai برای سازندگانی است که میخواهند ردیابی واقعی حالات چهره با هوش مصنوعی را تجربه کنند — همچنان ساده، اما بسیار قدرتمندتر.
