トップメニューへ


ステレオ写真39

ファントグラムの作成1

PhantomPhotosJA 1.0

ファントグラムの作成手順実際の作業光軸の補正画面フォーマット


1.ステレオカメラでファントグラムを撮る

 ファントグラムを一言で言えば、「水平な面に置いて斜視によって観るアナグリフであって、表示面と一致する面を被写体に含むもの」となるだろうか(図39−1)。ファントグラムの撮影法については、すでに「ファントグラム」に一つ紹介したが、お世辞にも簡単で手軽な方法とは言えないものだった。



図39−1 ファントグラムは斜視で見るアナグリフ

 一般的な方法は下図のように普通のステレオカメラで撮影した画像に遠近法的な変形を施すものだろう。具体的なやり方の一例は「NSA 2004 Phantogram Workshop」に詳しく説明されている。この種の変形はフォトショップなどのレタッチソフトでも可能であるが、ファントグラムに使えるように左右の画像を加工するのはかなり面倒で、やはりこの目的に特化した支援ソフトが欲しいところだ。



図39−2 ファントグラム作成用画像の撮影

 ここでは自作したフリーソフトを使ったファントグラム作成法を紹介する。この方法は図39−2のように、光軸を平行に並んだ同等のカメラ二台によって撮影された写真(画像)を使うことを前提としており、撮影条件さえ満たされていればそこそこの精度でファントグラムを作れるものと考える。





2.ファントグラムの作成手順

 まず概要を下図で説明する。撮影画像 L0,R0 に遠近法的な変形を施して L1,R1 を作り、これからアナグリフAを作成する。説明を助けるために基準面(被写体を置いた面)には、撮影面に平行な線とそれに垂直な線からなる正方格子を描き、各線の間隔はステレオベースS(図39−2)であるとする。



図39−3 撮影画像からファントグラムを作る手順

 L0,R0 から L1,R1 への変形は基準面のパースペクティブを無くすものであるが、これは基準面の格子を正方格子にする変形と言い換えることも出来る。左右画像で基準面の重なる赤線の範囲がアナグリフAになるが、 L1,R1 ではちょうどSに対応する幅Spだけ左右にずれていることに注意されたい。

 L0,R0 から L1,R1 への変形を幾何学的に表現すると、図39−4のような投影になる。この図に従って座標変換するには角度αと視点の位置が分かれば良いが、これが以外に難問で、例えばレンズの焦点距離などのマニュアルデータから求めたカメラの画角と、撮影距離やステレオベースの測定値から計算するとなるとかなりの大事になる。



図39−4 撮影画像から幾何学的な投影を使ってファントグラム画像を作る

 今回は簡単で手軽なファントグラム作成方法を目指すため、基本的に撮影画像に写っている情報のみを使って作業を行うことを前提とする。

 以下にその原理を説明する。下図は被写体を除き、基準面のみを写した左右の画像を、その像の下辺(最も手前)が一致するように重ねるものである。



図39−5 左右の撮影画像を下辺の像が一致するように重ねる

 この時二枚の画像は下辺のステレオベース分Spだけずれて重なることになり、手前(下辺)で一致させても奥(上辺)に向かって両像のずれは拡大する。両画像の中心線に挟まれた部分を取り出したものを図39−6に示したが、図39−3の L1,R1 のように縦の格子線を平行にするためには、左右両画像を各々の中心線を中心にして、矢印に示した分だけ拡大すればよいことが分かる。具体的にはyを高さとして、横倍率 1/(1−y・d/HSp) で拡大すればよい。



図39−6 左右の中心線に挟まれた領域を拡大

 横に拡大するだけでは画像が歪んでしまうので、縦にも同様の倍率で拡大する必要があるが、縦の変形にはさらに角度α(図39−4)による変形も加えなければならない。撮影画像と作成するファントグラムの座標を図39−7に示すようにとって、この変形を座標変換の式で表すと式(1)(2)のようになる。



図39−7 撮影画像とファントグラムの座標系(軸)




 ソフトウェアで変形を行う場合には、変形後の座標から変形前の座標を求める式が必要になるので、ここでは x,y を x’,y’ で表す式を掲げた。これから Sp,d,α さえ得られれば、上式に従って撮影画像 L0,R0 から L1,R1 を作成できることがわかる。

 Spとdは下図で示した手順で求めることが出来る。まず左右像 L0,R0 を基準面像の下辺が一致するように重ね、このときの両画像のずれからSpを求める。



図39−8 像の下辺が一致するように重ねてSpを求め、全体が一致するようにせん断変形させてdを求める

 さらに下辺を固定したまま、基準面像の全体が一致するまで、上辺を逆方向に動かすようにせん断変形を行う。このとき上辺の動いた量(距離)がdになる。

 残るはαのみであるが、これには適当な値を使って L1,R1 を作成し、これを見ながら不自然の無いように調整することを基本とする。ただもし被写体中に基準となる形状があれば、これを使ってαを最適化する方法も使える。

 例えば下図のように被写体に缶のような円柱が含まれる場合は、上面が真円形になるようにαを調整することができる。これにはまず適当なαoldで L1,R1 を描き、上面の横aと縦bを測って、(3)式に従ってαnewを求めればよい。




図39−9 基準面に平行な面内の図形が歪まないことを利用して角度αを調整する





3.実際の作業

 使用するフリーソフトは Delphi 6 で作成した。以下のアイコンをクリックしてダウンロードし、適当なフォルダに解凍すれば使用することが出来る。

 
PhantomPhotosJA.exe
641KB圧縮ファイル(lzh)

 ステレオ写真33で紹介したステレオカメラ(ESPIO 120×2)で撮影した写真を用いて説明する。パースペクティブを合わせるためには、標準から中望遠のレンズを使うのが好ましい。ここではズーム位置65mmで手持ち撮影したものを用意した。


写真39−1 ファントグラムを作成するステレオ写真 ESPIO 120×2 , 65mm , ISO800(平行法の配置)

 撮影したネガはフィルムスキャナで読みとって画像データとしたが、このとき出来るだけ周囲をカットしないように気を付けなければならない。前述した通りフィルムに写っている範囲も重要な情報なので、勝手にトリミングなどするとSpやdの誤差が大きくなってしまう。

 解凍した実行ファイルのアイコンをダブルクリックして起動すると以下のウィンドウが現れる。

 

図39−10 PhantomPhotosJA1.0の起動画面

 本ソフトで扱える画像ファイルの形式は.bmpと.jpgに限られる。まず左上の「左画像」と「右画像」のボタンをクリックして画像を読込む(メニューバーの[ファイル (F)]→[左画像の読込 (L)]と[ファイル (F)]→[右画像の読込 (R)]を使っても良い)と「調整1」ボタンがアクティブになるので、これをクリックして作業を始める。

 調整1では二重像を見ながら矢印ボタンで右画像を動かし、基準面像の下辺が一致するように合わせる。既にお分かりと思うがこれによってSpの値が決定される。この作業はStereoPhotosJのトリミングと同様なので分かりやすいと思う。調整が終わったら「調整2」をクリックして次に進む。

 

図39−11 調整1 矢印ボタンで下辺の像を一致させる

 調整2では図39−12中に赤線で囲んだ変形ボタンがアクティブになるので、これらを使って変形量を調整し、基準面の全体像を一致させる。左のボタンで変形量が増し、右のボタンで減少する。またワンクリックでの変形量は矢印ボタンの中央のボタンで変えることが出来る。この作業はdを求めるもので、像が重なったら「調整3」をクリックして次に進む。

 

図39−12 変形ボタンを使って基準面の全体像を一致させる

 調整3では変形によって作成された画像を見ながら角度αを調整する。表示されるのはデフォルトで左画像であるが、メニューバーから[設定 (S)]→[右画像で調整 (P)]を実行すれば、右画像を表示させることも出来る。

 

図39−13 調整3で角度αを調整する

 @のボタンで下の角度調整をアクティブにし、画像を見ながらAを調整しても良いが、ここではコーヒーの缶を利用するためAをクリックする。

 新しいウィンドウが現れるので、缶を表示させて上面に外接する四角形を描く。これにはマウスの左ボタンを押し、ドラッグさせてから放せばよいが、始点と終点には小さな四角形が表示されるので、これをドラッグしてサイズを変更することが出来る。また描画した四角形を消してやり直すには、マウスの右ボタンをクリックすればよい。「OK」をクリックすると、描いた四角形が正方形になるように角度αを自動調整する。

 

図39−14 開いたウィンドウで四角形を描くと、それが正方形になるように角度αが調整される

 角度調整が終わり「完了」ボタンをクリックすると、デフォルトの設定ではファントグラム(アナグリフ)が作成されて表示されるが、操作パネル下部の「StereoPair」ボタンをクリックして左右像を別々に表示することも出来る。

 表示されている画像をメニューバーの[ファイル (F)]→[画像の保存 (S)]でファイルに保存して作業終了になる。さらに続けるには画像の読込から始めればよい。出来上がったアナグリフとステレオペアを以下に示す。

 

写真39−2 作成したファントグラム 赤−シアンのカラーアナグリフ



写真39−3 作成したファントグラムのステレオペア

 残念ながら本ソフトには印刷機能は無いので、印刷には他のソフトをお使いいただきたい。上記のサンプル画像の場合はアナグリフをA4サイズに印刷して、50cmほど離れて観察すれば良いはずである。





4.光軸の補正

 パースペクティブを合わせるためには標準から中望遠の画角で写真を撮りたいが、ある程度大きな被写体では広角でないと入りきらないこともある。もちろん広角で撮った写真でもファントグラムにすることは可能だが、パースペクティブが大きい分問題も生じやすい。試しに広角(38mm)で撮影した以下の写真を使ってファントグラムを作ってみよう。


写真39−4 広角で撮影したサンプル写真 ESPIO 120×2 , 38mm , ISO800(平行法の配置)

 この画像で調整2まで終わったところを図39−15に示したが、作成画像は手前(下辺)に比べて奥(上辺)の倍率が高くなるように歪んでいる。

 

図39−15 誤差のために上部(奥)の倍率が大きく、歪んでしまった

 二台のカメラを並べたステレオカメラでは、光軸の平行を高い精度で実現することが難しい。現実には僅かに内向きないし外向きになるが、これがSpやdの誤差要因になる。この誤差はとりわけdで大きくなるため、これが図39−15のような倍率の不一致を引き起こすものと考えられる。ちなみに写真39−4のサンプルでは光軸がやや外向きだったようだ。

 もちろんこの種の誤差は標準や中望遠の写真でも同じく生じるはずであるが、画角の狭い写真ではSp≫dで、変形倍率自体が小さいためあまり目立たない。これに対してパースペクティブの強い広角になると、変形倍率が大きくなってひどく目立つ訳である。

 PhantomPhotosJAでは、強制的にdの値を変えてこの歪みを取り除けるようにした。図39−15中の赤線で囲んだ部分にあるDが補正量で、奥(上部)の倍率が大きすぎるときはマイナスにして倍率を下げ、逆の場合はプラスにして倍率を上げる。サンプル画像ではD=−5でおおむね歪みを除くことができた(図39−16)。

 

図39−16 Dでdの誤差を補正し、歪みを解消する

 さらに角度αの調整を行って作成したファントグラムと、ステレオペアを以下に掲げる。精度はいまいちであるが、とりあえずファントグラムらしい画像にはなっている。

 

写真39−5 作成したファントグラム 赤−シアンのカラーアナグリフ



写真39−6 作成したファントグラムのステレオペア





5.画面フォーマット

 制作したファントグラムがどう見えるかは実際に印刷してみないとわからない。それでもウェブ上で作品を公開する際には、画面上である程度内容が分かるように表現したいものである。この目的のために本ソフトでは画面フォーマットを用意した。

 操作パネル下部の「画面フォーマット」ボタンをクリックすると、以下のようなアナグリフが表示される。



写真39−7 写真39−2の画面フォーマット

 これは元の画像のファントグラムに表示される範囲をトリミングしたもので、メニューバーの[ファイル (F)]→[画像の保存 (S)]でセーブすると写真39−7の画像が保存されるが、使用する際には下のように周囲を背景色で囲むとより見易くなるだろう。


写真39−8 画面フォーマットは背景色で囲むと見易くなる

 なお背景色はメニューバーの[設定 (S)]→[背景色 (C)]で変えることができる。さらに「StereoPair」ボタンをクリックして左右像を別々に表示することも出来る(写真39−9)。


写真39−9 写真39−3(ステレオペア)の画面フォーマット

 写真39−5と写真39−6の画面フォーマットを以下に掲げる(写真39−10,写真39−11)が、これらを写真39−8,写真39−9と見比べれば画角の違いとパースペクティブの関係がよく分かる。


写真39−10 写真39−5の画面フォーマット



写真39−11 写真39−6(ステレオペア)の画面フォーマット

 画面フォーマットのように見える条件で観察するとき、ファントグラムは最もリアルに見えるはずであるから、広角で撮った場合にはよほど大きな紙に印刷しなければならないことになる。逆にこれが難しいようであれば、リアリティはある程度割り切らなければならないだろう。

 操作パネル下のトラックバーやアナグリフの設定についての説明は省略するが、ヘルプと「アナグリフの問題」などを参考にされたい。




[特許出願済み]

ステレオカメラでファントグラムを撮るファントグラムの作成手順実際の作業光軸の補正画面フォーマット

トップメニューへ