🎯 تشخیص اشیاء - تشخیص اشیاء در اسکرچ #
افزونه تشخیص اشیاء، قابلیت واقعی شناسایی اشیاء با هوش مصنوعی را به اسکرچ اضافه میکند.
این افزونه به پروژه شما امکان میدهد چندین شیء را از تصویر زنده دوربین یا صحنه اسکرچ شناسایی کند، آنها را بشمارد، موقعیت و اندازهشان را بخواند و هنگام ظاهرشدن اشیاء واکنش نشان دهد.
ازآنجاکه مدلها از قبل آموزش دیدهاند، دانشآموزان میتوانند بلافاصله آزمایش با بینایی ماشین را شروع کنند؛ بدون نیاز به آموزش مدل یا انجام تنظیمات خارجی.
این افزونه برای تازهکارها بهاندازه کافی ساده و برای پروژههای کلاسی هوش مصنوعی، STEM و بازیهای تعاملی بهاندازه کافی قدرتمند است. 🤖
🌟 مرور کلی #
- تشخیص چندین شیء: چندین شیء پشتیبانیشده را در یک تصویر یا نمای دوربین شناسایی کنید.
- شمارش آنچه هوش مصنوعی میبیند: تعداد کل تشخیصها یا فقط تعداد یک شیء مشخص را دریافت کنید.
- ردیابی موقعیت و اندازه: مختصات مرکز X و Y، عرض و ارتفاع اشیای تشخیصدادهشده را برحسب واحدهای صحنه اسکرچ دریافت کنید.
- فیلترکردن موارد مهم: همه اشیایی را که مدل میشناسد تشخیص دهید یا فهرست دلخواهی از نام اشیاء ایجاد کنید تا تشخیص فقط بر آنها متمرکز شود.
- ذخیره و مرتبسازی تشخیصها: یک تصویر لحظهای از تشخیصهای انتخابشده ذخیره کنید و آنها را براساس میزان اطمینان، موقعیت یا اندازه مرتب کنید.
- فعالکردن رویدادها: از بلوکهای کلاهکدار استفاده کنید تا هنگام ظاهرشدن یک شیء یا تغییر تعداد تشخیصها واکنش ایجاد شود.
- انتخاب مدل مناسب: با توجه به دستگاه، جزئیات تصویر و تنوع اشیاء موردنیاز، یکی از گزینههای تشخیص سریع، متعادل یا گسترده را انتخاب کنید.
- انتخاب ورودی: اشیاء را از تصویر زنده دوربین یا مستقیماً از تصویر صحنه اسکرچ تشخیص دهید.
✨ ویژگیهای کلیدی #
- تشخیص اشیائی ازپیشآموزشدیده و بدون نیاز به پرامپت؛ هیچ مرحله آموزشی لازم نیست.
- چندین شیء را در یک تصویر تشخیص دهید و با هر مورد تشخیصدادهشده بهصورت جداگانه کار کنید.
- نام، تعداد، میزان اطمینان، موقعیت، عرض و ارتفاع اشیاء را بخوانید.
- هنگام ساخت پروژههای پیشرفتهتر، بین تشخیصهای زنده فعلی و یک تصویر لحظهای ذخیرهشده انتخاب کنید.
- با ایجاد یک فهرست تشخیص سفارشی، اشیائی را که برای پروژه شما مهم نیستند نادیده بگیرید.
- تشخیصها را ذخیره و از چپ به راست، بالا به پایین، بزرگترین به کوچکترین یا بیشترین به کمترین میزان اطمینان مرتب کنید؛ همچنین میتوانید ترتیب هرکدام را معکوس کنید.
- بلوکهای کلاهکدار، ساخت بازیهای کنترلشونده با اشیاء و صحنههای تعاملی را آسان میکنند.
- فاصله زمانی قابلتنظیم بین تشخیصها به ایجاد تعادل میان سرعت و عملکرد دستگاه کمک میکند.
- کاملاً در مرورگر کار میکند - ایمن و خصوصی.
🚀 نحوه استفاده #
- بروید به: pishi.ai/play
- بخش افزونهها را باز کنید.
- افزونه «تشخیص اشیاء» را انتخاب کنید.
- در صورت درخواست، دسترسی به دوربین را مجاز کنید و بررسی کنید که پیشنمایش ویدیوی شما ظاهر شود.
- در صورت تمایل، میتوانید از صحنه اسکرچ بهعنوان ورودی استفاده کنید تا اشیاء موجود در تصویر صحنه، از جمله ویدیوی دوربینی که در آن نمایش داده میشود، تشخیص داده شوند. برای بهترین عملکرد بیدرنگ، از ورودی دوربین استفاده کنید؛ زیرا پردازش صحنه ممکن است کندتر باشد.
- افزونه کار خود را با مدل تشخیص «سریع» آغاز میکند. هر زمان که بخواهید، میتوانید میان مدلهای «سریع»، «متعادل» و «گسترده» جابهجا شوید تا تعادل میان سرعت، جزئیات و پوشش اشیاء را تغییر دهید.
- برای دیدن نام اشیائی که هوش مصنوعی میشناسد، بلوک گزارشگر «لیست تشخیصهای [جاری]» را امتحان کنید.
- سپس با استفاده از بلوکهای شمارش، موقعیت، تشخیصهای ذخیرهشده، فیلترکردن و رویداد، پروژه خود را بسازید.
نکات
- از نور مناسب استفاده کنید و شیء را بهاندازه کافی بزرگ و واضح در کادر نگه دارید.
- پیش از ساخت پروژهای که به چندین شیء وابسته است، کار را با یک شیء پشتیبانیشده شروع کنید.
- هنگام واردکردن نام یک شیء در بلوکی دیگر، دقیقاً از همان برچسبی استفاده کنید که بلوک گزارشگر «لیست تشخیصهای [SOURCE]» برمیگرداند.
- واژگان اشیاء و برچسبهای تشخیص به زبان انگلیسی هستند؛ بنابراین هنگام واردکردن نام اشیاء، از برچسبهای انگلیسی استفاده کنید.
- «جاری» به جدیدترین نتایج تشخیص زنده اشاره دارد. «ذخیرهشده» به تصویر لحظهای ایجادشده با بلوک ذخیره و مرتبسازی اشاره میکند.
- اگر چند نمونه از یک نوع شیء دیده شود، برای کار با هر تشخیص بهصورت جداگانه از #1، #2، #3 و به همین ترتیب استفاده کنید.
- اگر تشخیص روی دستگاه کند است، مدل «سریع» را امتحان کنید یا فاصله زمانی دستهبندی را افزایش دهید.
🧱 بلوکها و توابع #
📊 فهرستها، منابع و تعداد تشخیصها #
مفهوم SOURCE:
- جاری - آخرین تشخیصهای زنده از دوربین یا صحنه.
- ذخیرهشده – یک تصویر لحظهای (snapshot) ذخیره شده توسط این بلوک
[OBJECT|text] را از میان تشخیصهای [SOURCE] ذخیره و براساس [ORDER_TYPE] مرتب کن
استفاده از یک تصویر لحظهای ذخیره شده زمانی مفید است که میخواهید ترتیب و موقعیت اشیاء در حین کار پروژه با آنها ثابت بماند.
رفتار مشترک: بلوکهای گزارشگر که نام، لیست، اطمینان، موقعیت یا اندازه را برمیگردانند، در صورت عدم تشخیص تطابق، عدم وجود تصویر لحظهای ذخیرهشده یا عدم وجود شماره مورد درخواستی، مقدار خالی را برمیگردانند. گزارشگرهای شمارش مقدار ۰ و بلوکهای بولی مقدار false را برمیگردانند.
برچسبهای اشیاء موجود در منبع تشخیص انتخابشده را به صورت متن جدا شده با ویرگول (comma) گزارش میدهد.
برای دیدن آنچه هوش مصنوعی در حال حاضر تشخیص میدهد، گزینه جاری را انتخاب کنید، یا برای خواندن تصویر لحظهای ذخیرهشده، گزینه ذخیرهشده را انتخاب کنید.
این یکی از بهترین بلوکها برای یادگیری نام دقیق اشیاء است که مدل انتخابشده در نتایج تشخیص خود استفاده میکند.
تعداد کل اشیاء موجود در منبع انتخاب شده را گزارش میدهد.
به عنوان مثال، میتواند تمام تشخیصهای جاری را بشمارد یا به شما بگوید که چند شیء در تشخیصهای ذخیرهشده نگهداری شدهاند.
مقدار ویژه all را گزارش میدهد که نشاندهنده هر شیء شناساییشده صرفنظر از برچسب آن است.
وقتی میخواهید یک بلوک به جای یک برچسب خاص، با هر شیء شناساییشده کار کند، آن را در ورودی بلوکی قرار دهید که نام شیء را درخواست میکند (OBJECT).
همچنین میتوانید به جای استفاده از این بلوک گزارشگر، مستقیماً در ورودی نام شیء، all را به انگلیسی تایپ کنید.
تشخیصهای منطبق را از منبع انتخابشده میگیرد، آنها را مرتب میکند و نتیجه را به عنوان تصویر لحظهای جدید ذخیرهشده نگهداری میکند.
این امر بهویژه زمانی مفید است که به یک ترتیب قابل پیشبینی مانند اولین مورد از سمت چپ، اولین مورد از بزرگترین مورد یا اولین مورد از بالاترین اطمینان نیاز دارید.
به طور پیشفرض، لیست تشخیص جاری از قبل از بالاترین به پایینترین درجه اطمینان مرتب شده است.
OBJECT: یک برچسب شیء مانند person، متن جدا شده با کاما مانند شخص، person, car یا استفاده از همه را وارد کنید.
- همه: تمام تشخیصها را نگه میدارد و آنها را به ترتیب انتخاب شده ذخیره میکند. اگر اطمینان زیاد به کم را انتخاب کنید، تشخیصهای جاری از قبل به آن ترتیب هستند، بنابراین بلوک به سادگی آنها را به عنوان یک تصویر لحظهای ذخیره میکند.
- نام یک شیء، مانند person: تشخیصها را به آن شیء فیلتر میکند و سپس نتایج منطبق را مرتب میکند.
- نامهای چندگانه اشیاء، مانند شخص، ماشین: تشخیصهای منطبق با هر نام فهرستشده را ترکیب کرده و آنها را با هم مرتب میکند.
SOURCE: گزینه جاری یا ذخیرهشده را انتخاب کنید.
- جاری: از آخرین نتایج تشخیص زنده استفاده میکند.
- ذخیرهشده: از اسنپشات ذخیرهشدهی موجود استفاده میکند و به شما امکان میدهد آن را دوباره مرتب کنید یا فیلتر بیشتری روی آن اعمال کنید.
ORDER_TYPEنوع مرتبسازی میتواند:
- اطمینان زیاد به کم یا اطمینان کم به زیاد
- چپ به راست یا راست به چپ
- بالا به پایین یا پایین به بالا
- بزرگ به کوچک یا کوچک به بزرگ
پس از ذخیره، برای خواندن تصویر لحظهای، از منوی SOURCE بلوکهای دیگر، گزینه ذخیرهشده را انتخاب کنید.
تشخیصهای ذخیره شده تا زمانی که دوباره ذخیره نکنید، بدون تغییر باقی میمانند و تغییر مدل تشخیص، تصویر لحظهای ذخیره شده را پاک میکند.
برچسب یک تشخیص را بر اساس موقعیت آن در منبع انتخاب شده گزارش میدهد.
INDEXبرای مورد اول از ۱، برای مورد دوم از ۲ و به همین ترتیب استفاده کنید.
اگر مورد وجود نداشته باشد، بلوک مقدار خالی را برمیگرداند.
برای تشخیصهای ذخیره شده، مورد ۱، مورد ۲ و به همین ترتیب، ترتیبی را که هنگام ذخیره تشخیصها انتخاب شده است، دنبال کنید.
گزارش میدهد که چه تعداد از موارد شناساییشده در منبع انتخابشده با نام یک شیء مطابقت دارند.
OBJECT: یک برچسب دقیق شیء، یا متن جدا شده با کاما وارد کنید، یا از همه برای شمارش هر شیء در منبع استفاده کنید.
وقتی چندین نام ارائه میشود، بلوک تعداد تشخیص ترکیبی آنها را برمیگرداند. به عنوان مثال person, car هر فرد و ماشین شناسایی شده را میشمارد.
از این برای شمارش بازیها، آزمایشهای کلاسی یا منطقی مانند "ادامه دادن وقتی دو نفر قابل مشاهده هستند" استفاده کنید.
📍 موقعیت، اندازه و میزان اطمینان تشخیص #
میزان اطمینان یک تشخیص انتخابشده را در مقیاسی از ۰ تا ۱ گزارش میدهد.
برای مثال، ۰.۸۷ به این معنی است که مدل به آن تشخیص، امتیاز اطمینان حدود ۸۷٪ داده است.
OBJECT: یک برچسب دقیق برای شیء وارد کنید، یا از همه برای انتخاب موارد از کل منبع استفاده کنید.
INDEX: اولین، دومین، سومین و به همین ترتیب مورد منطبق را انتخاب میکند.
SOURCE: گزینه جاری یا ذخیرهشده را انتخاب کنید.
موقعیت X مرکز کادر تشخیص انتخابشده را که به مختصات صحنه اسکرچ نگاشت شده است، گزارش میدهد.
از آن برای حرکت دادن یک اسپرایت به چپ یا راست همراه با یک شیء واقعی استفاده کنید.
توجه: کادر تشخیص، ناحیه مستطیلی اطراف یک شیء تشخیص داده شده است که نشان میدهد شیء در کجای تصویر قرار دارد.
موقعیت Y مرکز کادر تشخیص انتخاب شده را که به مختصات صحنه اسکرچ نگاشت شده است، گزارش میدهد.
از آن برای ردیابی عمودی، هدفگیری یا بازیهای کنترلشده با اشیاء استفاده کنید.
عرض کادر تشخیص انتخابشده را بر حسب واحدهای صحنه اسکرچ گزارش میدهد.
مقدار بزرگتر به این معنی است که شیء تشخیص داده شده فضای افقی بیشتری را در تصویر اشغال میکند.
ارتفاع کادر تشخیص انتخابشده را بر حسب واحدهای صحنه اسکرچ گزارش میدهد.
اگر منبع انتخاب شده حداقل یک تشخیص داشته باشد، مقدار true و اگر خالی باشد، مقدار false را برمیگرداند.
با جاری، صحنهی زنده بررسی میشود. با ذخیرهشده، تصویر لحظهای ذخیره شده بررسی میشود.
بررسی میکند که آیا یک شیء و شماره آیتم خاص در منبع انتخاب شده وجود دارد یا خیر.
برای مثال، person #2 فقط زمانی درست است که یک تشخیص دوم برای شخص وجود داشته باشد.
همچنین میتوانید از all به عنوان مقدار شیء برای بررسی وجود یک شماره آیتم خاص در کل منبع استفاده کنید.
🎯 حالتهای تشخیص و فهرستهای سفارشی #
کنترلهایی که اشیاء را شناسایی کردهاند، در نتایج مورد استفاده توسط سایر بلوکها و رویدادهای شناسایی افزونه گنجانده شدهاند.
MODE:
- همه تشخیصها - هر شیء را که توسط مدل انتخاب شده شناسایی شد نگه میدارد.
- لیست تشخیص من - فقط نام اشیایی را که به فهرست تشخیص سفارشی خود اضافه کردهاید، نگه دارید.
مهم: لیست تشخیصهای من هنگام شروع افزونه خالی است. میتوانید هر زمان که خواستید به این حالت بروید، اما تا زمانی که لیست حداقل شامل نام یک شیء نباشد، هیچ تشخیصی گزارش نخواهد شد.
فهرست اشیاء سفارشی شما را به صورت متن جدا شده با کاما گزارش میدهد.
این فهرست همچنین میتواند تاریخچهای از نام اشیاء تازه شناسایی شده را بدون موارد تکراری ذخیره کند. برای مثال، وقتی تعداد تشخیصها تغییر میکند، فهرست تشخیصهای فعلی را به فهرست تشخیصهای من اضافه کن. اضافه کردن نامی که از قبل در فهرست است، حتی با حروف بزرگ متفاوت، دوباره آن را اضافه نمیکند.
نام شیء را در موقعیت انتخاب شده در لیست تشخیص سفارشی شما گزارش میدهد.
INDEXبرای مورد اول از ۱، برای مورد دوم از ۲ و به همین ترتیب استفاده کنید.
اگر مورد وجود نداشته باشد، بلوک مقدار خالی را برمیگرداند.
گزارش میدهد که چند نام شیء منحصر به فرد در لیست تشخیص سفارشی شما وجود دارد.
این تعداد نامهای پیکربندی شده را شمارش میکند، نه اشیاء قابل مشاهده در حال حاضر برای دوربین.
یک برچسب شیء به لیست سفارشی اضافه میکند.
از برچسب دقیقی که توسط مدل برگردانده شده است استفاده میکند.
متن جدا شده با کاما، هر برچسب را جداگانه اضافه میکند.
اضافه کردن دوباره نام مشابه، ورودی تکراری ایجاد نمیکند.
نام شیء منطبق را از لیست سفارشی شما حذف میکند.
متن جدا شده با کاما، هر برچسب منطبق را حذف میکند.
تمام نامها را از لیست تشخیص سفارشی حذف میکند.
⚡ بلوکهای رویداد و واکنشها #
اسکریپت پیوست شده را زمانی اجرا میکند که تعداد پایدار هر شیء شناسایی شده افزایش یابد.
این اسکریپت میتواند زمانی فعال شود که اولین شیء ظاهر شود، یا زمانی که یک برچسب شیء جدید ظاهر شود، یا زمانی که یک نمونه اضافی از یک شیء از قبل قابل مشاهده شناسایی شود.
وقتی تعداد پایدار شیء نامگذاری شده افزایش یابد، اجرا میشود.
برای مثال، میتواند وقتی اولین شخص ظاهر میشود و دوباره اگر شخص دیگری به تازگی شناسایی شود، فعال شود.
متن جدا شده با کاما را وارد کنید تا وقتی تعداد پایدار هر شیء فهرست شده افزایش مییابد، اجرا شود.
استفاده از all در اینجا همان رفتار "وقتی هر شیئی تشخیصدادهشد" را مانند بلوک کلاهی قبلی ارائه میدهد.
زمانی اجرا میشود که تعداد کل اشیاء شناساییشدهی فعلی، چه به سمت بالا و چه به سمت پایین، تغییر کند.
این برای شمارش بازیها و صحنههایی که هنگام ورود یا خروج اشیاء از نمای دوربین واکنش نشان میدهند، مفید است.
توجه: کلاههای تشخیص منتظر میمانند تا تعداد یکسانی در دو فریم متوالی مشاهده شود و سپس آن را به عنوان پایدار در نظر میگیرند. این امر به کاهش سوسو زدن یک فریم و تریگرهای تصادفی کمک میکند.
🧠 کنترل مدل و میزان اطمینان #
مدل تشخیص اشیاء فعال را تغییر میدهد.
این افزونه با مدل سریع (Fast) شروع میشود. دانشآموزان میتوانند بسته به اینکه پروژه آنها به تشخیص سریعتر، جزئیات بیشتر تصویر یا پشتیبانی از طیف وسیعتری از انواع اشیاء نیاز دارد، بین مدلها جابجا شوند.
| منوی مدل | اندازه ورودی | کلاسها | بهترین برای |
|---|---|---|---|
| سریع اندازه: 320 کلاس: 365 | 320×320 | 365 | بار پردازشی کمتر و عملکرد روانتر در دستگاههای ضعیفتر |
| متعادل اندازه: 640 کلاس: 365 | 640×640 | 365 | جزئیات بیشتر تصویر در عین استفاده از همان واژگان شیء کلاس ۳۶۵ |
| گسترده اندازه: 640 کلاس: 4585 | 640×640 | 4,585 | دایره لغات اشیاء بسیار گستردهتر، زمانی که گزینههای کلاس ۳۶۵ شامل آنچه شما نیاز دارید نمیشوند. |
↔ برای مشاهده جدول کامل در موبایل، صفحه را به چپ یا راست بکشید
نکته: برای تشخیص واکنشی، با مدل پیشفرض سریع شروع کنید. برای جزئیات بیشتر تصویر، متوازن (balanced) و برای دستههای اشیاء بیشتر، عریض (wide) را انتخاب کنید.
مهم: تغییر مدل، تشخیصهای ذخیرهشده را پاک میکند. هنگام تغییر مدل، تنظیمات کمینه اطمینان فعلی حفظ میشود.
کمینه اطمینان مورد نیاز را قبل از گزارش نتیجه مدل به عنوان تشخیص، تعیین میکند.
این تنظیم از مقیاسی از ۰ تا ۱ استفاده میکند:
- 0.35 - پیشفرض.
- 0.5-0.7 - سختگیرانهتر؛ میتواند تشخیصهای ضعیف یا نادرست را کاهش دهد.
- 0.2-0.3 - آسانگیرانهتر؛ ممکن است به تشخیصهای دشوار کمک کند اما میتواند اشتباهات را نیز افزایش دهد.
این یک روش مفید برای آموزش دانشآموزان است که پیشبینیهای هوش مصنوعی صرفاً «درست» یا «غلط» نیستند - هر تشخیص با یک نمره اطمینان همراه است.
تنظیمات کمینه اطمینان فعلی را در مقیاس ۰-۱ گزارش میدهد.
به یاد داشته باشید: هم «کمینه اطمینان» و هم «میزان اطمینان [OBJECT] شماره [INDEX] در تشخیصهای [SOURCE]» از مقیاس ۰-۱ یکسانی استفاده میکنند.
⚙️ کنترل دستهبندی #
- دستهبندی [INTERVAL] - انتخاب کنید که تشخیص چند وقت یکبار انجام شود:
- هر بار که این بلوک اجرا میشود
- پیوسته، بدون وقفه
- پیوسته، هر ۵۰ تا ۲۵۰۰ میلیثانیه
- دستهبندی را [خاموش/روشن] کن - شروع یا توقف تشخیص پیوسته.
- فاصله زمانی دستهبندی - فاصله زمانی فعلی را بر حسب میلیثانیه گزارش میدهد.
- دستهبندی پیوسته - گزارش میدهد که تشخیص پیوسته «روشن» یا «خاموش» است.
- انتخاب تصویر ورودی [دوربین/صحنه] - دوربین یا صحنه را انتخاب کنید.
- تصویر ورودی - منبع ورودی فعال را گزارش میدهد.
🎥 کنترل ویدیو #
- ویدیو را [خاموش/روشن/روشن و آینهای] کن
- روشن: پیشنمایش دوربین را در یک نمای آینهای (مانند یک وبکم یا آینه معمولی) نشان میدهد.
- روشن و آینهای: پیشنمایش دوربین را در نمای غیر آینهای نشان میدهد - جهتها مانند دنیای واقعی ظاهر میشوند.
- خاموش: پیشنمایش دوربین را خاموش میکند. در حالت ورودی صحنه، تشخیص همچنان ادامه مییابد.
- شفاقیت ویدئو [TRANSPARENCY|text] شود — میزان قابل مشاهده بودن پیشنمایش دوربین را تنظیم میکند:
- 0: کاملاً قابل مشاهده (تصویر خالص)
- 100: کاملاً شفاف (نامرئی اما فعال)
- دوربین [CAMERA] را انتخاب کن — از بین دوربینهای موجود در دستگاه شما انتخاب میکند. منوی کشویی تمام دوربینهای شناساییشده را فهرست میکند و افزونه بهطور خودکار به دوربینی که انتخاب میکنید، تغییر وضعیت میدهد.
- کادرهای تشخیص را [روشن/خاموش] کننمایش کادرهای تشخیص را روشن یا خاموش کنید. وقتی روشن باشد، دور هر شیء شناسایی شده یک کادر نمایش داده میشود تا بتوانید ببینید مدل، کدام اشیاء را دنبال میکند. این قابلیت برای آزمایش دوربین، بررسی عملکرد مدل و پیدا کردن اشکالات پروژه به صورت زنده مفید است.
کادرهای تشخیص در این افزونه بهصورت پیشفرض فعال هستند. هرگاه بخواهید کادرهای دیداری پیرامون اشیای شناساییشده را نمایش دهید یا پنهان کنید، از کنترل مربوط به کادر تشخیص استفاده نمایید.
🎓 کاربردهای آموزشی #
- معرفی بینایی کامپیوتر: دانشآموزان میتوانند ببینند که چگونه یک مدل هوش مصنوعی تصاویر را به برچسبها و مکانهای اشیاء تبدیل میکند.
- آموزش اطمینان و عدم قطعیت: پیشبینیها را در آستانههای اطمینان مختلف مقایسه کنید و بحث کنید که چرا هوش مصنوعی گاهی اوقات اشتباه میکند.
- کاوش مختصات: موقعیتهای X/Y شناساییشده را به حرکت اسپرایت و سیستم مختصات اسکرچ متصل کنید.
- بررسی اندازه: از عرض و ارتفاع برای تشخیص اندازه یک شیء در تصویر استفاده کنید.
- تمرین فهرستها و فهرستبندی: با اولین، دومین یا سومین شیء منطبق کار کنید و چندین تشخیص را با هم مقایسه کنید.
- تمرین مرتبسازی: تشخیصها را ذخیره کنید و آنها را بر اساس موقعیت، اندازه یا میزان اطمینان مرتب کنید.
- آموزش رویدادها: از بلوکهای کلاهی برای نشان دادن چگونگی واکنش نرمافزار به تغییرات در محیط استفاده کنید.
- محدودیتهای هوش مصنوعی را مورد بحث قرار دهید: آنچه دانشآموزان میبینند را با آنچه مدل تشخیص میدهد مقایسه کنید و موارد مثبت کاذب، اشیاء از دست رفته، روشنایی، زاویه و اندازه شیء را بررسی کنید.
🎮 پروژههای نمونه #
- خوشامدگوی به شیء: کاری کنید که وقتی یک شیء پشتیبانیشدهی انتخابشده ظاهر میشود، یک اسپرایت به شما خوشامد بگوید.
- شمارنده اشیاء: تعداد اشیاء قابل مشاهده را نشان میدهد و وقتی تعداد به یک هدف رسید، جشنی برپا میکند.
- هدف را دنبال کنید: از مرکز X/Y یک شیء شناسایی شده برای حرکت دادن یک اسپرایت به سمت آن استفاده کنید.
- چپ یا راست؟ تشخیصهای تطبیق را از چپ به راست ذخیره کنید و از مورد ۱ برای یافتن سمت چپترین شیء استفاده کنید.
- چالش بزرگترین شیء: تشخیصها را از بزرگ به کوچک ذخیره کنید و کاری کنید که اسکرچ به بزرگترین آنها واکنش نشان دهد.
- آزمایشگاه اطمینان هوش مصنوعی: مقادیر اطمینان را نمایش داده و تأثیر نور، فاصله، زاویه و پسزمینه را بر پیشبینیها آزمایش کنید.
- جستجوی اشیاء در کلاس درس: فهرستی از اشیاء پشتیبانیشده را به دانشآموزان بدهید و وقتی هوش مصنوعی هر کدام را پیدا کرد، امتیاز بدهید.
- چه چیزی در فریم است؟ بلوک گزارشگر «لیست تشخیصهای [SOURCE]» را نمایش دهید تا دانشآموزان بتوانند مشاهده کنند که مدل چگونه یک صحنه در حال تغییر را توصیف میکند.
🧩 خودتان امتحان کنید: pishi.ai/play
🔧 نکات و عیبیابی #
- دوربین یافت نشد؟
• مطمئن شوید که دوربین شما متصل است و اجازه مرورگر داده شده است.
• اگر دوربین مسدود شده است، آن را در تنظیمات سایت مرورگر خود فعال کنید و صفحه را دوباره بارگذاری کنید.
• وقتی افزونه بارگذاری میشود، اگر دوربینی شناسایی نگردد، ورودی تصویر بهطور خودکار به استیج اسکرچ تغییر میکند تا بتوانید به استفاده و آزمایش ویژگیهای افزونه ادامه دهید. - تشخیص داده نشد؟
• دستهبندی پیوسته: از این گزارشگر برای بررسی فعال بودن دستهبندی استفاده کنید.
• اگر فعال است، روشنایی را بهبود بخشیده و مستقیماً رو به دوربین باشید.
• دستهبندی را [روشن] کن: از این بلوک استفاده کنید، اگر دستهبندی فعال نیست، سپس وضعیت طبقهبندی را با گزارشگر فوق دوباره بررسی کنید.
• در حالت ورودی دوربین، وقتی دوربین خاموش است، دستهبندی نیز متوقف میشود - باید ویدیو را دوباره روشن کنید یا ورودی را به صحنه تغییر دهید.
• در حالت ورودی صحنه، سیستم هر آنچه را که روی صحنه قابل مشاهده است طبقهبندی میکند - پسزمینهها، اسپرایتها یا تصاویر. میتوانید ویدیو را کاملاً خاموش کنید و همچنان تصاویر صحنه را پردازش کنید.
• حالت صحنه کندتر از ورودی دوربین است، بنابراین برای نتایج روانتر با استفاده از این بلوک، فاصله زمانی دستهبندی خود را کاهش دهید (مثلاً بین ۱۰۰ تا ۲۵۰ میلیثانیه): دستهبندی [INTERVAL]
• در حالت صحنه، نشانههای «چپ» و «راست» جابجا میشوند زیرا تصویر صحنه آینهای نیست - فضای مختصات نشان دهنده یک نمای واقعی (غیر آینهای) است.
• دستهبندی همچنین میتواند هنگام استفاده از بلوکهایی مانند موارد زیر به طور خودکار مجدداً راهاندازی شود:
ویدیو را [روشن] کن / دستهبندی [INTERVAL] / دوربین [CAMERA] را انتخاب کن / انتخاب تصویر ورودی [دوربین/صحنه]. - نمای وارونه؟
ویدیو را [روشن و آینهای] کن: از این برای نمایش دوربین بدون آینهسازی استفاده کنید. حالت «روشن» مانند یک سلفی آینهای میشود؛ حالت «روشن و آینهای» جهت واقعی چپ/راست را نشان میدهد. - کند یا دارای تاخیر؟
از فواصل دستهبندی بین ۱۰۰ تا ۲۵۰ میلیثانیه استفاده کنید یا سایر تبهای مرورگر را ببندید تا بار پردازش کاهش یابد. - هشدار WebGL2؟
فایرفاکس یا دستگاه جدیدتری که از شتاب گرافیکی WebGL2 پشتیبانی میکند را امتحان کنید. - به جای دوربین، صحنه را تحلیل کن؟
انتخاب تصویر ورودی [صحنه]: از این گزینه برای تحلیل تصویر صحنه Scratch به جای تصویر زنده دوربین استفاده کنید. صحنه اسکرچ میتواند شامل تصویر دوربین، و همچنین هر اسپرایت و پسزمینهای باشد که در حال حاضر روی صحنه اسکرچ دیده میشود.توجه: پردازش صحنه اسکرچ ممکن است از استفاده مستقیم از دوربین کندتر باشد.
🎯 نکات ویژه تشخیص اشیاء #
- هیچ شیئی شناسایی نشد؟ مطمئن شوید که دستهبندی در حال اجرا است، نورپردازی را بهبود بخشید، شیء را نزدیکتر ببرید و بررسی کنید که مدل انتخاب شده از آن برچسب شیء پشتیبانی میکند.
- آیا شیء نام اشتباهی دارد؟ هر مدل تشخیص، از واژگان شیء آموختهشدهی خود استفاده میکند. برای مشاهدهی برچسب دقیقی که برمیگرداند، بلوک «لیست تشخیصهای [جاری]» را بررسی کنید.
- تشخیصهای اشتباه زیادی وجود دارد؟ حداقل اطمینان را به تدریج افزایش دهید، مثلاً از 0.35 به 0.5.
- یک شیء واقعی اغلب از قلم میافتد؟ نورپردازی بهتر، زاویه دید واضحتر، مدل متعادل یا آستانه اطمینان کمی پایینتر را امتحان کنید.
- به شیئی نیاز دارید که مدل سریع یا متعادل آن را تشخیص نمیدهد؟ مدل گسنرده را امتحان کنید که از واژگان کلاس بسیار وسیعتری استفاده میکند.
- فقط به چند شیء علاقهمند هستید؟ دقیقاً همان برچسبها را به لیست تشخیص من اضافه کنید، سپس گزینه «به دنبال [MODE] باش» را به لیست تشخیص من تغییر دهید.
- حالت لیست تشخیص من ناگهان چیزی را تشخیص نمیدهد؟ بررسی کنید که فهرست تشخیص من خالی نباشد و نامهای آن دقیقاً با برچسبهای مدل مطابقت داشته باشد.
- مورد ۲ یا مورد ۳ خالی برمیگرداند؟ آن شماره مورد، فقط زمانی کار میکند که در حال حاضر به اندازه کافی موارد منطبق شناسایی شده وجود داشته باشد.
- موقعیتهای ذخیرهشده، قدیمی به نظر میرسند؟ تشخیصهای ذخیرهشده عمداً یک تصویر لحظهای هستند. دستور «[OBJECT] را از میان تشخیصهای [SOURCE] ذخیره و براساس [ORDER_TYPE] مرتب کن» را دوباره اجرا کنید، معمولاً با SOURCE جاری، تا آنها را بهروزرسانی کنید.
- پروژه کند است؟ از مدل سریع استفاده کنید، فاصله دستهبندی را افزایش دهید، سایر تبهای سنگین مرورگر را ببندید، یا تعداد دفعاتی که اسکریپتهای اسکرچ شما دادههای تشخیص را میخوانند، کاهش دهید.
- دوربین در دسترس نیست؟ ورودی را به صحنه تغییر دهید و با یک پسزمینه، اسپرایت یا تصویر وارد شده آزمایش کنید.
🔒 حریم خصوصی و امنیت #
- همه چیز به صورت محلی در مرورگر شما اجرا میشود.
- هیچ تصویر یا ویدیویی در هیچ کجا آپلود نمیشود.
- فایلهای مدل هنگام شروع افزونه مستقیماً از Pishi.ai بارگذاری میشوند، بنابراین از هیچ سرور شخص ثالثی برای مدلها استفاده نمیشود.
- قبل از استفاده از دوربین، همیشه از معلم یا والدین خود اجازه بگیرید.
- در هر زمان، با خیال راحت ویدیو را [خاموش] کن.
🧪 اطلاعات فنی #
- نوع مدل: مدلهای از پیش آموزشدیده تشخیص شیء ONNX.
- چارچوب: onnxruntime-web.
- اجرای مرورگر: مرورگرهای دسکتاپ در صورت پشتیبانی، WebGPU را ترجیح میدهند، به همراه WebAssembly (WASM)؛ اندروید از WASM استفاده میکند.
- گزینههای مدل: سریع (۳۲۰×۳۲۰، ۳۶۵ کلاس)، متعادل (۶۴۰×۶۴۰، ۳۶۵ کلاس) و گسترده (۶۴۰×۶۴۰، ۴۵۸۵ کلاس).
- مدل اولیه: سریع (۳۲۰×۳۲۰) روی هر دستگاه پشتیبانیشده.
- کمینه اطمینان پیشفرض: 0.35.
- تشخیص: چندین شیء را میتوان از یک فریم گزارش کرد.
- گزارشگر اطمینان: مقداری بین ۰ تا ۱ را برمیگرداند.
- مختصات: مراکز کادرهای تشخیص به مختصات صحنه اسکرچ نگاشت میشوند؛ عرض و ارتفاع بر حسب واحدهای صحنه گزارش میشوند.
- منابع: بلوکهای گزارشگر میتوانند تشخیصهای زنده فعلی یا تشخیصهای لحظهای ذخیره شده را بخوانند.
- فیلتر کردن: حالت تشخیص میتواند تمام تشخیصها یا فقط برچسبها را از لیست تشخیص سفارشی کاربر نگه دارد.
- تشخیصهای ذخیرهشده: یک تصویر لحظهای میتواند بر اساس میزان اطمینان، موقعیت افقی، موقعیت عمودی یا اندازه، فیلتر و مرتب شود.
- پایداری بلوک کلاهی: تغییرات تعداد تشخیص باید برای ۲ فریم متوالی ثابت بماند تا کلاههای تشخیص شیء پایدار در نظر گرفته شوند.
- کادرهای تشخیص: کادرهای تشخیص دیداری به طور پیشفرض فعال هستند و میتوان آنها را از طریق افزونه کنترل کرد.
- ورودیها: تصویر زنده دوربین یا تصویر صحنه اسکرچ.
- پردازش: تشخیص پس از بارگذاری فایلهای مدل مورد نیاز، به صورت محلی در مرورگر اجرا میشود.
🔗 افزونههای مرتبط #
- 🖐️ تشخیص دست - تشخیص نشانهها و حرکات دست.
- 🕺 تشخیص بدن - ژست و حرکت تمام بدن را ردیابی میکند.
- 😎 تشخیص صورت - تشخیص نقاط کلیدی و حالات چهره
- 🖼️ یاد دادن تصاویر - طبقهبندیکننده تصویر سفارشی خود را مستقیماً در اسکرچ آموزش دهید.
- 🏫 ماشین آموزشپذیر گوگل - مدلهای طبقهبندی سفارشی از پیش آموزشدیده را وارد کنید.
🖼️ مقایسه تشخیص اشیاء و یاد دادن تصاویر #
| ویژگی | تشخیص اشیاء | یاد دادن تصاویر |
|---|---|---|
| یاددهی | از مدلهای از پیش آموزشدیده استفاده میکند - نیازی به آموزش نیست | دانشآموزان برچسبهای خود را با مثالها آموزش میدهند |
| به چه چیزی پاسخ میدهد | «چه اشیایی اینجا هستند، چند تا هستند و کجا هستند؟» | «کدام برچسب با کل این تصویر مطابقت بیشتری دارد؟» |
| چندین شیء به طور همزمان | بله | نه به عنوان اشیاء جداگانه واقع شده |
| موقعیت و اندازه | بله - X ، Y ، عرض و ارتفاع | بدون موقعیت کادر محدودکننده شیء |
| دسته بندی اشیاء سفارشی | محدود به برچسبهای موجود در مدل تشخیص از پیش آموزشدیدهی انتخابی | بله - دانشآموزان برچسبهای خودشان را ایجاد میکنند |
| بهترین استفاده در کلاس درس | بینایی کامپیوتر، ردیابی اشیاء، شمارش، مختصات و پروژههای رویداد محور | آموزش یادگیری ماشین، دادههای آموزشی، مثالها و دستورات دیداری سفارشی |
↔ برای مشاهده جدول کامل در موبایل، صفحه را به چپ یا راست بکشید
💡 چرا تشخیص اشیاء را انتخاب کنیم؟ #
زمانی که پروژه شما نیاز به یافتن اشیاء واقعی و دانستن محل آنها دارد، تشخیص اشیاء را انتخاب کنید.
این امر به ویژه زمانی مفید است که دانشآموزان بدون آموزش اولیه مدل، نتایج فوری میخواهند.
- تشخیص چندین شیء در یک صحنه.
- اشیاء را بشمارید و موقعیت یا اندازه آنها را با هم مقایسه کنید.
- پروژههایی بسازید که به تغییرات در دنیای واقعی واکنش نشان دهند.
- میزان اطمینان، فیلتر کردن، مرتبسازی و بینایی کامپیوتر را به روشی سازگار با اسکرچ بررسی کنید.
💡 چه زمانی بهتر است بهجای آن از یاد دادن تصاویر استفاده کنیم؟ #
وقتی به دستهبندیهایی نیاز دارید که مختص پروژه خودتان هستند - مثلاً حرکات دست خودتان، کارتهای کلاس درس، دستورات سفارشی یا اشیایی که یک آشکارساز از پیش آموزشدیده نمیشناسد - از یاد دادن تصاویر استفاده کنید.
یاد دادن تصاویر به دانشآموزان اجازه میدهد خودشان برچسبها را ایجاد کنند و مستقیماً از مثالهای خودشان یاد بگیرند.
به طور خلاصه:
از تشخیص اشیاء برای یافتن و مکانیابی اشیائی که هوش مصنوعی از قبل میشناسد استفاده کنید.
از یاد دادن تصاویر زمانی استفاده کنید که میخواهید دستهبندیهای دیداری خودتان را به هوش مصنوعی آموزش دهید.
