في هذا الدرس سنقوم بعملية تصنيف باستخدام خوارزميات مختلفة باستخدام بيانات مختلفة باستخدام اداة تصنيف جديدة باستخدام برنامج الـ QGIS باستخدام الإضافة Semi-Automatic Classification تحت الرابط التالي
وهو ملحق ل Qgis يسمح بالتصنيف شبه التلقائي لصور الاستشعار عن بعد. كما أنه يوفر العديد من الأدوات لتحميل الصور المجانية (لاندسات، سنتينل-2، سنتينل-3، أستير، موديس)، والمعالجة المسبقة للصور(انشاء موزاييك وعرض الصور انشاء تراكيب من القنوات ، المعالجة اللاحقة للتصنيفات،
وسأقوم في هذا الدرس بعمل مشروع مراقبة لمدينة القاهرة ودراسة توسع المدينة من عام 1984 حتى عام 2017 باستخدام أرشيف القمر لاند سات
- لاند سات 5 لعام 1984.02.15
- لاندسات 7 لعام 2001.08.26
- لاندسات 8 لعام 2017.02.03
وساقوم بتصنيف الصور باستخدام خوارزميات تصنيف مختلفة
- Minimum Distance
- Maximum Likelihood
- Spectral Angle Mapping
والغاية من هذه الدراسة
- استخدام الاضافة Semi-Automatic Classification وإظهار فعاليتها في تصنيف الصور ومعالجتها
- التعرف علي بيانات القمر لاند سات 7 ولاندسات 5 التي لها بناء مختلف عن بيانات القمر لاندسات 8
- معرفة اتجاه تمدد المناطق العمرانية لمدينة القاهرة خلال 30 سنة
- مقارنة خوارزميات التصنيف المختلفة واختيار النتائج الاكثر دقة
لا تنسى متابعتنا على صفحة الفيسبوك
خطوات العمل
تحميل الاضافة Semi-Automatic Classification
فتظهر النافذة التالية
بعدها نقوم بتحميل الصور من أرشيف لاندسات وبناء الصورة ويتم ذلك مباشرة من خلال برنامج Qgis كما في الدرس السابق فيضان نهر النيل حيث كانت البيانات المستخدمة آنذاك هي بيانات القمر سينتينيل 2 وطريقة التحميل هي تقريبا نفسها مع اختيار بيانات التحميل للقمر لاندسات الرابط
نقوم بتحميل الصورة وانشاء طبقة لل training input حيث ستكون الطبقة التي ندخل بها
المضلعات التي تمثل العناصر التي سيتم تصنيف الصورة وفقا لها
سنقوم بتصنيف الصورة الي :
- مناطق سكنية
- مياه
- غطاء اخضر
- اراضي رملية (1)
- اراضي رملية (2)
اختيار الـ Training area من الخطوات الهامة لعمل تصنيف جيد لذلك يجب اختيار المضلعات بشكل دقيق حيث يكون كل مضلع مكون من 50 بيكسل على الأقل وموزعة في كافة انحاء الصورة والمضلعات المختارة لا تحتوي مزيج بين عناصر مختلفة
وسنستخدم لذالك الاداتين
- Create ROI Polygon
- Activate ROI Pointer
تعتبر الاداة Activate ROI Pointer من اهم الايضاقة لل Qgis حيث تسمح باختيار المضلعات بدقة كبيرة دون مزج حيث تعتمد علي المسافة الطيفية بين البيكسلات لكل حزمة مفردة وهذا ماتوضحة الصورة التالية
![]() |
![]() |
![]() |
في الصور السابقة المسافة الطيفية هي 0.1 وعند الضغط علي البيكسل الذي له قيمة تساوي 0.4 يقوم باختيار جميع البيكسلات التي لها قيمة 0.4±0.1
نستخدم الاداة Activate ROI Pointer لعمل مضلع للماء كما تظهر الصورة اللاحقة
ونلاحظ انه لدينا اربعة حقول في training input يجب ان نقوم بملئها
MC_ID الحقل الرئيسي وياخد القيمة واحد للمضلعات التي تمثل الماء واثنين للمضلعات التي تأخذ المناطق السكنية
وثلاثة للمناطق الخضراء وهكذا نقوم بتغييره بعد اختيار عشرة مضلعات تمثل العنصر الذي يتم تصنيفه
MC_Info تكتب الوصف للحقل الرئيسي مثلا ماء او منطقة سكنية ومساحات خضراء او اراضي مكشوفة الخ
C_ID الحقل الثانوي وهذا الحقل يتزايد بشكل اوتوماتيكي عند انشاء المضلع جديد
C_info نكتب توصيف المضلع المختار مثلا اذا كنا نختار مضلعات لعنصر الماء نكتب هل المضلع يمثل مياه بحيرة او مياه نهر أو مياه البحر او مياه ضحلة حيث نستطيع التصنيف وفقا للحقل الثانوي او الحقل الرئيسي والتوصيف
يسهل على تتبع الأخطاء واستبعاد المضلعات التي تحمل أخطاء .
ثم نقوم باختيار المضلع الثاني للماء كما تظهر الصورة التالية مع الانتباه إلى ضبط المسافة الطيفية Dist التي تتحكم
بدقة الاختيار حيث تكون القيمة صغير لعنصر متجانس مثل الماء وكبيرة نوعا ما للمساحات الخضراء المكونة من نباتات مختلفة تظهر انعكاسية مختلفة أو للمناطق السكنية
نقوم بإنشاء المضلع التالي بنفس الطريقة حتي نصل الي عشرة مضلعات ويجب أن تكون هذه المضلعات موزعة علي كافة انحاء الصورة بحيث يكون كل مضلع أكبر من 50 بيكسل ولا يحتوي على مزيج ( أي مضلع الماء يحتوي على عنصر الماء فقط واستخدام ROI pointer Activate
يضمن الحصول علي مضلع دون مزيج من عناصر اخرى )
كما تظهر الصورة التالية
نستطيع التعرف على الخصائص الانعكاسية لكل مضلع فنحصل علي قيمة الانعكاس لقيمة البيكسل لكل قناة ويكن عرضها علي شكل خط بياني وعرض قيمة الخطأ ايضا
من خلال تأشير المضلع المختار والضغط علي
Add highlight signatures to spectral signature plot
فنستطيع رسم الخطوط البيانية لقيم الانعكاسية لكل مضلع حسب الطول الموجي لقنوات الصورة ويتم اظهار الخطأ(الانحراف المعياري) والتداخل بين القيم الانعكاسية للمضلعات الاخرى.
توضح الصورة التالية القيم الانعكاسية لاربع عناصر مختلفة (مناطق سكن ,مساحات خضراء ,ماء, اراضي مكشوفة ) ونلاحظ ان الخطاء المتوسط التربيع للمناطق العمرانية كبير ( المجال باللون البنفسجي ) ويتداخل مع المناطق الرملية
ملاحظة
نستطيع تقيم المضلعات المختارة لأي عنصر ( للماء مثلا ) حيث تكون الخطوط البيانية والمضلعات التي تمثل عنصر واحد متشابهة جدا و متطابقة
ملاحظة
البرنامج لايستجيب أحيانا لذلك يجب حفظ العمل لأنه في حال البرنامج لايستجيب تستطيع اغلاق البرنامج واعادة فتحه والاستمرار .
وكذلك نستطيع اخراج قيم الانعكاسية كجداول
بعد ان نقوم بعمل عشر مضلعات تمثل الماء نقوم بعمل training Area للعنصر التالي المناطق السكنية
ونقوم بعدها بتغيير قيمة الحقل الرئيسي MC_ID الي 2 اما الحقل C_ID يتزايد بشكل اتوماتيكي ونقوم باختيار عشرة حقول للمناطق السكنية أيضا موزعة على كافة انحاء الصورة بنفس الطريقة السابقة ولكنني أفضل استخدام
Create ROI Polygon للمناطق السكنية حيث المناطق السكنية تكون مزيج من عناصر بناء مختلفة
ونقوم باختيار كذلك عشرة مضلعات للغطاء الأخضر حيث نقوم بزيادة MC_ID =3
ونلاحظ أن قيمة C_ID اصبحت 21 حيث كنا قد أنشأنا عشرة مضلعات للعنصر السابق (المناطق السكنية )
كما تظهر الصورة التالية
وكذلك عشرو مضلعات للاراضي القاحلة وهنا ساقوم بتصنيف الاراضي القاحلة الى قسمين
- اراضي قاحلة ( 1)
- اراضي قاحلة ( 2 ) التي تظهر بلون ابيض فاتح في العرض CIR
وسأقوم هنا بإظهار القيم الانعكاسية المنطقة القاحلة الأولى والمناطق القاحلة الثانية حتى نلاحظ الفرق بين القيم الانعكاسية بين هذين العنصرين .
فنحصل على النتائج التالية
وان تقسيم المنطقة إلى منطقتين للتصنيف يؤدي إلى زيادة الدقة حيث تزداد الدقة بزيادة عدد العناصر التي يتم تصنيف الصورة وفقا لها .
تصنيف الأراضي القاحلة (1)
كما سبق نقوم باختيار عشر مضلعات موزعة علي كافة انحاء الصورة باعطاء الحقل الرئيسي القيمة اربعة
MC_ID =4
الأراضي القاحلة (2)
ونعيد المعالجة السابقة للأراضي القاحلة 2
الخطوة الثانية التصنيف
اضغط على زر Macroclasses ونقوم بوضع الالوان والوصف للصورة وحاول تجنب اللغة العربية حيث البرنامج قد لا يستطيع قراءة اللغة العربية وقد استخدمتها فقط للتوضيح
للقيام بالتصنيف نضغط على classification algorithm فتظهر النافذة التالية
وهنا تستطيع اختيار طريقة التصنيف وإدخال عتبة التصنيف بالنسبة الي كانت أفضل النتائج مع
Spectral Angle Mapping واستخدام عتبة 60 حيث حيث عندما تتجاوز نسبة الخطأ هذه العتبة لا يتم تصنيف البيكسل حيث يوجد بالنتائج أيضا حقل للعناصر الغير مصنفة
نستطيع اختبار التصنيف بإخراج تصنيف جزئي لمنطقة صغيرة
بعدها نقوم بالتصنيف حيث يقوم البرنامج بإخراج الصورة مع الألوان ويقوم باخراج الصورة المصنفة ايضا على شكل shapfile وكذلك تقرير التصنيف حيث يخرج عدد البيكسلات لكل صنف ونسبتها
- في حال عمل ماسك لاستثناء بعض المناطق من التصنيف ونصادف هذا الحالة عند التصنيف في المناطق بالقرب من المسطحات المائية الكبيرة حيث يتم استثنائها للحصول علي نتائج افضل
- نحصل علي المنطقة المصنفة بالصيغة الشعاعية ايضا
- أحصل على تقرير التصنيف حيث يتضمن عدد البيكسلات ونسبتها لكل صنف
- للوضع مسار الحفظ والبدء بالتصنيف
بعدها نحصل على النتائج التالية بالإضافة إلى البيانات بالصيغة الشعاعية وتقرير التصنيف
![]() |
![]() |
بعدها نقوم بتصنيف الصور لمدينة القاهرة من عام 2000 باستخدام بيانات القمر الصناعي لاندسات 7 مع العلم ان بيانات القمر لاندسات سبعة لها بناء مختلف عن بيانات القمر لاندسات 8
بيانات لانسات 7
chrome-extension://ngpampappnmepgilojfohadhhmbhlaek/captured.html?back=1
بيانات لاندسات 8
ونعيد خطوات التصنيف السابقة للحصول على البيانات لاندسات 7 فنحصل على النتائج التالية
وبعدها نقوم بتصنيف الصورة من عام 1984 ونعيد التصنيف وحاول اثناء تصنيف الصور القديمة اختيار المضلعات بعناية وتوزيعها بشكل جيد و تحميل اغلب القنوات ( القنوات التي تفيد في عملية التصنيف )
بعد تصنيف الصور الثلاث نستطيع أن نبيت تغير الغطاء النباتي والمناطق العمرانية من 1984 حتى عام 2017
حيث يظهر اللون الزهري العمران في عام 1984 وتستطيع الحصول على نتائج أفضل بكثير من خلال اختيار المضلعات بدقة و وزيادة الدقة الراديومترية من خلال استخدام عدد أكبر من القنوات
اللون الأخضر يمثل العمران في عام 2000 وقد استخدمت بيانات لاند سات 7
اللون الأحمر الغامق يمثل مناطق العمران في عام 2017 باستخدام بيانات لاندسات 8
نستطيع اخراج التغيرات كخريطة وحساب مساحات التغير وتصنيف المدينة حسب المناطق الحديثة وتحديد اتجاه توسع المدينة خلال الفترة الزمنية السابقة حيث نلاحظ التوسع في المناطق الغربية كان على حساب المساحات الخضراء أما التوسع الأكبر كان باتجاه المناطق الشرقية الصحراوية
الكاتب: المهندس مارتن إيليا