2021SC@SDUSC
Open3D综述和分工
2021SC@SDUSC
Open3D综述
详情请关注Open3D官方文档(中文)
Open3D简介
Open3D:现代三维数据处理库
Open3D是Intel开发的一个开源库,主攻3D数据的处理,支持快速开发处理3D数据的软件。Open3D在C++和Python中为开发者提供了一组精心选择的数据结构和算法。其内部实现是高度优化的,并设置为并行化。我们欢迎开源社区的贡献。
Open3D的核心功能包括: 三维数据结构 三维数据处理算法 场景重建 表面对齐 三维可视化 基于物理的渲染(PBR)
Open3D-viewer:Open3D查看器应用程序
Open3D现在附带了一个独立的3D查看器应用程序,可以在Ubuntu和macOS上使用。
Open3D快速开始
用PyPI 或Conda安装
支持的Python版本:
- 3.6
- 3.7
- 3.8
支持的操作系统:
- Ubuntu 18.04+
- macOS 10.14+
- Windows 10 (64-bit)
如果你有其他Python版本(比如 Python 2) 或操作系统,请参考 [编译源码](http://www.drawcode.cn/books/open3d/getting started/compilation/) 并从源代码处编译Open3D。
Pip (PyPI)
$ pip install open3d
注意: 一般来说,我们建议使用虚拟环境 来集装箱化开发环境。否则,取决于配置,Python 3需要使用pip3
进行安装, 或需要使用 --user
选项来避免权限问题。举例:
$ pip3 install open3d
# or
$ pip install --user open3d
# or
$ python3 -m pip install --user open3d
开发版本 (pip)
要测试Open3D的最新特性,请下载并安装开发版本 (HEAD
of master
branch):
- Linux
Python 3.6 Python 3.7 Python 3.8
- MacOS
Python 3.6 Python 3.7 Python 3.8
- Windows
Python 3.6 Python 3.7 Python 3.8
例如, 在Linux为Python 3.8安装最新开发版本 :
$ pip install --user --pre https://storage.googleapis.com/open3d-releases-master/python-wheels/open3d-0.11.0-cp38-cp38-linux_x86_64.whl
Conda
$ conda install -c open3d-admin open3d
注意: Conda(Anaconda/Miniconda)的Open3D预构建二进制文件可以从 open3d找到。 目前,open3d
包是在open3d-admin
频道下分发的。要设置Conda,请参见官方文档。
尝试
现在,尝试导入Open3D。
$ python -c "import open3d as o3d"
Open3D源代码构建
系统要求
-
C++14 编译器:
- Ubuntu 18.04+:GCC 5+,Clang 7+
- macOS 10.14+:XCode 8.0+
- Windows 10(64 位):Visual Studio 2019+
-
CMake:3.18+
- Ubuntu (18.04 / 20.04):
- 安装方式
apt-get
:查看官方 APT 存储库 - 安装
snap
:sudo snap install cmake --classic
- 安装
pip
(在 Python virtualenv 中运行):pip install cmake
- 安装方式
- macOS:使用 Homebrew 安装:
brew install cmake
- Windows:下载地址:CMake 下载页面
- Ubuntu (18.04 / 20.04):
克隆 Open3D
确保--recursive
在克隆 Open3D 时使用该标志。
git clone --recursive https://github.com/intel-isl/Open3D
# You can also update the submodule manually
git submodule update --init --recursive
Ubuntu/macOS
1.安装依赖
# On Ubuntu
util/install_deps_ubuntu.sh
# On macOS: skip this step
2. 设置 Python 环境
激活 pythonvirtualenv
或 Conda 环境。检查 以确保它显示所需的 Python 可执行文件。或者,设置 CMake 标志 以指定 python 可执行文件。which python``-DPYTHON_EXECUTABLE=/path/to/python
如果不需要 Python 绑定,可以通过-DBUILD_PYTHON_MODULE=OFF
.
3. 配置
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=<open3d_install_directory> ..
该CMAKE_INSTALL_PREFIX
参数是可选的,可用于将 Open3D 安装到用户位置。如果没有此参数,Open3D 将安装到需要的系统位置sudo
)有关构建的更多选项,请参阅编译选项。
4. 构建
# On Ubuntu
make -j$(nproc)
# On macOS
make -j$(sysctl -n hw.physicalcpu)
5.安装
安装 Open3D C++ 库:
make install
要将 C++ 项目链接到 Open3D C++ 库,请参阅 在 C++ 项目中链接 Open3D。
要安装 Open3D Python 库,请构建以下选项之一:
# Activate the virtualenv first
# Install pip package in the current python environment
make install-pip-package
# Create Python package in build/lib
make python-package
# Create pip wheel in build/lib
# This creates a .whl file that you can install manually.
make pip-package
# Create conda package in build/lib
# This creates a .tar.bz2 file that you can install manually.
make conda-package
最后,使用以下命令验证 python 安装:
python -c "import open3d"
Windows
1.设置Python绑定环境
大多数步骤是 Ubuntu 的步骤:2. 设置 Python 环境。而不是which
,用 来检查 Python 路径。where python
2. 配置
mkdir build
cd build
:: Specify the generator based on your Visual Studio version
:: If CMAKE_INSTALL_PREFIX is a system folder, admin access is needed for installation
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="<open3d_install_directory>" ..
3. 构建
cmake --build . --config Release --target ALL_BUILD
或者,您可以Open3D.sln
使用 Visual Studio打开项目并构建相同的目标。
4.安装
要安装 Open3D C++ 库,请INSTALL
在终端或 Visual Studio 中构建目标。
cmake --build . --config Release --target INSTALL
要将 C++ 项目链接到 Open3D C++ 库,请参阅 在 C++ 项目中链接 Open3D。
要安装 Open3D Python 库,请在终端或 Visual Studio 中构建相应的 Python 安装目标。
:: Activate the virtualenv first
:: Install pip package in the current python environment
cmake --build . --config Release --target install-pip-package
:: Create Python package in build/lib
cmake --build . --config Release --target python-package
:: Create pip package in build/lib
:: This creates a .whl file that you can install manually.
cmake --build . --config Release --target pip-package
:: Create conda package in build/lib
:: This creates a .tar.bz2 file that you can install manually.
cmake --build . --config Release --target conda-package
最后,使用以下命令验证 Python 安装:
python -c "import open3d; print(open3d)"
小组分工
参照官方文档,我们了解到Open3D的六方面应用,找到并clone了github上相应的文件。
于是我们组决定按照Open3D的功能进行分工,阅读相应源码(C++和python)进行分析(结合test和example)。
王友朋负责研究可视化和张量功能实现的相关代码
杜晨旻负责研究重建系统和传感器功能实现的相关代码
王春清负责研究处理管线功能实现的相关代码
我(王昀廷)负责研究几何结构功能实现的相关代码
由于我组成员对open3d均不是很熟悉,因此在研究过程中我们小组共同探讨论文撰写和代码范例分析,虽有分工,但不割裂进行。
项目所用的技术:C++、python
所用系统:Ubuntu、Windows10