zju3dv/manhattan_sdf
Code for "Neural 3D Scene Reconstruction with the Manhattan-world Assumption" CVPR 2022 Oral
Manhattan‑SDF – マンハッタン・ワールド仮定を用いたニューラル3D再構成
何であるか – RGB‑D画像から屋内3Dシーンを再構成する研究用コードベース。符号付き距離関数(SDF)表現を学習することで実現。最近のニューラルレンダリング手法(NeRF、VolSDF、NeuSなど)を拡張し、マンハッタン・ワールド仮定(つまり、ほとんどの表面が3つの直交軸に沿っている)を導入。これにより幾何学的品質を正則化し、混雑した屋内スキャンにおける再構成品質を向上させる。
主な構成要素
- VolSDFフレームワークに基づくニューラルSDFモデル。軸に沿った平面事前知識を強制するように修正。
- 多視点ScanNetデータ(またはカスタムデータセット)を入力し、SDFとカメラポーズを同時に最適化するトレーニングパイプライン。
- 学習されたSDFを水密な
.objメッシュに変換するメッシュ抽出スクリプト。 - COLMAP、ACMP、NeRF、UNISURF、NeuS、VolSDFなど、多数のベースラインとの定量的比較を可能にする評価ユーティリティ。
導入方法
- 環境 –
conda env create -f environment.ymlを実行し、conda activate manhattanで環境を有効化。 - データ – 提供されたGoogleドライブリンクから事前処理済みScanNetシーンをダウンロードし、設定ファイルで要求される通り
data/ディレクトリに配置。 - トレーニング – 例として以下のコマンド:
python train_net.py --cfg_file configs/scannet/0050.yaml gpus 0, exp_name scannet_0050 - メッシュ抽出 – トレーニング後、以下のコマンドを実行:
python run.py --type mesh_extract --output_mesh result.obj \ --cfg_file configs/scannet/0050.yaml gpus 0, exp_name scannet_0050 - 評価 – 同じ
run.pyを--type evaluateで実行し、論文の数値を再現可能。
カスタムデータ – リポジトリには docs/CUSTOM.md に、独自の画像セット(カメラ内パラメータ、ポーズ形式など)にパイプラインを適応する方法が記載されている。
重要性 – マンハッタン・ワールド事前知識を活用することで、従来のニューラルSDF/NeRF手法よりも、軸に沿った壁や家具が多いシーンにおいてより明確で正確な屋内再構成が可能。インテリアマッピング、AR/VRコンテンツ作成、ロボットビジョンなどの応用に有用。
引用 – コードを使用する場合、CVPR‑2022の論文を引用してください:
@inproceedings{guo2022manhattan,
title={Neural 3D Scene Reconstruction with the Manhattan-world Assumption},
author={Guo, Haoyu and Peng, Sida and Lin, Haotong and Wang, Qianqian and Zhang, Guofeng and Bao, Hujun and Zhou, Xiaowei},
booktitle={CVPR},
year={2022}
}
謝辞 – VolSDF(Lior Yariv)、COLMAP、およびREADMEに参照される多数のオープンソース実装に基づいている。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト