สำหรับงานสำรวจทำแผนที่ นับว่าการบินโดรนเพื่อมาทำแผนที่ให้ได้พิกัดโลกที่ละเอียดนำไปใช้งานได้นั้น วิธีการดั้งเดิมคือใช้จุดบังคับภาพถ่าย (Ground Control Point – GCP) สมัยใหม่อาจจะใช้ RTK/PPK ก็ให้ความสะดวกมากขึ้นและประหยัดค่าใช้จ่ายมากกว่า
มาลองดูกันว่าการใช้จุดบังคับภาพถ่ายเพื่อนำมาใช้ในโปรแกรมฟรี OpenDroneMap จะเป็นยังไง ความยากความง่าย ความสะดวกจะขนาดไหน การกำหนดจุดบังคับภาพถ่ายโดยใช้ GCP ถ้าผู้อ่านรุ่นราวคราวเดียวกับผม เคยเรียนวิชา Photogrammetry ในยุคอดีต จะคุ้นกับการกำหนดจุดบังคับภาพถ่ายเรียกกันว่าการปรุจุด เมื่อหมายจุดบนรูปถ่ายทางอากาศที่ขยายมาและพิมพ์ขยายออกมาแล้ว อาจจะเป็นแยกคันนาตัดกัน ค่าพิกัดจะได้จากการเดินวงรอบเข้าไปเก็บ ส่วนค่าระดับจะได้จากการเดินระดับ
จากนั้นจะตามด้วยการคำนวณ Aerial Triangulation ซึ่งอาศัย Least Squares มาช่วยในการคำนวณที่มีความยากและสลับซับซ้อนพอสมควร จัดเป็นยาขมหม้อใหญ่ของนักศึกษาในสมัยนั้น
ในปัจจุบันอาศัยโปรแกรมคำนวณสามารถทำได้ง่ายโดยที่ไม่ต้องรู้เรื่อง Photogrammetry หรือ Least Squares ก็สามารถทำได้ง่ายผ่านโปรแกรมคำนวณภาพถ่ายโดรนในปัจจุบันอันหลากหลาย เท่าที่ผมลองใหนโปรแกรมชั้นนำเช่น Agisoft Metashape, Pix4DMapper นั้นมีความเรียบง่าย วางเสร็จสามารถคำนวณหา error/residual ได้เลย
สำหรับ OpenDroneMap เองนั้นนอกจากทีมงานพัฒนาโค้ดบางส่วนเองแต่โค้ดหลายๆส่วนได้จากการนำโค้ดเปิดหรือไลบรารีที่มีชื่อเสียงหลายๆอย่างมารวมมิตรกัน เช่น opensfm, gdal, pdal, potree ส่วนการกำหนดจุดบังคับภาพถ่าย ใช้ไลบรารีจาก portable openstreetmap (posm) เรียกว่า posm-gcpi
เตรียมไฟล์จุดบังคับภาพถ่ายและกำหนดระบบพิกัด
สิ่งที่ต้องเตรียมคือไฟล์ค่าพิกัดของ GCPs ส่วนหัวหนึ่งบรรทัดนั้นจะกำหนดระบบพิกัด ตัวอย่างในระบบยูทีเอ็ม มีจุดบังคับภาพถ่ายทั้งหมด 6 จุด รูปแบบจะเป็น point name, x, y, z ใช้ ช่องว่างหรือ tab เป็นตัวคั่น
WGS84 UTM 47N
01 592836.325 1482077.215 62.396884
02 592844.255 1482090.325 62.277474
03 592839.215 1482058.329 65.513986
04 592860.854 1482022.569 70.642407
05 592880.215 1482051.415 68.319541
06 592866.325 1482075.325 65.551683
ชุดภาพตัวอย่างที่ผมจะนำเสนอต่อไป ระบบพิกัดกริดเป็น CH1903 / LV03 ของสวิสเซอร์แลนด์ ส่วนพี้นหลักฐานใช้ชื่อว่า CH1903 หัวของไฟล์ใช้สายอักขระแบบ Proj4 (ที่ผมใช้เป็นหลักในโปรแกรม Surveyor Pocket Tools) ด้านล่างแสดงระบบพิกัด CH1903 / LV03 ของประเทศสวิสเซอร์แลนด์ และมีจุดบังคับภาพถ่ายทั้งหมด 9 จุด
+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs
1 531353.239 167284.273 460.914
2 531018.446 167426.808 458.742
3 531299.415 167434.863 474.195
4 530948.692 167347.812 572.394
5 530746.974 167457.004 566.361
6 530571.401 167608.280 558.969
7 530774.684 167805.404 565.863
8 530917.478 167638.643 574.465
9 531102.063 167578.015 574.874
แต่น่าเสียดายว่า WebODM ที่ผมใช้อยู่ตอนนี้ ยังใช้ Datum อื่นไม่ได้ ทั้งที่คู่มือระบุว่าใช้ได้ ดังนั้นผมจะต้องเอาระบบพิกัด CH1903 / LV03 ไปแปลงเป็นพี้นหลักฐาน WGS84 บน UTM Zone 32N ผ่านโปรแกรม Surveyor Pocket Tools ในลำดับต่อไป
เตรียมตัวอย่างชุดข้อมูล
สิ่งที่ต้องเตรียมอย่างที่สอง คือไฟล์รูปถ่ายจากโดรน ที่ติดจุดบังคับภาพถ่าย บางจุดอาจจะมีหลายๆรูป ขึ้นอยู่กับว่าบิน overlap มากน้อยขนาดไหน
ตัวอย่างงาน ผมขอเสนอตัวอย่างงานบินโดรนจากเว็บไซต์ pix4d.com ที่ผมถือว่าเป็นงานครู เพราะก่อนที่ผมจะหัดบินโดรน ผมอาศัยชุดข้อมูลนี้มาฝึกคำนวณก่อน ดาวน์โหลดชุดข้อมูลได้ที่ลิ๊งค์นี้ เมื่อดาวน์โหลดได้ไฟล์มาแล้ว ทำการ unzip ของผมไว้ที่ “D:\WebODM Projects\example_quarry_2.0”


ทดสอบบนเว็บไซต์ออนไลน์
มาทดสอบลองวางจุดกัน ถ้าผู้อ่านไม่ได้ติดตั้ง WebODM ที่เครื่องคอมพิวเตอร์ ก็มาลองที่เว็บตามลิ๊งค์นี้ ซึ่งก็เป็นโปรแกรมเดียวกันสำหรับการวางจุดบังคับภาพถ่าย เรียกว่า Ground Control Point Interface
จะเห็นหน้าตาเว็บไซต์ดังนี้

ข้อมูลจุดบังคับภาพถ่าย
ต่อไปจะมาดูข้อมูลชุดภาพตัวอย่าง ผมจะเริ่มจากโฟลเดอร์ “inputs” ซึ่งจะเป็นที่รวมไฟล์ค่าพิกัดจุดบังคับภาพถ่ายและที่สำคัญมากคือรูปแสดงตำแหน่งของจุดบังคับภาพถ่ายแต่ละจุด เพราะเราไม่ได้ไปบินโดรนถ่ายภาพเอง ดังนั้นจะไม่สามารถรู้ได้เลยว่าจุดบังคับภาพถ่ายแต่ละจุดอยู่ที่ไหน ต่อไปมาดูโฟลเดอร์ที่เก็บข้อมูล “inputs”

ไฟล์ “gcpPositionsLatLongAlt.csv” เป็นไฟล์ที่เก็บค่าพิกัดและระดับของจุดบังคับภาพถ่าย ที่ผมกล่าวไว้ข้างต้นและระบบพิกัดเป็น CH1903/LV03 ซึ่งเป็นระบบพิกัดฉาก ลองเปิดดูด้วยโปรแกรม “Notepad”

แปลงระบบพิกัด
ผมพิมพ์หัวไฟล์เข้าไป “Name,Easting,Northing,Elevation” เข้าไปเพื่อให้ surveyor pocket tools เข้าใจลำดับ จากนั้นทำการจัดเก็บไฟล์ใหม่ชื่อ “gcpPositions_projected_CH1903_LV03.csv”

จากนั้นเปิดโปรแกรม Surveyor Pocket Tools และต้องเป็นรุ่น 1.20 build 667 นะครับ เพราะรุ่นก่อนหน้านี้แปลงระบบพิกัด CH1903/LV03 ไมได้ครับ ผมแก้ไขแล้วสามารถใช้ได้ในรุ่นนี้

เมื่อเปิดโปรแกรมมาแล้ว ดับเบิ้ลคลิกที่ทูลส์ “File Transform Coordinates” ทำการตั้งระบบพิกัดด้านซ้ายผมตั้งพื้นหลักฐานเป็น CH1903 ส่วนด้านขวาตั้งเป็น WGS84 UTM 32N จากนั้นเปิดไฟล์ข้างต้น
การตั้งระบบพิกัดเลือก group ก่อนเป็น “Projected Coordinate System” ก่อน จากนั้นที่ช่อง Datum พิมพ์คำว่า “CH1903” ไม่ถึงกับเต็มคำก็จะเห็นพื้นหลักฐานนี้ ทำการคลิกเลือก ด้านขวาทำเช่นเดียวกัน

เมื่อคลิกที่ลูกศร โปรแกรมจะแปลงพิกัด

คลิกที่ไอคอน “excel” เพื่อทำการจัดเก็บไฟล์ แล้วเปิดไฟล์มาเพื่อแก้ไขตัดต่อตามฟอร์แม็ต ที่ WebODM ต้องการ

ตัดคอลัมน์ที่ไม่ต้องการทิ้ง คงไว้แต่ชื่อหมุดค่าพิกัดบนพื้นหลักฐาน WGS84 UTM 32N และค่าระดับเดิม ผมใช้โปรแกรม “Notepad++” มาช่วยด้วย สุดท้ายจะได้ไฟล์ผมตั้งชื่อใหม่เป็น “gcp_list.txt” และส่วนหัวผมพิมพ์เข้าไป “WGS84 UTM 32N”

นำไฟล์เข้าไฟล์จุดบังคับภาพถ่าย
ดังที่ผมเกริ่นไปแล้วเราจะใช้โปรแกรมออนไลน์มาทดสอบ

เปิดไฟล์ “gcp_list.txt” จะเห็นไดอะล็อก

จากคลิกที่ “Load” จะเห็นจุดพิกัดขึ้นที่ชองด้านขวา

ปรับเปลี่ยนแผนที่พื้นหลัง
ผมปรับ Map provider ที่ช่องด้านขวาเพื่อใช้ google maps โดยการป้อน ” http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}” ที่ custom ดังรูปด้านล่าง สำหรับแผนที่พื้นหลังเอาไว้เป็นตัวอ้างอิง ว่าพื้นที่ที่เราบินโดรนมันถูกต้องไหม

ผมขยายช่องด้านขวาเพื่อดูจุดบังคับภาพถ่ายหมายเลข 7 จะเริ่มวางจุดนี้ก่อนเนื่องจากง่าย เป็นรูปถนนโค้งใหญ่มองเห็นได้ชัดเจน


รูปภาพขยายแสดงจุดบังคับภาพถ่าย
ถ้าผู้อ่านบินโดรนเอง และเดินดูพื้นที่พอ จะสามารถเลือกรูปถ่ายได้เองเร็ว แต่ถ้าคำนวณงานของคนอื่นจะต้องมีรูปถ่ายแสดงจุดบังคับภาพถ่ายมาให้ดู มิฉะนั้นไม่สามารถคำนวณได้
มาดูที่ทางตัวอย่างจัดไว้ให้ ไปดูที่โฟลเดอร์ “gcp_overview”


ต่อไปมาดูภาพถ่ายขยาย ของจุดบังคับภาพถ่ายจุดที่ 7 ชื่อไฟล์คือ “gcp_7.png” ถ้าซูมเข้าไปดูจะเห็นเป็นจุดเรืองแสงสีเขียวอ่อน


เลือกรูปถ่าย
เข้าไปที่โฟลเดอร์รูปภาพ “images” ค้นหารูปถ่ายโดรนที่ติดจุดบังคับภาพถ่ายจุดที่ 7 ทีเป็นถนนโค้งๆ เปิดดูพรีวิวด้วยที่ “File Explorer” ของวินโดส์

ลากไฟล์ชุดนี้ไปเข้า GCP Interface


จะเห็นรูปถ่ายโดรนปรากฎบนช่องด้านซ้ายมีทั้งหมด 6 รูป ผมจะไล่เรียงทีละรูปเพื่อกำหนดจุดบังคับภาพถ่าย เริ่มที่รูปบนซ้ายสุด ใช้เมาส์ดับเบิ้ลคลิก จะเห็นภาพดังรูปด้านล่าง จะเห็นรูปกากบาทสีขาวมากลางภาพ อันนี้ผมแนะนำให้ไปคลิกที่คำว่า “Delete” ที่อยู่ข้างๆเครื่องหมาย เราจะทำการเพิ่มเอง เพราะถ้าไม่ลบ เราจะต้องย้ายจุดเครื่องหมายนี้ไปไกล เสียเวลามาก

ใช้เมาส์ปุ่มขวากดลากรูปที่ที่ด้านบนขวาให้เห็นถนนโค้งๆ จะเห็นจุดเรืองแสงสีเขียวอ่อน ทำการขยายรูปเข้าให้ถึงที่สุด

เมื่อเห็นจุดชัดแล้วทำการคลิกที่เครื่องหมายบวก แล้วมาคลิกที่จุดเรืองแสงช่องด้านซ้าย แล้วย้ายไปคลิกที่ช่องด้านขวาจุดหมายเลข 7

จะเห็นเครื่องกลมกากบาทสีขาว พื้นหลังเครื่องหมายเป็นสีเขียวเข้ม ถ้าเราลากเมาส์ผ่านจุดนี้ จะเห็นเครื่องหมายกากบาทเด้งทั้งสองช่องด้านซ้ายและขวา

คลิกที่เครื่องหมาย < เพื่อกลับหน้าก่อนนี้

จะเห็นเลข 1 ปรากฎที่บนรูปด้านขวาแสดงว่ารูปนี้เราปรุจุดไปแล้ว 1 จุด คือจุดบังคับรูปถ่ายหมายเลข 7 นั่นเอง

ส่วนภาพที่สองตัวนี้จุดบังคับภาพถ่ายไม่ปรากฎ ผมข้ามไปรูปที่ 3 ผมวางจุดได้ดังนี้

ผมไล่ปรุจุดแบบนี้ทั้ง 5 ภาพ (อีก 1 ภาพไม่มี) จะเห็นภาพที่ไม่มีการปรุจุดถูกเลื่อนไปหลังสุด ทั้ง 5 ภาพจะมีเลข 1 บนมุมบนขวา

ผมลบรูปสุดท้ายออก โดยการคลิกที่เครื่องหมายกากบาทสีแดงที่จุดบนรูปด้านซ้าย สุดท้ายจะเหลือเพียง 5 รูป

จากประสบการณ์ของผม เราไม่สามารถปรุจุดได้ทั้งหมดในคราวเดียวกัน เพราะต้องใช้เวลามาก ในชุดภาพตัวอย่างนี้ บางจุดบังคับภาพถ่ายปรากฎในรูปทั้งหมด 15 รูป บางจุดปรากฎบนรูปทั้งหมด 44 รูป ดังนั้นผมจะทะยอยทำ จากนั้นเราจะ export ค่าพิกัดไปเก็บไว้ที่ไฟล์อื่นในลำดับต่อไป
ผมจะ export ค่าพิกัดของจุดบังคับภาพถ่ายจุดที่ 7 จำนวน 5 รูป โดยคลิกที่ “Export File” แล้วจะมีไดอะล็อกแสดงรายการที่เราทำไว้ ผมวงจุดบังคับรูปถ่ายจุดที่ 7 ไว้ เราจะไม่เซฟไฟล์ แต่จะอาศับการใช้เมาส์ลากกวาดทั้งหมดแล้วคลิกขวาเลือก “Copy” แล้วก็ปิดไปโดยไม่คลิก “Save”

สร้างไฟล์จุดบังคับภาพถ่ายเพื่อนำไปคำนวณ
เปิดโปรแกรม “Notepad” ของวินโดส์รอแล้ววาง (Paste) ข้อมูลลงไป จากนั้นผมจัดเก็บไฟล์ตั้งชื่อ “gcp_list_computation_WGS84_UTM32N.txt” เราจะทะยอยนำค่าพิกัดที่เราได้ปรุจุดมาเพิ่มในไฟล์นี้ จนครบจุดบังคับภาพถ่ายทั้ง 9 จุด
ผมไล่ปิดรูปถ่าย 5 รูปที่อยู่หน้าจอจนหมด ผมจะนำรูปชุดใหม่ลากมาวางเพื่อปรุจุดต่อไป

ปรุจุดเพิ่มเติม
กลับไปที่ “File Explorer” ค้นหาไฟล์รูปถ่ายต่อที่มีจุดบังคับภาพถ่ายจุดที่ 7 กันต่อ ผมเลื่อนไปด้านล่าง เช่นเคยอาศัยการสังเกตุถนนโค้งใหญ่ๆ เห็นกลุ่มภาพนี้อีก 4 รูป

ลากไฟล์รูป 4 ไฟล์ลงบนโปรแกรมอีกครั้ง

ทำการปรุจุดจนครบ 4 ภาพในกลุ่มนี้

คลิก “EXPORT FILE” อีกครั้ง

คัดลอกค่าพิกัดไปวางต่อที่ “Notepad” แล้ว save ไฟล์ให้เรียบร้อย

ข้อสังเกตุคือ GCP Interface ปัดทศนิยมเหลือแค่สองตำแหน่ง ซึ่งในทางเซอร์เวย์เราต้องการอย่างน้อยสามตำแหน่ง ผมพยายามหาวิธีการตั้งค่าให้ได้สามตำแหน่ง แต่ไม่พบในเมนูโปรแกรม
การจะปรุจุดให้ได้จุดบังคับภาพถ่ายทั้ง 9 จุดนับว่าเป็นเรื่องใช้เวลามาก ความสะดวก ความง่ายเทียบไม่ได้เลยกับโปรแกรมด้านพานิชย์ แต่เมื่อนึกถึงว่ามันฟรีเลยต้องก้มหน้าก้มตาทำ สุดท้ายผมปรุจุดจนครบทั้ง 9 จุด จำนวนจุดที่ปรุมาทั้งหมด 225 จุด ผมนำเอามาลงด้านล่างให้สามารถ copy ไปดูได้

เนื่องจากโปรแกรมลดทอนทศนิยมของค่าพิกัดของจุดบังคับภาพถ่าย ผมเลยต้องไฟล์ด้านบนไปเข้า Excel หรือ Libreoffice Calc โดยใช้คำสั่ง vlookup ไปดึงเอาค่าพิกัดเดิมที่มีทศนิยมสามตำแหน่ง พร้อมสลับคอลัมน์ใหม่ รูปแบบคือ “Easting, Northing, Elevation, Pixel X, Pixel Y, Photot File Name, GCP Name” ผมแก้ไขหัวให้กลับไปเหมือนเดิมคือ “WGS84 UTM 32N”
สำหรับ Pixel X และ Pixel Y คือค่าพิกัดของจุดบังคับภาพถ่ายในระบบ pixel ของภาพ เมื่อผู้อ่านได้ทดสอบสักจุด สองจุด แล้วรู้เทคนิคก็สามารถ copy ข้อมูลด้านล่างไปวางใน Notepad เพื่อสร้างไฟล์ แล้วนำไปทดสอบ ผมเกรงว่าถ้าลองทุกทุกจุดจะท้อใจไปก่อน
WGS84 UTM 32N311914.683 5169567.605 460.914 4933.73 2899.83 ER-02-21260_0129_0012.JPG 1311914.683 5169567.605 460.914 1607.97 83.90 ER-02-21260_0129_0050.JPG 1311914.683 5169567.605 460.914 948.33 1402.25 ER-02-21260_0129_0051.JPG 1311914.683 5169567.605 460.914 1422.14 1769.92 ER-02-21260_0129_0052.JPG 1311914.683 5169567.605 460.914 1028.29 2266.92 ER-02-21260_0129_0053.JPG 1311914.683 5169567.605 460.914 935.87 3546.72 ER-02-21260_0129_0054.JPG 1311914.683 5169567.605 460.914 3547.24 1576.97 ER-02-21260_0129_0056.JPG 1311914.683 5169567.605 460.914 3658.50 2107.23 ER-02-21260_0129_0057.JPG 1311914.683 5169567.605 460.914 3393.61 2383.70 ER-02-21260_0129_0058.JPG 1311914.683 5169567.605 460.914 3506.42 3035.34 ER-02-21260_0129_0059.JPG 1311914.683 5169567.605 460.914 2914.30 626.81 ER-02-21260_0129_0094.JPG 1311914.683 5169567.605 460.914 3281.38 1307.12 ER-02-21260_0129_0095.JPG 1311914.683 5169567.605 460.914 3094.24 1819.45 ER-02-21260_0129_0096.JPG 1311914.683 5169567.605 460.914 3586.41 2475.38 ER-02-21260_0129_0097.JPG 1311914.683 5169567.605 460.914 4086.15 3068.84 ER-02-21260_0129_0098.JPG 1311914.683 5169567.605 460.914 5379.29 316.28 ER-02-21260_0129_0187.JPG 1311914.683 5169567.605 460.914 5451.91 631.69 ER-02-21260_0129_0188.JPG 1311914.683 5169567.605 460.914 4770.15 2304.49 ER-02-21260_0129_0189.JPG 1311914.683 5169567.605 460.914 1509.00 330.20 ER-02-21260_0129_0199.JPG 1311914.683 5169567.605 460.914 1517.69 1786.02 ER-02-21260_0129_0200.JPG 1311914.683 5169567.605 460.914 2010.03 2658.53 ER-02-21260_0129_0201.JPG 1311914.683 5169567.605 460.914 2465.70 887.32 ER-02-21260_0129_0212.JPG 1311914.683 5169567.605 460.914 2162.56 1966.69 ER-02-21260_0129_0213.JPG 1311914.683 5169567.605 460.914 2183.63 3135.47 ER-02-21260_0129_0214.JPG 1311914.683 5169567.605 460.914 3874.55 395.23 ER-02-21260_0129_0222.JPG 1
เกร็ดเล็กเกร็ดน้อย
บางทีผมเลี่ยงใช้ Excel หรือ Libreoffice Calc ผมใช้ “Notepad++” สามารถแก้ไขไฟล์จำพวกที่มีคอลัมน์ได้สะดวก ผมสามารถค้นหาและแทนที่เครื่องหมายจุลภาพ , แทนด้วยเครื่องหมายแท็บ (\t) ได้เลย สามารถ copy แล้ว paste เป็นคอลัมน์เพียงแต่ตอนจะใช้เมาส์กวาด ในวินโดสน์ขอให้กดปุ่ม Alt ค้างไว้ก็พอ
เนื่องจากตอนที่ 1 ยาวมาก โปรดติดตามกันตอนที่ 2 ต่อ ด้วยการนำไฟล์ค่าพิกัดจุดบังคับภาพถ่ายข้างต้นไปใช้งานคำนวณครับ
มีอีเมลติดต่อไหมครับจะสอบถามการทำway point
riabroy แอ็ด gmail.com ครับ