OpenDroneMap (ODM) 无人机影像三维模型重建安装及使用快速上手

OpenDroneMap (ODM) 无人机影像三维模型重建安装及使用快速上手

1 文档概述

本文档是指导用户从零开始,使用 OpenDroneMap 对无人机采集的影像数据进行处理,生成三维点云、数字表面模型(DSM)、正射影像图(Orthomosaic)等成果。

本文档的预期读者为拥有无人机航拍影像(JPG/PNG格式)并希望进行三维建模的用户。

2.1 系统运行环境要求

- 操作系统:Windows 10/11, macOS, 或 Linux (推荐 Ubuntu)。

- CPU:多核心处理器(4核以上推荐,8核或更多更佳)(处理200张以上影像建议16GB+)。

- 内存 (RAM):至少 16GB,处理大面积区域建议 32GB 或以上。

- 硬盘空间:预留充足的存储空间。原始影像、中间文件和最终成果会占用大量空间。建议准备 影像大小的10-20倍 的可用空间(例如,1GB影像需要10-20GB空间)。

- 显卡 (GPU):虽然ODM主要依赖CPU,但拥有支持CUDA的NVIDIA GPU可以显著加速某些步骤(如深度图计算)。AMD/Intel集成显卡也可运行,但速度较慢

2.2 数据准备

· 将无人机采集的所有照片集中存放在一个文件夹中。

· 确保照片包含GPS信息(EXIF中的GPS Latitude, GPS Longitude, GPS Altitude)。这是自动定位的关键。检查方式:右键图片查看属性,图片需要带有位置信息,如下图所示:

· 建议使用一致的拍摄设置(分辨率、焦距、光圈),重叠率建议:航向重叠70%-80%,旁向重叠60%-70%。

· 清理掉模糊、过曝或完全遮挡的照片。· 如果没有数据,可以参考官方提供的数据示例:比如使用aukerman数据:

https://github.com/OpenDroneMap/ODMdata

3. OMD安装部署

3.1 系统安装说明

3.1.1 手动安装(推荐)

下载地址:https://github.com/OpenDroneMap/ODM/releases 

下载exe文件,双击安装运行,运行成功后出现ODM Console弹窗。

3.1.2 Docker安装指南

ODM推荐使用Docker容器化部署,避免复杂的依赖配置。以下是各操作系统的安装步骤(已安装Docker或者Dockerdesktop可以忽略安装部分,直接拉取镜像):

3.1.2.1 Windows系统

 1、访问Docker Desktop官网下载安装程序:

https://www.docker.com/products/docker-desktop/

2、双击安装文件,启用"使用WSL 2而不是Hyper-V"选项

3、安装完成后启动Docker,等待系统托盘图标显示"Docker Desktop running"

3.1.2.2 macOS系统

使用Homebrew安装:brew install --cask docker

从应用程序文件夹启动Docker

首次运行需在系统偏好设置→安全性与隐私中允许开发者权限。

3.1.2.3 Linux系统

# Ubuntu/Debian示例 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER  # 允许当前用户运行docker命令 newgrp docker  # 无需重启即可应用用户组变更

3.1.2.4 镜像包拉取

验证Docker是否安装成功:

docker --version  # 应显示Docker version 20.10+

拉取odm镜像

docker pull opendronemap/odm:latest

中国用户可使用镜像加速服务:

docker pull registry.docker-cn.com/opendronemap/odm

4. 系统使用说明

4.1 航拍照片处理

需要新建一个文件夹,并在里面建立一个images文件夹(存放要拼接的图片),图片需要自带GPS信息,(如果没有GPS信息,则需要用geo.txt文件存放图片的GPS信息)。

4.2 手动安装ODM执行(推荐)

在ODM Console弹窗中输入‘run --feature-type=sift --matcher-type=flann --skip-3dmodel D:\odm_test’ 运行,其中最后面‘D:\odm_tes’为存放照片的文件夹路径。

run --feature-type=sift --matcher-type=flann --skip-3dmodel D:\odm_test

等待执行,(24张照片,我大概跑了10分钟)出现ODM app finished以下页面,则表示运行完毕。

文件夹中,除了准备的images、geo.txt和test.py准备文件,剩下的都是生成的结果文件,按需选择相应的结果。使用meshlab软件查看ply文件,可以看到三维模型。

4.3 Docker版本ODM执行

4.3.1 基础重建命令详解

在终端中执行以下命令启动基础重建流程:

Linux/Mac示例

docker run -ti --rm -v ~/datasets:/datasets opendronemap/odm --project-path /datasets/my_project

Windows示例

docker run -ti --rm -v c:/datasets:/datasets opendronemap/odm --project-path /datasets/my_project

命令参数解析:

-ti:启用交互式终端

--rm:处理完成后自动删除容器

-v:挂载本地目录到容器内(格式:本地路径:容器路径)

--project-path:指定项目根目录

my_project:项目名称(对应datasets下的文件夹)

执行命令后,ODM将显示实时进度,典型输出如下:

[INFO]    Initializing ODM 3.1.9

[INFO]    Maximum photo dimensions: 5472px

[INFO]    Loading 120 images

[INFO]    Found GPS coordinates in EXIF data

[INFO]    Running OpenSfM reconstruction

[INFO]    Feature matching complete (12456 features matched)

4.3.2 高级参数调优

根据项目需求添加参数可显著提升输出质量。以下是最常用的优化参数:

4.3.2.1 提高重建精度

生成数字表面模型(DSM)并提高正射影像分辨率至2cm/像素

docker run -ti --rm -v ~/datasets:/datasets opendronemap/odm --project-path /datasets/my_project --dsm --orthophoto-resolution 2

4.3.2.2 处理大型数据集

启用分块处理,限制内存使用

docker run -ti --rm -v ~/datasets:/datasets opendronemap/odm --project-path /datasets/my_project --split 100 --max-concurrency 4

4.3.2.3 GPU加速(需NVIDIA显卡)

使用GPU加速特征提取,处理速度提升2-3倍

docker run -ti --rm -v ~/datasets:/datasets --gpus all opendronemap/odm:gpu --project-path /datasets/my_project --use-gpu

完整参数列表可通过docker run opendronemap/odm --help查看,常用参数速查表:

4.4 数据查看软件

4.4.1 正射影像与DEM查看(QGIS)

1. 下载安装

QGIS(国内用户建议使用OSGeo中国镜像)

2. 启动后点击"图层"→"添加图层"→"添加光栅图层"

3. 选择odm_orthophoto.tif文件,QGIS会自动识别地理坐标并定位

4.4.2 点云分析(CloudCompare)

1. 安装

CloudCompare

2. 打开软件后拖拽odm_georeferenced_model.laz文件到窗口

3. 使用快捷键:

4. W:切换线框/实体显示

5. E:调整点大小

6. Ctrl+F:启用颜色映射,按高程着色

4.4.3 三维模型查看(MeshLab)

 1. 安装

MeshLab

2. 打开odm_textured_model.obj文件

3. 右键点击模型→"渲染"→"纹理"启用纹理显示

5. 常见问题解决与性能优化

1. 影像重叠不足:确保前向重叠>70%,旁向>60%,解决方案:重新规划航线或使用--min-num-features 8000参数

2. 内存不足:处理200张以上影像需16GB+内存,临时解决方案:--downsample 0.5降低分辨率

3. GPS数据缺失:部分无人机未记录GPS,解决方案:添加--no-gps参数

4. 影像模糊:运动模糊会导致特征匹配失败,建议飞行速度

5. 光照变化大:拍摄时光照条件不一致,使用--use-3dmesh-texturing参数

6. 磁盘空间不足:单个项目需5-15GB空间,清理odm_texturing目录可释放临时文件

7. Docker权限问题:Linux用户需加入docker用户组,执行sudo usermod -aG docker $USER

8. 中文字符路径:所有文件夹和文件名不能包含中文

9. 相机参数异常:执行exiftool images/*.jpg检查焦距信息是否存在

10. 网络超时:首次运行需下载依赖,建议使用国内镜像或加速服务

6. 参考资料:

https://blog.ZEEKLOG.net/gitblog_00189/article/details/151913607

https://segmentfault.com/a/1190000010612098

https://blog.ZEEKLOG.net/V_V_V_V_V_V/article/details/148581770

https://blog.ZEEKLOG.net/Hugh_W/article/details/144175562

Read more

今日AI新鲜资讯(2026年3月11日)

今天是2026年3月11日,周三。AI领域热点持续发酵——“养龙虾”热潮催生“上门卸载”新生意,周鸿祎宣布推出360安全龙虾,英伟达版“龙虾”NemoClaw即将登场。以下是今日值得关注的重要资讯。 一、今日焦点:“养龙虾”热潮降温,安全与卸载成新关键词 第一批“养龙虾”的人开始花钱请人“上门卸载”。随着OpenClaw持续火爆,早期尝鲜者开始发现“养龙虾”并非想象中那么简单。据金十数据报道,第一批“养龙虾”的人,开始花钱请人“上门卸载”。这标志着“养龙虾”热潮从盲目跟风进入理性回调阶段。 国家互联网应急中心发布OpenClaw安全应用风险提示。前期由于OpenClaw智能体的不当安装和使用,已经出现了一些严重的安全风险。应急中心建议采取以下安全措施: * 强化网络控制,不将OpenClaw默认管理端口直接暴露在公网 * 对运行环境进行严格隔离,限制OpenClaw权限过高问题 * 加强凭证管理,避免在环境变量中明文存储密钥 * 建立完整的操作日志审计机制 * 严格管理插件来源,禁用自动更新功能 多地地方政府推出“养龙虾”便民措施。

全网首发!OpenClaw 云端部署喂饭级教程,零成本 30 分钟打造 7x24h AI 员工

全网首发!OpenClaw 云端部署喂饭级教程,零成本 30 分钟打造 7x24h AI 员工

↑阅读之前记得关注+星标⭐️,😄,每天才能第一时间接收到更新 Hello 大家好,我是鹿先森,祝大家新年快乐! 前两天聊 Kimi Claw 的文章突然爆火,没想到大家对 OpenClaw 的热情这么高!就连除夕夜 12 点,都有小伙伴在疯狂进群领取《OpenClaw 本地部署保姆级教程》,看群里的热烈反馈,大家都已经成功上手玩起来了! (没领到的朋友可以挪步之前的文章获取暗号) 但在和大家的交流中,我发现了一个普遍的痛点,本地部署响应太慢了,并且对配置有要求,有的朋友电脑是老款 Win7 插件都安装不上,有的朋友觉得电脑必须 24 小时开机才能用,太费电也不方便。 为了解决这个问题,我连夜爆肝出了这篇《OpenClaw 零成本云端部署喂饭级教程》,阅读大概需要10分钟,建议收藏慢慢看。 不需要你的电脑 24 小时开机,不需要高性能显卡,只需要一次性操作,把 OpenClaw 搬到云端,不仅稳定,而且完全免费!

【前沿解析】2026年3月29日:AI推理效率双重突破——谷歌TurboQuant内存压缩与RWKV-6开源重构大模型部署范式

当百万级上下文成为AI应用标配,当边缘设备渴求智能部署,内存墙与算力瓶颈正成为制约AI规模化落地的最后枷锁。2026年3月29日,两大技术突破同步到来:谷歌研究院发布TurboQuant算法,将KV缓存内存占用压缩6倍、速度提升8倍;RWKV开源基金会宣布RWKV-6 1.6B模型正式开源,线性复杂度架构打破Transformer二次方魔咒。这不仅是技术的双重突破,更是AI从实验室走向产业、从云端下沉到终端的范式革命。 引言:效率革命的双引擎——内存压缩与架构创新 2026年3月,AI行业迎来了标志性的效率拐点。在算力增长曲线趋缓、摩尔定律失效的背景下,通过算法优化提升现有硬件效能成为唯一可行路径。谷歌TurboQuant与RWKV-6开源,恰如效率革命的双引擎,从两个维度同时突破传统瓶颈: * TurboQuant:针对大模型推理最核心的内存瓶颈——KV缓存,通过PolarQuant坐标变换与QJL误差校正,实现3-bit量化下的零精度损失,实测内存占用降低83%、注意力计算速度提升8倍 * RWKV-6:基于线性复杂度的时间序列混合架构,在保持强大序列建模能

AI的提示词专栏:错误定位 Prompt,快速定位异常堆栈

AI的提示词专栏:错误定位 Prompt,快速定位异常堆栈

AI的提示词专栏:错误定位 Prompt,快速定位异常堆栈 本文聚焦错误定位 Prompt 的设计与应用,先阐释异常堆栈的核心构成及开发者定位错误时的信息过载、经验依赖等痛点,明确错误定位 Prompt 需实现信息提取、根因推测、行动指南三大目标。接着分别给出适用于新手的基础模板与面向资深开发者的进阶模板,结合 Python 索引越界、微服务订单创建错误等案例展示模板实战效果。还介绍了针对 Java、Python、JavaScript 等多语言及数据库、分布式链路等特殊场景的 Prompt 适配技巧,提出通过约束输出细节、添加负面清单、示例引导优化模型输出的方法,最后以章节总结和含思路点拨的课后练习巩固知识,助力开发者借助 Prompt 高效定位不同场景下的程序错误。 人工智能专栏介绍     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,都能在这里找到合适的内容。