Kinectを利用した簡単3Dモデル作成と3Dモデル活用法
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第4回
ダウンロード サンプルファイル (452.5 KB)
3Dスキャン
それでは実際に、Kinectを使って3Dモデルを作ってみましょう。
まずは、Kinect Fusionのサンプルアプリケーションを利用した3Dスキャン方法を解説していきます。「Kinect for Windows Developer Toolkit v1.7.0」を起動します。
サンプルアプリケーションの中から、「Kinect Fusion Explorer-WPF」を探し、「Run」ボタンを押下しアプリケーションを開始します。
対象の物体をKinectで撮影します。プレビュー映像から対象の物体が外れないように注意しながら、Kinectを上下させつつ物体の周囲を巡り、対象物体を360度撮影することで、プレビュー上で対象物体が再構成されていきます。
撮影が完了した時点でAction欄の「Create Mesh」を押下すると、Kinectの赤外線深度センサが収集した「点」で構成された対象物体がVoxelの集合体に再構成されます。その後OBJやSTLといったファイル形式にエクスポートする際に、通常の3Dソフトウェアで扱うことができる「ポリゴン」で構成されたメッシュモデルが生成されます。完成した3Dモデルは以下のようなデータになりました。
上図は、完成した3DモデルをMeshLabで表示したものです。
今回は椅子の3Dモデルを作成してみました。また、ファイルの出力形式はOBJファイルにしてあります。
参考:サンプルアプリケーションの画面や設定値について
今回利用している「Kinect Fusion Explorer-WPF」は、以下のような設定パラメータがあります。
- 左の画面:再構成された3Dモデルが表示されます
- 右上の画面:Kinetの深度カメラのRAWデータが表示されます
- 右下の画面:再構成されたデータと入力データの整合結果が表示されます
Action
- Create Mesh:3Dモデルを作成します。STL形式とOBJ形式を選択可能です
- Reset Reconstruction:作成途中の3Dモデルをリセットし再作成を開始します
Image Options
- Display Surface Normals:法線を表示します
- Near Mode:近距離撮影に向いたモードに切り替えます
- Pause Integration:3Dモデルの生成を一時停止します
- Mirror Depth:Depth値を左右反転させます
Depth Threshold
- Min:撮影範囲(Kinectからの深度)の最小値を指定します
- Max:撮影範囲(Kinectからの深度)の最大値を指定します
Volume Max Integration Weight
再構成処理において新しいデータを足すときの重み付けを設定できます。
値を大きくすると精密な再構成データができるが、動くスキャン対象の再構成が遅くなります。
値を小さくすると荒い再構成データになるが、動くスキャン対象への再構成が早くなります。
Volume Voxels Per Meter
1メートル内にいくつVoxelを配置するかを指定します。この値を大きくすると、より精緻な3Dモデルを作成できます。なお、Voxelは3次元空間での正規格子単位の値を表します。
- 参考:ボクセル(Wikipedia)
Volume Voxels Resolution
- X Axis:再構成する3Dモデルの大きさをVoxel単位で指定します(幅)
- Y Axis:再構成する3Dモデルの大きさをVoxel単位で指定します(高さ)
- Z Axis:再構成する3Dモデルの大きさをVoxel単位で指定します(深度)
対象物体までの距離や対象物体の大きさ、「Kinect Fusion Explorer-WPF」を動作させているPCのスペックなど、状況に応じて値を変えてみてください。
この記事は参考になりましたか?
- 近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧
- この記事の著者
-
藤田 泰生(TIS株式会社)(フジタ ヤスオ)
TIS株式会社 コーポレート本部 戦略技術センター所属。入社から全文検索やCMS等検索技術やフロントエンド側の業務に従事。現在はHTML5やJavaScriptに関する技術動向の調査を行っている。 また、KinectなどのデバイスやIOTに必要な技術であるセンサーに関する検証も実施している。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア




