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