Giter Club home page Giter Club logo

pcd-all's Introduction

🌈 pcd_all 🌈

点群を扱う処理であれば何でも上げるリポジトリです.

Overview 🛼

🎨 点群のクラスタリング処理

実装済みアルゴリズム

  • k-means法
  • mean-shift
  • DBSCAN
  • HDBSCAN

実行

以下のように各関数を呼び出して実行します.
clustering.pyのmain文のコメントアウトを解除することによっても利用可能です.
点群データは.pcd形式です.
クラスタ別にBBoxをつける処理、クラスタをBBoxと同じサイズのメッシュに置き換える処理も実装しています.

from pcd_algorithm.clustering import Clustering
...

# k-means法を使う場合
clustered_pcds = Clustering().k_means(pcd, <クラスタ数(int)>)

# mean-shiftを使う場合
clustered_pcds = Clustering().mean_shift(pcd, <バンド幅の推定に使用する分位数(float)>, <バンド幅の推定に使用するサンプル数(int)>)

# DBSCANを使う場合
clustered_pcds = Clustering().dbscan(pcd, eps, min_points)

# HDBSCANを使う場合
clustered_pcds = Clustering().hdbscan(pcd, <クラスタを構成するための最小点数(int)>)




🧩 点群のボクセル化処理

点群をローポリにして遊べます.

実行

poetry run python pcd_algorithm/voxelize_pcd.py --pcd_path <点群のパス> --voxel_size <ボクセルの一辺の長さ>

実行結果

入力点群(旅館) ボクセル化した結果
入力点群(旅館) ボクセル化した結果




🏙️ 都市点群からの擬似航空写真作成処理

都市点群を擬似的な航空写真に変換します.
ダムモードでは、任意の標高まで水位を上げた場合の点群データとマップを作成することができます.

実行

poetry run python pcd_algorithm/create_map.py --pcd_path <点群のパス> --voxel_size <画像上で1pxとする距離> --dam_mode <ダムモードを使いたい場合True> --flood_height <ダムモードで設定する水面の高さ>

実行結果

入力点群 作成された擬似航空写真
入力点群 作成された擬似航空写真
ダム化させた点群 作成された擬似航空写真(ダム化後)
ダム化させた点群 作成された擬似航空写真(ダム化後)




🎭 Mask3Dの結果描画処理

Mask3Dの結果を点群に反映させる処理です.

実行

poetry run python pcd_algorithm/Mask3D_mask.py 
--pcd_path <結果を反映させたい点群データ(.ply)のパス> 
--Prefix <Mask3Dで得られた結果をまとめたファイルの格納場所(ディレクトリのパス)> 
--result_file_name <「各オブジェクトについての検出結果を格納したファイルの名前」がまとめられたtxtファイルの名前(パスではない)>

(例)各オブジェクトについての検出結果を格納したファイルの名前」の中身

pred_mask/20231108_120945_room_0.txt 5 0.9574468731880188
pred_mask/20231108_120945_room_1.txt 16 0.9569514989852905
pred_mask/20231108_120945_room_2.txt 14 0.9293325543403625
pred_mask/20231108_120945_room_3.txt 8 0.9196611642837524
pred_mask/20231108_120945_room_4.txt 10 0.9063308835029602

実行結果

大学生の部屋の点群 Mask3D🎭適用結果
大学生の部屋の点群 Mask3D適用結果

pcd-all's People

Contributors

sakamo1112 avatar

Watchers

 avatar

pcd-all's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.