
برای آموزش یک مدل بینایی ماشین، به تصویرهای مرتبط با محیط واقعی، برچسبهای دقیق و مجموعهای جدا برای ارزیابی نیاز دارید. تعداد عکسها به تنوع مسئله بستگی دارد؛ هزاران فریم تقریباً یکسان، جای تصویرهای متنوع از شرایط کار را نمیگیرند. پیش از جمعآوری، باید معلوم باشد مدل چه چیزی را تشخیص میدهد و خروجی آن قرار است کدام تصمیم را پشتیبانی کند.
در یک پروژهٔ کنترل کیفیت، مثلاً تشخیص آسیب لبهٔ قطعه، عکس باید همان جزئیاتی را نشان بدهد که بازرس بررسی میکند. اگر آسیب از زاویهٔ دوربین دیده نشود، افزودن برچسب یا تعویض مدل آن را قابل مشاهده نمیکند. آمادهسازی داده از همین بررسی ساده آغاز میشود.
اول خروجی مدل را مشخص کنید
«تشخیص قطعهٔ معیوب» ممکن است چند معنای متفاوت داشته باشد: اعلام سالم یا معیوب بودن کل تصویر، پیدا کردن محل قطعه، یا مشخص کردن مرز آسیب. هرکدام داده و برچسب متفاوتی میخواهد. برای آشنایی با این تفاوتها، راهنمای بینایی ماشین و کاربردهای آن را ببینید.
| هدف | برچسب مورد نیاز | مثال |
|---|---|---|
| دستهبندی تصویر | نام دسته برای کل تصویر | تصویر یک قطعهٔ سالم یا معیوب |
| تشخیص اشیا | کادر و نام دستهٔ هر شیء | پیدا کردن قطعات برای شمارش |
| بخشبندی | مرز یا ماسک ناحیهٔ مورد نظر | مشخص کردن سطح لبپریدگی |
| خواندن متن | متن صحیح؛ در صورت نیاز محل نوشته | خواندن شناسهٔ روی بسته |
| ردیابی در ویدئو | موقعیت و شناسهٔ ثابت شیء در فریمها | دنبال کردن قطعه هنگام عبور |
برای مسئلهای که با قواعد ثابت پردازش تصویر حل میشود، ممکن است آموزش مدل لازم نباشد. در این حالت هم تصویرهای واقعی و نمونههای آزمون برای تنظیم و ارزیابی روش لازماند؛ حجم و نوع برچسبگذاری باید با روش انتخابشده متناسب باشد.
یک دیتاست تصویری شامل چه چیزهایی است؟
دیتاست یا مجموعهداده، مجموعهای از نمونههاست که برای یک هدف مشخص آماده میشوند. در پروژهٔ تصویری، علاوه بر فایل عکس یا ویدئو، این اطلاعات را کنار هر نمونه نگه دارید:
- شناسهٔ یکتا: نامی که تصویر و فایل برچسبش با آن به یکدیگر وصل شوند.
- اطلاعات ثبت: دوربین، تاریخ، نوبت تولید یا محل تصویربرداری، در حدی که برای بررسی خطا لازم است.
- برچسب و وضعیت بازبینی: چه چیزی در تصویر مشخص شده و آیا برچسب تأیید شده است؟
- منشأ و مجوز استفاده: تصویر از کجا آمده و استفاده از آن برای این پروژه مجاز است؟
- گروه و نسخهٔ داده: تصویر به کدام قطعه یا ویدئو تعلق دارد و در کدام نسخهٔ دیتاست استفاده شده است؟
یک فایل فهرست، مثلاً صفحهگسترده یا CSV، برای ثبت این ارتباطها مفید است. پوشهای از عکسها با نامهای نامرتبط، بازبینی و تحویل داده به تیم توسعه را دشوار میکند.
تصاویر را از شرایط واقعی کار جمعآوری کنید
ابتدا دوربین و موقعیت تصویربرداری را تا حد امکان به اجرای نهایی نزدیک کنید. از شرایطی نمونه بگیرید که سامانه واقعاً با آنها روبهرو میشود: تغییر نور شیفتها، جهت قرارگیری قطعه، سرعت حرکت، بازتاب سطح و پوشیدهشدن بخشی از سوژه. اگر دوربین همیشه ثابت است، جمعآوری زوایایی که هرگز در خط دیده نمیشوند اولویت ندارد.
نمونههای سالم هم لازماند. اگر قرار است ترک تشخیص داده شود، باید تصویرِ شیار طبیعی، سایه یا خط اتصال سالم را هم بررسی کنید؛ این موارد ممکن است شبیه ترک دیده شوند. برای تشخیص اشیا، تصویرهای بدون شیء هدف نیز میتوانند بخشی از داده باشند، به شرط آنکه طبق راهنمای ابزار و آموزش ثبت شوند.
فایل خراب یا تصویر نامرتبط را کنار بگذارید، اما همهٔ عکسهای تار یا دشوار را بیبررسی حذف نکنید. اگر همین وضعیت در اجرای واقعی رخ میدهد، باید دربارهٔ اصلاح تصویربرداری یا نحوهٔ برخورد سامانه با ورودی نامناسب تصمیم بگیرید. مجموعهٔ آزمون نباید فقط از عکسهای تمیز و آسان تشکیل شود.
برای آموزش مدل چند عکس لازم است؟
عدد ثابتی برای همهٔ پروژهها وجود ندارد. تعداد کلاسها، تفاوت ظاهر نمونهها، اندازهٔ عیب، شرایط دوربین و استفاده از مدل ازپیشآموزشدیده بر نیاز داده اثر دارند. برآورد را با یک اجرای آزمایشی شروع کنید و ببینید خطاها در کدام دسته یا وضعیت بیشترند.
بهجای افزودن بیهدف عکس، کمبود مشخص را جبران کنید. اگر سامانه در بازتاب شدید خطا میکند، عکسهای بیشتری از همان وضعیت لازم است. تکرار عکسهای نور معمولی این کمبود را برطرف نمیکند. در هر دور، تعداد نمونهها و عملکرد هر دسته را ثبت کنید تا معلوم شود دادهٔ تازه چه تغییری ایجاد کرده است.
راهنمای برچسبگذاری را پیش از کار اصلی بنویسید
دو نفر باید با خواندن دستورالعمل بتوانند یک تصویر را با قواعد یکسان برچسب بزنند. برای هر کلاس، تعریف روشن و نمونهٔ تأییدشده داشته باشید. در مثال قطعهٔ لبپریده، مشخص کنید کادر دور کل قطعه کشیده میشود یا فقط محل آسیب؛ این دو خروجی به دو هدف متفاوت مربوطاند.
دستورالعمل باید تکلیف نمونههای مرزی را هم روشن کند: قطعهٔ نیمهپوشیده، آسیب بسیار کوچک، چند عیب در یک تصویر، سوژهٔ خارج از کادر و تصویری که تشخیص آن قطعی نیست. برای مورد مبهم، مسیر ارجاع به بازبین تعریف کنید تا برچسبگذار مجبور به حدسزدن نشود.
ابزارهایی مانند CVAT برای کادر، چندضلعی، ماسک و ردیابی امکانات دارند. انتخاب قالب خروجی، از جمله نسخهٔ مناسب COCO یا YOLO، باید با نوع برچسب و ابزار آموزش هماهنگ باشد؛ یکسان بودن نام قالب، بهتنهایی سازگاری همهٔ فایلها را تضمین نمیکند.
کیفیت برچسبها را چطور کنترل کنیم؟
کار را با بخش کوچکی از داده آغاز کنید. بخشی از نمونهها را دو نفر مستقل بررسی کنند؛ اختلافها را بازبین آشنا با موضوع حل کند و نتیجه به راهنما برگردد. این کار پیش از برچسبگذاری انبوه، برداشتهای متفاوت از کلاسها را آشکار میکند.
- کلاس اشتباه، شیء جاافتاده و کادر نادقیق را جدا ثبت کنید.
- نمونهای از دادهٔ هر برچسبگذار و هر کلاس را بازبینی کنید.
- موارد حساس و اختلافدار را به بازبین متخصص همان حوزه برسانید.
- پس از تغییر راهنما، نمونههای قبلیِ مرتبط را دوباره بررسی کنید.
برچسبگذاری خودکار میتواند پیشنهاد اولیه بدهد؛ تأیید آن همچنان بخشی از کار است. ابزارهای کنترل کیفیت، از جمله مقایسه با نمونههای مرجع، کمک میکنند خطاها پیدا شوند. خودِ مرجع هم باید بازبینی شده باشد.
آموزش، اعتبارسنجی و آزمون را چگونه جدا کنیم؟
بخش آموزش برای یادگیری مدل، اعتبارسنجی برای انتخاب تنظیمات و آزمون برای سنجش نهایی استفاده میشود. اگر نتیجهٔ آزمون را بارها مبنای اصلاح مدل قرار دهید، دیگر ارزیابیِ کاملاً مستقلی از نسخهٔ تازه ندارید. راهنمای گوگل نیز بر جدایی این نقشها و نمایندهبودن دادهٔ آزمون تأکید دارد.
مهمتر از یک نسبت ثابت مثل ۷۰/۱۵/۱۵، مستقل ماندن نمونههاست. فریمهای نزدیکِ یک ویدئو یا عکسهای مختلفِ یک قطعه میتوانند بسیار شبیه باشند. پخشکردن آنها بین آموزش و آزمون، نتیجه را خوشبینانه نشان میدهد. بسته به هدف پروژه، تقسیم را بر اساس قطعه، ویدئو، نوبت ثبت یا گروه مناسب دیگری انجام دهید.
اگر قرار است سامانه روی خط تولید تازهای هم کار کند، آزمون آن خط باید این توانایی را واقعاً بسنجد. تقسیم گروهی در مستندات scikit-learn نیز برای ارزیابی روی گروههای دیدهنشده توضیح داده شده است. روش تقسیم و دلیل انتخاب آن را همراه دیتاست تحویل دهید.
افزایش داده و تصاویر مصنوعی چه کمکی میکنند؟
تغییر کنترلشدهٔ روشنایی، چرخش یا برش تصویر میتواند تنوع دادهٔ آموزش را بیشتر کند، مشروط به اینکه معنای برچسب حفظ شود. هنگام تغییر تصویر، کادر یا ماسک هم باید درست تغییر کند. تبدیلی که عیب را از تصویر حذف کرده ولی برچسب «معیوب» را نگه داشته، دادهٔ نادرست میسازد.
تصاویر تبدیلشدهٔ یک عکس را بین آموزش و آزمون پخش نکنید. ابتدا گروهها را جدا کنید و افزایش داده را در مسیر آموزش انجام دهید. تصاویر مصنوعی را نیز با منشأ مشخص نگه دارید و نتیجهٔ نهایی را روی نمونههای واقعیِ مستقل بسنجید.
پیش از تحویل داده به تیم توسعه چه چیزهایی آماده باشد؟
- شرح مسئله، خروجی مورد انتظار و شرایط دوربین.
- تصاویر با شناسهٔ یکتا و فایلهای برچسبِ سازگار.
- راهنمای کلاسها، نمونههای مرزی و روش برخورد با ابهام.
- فهرست گروههای آموزش، اعتبارسنجی و آزمون.
- گزارش تعداد نمونهها، کمبود کلاسها و نتیجهٔ بازبینی.
- مجوز استفاده، سطح دسترسی و نسخهٔ مجموعهداده.
برای برآورد یک پروژهٔ بینایی ماشین و هوش مصنوعی در داپا، میتوانید با شرح فرایند و چند نمونهٔ مجاز از ورودی واقعی شروع کنید. بررسی همین نمونهها کمک میکند نیاز به تصویربرداری تازه، نوع برچسب و دامنهٔ اجرای آزمایشی روشن شود.
پرسشهای متداول
آیا میتوان از عکسهای اینترنتی استفاده کرد؟
تناسب تصویر با محیط پروژه و مجوز استفاده را بررسی کنید. عکس عمومی ممکن است زاویه، نور و جزئیات دوربین نهایی را نداشته باشد. داشتن دسترسی به دانلود، بهمعنی داشتن مجوز هر نوع استفاده نیست.
آیا برای همهٔ مدلها باید دور اشیا کادر کشید؟
خیر. دستهبندی ممکن است فقط برچسب کل تصویر بخواهد؛ تشخیص اشیا به محل آنها نیاز دارد و بخشبندی به مرز ناحیه. نوع برچسب را پس از تعیین خروجی مدل انتخاب کنید.
آیا تعداد برابر عکس برای همهٔ کلاسها ضروری است؟
الزام همیشگی نیست. باید برای کلاسهای مهم نمونهٔ کافی داشته باشید و عملکرد هرکدام را جدا بررسی کنید. تعداد زیاد تصاویر سالم، کمبود نمونهٔ عیب نادر را پنهان میکند؛ نسبت نمونهها را همراه نتیجهٔ ارزیابی گزارش کنید.
اگر هنوز تصویر کافی نداریم از کجا شروع کنیم؟
دوربین، خروجی مورد انتظار و چند نمونهٔ سالم و مسئلهدار را مشخص کنید. سپس یک برنامهٔ محدود جمعآوری و برچسبگذاری اجرا کنید و کمبودها را از روی خطاهای همان آزمایش بشناسید.