วางแผนงานสำรวจ
UAT 361 เทคโนโลยีระบบอากาศยานไร้คนขับเพื่อการสำรวจ ทำแผนที่ และตรวจสอบ
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- เขียนโจทย์งานสำรวจ (brief) ที่ระบุผู้ใช้ ผลผลิต ระบบพิกัด และเกณฑ์ตรวจรับก่อนวางแผนบิน
- คำนวณ GSD และความกว้างภาพบนพื้นจากข้อมูลกล้องและความสูงบิน
- คำนวณระยะถ่ายภาพ ระยะห่างแนวบิน จำนวนภาพ และเวลาบินจากค่าซ้อนทับภาพ
- อธิบายผลของภูมิประเทศต่อ GSD และการซ้อนทับ และเลือกรูปแบบแนวบินให้เหมาะกับพื้นที่
ทำไมต้องรู้
แผนที่จากโดรนจะดีได้ไม่เกินภาพที่เก็บมา ถ้าบินสูงเกินไป รายละเอียดที่ต้องการจะเล็กกว่าพิกเซล ถ้าภาพซ้อนกันน้อยเกินไป โปรแกรมจะต่อภาพไม่ติด และถ้าไม่ตกลงระบบพิกัดตั้งแต่ต้น ผู้รับงานอาจเปิดไฟล์แล้วพบว่าแผนที่อยู่ผิดที่หลายร้อยเมตร ความผิดพลาดเหล่านี้แก้ในห้องทำงานไม่ได้ ต้องกลับไปบินใหม่ การวางแผนจึงเป็นขั้นที่คุ้มค่าที่สุดของงานสำรวจ
ทั้งวิชาใช้กรณีสมมติเดียว: สำรวจลานกองวัสดุขนาด 240 × 160 m ในนิคมอุตสาหกรรม เพื่อวัดพื้นที่และปริมาตรกองวัสดุ และตรวจหลังคาโซลาร์ของอาคารข้างเคียง ตัวเลขทั้งหมดเป็นข้อมูลสมมติสำหรับฝึก ไม่ใช่ผลสำรวจจริง โค้ด Python ของทุกโมดูลดาวน์โหลดได้ที่ /downloads/uat-361/
เริ่มจากโจทย์ ไม่ใช่จากความสูงบิน
โจทย์งานสำรวจ (brief) คือข้อตกลงหนึ่งหน้าก่อนคำนวณอะไร ตอบคำถามหกข้อ
| รายการ | คำถาม | ตัวอย่างในกรณีของเรา |
|---|---|---|
| การใช้งาน | ใครจะใช้ตัดสินใจอะไร | ฝ่ายคลังวัสดุต้องการพื้นที่ลานและปริมาตรกองทุกเดือน |
| ขอบเขต | พื้นที่ใด เก็บเมื่อใด | ลาน 240 × 160 m ช่วงเช้าที่ไม่มีรถตัก |
| ผลผลิต | ไฟล์ชนิดใด | Orthomosaic (GeoTIFF), DSM และรายงานปริมาตร |
| ระบบอ้างอิง | ระบบพิกัด หน่วย ความสูงแบบใด | WGS 84 / UTM zone 47N (EPSG:32647) หน่วยเมตร ความสูงออร์โทเมตริก |
| เกณฑ์ | ตรวจรับอย่างไร | ความถูกต้องที่จุดตรวจ ความครบถ้วนของพื้นที่ (โมดูล 5) |
| ข้อจำกัด | อะไรมองไม่เห็นหรือเข้าไม่ถึง | ใต้หลังคาโรงเก็บไม่มีภาพ ต้องระบุในรายงาน |
ประเทศไทยอยู่ในโซน UTM 47N และ 48N (EPSG:32647 และ 32648) ในระบบ WGS 84 ยังมีข้อมูลเก่าที่ใช้ datum Indian 1975 ซึ่งพิกัดต่างกันได้หลายร้อยเมตร ห้ามเดารหัส EPSG ต้องถามผู้ใช้ว่าข้อมูลเดิมของเขาใช้ระบบใด ถ้าผู้ใช้ยังไม่กำหนดความถูกต้อง ให้บันทึกว่า “รอยืนยัน” แทนการรับปากจากความละเอียดกล้อง
GSD และความกว้างภาพบนพื้น
GSD (ground sampling distance) คือขนาดของพื้นดินที่หนึ่งพิกเซลครอบคลุม เปรียบเหมือนขนาดเม็ดสีของภาพ ถ้า GSD 2 cm วัตถุที่เล็กกว่า 2 cm จะไม่ปรากฏเป็นรายละเอียดที่แยกได้ สำหรับกล้องที่มองดิ่งลงพื้นราบ
เมื่อ คือความสูงกล้องเหนือพื้น (m), ความกว้างเซนเซอร์ (mm), ทางยาวโฟกัสจริง (mm) และ จำนวนพิกเซลตามด้านกว้าง ความกว้างภาพบนพื้น เรียกว่า footprint Pix4D ย้ำว่าต้องใช้ทางยาวโฟกัสจริง ไม่ใช่ค่าเทียบเท่ากล้องฟิล์ม 35 mm
GSD ไม่ใช่ความถูกต้องของพิกัด
GSD 2 cm บอกขนาดรายละเอียดที่เห็น ไม่ได้รับรองว่าตำแหน่งบนแผนที่คลาดไม่เกิน 2 cm ความถูกต้องต้องพิสูจน์ด้วยจุดตรวจอิสระในโมดูล 5
การซ้อนทับภาพและแนวบิน
โปรแกรมทำแผนที่ต้องเห็นจุดเดียวกันในหลายภาพ จึงต้องให้ภาพซ้อนกันสองทิศ Front overlap () คือส่วนที่ภาพต่อเนื่องในแนวเดียวกันซ้อนกัน ส่วน side overlap () คือส่วนที่ภาพของแนวบินข้างกันซ้อนกัน
คือระยะระหว่างจุดถ่ายภาพ และ คือระยะห่างระหว่างแนวบิน โปรแกรมวางแผนอย่าง QGroundControl (รูปแบบ Survey) คำนวณค่าเหล่านี้ให้เมื่อเลือกกล้องและค่าซ้อนทับ แต่วิศวกรต้องตรวจได้ว่าตัวเลขสมเหตุสมผล
ตัวอย่างที่ 1 เทียบแผนบินสามระดับความสูง
กล้องสมมติ: เซนเซอร์ 13.2 × 8.8 mm, 5472 × 3648 พิกเซล, = 8.8 mm วางด้านกว้างของภาพขวางแนวบิน ซ้อนทับ 80/70% บินที่ 5 m/s
import math
SENSOR_W, SENSOR_H, FOCAL, PX_W = 13.2, 8.8, 8.8, 5472 # mm, mm, mm, พิกเซล
AREA_ALONG, AREA_ACROSS = 240, 160 # m
FRONT, SIDE, SPEED = 0.80, 0.70, 5.0
for h in (60, 80, 100):
gsd_cm = h * SENSOR_W / (FOCAL * PX_W) * 100
across, along = h * SENSOR_W / FOCAL, h * SENSOR_H / FOCAL
base, spacing = along * (1 - FRONT), across * (1 - SIDE)
lines = math.ceil(AREA_ACROSS / spacing) + 1
per_line = math.floor(AREA_ALONG / base) + 1
path_m = lines * AREA_ALONG + (lines - 1) * spacing
print(f"H {h:>3} m: GSD {gsd_cm:.2f} cm, footprint {across:.0f} x {along:.0f} m, "
f"base {base:.0f} m, spacing {spacing:.0f} m, {lines} lines x {per_line} = {lines * per_line} photos, "
f"{path_m / SPEED / 60:.1f} min, trigger every {base / SPEED:.1f} s")
H 60 m: GSD 1.64 cm, footprint 90 x 60 m, base 12 m, spacing 27 m, 7 lines x 21 = 147 photos, 6.1 min, trigger every 2.4 s
H 80 m: GSD 2.19 cm, footprint 120 x 80 m, base 16 m, spacing 36 m, 6 lines x 16 = 96 photos, 5.4 min, trigger every 3.2 s
H 100 m: GSD 2.74 cm, footprint 150 x 100 m, base 20 m, spacing 45 m, 5 lines x 13 = 65 photos, 4.6 min, trigger every 4.0 s
ที่ 80 m ได้ GSD ราว 2.2 cm ใช้ 6 แนว 96 ภาพ ถ้าลดเหลือ 60 m รายละเอียดดีขึ้นแต่จำนวนภาพเพิ่มราวครึ่งหนึ่ง (147 ภาพ) และกล้องต้องถ่ายทุก 2.4 s ต้องตรวจว่ากล้องบันทึกทัน เวลาที่คำนวณยังไม่รวมการขึ้นลง การเลี้ยวกลับ และลม จำนวนแนวบวกหนึ่งเพื่อให้ขอบพื้นที่มีภาพซ้อนพอ
ภูมิประเทศและรูปแบบแนวบิน
ความสูงที่ใช้ในสูตรคือ ความสูงเหนือพื้นตรงที่ถ่าย ไม่ใช่เหนือจุดขึ้นบิน ถ้าพื้นสูงขึ้น 20 m ขณะที่โดรนบินระดับเดิมที่ 80 m ความสูงจริงเหลือ 60 m footprint แคบลงเหลือ 90 × 60 m แต่ระยะถ่ายภาพยังเป็น 16 m และระยะแนวยัง 36 m การซ้อนทับจึงลดลง
ตัวอย่างที่ 2 การซ้อนทับเมื่อพื้นสูงขึ้น
SENSOR_W, SENSOR_H, FOCAL = 13.2, 8.8, 8.8
BASE, SPACING = 16, 36 # วางแผนไว้ที่ 80 m เหนือพื้นราบ
for ground_rise in (0, 10, 20, 30):
h = 80 - ground_rise
across, along = h * SENSOR_W / FOCAL, h * SENSOR_H / FOCAL
front, side = 1 - BASE / along, 1 - SPACING / across
print(f"ground +{ground_rise:>2} m -> height {h} m: front {front:.0%}, side {side:.0%}")
ground + 0 m -> height 80 m: front 80%, side 70%
ground +10 m -> height 70 m: front 77%, side 66%
ground +20 m -> height 60 m: front 73%, side 60%
ground +30 m -> height 50 m: front 68%, side 52%
เมื่อพื้นสูงขึ้น 30 m การซ้อนทับข้างลดจาก 70% เหลือ 52% และซ้อนทับหน้าเหลือ 68% พื้นที่นั้นอาจต่อภาพไม่ติด วิธีแก้คือบินแบบ terrain following ที่ปรับความสูงตามแบบจำลองภูมิประเทศ หรือวางแผนที่ค่าซ้อนทับเผื่อไว้ QGroundControl เตือนว่าการคำนวณที่ถือว่าพื้นราบใช้ไม่ได้เมื่อพื้นต่างจากจุดขึ้นบินมาก และแบบจำลองภูมิประเทศไม่รู้ตำแหน่งสายไฟหรือต้นไม้ทุกต้น
รูปแบบแนวบินมีให้เลือกตามลักษณะพื้นที่
- Survey (grid) สำหรับพื้นที่รูปหลายเหลี่ยม เช่น ลานวัสดุของเรา
- Corridor scan สำหรับพื้นที่ยาวแคบ เช่น ถนน คลอง หรือแนวสายส่ง กำหนดเส้นกลางและความกว้าง
- ภาพเฉียง (oblique) หรือแนวบินตัดกันสองทิศ เมื่อต้องเห็นด้านข้างอาคารหรือต้องการแบบจำลอง 3 มิติที่ดีขึ้น แลกกับเวลาและจำนวนภาพที่เพิ่มขึ้น
ก่อนบินจริง ต้องตรวจข้อกำหนดของ กพท. เรื่องการขึ้นทะเบียน การอนุญาต พื้นที่หวงห้าม และความสูง (ดู UAT 313) และขออนุญาตเจ้าของพื้นที่ ตัวเลขในบทนี้แสดงเรขาคณิต ไม่ใช่ระดับบินที่ได้รับอนุญาต
ปฏิบัติการประจำโมดูล
ปฏิบัติการ: brief และแผนบินสองแบบ
- เขียน brief หนึ่งหน้าของพื้นที่ฝึกที่อาจารย์กำหนด ครบหกรายการในตาราง ระบุสิ่งที่ “รอยืนยัน”
- ใช้ข้อมูลกล้องจริงของโดรนในแล็บ รันโค้ดตัวอย่างที่ 1 เทียบสองระดับความสูง เลือกแผนพร้อมเหตุผล
- สร้างแผน Survey ใน QGroundControl แบบออฟไลน์ เทียบระยะถ่ายภาพ ระยะแนว และจำนวนภาพกับผลจากโค้ด อธิบายส่วนที่ต่าง
- ใช้โค้ดตัวอย่างที่ 2 กับความต่างระดับของพื้นที่ฝึก ตัดสินว่าต้องใช้ terrain following หรือไม่
- ตรวจข้อกำหนดการบินของพื้นที่ บันทึกลงสมุดปฏิบัติการให้อาจารย์ลงนาม
ข้อผิดพลาดที่พบบ่อย
ระวัง
- ใช้ทางยาวโฟกัสเทียบเท่า 35 mm แทนค่าจริง ทำให้ GSD ผิดทั้งชุด
- ตั้งความสูงเหนือจุดขึ้นบินแล้วคิดว่าเหนือพื้นเท่ากันทั้งงาน
- ลดความสูงเพื่อเพิ่มรายละเอียดโดยไม่ตรวจว่ากล้องถ่ายทัน
- วางแนวบินพอดีขอบเขตงาน จนขอบพื้นที่มีภาพซ้อนไม่พอ
- เดารหัส EPSG หรือส่งงานโดยไม่ระบุระบบความสูง
สรุป
- เริ่มจาก brief: ผู้ใช้ ผลผลิต ระบบพิกัด เกณฑ์ และข้อจำกัด ก่อนคำนวณแผนบิน
- GSD = H·Sw/(f·N) บอกขนาดรายละเอียด ไม่ใช่ความถูกต้องของพิกัด
- ระยะถ่ายภาพและระยะแนวบินมาจาก footprint คูณ (1 − ค่าซ้อนทับ)
- ภูมิประเทศที่สูงขึ้นลดความสูงจริงและการซ้อนทับ ต้องเลือกรูปแบบแนวบินและความสูงให้เหมาะ
แบบฝึกตรวจความเข้าใจ
- กล้อง = 13.2 mm, = 8.8 mm, 5472 พิกเซล บินที่ 100 m ได้ GSD เท่าใด
- footprint ตามแนวบิน 80 m ซ้อนทับหน้า 75% ระยะถ่ายภาพเท่าใด
- footprint ขวางแนวบิน 120 m ซ้อนทับข้าง 60% ระยะห่างแนวบินเท่าใด
- ระยะถ่ายภาพ 16 m บินที่ 8 m/s กล้องต้องถ่ายทุกกี่วินาที
- ทำไมพื้นที่ภูเขาจึงต้องใช้ terrain following หรือค่าซ้อนทับเผื่อ
เฉลย
- m ≈ 2.74 cm/พิกเซล
- m
- m
- s
- พื้นที่สูงขึ้นทำให้ความสูงเหนือพื้นลดลง footprint แคบลง และการซ้อนทับลดลงจนอาจต่อภาพไม่ติด
สรุปสูตรสำคัญ
| Ground sampling distance | |
| ความกว้างภาพบนพื้น | |
| ระยะถ่ายภาพและระยะห่างแนวบิน |
แหล่งอ้างอิงหลัก
- Pix4D. Computing the flight height for a given GSD [Support article]. Pix4D SA. link
- QGroundControl Dev Team. Survey (plan pattern). QGroundControl user guide. link
- QGroundControl Dev Team. Corridor scan (plan pattern). QGroundControl user guide. link
- IOGP. WGS 84 / UTM zone 47N (EPSG:32647). EPSG geodetic parameter dataset. link
- Wolf, P. R., DeWitt, B. A., & Wilkinson, B. E. (2014). Elements of photogrammetry with applications in GIS (4th ed.). McGraw-Hill Education. link
- Sampath, A., Shrestha, M., While, M., & Scholl, V. M. (2023). Guidelines for calibration of uncrewed aircraft systems imagery (Open-File Report 2023–1033). U.S. Geological Survey. link
- สำนักงานการบินพลเรือนแห่งประเทศไทย. (2569). ประกาศ กพท. เรื่อง หลักเกณฑ์และวิธีการในการอนุญาตให้ผู้บังคับหรือปล่อยอากาศยานซึ่งไม่มีนักบิน ประเภทอากาศยานที่ควบคุมการบินจากภายนอก ที่มีน้ำหนักไม่เกิน 25 กิโลกรัม ปฏิบัติแตกต่างไปจากเงื่อนไขที่กำหนด พ.ศ. 2569 (มีผล 17 พฤษภาคม 2569). link
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
รับโจทย์และกำหนดเกณฑ์งานสำรวจ
วางแผนบินเก็บภาพสำรวจ
การทำแผนที่และวิเคราะห์ข้อมูลสำรวจด้วยโดรน
งานสำรวจและทำแผนที่ด้วยโดรน
ในชั้นเรียน / ภาคสนาม
ปฏิบัติการเข้มข้นในแล็บและภาคสนาม บันทึกผลลงสมุดปฏิบัติการ
หลักฐานการเรียนรู้: สมุดปฏิบัติการที่อาจารย์ลงนาม