LoginSignup
1
1

More than 3 years have 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/ この人の名前が何回も出てくる。すごい。

1
1
0

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
  3. You can use dark theme
What you can do with signing up
1
1