تهیه لایه تنوع پوشش زمین با eo-learn - قسمت 3
eo-learn یک بسته منبع باز برای پر کردن فاصله بین مشاهده زمین (EO) و یادگیری ماشین (ML) است، اما در نوت بوک Jupyter ما فقط داده های نمونه را ارائه می دهیم و نتایج را برای درصد کمی از کل منطقه نشان می دهیم بهره (AOI) - مسئله بزرگی نیست، در بهترین حالت متوسط به نظر می رسد، و بالاتر از همه، از طرف ما کاملا مشخص است. قسمت سوم این مجموعه به شما وسیله ای برای انجام تمام محاسبات می دهد.
آزمایش با خط ML
همانطور که وعده داده شده است، این پست به شما نشان می دهد که چگونه می توانید با استفاده از اطلاعات الکترونیکی با استفاده از داده هایی که ارائه کردیم، کاوش در خطوط فرمان برنامه نویسی مختلف را شروع کنید. در زیر ما دو آزمایش آماده کردیم، جایی که ما اثرات ابرها و اثرات انتخاب های مختلف نمونه برداری پس از درون یابی زمانی بر نتیجه نهایی را مطالعه می کنیم. در آخر، ما همچنین کار با شبکه های عصبی Convolutional یا (CNN) را شروع کردیم و می خواستیم نتایج دو روش مختلف - درختان تصمیم مبتنی بر پیکسل و الگوریتم های یادگیری عمیق کانولوشن - را برای انجام طبقه بندی پوشش زمین مقایسه کنیم.
متأسفانه، هیچ پاسخ ساده ای "بله" یا "نه" وجود ندارد که بتواند برای همه موارد هنگام تصمیم گیری در مورد آزمایشات، به طور کلی تعمیم یابد. شما می توانید مسئله را مطالعه کرده و برخی فرض ها را ذکر کنید تا تصمیم بگیرید که این تلاش ارزشمند است، اما در نهایت، بهبود خط برنامه همیشه به اساسی ترین روش حل مسئله برمی گردد. ازمایش و خطا.
بازی با ابرها
ابرها در دنیای EO دردسر ساز هستند، به خصوص هنگام کار با الگوریتم های یادگیری ماشین، جایی که می خواهید ابرها را شناسایی کرده و آنها را از مجموعه داده خود حذف کنید تا یک درهم آمیختگی زمانی بر روی داده های از دست رفته انجام دهید. اما این واقعاً چقدر پیشرفت دارد؟ آیا روش کار واقعا ارزشش را دارد؟ Rußwurm و Körner در مقاله خود ذکر کردند که طبقه بندی پوشش چند منظوره سرزمین با رمزگذارهای تکراری متوالی حتی نشان می دهند که برای یادگیری عمیق، روش خسته کننده فیلتر کردن ابر ممکن است کاملاً غیر ضروری باشد، زیرا طبقه بندی کننده خود می آموزد که چگونه ابرها را پیش بینی کند.
فعال سازی ورودی (بالا) و مدولاسیون (پایین) بر روی توالی مشاهدات برای یک سلول خاص در شبکه عصبی. این سلول پوشاندن ابر و فیلتر کردن را آموخته است، زیرا دروازه های ورودی و مدولاسیون به وضوح فعال سازی های مختلف را در مشاهدات ابری و غیر ابری نشان می دهد.
به عنوان یک یادآوری برای این بخش خاص از آماده سازی داده ها (که به طور مفصل در پست قبلی توضیح داده شد)، بیایید روش فیلتر کردن ابر را اصلاح کنیم. پس از به دست آوردن داده های تصویر Sentinel-2، ابتدا فیلتر صحنه ابری را انجام می دهیم. در این مرحله، فقط فریم های زمانی با نسبت پیکسل های غیر ابری بزرگتر از 80٪ نگهداری می شوند (آستانه ها ممکن است برای مناطق مختلف مورد علاقه متفاوت باشند). ثانیا، درون یابی زمانی برای ارزیابی مقادیر پیکسل برای تاریخ های دلخواه در بازه داده شده انجام می شود. در این مرحله، ماسک های ابری در نظر گرفته می شوند، به طوری که مقادیر پیکسل های ابری بر درون یابی تأثیر نمی گذارد.
چهار تغییر احتمالی خط دستور خود را نشان می دهد:
- A1) با فیلتر کردن صحنه، ماسک ابر در نظر گرفته شده است ،
- A2) بدون فیلتر کردن صحنه، ابر ماسک به حساب می آید ،
- A3) با فیلتر کردن صحنه، ماسک ابر در نظر گرفته نشده است ،
- A4) بدون فیلتر کردن صحنه، ابر ماسک در نظر گرفته نمی شود.
یک نمایش تصویری از یک پشته زمانی از تصاویر Sentinel-2 در یک منطقه به طور تصادفی انتخاب شده است. پیکسل های شفاف در سمت چپ به معنای عدم وجود داده به دلیل پوشش ابری است. پشته در مرکز نشان دهنده مقادیر پیکسل پس از فیلتر کردن صحنه ابری و درون یابی زمانی با پوشاندن ابر است (حالت A4)، در حالی که پشته در سمت راست پرونده را بدون فیلتر صحنه ابری و بدون پوشاندن ابر در هنگام درون یابی نشان می دهد (مورد A1).
ما در حال حاضر تغییر خط لوله A1 را اجرا کردیم و نتایج را نشان دادیم تا بتوانیم آن را با سایر تغییرات خط لوله مقایسه کنیم. آماده سازی خطوط لوله مختلف و آموزش مدل در این مرحله بسیار ساده است. فقط باید اطمینان حاصل کنید که سیب را با پرتقال مقایسه نمی کنید، به این معنی که در هر چهار تغییر خط لوله، در حالی که از همان قطار استفاده می کنید، باید بر روی همان مجموعه پیکسل از همان مجموعه EOPatches آموزش و اعتبارسنجی کنید. آزمون به حساب می آید!
نتایج در جدول زیر نمایش داده شدهاند. می بینید که به نظر نمی رسد ابرها روی عملکرد کلی خیلی تأثیر بگذارند! این ممکن است به این دلیل باشد که کیفیت نقشه مرجع بسیار بالا است و مدل قادر است فقط بر اساس چند مشاهده برچسب پوشش زمین را به درستی تعیین کند. با این حال، این ممکن است فقط در مورد این AOI خاص وجود داشته باشد و نتایج احتمالاً برای همه موارد کلی نیستند، بنابراین فقط بر اساس این نتایج مرحله تشخیص ابر را از گردش کار خود دور نکنید!
نتایج صحت کلی و نمرات وزنی F1 برای گردش های مختلف با توجه به اثرات ابر.
اثرات انتخاب متفاوت نمونه برداری زمانی
انتخاب نمونه گیری زمانی بعد از درون یابی آشکار نیست. از یک طرف، ما یک شبکه نسبتاً خوب از تاریخ های نمونه گیری شده را می خواهیم تا داده های ارزشمند خود را از دست ندهیم، اما در برخی از زمان ها، تمام اطلاعات موجود در نظر گرفته می شوند، بنابراین قرار دادن تاریخ های نمونه برداری بیشتر نتیجه را بهتر نمی کند. از طرف دیگر، ما محدود به منابع محاسباتی هستیم. کاهش گام فاصله با ضریب 2، میزان فریم های زمانی بعد از درون یابی را دو برابر می کند و بنابراین تعداد ویژگی هایی را که در یادگیری طبقه بندی استفاده می شود، افزایش می دهد. آیا بهبود نتیجه در این مورد آنقدر بزرگ است که بتوان استفاده بیشتر از منابع محاسباتی را توجیه کرد؟ نتایج زیر را بررسی کنید!
برای این آزمایش، ما همیشه از تغییر خط لوله A1 به عنوان نقطه شروع استفاده می کنیم. پس از درون یابی، با تغییرات زیر نمونه برداری می کنیم:
- B1) نمونه برداری مجدد یکنواخت با یک مرحله فاصله 16 روزه ،
- B2) نمونه برداری مجدد یکنواخت با یک مرحله فاصله 8 روزه ،
- B3) خرما "گیلاس" بهینه، همان مقدار خرما در B2 ،
که در آن انتخاب در B3 براساس معمول ترین تاریخها برای همه EOPatches در منطقه مورد علاقه انتخاب شده است.
این نمودار تعداد EOPatches را نشان می دهد که حاوی داده های تصویر برای هر روز از سال 2017 است (آبی). خطوط روی هم رفته (قرمز) تاریخ بهینه انتخاب مجدد را نشان می دهد که براساس خریدهای Sentinel-2 برای AOI داده شده در سال 2017 انجام شده است.
با نگاهی به جدول زیر، می توان دریافت که نتایج به طور مشابه ضدکلیکاتیک هستند در مورد آزمایش اثرات ابر. هر دو، در مورد B2 و B3، به دلیل افزایش تعداد ویژگی های آموزش، میزان منابع محاسباتی مورد نیاز تقریباً دو برابر می شود، در حالی که افزایش دقت کلی (OA) و نمره وزنی F1 تنها کمتر از یک درصد است. چنین پیشرفت هایی بسیار کوچک هستند که در یک برنامه مناسب قابل مشاهده نیستند، بنابراین به نظر می رسد انتخاب نمونه گیری نرخ 16 روزه مناسب سناریوی داده شده باشد.
نتایج دقت کلی و نمرات وزنی F1 برای گردش کار مختلف با توجه به گزینه های مختلف نمونه برداری.
یادگیری عمیق: استفاده از شبکه عصبی کانولوشن (CNN)
روشهای یادگیری عمیق در بسیاری از وظایف در زمینه هایی مانند بینایی رایانه، زبان و پردازش سیگنال به پیشرفته ترین حالت تبدیل شده اند. این به دلیل توانایی آنها در استخراج الگوها از داده های پیچیده ورودی با ابعاد بالا است. روش های کلاسیک ML (مانند درختان تصمیم) در بسیاری از برنامه های EO برای تجزیه و تحلیل سری های زمانی تصاویر ماهواره ای استفاده شده است. از سوی دیگر، CNNs برای تجزیه و تحلیل همبستگی مکانی بین مشاهدات همسایه استفاده شده است، اما به طور عمده در برنامه های صحنه منفرد زمانی است. ما می خواهیم یک معماری یادگیری عمیق، که توانایی تجزیه و تحلیل مکانی و همچنین جنبه زمانی تصاویر ماهواره ای را دارد، به طور همزمان بررسی کنیم.
به منظور انجام این کار، ما از یک شبکه کاملاً متحد زمانی (TFCN)، A.K.A. توسعه زمانی U-Net، اجرا شده در TensorFlow استفاده کردیم. با جزئیات بیشتر، معماری برای به حداکثر رساندن نمره طبقه بندی، از مزایای همبستگی مکانی و زمانی بهره می برد، به دلیل مزیت اضافی نمایش روابط فضایی در مقیاس های مختلف به دلیل رمزگذاری رمزگشایی ساختار U-Net. به همین ترتیب، همانطور که در مورد مدلهای ML کلاسیک وجود دارد، خروجی شبکه منجر به ایجاد یک نقشه برچسب دو بعدی می شود که با برچسب های حقیقت زمین مقایسه می شود.
معماری مدل یادگیری عمیق TFCN.
از مدل آموزش دیده برای پیش بینی برچسب های نمونه آزمایشی استفاده شد و نتایج بدست آمده بر خلاف حقیقت اثبات شد. دقت کلی 84.4٪ و نمره F1 وزنی 85.4٪ بدست آمد.
مقایسه پیش بینی های مختلف طبقه بندی پوشش زمین. تصویر رنگی واقعی (بالا سمت چپ)، نقشه مرجع پوشش زمین واقعی (بالا سمت راست)، پیش بینی با مدل LightGBM (پایین سمت چپ) و پیش بینی با مدل U-Net (پایین سمت راست).
این نتایج نشان دهنده کار مقدماتی در مورد یک نمونه اولیه معماری است که برای کار در حال انجام بهینه نشده است. با وجود این، نتایج مطابق با برخی از کارهای گزارش شده در این زمینه است. بهینه سازی معماری (به عنوان مثال برای ارزیابی کامل پتانسیل TFCN ها، تعداد ویژگی ها، عمق شبکه، تعداد چرخش ها) و عمده پارامترها (به عنوان مثال میزان یادگیری، تعداد دوره ها، وزن کلاس). ما مشتاقانه منتظریم که به کاوش عمیق ادامه دهیم و حتی قصد داریم کد خود را در قالب قابل ارائه به اشتراک بگذاریم.
آزمایش های دیگر
آزمایش های بیشتری وجود دارد که هنوز هم می تواند انجام شود، اما ما نمی توانیم به همه آنها فکر کنیم و همچنین نمی توانیم آنها را انجام دهیم. اینجاست که وارد می شوید! به ما نشان دهید که با این مجموعه داده می توانید چه کاری انجام دهید و به ما در بهبود نتایج کمک کنید!
به عنوان مثال، یکی از همکاران خارجی ما در حال شروع کارورزی زمینی در زمینه AWS با ما است، جایی که آنها در یک پروژه با طبقه بندی پوشش زمین بر اساس یک پشته زمانی از پیش بینی های تصویر منفرد با CNN کار خواهند کرد. ایده این است که، برای برخی از طبقات پوشش زمین، مانند سطح مصنوعی، آب یا انواع خاصی از جنگل، زمینه فضایی ممکن است برای شناسایی آنها بدون نیاز به در نظر گرفتن اطلاعات زمانی کافی باشد. ما هیجان زده هستیم که ببینیم این ایده ما را به کجا می برد و یک پست اختصاصی نیز برنامه ریزی شده است!
شناسه تلگرام مدیر سایت: SubBasin@
نشانی ایمیل: behzadsarhadi@gmail.com
(سوالات تخصصی را در گروه تلگرام ارسال کنید)
_______________________________________________________
پروژه تخصصی در لینکدین
نظرات (۰)