tsdf fusion
1.0.0
更新: CPU/GPU の両方をサポートするこのコードの Python バージョンは、ここにあります。
複数の登録された深度マップを射影切断符号付き距離関数 (TSDF) ボクセル ボリュームに融合する CUDA/C++ コード。これを使用して、高品質の 3D サーフェス メッシュと点群を作成できます。 Ubuntu 14.04 および 16.04 でテストされました。
古いバージョンをお探しですか?ここを参照してください。
tsdf2mesh.m
、ボクセル座標ではなくカメラ座標でメッシュを適切に生成するようになりました。SaveVoxelGrid2SurfacePointCloud
のデフォルトの重みしきい値を変更し、深度フレームを 1 つだけ使用して点群ビジュアライゼーションを作成できるようにしました。このデモは、ディレクトリdata/rgbd-frames
からの 50 の登録された深度マップを投影 TSDF ボクセル ボリュームに融合し、3D 表面点群tsdf.ply
を作成します。これは、Meshlab などの 3D ビューアで視覚化できます。
注: 入力深度マップは、16 ビット PNG、深さ (ミリメートル) の形式で保存する必要があります。
./compile.sh # compiles demo executable
./demo # 3D point cloud saved to tsdf.ply and voxel grid saved to tsdf.bin
[オプション] このデモでは、計算されたボクセル ボリュームもバイナリ ファイルtsdf.bin
に保存されます。 Matlab で次のスクリプトを実行して 3D サーフェス メッシュmesh.ply
を作成します。これは Meshlab で視覚化できます。
tsdf2mesh ; % 3D mesh saved to mesh.ply
このリポジトリは 3DMatch Toolbox の一部です。このコードが自分の仕事に役立つと思われる場合は、次のコードを引用することを検討してください。
@inproceedings{zeng20163dmatch,
title={3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions},
author={Zeng, Andy and Song, Shuran and Nie{ss}ner, Matthias and Fisher, Matthew and Xiao, Jianxiong and Funkhouser, Thomas},
booktitle={CVPR},
year={2017}
}