LoginSignup
1

More than 1 year has passed since last update.

point cloud library surface module について

Last updated at Posted at 2020-12-16

Lidarから取得した点群を面として再構築したい!

Screenshot from 2020-12-16 18-42-03.png

  1. ここにLivoxで取得した点群があります。
  2. pointcloud library (pcl) のsurface moduleを使って面としての再構築ができそう
  3. いっぱい手法がある。どれがいいの?
  4. 一個一個見ていこう。

というわけで中身を見ていきます

surface module
https://pointclouds.org/documentation/group__surface.html

Base Classたち

pcl::CloudSurfaceProcessing

点群の表面を綺麗にする機能。表面平滑化、穴埋め、アップサンプリングなどができる。

pcl::MeshProcessing

その名の通りmesh processのBaseClass

pcl::SurfaceReconstruction

点群をインプットして表面を生成する機能のBaseClass

pcl::MeshConstruction

点群をインプットして表面を生成する機能のBaseClass SurfaceReconstructionとの違いは??

具体的なアルゴリズムたち(各アルゴリズムの結果は追記)

pcl::ConcaveHull

https://ja.wikipedia.org/wiki/%E5%87%B8%E5%8C%85
なるほど、ゴムで包んだ感じの表面が得られる、と。

pcl::EarClipping

https://youtu.be/OVwpj6OCClg
三角形で埋めていく

pcl::GreedyProjectionTriangulation

https://en.wikipedia.org/wiki/Greedy_triangulation
交差が生じないように一番近い頂点を結んでいく

pcl::GridProjection

http://www.pcl-users.org/file/n3567834/38.png
Grid 状になる。mesh ,surafceではないのかもしれない。

pcl::MarchingCubes

Voxcelをmeshに変換する手法。
http://www.sanko-shoko.net/note.php?id=js3z
http://www.paulbourke.net/geometry/polygonise/

pcl::MarchingCubesHoppe

具体的な説明が見つからず。結果がおかしいと訴える内容が検索によくヒットする(PCLの実装にバグが含まれていた時期があるのだと思います)。

pcl::MarchingCubesRBF

MarchingCubesHoppeとMarchingCubesRBFでは距離の取り方に違いがあるようです。詳細は省きます。

pcl::MovingLeastSquares

移動最小2乗法 (MLS)

pcl::OrganizedFastMesh

点群を2Dに一旦投影してその中での最近傍点を使って三角形を作る(のでしょうか?)

pcl::Poisson

pcl::TextureMapping

テクスチャーを貼るのだと思います。

雑感

mesh sarface reconstruction を調べてると http://hhoppe.com/ この人の名前が何回も出てくる。すごい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1