AI

تحسين YOLO لفحص الطائرات بدون طيار

تحسين YOLO لفحص الطائرات بدون طيار

لم يعد نشر الطائرات بدون طيار لفحص البنية التحتية مفهوماً مستقبلياً، بل أصبح معياراً تشغيلياً حالياً. ومع ذلك، لا يزال هناك فجوة كبيرة بين النماذج المدربة في المختبر والأداء في العالم الحقيقي. عند إطلاق طائرة بدون طيار على ارتفاع 300 قدم، تحتل الأشياء المستهدفة لديك—الشقوق في الجسر، والصدأ على البرج، أو البراغي المفكوكة في توربين الرياح—بضع بكسلات فقط في الإطار. تكسر مشكلة "الارتفاع العالي، الدقة المنخفضة" (HALR) نماذج كشف الكائنات القياسية، مما يؤدي إلى معدلات عالية من النتائج السلبية الكاذبة وفقد العيوب.

في هذا المنشور، سنستكشف كيفية تكييف هياكل YOLO (You Only Look Once) للتعامل مع هذه المدخلات الصعبة. سننتقل beyond النصوص البرمجية للتدريب الأساسية لمناقشة التعديلات المعمارية، وزيادة البيانات المتخصصة، واستراتيجيات ما بعد المعالجة الضرورية للنشر القوي في الميدان.

تحدي كشف الكائنات الصغيرة

تم تصميم نماذج YOLO القياسية مع صناديق المرساة أو خلايا الشبكة المحسنة للكائنات التي تشغل جزءاً معقولاً من الصورة. في صور الطائرات بدون طيار، قد يمتد العيب على بكسلات 2x2 فقط. عندما يمر هذا عبر طبقات متعددة من الالتفاف، غالباً ما تضيع المعلومات المكانية أثناء عمليات التجميع (pooling). ينسى النموذج فعلياً وجود الكائن.

لمواجهة ذلك، يجب علينا الحفاظ على التفاصيل عالية التردد لفترة أطول داخل الشبكة. يتضمن ذلك تعديل العمود الفقري (backbone) والرقبة (neck) من هيكلنا لضمان احتفاظ خرائط الميزات بالدقة المكانية الدقيقة.

الاستراتيجية 1: زيادة البيانات المتقدمة

يتطلب تدريب نموذج على رؤية الكائنات الصغيرة تعرضاً اصطناعياً لها. يمكننا محاكاة ظروف HALR عن طريق اقتصاص الصور عالية الدقة عشوائياً وتصغيرها إلى الأسفل. هذا يجبر النموذج على تعلم الميزات من البقع الصغيرة والضبابية.

إليك كيفية تنفيذ زيادة Mosaic مخصصة في 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):
    """
    يحاكي مشاهد الارتفاع العالي عن طريق تغيير حجم الاقتصاصات قبل دمج Mosaic.
    """
    # 1. تغيير حجم الصور الأصلية عالية الدقة لمحاكاة إدخال الطائرة بدون طيار منخفض الدقة
    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))
    
    # 2. تغيير الحجم مرة أخرى إلى الحجم الأصلي لدمج Mosaic
    # هذا يخلق مظهراً "مبكسلاً" يجب على النموذج تعلم حله
    h_img1 = F.resize(s_img1, (img1.size[0], img1.size[1]))
    
    # تابع منطق دمج Mosaic القياسي باستخدام الصور التي تم تغيير حجمها...
    return h_img1, h_img2, h_img3, h_img4

الاستراتيجية 2: آليات الانتباه

يساعد إضافة وحدات الانتباه الشبكة على التركيز على الموارد الحسابية في المناطق ذات المعلومات. يمكن أن يؤدي دمج وحدة انتباه CBAM (وحدة الانتباه الكتلة الالتفافية) أو كتلة SE (الضغط والاستثارة) البسيطة في العمود الفقري لـ YOLO إلى زيادة الاستدعاء بشكل كبير للكائنات الصغيرة. تسمح هذه الوحدات للشبكة بإعادة وزن الميزات ديناميكياً، مما يعزز الإشارات من العيوب المحتملة ويكبت ضوضاء الخلفية.

الاستراتيجية 3: ما بعد المعالجة مع ضبط عتبة IoU

غالباً ما يتجاهل كبت الذروة غير الأقصى القياسي (NMS) الاكتشافات الصالحة للكائنات الصغيرة لأن تداخل صندوق الحدود (IoU) مع الحقيقة الأرضية يكون منخفضاً بشكل طبيعي بسبب أخطاء التعليق التوضيحي أو المحاذاة الخفيفة. عند معالجة بيانات الطائرات بدون طيار، فكر في استخدام Soft-NMS بدلاً من NMS الصارم. يقلل Soft-NMS من درجة الصناديق المتداخلة بدلاً من تجاهلها تماماً، وهو أمر حاسم عند التعامل مع عدم اليقين الطفيف في تحديد موقع الكائنات الصغيرة.

الخاتمة

لا يتعلق تحسين YOLO للفحص القائم على الطائرات بدون طيار للبنية التحتية بإضافة المزيد من الطبقات فحسب؛ بل يتعلق باحترام فيزياء بيانات الإدخال. من خلال محاكاة ظروف الدقة المنخفضة أثناء التدريب، والحفاظ على التفاصيل المكانية من خلال آليات الانتباه، وضبط عتبات ما بعد المعالجة، يمكننا بناء نماذج قوية بما يكفي للنشر في العالم الحقيقي. مع استمرار تحسين عتاد الطائرات بدون طيار، يجب أن تتطور خوارزمياتنا أيضاً لمواكبة الطلب على الصيانة الآلية والآمنة والفعالة للبنية التحتية.

Share: