Research 2555 : RBRUOrthoMaker

นักวิจัย : อ.วิชาญ ทุมทอง (หัวหน้าโครงการวิจัย : พัฒนาฮาร์ดแวร์), อ.คัมภีร์ ธีระเวช (พัฒนาซอฟต์แวร์)
งบประมาณ : สภาวิจัยแห่งชาติ (ว.ช.)

Abstract:
งานวิจัยนี้ศึกษาและพัฒนาโปรแกรมประยุกต์สำหรับสร้างภาพต่อและภาพออร์โทด้วยเทคนิคเอสเอฟเอ็ม (structure from motion : SfM)  โดยงานวิจัยนี้จะนำภาพถ่ายจากยูเอวี (unmanned aerial vechcle : UAV) ไปปรับแก้ความผิดเพี้ยนแนวรัศมี แล้วจึงสกัดฟีเจอร์ในภาพด้วยตัวสกัดฟีเจอร์ซิฟท์ (SIFT) และจับคู่หาจุดสมนัยระหว่างคู่ภาพด้วยอัลกอริทึมที่รันบนจีพียู หลังจากนั้นจึงวิเคราะห์คู่ภาพเพื่อคำนวณฟันดาเมนทัลเมทริกซ์ โดยใช้อัลกอริทึมแปดจุดร่วมกับการทำงานแบบแรนเซก (RANSAC-styled, normalized 8-point algorithm) ขั้นต่อไปคือการคำนวณข้อมูลโครงสร้าง (structure) ซึ่งประกอบด้วยจุดสามมิติและข้อมูลกล้อง ด้วยการใช้เทคนิคเอสเอฟเอ็มส่วนเพิ่มเพื่อให้ได้โครงสร้างแบบห่าง (sparse) เสร็จแล้วจึงยกระดับเป็นโครงสร้างแบบแน่น (dense) จากแนวทางนี้เราสามารถสร้างภาพต่อได้สามระดับ นั่นคือภาพต่อโดยใช้ข้อมูลจากไอเอ็นเอส เทคนิคเชิงฟีเจอร์ และเทคนิคเอสเอฟเอ็ม

นอกจากนั้นแล้วเรายังสามารถนำจุดสามมิติแบบห่างและแบบแน่นมาคำนวณพื้นผิวสามมิติด้วยเทคนิคการสามเหลี่ยมเดอโลเนย์แบบ 2.5D เพื่อนำไปใช้ในการสร้างภาพออร์โทและดีเอสเอ็ม (digital surface model : DSM)  กระบวนการคำนวณการสุ่มชักตัวอย่างความเข้มพิกเซลและการคำนวณความลึกของพิกเซลทำโดยใช้เทคนิคการเรนเดอร์ทูเทกเจอร์ (render to texture)

การเทียบมาตรฐานกล้อง (cameral calibration) และการดัดการความผิดเพี้ยนแนวรัศมีทำโดยใช้คลังคำสั่งโอเพ่นซีวี (OpenCV)  การคำนวณโครงสร้างแบบห่างทำด้วยโปรแกรมวิชวลเอสเอฟเอ็ม (VisualSFM) (Wu, 2012) ซึ่งเป็นโปรแกรมสำหรับการคำนวณโครงสร้างแบบห่างด้วยเทคนิคเอสเอฟเอ็มส่วนเพิ่ม (incremental structure from motion) ร่วมกับพีบีเอ (PBA) (parallel bundale adjustment) (Wu, 2012), ใช้โปรแกรมพีเอ็มวีเอส (PMVS) และซีเอ็มวีเอส (CMVS) (Furukawa an Ponce, 2010) สำหรับการคำนวณโครงสร้างแบบแน่น

การคำนวณเมซแบบสามเหลี่ยม (triangular mesh) ทำด้วยการเรียกใช้ฟังก์ชั่นการสามเหลี่ยมเดอโลเนย์จากคลังคำสั่งซีเกล (CGAL) และสร้างภาพผลลัพธ์ด้วยการเรนเดอร์ทูเทกเจอร์โดยใช้คลังคำสั่งโอเพ่นจีเอล (OpenGL)

Download:

  • VisualSFM : สำหรับการคำนวณโครงสร้างแบบห่าง
  • PMVS/CMVS : สำหรับการคำนวณโครงสร้างแบบแน่น
  • RBRUCamCal 1.0 : สำหรับคำนวณพารามิเตอร์ภายในกล้อง ด้วยเทคนิคของ ZHANG00
  • RBRUImgUndistortor 1.0: สำหรับการดัดแก้ความผิดเพี้ยนแนวรัศมี
  • RBRUOrthoMaker 1.0: สำหรับการสร้างภาพต่อและภาพออร์โท
  • คู่มือการใช้งาน RBRUOrthoMaker 1.0

 References:

  • Fischler, M.A. and Bolles, R.C. (1981). Random Sample Consensus : A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography.  Communications of the ACM. 24 (6). Pp.381-395.
  • Furukawa, Y.  Clustering Views for Multi-view Stereo (CMVS). [Online].
    Available : http://www.di.ens.fr/cmvs/. 2012.
  • Furukawa, Y. and Ponce, J. (2010). Accurate, Dense, and Robust Multiview Stereopsis.  IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI’10). 32 (8): 1362-1376.
  • Lowe, D.G. (2004). Distinctive Image Features from Scale-Invariant Keypoints.  International Journal of Computer Vision. 60 (2): 91-110.
  • Wu, C. SiftGPU: A GPU Implementation of Scale Invariant Feature Transform (SIFT). [Online]. Available: http://www.cs.unc.edu/~ccwu/siftgpu/. 2012.
  • Wu, C.  VisualSFM : A Visual Structure from Motion System. [Online].
    Available: http://homes.cs.washington.edu/~ccwu/vsfm/. 2012.
  • Wu, C., Agarwal, S., Curless, B. and Seitz, S.M. (2011). Multicore bundle adjustment. IEEE Conference on Computer Vision and Pattern Recognition (CVPR’11). Pp.3057-3064.
  • Zhang, Z. (2000). A Flexible New Technique for Camera Calibration.  IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI’00). 22 (11): 1330-1334.