كل المقالات

الرؤية الحاسوبية · المقاييس · التحقق

لماذا لا تكفي الدقة وحدها في اكتشاف التسرّبات النفطية؟

دراسة في تصميم المقاييس من مشروع تقسيم صور Sentinel-1 SAR: لماذا تجعل ندرة بكسلات النفط والظواهر الشبيهة وفجوة النطاق بين التدريب والتشغيل من accuracy مقياساً رئيسياً ضعيفاً.

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

النموذج المختار

SegFormer mit-b2

اختير من مقارنة ملتزم بها بين U-Net وDeepLabV3+ وSegFormer على test split الرسمي.

Oil IoU / recall

0.566 / 0.764

مقياسا التداخل والاسترجاع لفئة النفط على تقييم الاختبار الملتزم به المكوّن من 110 صور.

ندرة الفئة

≈1% بكسلات نفط

البيانات الرسمية تضم 1002 صورة تدريب و110 صور اختبار مع عدم توازن شديد بين النفط والخلفية.

01 — ابدأ بنوع الخطأ

البحر يستطيع أن يجعل نموذجاً ضعيفاً يبدو عالي الدقة.

في بيانات التسرّب النفطي التي استخدمتها، تشغل فئة النفط نحو 1% من البكسلات. معظم الصورة ليس نفطاً. يستطيع نموذج segmentation أن يصنف مساحات ضخمة من الخلفية بصورة صحيحة ثم يفقد جزءاً مهماً من التسرّب، ومع ذلك يحتفظ برقم accuracy يبدو ممتازاً.

يحقق SegFormer المختار pixel accuracy قدرها 0.967، لكنني لا أضعها في العنوان. الأرقام الأهم هي Oil IoU = 0.566 وOil recall = 0.764، مع mean IoU وmacro F1. هذه المقاييس تجبر التقييم على النظر إلى الفئة التي بُني النظام لاكتشافها.

المغزى ليس أن accuracy مقياس سيئ دائماً؛ بل أن المقياس يصبح مضللاً عندما يكون وزن الفئات في الحساب بعيداً عن تكلفة الأخطاء والندرة التشغيلية.

02 — حوّل الالتباس إلى فئة

النفط ليس مجرد مياه داكنة.

صور Synthetic Aperture Radar مفيدة لأنها تعمل ليلاً وعبر السحب، لكن البقع الداكنة فيها لا تعني النفط وحده. مناطق الرياح الضعيفة والأغشية البيولوجية وبعض تأثيرات المطر قد تخفض backscatter أيضاً. إذا دُمجت هذه الظواهر داخل background عامة فلن يتعلم النموذج التمييز الذي يحتاجه المستخدم فعلاً.

لذلك صيغت المسألة في المشروع كـ five-class segmentation: سطح البحر، تسرّب نفطي، look-alike، سفينة، ويابسة. بهذا يصبح ارتباك oil-versus-look-alike قابلاً للقياس بدلاً من الاختفاء داخل هدف ثنائي.

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

03 — استخدم حزمة مقاييس

IoU وrecall والمقاييس الماكرو تجيب عن أسئلة مختلفة.

Intersection over Union يقيس مقدار تداخل المنطقة المتوقعة مع النفط المعلّم ويعاقب الفقد والزيادة معاً. Recall يسأل كم من النفط الحقيقي استعاد النموذج. أما macro F1 وmean IoU فيمنعان فئة الخلفية الأكبر من ابتلاع التقييم بالكامل لأن كل فئة تحصل على وزن أكثر توازناً.

على test split المكوّن من 110 صور، سجل SegFormer mit-b2: Oil IoU = 0.566، Oil recall = 0.764، mean IoU = 0.696، macro F1 = 0.802. وسجل U-Net وDeepLabV3+ قيماً أدنى لفئة النفط داخل التقييم نفسه. لهذا أصف سبب الاختيار بمقاييس النفط، لا بعبارة 96.7% accurate.

لا يوجد رقم واحد يمثل كل قرار تشغيلي. نظام استجابة يخشى فقد النفط قد يختار threshold مختلفاً عن workflow مراجعة لا يحتمل إنذارات كاذبة كثيرة. عرض حزمة المقاييس يبقي هذه المقايضة مرئية.

04 — كن دقيقاً في وصف الاختبار

نتيجة test set تصف بيانات بعينها، لا كل المحيطات.

التقسيم الرسمي صغير: 1002 صورة للتدريب و110 للاختبار. يسجل المشروع هذا القيد صراحةً. المقارنة بين النماذج ذات معنى داخل هذا العقد التجريبي، لكنها لا تبرر ادعاء أداء عالمي في كل بيئة بحرية.

كما تستخدم البيانات قناة VV واحدة. لذلك لا تدخل معلومات dual-polarization في الإشارة التي تعلمها النموذج. أي نظام لاحق بحساسات أو preprocessing أو زوايا سقوط أو جغرافيا مختلفة يجب أن يُعامل كتغير نطاق حتى يقدم الدليل عكس ذلك.

اللغة هنا جزء من الأمان العلمي: عبارة best on this committed test split قابلة للفحص؛ أما detects oil spills accurately everywhere فليست كذلك.

05 — اختبر حدود الـpipeline

النموذج جزء واحد فقط من منتج جغرافي.

التدريب يجري على image chips معلّمة، بينما الاستخدام الحقيقي يبدأ من مشهد Sentinel-1 خام. لذلك يأخذ المشروع النموذج المختار عبر ONNX export ثم preprocessing للمشهد وtiled inference وoverlap stitching ثم GeoTIFF وpolygon vectorization ثم FastAPI وواجهة MapLibre.

كل انتقال نقطة جديدة يمكن عندها أن يتوقف مقياس offline عن وصف النظام الحقيقي. اختلاف preprocessing يغيّر توزيع المدخلات، والتقسيم إلى tiles قد ينتج seams، وخطأ georeferencing قد يضع mask صحيحة في المكان الخطأ، ومرحلة vectorization قد تغير الهندسة التي يراها المستخدم.

لهذا أتعامل مع التحقق في production ML كسلسلة: model metrics تثبت حلقة، وparity checks واختبارات المشهد الكامل تثبت بقية الحلقات.

06 — استخدم الأحداث الحقيقية بحذر

دراسة حالة قد تكشف فجوة النطاق من دون أن تدعي إغلاقها.

تطبق دراسة Wakashio الـpipeline على مشهد Sentinel-1B لم يُستخدم في التدريب فوق تسرّب أغسطس 2020 قرب موريشيوس. تظهر المخرجات النفط في المنطقة الساحلية والبحيرة المتوقعة، وهذا دليل مفيد على أن السلسلة الجغرافية تعمل end-to-end.

لكنها ليست بديلاً عن benchmark كبير مستقل ومعلّم على raw scenes. لذلك يصف المشروع المساحة المكتشفة كتقدير lower bound تقريبي بسبب الفجوة بين radiometry المشهد الخام وpreprocessing صور التدريب. هذا القيد هو الاستنتاج الصحيح من الدليل، لا نقطة تجميل يجب حذفها.

07 — صمّم المقياس حول القرار

اختيار headline metric قرار منتج أيضاً.

ما تضعه أعلى التقرير يحدد ما يحاول الفريق تحسينه. إذا كانت accuracy التي تهيمن عليها الخلفية هي العنوان، قد تبدو تحسينات تصنيف البحر أهم من تحسينات العثور على النفط. عندما تتقدم Oil IoU وrecall يصبح هدف التحسين أقرب إلى سبب وجود النظام.

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

خلاصة عملية

ما الذي أحتفظ به من هذا العمل؟

  • في rare-class segmentation قد تكون accuracy الكلية مرتفعة بينما تظل الفئة المستهدفة ضعيفة.
  • اعرض overlap وrecall للفئة المهمة إلى جانب مقاييس متعددة الفئات أكثر توازناً.
  • مثّل look-alikes التشغيلية صراحةً عندما تكون مصدراً حقيقياً للإنذارات الكاذبة.
  • ضع حجم البيانات ونوع قناة الحساس وحدود النطاق بجوار النتائج.
  • تحقق من سلسلة التشغيل بعد النموذج: preprocessing وexport parity وtiling وgeoreferencing وvectorization.

المصادر

ما الذي يمكن فحصه؟