OpenDroneMap (ODM) 安装和配置指南
OpenDroneMap (ODM) 是一个开源的命令行工具包,用于从无人机、气球或风筝拍摄的图像中生成地图、点云、3D 模型和数字高程模型 (DEM)。ODM 可以将简单的 2D 图像转换为分类点云、3D 纹理模型、地理配准正射影像和地理配准数字高程模型。
项目基础介绍和主要编程语言
项目基础介绍
ODM 是一个功能强大的无人机图像处理工具,能够处理各种类型的航拍图像数据,生成专业级的地理空间产品。该项目支持 Windows、Mac 和 Linux 系统,完全基于命令行操作,适合高级用户、脚本编写和与其他软件的集成。
主要编程语言
ODM 主要使用 Python 和 C++ 进行开发,利用了多个开源地理空间处理库和计算机视觉库。
项目使用的关键技术和框架
ODM 基于多个强大的开源技术栈构建:
- OpenSfM: 用于从图像中提取特征和重建 3D 模型
- Ceres Solver: 用于非线性优化问题
- PCL (Point Cloud Library): 用于处理点云数据
- GDAL: 用于地理空间数据处理
- OpenMVS: 用于多视图立体视觉重建
- PDAL: 点云数据处理库
- Docker: 用于容器化部署
项目安装和配置的准备工作和详细安装步骤
准备工作
-
安装 Docker: ODM 推荐使用 Docker 进行安装,以简化依赖管理和环境配置
- 访问 Docker 官方网站下载并安装适合您操作系统的 Docker
- 安装完成后,确保 Docker 服务正在运行
-
下载 ODM 项目: 从代码仓库获取最新版本
git clone https://gitcode.com/gh_mirrors/od/ODM.git cd ODM
详细安装步骤
使用 Docker 安装 ODM(推荐方式)
-
拉取 ODM Docker 镜像:
docker pull opendronemap/odm -
准备数据目录: 在本地创建项目目录结构
mkdir -p ~/datasets/project/images将您的无人机图像文件放置在
~/datasets/project/images目录中 -
运行 ODM 处理:
# Linux/Mac docker run -ti --rm -v /home/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project # Windows docker run -ti --rm -v c:/Users/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project -
添加处理参数(可选):
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project --dsm --orthophoto-resolution 2
原生安装(Ubuntu 24.04)
对于希望进行原生安装的用户,可以按照以下步骤操作:
git clone https://gitcode.com/gh_mirrors/od/ODM.git
cd ODM
bash configure.sh install
处理数据集:
./run.sh /datasets/your_project
GPU 加速支持
ODM 支持使用 GPU 进行 SIFT 特征提取,速度比 CPU 快约 2 倍:
docker run -ti --rm -v /datasets:/datasets --gpus all opendronemap/odm:gpu --project-path /datasets project --feature-type sift
查看处理结果
处理完成后,结果将组织在以下目录结构中:
project/
├── images/ # 原始图像文件
├── opensfm/ # OpenSfM 中间文件
├── odm_meshing/ # 3D 网格文件
│ └── odm_mesh.ply
├── odm_texturing/ # 纹理模型
│ ├── odm_textured_model.obj
│ └── odm_textured_model_geo.obj
├── odm_georeferencing/ # 地理参考文件
│ └── odm_georeferenced_model.laz
└── odm_orthophoto/ # 正射影像
└── odm_orthophoto.tif
结果查看工具
可以使用以下开源软件查看生成的结果文件:
- GeoTIFF (.tif): 使用 QGIS 打开
- Compressed LAS (.laz): 使用 CloudCompare 打开
- Wavefront OBJ (.obj): 使用 MeshLab 打开
- Stanford Triangle Format (.ply): 使用 MeshLab 打开
视频处理支持
从版本 3.0.4 开始,ODM 支持从视频文件(.mp4、.mov、.lrv、.ts)自动提取图像。只需将视频文件放入 images 文件夹并正常运行程序即可。同时还支持包含 GPS 信息的字幕文件(.srt)。
开发者指南
对于希望参与 ODM 开发的用户,可以使用开发环境:
DATA=/path/to/datasets ./start-dev-env.sh
在开发容器中配置依赖:
bash configure.sh reinstall
测试修改:
./run.sh --project-path /datasets mydataset
故障排除
- 确保 Docker 已正确安装并运行
- 检查图像文件格式是否受支持(JPEG、TIFF、DNG)
- 确保有足够的磁盘空间处理大型数据集
- 对于 GPU 加速,确认 NVIDIA 驱动和 CUDA 已正确安装
通过以上步骤,您可以成功安装和配置 OpenDroneMap,开始处理您的无人机图像数据并生成专业级的地理空间产品。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




