การพัฒนาซอฟต์แวร์ทางด้าน Remote Sensing

Download Report

Transcript การพัฒนาซอฟต์แวร์ทางด้าน Remote Sensing

โดย นาย เอกพล หิร ัณยเอกภาพ
วันที่ 17 ธันวาคม พ.ศ. 2553



จุดประสงค์
การพัฒนาซอฟต์แวร์ทางด ้าน Remote Sensing
้
ตัวอย่างการประยุกต์ใชงาน


พัฒนาเครือ
่ งมือสาหรับประมวลผลข ้อมูลภาพถ่าย
ดาวเทียม
เพือ
่ สนับสนุนให ้หน่วยงานต่างๆสามารถนาข ้อมูล
้
ภาพถ่ายดาวเทียมไปประยุกต์ใชงานในด
้านต่างๆ โดยไม่
ี ค่าใชจ่้ าย
เสย


แบ่งออกเป็ น 2 สว่ นคือ
◦ สว่ นประมวลผลข ้อมูล
้
◦ สว่ นติดต่อกับผู ้ใชงาน
้
เครือ
่ งมือทีใ่ ชประกอบด
้วย
◦ ORFEO Toolbox (OTB)
◦ FWTools
◦ Python

พัฒนาบน OS Windows XP ด ้วยเครือ
่ งมือ
◦ Microsoft Visual Studio 2008
◦ CMAKE 2.8
◦ โดยพัฒนาสว่ นประมวลผลต่างด ้วยภาษา C++ แล ้ว
คอมไพล์และสร ้างเป็ นไฟล์ .exe เพือ
่ ให ้พร ้อมเรียกใช ้
งาน


ORFEO Toolbox (OTB) คือไลบรารีส
่ าหรับประมวลผล
ข ้อมูลภาพทางด ้าน Remote sensing แบบเปิ ด (Open
source)
ประกอบด ้วยกลุม
่ เครือ
่ งมือต่างๆดังนี้
◦ เครือ
่ งมือกรองข ้อมูล (Filtering)
◦ เครือ
่ งมือลงทะเบียนข ้อมูลภาพ (Image Registration)
◦ เครือ
่ งมือการปรับแก ้ภาพและการฉายภาพ
(Orthorectification and Map projection)
◦ เครือ
่ งมือประมวลผลเชงิ คลืน
่ (Radiometry)
◦ เครือ
่ งมือหลอมรวมภาพ (Image Fusion)
◦ เครือ
่ งมือสกัดคุณลักษณะ (Feature Extraction)
◦ เครือ
่ งมือแบ่งกลุม
่ ภาพ (Image Segmentation)
◦ เครือ
่ งมือแบ่งประเภท (Classification)
◦ เครือ
่ งมือตรวจจับการเปลีย
่ นแปลง (Change Detection)

เป็ นเครือ
่ งมือสาหรับปรับปรุงภาพให ้มีความเหมาะสมกับ
้
่ การลดสญ
ั ญาณรบกวนใน
การประยุกต์ใชงาน
เชน
ภาพถ่าย, การเน ้นภาพ, การตรวจหาขอบวัตถุ เป็ นต ้น

ภาพถ่ายในบริเวณเดียวกันจากต่างแหล่งทีม
่ า หรือต่าง
เวลากัน จาเป็ นต ้องนามาเทียบเคียงตาแหน่งกัน โดยให ้
ภาพหนึง่ เป็ นภาพอ ้างอิง อีกภาพหนึง่ เป็ นภาพทีน
่ ามา
แปลงรูปให ้มีตาแหน่งตรงกันกับภาพอ ้างอิง

็ เซอร์
เป็ นการแปลงภาพถ่ายจากเรขาคณิตเชงิ เซน
(Sensor geometry) เป็ นภาพฉายเชงิ ภูมศ
ิ าสตร์
(Geographic) และแปลงภาพต่อไปเป็ นภาพฉายเชงิ
แผนที่ (Cartographic)
็ เซอร์ (Sensor model) ทาการแปลงจากพิกด
◦ แบบจาลองเซน
ั
ภาพถ่าย (แถว,หลัก) เป็ นพิกด
ั เชงิ ภูมศ
ิ าสตร์ (ละติจด
ู ,ลองจิจด
ู )
โดยมีข ้อมูลแบบจาลองความสูงเชงิ เลข (DEM) ด ้วย
◦ การปรับแต่งแบบชุด (Bundle-block adjustment) ในกรณี
ปรับแต่งภาพชุดต่อเนือ
่ ง
◦ การฉายภาพแผนที่ (Map projection) เป็ นการแปลงจากพิกด
ั
เชงิ ภูมศ
ิ าสตร์เป็ นภาพฉายแผนทีแ
่ บบต่างๆ
Bundle-block
Adjustment
Homologous
Point
Sensor
Model
Input Series
DEM
Map
Projection
Geographic Geometry
Cartographic Geometry

ภาพถ่ายทีไ่ ด ้ไม่ได ้ถ่ายทีว่ ต
ั ถุเป้ าหมายโดยตรง แต่ผา่ น
่ บรรยากาศโลก ทาให ้แสงสะท ้อนจาก
สงิ่ คัน
่ กลาง เชน
วัตถุเปลีย
่ นแปลงไป
่ การสะท ้อน, การเลีย
◦ ผลจากการกระเจิงแสง เชน
้ วเบน, การหัก
เหของแสง เป็ นต ้น
ั ้ บรรยากาศประกอบไปด ้วย
◦ ผลจากการดูดกลืนสเปกตรัม ในชน
ก๊าซต่างๆหลายชนิด

ั ้ บรรยากาศตามวิธ ี
OTB มีเครือ
่ งมือการปรับแก ้ผลจากชน
Second Simulation of a Satellite Signal in the
Solar Spectrum (6S)


็ เซอร์ทงั ้ 2
เป็ นกระบวนการในการนาข ้อมูลภาพจากเซน
มารวมกัน เพือ
่ ให ้ได ้ภาพทีม
่ ค
ี ณ
ุ สมบัตท
ิ ด
ี่ ข
ี องทัง้ 2
ภาพ
็ เซอร์ตา่ งกันมีความ
ภาพถ่ายดาวเทียมทีไ่ ด ้จากเซน
่ ภาพถ่ายที่ 1 เป็ นภาพความ
ละเอียดภาพต่างกัน เชน
ละเอียดสูงแบบ 1 แบนด์, ภาพถ่ายที่ 2 เป็ นภาพทีม
่ ี
ความละเอียดตา่ กว่าแต่มห
ี ลายย่านความถี่ เป็ นต ้น

เป็ นการแปลงข ้อมูลภาพให ้อยูใ่ นรูปของคุณลักษณะ เพือ
่
้
ลดรูปรายละเอียดทีใ่ ชในการแสดงผล
ทาให ้ง่ายขึน
้ ใน
การแยกแยะข
ล
ตัวอย่างการตรวจจั้อมู
บเมฆ

เป็ นเครือ
่ งมือในการแบ่งขอบเขตของวัตถุในภาพ โดยมี
เป้ าหมายเพือ
่ ง่ายขึน
้ ในการแสดงผลและการวิเคราะห์
ตัวอย่างการแบ่งกลุม
่ ภาพแบบขยายขอบเขต (Region
growing)

มีเป้ าหมายในการจาแนกชนิดของข ้อมูล โดยแบ่งออกได ้
เป็ น 2 ลัษณะคือ
◦ Unsupervised Classification คือ การจาแนก
ประเภทข ้อมูลทีผ
่ ู ้วิเคราะห์ไม่ต ้องกาหนดข ้อมูล
ตัวอย่าง
◦ Supervised Classification คือ การจาแนกประเภท
ข ้อมูลทีผ
่ ู ้วิเคราะห์กาหนดข ้อมูลตัวอย่าง เพือ
่ เป็ น
ตัวแทนของข ้อมูลแต่ละประเภท
ตัวอย่างการแบ่งประเภทข ้อมูลภาพ แบบ K-Means (แบ่ง 4
กลุม
่ )


เป็ นการเปรียบเทียบภาพ 2 ภาพ (หรือมากกว่า) ใน
บริเวณพืน
้ ทีเ่ ดียวกัน
้
การนาภาพถ่ายไปประยุกต์ใชงานในการตรวจจั
บการใช ้
พืน
้ ตัที
,่ การจั
ดาการทรั
พ้อิยากรธรรมชาติ
บภัย
วอย่
างภาพถ่
ยย่านใกล
นฟาเรดของพืน
้ ทีก
่ อ
่ และการตรวจจั
น/หลัง เกิดน้ า
พิบท่ต
ั วมิ

เป็ นกลุม
่ ของเครือ
่ งมือสาหรับข ้อมูล GIS ประกอบไป
ด ้วย
◦ OpenEV เป็ นเครือ
่ งมือสาหรับเปิ ดและวิเคราะห์ข ้อมูลภาพแบบ
raster/vector
◦ GDAL/OGR เป็ นไลบรารีแ
่ ละเครือ
่ งมือสาหรับการอ่านและ
เขียนข ้อมูล raster/vector
◦ MapServer เป็ นเครือ
่ งมือสาหรับการทาแผนทีบ
่ นเว็บ
◦ PROJ.4 เป็ นไลบรารีก
่ ารฉายภาพแผนที่
◦ OGDI เป็ นเครือ
่ งมือสาหรับการอ่านข ้อมูล raster/vector ซงึ่
รองรับข ้อมูลในหลายรูปแบบไฟล์


Python เป็ นภาษาสาหรับการเขียนโปรแกรมระดับสูง
โดยมีจด
ุ เด่นดังนี้
้
◦ ความเป็ นภาษาคาสงั่ (Script) ทาให ้ใชเวลาในการ
เขียนและคอมไพล์ไม่มาก
◦ ความเป็ นภาษากาว (Glue language) คือ มีสามารถ
้
เรียกใชภาษาโปรแกรมอื
น
่ ๆได ้อย่างดี ทาให ้เหมาะทีจ
่ ะ
้ ยนเพือ
ใชเขี
่ ประสานงานโปรแกรมทีพ
่ ัฒนาจากภาษาที่
ต่างกันได ้
◦ มีชด
ุ ไลบรารีต
่ า่ งๆ ซงึ่ ชว่ ยลดภาระของโปรแกรมเมอร์
ในการพัฒนาซอฟต์แวร์
้
้
ใชในการพั
ฒนาสว่ นติดต่อกับผู ้ใชงาน
◦ โดยอิงกับไลบรารี่ WxPython



้
พัฒนาสว่ นติดต่อกับผู ้ใชงาน
โดยเรียกใชค้ าสงั่ ต่างๆผ่าน
ทางหน ้าต่างเมนู
้
เรียกใชงานค
าสงั่ ของสว่ นประมวลผลต่างๆทีพ
่ ัฒนาขึน
้
จากไฟล์ .exe ทีค
่ อมไพล์ได ้จากสว่ นประมวลผลที่
พัฒนาด ้วย OTB
้
้
เมนูเรียกใชงานภาษาค
าสงั่ Python ให ้ผู ้ใชงานสามารถ
เรียกใช ้ และเขียนโปรแกรมเองได ้ตามความต ้องการ



การตรวจจับการเปลีย
่ นแปลงของพืน
้ ทีพ
่ ช
ื
การตรวจจับพืน
้ ทีน
่ ้ าท่วม
การตรวจจับพืน
้ ทีป
่ ลูกข ้าว
ขอบคุณครับ