Rapid Map with Unsupervised Machine Learning
การทดลองผลิตแผนที่เร่งด่วนจาก Done Image ด้วย Hierarchical k-Means Model
หลังมีโอกาสได้ไปคุยกับรุ่นพี่ท่านหนึ่ง เรื่องการใช้ Drone ระดับกลาง(DJI Phantom) ทำแผนที่เร่งด่วน(Rapid Map) เพื่อการสำรวจเบื้องต้น เช่นกรณีเกิดน้ำท่วม หรือดินถล่ม เดือนที่ผ่านมาได้ data ที่สมบูรณ์มาเลยมีโอกาสมานั่งทำ
การสำรวจเก็บข้อมูลด้วย Drone
ระบบประมวลผลภาพจาก Drone แบบอัตโนมัตินี้เรามีอยู่แล้ว ใช้ Python กับ ODM ทำการประมวลผลภาพ ทั้งปรับแก้ความถูกต้องเชิงตำแหน่ง(Geo referencing) และสร้าง Digital surface model(DSM) คำนวณจากคู่ภาพทั้งหมดที่ถ่ายออกมา
ผลลัพธ์สำคัญ จากการบินสำรวจถ่ายภาพด้วย Drone เมื่อผ่านกระบวนการประมวลผลจาก Open Drone Mapping ที่จะนำมาวิเคราะห์ด้วย AI ต่อออกมาดังภาพ (การออกแบบแผนการบิน ความสูงและการเตรียม GCPs อนาคตจะมาอธิบายและสอนการใช้งานด้วย ODM ต่อไป)
การสร้าง AI เพื่อวิเคราะห์ข้อมูลอัตโนมัติ
ปัจจุบันเราอยู่ในยุคที่ การซื้อโดรน มาบินถ่ายภาพสามารถทำได้ในราคาไม่แพง โดรนขนาดกลางเช่น DJI Phantom (+RTK) ยอดนิยม ใช้บินถ่ายภาพระดับ ต่ำกว่าเมตร ต้นทุนของเทคโนโลยีถือว่าไม่สูง
สิ่งที่ต้องคิดต่อทำต่อ คือจะแปลงภาพ(Georeference Image) ที่ได้ไปสู่ Information ที่จะช่วยในการตัดสินใจได้อย่างไร มันต้องมากกว่าบินภาพมุมสูงสวยๆ แล้วใส่เสียงทำวีดีโอมาโชว์กัน
ยิ่งไปกว่านั้นคือ ความเร็ว หรือ การเพิ่มประสิทธิภาพแบบระบบอัตโนมัติ เพื่อรองรับ application หรือการนำไปประยุกต์ใช้ ต้องการความเร็วและความแม่นยำ ในการผลิต ผลลัพธ์
ตรงจุดนี้เองที่ Machine Learning เข้ามามีบทบาท ซึ่งบทความนี้ ผมจะโฟกัสไปที่ Unsupervised Classification Model เพราะโจทย์คือ การทำแผนที่เร่งด่วน ในพื้นที่ใหม่ ที่ยังไม่มี Tranning Data มาก่อน เช่นเดียวกัน ภาพจากโดรนที่ถ่ายในภาวะอากาศ ระดับแสงและความสูงเปลี่ยนไป การทำการจำแนก จากโมเดลภาพต้นแบบ จึงเป็นเรื่องไม่ง่าย
งานวิจัยเน้นประสิทธิภาพ ความเร็วและความอัตโนมัติ บวกกับการสร้างโมเดลที่ไม่มี Training Data แต่ใช้ การวิเคราะห์และการประมวลผลข้อมูลขนาดใหญ่ มาเป็นเครื่องมือในการจำแนก ภาพถ่ายรายละเอียดสูง(20 cm) จากโดรนที่ผ่านกระบวนการปรับแก้ ร่วมกับข้อมูล Digital surface model ที่ได้จากการประมวลการวัดจากภาพ
เทคนิคการวิเคราะห์ข้อมูล เพื่อสร้างโมเดลแบบ Unsupervised ใช้ Hybrid hierarchical k-means clustering ประยุกต์กระบวนการจากงานวิจัยของ คุณ Harry Gifford
แนวคิดนี้เริ่มจากการทำ Dimensionality Reduction ด้วย principal component analysis (PCA) เพื่อลดปริมาณข้อมูลลง
ผลการวิเคราะห์ PCA ทำให้เห็นถึงพฤติกรรมของข้อมูล ที่ใช้เริ่มต้นในการทำ clustering โดยทำการลดกลุ่มข้อมูลที่ไม่มีนัยยะสำคัญลง เช่นเดียวกันใช้ผลสถิติที่คำนวณได้ มาตัด Bias ของข้อมูล ด้านล่างเป็นตัวอย่างภาพการ plot ความสัมพันธ์ของ PCA component ที่ 0 และ 1 หลังจากทำการประมวลผลข้อมูล
จากนั้นทำการประเมินผล จากการวิเคราะห์ข้อมูลรอบแรกด้วย hierarchical clustering เพื่อสร้าง tree ในการหา initial cluster centers สำหรับ k-mean
ดำเนินการประมวลผล ด้วย k-means clustering เพื่อจัดกลุ่ม ข้อมูล ซึ่งการวิจัยนี้ ทดลองแบ่งกลุ่มเป็น 5 ประเภทหลัก สอดคล้องตามการวิเคราะห์ score จากการคำนวณ Elbow curve เป้าหมายการจัดกลุ่มในเบื้องต้น เน้นหา อาคาร,พื้นดิน/ลานกว้าง และต้นไม้ เป็นหลัก
ผลการประมวลผล ใช้เวลาพอสมควรกับข้อมูลขนาดใหญ่หลาย Feature การจัดกลุ่มเทคนิคนี้ ทำให้สามารถ intergrate ตัว sensor หลากหลายชนิดได้ เช่น RGBA, DSM หรือแม้ NDVI
การใช้วิธี Hybrid ช่วยลดเวลาการประมวลผลข้อมูลราสเตอร์ขนาดใหญ่ได้มาก โดยผลลัพธ ์ไม่ลดระดับความถูกต้องลง ภาพด้านล่างตัวอย่าง scatter plot แสดงความสัมพันธ์ของ Feature 1 และ 2 ซึ่ง สามารถสกัด พฤติกรรมลักษณะเฉพาะในการจำแนก วัตถุปกคลุมดิน ออกมาได้ (แตกต่างการหาความเหมือนจากภาพ หรือรูปทรงในการทำ Object dection ด้วยเทคนิคอย่าง CNN หรือ Image Processing อย่างเดียว)
เปรียบเทียบผลลัพธ์การจัดกลุ่ม ของ Model ที่เทรนขึ้น กับข้อมูลภาพถ่ายจาก Drone ซึ่งส่วนใหญ่ 70% สอดคล้องกับ สิ่งปลกคลุมดินในภาพ
Polygonization
ทำ เพื่อแปลงข้อมูล raster ที่ได้จากการทำ clustering ไปสู่ Geometry Data โดยทดลองแปลง ฺBuilding เป็นรูปปิด อาคารมีพิกัด ไปสู่ GeoDataframe เพื่อตรวจสอบ การนับจำนวนอาคาร, พื้นที่(area) ของแต่ละ object ต่อไป
ผลลัพธ์ที่ได้จากการทำ polygonizatio ด้วย rasterio (ยังไม่ผ่านการปรับปรุงด้วย geoprocessing) โดยทำการกรองด้วยค่า connectivity ของข้อมูลต้นแบบและขนาด area ของโพลีกอน จากนั้นดำเนินการปิด gap ตรงกลางโพลีกอน
ทดลองวิเคราะห์พื้นที่ แต่ละ class ที่ได้จากการทำ k-means clustering เพื่อทำการเปรียบเทียบสัดส่วน
สรุป
สรุปประเด็นสำคัญของการทดลอง Unsupervised ใช้ Hybrid hierarchical k-means clustering ช่วยเพิ่มประสิทธิภาพการวิเคราะห์ข้อมูลได้ดีขึ้น กว่า k-means clustering
แนวคิดด้านการทำ Rapid Map ด้วย Unsupervised Machine Learning อาจจะยังไม่แม่นยำ 100% เทียบกับการจำแนกด้วย คน หรือแบบโมเดล supervised learning แต่กรณี ต้องการผลลัพธ์เร่งด่วน หรือ หาความไม่ปกติเชิงตำแหน่ง( spatial anomaly) แนวทางนี้ก็สามารถนำมาประยุกต์ใช้ได้ ตัวอย่างกรณี เกิดน้ำท่วม หรือภัยพิบัติ เราต้องหา จำนวนบ้าน อาคาร ที่ได้รับ ผลกระทบ หรือทำแผนที่ความเสียหายเร่งด่วน เป็นต้น
การพัฒนาในอนาคต ปรับปรุงโมเดล อาจจะเพิ่ม sensor เช่นกล้อง NIR บนโดรน เพื่อช่วยในการจำแนก, หรือแม้กระทั่งการทำ semi supervised classification จากฐานข้อมูล GIS ที่มีในอดีต เป็นต้น
แหล่งข้อมูลเพิ่มเติม
http://www.sthda.com/english/wiki/print.php?id=244
https://www.opendronemap.org/
https://www.andrew.cmu.edu/user/hgifford/projects/k_means.pdf
https://towardsdatascience.com/understanding-k-means-clustering-in-machine-learning-6a6e67336aa1