OpenDroneMap (ODM) 命令行参数中文说明文档
版本:ODM 3.5.6
更新时间:2025年11月1日
一、通用选项
| 参数 | 类型/默认值 | 说明 |
-h, --help | 动作:显示帮助 | 显示此帮助信息并退出。 |
--version | 动作:显示版本 | 显示当前 ODM 版本号(ODM 3.5.6)并退出。 |
二、项目与数据集配置
| 参数 | 类型/默认值 | 说明 |
--project-path <path> | 路径 | 指定项目文件夹路径。项目文件夹中应包含多个数据集子文件夹,每个数据集需有 images 子目录存放图像。 |
name | 字符串,默认:code | 数据集名称(即项目文件夹下的子文件夹名)。若未指定,则使用默认值 code。 |
三、流程控制
| 参数 | 类型/默认值 | 说明 |
--end-with <string> | 可选值:<br>dataset, split, merge, opensfm, openmvs, odm_filterpoints, odm_meshing, mvs_texturing, odm_georeferencing, odm_dem, odm_orthophoto, odm_report, odm_postprocess<br>默认:odm_postprocess | 指定处理流程在哪个阶段结束。可用于调试或仅生成中间结果。 |
--rerun <string> | 同上 | 仅重新运行指定阶段并停止。用于重做某一步骤。 |
--rerun-all | 标志位(布尔)<br>默认:False | 彻底删除所有已有结果,重新运行整个处理流程。 |
--rerun-from <string> | 同上 | 从指定阶段开始重新运行后续所有步骤。 |
四、特征提取与匹配
| 参数 | 类型/默认值 | 说明 |
--min-num-features <integer> | 整数,默认:10000 | 每张图像提取的最小特征点数量。增加可提升匹配成功率,但会降低速度。 |
--feature-type <string> | 可选值:<br>akaze, dspsift, hahog, orb, sift<br>默认:dspsift | 特征提取算法。sift 稳定性好但慢;orb 快但精度较低。 |
--feature-quality <string> | 可选值:<br>ultra, high, medium, low, lowest<br>默认:high | 特征提取质量。越高越精确,但更耗内存和时间。 |
--matcher-type <string> | 可选值:<br>bow, bruteforce, flann<br>默认:flann | 图像匹配算法。<br>flann:稳定但较慢;<br>bow:快但可能漏匹配;<br>bruteforce:最慢但最可靠。 |
--matcher-neighbors <positive integer> | 整数,默认:0 | 使用 GPS 信息匹配最近的 N 张图像。设为 0 表示使用三角剖分匹配。 |
--matcher-order <positive integer> | 整数,默认:0 | 按文件名顺序匹配前 N 张图像,适用于视频帧等序列图像。非地理参考数据集有效。 |
五、相机与几何建模
| 参数 | 类型/默认值 | 说明 |
--use-fixed-camera-params | 标志位,默认:False | 关闭相机参数优化(Bundle Adjustment),适用于滚动快门相机或出现“鼓包”现象时。 |
--cameras <json> | JSON 或路径 | 使用其他数据集计算出的相机参数(cameras.json),避免重复标定。支持文件路径或 JSON 字符串。 |
--camera-lens <string> | 可选值:<br>auto, perspective, brown, fisheye, fisheye_opencv, spherical, equirectangular, dual<br>默认:auto | 手动设置相机镜头类型,有助于改善畸变校正效果。 |
--sfm-algorithm <string> | 可选值:<br>incremental, triangulation, planar<br>默认:incremental | 结构光运动(SfM)算法选择。<br>triangulation:适合航拍且带 GPS/姿态数据;<br>planar:适合正射拍摄的平面场景。 |
--sfm-no-partial | 标志位,默认:False | 不合并部分重建模型(如因重叠不足导致的孤立模型)。 |
--use-hybrid-bundle-adjustment | 标志位,默认:False | 对大型数据集启用混合束调整(局部+全局),加快重建速度。 |
--rolling-shutter | 标志位,默认:False | 启用滚动快门校正,适用于移动中拍摄的图像。需配合 --rolling-shutter-readout 使用。 |
--rolling-shutter-readout <ms> | 浮点数,默认:0 | 覆盖传感器滚动快门读出时间(毫秒)。设为 0 使用内置数据库值。 |
六、图像预处理与AI辅助
| 参数 | 类型/默认值 | 说明 |
--sky-removal | 标志位,默认:False | 使用 AI 自动计算图像掩膜以去除天空区域(实验性功能)。 |
--bg-removal | 标志位,默认:False | 使用 AI 自动去除图像背景(实验性功能)。 |
--radiometric-calibration <string> | 可选值:<br>none, camera, camera+sun<br>默认:none | 辐射校准模式。<br>camera:适用于多光谱/热成像,进行黑电平、 vignetting、温度校正;<br>camera+sun:实验性,结合太阳角度和DLS传感器补偿光照变化。 |
七、点云处理
| 参数 | 类型/默认值 | 说明 |
--pc-quality <string> | 可选值:<br>ultra, high, medium, low, lowest<br>默认:medium | 点云质量。每提升一级,处理时间约增加4倍。 |
--pc-classify | 标志位,默认:False | 对点云进行分类(地面、植被等),需配合 --dem-* 参数调整行为。 |
--pc-csv | 标志位,默认:False | 导出地理参考点云为 CSV 格式。 |
--pc-las | 标志位,默认:False | 导出点云为 LAS 格式。 |
--pc-ept | 标志位,默认:False | 导出点云为 Entwine Point Tile (EPT) 格式。 |
--pc-copc | 标志位,默认:False | 保存点云为 Cloud Optimized Point Cloud (COPC) 格式。 |
--pc-filter <float> | 正浮点数,默认:5 | 滤除偏离局部均值超过 N 个标准差的异常点。设为 0 禁用。 |
--pc-sample <float> | 正浮点数,默认:0 | 在半径 N 米内保留一个点,用于降采样或去重。设为 0 禁用。 |
--pc-skip-geometric | 标志位,默认:False | 跳过几何一致性深度图估计,适用于大场景或性能受限情况。 |
--pc-rectify | 标志位,默认:False | 对点云进行地面校正,修复误分类的地面点并填补空洞,适用于生成 DTM。 |
八、三维网格与纹理
| 参数 | 类型/默认值 | 说明 |
--use-3dmesh | 标志位,默认:False | 使用完整 3D 网格而非 2.5D 网格生成正射影像,略快且平面区域效果相似。 |
--skip-3dmodel | 标志位,默认:False | 跳过生成完整 3D 模型,节省时间(仅需正射影像或 DEM 时可用)。 |
--mesh-size <integer> | 正整数,默认:200000 | 输出网格的最大顶点数。 |
--mesh-octree-depth <1-14> | 整数,默认:11 | 网格重建的八叉树深度,推荐值 8–12。值越大细节越多。 |
--texturing-skip-global-seam-leveling | 标志位,默认:False | 跳过跨图像的颜色归一化,适用于辐射校准后的数据。 |
--texturing-keep-unseen-faces | 标志位,默认:False | 保留未被任何相机看到的网格面片。 |
--texturing-single-material | 标志位,默认:False | 生成单材质、单纹理的 OBJ 模型。 |
--gltf | 标志位,默认:False | 生成二进制 glTF 格式(.glb)的纹理化 3D 模型。 |
九、地理参考与控制点
| 参数 | 类型/默认值 | 说明 |
--gcp <path> | 文件路径 | 地面控制点(GCP)文件路径,格式如下:` ```\nEPSG: 或 <+proj>\ngeo_x geo_y geo_z im_x im_y image_name [gcp_name] [extra1] [extra2]\n`` |
--geo <path> | 文件路径 | 图像地理定位文件路径,提供相机中心坐标(可含 yaw/pitch/roll),格式:` ```\nEPSG: 或 <+proj>\nimage_name geo_x geo_y geo_z [yaw] [pitch] [roll] [horz_acc] [vert_acc]\n`` |
--use-exif | 标志位,默认:False | 即使存在 GCP 文件,也优先使用 EXIF 中的 GPS 信息进行地理参考。 |
--force-gps | 标志位,默认:False | 强制使用图像的 GPS EXIF 数据进行重建,即使存在 GCP(适用于高精度 GPS 场景)。 |
--gps-accuracy <float> | 正浮点数,默认:3 | 设置所有图像的 GPS 精度(DOP,单位:米)。RTK 数据会自动识别,也可手动设置以改善“鼓包”效应。 |
--gps-z-offset <float> | 浮点数,默认:0 | 给 GPS 高程(Z轴)添加偏移量(单位:米),例如将椭球高转为正高。不修改 GCP 值。 |
--align <path> | DEM 或 LAS/LAZ 文件路径 | 将重建结果自动对齐到给定的 GeoTIFF DEM 或点云(实验性功能)。 |
十、DEM 与 DTM 生成
| 参数 | 类型/默认值 | 说明 |
--dtm | 标志位,默认:False | 生成数字地形模型(DTM,仅地面),使用简单形态学滤波器。 |
--dsm | 标志位,默认:False | 生成数字表面模型(DSM,包含地物),使用渐进形态学滤波器。 |
--dem-resolution <float> | 浮点数,默认:5 | DSM/DTM 分辨率(单位:厘米/像素)。受 GSD 估计限制。 |
--dem-decimation <integer> | 正整数,默认:1 | 生成 DEM 前对点云进行降采样。1=无降采样,100≈保留1%。用于加速大场景处理。 |
--dem-gapfill-steps <integer> | 正整数,默认:3 | 使用反距离加权(IDW)填补空洞的步数。设为 0 禁用。 |
--dem-euclidean-map | 标志位,默认:False | 为每个 DEM 生成欧几里得距离图,表示每个像元到最近 NODATA 区域的距离,用于识别填充区域。 |
十一、正射影像(Orthophoto)
| 参数 | 类型/默认值 | 说明 |
--skip-orthophoto | 标志位,默认:False | 跳过正射影像生成,节省时间(仅需 3D 模型或 DEM 时可用)。 |
--fast-orthophoto | 标志位,默认:False | 快速正射影像:跳过密集重建和 3D 模型,直接从稀疏重建生成正射影像。适合仅需正射图的场景。 |
--orthophoto-resolution <float> | 正浮点数,默认:5 | 正射影像分辨率(单位:厘米/像素)。受 GSD 估计限制。 |
--orthophoto-compression <string> | 可选值:<br>JPEG, LZW, PACKBITS, DEFLATE, LZMA, NONE<br>默认:DEFLATE | 正射影像 GeoTIFF 压缩方式。DEFLATE 平衡压缩比与性能。 |
--orthophoto-no-tiled | 标志位,默认:False | 生成条带式(striped)而非瓦片式(tiled)GeoTIFF。 |
--orthophoto-png | 标志位,默认:False | 额外生成 PNG 格式的正射影像渲染图。 |
--orthophoto-kmz | 标志位,默认:False | 生成可用于 Google Earth 的 KMZ 文件。 |
--orthophoto-cutline | 标志位,默认:False | 生成围绕裁剪区域的多边形切线,便于拼接多个正射影像形成无缝马赛克。 |
--build-overviews | 标志位,默认:False | 为正射影像构建金字塔概览图,提升 QGIS 等软件的显示性能。 |
--cog | 标志位,默认:False | 生成云优化 GeoTIFF(COG),支持高效流式访问。 |
十二、输出与后处理
| 参数 | 类型/默认值 | 说明 |
--crop <float> | 正浮点数,默认:3 | 自动裁剪输出图像,在数据集边界外创建缓冲区并收缩 N 米。设为 0 禁用裁剪。 |
--boundary <json> | GeoJSON 多边形(路径或字符串) | 限定重建区域的地理边界。支持文件路径或 JSON 字符串。 |
--auto-boundary | 标志位,默认:False | 根据相机位置自动计算重建边界,减少远处背景干扰(如天空、远景)。 |
--auto-boundary-distance <float> | 正浮点数,默认:0 | 设置自动边界与相机位置之间的距离(单位:米)。0 表示自动选择。 |
--skip-report | 标志位,默认:False | 跳过生成 PDF 报告,节省时间。 |
--copy-to <path> | 路径 | 处理完成后将结果复制到指定目录。 |
--tiles | 标志位,默认:False | 为正射影像和 DEM 生成静态瓦片(适用于 Leaflet、OpenLayers 等地图查看器)。 |
--3d-tiles | 标志位,默认:False | 生成 OGC 3D Tiles 格式的 3D 场景,支持 Web 端高效加载。 |
--optimize-disk-space | 标志位,默认:False | 删除中间大文件以节省磁盘空间(影响中断后续跑的能力,但适合空间有限环境)。 |
十三、多光谱与特殊处理
| 参数 | 类型/默认值 | 说明 |
--primary-band <string> | 字符串,默认:auto | 多光谱数据集中用于重建的主波段名称。建议选择细节清晰、聚焦良好的波段。 |
--skip-band-alignment | 标志位,默认:False | 跳过多光谱各波段间的自动对齐(若已预处理对齐)。 |
十四、视频处理
| 参数 | 类型/默认值 | 说明 |
--video-limit <integer> | 正整数,默认:500 | 从视频中提取用于处理的最大帧数。设为 0 表示无限制。 |
--video-resolution <integer> | 正整数,默认:4000 | 提取视频帧的最大分辨率(像素)。 |
十五、分块与并行处理(Split-Merge)
| 参数 | 类型/默认值 | 说明 |
--split <integer> | 正整数,默认:999999 | 分块处理时,每块平均图像数量。用于大场景分割。 |
--split-overlap <float> | 正浮点数,默认:150 | 分块之间的重叠半径(单位:米),确保相邻子模型有足够重叠。需 GPS 数据。 |
--split-image-groups <path> | 文件路径 | 指定图像分组文件,控制哪些图像属于同一组。格式:<br>image_name group_name |
--sm-no-align | 标志位,默认:False | 分块-合并中跳过子模型对齐步骤,适用于 GPS 精度很高的大场景。 |
--sm-cluster <url> | URL | 指向 ClusterODM 实例的地址,用于分布式并行处理。 |
--merge <string> | 可选值:<br>all, pointcloud, orthophoto, dem<br>默认:all | 指定在合并阶段要合并的内容。 |
十六、硬件与性能
| 参数 | 类型/默认值 | 说明 |
--max-concurrency <integer> | 正整数,默认:64 | 最大并发进程数。每线程峰值内存约 1GB(每 200 万像素)。 |
--no-gpu | 标志位,默认:False | 禁用 GPU 加速,即使可用。 |
--ignore-gsd | 标志位,默认:False | 忽略地面采样距离(GSD)估计。警告:极耗内存与CPU,通常不建议启用。 |
使用建议
- 小数据集:可使用默认参数快速出图。
- 大数据集:建议启用
--split、--max-concurrency 和--optimize-disk-space。
- 高精度需求:使用 GCP 并关闭
--force-gps,调整--pc-quality 和--dem-resolution。
- 仅需正射影像:启用
--fast-orthophoto 和--skip-3dmodel 提高速度。
- 多光谱数据:设置
--radiometric-calibration=camera 和--primary-band。
📌 注意:部分功能为实验性(Experimental),可能不稳定,请谨慎使用。
如需进一步了解某参数的具体应用案例或配置文件写法,请参考 ODM 官方文档。
文档整理时间:2025年11月1日
宝剑锋从磨砺出,梅花香自苦寒来.