多枚数写真からの立体造形「フォトスキャン編」

 

Autodesk Mementoを使った多枚数写真素材からの3Dデータ生成方法

※ Autodesk Memento(Beta)は、2015年12月現在最新の「1.5.0.30」を基準に解説しています。
Autodesk Mementoは現在もBeta版のため、頻繁にマイナーバージョンアップが実行されるなど、細部に改良がなされています。この記事をご覧になった時点でバージョンアップとそれに伴う内容の変更がされている場合がありますので、ご注意ください。

本企画の概要

今回ご紹介する記事では、Autodesk Mementoを使用した多枚数写真から3Dデータ化する「3Dフォトスキャン編」と、Autodesk Mementoから書き出されたデータをZBrushでブラッシュアップする「ZBrush編」。
そして最後に、書き出されたデータをMakerBot Replicator Z18を使って3Dプリント造形する「3Dプリント編」の3つの記事として各工程毎に解説しています。

フォトスキャン(Photo to 3D)とは

多枚数の写真から3Dデータを生成するフォトスキャンとは、複数アングルのスナップショット写真から高精度な3Dオブジェクトを生成するためのシステムの総称です。
過去の記事でも度々ご紹介してきたように、人物などをスキャンするための本格的なフォトスキャンシステムを構築するには、Canon EOSシリーズやNikon DシリーズなどのDSLR(デジタル一眼レフカメラ)と、専用のカメラリグ(数十台のデジタル一眼レフカメラを設置するためのやぐらのような物)を利用しますが、このような本格的なフォトスキャンブースの設営には相当な額の初期投資が必要となります。

avatta-3
84台のNikon D5300を設置したフォトスキャンスタジオ

個人レベルでは実現が難しいリグ設営ですが、今回ご紹介した方法を応用していただければ、一台のデジタル一眼カメラだけで簡易的なフォトスキャンを実行することが可能です。

※フォトスキャンシステムは、人物や小物など小さな被写体だけでなく、空撮画像から3Dデータを生成するようなシステムもあり、アート、ゲーム、医療、建設など様々な分野で利用されています。

必要な機材

デジタル一眼レフカメラ
安価なデジタルカメラやスマホカメラでもフォトスキャンは可能ですが、より精度の高いフォトスキャンを実行するのであれば、Canon EOSシリーズ、Nikon Dシリーズ、Olympus OMDシリーズなどの高性能デジタル一眼レフカメラの利用が推奨されています。
ただし、高価な上位モデルを利用しなくとも、ある程度の画素数を要する機種であれば、問題なく利用可能です。
※ 本格的なフォトスキャンブースを設営する場合は、複数台のカメラをリモートレリーズ(リモートシャッター操作)に対応するカメラが必要です。

パソコン
本格的なフォトスキャンを実施するには、専用ソフトウェアと高性能なワークステーションが必要ですが、クラウドベースで実行されるAutodesk Mementoを利用する場合は、特別高性能なパソコンが無くても利用可能(Direct Xが実行できる環境は必要)です。

Autodesk Memento
つい先日、Mac版もリリースされた『Autodesk Memento
公式サイトより『Autodesk Memento(Beta)』をダウンロードし、環境に応じて必要なシステムのインストールを実行してください。
※ Autodesk Mementoに関する基本情報は、過去の記事を参照ください。

Autodesk Mementoのインストールが済んだら、お手持ちのAutodeskアカウントを使ってサインインします。
Autodeskアカウントをお持ちでない方は、https://accounts.autodesk.com/からアカウントの登録を行ってください。Autodeskアカウントは、同社が提供する様々なクラウド環境で共通して利用できるため、必ず登録しておきましょう。

写真の撮り方

フォトスキャンのための写真の撮り方はソフトウェアによっても多少異なりますが、数十%程度オーバーラップさせるように、360℃回転しながら撮影を行います。

autodesk-memento-z18-1-1
被写体を中心に、オーバーラップさせながら撮影を実行

今回の事例では、1台のNikon Dシリーズカメラを使って撮影した64枚の写真素材を利用しています。
アングルに応じたカット数が多いほど条件は良くなりますが、素材が増えれば増えるほど計算に時間を要するため、先ずは少ない数から徐々に試してみましょう。

autodesk-memento-z18-1-2
Dシリーズカメラを使って撮影した64枚の写真

Autodesk Mementoへ読み込み

写真素材が揃ったらAutodesk Mementoを起動し、ダッシュボード左上の『Create 3D』ボタンをクリック。
『Create 3D』ボタンクリック後に表示されるポップアップウィンドウから『Local Drive』を選択します。
※A360 Driveはクラウド上にアップされている写真素材を利用する場合に適用するため、ここでは説明を省いています。

画面内に表示された「Click anywhere to browse for files or a folder」をクリックし、ローカルドライブ上にある写真(撮影素材)を選択します。

autodesk-memento-ss-2

写真の選択が済んだら、『Create Model』をクリック。
続けて表示されたウィンドウにファイル名を入力し、品質を設定します。
ここでは、デフォルトの「Best」のままで良いので、『Start』ボタンをクリックします。

後は、クラウド上で実行される計算をひたすら待ちます。
作業経過は、ダッシュボード下「My Cloud Drive」にて確認可能。

※写真の枚数が多いと計算途中でエラーになる場合がありますが、上手くいかない場合は、Mementoを再起動しながら繰り返し実行してみてください。

3Dデータ化

無事計算を終えると、ダッシュボード「My Cloud Drive」にアップロードした写真から生成されたオブジェクトデータが生成されます。

autodesk-memento-ss-3

追加されたデータのサムネイル上にあるDownloadボタン(矢印ボタン)から、ローカル環境へデータをダウンロードします。ダウンロードが完了すると、データは「My Computer」に追加され、ここから編集作業へと移行することができます。

autodesk-memento-ss-4
計算が済み、追加されたデータ

データの編集

My Computer」上に追加されたオブジェクトデータをクリックし、Editorモードに切り替えます。

autodesk-memento-ss-5

この段階で既に余分な背景などが排除されているのが分かると思います。
フォトスキャンツールは、被写体以外の背景などをほぼ自動的に排除してくれるので、Editorモードからは様々な編集機能を使い、更にデータのブラッシュアップを実行します。

autodesk-memento-ss-6
autodesk-memento-ss-7
編集作業の内容に応じてヴィジュアライゼーション機能から描画モードを切替え可能

データ編集のための工程は幾通りもありますが、ここでは簡易的な一つの方法を元に解説します。

被写体以外の余計な部位(ここでは猫の下にあるグリーンの部分)を大まかに排除するため、はじめにEdit→Slice&fillを利用します。

Edit→Slice&fillを選択したら、画面上の矢印を移動(回転)させてスライスポイントを指定します。

autodesk-memento-ss-8
autodesk-memento-ss-9
矢印を移動(回転)させてスライスポイントを指定

スライスポイントが決まったら、Slice機能から「Apply」ボタンをクリックし、スライスを実行します。
機能内に設置されたボタンは、スライスの方向などを切り替えたりする物なので、必要に応じて適用してみてください。

autodesk-memento-ss-10

下図は、スライスを実行したデータです。
初期のデータよりも余分な部位(緑の部分)が大きく排除されているのが分かります。

autodesk-memento-ss-11
まだ余計な部位が残っているため、下記の手順で排除します

画面下にある選択ツールから「矩形選択」や「なげなわ」などを利用し、排除したい部分を選択することができます。
今回は、同一色(緑)の部位を排除するため「Brushツール」を利用して排除したい部分だけを選択します。

autodesk-memento-ss-12

Brushツールを選択後、キーボードShiftキーを押し下げながら、選択部位を連続クリック。

autodesk-memento-ss-13
Brushツールを利用することで近似色が自動選択されます

選択が済んだらEdit→Delete Selected meshボタンをクリックするか、キーボードの「Delete」キーを押して削除を実行します。
すると下図のように、余計な部位(緑の部分)がそぎ落とされているのが確認できます。

autodesk-memento-ss-15

大まかな編集が済んだデータは、3Dプリントのためにデータのエクスポートを実行しますが、その前に排除した部位に空いたままの穴を塞ぎ、ソリッドな状態のデータにしておく必要があります。

autodesk-memento-ss-17
ボトムに空いたままの穴を塞ぎます

3D Print機能を選択すると、エラー部位についてのアラートが表示されます。今回はボトムに空いた穴を平らに塞ぐため、Diagnostics→Fill option→flatを選択し、Fill all holesを実行します。

autodesk-memento-ss-19

ボトムに空いた大きな穴が塞がり、ソリッドな状態のデータになりました。

autodesk-memento-ss-20

他の機能について

Autodesk Mementoには、簡易的なスカルプト機能なども実装されているため、Edit→Surface toolsからオブジェクトにスカルプティングを実行することも可能です。今回は、後にZBrushによるデータのブラッシュアップを実行するため、この機能の解説については別の機会にご紹介します。

autodesk-memento-ss-16

3Dプリント用データの書き出し方

一通りの編集が済んだデータは、3Dプリントのためにデータのエクスポートを実行します。

Export→Export 3D modelを選択し、3Dデータを出力します。
Autodesk Mementoが対応するフォーマット(OBJ・FBX・STL・RCP・PLY)を指定し出力するだけですが、「Decimation」機能を使い、ポリゴン数の軽減率(数)を指定することも可能です。

また、ウインドウ下段にある「Texture size」やファイルタイプを指定することで、OBJなどテクスチャー込みのデータ書き出し時の指定することができます。書き出し可能なマップファイルはDeiffuse colorだけでなく、Normal mapやDisplacement mapなど、用途に応じた様々なマップファイルを同時に書き出すことができます。

autodesk-memento-ss-21

その他の出力
Autodesk Mementoは3Dモデルデータの出力だけでなく、静止画や動画の出力などにも対応しています。
下動画は、今回Autodesk Mementoで生成した3Dデータを元に書き出した映像です。

まとめ

上記の工程を経て書き出した3Dデータは、ZBrushに読み込みブラッシュアップを行っています。ZBrushによるデータのブラッシュアップ方法については、次の「ZBrush編」で解説していますので、そちらをご覧ください。
また、データブラッシュアップ後に紹介する「3Dプリント編」では、今回3D化したデータを使い、MakerBot Replicator Z18による3Dプリント出力の様子を紹介しています。興味ある方は、そちらの記事も是非ご覧ください。

今回は、Autodesk Mementoによる「Photo to 3D」の基礎的な部分だけをサラっとお伝えしましたが、Mementoにはこの他にも便利な機能が色々と備えられています。しかし、1記事だけで全ての機能をご紹介するのは難しいため、今後複数回に分けて各機能に関する記事をアップしていこうと思います。
より深くAutodesk Mementoの機能について知りたい方は、公式サイトから公開されているワークフロービデオなどを利用してみてください。
http://memento.autodesk.com/resources

プロ仕様のフォトスキャンツール

Autodesk Mementoは開発途中のbeta版ですが、より高精細なフォトスキャンを実行するには、Agisoft PhotoScanのようなプロ仕様ツールを利用する方法があります。
Agisoft PhotoScanによるフォトスキャンプロセスについては、下記書籍『基本からわかる ZBrush 標準リファレンスガイド』内(Chapter09 ZBrushを利用した3Dスキャンデータの加工)で詳しく解説しておりますので、よろしければこちらも参考にしてみてください。


フォトスキャン関連記事

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でid.artsをフォローしよう!

   

ページ上部へ戻る