いよいよ核心へ。

 ここまでは、PTGuiの優れた機能に任せっきりで、とにかく簡単にスピーディに作ることを目的に話を進めてきました。しかし、現実には撮影に失敗したり、なぜかうまくいかなかないことも多くあります。また、さらに高品位なパノラマを作るには、ソフト任せでは限界があります。
 そんな時に、自分の目と手を信じて、パノラマのつなぎ合わせの調整を行うことになるのですが、ここでお世話になるのが「コントロールポイント」と「オプティマイザ」です。
 写真のつなぎ目は自動でキレイに合わさったとしても、画像の垂直が微妙に傾くことが少なくありません。このような場合も、手動で垂直を調整します。

 「コントロールポイント」とは、写真と写真を合わせるために使う、画像の重複箇所のことです。PTGuiは、コントロールポイントを参照して、写真と写真の位置決めを行います。写真のどこに何が写っているのか? という人間的な感覚はありませんが、画像のコントラストなどを元に、この写真のココと、この写真のココが、同じ位置らしい、ということを見いだすようです。

 「オプティマイザ」は、コントロールポイントに従って画像の位置を調整した後に、それぞれのコントロールポイントの位置のズレを計算しなおします。

 基本的にPTGuiは、画像を「変形」するわけではありません。単純には、球体の上に貼り合わせた一枚一枚の写真を、コントロールポイントの位置のズレを最小にするように、写真の位置(縦横回転)を調整するするだけの機能しかない、と考えた方が分かりやすいです。

 ですから結果として、位置を調整した後の画像同士のコントロールポイントにはズレが残ります。このズレが大きいと、「どこかまちがっているゾ」となり、ズレが小さいと「うまくいったらしいね」という結論になります。
 この判断を下すのも「オプティマイザ」です。

●●●一番最初に押す「align images」は、コントロールポイントの検出と、オプティマイズを一気に自動でやってしまうボタンです。

 さて、本題に入る前に、PTGuiが画像をつなぎ合わせる仕組みについて、もし少し詳しく整理しておきましょう。

1.PTGuiの画像のつなぎ合わせの仕組み

stetch
▲360°パノラマの画像合成は、カメラで写す写真が「平面」であることを一旦忘れ、球体のどこの部分が写っているか? を考える方がわかりやすいです。

 パノラマ撮影で、どこが写っているか? を分かりやすく示したのが上の図です。赤い部分と、隣同士の緑の画像や天地の画像などが重なることで、全球のイメージができあがります。
 問題は、それぞれの写真をどのようにつなぎ合わせるか? です。この時、二つの前提条件を付けることで、話がとても簡単に進みます。

  1. ノーダルポイントは正確に出ている
  2. レンズの収差はとりあえず無視する


 
 ノーダルポイントの誤差については「視点補正(view point)」が、レンズ収差については「レンズパラメータ」を適用して補正するのですが、ここてはとりあえず置いておきます。

stetch
▲カメラの「向き」と「回転」は、Yow(光軸方向の回転/レボルビング)、Roll(水平方向の回転/スイング)、Pitch(上下方向の回転/チルト)、で表されます。

 ノーダルポイントが出ており、レンズの収差がないという前提であれば、カメラの「向き(RollとPitch)」と「回転(Yaw)」だけを正しく合わせることで、全球の画像はピタリと合致します。

 ただ、実際に撮影された写真の「向き(RollとPitch)」と「回転(Yaw)」が数値として出ているわけではありませんから、これらを画像同士の重複箇所から割り出していくことになります。
 つまり、画像同士の重複箇所(コントロールポイント)を探し出し、これらのズレを最小化するように、画像の位置を調整するわけです。
stetch
▲全てのコントロールポイントのズレを最小化するように画像の位置を配置します。このため、いくつかのコントロールポイントにはズレが残ります。A(2箇所)は、ほぼ完全に一致。Bは、中くらいのズレ。Cは大きなズレの例です。

 PTGuiの「パノラマエディター」などを見ていると、画像を変形しているように見えますが、実際には「変形」はせず、画像の位置(縦、横、回転)を調整するだけです。
 なぜなら、二つの前提条件さえ確実に整っていれば、画像の位置を調整するだけで、(理論的には)全球画像がピタリと重なるはずなのです。

stetch
▲黒線の写真を動かしているようすです。他の写真とのコントロールポイントのズレを最小化するよう、写真の「位置(pitchとroll)」と「回転(yaw)」を球面上でスライドするように調整します。いわゆる「変形」はしません。

 ところが現実は、そのようにならず、ほとんどのコントロールポイントは微妙にズレ、一部のコントロールポイントは大幅にズレます。

 この原因は、先の二つの前提に由来するものと、もう一つ、コントロールポイントの検出誤差(ないし、手動でコントロールポイントを加えた場合の誤差)によるものがあります。

 このような誤差のあるコントロールポイントは、画像の正確な位置調整には邪魔になるだけですから、一旦除外してから、もう一度調整しなおした方がよい結果になります。
こうした操作は「コントロールポイント テーブル」で行います。

 さて、頭の痛い話はここまで。実務的な操作の流れを整理していきましょう。

2.大きくズレたコントロールポイントを削除する。

 まず最初に、写真がうまく合わさらなかった時の簡単な対処方法を紹介しておきます。
 写真がうまく合わない原因はいろいろですが、「コントロールポイント」が大きくズレている、という現象から判断されます。
 この時に出るのが「bad」という注意です。

editer
▲写真のつなぎ合わせがうまくいかなかった(コントロールポイントがズレまくりだった)時は、このような注意がでます。「bad」! は精神衛生にもよくありません。

 これがでたら、とりあえず、ズレの大きいコントロールポイントを除外し、もう一度オプティマイズしてみます。案外、これでそこそこよい結果になることも多いです。

editer
▲メニューの「コントロールポイント テーブル」ボタンをクリック。

editer
▲「Distance」が5以上のコントロールポイントを選択し、左上の「除去」ボタンをクリック。

editer
▲「Optimizer」タブの下にある「Run Optimizer」をクリック。

editer
▲「very good」がでました。「good」でも十分。できない時は、以下に紹介するよう手動でコントロールポイントを作ってみます。また、ノーダルポイントのズレも疑ってみましょう。

3.手動でコントロールポイントを作る。

 「Control point」タブをクリックすると、下のようなダイヤログが表示されます。ここでコントロールポイントを手動で作ったり、除去したりすることができます。

editer
▲「Control point」タブをクリックすると表示されるダイヤログです。それぞれの機能をざっとお確認しておきましょう。使っていく内に覚えられます。

editer
▲左右に、別々の重複箇所のある写真を並べ、同じ箇所をクリックしてコントロールポイントを作っていきます。左下のボタンを使えば、写真の切り換えがスピーディに行えます。

editer
▲両方をクリックすると、番号が打たれ、この番号で管理されます。

editer
▲不要なコントロールポイントは、「右クリック」、「Delete」で削除します。

editer
▲ダイヤログ左下の操作を自動化するツールは、すべてチェックを入れておきます。

 以上のような方法でコントロールポイントを手動で作り、オプティマイズして、「good」や「very good」がでるまで繰り返します。

4.正確に垂直を出す。

 PTGuiが自動でコントロールポイントを検出し、写真の位置決めをして、つなぎ合わせると、被写体の垂直が微妙にズレてしまうことが少なくありません。
 PTGuiにとっては、建物の柱がどうこういうことは関係ありませんから、これは仕方のないことです。

 被写体の垂直を正しく再現するには、「Vertical Line」と呼ばれるタイプのコントロールポイントを使います。
 ダイヤログの左右に、同じ写真を選ぶと、自動的にコントロールポイントのタイプが「Vertical Line」になります。そうしたら、左右の同じ写真の垂直部分の上下に、コントロールポイントを打ちます。建物の柱など、それが垂直であることが正しくわかっている部分にだけ適用し、一ペアの写真に対して1ペアのコントロールポイントがあれば十分です。

editer
▲左右に、同じ写真を並べ、垂直であることがわかっている部分の上下に、コントロールポイントを作っていきます。

editer
▲オプティマイズしようとすると、このような注意が促されます。「Yes」をクリックします。 「No」では「Vertical Line」が反映されません。「Cancel」は、オプティマイズの中止です。

editer
▲元の写真とさほど変わりませんが、垂直が正しくなりました。

5.水平を出す。他。

 コントロールポイントのタイプには他に、「Horizontal Line」と「New Line」があります。

 前者は、水平。後者は、新しい(任意の)線。という意味でしょう。

 「Horizontal Line」は、消失点を含む「水平線」を意味しています。つまり、海の端、陸の端、要するに無限遠の水平線にだけ、このコントロールポイントを適用します。
 つまり、室内の棚など、水平だけれども、視線よりも高い位置にある部分に合わせると、そこが水平線の高さになってしまいます。

editer
▲「Horizontal Line」は、視線の高さ(画面中央)の水平になるように調整されます。す。

editer
▲他のコントロールポイントの影響か、正しく画面中央の高さになるわけではないようです。

editer
▲「New line」は、任意の線を合わせる効果があるのでしょうが、視点調整「view point」などと併用しないと、うまくいかないかもしれません。(要検討課題です。)

付録.「Image Parameter」を読む!

 
 コントロールポイントを使って、写真の位置(Yaw、Pitch、Roll)を調整した結果は、パノラマエディター上で視覚的・直感的にわかります。そしてその詳細の数値は、「Image Parameter」タブの中で見ることができます。
 とても横長で、見るのも嫌になりそうですが、どのような項目が並んでいるのか、ざっと見ておきましょう。

editer

 PTGuiによる写真の位置決め、さらに「レンズ収差」と「視点」の補正などは、すべて数値化されて、「Image Parameter」タブ内で閲覧できます。現実的ではないと思いますが、自分で数値を書き込むこともできます。

  • Image/warpd/link・・・・・画像表示とリンク
  • Yaw/Pitch/Roll・・・・・・・画像の位置決め
  • Lense type/Fov・・・・・・レンズタイプと画角
  • a/b/c・・・・・・・・・・・・・・レンズ収差(樽型・糸巻型・波型)
  • HShft/VShift・・・・・・・・レンズシフト(普通は0)
  • HSear/VShear・・・・・・レンズの傾き(普通は0)
  • Exporsure~Exp.offset・・・・露出の各パラメータ
  • WB r/g/b・・・・・・・・・・ホワイトバランスのPTGuiでの補正値
  • Flear・・・・・・・・・・・・・・レンズのフレアレベルかな?(要検討)
  • Blend priority・・・・・・・画像を合わせる時の優先度(数字が小さいと下になる)
  • VP X/Y/Z/Pan/Tilt・・・視点補正(view point)使用時のパラメータ

・・・・・今回はここまで。

コメントを残す

メールアドレスが公開されることはありません。