استخدام تعلم الآلة لتصنيف الصور الفضائية

M

Mohammed Kamal Seyam

Guest
يعد التغير في استخدامات الأراضي وهي (التغير في المناطق المبنية – المناطق الزراعية – المناطق الصحراوية الفارغة) مظهرا من مظاهر نمو الحضارة الانسانية وامتدادها عبر المراحل الزمنية الى افاق لم تكن موجودة من قبل اذ لا تشمل فقط مستويات هذا التغير البنية العمرانية والكتل الحضرية بل تشمل أيضا الهيكل الاقتصادي والتركيب السكاني والبناء الاجتماعي ولذا فهو محصلة تفاعل العديد من الثوابت والمتغيرات الجغرافية والتاريخية.





لا شك ان استخدام تعلم الالة والذكاء الاصطناعي في تصنيف الأراضي إضافة كبيرة جداً ومهمة لأنها تعطي نتائج ومخرجات دقيقة وعميقة خاصة ان تم استخدام فيها عدد من الخوارزميات المتقدمة مثل Decision tree وk-means.


لطالما كان التعلم الآلي أداة متكاملة في التحليل المكاني لنظم المعلومات الجغرافية، وتحديداً من حيث صلته بحل المشكلات في ثلاثة مجالات رئيسية وهي

  • التصنيف (Classification)
  • التجمع المكاني او التشتت والانتشار المكاني (Clustering)
  • خوارزميات التنبؤ (Prediction algorithms)

المرحلة الأولى: مرحلة جمع البيانات (طريقة تنزيل الصورة):


تم تنزيل المرئيات الفضائية لمنطقة بولسينا من خلال القمر الصناعي Sentinel 2 وهو احدى الأقمار الصناعية التابع لبرنامج Copernicus التابع لوكالة الفضاء الأوروبية.



Copernicus هو برنامج مراقبة الأرض التابع للاتحاد الأوروبي ، وهو ينظر إلى كوكبنا وبيئته لإفادة جميع المواطنين الأوروبيين. يقدم خدمات المعلومات التي تستمد من رصد الأرض عبر الأقمار الصناعية والبيانات في الموقع (غير الفضائية) وللوصول لصفحة الرئيسية ل Copernicus من هنا



طريقة تنزيل صورة من القمر الصناعي Sentinel 2



الخطوة الأولى: إنشاء حساب مستخدم من هنا للوصول الى مركز الوصول المفتوح كوبرنيكوس





تم فتح الخريطة من هنا










الخطوة الثانية: تحديد منطقة الدراسة ولتكن مثلاً(بولسينا - إيطاليا)



يتم كتابة اسم المنطقة ثم تحديد خصائص الصور المرادة وخصائص القمر الصناعي وحالة الطقس وغيرها







وبعدها يتم تنزيل البيانات تم اضافتها لبرنامج QGIS




المرحلة الثانية: مرحلة معالجة البيانات:



في هذه المرحلة يتم معالجة البيانات ليتم بعد ذلك استخلاص البيانات منها:


اولاً: يتم دمج نطاقات المرئية التي تم تنزيلها من قمر Sentinel 2 بحيث يتم دمجها تحت نطاقاً واحد وتتكون المرئية الفضائية التي يرصدها قمر Sentinel 2 من 12 نطاق ، لاحظ الجدول لمعرفة خصائص كل نطاق
.





Sentnel-2 bands

Central wavelength ()

Resolution(m)

Band1 -Coastal aerosol

0.443​

60​

Band2 -Blue

0.490​

10​

Band3 -Green

0.560​

10​

Band4 -Red

0.665​

10​

Band5 -Vegetation red edge

0.705​

20​

Band6 -Vegetation red edge

0.740​

20​

Band7 -Vegetation red edge

0.783​

20​

Band8 -NIR

0.842​

10​

Band8A -Vegetation red edge

0.865​

20​

Band9 -Water vapour

0.945​

60​

Band10 -SWIR-Cirrius

1.375​

60​

Band11 - SWIR

1.610​

20​

Band12 - SWIR

2.190​

20​




يتم دمج النطاقات (​
stack layer
) داخل برنامج QGIS من خلال تنزيل إضافة (​
One Click Raster Stacking
) هذه الإضافة تقوم بعمل دمج للنطاقات التي تم اضافتها على البرنامج وتمتاز هذه الإضافة بإظهار النتائج بشكل دقيق وسريع.​





ثانياً: اقتصاص منطقة الدراسة من المرئية الفضائية (CLIP)

ويتم اقتصاص المرئية من خلال برنامج QGIS من خلال أداة CLIP.​






المرحلة الثالثة: مرحلة تحضير بيانات نقطية training data وvalidation data:



قبل انشاء أي مودل لتصنيف الصور لا بدا من انشاء بيانات التدريب وبيانات التحقق بحيث انه بيانات التدريب تمثل 70% من البيانات وبيانات التحقق تمثل 30% من البيانات وتم انشاء طبقتين من نوع نقاط، لاحظ الجدول لعرض خصائص الطبقتين.




اسم الطبقة

النوع الهندسي

معالم الطبقة

عدد كل معلم

training

نقاط

water

12

agriculture

11

urban

11

المجموع

34

validation

نقاط

water

5

agricultur

5

urban

5

المجموع

15


المرحلة الرابعة: كيفية استخدام خوارزمية شجرة القرار لتصنيف الصورة (باستخدام OTB and QGIS):



في البداية لا بد من اضافةOTB داخل برنامج QGIS من خلال الخطوات التالي


  • أولا
    قم بتنزيل ملف OTB من هنا
  • بعدها قم بفتح برنامج QGIS واذهب الى Settings ثم اختر Options ثم اختر OTB ثم اختر
    Processing
  • بعد قم بكتابة المسار التالي من مكان حفظ مجلد OTB وليكن مثلاً Downloads واكتب المسار كم هو موضح بالصورة عند
    OTB application folder و OTB folder








  • نقوم بالذهاب الى​
    Toolbox
    ثم الذهاب الى​
    OTB
    ومن خلالها نقوم بالذهاب الى​
    Learning
  • من قائمة Learning نقوم في البداية بالانتقال الى أداة TrainImagesClassifier
  • من خلال هذه الأداة نقوم بإنشاء مودل ويساعدنا هذا المودل على تصنيف صور المرئيات الفضائية التي تم تنزلها مسبقاً.
  • نقوم من خلال الأداة بتحديد التالي


- الصورة المراد تصنيفها

- بيانات التدريب

- بيانات التحقق

- الحقل الذي سيتم الاعتماد عليه لإنشاء المودل

- تحديد الخوارزمية المستخدمة ويتم استخدام dt (decision trees)

- عمق الجدر الخاص بخوزمية df

- Random seed وتم وضعه 1 وذلك لاظهار نفس النتائج



  • مكان الحفظ المودل و confusion matrix ويكون بصيغة txt


المرحلة الخامسة: مصفوفة التشتت الناتجة من كل مودل.


confusion matrix: مصفوفة الارتباك هي جدول يُستخدم لتحديد أداء خوارزمية التصنيف وتصور وتلخص أداء خوارزمية التصنيف.

لتعامل مع مصفوفة التشتت وفهمها يجب ان نتعلم بعض من مصطلحات مقاييس التقييم الأساسية من مصفوفة التشتت، لاحظ الجدول




المصطلح

المفهوم

Accuracy

كم من خلية تم التنبؤ بها بشكل صحيح، أي مدى فاعلية النموذج

Precision

مدى فاعلية المودل في تصنيف معين دون باقي التصنيفات، مثلاً: من كل الخلايا التي تم تصنيفهم كمياه، كم خلية كانت فعلا في الواقع مياه

Sensitivity

المعدل الإيجابي الحقيقي مثلاً: من كل الخلايا التي هي في الواقع ذات تصنيف مياه، كم خلية تم التنبؤ بها بشكل صحيح

Specificity

الاهتمام منصب على كل التصنيفات الأخرى باستثناء تصنيف معين، مثلاً: الاهتمام منصب على كل التصنيفات الأخرى باستثناء المياه


وللحصول على المصفوفة جاهزة من هنا



تم عمل عدد من النماذج باستخدام TrainImagesClassifier بأعماق مختلفة من 1 حتى 10 وتم تقيم كل مودل من خلال confusion matrix.

أولا
: عند عمق 1:


لاحظ مصفوفة التشتت المخرجة من المودل في الجدول وتبين لنا ان دقة المودل عند هذا العمق 53%








لاحظ جدول التالي لمعرفة مقاييس التقييم الأساسية من مصفوفة التشتت لهذا المودل




التصنيف

مقاييس التقييم الأساسية

التقييم

Water

Precision

1

Sensitivity

0.6

Specificity

1

Agriculture

Precision

0.4166667

Sensitivity

1

Specificity

0.3

Urban

Precision

0

Sensitivity

0

Specificity

1




ثانياً: عند عمق 2-10:

مصفوفة التشتت المخرجة من المودل في جدول التالي وتبين لنا ان دقة المودل عند هذا الاعماق 80%









لاحظ الجدول التالي لمعرفة مقاييس التقييم الأساسية من مصفوفة التشتت لهذا المودل


التصنيف

مقاييس التقييم الأساسية

التقييم

Water

Precision

1

Sensitivity

0.6

Specificity

1

Agriculture

Precision

0.6666667

Sensitivity

0.8

Specificity

0.8

Urban

Precision

0.8333333

Sensitivity

1

Specificity

0.9





المرحلة السادسة: طريقة تحديد المودل الأفضل


- يتم تحديد أي مودل أفضل من خلال مقاييس التقييم الأساسية من مصفوفة التشتت وخاصة من خلال Accuracy

- يفحص Accuracy كم من خلية تم التنبؤ بها بشكل صحيح، أي مدى فاعلية النموذج

- كلما ارتفاع Accuracy واقترب من 1 صحيح أي 100% كان المودل افضل
.



اذاً أي من مودل كان الأفضل؟؟

بعد عمل مصفوفة التشتت لعدد من الأعماق تبين التالي

-
- عند عمل المودل عند عمق 1 كان
Accuracy
= 53%

-
- عند عمل المودل عند أعماق من 2 – 10 كان
Accuracy
= 80%

-
-
اذاً المودل عند أعماق من 2 – 10 هي الادق والأفضل لان Accuracy فيها أكبر من عمق 1 لاحظ الخريطة التالية






متابعة القراءة...
 
أعلى