OpenDroneMap/NodeODM
A lightweight REST API to access aerial image processing engines such as ODM or MicMac
解决的问题
将航空无人机图像处理为地图和 3D 模型通常需要复杂的、特定于引擎的设置和脚本。NodeODM 提供了一个标准化、易于使用的 API 和一个即用型 Web 服务器,负责处理与 OpenDroneMap (ODM) 等处理后端的通信。它提供了一致的接口,供 CloudODM 和 PyODM 等其他工具使用,因此您可以从浏览器或自己的代码启动图像处理任务,而无需直接管理底层引擎。
工作原理
NodeODM 是一个 Node.js 应用程序,公开了其自身规范中定义的 Web API。运行时,它会启动一个 Web 服务器(默认端口 3000),您可以在其中上传无人机图像、启动处理任务并下载结果。服务器与 ODM 引擎(官方 ODM Docker 镜像或自定义镜像)通信以执行实际摄影测量工作。它管理任务编排、数据存储,并且在使用支持 GPU 的 Docker 镜像并带有 --gpus all 标志时,可以使用 GPU 加速(通过 CUDA)。它可以通过多种方式部署:作为 Docker 容器、作为原生进程或作为独立的 Windows 可执行文件。它还支持模拟 ODM 调用的测试模式,使开发人员无需完整的 ODM 设置即可轻松测试 API。
适用人群
- 需要交钥匙 Web 界面来处理航空图像的无人机爱好者和专业人士。
- 构建需要航空图像处理的应用程序的开发人员,因为 NodeODM 提供了干净的 REST API。
- 希望通过 Docker、PM2 或 Windows 部署可部署服务器的系统管理员。
- 在高性能计算集群上工作并需要通过 Apptainer 使用无根容器选项的研究人员。
亮点
- 标准化 API 规范,也被 CloudODM 和 PyODM 使用。
- 生产就绪的 Node.js 参考实现。
- Web 界面允许您一键上传图像并启动任务。
- 使用专用 Docker 镜像为 NVIDIA 显卡(CUDA)提供 GPU 加速。
- 灵活部署:Docker、原生、Windows 捆绑包、PM2 或 Apptainer(无根)。
- 模拟 ODM 调用的测试模式,适用于开发和自动化测试。
- 可以指向自定义 ODM 镜像以测试替代处理引擎。
相关
- 项目
- 项目
- 项目
- 项目