「Kinect Fusion」による3Dスキャンを徹底解説:Kinectで3Dスキャンして3Dプリントを楽しもう(2)(3/6 ページ)
モーションコントローラーデバイス「Kinect for Windows」で対象物を3Dスキャンして、3Dプリントするまでの手順を詳しく解説する連載。第2回は、Kinect for Windowsを使った3Dスキャンの詳しい手順について紹介する。
3Dスキャン
「Kinect Fusion」を起動する
3Dスキャンをするには、Kinect for Windows Developer Toolkit Browser v1.8.0およびSDK Browser (Kinect for Windows) v2.0にある、「KinectFusionExplorer-WPF」を使用します。先ほどのColor Basics-WPFと同じように、Samples: C#からKinectFusionExplorer -WPFを探して、[Run]をクリックします。
KinectFusionExplorerが起動したら、以下の設定値を変更します。この設定値にすることで約50cm角をカラースキャンでき、スキャンした3DモデルをPLYファイル形式で保存できます。3Dモデルを保存する際は、[Create Mesh]ボタンを押します。
- 「Actions」欄で[PLY]を選択
- 「Image Options」欄で[Capture Color]にチェック
- 「Volume Voxels Per Meter」欄の値を「512」に変更
- 「Volume Voxels Resolution」欄の値をそれぞれ「256」に変更
- 「Actions」欄で[Reset Reconstruction]をクリックし、スキャンをリセット
- スキャンが完了したところで、「Actions」欄の[Create Mesh]をクリックして、3Dモデルを出力する
ここで、KinectFusionExplorerの各パラメーターについて整理しておきます。
- Actions
- Create Mesh:下のラジオボタンで選択されたファイル形式(STL、PLY、OBJ)で3Dモデルを出力する。なお、カラーデータが出力されるのは、PLYフォーマットのみとなる
- Use Camera Pose Finder:スキャン対象を見失ったときに探すかどうか
- Reset Virtual Camera:プレビューされているカメラの位置をリセットする
- Image Option
- Capture Color:カラー情報を取得するかどうか
- Pause Integration:スキャンを一時停止するかどうか
- Kinect View:視点をKienctからにするか、空間内のカメラにするか(空間内のカメラにした場合、[Reset Virtual Camera]で位置が戻る)
- Mirror Depth:DepthデータのX座標を反転させるかどうか
- Volume Graphics:撮影範囲を可視化するかどうか
- Depth Threshold
- Min:Depthの撮影範囲の最小値(この位置より遠い場所をスキャン対象にする)
- Max:Depthの撮影範囲の最大値(この位置より近い場所をスキャン対象にする)
- Volume Max Integration Weight:ボクセルの時間単位の平滑化パラメーター。値を大きくするとノイズに強くなるが、移動に弱くなる
- Volume Voxels Per Meter:1メートル当たりのボクセル数
- Volume Voxels Resolution
- X Axis:X軸のボクセル数
- Y Axis:X軸のボクセル数
- Z Axis:X軸のボクセル数
撮影範囲は、以下の式で求められます。
撮影範囲 =
Volume Voxels Resolution / Volume Voxels Per Meter
つまり、ここで紹介した設定の場合、Volume Voxels Resolutionがそれぞれ「256」、Volume Voxels Per Meterが「512」なので、256/512=0.5(m)となり、50cm角のデータが3Dモデル化されます。
Copyright © ITmedia, Inc. All Rights Reserved.