初歩からのフォトグラメトリ~人物のターンテーブル撮影に挑戦!~【写真からゲームで使える3Dキャラを作ってみよう! vol.3】
~~~~~~~~~~~~~~~~~
※2021/11/24 追記:
ターンテーブルを用いたフォトグラメトリ用の人物撮影方法については、Vol.5のほうでも最新の研究成果を紹介しております。そちらは有料記事となっておりますが(より精度が高くなりました)、本記事と合わせてご参照いただけますと幸いです。
~~~~~~~~~~~~~~~~~
■カメラが1台しかない場合の撮影方法を考える
こんにちは、茶里です。話題になったnoteのセキュリティ問題(!)などの影響もあり、かなり時間が空いてしまったのですが……フォトグラメトリを用いて、3Dキャラクターを作成する記事の連載を再開したいと思います!
さて、前回はプロのスタジオで撮影した写真をもとにフォトグラメトリにチャレンジしたのですが、誰もがあのような完璧なシチュエーションで写真を撮影できるわけではありません。
おさらいしておくと、前回伺ったフォトグラメトリスタジオ"Studio Iris"では164台ものカメラを用いて、いろいろな角度から、一発でフォトグラメトリに必要な写真を撮影しました。これらの写真をフォトグラメトリソフトに取り込んで、3Dモデル(メッシュ)を作成したのでしたね。
しかし、よほどの事がない限り、一般のご家庭に100台以上のカメラがある事はないでしょう。筆者もありません。では、カメラが一台しかない場合はどうすればよいのか?よく紹介されている方法は下記のようなものです。
こんな感じで、被写体を静止させたまま、カメラマンが周囲をグルグル歩き回りながら撮影するのです。なるほど、これなら確かに、いろいろな角度から撮影した写真を用意することができそうですね。
でも、この方法には実は大きな欠点があります。かなり広いスペースが必要になるのです。上記の動画のように、屋外で撮影すればよさそうですが、
・光量や影のコントロールが難しい
→フォトグラメトリに使用する写真は、すべての写真の光量が均一になっており、影がない事が望ましいのですが、屋外だと当然、この調整が難しくなります(曇りの日などに、日陰を見つけて撮影する事になりますが、時間とともに影が動いてしまいます)。
・背景が映りこむ
→背景が邪魔になって、フォトグラメトリソフトへの取り込みが上手くいかない事があります(できればグリーンバックとかで撮影できると、後々の処理がラクになります)。特に背景に動くもの(通行人とか車とか)が映りこむと厄介です。
など、なかなかハードルが高いのです。屋内で、もっと省スペースで、安定して撮影できる方法はないものでしょうか?
■「ターンテーブル」での撮影に挑戦!
そこで、前回に引き続き、フルーティストの北山朝美さん(instagram: @asami.flute)にモデルとしてご協力いただき、室内でのフォトグラメトリ撮影にチャレンジしました。
※最近youtubeチャンネルを開設されたので、是非聴いてみてください♪
写真で北山さんが手に持っているのが、今回の撮影で使ったターンテーブルです。
実は小さな置物などをフォトグラメトリする方法として、下記の動画のようにターンテーブルを使用する手法はよく知られています。カメラを固定したまま、被写体のほうに回転してもらうことで、安定して様々な角度からの写真を撮ることができるんですね。
これにヒントを得て、大きなターンテーブルを用意してその上に立ってもらえば、同じ要領で人物撮影もできるのではないか?と考えチャレンジしたのが、今回の企画です。
■使用した「ターンテーブル」について
今回撮影で使用したターンテーブルはこちらです。
撮影スタッフはカメラマン一人(自分だけ)のため、電動で回ってくれるものを探しました。その中では、比較的コスパのいい商品です。ただし耐荷重が50kgと、人物撮影にはややギリギリのスペックで、重心のかけ方次第で止まったり、逆回転したりと、動作が不安定になる事もありました。
可能であれば、もっと耐荷重の大きいものを用意したほうがいいかなと思います。また、指定した角度だけ回転する機能などついていると、非常に便利です。
例えばこちらは少々値段が張りますが、耐荷重が100kgあり、指定した角度だけ回転させるリモコンがついています。
※2021/11/24追記
その後、こちらのリモコン付回転台を用いて、ターンテーブル撮影に再挑戦した記事をアップしています。
ちなみに、もっと安く済ませたいという方には
こういうダイエット用のツイストボードを代用する事もできます。耐荷重が90kgもあるので耐久性は安心ですが、カメラマン以外にボードを回すアシスタントが必要になるので、注意してください。全身を撮影したい場合はアシスタントが映ってしまうので、あまり向かないと思います。
■撮影前の諸注意
のちの工程で「うまくフォトグラメトリソフトに取り込めない!」という事態を避けるため、この記事に倣ってターンテーブルでの撮影に挑戦したい方は、下記の事に気を付けましょう。
※以下「こうしておけば、もっといい結果が得られたな……。」という反省がメインなので、今回の撮影では徹底できていない部分も多々ございます。何卒ご容赦ください……!
【被写体側の注意ポイント】
●髪は基本的にお団子状にまとめるのがおすすめ
基本的に「撮影中に動いてしまう」部分を少しでも減らすのが鉄則です。写真によってパーツの位置が移動してしまうと、フォトグラメトリソフトの位置計算が上手くいかなくなるからです。
特に今回気付かされたのは、髪の毛対策を徹底することの重要性です。
今回、北山さんには髪を後ろでまとめ、ポニーテールにしていただいたのですが、回転台がまわるうちに髪が微妙に揺れ動いてしまい(その場ではわからないくらいの誤差なのですが、フォトグラメトリの計算には結構影響があります)後頭部が綺麗に3Dにならない原因になりました。
前回のirisでの撮影時のように、髪の毛はなるべく肩より上で、お団子状にまとめていただくのがオススメです。後れ毛などもなるべく、スプレーなどで固めて動かなくしましょう。「ゆるふわ」な髪はフォトグラメトリでは上手く再現できず、メッシュが欠損したりする原因になります。
●服は動いても形の変わらないものを
今回はちょっとモコモコした素材の単色セーターで撮影したのですが、やはり髪の毛と一緒で、撮影しているうちにモコモコの位置が少しずつ変わってしまうという問題点がありました。また、単色よりは、少しぐらい柄があったほうが、ソフトが特徴を把握しやすく、結果がよくなっただろうな、と今は思います。
これから挑戦される方は、できれば柄付きのヨガウェアのような、起毛が少なく、特徴の把握しやすい服装を用意するのがいいかもしれません。
●金属製のアクセサリーなども避ける
フォトグラメトリは、光を反射してしまうような素材が苦手(上手く認識しない)です。なので、金属製のアクセサリーは外した状態で撮影しましょう。特にイヤリングなどは、ゆらゆらと位置が動いてしまうので、よりよい結果を得るためにも、外したほうがよいです。
【撮影側の注意ポイント】
●腕に自信のある方はグリーンバックでの撮影もオススメ
今回は普通に白バックで撮影してしまったのですが、回転台を用いたアプローチの場合、ときおり背景と被写体を切り分ける処理が必要になるので(詳しくは次回、フォトグラメトリソフトの使い方で説明します)、グリーンバックで撮影しておくと後処理がラクになる場合があります。
ただし
・背景のグリーンが一様に見えるように撮影する技術がある
・photoshop等でグリーン部分を処理する技術がある
これが無い場合は、背景色のグリーンが被写体に反射して緑っぽくなる等、グリーンバックゆえの問題で面倒がむしろ増える……という事もありますので、初心者は普通に白バック撮影でよいかと思います。
●使用カメラについて
写真の質とフォトグラメトリの出来具合にはある程度相関関係があるので、いいカメラといいレンズを使えば結果もよくなるのでは?という発想のもと、可能な限りいい機材を使用しました。
本体は現状のキヤノンのラインナップでもっとも有効画素数の多い(約5060万画素) EOS 5Ds R。
レンズは100-400mmのⅡ型をレンタル使用しました。いわゆる赤鉢巻、とてもよいレンズです……。
ただ今回、そのありがたみはそこまで実感できませんでした。むしろ、画像サイズが大きすぎて、フォトグラメトリソフトのサイズ制限(Steam版 Reality Captureにはサイズ制限があるのです)に引っかかってしまい、結局ダウンサイズして使用することになったからです^^;
キヤノンでいうとKissシリーズ等、普通のコンパクトデジタルカメラでも十分綺麗な結果が得られるので(最近では、iphoneで綺麗にフォトグラメトリを成功させている例も、あるくらいなので)無理をしてフルサイズの高級機を使う必要はないのかもしれません。
●焦点距離は固定する
Reality Captureの場合はそこまで問題にならなかったりもするのですが、使用するフォトグラメトリソフトによっては、カメラの焦点距離がバラつくと正しい結果が得られないものもあります。なので、焦点距離はなるべく固定して撮影することを心掛けました(ズームリングには触れず、足を使って被写体に寄ったり、離れたりする)。
●超広角での撮影は避ける
これもフォトグラメトリソフトによってバラつきはあると思いますが、一般にレンズの画角が広すぎると、写真のゆがみが大きくなりすぎて、結果に悪影響が出る可能性が高いです。
特に全身を映したい場合はつい広角レンズを使いたくなりますが、気を付けましょう。筆者の個人的な感覚にはなりますが、できれば中望遠以上(70mm~)のレンズで撮影するのがよいと思います。
●なるべく被写界深度は深めで!
ボケの少ない写真を使用するのが、フォトグラメトリを成功させる秘訣です。なるべく広くピントが合うように、F値はなるべく絞ったほうがよいでしょう。今回はせっかく屋内でストロボが使えるので、F=11以上に設定しました。
●なるべくノイズが出ないように!
ノイズのない綺麗な写真のほうが、フォトグラメトリの結果も良くなります。今回は外部ストロボを用いて、ISO感度を100におさえて撮影しました。
●なるべく影がでないようにストロボを調整
影はフォトグラメトリの計算に悪影響を及ぼすため、なるべく発生しないようにライティングを調整しましょう。今回も下の画像のように、なるべく影は抑えたつもりですが、まだまだ改善の余地がありそうです。
■撮影結果と考察
さて、それでは下記に撮影方法と、フォトグラメトリソフト(Reality Capture)での出力結果をレポートしていきたいと思います。今後同様の撮影を行う方々の参考になりますと幸いです。
■パターン1 近距離で上中下3方向から全周撮影
ISO値:100 絞り:f11 焦点距離200mm
撮影位置:上中下3方向 撮影間隔:12度(1周30枚)
●撮影写真サンプル
●Reality Captureに取り込んだ直後の点群表示の状態
●点群からメッシュを作成した状態
●テクスチャを貼った状態
【パターン1:反省点など所感】
オーソドックスに上中下のアングルから、合計100枚くらいになるように撮影しました。顔の部分に関してはかなりクオリティ高く精巧にできたのですが、やはり前述したように髪の毛の部分が壊れてしまっています。
全体的に近めの距離で撮影したので、睫毛などのディテールもかなり再現されているのですが、もう少し引きのアングルもまぜれば、髪の毛全体の形をとらえることができ、壊れるのを防げたと思われます。
また、上からのアングルは少し角度が足りておらず、そのせいで頭頂部周辺が情報不足になり、正しくメッシュが生成されなかったようです。もう少し上中下のアングルの差を大きくつけたほうが良い結果が得られそうです。
なお、目を閉じた状態での撮影は成功率が高い(瞼の位置が固定される為)ので、必ず撮影することをお勧めします。目を閉じた状態だけでもうまく作成できれば、他で失敗したとき、修正に役立てることができるからです。
■パターン2 中距離で上中下3方向から全周撮影
ISO値:100 絞り:f4.5 焦点距離100mm
撮影位置:上中下3方向 撮影間隔:4.5度(1周80枚)
●撮影写真サンプル
●Reality Captureに取り込んだ直後の点群表示の状態
●点群からメッシュを作成した状態
●テクスチャを貼った状態
【パターン2:反省点など所感】
パターン1が1周30枚だったのに対して、こちらでは1周を80枚に増やし、情報量を増やしてクオリティを上げることを試みました。
結果、パターン1と違って後頭部の形はなんとか保たれたのですが、やはり髪の毛が肩に触れている部分は、肩とつながってしまい壊れています。ここからも、髪をまとめておく事の重要性がわかります。
また、頭頂部が切れてしまって平らになっているのは、うまく頭頂部を撮影できていなかったからだと思われます。やはり上位置からの撮影はもう少し角度をつけたほうがよさそうです。
なお、顔のディテールがパターン1に比べて精細さを欠いているのは、もちろん距離が離れて情報量が減ったこともあるのですが、極端に絞りが開放され、被写界深度が浅くなった(ピントの合う範囲が狭くなってしまった)影響が大きいと思われます。
パターン2では1周80枚の高速連写を行ったのですが、この速さだとストロボのチャージが間に合わず、発光量が減ってしまいます。その減った発光量を補うために絞りを開放し、光をたくさん取り込んだのですが、結果的に絞りがF4.5とかなり開放ぎみになり、ピントの合う範囲が狭くなってしまったのです(ボケている部分が増える)。
ボケはフォトグラメトリの大敵なので、絞りを開くくらいだったら、ISO感度を上げればよかったかなと今は反省しています。
このパターン2で作成した3Dモデルは完全に失敗というわけでもなく、パターン1で作成したモデルを活用すれば修正できるレベルだとは思います。
ただ、今後絞りは最低でもF11以上をキープすることを心がけたほうが良いと感じました。
■パターン3 近距離で上下2方向から半周だけ撮影
ISO値:100 絞り:f13 焦点距離200mm
撮影位置:上下2方向 撮影間隔:6度(半周30枚)
●撮影写真サンプル
(上下といいつつ、高さの差はそこまで大きくありません)
●Reality Captureに取り込んだ直後の点群表示の状態
●点群からメッシュを作成した状態
●テクスチャを付けた状態
【パターン3:反省点など所感】
パターン1、2とも3方向を全周ぐるっと撮影したのですが、当然方向が増える分だけ時間がかかります。パターン3では、そのあたりを時短できないかどうか検討しました。すなわち、方向を上下2方向に減らし、全周ぐるっと撮影するのではなく、半周だけ撮影したのです。
頭の全体の形が別途3Dにできているなら、顔の前面だけフォトグラメトリ、あとから後頭部を3Dソフトなどでマージ(結合)すればよいのではという発想です。
結果、ご覧の通りちゃんと半周分作成されました。ただし、やはり3方向から撮影した場合に比べると精細さは欠きますし、この立方体から顔だけ取り出して、後頭部にマージする作業は結構骨が折れます。よほど時間を急いでいない限りは、ちゃんと全周・3方向を徹底したほうがよさそうです。
■パターン4 遠距離で1方向だけ全周撮影
ISO値:100 絞り:f13 焦点距離100mm
撮影位置:1方向 撮影間隔:7.2度(1周50枚)
●撮影写真サンプル
●Reality Captureに取り込んだ直後の点群表示の状態
●点群からメッシュを作成した状態
●テクスチャを付けた状態
【パターン4:反省点など所感】
最後は、前回のStudio Irisと同様に、全身の3D化を試みたのですが、見事に失敗してしまいました。肩から下はそれなりのものになったのですが、肩から上のメッシュがうまく生成されませんでした。
他のカットと異なり影が強めに出てしまったことなど、原因はいくつかあると思うのですが、やはり顔を綺麗に再現するには、顔がもっと近い距離で撮影されているカットを別途含める必要がありそうです。
また、ターンテーブルそのものが映りこんでいることがフォトグラメトリソフトの認識を阻害してしまい、最初は正常に写真を認識することすらできませんでした。そのため背景とターンテーブルをPhotoshopで切り抜く作業が必要になってしまい苦労しました……。
グリーンバックで撮影をしつつ、ターンテーブルを緑色のカバーで覆ったり、いっそ緑色に塗装してしまうのも手かもしれません。
■ターンテーブル撮影のまとめ
以上、ターンテーブルを用いた人物のフォトグラメトリ撮影に挑戦したのですが、いかがでしたでしょうか。100%上手くいった感じではないですが、今後成功させるためのノウハウは得られたように思います。
●最低でも3方向から撮影する。上位置からは頭頂部を捉えるように。
●1周は30枚が最低ライン。
●絞りは最低でもF10までは絞ったほうがよさそう。
●3Dにする箇所を極力アップで撮影した方が精細な結果が得られそう。
●ターンテーブル部分を切り抜きやすくする工夫ができるとよい。
ぜひ、これらのことに気を付けながら、読者のみなさんも是非ターンテーブルでの撮影にチャレンジして結果をシェアいただければと思います!
さて次回は、そもそもフォトグラメトリソフトはどうやって使うのか?ということと、壊れた3Dメッシュをどうやってクリーンアップするのか、というところに焦点をあててご紹介できればと思っています。不定期更新になってしまうのですが、いましばらくお待ちいただければと思います……!!
~~~~~~~~~~~~~~~~~
※2021/11/24 追記:
今回の反省をふまえ、Vol.5の記事でターンテーブル撮影にリベンジしています。ご興味ありましたら、そちらもぜひご覧くださいませ!
~~~~~~~~~~~~~~~~~