Ghép ảnh Flycam (ODM)

Hướng dẫn ghép ảnh drone thành orthophoto bằng OpenDroneMap

T
Tác giả TLGeo
Thời gian đọc 4 min read
Đăng tải 2025-01-01

Ghép ảnh Flycam (ODM)

Module Ghép ảnh Flycam sử dụng OpenDroneMap (ODM) chạy cục bộ trên máy của bạn để xử lý ảnh chụp từ drone thành:

  • Orthophoto — ảnh trực giao (2D) đã được nắn phẳng
  • Point Cloud — đám mây điểm 3D
  • DEM (Digital Elevation Model) — mô hình số độ cao
  • 3D model — mô hình 3D

Điểm khác biệt quan trọng

🔒 Toàn bộ ảnh của bạn KHÔNG được gửi lên server — quá trình xử lý diễn ra hoàn toàn trên máy tính local của bạn. Điều này đảm bảo tính bảo mật cho dữ liệu khảo sát.

Tổng quan quy trình

1. Click "Bắt đầu" → Kiểm tra ODM đã cài chưa

2. (Nếu chưa) Download ODM + NodeODM từ GitHub, cài đặt tự động

3. Khởi chạy NodeODM child process (cổng 9001)

4. Upload ảnh drone vào NodeODM

5. Đợi ODM xử lý (theo dõi progress bar)

6. Xem kết quả: orthophoto hiển thị trên bản đồ

Lần đầu sử dụng: Cài đặt ODM

Khi bạn mở module ODM lần đầu tiên, ứng dụng sẽ kiểm tra xem ODM binaries đã được cài đặt chưa. Nếu chưa:

  1. TODO: Chụp ảnh màn hình ODM Install Status.
  2. Ứng dụng sẽ tự động:
    • Tải ODM 3.5.5 từ GitHub release ODM/ODM
    • Tải NodeODM 2.2.3 từ GitHub release OpenDroneMap/NodeODM
    • Giải nén vào thư mục bin/odm/ trong app data
    • Windows: %APPDATA%/bin/odm/ODM/C:\ODM\
    • macOS/Linux: <userData>/bin/odm/ODM/
    • Chạy ODM.exe /SILENT (Windows installer) để hoàn tất cài đặt
  3. Sau khi cài xong, NodeODM sẽ tự động khởi chạy ở cổng 9001

💡 Lưu ý: Quá trình cài đặt có thể mất 5-15 phút tuỳ tốc độ mạng. NodeODM có supervisor tự động — nếu bị crash, nó sẽ tự khởi động lại sau 5 giây.

Upload ảnh

  1. Click Upload Panel → chọn thư mục chứa ảnh drone
  2. Ứng dụng hỗ trợ các định dạng: TODO (kiểm tra trong code)
    • .jpg, .jpeg
    • .tif, .tiff (ảnh RAW đã được nắn)
    • .dng (nếu được hỗ trợ)
  3. TODO: Ảnh chụp màn hình upload panel.

Yêu cầu ảnh đầu vào:

  • Ảnh phải có EXIF GPS (tọa độ vị trí chụp) — TODO: xác nhận yêu cầu này
  • Số lượng ảnh tối thiểu: TODO
  • Độ phân giải khuyến nghị: tối thiểu 12 MP, tối ưu 20 MP

Theo dõi tiến trình

Trong khi ODM xử lý, panel Task Progress sẽ hiển thị:

  • Status: QUEUEDRUNNINGCOMPLETED / FAILED / CANCELED
  • Progress bar: % hoàn thành
  • Log chi tiết: các bước xử lý (feature extraction, matching, dense reconstruction, …)

TODO: Chụp ảnh màn hình progress bar.

Thời gian xử lý ước tính:

  • 50 ảnh: ~10-30 phút
  • 100 ảnh: ~30 phút - 1 giờ
  • 500 ảnh: 2-4 giờ

(Tuỳ thuộc vào cấu hình máy và overlap giữa các ảnh)

Xem kết quả

Sau khi status = COMPLETED:

  1. Panel Result Map sẽ tự động hiển thị orthophoto dưới dạng raster overlay trên bản đồ Mapbox
  2. Tile URL: http://localhost:9002/odm/tiles/{z}/{x}/{y}.png
  3. TODO: Ảnh chụp màn hình kết quả orthophoto hiển thị trên bản đồ.

Bạn có thể:

  • Zoom in/out để xem chi tiết
  • Toggling hiển thị overlay
  • Mở thư mục output bằng cách click nút Open Folder (sử dụng shell.openPath)

File output:

  • TODO: Liệt kê các file output chính xác (orthophoto.tif, point cloud.laz, DEM.tif, …) — kiểm tra trong code NodeODM
  • Vị trí lưu: TODO

Lỗi thường gặp & cách xử lý

LỗiNguyên nhânCách xử lý
EADDRINUSE :9001NodeODM đã chạy sẵnTắt tiến trình NodeODM hoặc đổi port
ENOENT C:\ODMChưa cài ODM binariesChạy lại ODM Install từ menu
ODM crash khi ghépẢnh thiếu EXIF GPSTODO: Bổ sung hướng dẫn
Tiles trốngOrthophoto quá lớnTăng max zoom hoặc giảm resolution
Ghép ảnh rất chậmCấu hình máy yếuTODO: Khuyến nghị cấu hình

Tích hợp với module khác

Sau khi có orthophoto, bạn có thể:

  • Mở trong module Bản đồ để xem chi tiết — TODO: xác nhận workflow
  • Export sang Geocollect mobile để thu thập dữ liệu ngoài thực địa — TODO: xác nhận
  • Chuyển đổi sang MBTiles để dùng làm basemap offline — TODO: xác nhận

Liên kết kỹ thuật

  • TODO: Link đến docs kỹ thuật ODM (docs/features/odm.md trong repo GeoConnect Desktop) nếu muốn
  • TODO: Link OpenDroneMap chính thức