Agisoft PhotoScan スタンダード版 基本チュートリアル

このチュートリアルはPhotoScan Standrd版を使ってスナップ写真からモデルをリコンストラクションする基本的な手順を学びます。
スキャン対象はこのようなライオンの像です。


PhotoScan Standrd評価版はこちらのページからダウンロード頂けます。


手順1:写真を撮る
まず、スキャン対象のスナップ写真を取ります。PhotoScanで使用する写真の取り方はこちらのFAQを参考にしてください。

チュートリアルで使用する写真はこちらからダウンロードいただけます (27MB)。(チュートリアルサンプル用として写真の質、解像度を中程度に下げてあります。)
※写真および生成データはこのチュートリアルを使って学習する以外の用途でのご利用はご遠慮ください。

手順2:PhotoScanに写真を読み込む

PhotoScanを起動します。Workspaceペーンにある "Add Photos" ボタンを押して写真を全て選択し読み込みましょう。(ファイルを複数選択できます。)




読み込んだ写真は Workspaceペーンの「Chank(チャンク)」内の Cameras にリストされます。名前の右に N/A と表示されているのは「not align」(未配置)を意味しています。


各写真をダブルクリックすると中央ウィンドウに拡大表示されます。(ツールバーにある +,-,右回転、左回転ボタンが使えます。)


イメージと モデルビュー(3Dビュー)はタブで切り替える事ができます。



手順3:アライメントを実行する

PhotoScanで最初に行うのは「写真のアライメント」です。アライメントとは写真を撮った位置を解析する工程です。
PhotoScanは写真に埋め込まれている EXIF情報と各写真のオーバーラップから撮影位置を自動的に解析します。

アライメントを実行するには Workflowメニュー >> Align Photos... を選択します。


Align Photosのオプションメニューが表示されます。以下のようにアライメント設定を行います。
  • 精度/Accuracy = 高 /high
  • ペア画像の予備選択/ Pair Preselection = 無効 / Disabled
  • キーポイント制限/ Key point limit = 600,000
  • タイポイント制限/ Tie Point limit = 0
  • カメラモデルのフィッティングを適応する = オフ (新機能)


完了すると、以下図のように3Dビューにアライメントした写真(カメラ)とポイントクラウドが表示されます。


右ドラッグでターゲットのライオン部分を中心に移動してください。複数の角度から中心に寄せてください。これでビュー回転の中心がライオンの中心になります。


トップ・ツールバーにある Show Camerasボタンを押すと、写真(カメラ)の表示・非表示をコントロールできます。とりあえずカメラを隠してください。



カメラを引くと、バウンディングボックスのような長方形があるのを確認できると思います。
(カメラのズームイン・アウトはマウスホイールもしくは、Shiftキーを押しながらビューをドラッグします)
PhotoScanはこのボックスの中だけをジオメトリ化する仕組みになっています。


トップ・ツールバーの リサイズボタンと回転ボタンを使って、ボックスの範囲を調整する事ができます。マウスカーソルボタンで通常のビュー操作モードに戻ります。



図のようなサイズまでボックスの位置を変更します。



手順4:高密度ポイントクラウド (Dense Cloud)を生成する

PhotoScan v1.0 からの新機能である高密度ポイントクラウド (Dense Cloud)を生成しますう。
(v1.0以降では密度ポイントクラウドからポリゴンメッシュを生成します。)

高密度ポイントクラウド (Dense Cloud)は、Workflowメニュー >> Build Dense Cloud... を選択します。


オプションは初期設定のままで行います。(Quality=Midium, Depth filtering=Agressive)。
(なおDepth filteringは復元対象が単一の固まりか複数からなる固まりかで最適な物を選択します)


処理が終わるとメインツールバーにある Dense Cloud ボタンが押せる様になりまうす。押して表示してみましょう。


一見テクスチャー付きポリゴンの様にも見えますが、ズームインするとポイントの集合である事が判ると思います。


高密度ポイントクラウド (Dense Cloud)を生成するとWorkspaceにDense Cloudが表示されます。


なお製品版では Fileメニュー >>Export Points からポイントクラウドデータを、OBJ,PLY,XYZ,ASPRS LAS,U3D,Adobe PDF形式で出力できます。
他社製3Dソフトでポイントクラウドデータとして利用する事ができるでしょう。
 



手順5:ジオメトリを生成、リファインする。

とりあえず「仮」のジオメトリを生成しましょう。Workflowメニュー >> Build Mesh... を選択します。オプションが表示されますので



パラメーター
Surface type : Arbitrary
Source data : Dence cloud
Polygon count: Custom = 0
Advanced: Interpolation: Enabled (default)

※Polygon count = ゼロ は全くリダクションをせず、設定したクオリティでの最大限のポリゴン数でジオメトリを生成する事を意味します。ゼロ以外の値は一旦最大限のポリゴンを生成してから、その数値までリダクションする事を意味します。これは重要なので覚えておいてください。

でOKボタンを押します。少し計算します。(core7マシンで15秒程度)
計算が完了したら、メニュー上部の Shaded ボタンを押して、頂点カラー付きのポリゴンメッシュ表示に切り替えます。
以下のような メッシュが生成されるでしょう。


場合によってはこれでも十分な品質かもしれません。(全自動でこの品質です!)

PhotoScanではこの状態からさらにメッシュの品質を高めるいくつかの機能があります。その1つが「マスク」です。
マスクは各写真に定義する必要があり、マスク部分を「PhotoScanの計算から除外」させるように働きます。

まず、現在のマスクを見てみましょう。
Photosペーンで Show Masks ボタンを押してみてください。もちろんながら現在は全くマスクが定義されていないので真っ白です。


PhotoScanではマスクの作成方法として様々な方法が提供されていますが、PhotoScanのてっとり速い機能の1つとして生成したメッシュからマスクを作成する機能があります。

Photosペーンで画像(どれでもいい)を右クリック >> Import Maskボタンを押してください。


オプション画面が表示されるので、
Import masks for = Active chunk [現在のチャンクの写真全てを対象の意味します]
Method = From Model
にセットしてOKを押します。※特にActive chunkを選択しているのを忘れないでください。


すると、現在のジオメトリから写真全部のマスクが生成されるのが判ると思います。



もう一度、先ほどと同じ設定でポイントクラウドを生成します。(Workflowメニュー >> Build Dense Cloud... )
オプションは初期設定のままで行います。(Quality=Midium, Depth filtering=Agressive)。


するとどうでしょう! ゴミのポイントクラウドが消えているのが判るでしょうか。
左が初回の生成ポイントクラウド、右が今回(マスク付き)で生成したポイントクラウドです。


さらにメッシュを生成してみましょう(Workflowメニュー >> Build Mesh... )




メッシュが綺麗になったので、このメッシュからさらに綺麗なマスクが作成できます。もう一度Photosペーンで画像を右クリック >> Import Maskボタンを押してください。
オプション画面が表示されるので、
Import masks for = Active chunk [現在のチャンクの写真全てを対象の意味]
Method = From Model
にセットしてOKを押します。※必ずActive chunkを選択しているのを忘れないでください。


全てのマスクが更新されるが確認できると思います。


なお、PhotoScanでは自分でメッシュを編集してその結果をマスクに反映させる事もできます。
トップのツールバーから、ラッソ選択(Free From Selection)ボタンを押します。


ラッソツールを使って、不必要と思われるメッシュ(この場合翼の根元部分)を選択し、Deleteキーでポリゴンを削除します。


また、PhotoScanには自動的に「浮いているポリゴンの固まり」を自動的に選択するツールも用意されています。
必ずポリゴンメッシュの表示モードにしてから Editメニュー >> Gradual Selection... を選択します。

Gradual Selectionのウィンドウが表示されるので、スライダーを動かしてみてください。インタラクティブに「浮いているポリゴンの固まり」が自動選択されるのが判るでしょう。


不要なポリゴンを削除したら、もう一度Import masksを実行してマスクを更新しましょう。


マスクは1枚1枚手動で編集する事もできます。

編集したい写真をダブルクリックします。中央ウィンドウにその写真が表示されます。マスク部分は暗く表示されているのが判ると思います。


トップツールバーで矩形選択ボタンを押します。


例えば穴が空いている部分を矩形選択します。


トップツールバーの次のボタンで選択した範囲をマスクに「加算」「減算」する事ができます。


この場合マスクは不要なので「減算」ボタンを押してマスクを除外します。(マスクの穴が消えました)


マスクツールにはPhotoshopでお馴染みのマジックワンドもありますが、一番多用するのは多角形選択ツールでしょう。


多角形ツールを描いている途中に Ctrlキーを押すとエッジに吸着する効果があります。


PhotoScanではこのように1枚1枚マスクを編集する事もできます。細かくマスクする程品質が向上します。

また、別のアプリケーションでマスクを作成し、Alphaチャンネルもしくは別のモノクロ画像として保存すればPhotoScanにマスクとして読み込ませる事もできます。
さらにPhotoScanで作成したマスクを別のソフトに出力する事もできます。(写真を右クリック >> Export Mask)

気の済むまでマスクを設定したら、最終的なポイントクラウドとメッシュを生成しましょう。
Workflowメニュー >> Build Dense Cloud... を選択し、以下図のようにクオリティを "High" 設定で高密度ポイントクラウドを生成します。


High品質のポイントクラウド生成は時間が掛かります。(Core7マシンで4分程度でした。)


最後にポイントクラウドからメッシュを生成しましょう。(Workflowメニュー >> Build Mesh...) メッシュの生成設定はこれまで同様です。


以下のような頂点カラー付きモデルを得る事ができました。


※このサンプルで使用したスナップ写真では顔の左半分のディテールは写真でカバーできていないのでどうしてもボヤけます。(あと1〜4枚撮り直せばOKです。)

なおこのチュートリアルでは行いませんが、PhotoScanではこの後ポリゴンリダクションを加える事もできます。(Toolsメニュー >> Decimate Mesh... コマンドを実行)



手順6:テクスチャーを生成する。

最後にテクスチャーを生成します。手順は簡単です。

Workflowメニュー >> Build Texture... コマンドを選択します。 オプションが表示されるので図のように設定してOKをクリックしてください。


PhotoScanは自動的にUVを作成し各写真からの平均値でテクスチャーを生成します。


生成されたテクスチャー(自動UV)


なお、生成したメッシュを一度外部ソフトウェアで編集(UVを生成)し、再度PhotoScanに読み込んで任意のUVにテクスチャーを焼きこむ事も可能です。

ビューポートの表示はツールバーのボタンで切り替える事ができます。




以上でPhotoScanの基本的な使い方を学びました。

製品版ではこの後メッシュデータをOBJ形式で書き出し、ZBrushでバンプ(orディスプレイスメントマップ)を適用すると以下のような品質になります。
(生成データの書き出しは製品版でのみ可能です!)
クリックで拡大

クリックで拡大


以上がPhotoScanの基本的な使い方です。このチュートリアルのモデルであれば撮影からメッシュ生成まで1時間以内に行う事ができるでしょう!!