1枚の建物写真からでも3D形状を作れるか(2―2)たった1枚の写真から奥行情報を推定する方法(第二夜)

建築の部位・部材の稜線や隅は、平行、直角で構成されることが多い。この建築ならではの条件を使って、平面情報から奥行情報を推定することができる。

今夜は視点の位置を推定します

前回の解説<第一夜>では、写真からエッジを抽出し、スクリーン上に消失点を求めるところまでを示しました。

つぎは、そのスクリーン(つまり写真の画面)に対する、カメラの位置(つまり視点)の座標を決定するところまでを説明します。

今日は簡単ですよ。

高校の幾何学を覚えているなら、ね。

まず、図のように、写真を模式的に青い画面で示しました。その写真から計算してもとめた2つの消失点を赤い点で示しています。

つぎに、このシーンを上から見下ろして、平面図を見るつもりになってください。写真は本当は薄っぺらいのですが、幅を表すため、すこし厚みをもって表現しています。

平面図

視点は、この平面図上で簡単に求めることができます。

その条件は、

  1. 写真の中心を通り、写真に直角な直線の上に、視点がある
  2. 二つの消失点を結ぶ線分を直径とする円弧の上に、視点がある

1.はわかりますね。普通のカメラで撮影した場合、視線の先は写真の中心になります。もし、写真をクロップ(トリミング)して、視線の先が写真の中心にない場合は、視線の先を通り、写真に直角な直線を求めてください。

さらにマニアックではありますが、画像センサーの中心とレンズの中心をずらせるカメラを使って撮影した場合は、やはり写真の中心ではなく、視線の先(レンズ中心)を通り、写真に直角な直線を求めてください。

問題は、2.です。

高校で習った正弦定理を思い出してください。

「セ・イ・ゲ・ン?」

ほら、これですよ。

a/sinA = 2R

つまり、辺aが直径(2R)に一致するなら、対角について sinA=1 つまり、A=90度となる、ってことです。

教科書で見て以来、初めて日の目を見るときが来ました。優しく出迎えましょう。

式が嫌いな人は、図で理解してください。

写真と消失点と私の関係

円弧上の点から、直径を表す2点に直線をひくと、その2直線は直交します。これは、建築の稜線や隅のエッジが直交するという建築ならではの条件をもとにした考え方です。

ひっくり返して考えると分かりやすいかもしれません。

視点から消失点を結んだ直線に平行な直線は、視点の位置にいる人から見れば、すべて無限遠で消失点に集まります。これらの平行線は、建築空間でも平行な直線です。梁の稜線や天井と壁の隅などがこれにあたります。

前回<第一夜>で説明したのは、直交する(ねじれの位置にある場合が多いですが、方向ベクトルの内積が0になる)直線群から2つの消失点を求めたわけですから、ある点から2つの消失点に引いた2直線が直交するのであれば、その2直線は直交する直線群に平行であることが言えるわけです。

めんどくさい人は、とにかくこの方法で作図すれば、簡単に視点を求めることができます。

高さ方向は言わずもがな。写真の中心と同じ高さ。それだけ。

これで、2消失点が分かっている写真に対する、視点の空間座標が特定できました。

いざとなれば、コンパスで描いちゃえます

なんだか難しく説明しましたが、もしゆがみの少ない、建築の内観写真や外観写真が1枚あれば、その写真とカメラの位置関係が分かるということです。

プログラムで消失点を求めるプロセス(<第一夜>での説明分)は、それなりに画像処理とか統計処理とかが要求されるので、実際に作るのは難しいのですが、それをPhotoshopとかGIMPとかペイントとかのソフトで、手作業でいいから消失点を求めてしまえば、あとは、高校生レベルの数学でカメラの相対的な位置が求められるわけです。

いっそ、定規とコンパスで求めることもできますね。

ここまでくれば、あとは写真に写っている建築部位や建具やらの位置をプロットすればいいのです。
第三夜では、それを説明します

では、おやすみなさい。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする