(58)【調査した分野】(Int.Cl.,DB名)
複数の地点から撮影された、メインレンズが結像した被写体の光学像を複数のマイクロレンズを用いて撮像した複数のマイクロレンズ画像を含み構成されるライトフィールド画像に、複数の同一の被写体が撮像されている場合において前記被写体を撮影した位置を算出する画像解析装置であって、
複数のライトフィールド画像に対して、前記ライトフィールド画像に含まれる全てのマイクロレンズ画像の中心位置の座標値を用いて、全てのマイクロレンズ画像が前記ライトフィールド画像の水平軸又は垂直軸と平行になる回転角度を算出し、算出した前記回転角度だけ全てのマイクロレンズ画像を前記ライトフィールド画像の水平軸又は垂直軸と平行になる方向に回転することで補正を行う画像補正部と、
補正がなされた複数のライトフィールド画像からそれぞれエピポーラ画像を生成するエピポーラ画像生成部と、
補正がなされた複数のライトフィールド画像のうちいずれか一つのライトフィールド画像を基準画像とし、前記基準画像のエピポーラ画像と補正がなされた他のライトフィールド画像のエピポーラ画像とに基づいて、前記他のライトフィールド画像のエピポーラ画像上から得られる直線の交点の座標位置と前記基準画像のエピポーラ画像上から得られる直線の交点の座標位置とのずれ量を算出し、算出した前記ずれ量を用いて、前記基準画像を撮影した位置に対する相対位置である前記被写体を撮影した位置を算出するエピポーラ画像解析部と、
を備える画像解析装置。
前記エピポーラ画像生成部は、補正された前記ライトフィールド画像において同じ列又は同じ行のマイクロレンズ画像それぞれにおける同一列の画素列又は同一行の画素行を取得し、取得した画素列又は画素行を取得元のマイクロレンズ画像の並び順に配置することでエピポーラ画像を生成する、請求項1に記載の画像解析装置。
前記エピポーラ画像解析部は、前記基準画像のエピポーラ画像上及び前記他のライトフィールド画像のエピポーラ画像上からそれぞれ複数の被写体が撮像されていることを示す複数の直線を検出し、前記基準画像のエピポーラ画像上から検出された複数の直線の交点の座標値と前記他のライトフィールド画像のエピポーラ画像上から検出された複数の直線の交点の座標値とを用いて前記ずれ量を算出し、算出した前記ずれ量を用いて前記被写体を撮影した位置を算出する、請求項1又は2に記載の画像解析装置。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、一実施形態における画像解析装置1の構成を示すブロック図である。
図1に示すように、画像解析装置1は、画像取得部11、画像補正部12、エピポーラ画像生成部13及びエピポーラ画像解析部14を備えている。
【0015】
実施形態における画像解析装置1は、複数のライトフィールド画像から、被写体を撮影した地点を算出する際に利用される。以下の説明において前提となる条件として、処理対象となるライトフィールド画像間で同一の被写体が複数撮像されていることが挙げられる。
【0016】
次に、画像解析装置1の概要について説明する。
まず、画像解析装置1は、複数の地点から撮影された複数のライトフィールド画像それぞれから複数のエピポーラ画像(EPI:Epipolar Plane Image)を生成する。ここで、複数の地点とは、被写体を撮影する位置が異なる位置である。エピポーラ画像は、エピポーラ平面画像ともいわれる。次に、画像解析装置1は、生成した各ライトフィールド画像のエピポーラ画像上から複数の直線を検出し、検出した直線の交点をそれぞれ算出する。例えば、画像解析装置1は、撮影位置算出の基準となるライトフィールド画像(以下、「基準画像」という。)のエピポーラ画像と、基準画像と重複領域を有するライトフィールド画像(以下、「比較対象画像」という。)のエピポーラ画像上からそれぞれ複数の直線を検出し、検出した直線の交点をそれぞれ算出する。画像解析装置1は、算出した各交点に基づいて、基準画像のエピポーラ画像と比較対象画像のエピポーラ画像との座標位置のずれ量を算出する。そして、画像解析装置1は、算出したずれ量に基づいて被写体の撮影地点を算出する。ここで算出される被写体の撮影地点は、比較対象画像を撮影した地点である。
以下、画像解析装置1の詳細について説明する。
【0017】
画像取得部11は、複数の地点から撮影された、メインレンズが結像した被写体の光学像を複数のマイクロレンズを用いて撮像した複数のマイクロレンズ画像を含み構成されるライトフィールド画像を複数取得する。画像取得部11が取得する複数のライトフィールド画像は、ライトフィールドカメラを移動させながら撮影を行うことにより得られたライトフィールド画像である。すなわち、複数の地点から被写体をライトフィールドカメラで撮影することにより得られた複数のライトフィールド画像であって重複領域を有する複数のライトフィールド画像を画像取得部11は取得する。画像取得部11が取得する各ライトフィールド画像は、複数のマイクロレンズを介して撮影された小画像(以下、「マイクロレンズ画像」という。)が複数並ぶことで構成されている画像である。
【0018】
画像補正部12は、画像取得部11が取得した複数のライトフィールド画像の光学的な補正を行う。具体的には、画像補正部12は、ライトフィールド画像に含まれる全てのマイクロレンズ画像をライトフィールド画像の水平軸又は垂直軸と平行になる所定の角度回転させることによってライトフィールド画像の光学的な補正を行う。
【0019】
図2は、画像補正部12が行う補正処理を示すフローチャートである。
画像補正部12は、処理を開始すると、画像取得部11が取得した複数のライトフィールド画像のうち未処理のライトフィールド画像を一つ選択する(ステップS101)。画像補正部12は、選択したライトフィールド画像からライトフィールド画像を構成し行列状に並べられているマイクロレンズ画像を抽出する(ステップS102)。画像補正部12は、抽出した各マイクロレンズ画像の中心位置の座標を算出する(ステップS103)。
【0020】
その後、画像補正部12は、ライトフィールド画像に含まれる全てのマイクロレンズ画像の中心位置の座標に基づいて回転角度を算出する(ステップS104)。画像補正部12は、ライトフィールド画像の中心から最も近い位置にあるマイクロレンズで撮影されたマイクロレンズ画像の中心位置を中心として全てのマイクロレンズ画像を、ステップS104の処理で算出した回転角度で回転する(ステップS105)。この処理によって、六角格子状又は正方格子状に並んでいる全てのマイクロレンズ画像の並びがライトフィールド画像の縦軸及び横軸と平行になる。
【0021】
画像補正部12は、画像取得部11が取得した全てのライトフィールド画像に対してステップS101からステップS105までの処理を施したか否かを判定する(ステップS106)。未処理のライトフィールド画像がある場合(ステップS106:NO)、画像補正部12は処理をステップS101に戻して、取得した全てのライトフィールド画像に対して処理が行われるまで、ステップS101からステップS105までの処理を繰り返す。一方、全てのライトフィールド画像に対して処理を終えた場合(ステップS106:YES)、画像補正部12は補正処理を終了する。
【0022】
エピポーラ画像生成部13は、画像補正部12によって補正されたライトフィールド画像ごとにエピポーラ画像を生成する。
図3は、エピポーラ画像生成部13がエピポーラ画像を生成する処理を示すフローチャートである。エピポーラ画像生成部13は、処理を開始すると、画像補正部12によって補正された複数のライトフィールド画像のうち未処理のライトフィールド画像を一つ選択する(ステップS201)。
【0023】
エピポーラ画像生成部13は、選択したライトフィールド画像を構成し行列状に並べられているマイクロレンズ画像から、未処理の行に並べられているマイクロレンズ画像を抽出する(ステップS202)。なお、ライトフィールド画像から未処理の行に含まれるマイクロレンズ画像を抽出する順序は、任意の順序でよく、例えば画像の上から順に、画像の下から順に、又はランダムな順で抽出してもよい。
【0024】
エピポーラ画像生成部13は、抽出した行に含まれるマイクロレンズ画像それぞれから、マイクロレンズ画像における同一行の画素(以下、「画素行」という。)を行単位で抽出する(ステップS203)。すなわち、ステップS123において抽出される画素は、処理対象としているライトフィールド画像における同一行の画素になっている。
【0025】
エピポーラ画像生成部13は、ステップS203の処理において抽出した各マイクロレンズ画像における一行の画素を、時計回りに90度又は反時計回りに90度回転させた一列の画素として扱う。エピポーラ画像生成部13は、各マイクロレンズ画像に対応する一列の画素をマイクロレンズ画像の並び順に配置してエピポーラ画像を生成する(ステップS204)。例えば、エピポーラ画像生成部13は、ライトフィールド画像における同一行のn個のマイクロレンズ画像それぞれからm個の画素を行単位で抽出した場合、m行n列に配置された画素からなるエピポーラ画像を生成することになる。
【0026】
エピポーラ画像生成部13は、選択したライトフィールド画像における全ての行に対してステップS202からステップS204までの処理を施したか否かを判定する(ステップS205)。未処理の行がある場合(ステップS205:NO)、エピポーラ画像生成部13は処理をステップS202に戻して、選択したライトフィールド画像の全ての行に対して処理が行われるまで、ステップS202からステップS204までの処理を繰り返す。一方、全ての行に対して処理を終えた場合(ステップS205:YES)、エピポーラ画像生成部13は処理をステップS206に進める。
【0027】
エピポーラ画像生成部13は、画像取得部11が取得した全てのライトフィールド画像に対してステップS201からステップS205までの処理を施したか否かを判定する(ステップS206)。未処理のライトフィールド画像がある場合(ステップS206:NO)、エピポーラ画像生成部13は処理をステップS201に戻して、取得した全てのライトフィールド画像に対して処理が行われるまで、ステップS201からステップS205までの処理を繰り返す。一方、全てのライトフィールド画像に対して処理を終えた場合(ステップS206:YES)、エピポーラ画像生成部13はエピポーラ画像を生成する処理を終了する。
【0028】
エピポーラ画像生成部13は、上述の処理を行うことにより、複数のライトフィールド画像それぞれに対して、複数のエピポーラ画像を生成する。エピポーラ画像生成部13は、生成した複数のエピポーラ画像と当該エピポーラ画像の元になったライトフィールド画像とを対応付けてエピポーラ画像解析部14に出力する。
【0029】
エピポーラ画像解析部14は、エピポーラ画像生成部13が出力する複数のライトフィールド画像のうちいずれか一つのライトフィールド画像を基準画像とし、基準画像のエピポーラ画像と比較対象画像のエピポーラ画像とに基づいて被写体の撮影地点を算出する。
【0030】
図4は、エピポーラ画像解析部14が行う処理を示すフローチャートである。
エピポーラ画像解析部14は、エピポーラ画像生成部13が複数のエピポーラ画像を生成した後にそれらのエピポーラ画像を取得すると、画像取得部11が取得した全てのライトフィールド画像からいずれか一つのライトフィールド画像を選択する。エピポーラ画像解析部14は、選択した一つのライトフィールド画像を基準画像に設定する(ステップS301)。なお、基準画像に設定するライトフィールド画像の選択は、画像解析装置1を操作するユーザの指示に従って選択してもよいし、他のライトフィールド画像との重複領域が最も多いライトフィールド画像を選択してもよいし、ランダムに選択してもよい。
【0031】
エピポーラ画像解析部14は、基準画像及び比較対象画像それぞれから生成された複数のエピポーラ画像のうち一つのエピポーラ画像をそれぞれ選択する(ステップS302)。具体的には、エピポーラ画像解析部14は、基準画像から生成された複数のエピポーラ画像のうちあるマイクロレンズ画像の行及びある画素行で構成されるエピポーラ画像を選択する。なお、基準画像のエピポーラ画像の選択は、画像解析装置1を操作するユーザの指示に従って選択してもよいし、他のライトフィールド画像との重複領域が最も多いライトフィールド画像を選択してもよいし、ランダムに選択してもよい。また、エピポーラ画像解析部14は、選択した基準画像のエピポーラ画像を生成する際に使用したマイクロレンズ画像の行及び画素行と同じマイクロレンズ画像の行及び画素行で生成された比較対象画像のエピポーラ画像を選択する。
【0032】
その後、エピポーラ画像解析部14は、基準画像のエピポーラ画像上及び比較対象画像のエピポーラ画像上それぞれから直線を検出する(ステップS303)。直線の検出には、ハフ変換などが利用されてもよい。エピポーラ画像解析部14は、ステップS304の処理で検出した基準画像のエピポーラ画像上の直線及び比較対象画像のエピポーラ画像上の直線それぞれの交点を算出する(ステップS304)。
【0033】
エピポーラ画像解析部14は、基準画像のエピポーラ画像上の直線の交点と比較対象画像のエピポーラ画像上の直線の交点とのずれ量を算出する(ステップS305)。具体的には、エピポーラ画像解析部14は、基準画像のエピポーラ画像上の直線の交点が比較対象画像のエピポーラ画像上の直線の交点に一致するように各交点の座標位置のずれ量を算出する。算出されたずれ量は、エピポーラ画像上での2次元のずれ量に相当する。その後、エピポーラ画像解析部14は、算出したずれ量に基づいて被写体を撮影した地点の座標を算出する(ステップS306)。
【0034】
エピポーラ画像解析部14は、全ての比較対象画像に対してステップS302からステップS306までの処理を施したか否かを判定する(ステップS307)。未処理のライトフィールド画像がある場合(ステップS307:NO)、エピポーラ画像解析部14は処理をステップS302に戻して、全ての比較対象画像に対して処理が行われるまで、ステップS302からステップS306までの処理を繰り返す。一方、全ての比較対象画像に対して処理を終えた場合(ステップS307:YES)、エピポーラ画像解析部14は処理を終了する。
【0035】
以下では、図を参照して、上述した画像解析装置1が被写体を撮影した地点を算出する際の具体的な手順について詳細に説明する。
【0036】
(画像取得部11の動作)
メインレンズと撮像素子(例えばCCD(Charge Coupled Devices)やCMOSイメージセンサ(CMOS image sensor))との間にマイクロレンズアレイが設けられたプレノプティックカメラをライトフィールドカメラとして用いて撮影を行い、複数のライトフィールド画像を取得する。プレノプティックカメラの内部においては、マイクロレンズアレイ及び撮像素子を微小なピンホールカメラアレイと見なすことができるため、メインレンズによって結像されたシーンの光学像を、これらの微小なピンホールカメラアレイを用いて撮影したことになる。例えば、ライトフィールドカメラとしてのプレノプティックカメラを水平なレールに乗せて等間隔に動かしながら撮影することにより得られた、画像間に重複領域を有する複数のライトフィールド画像を画像取得部11が取得する。
【0037】
(画像補正部12の動作)
図5は、画像補正部12が行う処理の一例を示す図である。
[ステップS101〜ステップS103]
プレノプティックカメラで撮影したライトフィールド画像100は、
図5に示すように、マイクロレンズで撮影された小画像(マイクロレンズ画像101、102)で構成される。
図5(A)では、ライトフィールド画像100に含まれるマイクロレンズ画像の一部分を抜粋して示している。画像補正部12は、公知の円検出方法などを用いて、ライトフィールド画像100からマイクロレンズ画像101、102を抽出し、抽出した各マイクロレンズ画像101、102の中心位置103、104を算出する。画像補正部12は、ライトフィールド画像100に含まれるマイクロレンズ画像全てに対して中心位置を算出する。
【0038】
[ステップS104]
一般的にプレノプティックカメラでは、マイクロレンズが六角格子状(
図5(A)に示す形)又は正方格子状に設けられる。そのため、各マイクロレンズによって撮影された各マイクロレンズ画像は、
図5(B)に示されるように、六角格子状又は正方格子状に配列される。画像補正部12は、
図5(B)に示されるような各マイクロレンズ画像において、同じ行又は同じ列に配置されているマイクロレンズ画像の中心位置を結んだ線分がライトフィールド画像の水平軸又は垂直軸と平行となる回転角度105を算出する。
【0039】
[ステップS105]
画像補正部12は、ライトフィールド画像の中心から最も近いマイクロレンズ画像106を中心に各マイクロレンズ画像を、ステップS104の処理で算出した回転角度でライトフィールド画像の水平軸又は垂直軸と平行となる方向(
図5では、時計回りの方向)に回転させる。
[ステップS106]
画像補正部12は、ステップS101からステップS105までの処理を繰り返すことにより、ライトフィールド画像ごとの光学的な補正を行う。
【0040】
(エピポーラ画像生成部13の動作)
図6は、エピポーラ画像生成部13が行う処理の一例を示す図である。
[ステップS202]
プレノプティックカメラで撮影したライトフィールド画像は、
図6に示すように、マイクロレンズで撮影された小画像(マイクロレンズ画像201)で構成される。また、
図6の下図に示されるグリッド線は、ライトフィールド画像の画素を示す。エピポーラ画像生成部13は、公知の円検出方法などを用いて、マイクロレンズ画像201を検出する。エピポーラ画像生成部13は、検出したマイクロレンズ画像201の輪郭に沿って、処理対象となっている行に並べられているマイクロレンズ画像201を抽出する。例えば、エピポーラ画像生成部13が、
図5の下図に示されるマイクロレンズ画像のうち、1行目に並べられているマイクロレンズ画像を抽出したとする。
【0041】
[ステップS203]
エピポーラ画像生成部13は、抽出した行におけるマイクロレンズ画像のうち、着目しているマイクロレンズ画像203から同一行の画素204を行単位で抽出する。
【0042】
[ステップS204]
全てのマイクロレンズ又はマイクロレンズ画像の番号を2次元のパラメータ(x,y)で定義することができる。ここでは、ライトフィールド画像の原点を画像の左上の画素としたときに、最も左上に位置するマイクロレンズ画像の番号を(x,y)=(0,0)とする。右側に隣接するマイクロレンズ画像に進むごとにxの値は、1ずつインクリメントされ、下側に隣接するマイクロレンズ画像に進むごとにyの値は1ずつインクリメントされる。エピポーラ画像生成部13は、このマイクロレンズ画像の番号に基づいて、ステップS123において抽出した行単位の画素をエピポーラ画像の空間(エピポーラ画像空間)に配置してエピポーラ画像を生成する。
【0043】
なお、エピポーラ画像空間は、n−i空間で定義される空間である。n軸の値は、マイクロレンズ画像の番号(x,y)のうちx又はyのいずれかの値に対応する。i軸の値は、マイクロレンズ画像における水平方向又は垂直方向の画素座標に対応する。なお、マイクロレンズ画像における画素座標は、マイクロレンズ画像の中心を原点とする座標系における座標である。
【0044】
例えば、ライトフィールド画像において行ごとにマイクロレンズ画像を選択し、選択したマイクロレンズ画像から同一行の画素を行単位で抽出する場合には、n軸の値はマイクロレンズ画像の番号(x,y)のxの値に対応し、i軸の値はマイクロレンズ画像における各画素の水平方向の画素座標に対応する。また、ライトフィールド画像において列ごとにマイクロレンズ画像を選択し、選択したマイクロレンズ画像から同一列の画素を列単位で抽出する場合には、n軸の値はマイクロレンズ画像の番号(x,y)のyの値に対応し、i軸の値はマイクロレンズ画像における各画素の垂直方向の画素座標に対応する。
【0045】
図6に示す例において、エピポーラ画像生成部13は、着目しているマイクロレンズ画像203における中央の一行における画素204を行単位で抽出し、抽出した画素204をエピポーラ画像空間における画素列205に配置する。マイクロレンズ画像203の番号は(1,4)であり、マイクロレンズ画像203から抽出された画素204は、エピポーラ画像空間におけるn=4の位置に配置される。
【0046】
[ステップS205]
エピポーラ画像生成部13は、ステップS202からステップS204までの処理を繰り返すことにより、ライトフィールド画像における各行のマイクロレンズ画像それぞれに対して複数のエピポーラ画像を生成する。
[ステップS206]
エピポーラ画像生成部13は、ステップS201からステップS205までの処理を繰り返すことにより、ライトフィールド画像ごとに複数のエピポーラ画像を生成する。すなわち、ライトフィールド画像における画素の行数分のエピポーラ画像が、ライトフィールド画像ごとに生成されることになる。エピポーラ画像生成部13によって生成されるエピポーラ画像の一例を
図7に示す。
【0047】
図7は、エピポーラ画像生成部13によって生成されるエピポーラ画像の一例を表す図である。
図7に示されるエピポーラ画像は、エピポーラ画像生成部13がステップS202の処理で抽出した行に含まれるマイクロレンズ画像それぞれから、各マイクロレンズ画像における同一行の画素を行単位で抽出し、抽出した各マイクロレンズ画像における行単位の画素をそれぞれエピポーラ画像空間における対応する画素列に配置することによって生成される。
図7に示すエピポーラ画像には、2つの直線が示されている。これら2つの直線はそれぞれ被写体を表す。すなわち、
図7に示すエピポーラ画像の元になったライトフィールド画像には2つの被写体が撮像されていたことが表されている。
【0048】
(エピポーラ画像解析部14の動作)
図8は、エピポーラ画像解析部14が行う処理の一例を示す図である。
[ステップS301]
エピポーラ画像解析部14は、複数のライトフィールド画像のうち、被写体を撮影した地点を算出する際の基準とするライトフィールド画像を基準画像に選択し、選択したライトフィールド画像を基準画像に設定する。
【0049】
[ステップS302]
エピポーラ画像解析部14は、基準画像から生成された複数のエピポーラ画像のうちいずれか一つのエピポーラ画像を選択する。この処理によって選択された基準画像のエピポーラ画像を
図8(A)に示す。また、エピポーラ画像解析部14は、比較対象画像から生成された複数のエピポーラ画像のうちいずれか一つのエピポーラ画像を選択する。この処理によって選択された比較対象画像のエピポーラ画像を
図8(B)に示す。
なお、以下の説明では、ステップS302の処理で選択された基準画像のエピポーラ画像及び比較対象画像のエピポーラ画像に同一の被写体が複数(
図8では、2つ)撮影されているとして説明する。
【0050】
[ステップS303]
エピポーラ画像解析部14は、基準画像のエピポーラ画像上(
図8(A))からそれぞれ直線301、302及び比較対象画像のエピポーラ画像上(
図8(B))からそれぞれ直線303、304を検出し、直線パラメータを算出する。
[ステップS304]
エピポーラ画像解析部14は、各エピポーラ画像から検出した直線の交点を算出する。具体的には、エピポーラ画像解析部14は、
図8(C)に示すように、基準画像のエピポーラ画像上から検出された直線301と302との交点305の座標値を直線301及び302の直線パラメータから算出する。また、エピポーラ画像解析部14は、
図8(D)に示すように、比較対象画像のエピポーラ画像上から検出された直線303と304との交点306の座標値を直線303及び304の直線パラメータから算出する。
【0051】
[ステップS305]
エピポーラ画像解析部14は、
図8(E)に示すように、ステップS304の処理で算出した各交点305及び306の座標値の2次元上でのずれ量Δn
m、Δi
mを算出する。
図8(E)において、ずれ量Δn
mは矢印307の方向を表し、Δi
mは矢印308の方向を表す。このずれ量は、エピポーラ画像上での位置ずれ量であり、エピポーラ画像解析部14はこれら2つのずれ量とライトフィールドカメラの設計パラメータを用いることによって
図8(A)に示すエピポーラ画像の元になったライトフィールド画像を撮影した撮影位置と
図8(B)に示すエピポーラ画像の元になったライトフィールド画像を撮影した撮影位置との3次元的なずれ量を算出する。
[ステップS306]
エピポーラ画像解析部14は、ステップS306の処理で算出したずれ量を用いて、以下の式1に基づいて比較対象画像の撮影位置を算出する。
【0053】
式1のδ
mは被写体を撮影した地点を表し、Fはメインレンズの焦点距離を表し、fはマイクロレンズと撮像素子の距離を表し、lはマイクロレンズ間の距離を表し、w
pは画素幅を表し、Bはメインレンズとマイクロレンズアレイとの間の距離を表し、Aはメインレンズの焦点距離Fを用いたレンズ公式(1/A+1/B=1/F)を満たす距離を表す。上記設計パラメータの関係を
図9に示す。
【0054】
図9は、パラメータの関係を模式的に説明する図である。
図9における(x,u)はメインレンズ外側の光線を表す。
図9において光線(x,u)は、メインレンズとマイクロレンズアレイとの間の距離B、メインレンズの焦点距離Fを用いたレンズ公式(1/A+1/B=1/F)を満たす距離Aだけメインレンズから離れた位置として定義されている。また、
図9における(x
0’,u
0’)は撮影地点0でのマイクロレンズアレイ上で定義される光線を表し、(x
m’,u
m’)は撮影地点mでのマイクロレンズアレイ上で定義される光線を表す。ここで、xは光線の通過する位置を表し、uは光線の方向を表す。
【0055】
図9に示すような複数の撮影地点から撮影することにより得られたライトフィールド画像を画像取得部11は取得する。このとき、各ライトフィールド画像は、少なくとも隣接する撮影地点間のライトフィールド画像においては、ライトフィールド画像上の被写体において重複する領域を有している。
図2に示す例では、撮影地点0の撮影位置において撮影することにより得られたライトフィールド画像と、撮影地点mの撮影位置において撮影することにより得られたライトフィールド画像とに重複領域が存在する場合を示している。エピポーラ画像解析部14は、
図9に示すような重複領域が存在するように撮影されたライトフィールド画像の一方を基準画像に設定し、他方を比較対象画像に設定する。
【0056】
[ステップS308]
エピポーラ画像解析部14は、ステップS302からステップS306までの処理を繰り返すことにより、被写体を撮影した位置(比較対象画像を撮影した地点)を算出する。
【0057】
以上のように構成された画像解析装置1によれば、複数の地点から撮像された複数のライトフィールド画像のそれぞれから生成された各エピポーラ画像上に、被写体が複数撮像されていることを示す複数の直線が検出される。さらに本実施形態における画像解析装置1では、ライトフィールド画像間で同一の被写体が複数撮像されている。したがって、基準画像のエピポーラ画像上から検出された複数の直線の交点と比較対象画像のエピポーラ画像上から検出された複数の直線の交点とのずれ量と、ライトフィールドカメラの設計パラメータとに基づいて被写体を撮像した位置が算出される。そのため、既知の被写体の撮影を事前に行わず、被写体を撮影した地点を算出することが可能になる。
【0058】
<変形例>
エピポーラ画像生成部13は、各ライトフィール画像において行ごとにマイクロレンズ画像を選択することに代えて、各ライトフィールド画像において列ごとにマイクロレンズ画像を選択してもよい。この場合、エピポーラ画像生成部13は、選択した列のマイクロレンズ画像それぞれから列単位で画素を選択し、選択した一列の画素をマイクロレンズ画像の並び順で行方向に並べることによりエピポーラ画像を生成する。
重複領域を有するライトフィールド画像(比較対象画像)は、異なる撮影位置におけるライトフィールドカメラの撮像素子の物理的な位置が重複するようにライトフィールドカメラを移動させて取得したライトフィールド画像であってもよい。
本実施形態において、画像解析装置1は一つの装置として構成される場合について説明した。しかし、本実施形態における構成に限ることなく、画像取得部11、画像補正部12、エピポーラ画像生成部13及びエピポーラ画像解析部14それぞれが独立した装置で構成され、各装置が相互に通信可能に接続された画像生成システムとして構成してもよい。
【0059】
上述した例では基準画像のエピポーラ画像から検出された複数の直線の交点305と、比較対象画像のエピポーラ画像から検出された複数の直線の交点306とが
図8(E)に示すようにn−i平面の上方に現れる例を示した。しかし、基準画像のエピポーラ画像から検出された複数の直線の交点と、比較対象画像のエピポーラ画像から検出された複数の直線の交点とが
図10に示すようにn−i平面の下方に現れる場合がある。この場合についてもエピポーラ画像解析部14は上述した例と同様の処理を行なう。以下、
図10を用いて具体的に説明する。
【0060】
図10は、エピポーラ画像解析部14が行う処理の別例を示す図である。
エピポーラ画像解析部14は、基準画像から生成された複数のエピポーラ画像のうちいずれか一つのエピポーラ画像を選択する。この処理によって選択された基準画像のエピポーラ画像を
図10(A)に示す。また、エピポーラ画像解析部14は、比較対象画像から生成された複数のエピポーラ画像のうちいずれか一つのエピポーラ画像を選択する。この処理によって選択された比較対象画像のエピポーラ画像を
図10(B)に示す。
【0061】
次に、エピポーラ画像解析部14は、基準画像のエピポーラ画像上(
図10(A))からそれぞれ直線309、310及び比較対象画像のエピポーラ画像上(
図10(B))からそれぞれ直線311、312を検出し、直線パラメータを算出する。
エピポーラ画像解析部14は、各エピポーラ画像から検出した直線の交点を算出する。具体的には、エピポーラ画像解析部14は、
図10(C)に示すように、基準画像のエピポーラ画像上から検出された直線309と310との交点313の座標値を直線309及び310の直線パラメータから算出する。また、エピポーラ画像解析部14は、
図10(D)に示すように、比較対象画像のエピポーラ画像上から検出された直線311と312との交点314の座標値を直線311及び312の直線パラメータから算出する。
【0062】
エピポーラ画像解析部14は、
図10(E)に示すように、算出した各交点313及び314の座標値の2次元上でのずれ量Δn
m、Δi
mを算出する。
図10(E)において、ずれ量Δn
mは矢印315の方向を表し、Δi
mは矢印316の方向を表す。このずれ量は、エピポーラ画像上での位置ずれ量であり、エピポーラ画像解析部14はこれら2つのずれ量とライトフィールドカメラの設計パラメータを用いることによって
図10(A)に示すエピポーラ画像の元になったライトフィールド画像を撮影した撮影位置と
図10(B)に示すエピポーラ画像の元になったライトフィールド画像を撮影した撮影位置との3次元的なずれ量を算出する。そして、エピポーラ画像解析部14は、算出したずれ量を用いて、上記式1に基づいて比較対象画像の撮影位置を算出する。
【0063】
なお、本発明の画像解析装置1の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、画像解析装置1の各処理に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0064】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0065】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。