ODM 本地部署
_最后更新于 2019-11-11 11:26:21 _
GIS,ODM(OpenDroneMap)是开源的无人机航片处理工具套件,基本上已成为该领域开源的事实标准,这篇文章主要记录如何在本地进行 ODM 工具套件的部署。
ODM
OpenDroneMap 是开源的无人机航片处理工具套件,其构建维护了丰富的解决方案生态系统,基本上已成为该领域内开源的事实标准。
ODM 团队提供了丰富的工具,包括命令行工具包,具有可视化、存储和数据分析的 Web 应用程序,轻量级 REST API,Python SDK,集群支持等,而这些资源全部开源,支持本地部署和构建。其中,WebODM 是一个提供可视化、存储、数据分析的无人机影像处理平台,采用了 Docker 容器化部署方案。
WebODM 本地部署
ODM 团队一直在致力于维护庞大的 ODM 技术生态,同时也在不断的完善官方文档,下面为官方的本地化部署指南:
官方文档目前相比较之前已改善很多,步骤也相当清晰,在这里只是梳理一下部署过程,并记录了一些要注意的细节。
WebODM 的整体架构设计很清晰,分解成了不同的模块:
ODM(算法处理,底层 API) -> NodeODM(轻量级 REST API) -> ClusterODM(集群支持,负载均衡) -> WebODM(Web 应用)
各个模块已由 ODM 团队制作成了 Docker 镜像发布到了 Docker Hub 上面,最简单的方案就是直接利用镜像进行部署,当然也支持自己构建,此处采用镜像部署。
官方推荐的环境是 Ubuntu 16.04 操作系统,64 位多核 CPU,至少 4GB 内存,20GB 磁盘空间。在这里,我们采用 Ubuntu 18.04 Server 宿主操作系统环境,不建议在 Windows 上部署,耗时且容易出错。
安装 Ubuntu
可以直接在物理机安装 Ubuntu 18.04 Server 操作系统,也可以利用虚拟机安装。
安装完成后进入系统,首先创建 root
用户,Ubuntu 默认 没有 root
用户。执行:
sudo passwd root # 该命令会要求先输入当前登录用户命令,再输入两遍要设置的 root 用户命令
其次,换源。apt
是 Ubuntu 官方的软件包管理器,其仓库地址在国外,安装软件容易出错且速度缓慢,换为国内仓库地址(中科大、阿里云、网易云等等),网上搜索即可。主要改动的文件是 /etc/apt/sources.list
,改动前注意备份。换掉仓库地址之后更新源,执行:
sudo apt-get update
sudo apt-get upgrade
推荐使用 WinSCP 和 PuTTY 利用 SSH 协议远程管理 Linux 操作系统。Ubuntu 默认不支持 root
用户远程登录,需修改 SSH 配置。先检查 ssh 服务是否已安装并在运行,执行:
sudo ps -e | grep ssh
大部分情况下应该是已存在的,如果不存在则安装,执行:
sudo apt-get install openssh-server
然后,修改 /etc/ssh/sshd_config
配置文件,将其中的 PermitRootLogin prohibit-password
修改为 PermitRootLogin yes
即可,保存后需重启服务,执行:
service ssh restart
这样就可以利用 WinSCP 和 PuTTY 使用 root
用户远程管理多个 Linux 操作系统了。查看系统的 IP 地址,执行:
ifconfig -a # eth 开头的为以太网卡地址
安装 Git
安装前先看看是不是已经安装了 Git,执行:
git --version
大部分情况下,Ubuntu 系统都会在安装时自动安装 Git,如未安装,执行:
sudo apt-get install git
安装 Python3
这里其实安装 Python2 或者 Python3 都可以,建议安装 Python3。检查是否已安装:
python3 -V
pip3 -V
如未安装,则执行:
sudo apt-get install python3
sudo apt-get install python3-pip # 注意,pip 不要安装错,必须为 python3-pip
安装完成后,上网搜索将 pip 的源换为国内源(中科大、阿里云、网易云等等)。默认情况下配置文件不存在,新建一个即可:
mkdir ~/.pip
touch ~/.pip/pip.conf
安装 Docker
这里必需要注意的是,不要使用 apt
安装 Docker,因为更新不及时,也不要查看网络上的教程,容易出错,直接根据官方文档进行安装:
安装过程中遇到以下步骤时,进行换源:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
其中,deb [arch=amd64] https://download.docker.com/linux/ubuntu
为 Docker 官方地址,在国外,基本很难安装成功,上网搜索换 为国内地址(中科大、阿里云、网易云等等)再安装。顺利安装完成后,根据官方文档,测试 hello-world
镜像是否能运行成功。
Docker Hub 是 Docker 官方提供的镜像文件托管仓库,在国内访问速度较慢,上网搜索换为国内源(中科大、阿里云、网易云等等)。默认情况下配置文件应该是不存在的,创建一个即可:
touch /etc/docker/daemon.json
换掉源之后,重启 Docker 服务,执行:
service docker restart