AI

بهینه‌سازی YOLO برای بازرسی با پهپاد

بهینه‌سازی YOLO برای بازرسی با پهپاد

استفاده از پهپادها برای بازرسی زیرساخت‌ها دیگر یک رویای علمی-تخیلی نیست، بلکه یک استاندارد عملیاتی فعلی است. با این حال، شکاف قابل توجهی بین مدل‌های آموزش‌دیده در آزمایشگاه و عملکرد در دنیای واقعی وجود دارد. وقتی پهپاد را در ارتفاع ۳۰۰ پایی پرتاب می‌کنید، اشیاء هدف شما—ترک‌های روی پل، زنگ‌زدگی روی برج، یا پیچ‌های شل شده در توربین بادی—تنها چند پیکسل از فریم را اشغال می‌کنند. این مشکل "ارتفاع بالا، وضوح پایین" (HALR) مدل‌های استاندارد تشخیص شیء را مختل کرده و منجر به نرخ بالای منفی‌های کاذب و از دست رفتن عیوب می‌شود.

در این پست، ما بررسی خواهیم کرد که چگونه می‌توان معماری‌های YOLO (You Only Look Once) را برای مدیریت این ورودی‌های چالش‌برانگیز تطبیق داد. ما از اسکریپت‌های آموزش پایه فراتر رفته و به بحث درباره تغییرات معماری، افزایش داده‌های تخصصی و استراتژی‌های پس‌پردازش که برای استقرار قوی در میدان ضروری هستند، می‌پردازیم.

چالش تشخیص اشیاء کوچک

مدل‌های استاندارد YOLO با جعبه‌های لنگر (anchor boxes) یا سلول‌های شبکه‌ای طراحی شده‌اند که برای اشیایی بهینه‌سازی شده‌اند که بخش معقولی از تصویر را پوشش می‌دهند. در تصاویر پهپادی، یک عیب ممکن است تنها ۲x۲ پیکسل را پوشش دهد. وقتی این مورد از لایه‌های متعدد کانولوشن عبور می‌کند، اطلاعات مکانی اغلب در عملیات ادغام (pooling) از بین می‌رود. مدل به طور مؤثر "فراموش می‌کند" که شیء وجود دارد.

برای مقابله با این موضوع، باید جزئیات با فرکانس بالا را برای مدت طولانی‌تری در شبکه حفظ کنیم. این شامل اصلاح بدنه (backbone) و گردن (neck) معماری ما است تا اطمینان حاصل شود که نقشه‌های ویژگی، وضوح مکانی ظریف را حفظ می‌کنند.

استراتژی ۱: افزایش داده‌های پیشرفته

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

در اینجا نحوه پیاده‌سازی یک افزایش داده موزاییکی سفارشی در PyTorch آورده شده است که به طور خاص بر حفظ اشیاء کوچک تمرکز دارد:


import torch
import torchvision.transforms.functional as F
import random

def small_object_mosaic(img1, img2, img3, img4, img1_label, img2_label, img3_label, img4_label):
    """
    با کوچک کردن برش‌ها قبل از ترکیب موزاییکی، دیدهای ارتفاع بالا را شبیه‌سازی می‌کند.
    """
    # ۱. تصاویر اصلی با وضوح بالا را برای شبیه‌سازی ورودی پهپاد با وضوح پایین کوچک کنید
    scale_factor = random.uniform(0.3, 0.6) # شبیه‌سازی ارتفاع قابل توجه
    
    # اعمال تغییر اندازه تصادفی روی ورودی‌ها
    s_img1 = F.resize(img1, int(img1.size[0] * scale_factor))
    s_img2 = F.resize(img2, int(img2.size[1] * scale_factor))
    
    # ۲. دوباره به اندازه اصلی برای ترکیب موزاییکی بزرگ کنید
    # این یک ظاهر "پیکسلی" ایجاد می‌کند که مدل باید یاد بگیرد آن را حل کند
    h_img1 = F.resize(s_img1, (img1.size[0], img1.size[1]))
    
    # ادامه با منطق استاندارد ترکیب موزاییکی با استفاده از تصاویر تغییر اندازه داده شده...
    return h_img1, h_img2, h_img3, h_img4

استراتژی ۲: مکانیسم‌های توجه

افزودن ماژول‌های توجه به شبکه کمک می‌کند تا منابع محاسباتی را بر روی مناطق اطلاعات‌بخش متمرکز کند. ادغام یک ماژول توجه CBAM (Convolutional Block Attention Module) یا یک بلوک ساده SE (Squeeze-and-Excitation) در بدنه YOLO می‌تواند به طور قابل توجهی فراخوانی (recall) برای اهداف کوچک را افزایش دهد. این ماژول‌ها به شبکه اجازه می‌دهند تا ویژگی‌ها را به صورت پویا وزن‌دهی مجدد کند، سیگنال‌های ناشی از عیوب بالقوه را تقویت کرده و نویز پس‌زمینه را سرکوب کند.

استراتژی ۳: پس‌پردازش با تنظیم آستانه IoU

سرکوب غیرحداکثری (NMS) استاندارد اغلب تشخیص‌های معتبر برای اشیاء کوچک را حذف می‌کند، زیرا همپوشانی جعبه محاطی (IoU) با حقیقت زمینی به طور طبیعی به دلیل خطاهای برچسب‌گذاری یا عدم همسازیهایی جز پایین است. هنگام پردازش داده‌های پهپادی، در نظر بگیرید که به جای NMS سخت، از Soft-NMS استفاده کنید. Soft-NMS به جای حذف کامل جعبه‌های همپوشان، امتیاز آن‌ها را کاهش می‌دهد که هنگام مواجهه با عدم قطعیت‌های جز در مکان‌یابی اشیاء کوچک، حیاتی است.

نتیجه‌گیری

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

Share: