写真8枚から始める絶対失敗しないフォトグラメトリ

この記事では、フォトグラメトリを習得する際のステップアップの一例を紹介します。

はじめに

皆さんフォトグラメ撮ってますか? noria901です。

フォトグラメトリといえば、STYLY Magazineには数々のフォトグラメトリ記事が公開されておりますね。作成方法については、フォトグラメトリ入門 撮影方法~3Dモデル作成や、フォトグラメトリ 初心者でも失敗しない撮影のポイント、そしてフォトグラメトリ情報まとめがあります。また、より実践的な記事として銭洗弁天VRの【フォトグラメトリ】建築デジタルアーカイブがあります。

これらの記事を実際に試した方はお気づきになられたかもしれません。フォトグラメトリは時間とお金がかかるということに。また、原因不明の失敗に心が折れることもあるでしょう。もしかしたらそれは、多くの挑戦をし過ぎたことが原因かもしれません。そんな場合は、小さな一歩から始めると良いでしょう。そう、絶対失敗しないフォトグラメトリをするのです。つまり、時間をかけずお金をかけず現象を理解できるようにするのです。では、具体的にはどうすればいいのでしょう?

写真8枚から始める

フォトグラメトリを始めるのに必要な写真は最低何枚でしょうか?答えは2枚です。これは、Metashapeのアライメントを開始できる最低枚数です。3DF Zephyrの場合は3枚から作成できます。では実際に2,3枚の写真から作ったモデルを見てみましょう。

写真3枚でフォトグラメトリ

流石にこれはひどい

ご覧いただいた通り、確かにモデルは作成できてますが、何なのか判りません。これでは作品には使えません。

では、何なのか判るモデルを作るのに必要な写真は最低何枚でしょうか?答えは8枚です。実際に8枚の写真から作ったモデルを見てみましょう。

写真8枚でフォトグラメトリ

これならチラシの上に乗っかったコースターだと分かる

ご覧いただいた通り、何なのか判るモデルができています。ただし、裏面はスカスカです。つまり、ある側面から見たモデルを作成するのに必要な枚数、それが写真8枚なのです。

当然、フォトグラメトリの対象によっては8枚では表現しきれません。ですが同時に、8枚で表現できるフォトグラメトリの対象も存在するのです。ここからは、小さい物、大きい場所それぞれを写真8枚でフォトグラメ撮る例を見ていきましょう。

小さい物をフォトグラメ撮る

フォトグラメ撮る工程を考えると、大体以下のようになるでしょう。

    1. 撮影対象となる題材を決める
    2. 撮影
    3. フォトグラメトリツールによりモデルを作成する

ここで大事なものの一つに、題材に合わせて写真の撮り方をイメージしておくことが挙げられます。つまり、撮影のポリシーを持つということです

撮影のポリシー

どんな物をフォトグラメ撮るにしても、フォトグラメトリーの原則を守る必要があります。撮り方に関して言えば60%オーバーラップするという原則がありますね。実際の撮影シーンを考えてみると、平面に対して60%オーバーラップするように平行移動して撮影する、というのはイメージができると思います。

平行に撮影する

対象と平行に60%オーバーラップしながら撮る

では、円形の物を撮ると考えた場合、どの様に撮ればいいでしょうか。円形をオーバーラップ60%おきに撮影する…意味が解りませんね。では、円形の物を斜め上から撮ると想定してみましょう。すると、手前は大きく、奥は小さく映ります。

円形の物

円形の物を斜め上から撮る

フォトグラメトリのツールが認識するには、特徴点が十分な解像度で写ってる必要があります。なので、手前に映った情報がより認識に有利と言えるでしょう。仮に写真の中心から手前90°の範囲が有効とします。あとは、90°を60%オーバーラップした状態で撮ればよく、90°×60%=54°毎の写真が必要であり、360°÷54°=約7枚撮れば十分だということがわかります。テクスチャマップをきれいに作るために直上からおまけで1枚追加すると、丁度8枚になりますね。そう、物のある1側面を撮るのに必要な枚数は8枚なのです。

写真8枚で十分

1側面しか表現しないなら8枚で十分

題材と作例

ここで、この考え方に適した題材を紹介しましょう。

マンホールの蓋です。

マンホールの蓋

そこら中にある。

マンホールのJIS規格では蓋のデザインの制限がないので、日本には何千種類ものマンホールの蓋が存在します。近所を散歩すればすぐにあり、同じデザインでも設置個所によっては摩耗具合が異なり、耐用年数超過から交換されることもあり、一生撮り切れないのでフォトグラメトリの題材として優秀です。また、マンホールの蓋は日常生活の中では一側面しか見ない物です。つまり、裏面を見るという意識が生まれないのでフォトグラメトリーも一側面のみ生成したらよい、故に写真8枚という考え方のポリシーをうまく適応できる題材なのです。

マンホールの蓋を周囲から7枚、直上から1枚という撮り方のポリシーを適応してフォトグラメ撮ってみた例が以下になります。十分小さいモデルであり裏面のメッシュが存在していないので、テクスチャマップ作成時に5000ポリに間引いても十分に表現可能です。

写真8枚でマンホールの蓋

8枚あれば化粧蓋の凹凸もきれいにできる

これで8枚で撮るという撮り方のポリシー題材がそろいました。実際にこの方法でフォトグラメ撮ったマンホールの蓋を作品として仕上げたのがこちらです。今回の撮り方のポリシーは条件としてはかなり厳しいですが、どの程度のディティールを持って凹凸が再現できるのか、何よりもマンホールの蓋として認知できるのかを試すにはちょうど良いです。ぜひVRで見て確かめてください。

フォトグラメトリツール、時短する

”Manhole cover maniac”では約30個のマンホールの蓋を使っていますが、作品を作るまでに倍以上の67個の蓋を撮影しています。つまり、最低67回フォトグラメトリツールを使ってモデル作成している、ということになります。ですが”恐ろしい時間かかりそうだ”と怖気づく必要はありません。なぜならば、写真8枚しか撮ってないので、モデル作成にそんなに時間がかからないのです。ですが、ツールを使いこなすとさらに作成時間を短くすることができます。

3DF Zephyrであれば低密度点群を作成した後に行う境界ボックスの設定、metashapeで言うところのRegionです。境界ボックスの設定は、境界ボックス外の高密度点群を作成しなくなるので、その分処理時間が削減できるのです。では、実際どの程度時間が削減できるのか3DF Zephyrで比較してみました。利用するPCはMacBook 2017と同程度のスペックのGPD Poket2(CPU:m3-7y30, RAM:8GB)です。

3DF Zephyr 境界ボックス設定なし 境界ボックス設定あり

低密度点群作成
カテゴリー:近接範囲
プリセット:デフォルト

1分1秒

1分39秒

(境界ボックス設定含む)

高密度点群作成
カテゴリー:近接範囲
プリセット:デフォルト

2分1秒 1分8秒

メッシュ
カテゴリー:近接範囲
プリセット:デフォルト

5分15秒 3分30秒

テクスチャ付きメッシュ

テクスチャサイズ:8192×8192、
最大頂点:5000、テクスチャ最大数:1

4分51秒 54秒

合計時間

13分6秒 7分18秒
生成されたモデル
境界ボックスあり

全体が出力される

境界ボックスあり

境界ボックス内が出力される

境界ボックスの設定を含めても十分短い結果が得られましたね。

ところで、こんな数をこなしていると失敗することも多々ありました。その失敗例をいくつか見てみましょう。

失敗例1:アライメントまったく認識してくれない

アライメントとは、どの位置から写真を撮ったのか空間上に配置することです。一側面に絞って撮影しているのにアライメントに失敗するということは、写真自体がうまく取れてないことを一番に疑うべきでしょう。つまり、手ブレやピンボケが原因であることが多いです。次に光の反射により失敗するケースです。マンホールの蓋はまがりなりにも鉄製なので、光の反射が発生するのです。以下の例ではその手振れと光の反射の2つが同時に発生しているために失敗したことが分かりました。手ブレやピンボケとなるとリカバリーも難しいので、改めて撮りに行きましょう。マンホールの蓋は逃げません。

アライメント失敗1

手振れと光の反射でアライメントに失敗した

失敗例2:アライメントの結果、様子がおかしい

アライメントは成功したようですが、写真の撮影位置からは外れた配置になってますね。そのまま無理やりメッシュ作成してみたら異形のマンホールができました。これは光の反射により失敗するケースです。撮影した日が霧雨の東大で路面がぬれている状態でした。そのためマンホールの蓋だけでなく路面全体が反射しています。結果、アライメントが失敗したのです。雨の日にフォトグラメ撮るのはやめましょう

アライメントがおかしい

写真の配置がおかしい

失敗例3:メッシュが上手くできなかった

アライメントが正しくできていたのでメッシュ作成した所、思ってた形状とは違うメッシュができてしまいました。これも光の反射により失敗するケースです。光の反射で位置関係が破綻するとこのようになります。ただ、マンホールの蓋の形状が若干再現できているのも見て取れます。この程度の光の反射であるならば、曇りの日を狙って撮影すると光の反射を抑えることができるのでこのような失敗を抑えることができます。お金をかけるなら一眼レフカメラでPLフィルタ(偏光フィルタ)を導入すると良いでしょう。

メッシュがおかしい

光の反射の影響で生成失敗

ここまでは小さい物についてみてきました。ここからは大きい場所をとることを考えてみましょう。

大きい場所をフォトグラメ撮る

ここまで読んでいただいたならば、大きい場所をフォトグラメ撮る場合に必要なものは想像がつくことでしょう。そう、大きい場所に適した撮影のポリシーを持つのです。

撮影のポリシー

先述した通り8枚という写真枚数は、題材の一側面しか表現できません。なのでここではシンプルに家屋の壁などの平面を撮ることを考えてみましょう。平面を撮る場合、壁と平行に60%オーバーラップするように撮るのが基本になります。では写真8枚でどのくらいの広さの壁がフォトグラメ撮れるでしょうか。これは広角で写真を撮れる環境がどの程度そろっているかによります。広角、つまり広い範囲を写真に収められるかどうかです。カメラのレンズの問題だけではなく、廊下など後ろに下がりようがない環境では広い面積を写真に収めることはできません。(廊下のような閉ざされた環境下では360°カメラを使った手法が有効ですが、少し高額なフォトグラメトリツールが必要になったりするのでここでは説明を省きます。) ただ広角で写真を収めればよいかというとそういうわけでもありません。例えばテクスチャマップの解像度や、細かな凹凸といったところでディティールが下がります。ではその例をいくつか見てみましょう。

一つ目は大通りの門。こちらは歩道橋を歩きながら撮りました。空が映った部分はうまくできてませんが、門はきれいにできてますね。横に歩きながら撮影したのでリコー通りの文字が上手く浮き出てくれました。

リコー通り

歩道橋の上から撮影した沼津のリコー通りの門。

二つ目は商店街のお店。店の看板の上など撮れてない所は生成出来てませんが、店先の雰囲気は出来てますね。

昭和レインボー

沼津の商店街にあったレトロなお店

当然大きな場所となると外乱要素が多く、失敗することもあります。ここからは失敗例を見てみましょう

失敗例4:壁面が歪む

建物の正面をフォトグラメ撮ってみたものです。ボロボロですね。元の写真を見てみると、快晴の青空、単色の壁面といったように、特徴点となるものが少なすぎることが分かります。また、見る角度によって色が変わるガラスはフォトグラメトリの天敵です。快晴で壁面が白飛びする場合、カメラの設定の露出(EV等と表現される)を下げたり、シャッタースピードを速くすることで白飛びを抑えることができます。他にも、屋根部分を見ると大きな穴が開いていることが分かりますね。全体を撮影することを優先したので、軒下など他の面が撮影できてないことが原因です。建物の形状を再現したい場合、今回のポリシーでは対応しきれません。建物などの建造物は多面体であり、その面数×写真8枚必要になると考えると追加で撮影する箇所や枚数が分かってくるでしょう。

建物の正面をフォトグラメ撮ってみた

建物らしき事はわかるが、これでは使えない。

さいごに

ここまで紹介した写真8枚でフォトグラメ撮る際の特徴をまとめてみました。

  • フォトグラメトリ対象の1側面の表現ができる
  • 8枚しか撮らないので、撮影に時間がかからない
  • 8枚しか撮らないので、PCのスペックが低くてもモデル作成に時間がかからない
  • モデルの一側面しか作成しないので、テクスチャサイズやポリゴン数が少なくても表現できる
  • 撮影対象が限定されるので、フォトグラメトリ失敗の原因がわかりやすい
  • 試行回数を増やせるので、フォトグラメトリソフトの癖が理解できる

ところでゲームやアニメでは、マンホールの蓋などという日常を彩る1オブジェクトをわざわざ写真8枚と5000ポリも使って表現することはありませんね。そう、マンホールの蓋なんてテクスチャで十分なのではと思えてきます。もしそれで手が止まるなら、きっとあなたに合った題材ではないのでしょう。そんな時は、”これはフォトグラメ撮らねば”と思える題材を探す時です。心動かされた題材を十分に観察し、どの様な撮影ポリシーで臨むかイメージし、撮影する。アライメントに失敗したら撮り方のポリシーを更新する。この繰り返しです。特に題材を十分に観察する際にいくつの側面があるのかを確認すれば、何枚撮るべきか解ることでしょう。

写真8枚以下から始めるフォトグラメトリ如何でしたでしょうか。時間をかけず、お金をかけず、現象を理解できる、そんな気がしてきたでしょうか。そうなったらあとはフォトグラメ撮るだけですね!

今回作った作品をSTYLY上で使うことを考えると、不要な背景やゴミが残ってたりとモデルの出来が気になるかと思います。実はフォトグラメトリツール単体である程度のモデルの加工が出来ます。次回はフォトグラメトリツールでモデル加工する方法について紹介します。