[PYTHON] Reconstructing unstructured mesh in Open3D (Ball_Pivoting_Algo)

Introduction

As part of my research, I was looking for various ways to reconstruct unstructured meshes such as point cloud data, which is a big experimental aspect. It seems to be a library that is good at 3D image processing, point cloud processing, restructuring, etc.

Environment construction (Open3D)

We will build the environment according to the official website http://www.open3d.org/docs/release/introduction.html

** Writing time around October 2020 ** Open3D: 0.11.1 version Python: ver3.6 ~ 3.8 compatible (If you want to use Python2, it may work if it is a past version) There is no problem if pip or Anaconda is included. Since libraries such as Numpy are also used at runtime, it may be easier to install Anaconda if you are not particular about the environment.

When installing from pip

pip install open3d

When installing from Anaconda

conda install -c open3d-admin open3d

If you enter this code and there is no error, the installation is complete.

python -c "import open3d as o3d"

Get a sample

Download Open3D sample from git https://github.com/intel-isl/Open3D/tree/v0.8.0 Note that depending on the Python version, it may not be supported unless it is lowered to v0.7.0.

See Ball_Pivoting_Algo sample

Navigate to the downloaded sample folder

cd Open3D/examples/Python/Advanced

Launch surface_reconstruction_ball_pivoting.py

python surface_reconstruction_ball_pivoting.py

Point cloud file スクリーンショット 2020-10-30 21.55.29.png

Remesh スクリーンショット 2020-10-30 21.55.41.png

Summary

Point cloud files can be remeshed by Ball-Pivoting. Current adoption of Open3D Major unstructured mesh reconstruction algorithms 1、Alpha shapes 2、Ball pivoting 3、Poisson It is an advantage that you can easily write in the Python environment. If you just want to re-mesh the appropriate point cloud on your PC, MeshLab is excellent, so it's faster and pretty clean if you do it there. It also supports Azure Kinect and RealSence as input devices.

Recommended Posts

Reconstructing unstructured mesh in Open3D (Ball_Pivoting_Algo)