Supervised Classification Multi-Sensor Data Integration Using Deep Learning

chaipat ncm
Ayutthaya-GIS
Published in
3 min readJan 28, 2019

การนำเอา การวิเคราะห์ข้อมูลเชิงลึกด้วย Deep Learning มาใช้ในงานกับข้อมูล remote sensing ถ้าพาดหัวให้เล้าใจ ก็คงจะประมาณว่า AI ( artificial intelligence) แปลภาพถ่ายดาวเทียม ไม่อยากพาดหัวแบบนี้เพราะเดียวจะพาเข้าใจไปว่ามันมาแย้งงาน กลายเป็นมองแง่ลบไป

ผมอยากแนะนำให้เห็นการใช้ Deep Learning มาช่วยงานการแปลและวิเคราะห์ภาพถ่ายดาวเทียม ซึ่งลดข้อจำกัดหลายๆด้านในอดีต เราเขียน code ให้ AI สกัดข้อมูล เพิ่มความเร็ว เพิ่มความแม่นยำ และวิเคราะห์ด้วย algorithm ที่ซับซ้อน ดังนั้น ถ้ามี satellite image data ชุดใหม่ช่วงเวลาๆต่างๆเข้ามา เราก็สามารถรันโมเดล เพื่อวิเคราะห์หาการเปลี่ยนแปลงได้ทันที

บทความนี้จะแปลภาพถ่ายดาวเทียมแบบ Supervised Classification ที่แตกต่างจากก่อนหน้า ด้วย machine learning หรือเทคนิคแบบเดิมคือ เราจะสร้าง complex model ที่วิเคราะห์ผลกับข้อมูลขนาดใหญ่ หลายแหล่ง จาก Multi-Sensor มาร่วมกัน เพื่อหาคำตอบ ในการ classification

การทำการวิเคราะห์ข้อมูลเพื่อทำ Supervised Classification นี้จะใช้วิธีการวิเคราะห์ข้อมูลการสะท้อน หรือเรียกว่า spectral analysis ไม่ใช่การจำแนกจากภาพวัตถุจากภาพ RGB เพราะกรณีนี้เราจะใช้ข้อมูลภาพถ่ายที่มี ความละเอียดจุดภาพปานกลาง(30 m) แต่มี spectral resolution ที่สูง (11 band)แบบ Landsat8 นอกจากนี้ กรณีที่มีเมฆ หมอก โมเดลนี้ก็ยังทำงานได้ เพราะใช้ข้อมูลกลุ่ม infrared ที่ทะลุเมฆ และสภาพบรรยากาศปิด

** ต้องทำความเข้าใจก่อนว่าแตกต่างในการใช้ deep learning ลักษณะนี้ จะได้เปิดโลกและเห็นอีกรูปแบบของการวิเคราะห์ข้อมูลขนาดใหญ่อีกแบบ ไม่ใช่ทำตามฝรั่ง แบบมั่วๆ ไม่เข้าใจ ไม่เหมาะกับ application และเป้าหมาย

Multi-Sensor Data Integration

ข้อมูลที่ใช้ประกอบด้วย ข้อมูลภาพถ่ายดาวเทียม Landsat8 ,ข้อมูลความสูงภูมิประเทศ SRTM DEM , ข้อมูล Soil Moisture Sensor โดยมีรายละเอียดดังนี้

1. ภาพถ่ายดาวเทียม landsat8
-Sensor ประเภท Operational Land Imager (OLI)

Landsat8 OLI , B2,3,4,5
  • Thermal Infrared Sensor (TIRS) Sensors ซึ่งเป็นการบันทึกข้อมูลค่าการสะท้อนช่วงคลื่น Thermal Infrared เลือกใช้ข้อมูล Band10 ช่วงคลื่น 10.60–11.19 นาโนเมตร มาทำการวิเคราะห์ สเกลค่าความร้อนเหนือผิวโลก(Land Surface Temperature)
  • ข้อมูลนี้จะใช้จำแนก ประเภทการใช้ประโยชน์ที่ดิน โดยเฉพาะการแยก กลุ่มพื้นที่ทำการเกษตร ป่าไม้ ออกจาก กลุ่มเมืองและโรงงานอุตสาหกรรม
  • เพื่อให้สะดวกในการวิเคราะห์ข้อมูล แปลงค่าการสะท้อน(DN) ไปเป็น Radiance จากนั้นแปลงไปสู่รูปของ Surface Temperature (degrees celsius)
  • เนื่องจากเป็นกระบวนการ raster processing ด้วยค่า parameter และโมเดลมีรายละเอียดพอควร จึงไม่ขออธิบายนบทความนี้

2. ข้อมูล SRTM DEM

  • ข้อมูล โมเดลระดับความสูงภูมิประเทศ(DEM , Digital elevation model) ของ NASA ที่ทำการสำรวจข้อมูลภูมิประเทศทั่วโลก ในโครงการ Shuttle Radar Topography Mission (SRTM) ปัจจุบันมีการเผยแพร่ข้อมูล SRTM NASA V3 ระดับความถูกต้องทางราบ 30 meters ซึ่งเราจะนำ dataset นี้มาใช้ในการวิเคราะห
  • D์EM ช่วยจำแนกพื้นที่การเกษตร และชุมชน กล่าวคือ เราต้องการหาพื้นที่ทำนา และสวน ซึ่งส่วนใหญ่จะอยู่ในพื้นที่ราบ มี slope ต่ำ ตรงนี้จะเป็นเงื่อนไข ช่วยการจำแนก ประเภทของ class ในโมเดล
  • รายละเอียดการจัดการและการประมวลผลข้อมูล DEM อ่านได้จากหัวข้อ DEM Processing

3. ข้อมูล Soil Moisture Sensor

  • ข้อมูลชุดนี้เป็น ข้อมูลจากการวัดความชื้นในดิน และอุณหภูมิสะสมในดิน ที่มีข้อมูลในช่วงเวลาเดียวกัน ในพื้นที่ศึกษา จึงนำมาใช้ร่วม
  • ข้อมูล Soil Moisture Sensor อาจจะไม่ได้ ช่วยด้านการจำแนกในพื้นที่ขนาดใหญ่ เพราะเรามี station ในการวัดไม่มาก แต่อย่างน้อยช่วยสร้าง baseline ในพื้นที่การเษตร
ตัวอย่าง station ข้อมูลภาพจากอินเตอร์เน็ต
ภาพ Soil Moisture Sensor
  • ข้อมูลที่ได้นำมาทำ sptial analysis และทำการสร้างข้อมูล GRID ด้วย Inverse Distance Weighting (IDW) Interpolation เพื่อแปลงข้อมูลให้อยู่ในรูปแบบพร้อมทำงาน
Soil Moisture data

Deep Learning

  • สร้างโมเดลในการวิเคราะห์ข้อมูล ด้วย Deep Neural Network เพื่อใช้ในการ พัฒนา classification model
  • ใช้ Keras และ TensorFlow ในการ training model โดยจะนำข้อมูลทั้งหมด มาทำการแปลงให้อยู่ในรูปแบบ matrix พร้อมกับข้อมูล AOI training data ที่เตรียมไว้ก่อนหน้า แบ่งออกเป็น 10 class หลัก เพื่อจะใช้ใน traning model
  • ออกแบบ Neural Network เพื่อรองรับข้อมูลขนาดใหญ่ ซึ่งเบื้องต้น จะใช้รูปแบบที่ไม่ซับซ้อน มากนักในการสาธิต
  • โดย Neural Network จะประกอบด้วย 8 input node [B2,B3,B4,B5,B9,Soil Moisture,Thermal_temp,srtm], 3 hidden layer [40,20,10] และ 10 output node
  • การ train โมเดลด้วย Deep learning กับข้อมูลขนาดใหญ่ อย่างในตัวอย่างนี้แนะนำให้ใช้ GPU เพื่อช่วยประมวลผล ในการทดสอบนี้ ใช้ Google Cloud ในการประมวลผล
  • ผลลัพธ์การ traning model ได้ accuracy ราวๆ 0.965

ทดสอบทำการ predict ค่าข้อมูลทั้งหมด เพื่อทำการจำแนก จากนั้นทำการ plot ภาพเพื่อดูผลลัพธ์ที่ได้

  • ซึ่งจะเห็นว่าการใช้เทคนิคการวิเคราะห์ด้วย Deep Neural Network เพื่อผสานรวมข้อมูลประกอบที่มากกว่า ข้อมูลภาพถ่ายดาวเทียม นั้นช่วยปรับปรุงผลลัพธ์ได้ดีขึ้น จาก วิธีการ Supervised Classification แบบธรรมดาที่ใช้เฉพาะข้อมูลภาพถ่ายดาวเทียม landsat อย่างเดียว โดยเฉพาะพื้นที่เขตเมือง พื้นที่ภูเขา และพื้นที่นา รวมถึงเราจะเห็น feature ของ ถนนและเส้นทางที่ชัดขึ้น
  • แน่นอนว่าถ้ามีข้อมูล AOI training data จากการสำรวจ ภาคสนาม ที่ดี ผลลัพธ์การจำแนก ด้วยการวิเคราะห์ข้อมูล ขั้นสูงย่อมดีขึ้นด้วย
การจำแนกแบบ Supervised Classification ด้วยข้อมูล landsat อย่างเดียว

ตัวอย่างภาพ landsat8 MSS

--

--

chaipat ncm
Ayutthaya-GIS

GIS Developer , Data Scientist (Machine Learning &Deep Learning) at Ayutthaya-GIS Co., Ltd. ,Contract Me >> chaipat.ayutthaya.gis@gmail.com