مرحبا يا هبر! أقدم إليكم ترجمة مقالة " تصنيف الغطاء الأرضي باستخدام التعليم الإلكتروني: الجزء 1 " للماتيك لوبيج.
الجزء 2
الجزء 3
مقدمة
منذ حوالي ستة أشهر ، تم تقديم الالتزام الأول لمستودع eo Learn في GitHub. اليوم ، تطور التعليم الإلكتروني إلى مكتبة رائعة مفتوحة المصدر ، جاهزة للاستخدام من قبل أي شخص مهتم ببيانات EO (مراقبة الأرض - وما إلى ذلك عبر). كان الجميع في فريق Sinergise ينتظرون لحظة الانتقال من مرحلة بناء الأدوات اللازمة إلى مرحلة استخدامها للتعلم الآلي. لقد حان الوقت لتقديم سلسلة من المقالات المتعلقة بتصنيف الغطاء الأرضي باستخدام التعليم eo-learn

eo-learn
هي مكتبة مفتوحة المصدر لـ Python تعمل كجسر يربط Earth Observation / Remote Sensing مع النظام البيئي لمكتبات تعلم آلة Python. لقد سبق أن كتبنا منشورًا منفصلاً على مدونتنا ، نوصي أن تتعرف عليه. تستخدم المكتبة numpy
المكتبات numpy
لتخزين ومعالجة البيانات من الأقمار الصناعية. في الوقت الحالي ، يتوفر في مستودع GitHub ، وتتوفر الوثائق على الرابط المناسب لـ ReadTheDocs .

Sentinel-2 صورة القمر الصناعي وقناع NDVI لمنطقة صغيرة في سلوفينيا في فصل الشتاء
لإثبات قدرات التعليم eo-learn
، قررنا استخدام ناقل النقل المتعدد الوقت لتصنيف غلاف إقليم جمهورية سلوفينيا (البلد الذي نعيش فيه) ، باستخدام البيانات لعام 2017. نظرًا لأن الإجراء الكامل قد يكون معقدًا جدًا بالنسبة لمقال واحد ، فقد قررنا تقسيمه إلى ثلاثة أجزاء. بفضل هذا ، ليست هناك حاجة لتخطي الخطوات والمتابعة الفورية للتعلم الآلي - أولاً علينا أن نفهم حقًا البيانات التي نعمل معها. سيرافق كل مقالة مثال Jupyter Notebook. أيضًا ، للمهتمين ، قمنا بالفعل بإعداد مثال كامل يغطي جميع المراحل.
- في المقالة الأولى ، سنوجهك خلال إجراء اختيار / تقسيم مجال الاهتمام (المشار إليه فيما يلي - AOI ، مجال الاهتمام) ، والحصول على المعلومات اللازمة ، مثل البيانات من أجهزة استشعار الأقمار الصناعية والأقنعة السحابية. نعرض أيضًا مثالًا على كيفية إنشاء قناع بيانات نقطية على التغطية الحقيقية لإقليم ما من بيانات المتجهات. كل هذه خطوات ضرورية للحصول على نتيجة موثوقة.
- في الجزء الثاني ، نتعمق في إعداد البيانات الخاصة بإجراءات التعلم الآلي. تتضمن هذه العملية أخذ عينات عشوائية للتدريب \ التحقق من صحة البكسل ، وإزالة الصور السحابية ، واستيفاء البيانات الزمنية لملء "الثقوب" ، إلخ.
- في الجزء الثالث ، سننظر في التدريب والمصادقة على المصنف ، وكذلك ، بالطبع ، رسومات جميلة!

Sentinel-2 صورة القمر الصناعي وقناع NDVI لمنطقة صغيرة في سلوفينيا في الصيف
مجال الاهتمام؟ اختيار!
تتيح لك مكتبة eo-learn
تقسيم AOI إلى أجزاء صغيرة يمكن معالجتها في ظروف موارد الحوسبة المحدودة. في هذا المثال ، تم أخذ الحدود السلوفينية من الأرض الطبيعية ، ومع ذلك ، يمكنك تحديد منطقة من أي حجم. أضفنا أيضًا مخزنًا مؤقتًا إلى الحدود ، وبعد ذلك كان بُعد AOI حوالي 250 × 170 كم. باستخدام سحر geopandas
والمكتبات geopandas
، أنشأنا أداة لكسر AOI. في هذه الحالة ، قمنا بتقسيم المنطقة إلى مربعات 25 × 17 من نفس الحجم ، ونتيجة لذلك تلقينا 300 جزء تقريبًا من 1000 × 1000 بكسل ، بدقة 10 أمتار. يتم اتخاذ قرار حول تقسيم إلى أجزاء اعتمادا على قوة الحوسبة المتاحة. نتيجة لهذه الخطوة ، نحصل على قائمة بالمربعات التي تغطي AOI.

تنقسم AOI (أراضي سلوفينيا) إلى مربعات صغيرة بحجم 1000 × 1000 بكسل تقريبًا بدقة 10 أمتار.
تلقي البيانات من الأقمار الصناعية الحارس
بعد تحديد المربعات ، يتيح لك التعليم الإلكتروني تنزيل البيانات تلقائيًا من أقمار Sentinel. في هذا المثال ، حصلنا على جميع الصور Sentinel-2 L1C التي تم التقاطها في عام 2017. تجدر الإشارة إلى أنه يمكن إضافة منتجات Sentinel-2 L2A ، بالإضافة إلى مصادر بيانات إضافية (Landsat-8 ، Sentinel-1) إلى خط الأنابيب بطريقة مماثلة. تجدر الإشارة أيضًا إلى أن استخدام منتجات L2A يمكن أن يحسن نتائج التصنيف ، لكننا قررنا استخدام L1C لتعدد استخدامات الحل. وقد تم ذلك باستخدام sentinelhub-py
، وهي مكتبة تعمل مثل المجمع على خدمات Sentinel-Hub. استخدام هذه الخدمات مجاني لمعاهد البحوث والشركات الناشئة ، ولكن في حالات أخرى ، من الضروري الاشتراك.

صور ملونة لشظية واحدة في أيام مختلفة. بعض الصور غائمة ، مما يعني أن هناك حاجة إلى كاشف سحابة.
بالإضافة إلى بيانات Sentinel ، يتيح لك eo-learn
s2cloudless
إمكانية الوصول بشفافية إلى بيانات احتمالية السحابة والسحابية بفضل مكتبة s2cloudless
. توفر هذه المكتبة أدوات للكشف تلقائيًا عن السحب بكسل بالبكسل . التفاصيل يمكن قراءتها هنا .

أقنعة سحابة للصور أعلاه. يشير اللون إلى احتمال سحابية بكسل معين (احتمال أزرق منخفض ، أصفر - مرتفع).
إضافة بيانات حقيقية
يتطلب التدريس مع المعلم بطاقة تحتوي على بيانات حقيقية أو حقيقة . يجب ألا يؤخذ المصطلح الأخير حرفيًا ، لأنه في الواقع ، البيانات تقريبًا فقط لما هو موجود على السطح. لسوء الحظ ، يعتمد سلوك المصنف بشدة على جودة هذه البطاقة ( ومع ذلك ، كما هو الحال بالنسبة لمعظم المهام الأخرى في التعلم الآلي ). غالبًا ما تكون الخرائط المصنّفة متاحة كبيانات متجهة بتنسيق ملف الشكل (على سبيل المثال ، توفرها الدولة أو المجتمع ). يحتوي eo-learn
على أدوات لتنقيط بيانات المتجهات في شكل قناع نقطي.

عملية تنقيط البيانات إلى أقنعة باستخدام مثال مربع واحد. تظهر المضلعات في ملف متجه على الصورة اليسرى ، وتظهر أقنعة البيانات النقطية لكل تسمية باللونين الأبيض والأسود وتشير إلى وجود سمة معينة وغيابها ، على التوالي. تُظهر الصورة الصحيحة قناع نقطي مدمج تشير فيه ألوان مختلفة إلى تسميات مختلفة.
وضع كل ذلك معا
كل هذه المهام تتصرف مثل اللبنات الأساسية التي يمكن دمجها في تسلسل مناسب من الإجراءات المنفذة لكل مربع. نظرًا للعدد الكبير المحتمل لهذه الأجزاء ، فإن أتمتة خطوط الأنابيب ضرورية للغاية
التعرف على البيانات الفعلية هي الخطوة الأولى في التعامل مع المهام من هذا النوع. باستخدام أقنعة السحابة المقترنة ببيانات من Sentinel-2 ، يمكنك تحديد عدد مشاهدات الجودة لجميع وحدات البكسل ، وكذلك متوسط احتمال السحب في منطقة معينة. بفضل هذا ، يمكنك فهم البيانات الموجودة بشكل أفضل ، واستخدامها عند تصحيح المزيد من المشكلات.

صورة ملونة (يسار) ، وقناع لعدد من قياسات الجودة لعام 2017 (وسط) ، واحتمال متوسط الغطاء السحابي لعام 2017 (يمين) لشظية عشوائية من AOI.
قد يكون شخص ما مهتمًا بـ NDVI المتوسط لمنطقة تعسفية ، متجاهلاً السحب. باستخدام أقنعة السحابة ، يمكنك حساب متوسط قيمة أي ميزة ، وتجاهل بكسل دون بيانات. وبالتالي ، بفضل الأقنعة ، يمكننا مسح الصور من الضوضاء لأي ميزة في بياناتنا تقريبًا.

متوسط NDVI لجميع وحدات البكسل في جزء AOI عشوائي طوال العام. يعرض الخط الأزرق نتيجة الحساب التي تم الحصول عليها في حالة تجاهل القيم الموجودة داخل السحب. يعرض الخط البرتقالي متوسط القيمة عند أخذ جميع وحدات البكسل في الاعتبار.
"لكن ماذا عن التحجيم؟"
بعد إعداد ناقل لدينا باستخدام مثال لشظية واحدة ، كل ما يجب القيام به هو البدء في إجراء مماثل لجميع الشظايا تلقائيًا (بالتوازي ، إذا سمحت الموارد) ، بينما تسترخي مع فنجان من القهوة وتفكر في حجم مفاجأة المدير نتائج عملك. بعد نهاية خط الأنابيب ، يمكنك تصدير البيانات التي تهتم بها إلى صورة واحدة بتنسيق GeoTIFF. يتلقى النص gdal_merge.py الصور ويجمعها ، مما ينتج عنه صورة تغطي البلد بالكامل.

عدد اللقطات الصحيحة لـ AOI في 2017. توجد مناطق بها عدد كبير من الصور في المنطقة التي يتقاطع فيها مسار القمر الصناعي Sentinel-2A و Sentinel-2B. في منتصف هذا لا يحدث.
من الصورة أعلاه ، يمكننا أن نستنتج أن بيانات الإدخال غير متجانسة - بالنسبة لبعض الأجزاء ، يكون عدد الصور أعلى مرتين من عدد الأجزاء الأخرى. هذا يعني أننا بحاجة إلى اتخاذ تدابير لتطبيع البيانات - مثل الاستيفاء على طول محور الوقت.
يستغرق تنفيذ خط الأنابيب المحدد حوالي 140 ثانية لشظية واحدة ، والتي تعطي إجمالي 12 ساعة تقريبًا عند بدء العملية خلال AOI. معظم هذا الوقت يقوم بتنزيل بيانات القمر الصناعي. يستغرق متوسط الجزء غير المضغوط مع التكوين الموضح حوالي 3 غيغابايت ، وهو ما يعطي مساحة تقريبية تبلغ 1 تيرابايت لكامل AOI.
مثال في دفتر ملاحظات Jupyter
للحصول على مقدمة أبسط لرمز eo-learn
، قمنا بإعداد مثال يغطي الموضوعات التي تمت مناقشتها في هذا المنشور. تم تصميم المثال كمفكرة Jupyter ، ويمكنك العثور عليه في دليل الأمثلة لحزمة eo-learn
.