登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
图像视觉
›
ODM:用于处理图像的开源命令行工具包
返回列表
发新帖
查看:
671
|
回复:
0
ODM:用于处理图像的开源命令行工具包
[复制链接]
crazyai
crazyai
当前离线
积分
1044
窥视卡
雷达卡
337
主题
370
帖子
1044
积分
金牌飞友
金牌飞友, 积分 1044, 距离下一级还需 1956 积分
金牌飞友, 积分 1044, 距离下一级还需 1956 积分
积分
1044
飞币
672
注册时间
2017-8-2
发消息
发表于 2023-11-24 14:40:08
|
显示全部楼层
|
阅读模式
#挑战30天在头条写日记#
用于处理航空无人机图像的开源命令行工具包。ODM 将简单的 2D 图像转变为:
分类点云
3D 纹理模型
地理参考正射影像
地理参考数字高程模型
该应用程序适用于 Windows、Mac 和 Linux,并且通过命令行运行,非常适合高级用户、脚本以及与其他软件集成。
如果您不想在 shell 中键入命令并且正在寻找友好的用户界面,请查看WebODM。
快速开始
运行 ODM 的最简单方法是通过 docker。要安装 docker,请参阅docs.docker.com。安装并运行docker 后,您可以通过将一些图像(JPEG 或 TIFF)放入名为“images”的文件夹(例如C:\Users\youruser\datasets\project\images或/home/youruser/datasets/project/images)中来运行 ODM,然后只需从命令提示符/终端运行即可:
# Windowsdocker run -ti --rm -v c:/Users/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project# Mac/Linuxdocker run -ti --rm -v /home/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project
您可以通过将附加参数附加到命令来传递其他参数:
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project [--additional --parameters --here]
例如,要生成 DSM ( --dsm) 并提高正射影像分辨率 ( --orthophoto-resolution 2):
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project --dsm --orthophoto-resolution 2
查看结果
该过程完成后,结果将组织如下:
|-- images/ |-- img-1234.jpg |-- ...|-- opensfm/ |-- see mapillary/opensfm repository for more info|-- odm_meshing/ |-- odm_mesh.ply # A 3D mesh|-- odm_texturing/ |-- odm_textured_model.obj # Textured mesh |-- odm_textured_model_geo.obj # Georeferenced textured mesh|-- odm_georeferencing/ |-- odm_georeferenced_model.laz # LAZ format point cloud|-- odm_orthophoto/ |-- odm_orthophoto.tif # Orthophoto GeoTiff
您可以使用以下免费开源软件打开ODM中生成的文件:
.tif (GeoTIFF):QGIS
.laz(压缩 LAS):CloudCompare
.obj(波前 OBJ)、.ply(斯坦福三角格式):MeshLab
笔记!
在 Photoshop 或 GIMP 等程序中打开 ODM 生成的 .tif 文件可能无法正常工作(它们是 GeoTIFF,而不是普通 TIFF)。请改用QGIS。
应用程序编程接口
可以通过NodeODM从网络访问 ODM 。
Windows 设置
ODM 可以本地安装在 Windows 上。只需从发布页面下载最新设置即可。打开 ODM 控制台后,您可以通过键入以下内容来处理数据集:
run C:\Users\youruser\datasets\project [--additional --parameters --here]
快照包
ODM 现已作为 Snap 包从 Snap Store 提供。要安装,您可以使用 Snap Store(本身作为 Snap 包提供)或命令行:
sudo snap install --edge opendronemap
要运行,您将需要一个终端窗口,您可以在其中键入:
opendronemap# orsnap run opendronemap# or/snap/bin/opendronemap
Snap 包将自动保持最新,因此您无需手动更新 ODM。
GPU加速
ODM 支持在 GPU 上进行 SIFT 特征提取,这比典型消费笔记本电脑上的 CPU 快约 2 倍。要使用此功能,您需要使用opendronemap/odm:gpudocker 映像来代替opendronemap/odm,并且需要传递--gpus all标志:
docker run -ti --rm -v c:/Users/youruser/datasets:/datasets --gpus all opendronemap/odm:gpu --project-path /datasets project
当您运行 ODM 时,如果 GPU 被识别,则在输出的前几行中您应该看到:
[INFO] Writing exif overrides[INFO] Maximum photo dimensions: 4000px[INFO] Found GPU device: Intel(R) OpenCL HD Graphics[INFO] Using GPU for extracting SIFT features
SIFT GPU 实现基于 CUDA,因此应与 GTX 9xx 代或更新版本的大多数 NVIDIA 显卡配合使用。
如果您有 NVIDIA 卡,您可以通过运行以下命令来测试 docker 是否正在识别 GPU:
docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi
如果您看到如下所示的输出:
Fri Jul 24 18:51:55 2020 +-----------------------------------------------------------------------------+| NVIDIA-SMI 440.82 Driver Version: 440.82 CUDA Version: 10.2 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
WSL 或 WSL2 安装
注意:这要求您已经按照Microsoft 网站上的说明安装了 WSL 。
您可以从GitHub 上的发布页面rootfs.tar.gz下载文件,通过 WSL 或 WSL2 运行 ODM 。将文件保存到Windows 中的文件夹后,右键单击“标志菜单”(默认情况下位于左下角)并选择“Windows PowerShell”,或者使用 Windows 应用商店中的 Windows 终端,打开 PowerShell 或 CMD窗口。Downloads
在 PowerShell 窗口或运行 PowerShell 的 Windows 终端中,键入以下内容:
# PowerShellwsl.exe --import ODM $env:APPDATA\ODM C:\path\to\your\Downloads\rootfs.tar.gz
或者,如果您正在使用Windows 终端类型CMD.exe或支持:CMD
# CMDwsl.exe --import ODM %APPDATA%\ODM C:\path\to\your\Downloads\rootfs.tar.gz
无论哪种情况,请确保替换C:\path\to\your\Downloads\rootfs.tar.gz为文件的实际路径rootfs.tar.gz。
这会将新的硬盘映像保存到您的 WindowsAppData文件夹C:\Users\username\AppData\roaming\ODM(usernameWindows 中您的用户名),并设置一个名为 的新 WSL“发行版” ODM。
您可以使用 Windows 终端(来自 Windows 应用商店)中的相关选项或wsl.exe -d ODM在 PowerShell 或 CMD 窗口中执行来启动 ODM 发行版。
ODM 安装到发行版的/code目录中。您可以使用以下命令执行它:
/code/run.sh
更新 WSL 中的 ODM
更新 ODM 安装的最简单方法是下载新rootfs.tar.gz文件并将其导入为另一个发行版。然后,您可以像从 WSL 中删除 ODM 一样取消注册原始实例(请参阅下一个标题)。
删除 WSL 实例中的 ODM
wsl.exe --unregister ODM
最后,您需要使用 Windows 文件管理器(资源管理器)导航到%APPDATA%,找到该ODM目录,然后将其拖到回收站来删除它,从而删除文件。要永久删除它,请清空回收站。
--import如果您通过更改运行安装的命令安装到其他目录,则必须使用该目录名称来删除正确的文件。如果您有多个 ODM 安装或正在更新已安装的安装,则可能会出现这种情况。
本机安装(Ubuntu 21.04)
您可以在 Ubuntu 21.04 上本机运行 ODM(尽管我们不推荐):
git clone https://github.com/OpenDroneMap/ODMcd ODMbash configure.sh install
然后您可以使用以下方法处理数据集./run.sh /datasets/odm_data_aukerman
本机安装 (MacOS)
您可以在 Intel/ARM MacOS 上本机运行 ODM。
首次安装:
Xcode 13(不是 14,目前有一个错误)
自制
然后运行:
git clone https://github.com/OpenDroneMap/ODMcd ODMbash configure_macos.sh install
然后您可以使用以下方法处理数据集./run.sh /datasets/odm_data_aukerman
这在未来可能会得到改善。帮助我们创建自制公式。
更新本机安装
更新到较新版本的本机 ODM 时,建议您运行:
bash configure.sh reinstall
确保所有依赖包和模块都得到更新。
从源代码构建 Docker 镜像
如果您想重建自己的 docker 映像(例如,如果您更改了源代码),您可以从 ODM 文件夹中键入:
docker build -t my_odm_image --no-cache .
在构建自己的 Docker 映像时,如果映像大小对您很重要,则应该使用该--squash标志,如下所示:
docker build --squash -t my_odm_image .
这将清理 Docker 构建过程中的中间步骤,从而生成明显更小的映像(大约一半大小)。
需要在 Docker 中启用实验标志才能使用该--squash标志。要启用此功能,请将以下内容插入到文件中/etc/docker/daemon.json:
{ "experimental": true}
之后,您必须重新启动 docker。
视频支持
从3.0.4版本开始,ODM可以自动从视频文件(.mp4、.mov、.lrv、.ts)中提取图像。只需将一个或多个视频文件放入该images文件夹并照常运行该程序即可。还支持带有 GPS 信息的字幕文件 (.srt)。将 .srt 文件放入该images文件夹中,确保文件名匹配。例如,my_video.mp4==> my_video.srt(区分大小写)。
注意:使用该技术请遵守法律,请勿用于任何违法行为!
项目地址:https://github.com/OpenDroneMap
odm direct
,
odm是什么设备
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表