フォトグラメトリ入門 複数工程の自動処理方法

今回はフォトグラメトリ用のソフトで、複数の工程を一気に進める方法を紹介します。
ひとつひとつの工程でいちいちPCを操作する必要がなくなるので非常に便利です。

また、バッチ処理を利用して複数のプロジェクトの工程を一気に進める方法も紹介します。

フォトグラメトリで作成した3Dモデルの例

フォトグラメトリで作成した3Dモデルの例

フォトグラメトリの基本についてはこちらの記事で詳しく解説しています。

複数の工程を自動処理で進める

一部のフォトグラメトリ用ソフトには、複数の工程を自動処理で進める機能が付いています。

フォトグラメトリは主に
・写真のアラインメント(写真がどの場所・角度から撮影されたのか解析する)
・高密度クラウドの作成(高密度点群データの作成)
・メッシュの作成
・テクスチャの作成

の4つの工程で構成されています。
あらかじめ「どの工程まで作業を進めるか」指示を出しておくことで、自動で工程を進めることができます。

この機能を上手に使うことで、夜寝ている間に自動でどんどん処理を進めたり、たくさんの3Dモデルを一気に作ったりなどの使い方ができます。

複数の工程を自動処理で進める際の注意点

複数の工程を自動処理で進めていくと、途中の状態を確認できずにどんどん工程が進んでいってしまいます。

一つ一つの工程をきちんと確認しないと、きれいな3Dモデルが作成できずに手戻りが発生してしまう場合もあります。
この辺りは求めるクオリティとのトレードオフとなるわけですが、最低限「写真のアラインメント」後の確認およびスキャン範囲の設定は、手作業で確認することをお勧めします。

ですので、全体の流れとしては

・写真の取り込み

・写真のアラインメント

・低密度クラウドの確認およびスキャン範囲の設定

・高密度クラウドの作成、メッシュの作成、テクスチャの作成をバッチ処理で一気に行う

という流れがお勧めです。
より質の高いスキャンを行いたい場合は、適宜フローを見直していくと良いでしょう。

バッチ処理について

多くのフォトグラメトリ用ソフトは「バッチ処理」と呼ばれる機能により、複数工程の自動処理を実現しています。
この機能を使うことで、「複数のプロジェクトの各工程を自動処理で進める」ことができるようになるわけです。

例えばリンゴとミカンの2つのフォトグラメトリを行うとき、普通に作業する場合は一つ一つの工程が終わるたびPCを操作する必要があります。これをリンゴとミカンの2回行うわけです。

バッチ処理を使う場合、あらかじめリンゴとミカンのそれぞれの作業をリスト化して登録しておくことができるので、PCの操作は最初の1回で済むようになります。

このように、バッチ処理は非常に便利な機能ですが、この機能がついているのは高価なバージョンに限られる場合もあります。
バッチ処理に対応するか否かを以下の表にまとめました。

バッチ処理に対応するソフト

ソフト名 対応OS エディション 価格 バッチ処理対応
3DF Zephyr Win Lite
(体験版含む)
¥ 15,380
(体験版は無料)
×
(複数工程を一気に進めることはできる)
Pro/Arial ¥400,000以上
Metashape
(旧Photoscan)
Win/Mac/Linux Standard ¥ 27,000前後
Professional ¥400,000程度
Reality Capture Win Promo版 月々¥ 3,980 調査中
上位版 ¥400,000以上 調査中

MetaShapeを使う場合のバッチ処理の方法

ここでは、Standard Editionでもバッチ処理が使用できる「MetaShape」を例に、バッチ処理の方法を紹介していきます。
今回は例として、鳥・ペンギン・牛の3種類のオブジェの3Dモデルを作成します。

Metashapeでは「Workspace」に複数の「Chunk」を作成することで、複数のフォトグラメトリを一つのワークスペースで作業できます。

Metashapeを開いたら、左側にある「Workspace」で右クリックします。
すると「Add Chunk」が表示されるのでこれを選択しましょう。
これを繰り返して必要な数だけ「Chunk」を作成します。今回は3種類のオブジェをスキャンするので3つの「Chunk」を作成しました。

ワークスペースに複数のチャンクを作成

ワークスペースに複数のチャンクを作成

次に、それぞれのチャンクにドラッグ&ドロップで写真を読み込んでいきます。
今回は「Chunk 1」に鳥、「Chunk 2」にペンギン、「Chunk 3」に牛を読み込みました。

それぞれのチャンクに写真を読み込む

それぞれのチャンクに写真を読み込む

写真を読み込んだら、メニューバーの「Workflow」から「Batch Process」を選択します。

バッチプロセスを選択

バッチプロセスを選択

すると、バッチプロセスのメニューが開きます。
ここにジョブを登録しておくと、自動で進めていってくれるのです。
3Dモデルの作成まで一気に作業を進めてしまうことも可能ですが、ここでは「写真のアラインメント」後に確認及びスキャン範囲の手動設定ができるように、まずは「写真のアラインメント」のみジョブに登録します。

まずは左下の「Add」ボタンを押しましょう。

バッチプロセスに仕事を追加

バッチプロセスにジョブを追加

すると以下の画像のようなウィンドウが開かれます。
ここでジョブの種類と、どの「Chunk」にジョブを適用するか選択することができます。

まずは「写真のアラインメント」をジョブに登録します。
Job typeで「Align Photos」を選択し、Apply toで「All Chunks」を選択します。
必要に応じて「Settings」を調整し、「OK」ボタンを押しましょう。

「写真のアラインメント」をジョブに登録

「写真のアラインメント」をジョブに登録

するとバッチプロセスに「Align Photos」が登録されました。
「Save project after each step」にチェックが入っていることを確認して、「OK」ボタンを押します。
(※「Save project after each step」にチェックを入れると、工程ごとにプロジェクトを自動保存してくれます)

バッチプロセスの開始

バッチプロセスの開始

しばらくするとジョブがすべて完了されます。
写真のアラインメントが成功しているか確認し、スキャン範囲の設定を行いましょう。

Metashapeの使い方はこちらの記事で詳しく解説しています

 

「写真のアラインメント」後の確認

「写真のアラインメント」後の確認

ここまで作業が終わったら、あとは3Dモデルの作成まで一気に進めてしまいます。
メニューバーの「Workflow」から「Batch Process」メニューを開き、先ほど登録した「Batch Process」のジョブを削除します。
(削除するジョブを選択して「Remove」ボタンを押してください)

ジョブの削除

ジョブの削除

先ほどと同様の手順で「Build Dense Cloud」「Build Mesh」「Build Texture」の3つのジョブを順番に登録していきます。
(「Add」ボタンを押してジョブの登録画面を出し、「Job type」を選択して「OK」を押してください)

「Save project after each step」にチェックが入っていることを確認して「OK」ボタンを押すと、これら3つのジョブがすべて実行され、3Dモデルが完成します。

ジョブの登録

ジョブの登録

3DF Zephyr無料体験版を使って複数工程を一気に進める方法

「3DF Zephyr」Lite版(および無料体験版)を使用する場合、バッチ処理で複数のプロジェクトをまとめて処理することはできませんが、1つのプロジェクトの複数工程を一気に進めることはできます。
ただしこの方法を使うと、「写真のアラインメント」後の状態を確認することができません。場合によっては「写真のアラインメント」が失敗したまま工程がすすめられていき、結局手戻りが発生することもあります。
Lite版ゆえの機能制限というわけです。

まずは「3DF Zephyr」に写真を読み込みます。

写真の読み込み

写真の読み込み

写真を読み込むと、下の画像のようなウィザードが開くので、左下の「カメラ方向付け後に追う密度点群を計算」「高密度点群抽出後サーフェスを計算」「サーフェス抽出後にテクスチャを計算」の3つのチェックボックスにチェックを入れてください。

チェックボックスを選択

チェックボックスを選択

あとはウィザードに従って、設定を進めていくだけです。
各ウィザードの設定方法については、こちらの記事で解説しています。

STYLYへのアップロード

フォトグラメトリで作成した3Dモデルは、UnityでUnlit Shaderを適用してアップロードした方が見栄えが良くなります。
Unlit Shaderの適用方法はこちらの記事で詳しく紹介しています。

UnityからSTYLYにアセットをアップロードする方法は以下の記事をご参照ください。

 

いかがだったでしょうか。
バッチ処理を有効に使うことで、フォトグラメトリにかける手間を大きく減らすことができます。

何度か試しているうちに、どのタイミングでどれだけ手をかければ自分が求めるクオリティを実現できるかわかるようになってきますので、バッチ処理をうまく使いながらフォトグラメトリで3Dモデルをたくさん作ってみてください!