نکاتی برای آماده سازی داده های آموزشی برای مدل های تشخیص اشیا

این قسمت 2 از مجموعه وبلاگ ما است در مورد ایجاد و استفاده از داده های آموزشی برای ایجاد تشخیص شی مدل‌هایی که از یادگیری عمیق استفاده می‌کنند در قسمت 1، tips برای برچسب‌گذاری بحث کردیم اشیاء روی تصاویر. در قسمت 2، ما قصد داریم نکاتی را در مورد تهیه و استفاده از نمونه های آموزشی برای ساخت بهترین مدل های تشخیص اشیاء ممکن پوشش دهیم.

این نکات را هنگام صادر کردن تراشه‌های تصویر از ابزار Export Training Data for Deep Learning و هنگام آموزش مدل با استفاده از Train Deep Learning Model 

در اینجا نکات برتر ما آمده است: 

1. از Tile Size استفاده کنید که به خوبی اجسام شما را بپوشاند

اندازه کاشی را انتخاب کنید که به اندازه کافی اشیاء شما را در خود جای دهد و در عین حال اطلاعات کافی پیرامون را برای تشخیص دقیق ارائه دهد. برای تشخیص شی، اندازه کاشی با وضوح فضایی تصاویر، اندازه اشیاء قابل شناسایی و منابع محاسباتی موجود تعیین می‌شود. اندازه‌های کاشی کوچک‌تر از نظر محاسباتی کارآمد هستند اما ممکن است اطلاعات متنی را قربانی کنند. از سوی دیگر، اندازه‌های کاشی بزرگ‌تر زمینه بیشتری را به تصویر می‌کشند، اما به حافظه و قدرت محاسباتی بیشتری نیاز دارند. 

روش معمول این است که اندازه کاشی را انتخاب کنید که به اندازه کافی بزرگ باشد تا کل شی مورد نظر را به تصویر بکشد، در حالی که زمینه کافی برای تشخیص دقیق را نیز فراهم می کند. هنگامی که اندازه اشیا در نمونه های شما بسیار متفاوت است، یکی از روش ها می تواند استفاده از سه برابر اندازه متوسط ​​شیء باشد. اگر کاشی‌های شما برای GPU خیلی بزرگ هستند، می‌توانید از اندازه دسته‌ای کوچک‌تر استفاده کنید. 

2. در صورت وجود، از Stride با اندازه کاشی استفاده کنید

برای کنترل همپوشانی بین کاشی های تصویر، یک مقدار گام به راست انتخاب کنید. اندازه کاشی اندازه هر تراشه تصویر را تعیین می کند، در حالی که گام اندازه گام بین تراشه های متوالی را تعیین می کند. داشتن همپوشانی روی کاشی های تصویری، هنگام برخورد با اشیایی که چندین کاشی را پوشانده اند، به دلایل مختلفی می تواند مفید باشد. به عنوان مثال، می تواند به کاهش از دست دادن اطلاعات، بهبود درک زمینه، و افزایش تعمیم مدل کمک کند. هنگامی که نمونه های آموزشی را صادر می کنید، می توانید از پارامتر Stride Size استفاده کنید. در هنگام ایجاد کاشی تصویر بعدی، فاصله ای است که باید در جهت X و Y حرکت کنید. وقتی گام با اندازه کاشی برابر باشد، هیچ همپوشانی وجود نخواهد داشت. هنگامی که گام به اندازه نصف اندازه کاشی باشد، 50٪ همپوشانی وجود دارد.

اندازه گام کوچکتر می تواند منجر به همپوشانی بیشتر شود، اما تعداد کاشی ها را افزایش می دهد و بنابراین به منابع محاسباتی بیشتری نیاز دارد. یک روش معمول استفاده از گامی است که نصف اندازه کاشی است. این منجر به همپوشانی 50 درصدی بین کاشی‌ها می‌شود که اغلب تعادل خوبی بین ثبت اطلاعات مکانی و اجتناب از نصب بیش از حد است.

3. از اندازه تراشه متفاوت از اندازه کاشی< استفاده کنید a i=5> در صورت لزوم 

اندازه تراشه را برای نادیده گرفتن اندازه کاشی تنظیم کنید. ممکن است مواردی وجود داشته باشد که تراشه‌های تصویر بزرگ در اختیار شما قرار می‌گیرند، و ممکن است بخواهید اندازه آن را برای آموزش استفاده صحیح از حافظه GPU کاهش دهید. یکی از روش های انجام این کار استفاده از پارامتر Chip Size در ابزار Train Deep Learning است. تراشه های تصویر به اندازه تراشه مشخص شده برش داده می شوند و اندازه کاشی استفاده نمی شود. اگر اندازه کاشی کمتر از اندازه تراشه باشد، از اندازه کاشی استفاده می شود. به طور کلی، اندازه کاشی و اندازه تراشه شما باید یکسان باشد.

برای این مثال، جایی که اشیاء مورد علاقه در اندازه متفاوت هستند، اندازه کاشی 512، گام 256، و اندازه تراشه نیز که روی 512 تنظیم شده است، می تواند نقطه شروع خوبی باشد.
برای این مثال، جایی که اشیاء مورد علاقه در اندازه متفاوت هستند، اندازه کاشی 512، گام 256، و اندازه تراشه نیز که روی 512 تنظیم شده است، می تواند نقطه شروع خوبی باشد.

4. از افزایش داده ها استفاده کنید

از افزایش داده ها برای مبارزه با بیش از حد برازش استفاده کنید، به ویژه هنگامی که بر روی داده های محدود یا همگن تمرین می کنید. افزایش داده ها تکنیکی برای کاهش بیش از حد برازش هنگام آموزش یک مدل است. این شامل افزایش مصنوعی اندازه یک مجموعه داده با تغییر تصادفی ویژگی‌هایی مانند چرخش، روشنایی، برش و بیشتر تراشه‌های تصویر است. ابزار Train Deep Learning Model توانایی انجام تقویت داده های تعریف شده توسط کاربر را برای داده های آموزشی و اعتبارسنجی ارائه می دهد. می‌توانید از میان گزینه‌هایی مانند تنظیمات پیش‌فرض، عدم افزایش، سفارشی‌سازی روش‌های موجود، یا استفاده از یک فایل JSON حاوی روش‌های مختلف افزایش داده‌ها که توسط تبدیل‌های بینایی پشتیبانی می‌شوند، انتخاب کنید.

در این تصویر، ما سه تکنیک افزایش داده را نشان می‌دهیم: چرخش تصادفی، برش مرکزی و تاری گاوسی.
در این تصویر، ما سه تکنیک افزایش داده را نشان می‌دهیم: چرخش تصادفی، برش مرکزی و تاری گاوسی.

4. آدرس عدم تعادل کلاس

توزیع کلاس خود را برای عملکرد بهینه متعادل کنید. عدم تعادل کلاس در تشخیص شی یک مشکل رایج است که در آن مجموعه داده آموزشی نمونه های بیشتری از یک کلاس نسبت به سایرین دارد. این می تواند باعث شود که مدل کلاس های پرتعداد را ترجیح دهد و در کلاس های کم تعداد ضعیف عمل کند. توصیه می شود با داشتن تقریباً همان تعداد نمونه برای هر کلاس شروع کنید. با این حال، برای رفع عدم تعادل، می‌توانید نمونه‌های بیشتری را به کلاس‌های کمتر ارائه‌شده اضافه کنید، نمونه‌ها را به‌طور تصادفی از کلاس اقلیت کپی کنید، نمونه‌ها را به‌طور تصادفی از کلاس اکثریت حذف کنید.

این مثال تعداد تراشه های تصویر را برای سه کلاس نشان می دهد: Checker (4700)، شورون (600) و Cross (5000). کلاس شورون کمتر معرفی شده است.
این مثال تعداد تراشه های تصویر را برای سه کلاس نشان می دهد: Checker (4700)، شورون (600) و Cross (5000). کلاس شورون کمتر معرفی شده است.

5. مجموعه داده های آزمون اعتبارسنجی قطار را تقسیم کنید

مجموعه داده های خود را به مجموعه های آموزشی، اعتبار سنجی و آزمایش تقسیم کنید تا برای آموزش و ارزیابی مدل آماده شوید. مجموعه داده آموزشی برای آموزش مدل استفاده می شود. مجموعه اعتبارسنجی برای ارزیابی این است که آیا مدل بیش از حد با داده های آموزشی سازگار است یا خیر. مجموعه آزمون مجموعه داده ای است که مدل در طول آموزش و اعتبارسنجی آن را ندیده است و برای ارزیابی توانایی تعمیم مدل استفاده می شود. تعادل مناسب برای آموزش، اعتبارسنجی و مجموعه‌های تست برای مدل‌های یادگیری عمیق به وظیفه و مجموعه داده‌های خاص بستگی دارد. با این حال، یک روش معمول این است که حدود 60-80٪ از داده ها را برای آموزش، 10-20٪ برای اعتبار سنجی و 10-20٪ برای آزمایش اختصاص دهید. برای مجموعه داده های بسیار بزرگ، تخصیص 20-40٪ برای اعتبارسنجی و آزمایش ممکن است غیرعملی باشد. در چنین مواردی، حتی یک اعتبارسنجی 2-3٪ و مجموعه های تست می تواند کافی باشد.

این تصویر نسبت‌های تقسیم داده‌های رایج را برای آموزش، اعتبارسنجی و مجموعه‌های آزمایشی مورد استفاده در ساخت مدل‌های یادگیری عمیق نشان می‌دهد.
این تصویر نسبت‌های تقسیم داده‌های رایج را برای آموزش، اعتبارسنجی و مجموعه‌های آزمایشی مورد استفاده در ساخت مدل‌های یادگیری عمیق نشان می‌دهد.

نتیجه

امیدواریم این نکات به شما امکان بسازد که مدل های یادگیری عمیق تشخیص اشیا با کلاس بالا بسازید. لطفاً توجه داشته باشید که این نکات دستورالعمل‌های کلی هستند و ممکن است بسته به مورد استفاده خاص شما، ویژگی‌های داده‌های شما و معماری مدل یادگیری عمیقی که با آن کار می‌کنید متفاوت باشد. شما باید با سناریوهای مختلف آزمایش کنید و عملکرد مدل های خود را برای تعیین مقادیر و روش ها ارزیابی کنید. 

بدون دیدگاه

دیدگاهتان را بنویسید