Learning Open3D→Tutorial→再構成システム→システムの全体像
システムの全体像
このシステムには主として4つのステップがある.
ステップ1. フラグメント作成:入力RGBDシーケンスの短いサブシーケンスからローカル幾何的表面(フラグメントと呼ばれる)を構築する。 このパートでは、RGBDオドメトリ、多方向位置合わせ、RGBD統合を使用する。
ステップ2. フラグメント位置合わせ:フラグメントはグローバル空間内で整列される。 ここではグローバル位置合わせ、ICP位置合わせ、多方向位置合わせを使用する。
ステップ3. 位置合わせの精細化: 大まかなアライメントをより精密に合わせる。ここではICP位置合わせと多方向位置合わせを使用する。
ステップ4. シーンの統合:RGB-D画像を統合してシーンのメッシュモデルを生成する。 この部分はRGBD統合を使用する。
例題データセット
このチュートリアルでは、SceneNNデータセットを使用してシステムのデモンストレーションを行う。 これ以外に、Redwoodデータ、TUM RGBDデータ、ICL-NUIMデータ、SUN3Dデータなど、優れたRGBDデータセットを使うことができる。
このチュートリアルでは、SceneNNデータセットの016
シーケンス</A>を使用する。 このリンクは、このチュートリアルで使用するデータを簡単にダウンロードするためのものである。これを用いずとも、SceneNN oni file archiveにアクセスして、oni
ファイルを取り出し、は、Redwood再構成システムのOniParserを使用して、色と深さの画像シーケンスを抽出してもよい。手助けするプログラムはReconstructionSystem/scripts
に見つけることができる。
ともかく始めよう
すべてのカラー画像をImage
ディレクトリに入れ、すべての深度画像をdepth
ディレクトリに入れる。 ルートのディレクトリから次のコマンドを実行する(注意: 2行目はこのままでは実行できない。オプション指定が必要。後ろの説明を見よ)。
cd examples/Python/ReconstructionSystem/
python run_system.py [config_file] [--make] [--register] [--refine] [--integrate]
config_file
には、パラメーターとファイルパスが書いてあるファイルを指定する。 たとえば、ReconstructionSystem/config/redwood.json
には次のように書いてある:
{
"name": "Open3D reconstruction tutorial http://open3d.org/docs/release/tutorial/ReconstructionSystem/system_overview.html",
"path_dataset": "dataset/tutorial/",
"path_intrinsic": "",
"max_depth": 3.0,
"voxel_size": 0.05,
"max_depth_diff": 0.07,
"preference_loop_closure_odometry": 0.1,
"preference_loop_closure_registration": 5.0,
"tsdf_cubic_size": 3.0,
"icp_method": "color",
"global_registration": "ransac",
"python_multi_threading": true
}
カラー画像と深度画像が同期し、位置合わせされていると仮定する。 上記の"path_intrinsic"
は、カメラ固有行列を保存するjson
ファイルへのパスを指定する(詳細については、カメラ固有行列の読み込みを参照されたい)。 これが指定されていない場合は、PrimeSense(Appleが買収した3Dセンサの会社)の工場出荷時設定が使用される。独自のデータセットの場合、適切なカメラを使用し、(Redwoodデータセットの時と同様に)本システムを使用する前に深度画像を視覚化する。
"python_multi_threading":true
はjoblib
によりシステムを並列化し、すべてのCPUコアを使うようにする。 このオプションを使用すると、Macユーザーは予期しないプログラムの終了に遭遇する場合がある。この問題を回避するには、この"python_multi_threading"フラグをfalse
に設定すること。
自分のデータセットを用意する
Tこのチュートリアルでは、Intel Realsenseカメラを使用して、同期・調整されたRGBD画像を記録できる例を示す。 詳細については、独自のデータセットのキャプチャ項を参照されたい。