以下、図面を参照して、本発明による各実施形態の位相差検出器11及びこれを備える画像処理装置1について説明する。
〔第1実施形態〕
図1は、本発明による第1実施形態の位相差検出器11、及びこれを備える画像処理装置1の概略構成を示すブロック図である。画像処理装置1は、1台の撮像カメラ10で時間的に連続して取得された撮像画像を逐次入力し、位相差検出器11により、その入力される時間的に連続して取得された2枚一組の撮像画像を基にして、その双方に映る被写体の位相差を検出することで、被写体の画像上の移動速度の検出や被写体の動きを追跡する装置として構成される。
(撮像カメラ)
まず、本実施形態に係る撮像カメラ10は、時間的に連続して逐次、被写体を撮像して撮像画像を形成し出力するカメラであり、撮像レンズ101、撮像素子102、及び画像処理部103を備える。
本実施形態に係る撮像レンズ101は、被写体を撮像素子102に結像するため光学レンズであり、自動焦点可能に駆動されるものでもよいが、ここでは、所望の被写体に焦点が合致した状態を例に説明する。
本実施形態に係る撮像素子102は、複数の画素からなる撮像部を有し、その撮像部内に遮光部分が異なる(一般的には左右や上下で対称となる)位相差検出画素を有していてもよいが、ここでは、そのような位相差検出画素を有していない例を説明する。
本実施形態に係る画像処理部103は、撮像素子102から得られる被写体が撮像された撮像画像をフレーム単位で逐次形成し、信号処理部13及び位相差検出器11に出力する。特に、画像処理部103は、画像位相差検出器11の作動開始時点で、撮像素子102から得られる被写体が撮像された撮像画像P1を形成して信号処理部13及び位相差検出器11に出力する。
画像位相差検出器11の作動開始後、本実施形態の画像処理部103は、撮像画像P1の形成の後に時間的に連続して、撮像素子102から得られる被写体が撮像された当該撮像画像P2を形成し、信号処理部13及び位相差検出器11に出力する。
このようにして、本実施形態の画像処理部103は、撮像素子102から得られる被写体が撮像された撮像画像をフレーム単位で逐次形成し信号処理部13に出力する。そして、画像位相差検出器11の作動開始時点で、本実施形態の画像処理部103は、時間的に連続して取得された2枚一組の撮像画像P1,P2について逐次、信号処理部13及び位相差検出器11に出力する。
(画像処理装置)
画像処理装置1は、位相差検出器11、メモリ12、及び信号処理部13を備える。
位相差検出器11は、操作部16からの指示に基づいて被写体の注目領域(縦、横、斜めを問わない)を初期設定して作動を開始し、1台の撮像カメラ10で時間的に連続して取得された2枚一組の撮像画像P1,P2を用いて、その双方に映る被写体の位相差を検出する機能部である。被写体の注目領域の初期設定は、操作者が任意位置を指定するか、或いは撮像画像の中央領域など予め定めた範囲とすることができる。画像位相差検出器11の作動開始時点で、初期設定された被写体の注目領域は、以後の画像位相差検出器11の作動により動的に座標算出されて、被写体の画像上の移動速度の検出や被写体の動きを追跡するよう例えば方形状に囲むように切り出される。
メモリ12は、信号処理部13の処理に必要な撮像画像P1,P2を逐次更新しながら一時記憶する機能、及び当該位相差検出器11の処理に必要な各信号値を一時記憶する機能を有する。
信号処理部13は、位相差検出器11により、当該時間的に連続して取得された2枚一組の撮像画像P1,P2を基にして検出されたその双方に映る被写体の位相差φに対応する変位座標xを用いて撮像画像P2から被写体領域を切り出し、被写体の画像上の移動速度の検出や被写体の動きを追跡する機能部である。このため、信号処理部13は、1台の撮像カメラ10で時間的に連続して取得された撮像画像を逐次入力し、その入力される時間的に連続して取得された2枚一組の撮像画像を逐次更新しながらメモリ12に一時記憶する。そして、例えば、信号処理部13は、逐次入力される撮像画像から被写体領域を例えば方形状に囲むように切り出し、ディスプレイパネル等の表示部14に対し区画表示するか、又は当該切り出した画像領域を示す態様で記録部15に対し画像記録することを繰り返す。
以下より具体的に、位相差検出器11及び画像処理装置1について詳細に説明する。
(位相差検出器)
図1に示すように、本実施形態の位相差検出器11は、主周波数検出部111、CReW計算部112、位相差算出部113、及び座標算出部114を備える。
主周波数検出部111は、画像位相差検出器11の作動開始時点で、撮像画像P1の主周波数の波長λを算出するよう動作する。つまり、主周波数検出部111は、画像位相差検出器11の作動開始時点で画像処理部103から入力される撮像画像P1の注目領域について、図2を参照して例示する周波数成分検出を行い、撮像画像P1のパワー(画素値の振幅)が最大となる主周波数の波長λを算出し、その波長λをメモリ12に一時記憶する。
また、本実施形態の主周波数検出部111は、後述するCReW計算部112によって2枚一組の撮像画像P1,P2の注目領域における各々について計算される周波数成分の信号ベクトルFのパワーを監視し、該周波数成分の信号ベクトルFのパワーが予め定められた範囲(絶対的な値又は直前の周波数検出時のパワーを元に決定される相対的な値)を外れた場合に、主周波数の波長λを改めて算出しメモリ12に対する一時記憶を更新するよう動作する。
図2(a)乃至図2(e)は、それぞれ第1実施形態の位相差検出器11における主周波数検出部111の処理例を示す図である。
主周波数検出部111は、撮像画像P1を入力し、その注目領域における画像信号の代表的な主周波数の波長λを検出するため、まず、図2(a)に示すように、当該画像信号の長さより短い長さMを設定し、最大振幅aを持つ画像信号から画像幅Mの領域を抽出する。尚、図2では、説明の便宜上、最大振幅aを持つ矩形状の画像信号で正規化表示しているが、実信号(画素値)は正の値の種々の振幅を有する。
続いて、図2(b)及び図2(c)に示すように、主周波数検出部111は、M/2の長さで当該信号を分割し、画像幅M/2で分割した前半部分と後半部分とをそれぞれ抽出する。
続いて、図2(d)に示すように、主周波数検出部111は、画像幅M/2で分割した前半部分と後半部分とをその信号順で重ねて差分して、その結果となる差分信号(長さM/2)を算出する。これにより、パワーPとして強調された差分信号が得られる。
続いて、図2(e)に示すように、主周波数検出部111は、差分信号のパワーPの絶対値の総和をMで除した正規化パワーを算出する。
そして、主周波数検出部111は、当該画像信号の長さより短い範囲でMの値を変化させながら繰り返し、当該正規化パワーが最大となるMの値を求め、このMの値を主周波数の波長λとする。
つまり、図2に例示する技法は、信号の全パワーからM/2シフトの自己相関関数の値を引いた値を用いてパワーPとして強調し、その代表的な周波数を検出するものとなっている。従って図2(d)に示す差分信号は、波長M/2の周波数成分及びその整数倍の周波数成分のパワーが抑圧された概ね矩形波のパワーを持つ信号となる。奇数倍の周波数を持つ矩形波のパワーなども混ざり込むが、エネルギーも奇数分の1となるため、主周波数を計算する上では問題とならない。
尚、主周波数検出部111は、図2に従う自己相関関数に立脚した技法以外にも、フーリエ変換を用いてパワースペクトルを計算するなど、主周波数を検出するその他の技法を基に、主周波数の波長λの検出を行う構成としてもよい。例えば、主周波数検出部111は、入力される画像信号における中心の色情報を基に、所定基準で規定した類似色の範囲を被写体と仮定して、その幅の倍の長さを主周波数の波長λとしてもよい。
CReW計算部112は、まず、メモリ12から波長λ、分割ブロック数N及び変位座標xを示す座標算出情報を読み出し、当該変位座標xを基に画像処理部112から入力される2枚一組の撮像画像P1,P2の注目領域を較正し、当該波長λを基に2枚一組の撮像画像P1,P2の注目領域の各々の画像信号を波長λ/4で一方向にNブロック以上(N≧4の整数固定値)に分割しそれぞれの総和(或いは、平均)を算出することで、分割方向にN画素となる圧縮画像を生成する。
尚、画像位相差検出器11の作動開始時点では、当該変位座標xの値は計算されていないため、初期値としての当該変位座標xは変位量ゼロを示すものとする。つまり、画像位相差検出器11の作動開始時点では、2枚一組の撮像画像P1,P2の注目領域は初期設定時と同位置となるが、以降、時間的に連続して取得された2枚一組の撮像画像の位相差を検出する際には、時間的に後の撮像画像の注目領域は、切り出される被写体領域に対応する当該変位座標xに基づく較正によって、時間的に前の撮像画像の注目領域とは異なる座標となる。また、分割ブロック数Nは、メモリ12に記憶される予め定められた値であり、操作部16から外部設定可能である。
そして、CReW計算部112は、2枚一組の撮像画像P1,P2の注目領域の各々における分割・圧縮方向にN画素となる圧縮画像に対して、当該方向に少なくとも4象限の要素値を持つ矩形数列で表される複素矩形数列(CReWフィルタ)を基底とする複素矩形ウェーブレット変換(CReW:Complex Rectangular Wavelet Transform)を施し、複素(実数成分及び虚数成分)の周波数成分の信号ベクトルFを1種類以上生成して、位相差算出部113に出力する。
ただし、時系列の処理順として、CReW計算部112によって得られた撮像画像P1に対する信号ベクトルFはメモリ12に一時記憶し位相差検出のための参照信号ベクトルF’として利用され、CReW計算部112によって得られた撮像画像P2に対する信号ベクトルFが位相差算出部113に出力される。
ここで、一実施例の複素矩形ウェーブレット変換(CReW)について、Type1,Type2の2例を説明する。
図3(a)乃至図3(c)は、それぞれ第1実施形態の位相差検出器11における一実施例(Type1)のCReW計算部112の処理例を示す図である。また、図4(a)乃至図4(c)は、それぞれ第1実施形態の位相差検出器11における一実施例(Type3)のCReW計算部112の処理例を示す図である。
CReW計算部112は、本質的に、複素成分を有するウェーブレット変換であるが、4象限の要素値を持つ矩形数列で表されるフィルタを構成し、これにより位相情報を付加してパワー及び正規化位相の計算コストを低減させる信号ベクトルに変換する点で、厳密には、一般的なウェーブレット変換とは相違している。
例えば、図3(a)及び図4(a)には、CReWフィルタの適用対象として、最大振幅aを持つ画像信号に含まれる周期N(N≧4の整数固定値)の信号成分を例に説明する。尚、図3(a)及び図4(a)では、説明の便宜上、最大振幅aを持つ矩形状の画像信号で正規化表示しているが、実信号(画素値)は正の値の種々の振幅を有する。
図3(a)及び図4(a)において、CReW計算部112による周波数成分の信号ベクトル計算の対象となる信号の長さ(画像の場合は一方向の画素数)をN、信号に含まれる周期Nの周波数成分の正規化位相(周波数成分の位相θを1周分の位相で除した値であり、θ′=1のとき信号周期のちょうど1周分で信号が変位する。)をθ′、パワー(最大振幅)をaとしている。このため、(N/2)の領域の信号成分は正の振幅a、他の(N/2)の領域{(θ’N)及び(N/2-θ’N)の領域}では負の振幅aの信号成分で表すことができる。
そして、図3(a)に示す信号成分に適用するType1のCReWフィルタの形状例を図3(b)に、図4(a)に示す信号成分に適用するType2のCReWフィルタの形状例を図4(b)に示している。Type1,Type2のいずれも信号の周期Nを4分割する4象限の要素値を持つ矩形数列で表され、実数成分と虚数成分が互い違いとなる(直行している)矩形波となるCReWフィルタとなっている。つまり、Type1では実数成分“1”と虚数成分“i”として表すと4象限の要素値を持つ矩形数列[1,i,-1,-i]で数列表現されたCReWフィルタとなっている。また、Type2では4象限の要素値を持つ矩形数列[1-i,1+i,-1+i,-1-i]で数列表現されたCReWフィルタとなっている。尚、図3(b)及び図4(b)において、CReWフィルタの振幅をbとする。
そして、図3(a)に示す信号成分に図3(b)に示すType1のCReWフィルタを適用して信号解析することで、図3(c)にて複素平面上に図示するように、周波数成分がその位相によってとり得る値(複素数)として、正方形の辺上の信号ベクトルを示すものとなる。図3(c)に示すType1の場合、原点を中心として、一辺がabN、各辺がそれぞれ実数軸又は虚数軸と平行な正方形となる。
また、図4(a)に示す信号成分に図4(b)に示すType2のCReWフィルタを適用して信号解析することで、図4(c)にて複素平面上に図示するように、周波数成分がその位相によってとり得る値(複素数)として、正方形の辺上の信号ベクトルを示すものとなる。図4(c)に示すType2の場合、原点を中心として、実数軸及び虚数軸上のabN、-abNをそれぞれ囲んだ正方形となる。
そして、対比する信号ベクトルの位相差φは、各信号ベクトルの正規化位相θ′の差で得られ、複素平面上にマッピングされた各信号ベクトルの正規化位相θ′の差を、マンハッタン距離により算出することができる。
通常、ウェーブレット変換のフィルタにおける振幅bは、一般的なウェーブレット変換の規則に基づくと、そのウェーブレット変換のフィルタの形状及び画像の解像度に応じて決定される。しかしながら、本発明に係るCReWフィルタでは、bの値の影響を受けないように位相成分を扱うため、実装上、b=1として差し支えない。換言すると、b=1とすることで、信号ベクトルが当該複素平面上の正方形の辺上を位相の値によって変位するようになり、より一層、処理コストが軽減されるという利点がある。
尚、比較例として、図5(a)乃至図5(c)には、それぞれフーリエ変換の処理例を示している。図5(a)には、上記の図3(a)及び図4(a)と同様の信号成分を例示している。そして、図5(a)に示す信号成分に適用するフーリエ変換のフィルタの形状例を図5(b)に示している。図5(b)に示すフーリエ変換の数列は、変数αに対する振幅bの複素数e-2πiα/Nを用いた例であり、4象限の要素値を持つ三角関数数列[e-2πi/N),e-4πi/N,e-6πi/N,e-8πi/N]で数列表現されたものとなる。
そして、図5(a)に示す信号成分に図5(b)に示すフーリエ変換のフィルタを適用して信号解析することで、図5(c)にて複素平面上に図示するように、周波数成分がその位相によってとり得る値(複素数)として、円周上の信号ベクトルを示すものとなる。図5(c)に示す例の場合、原点を中心として、実数軸及び虚数軸上で半径2abN/πで囲んだ円形となる。この場合も、実装上、b=1として扱うことで、信号ベクトルが当該複素平面上の円形で示す線分を位相の値によって走査するようになるが、図6を参照して以下に説明するように、処理コストの観点からは、本発明に係るCReWフィルタと比較して不利なものとなる。
図6(a)及び図6(b)は、それぞれ第1実施形態の位相差検出器11における一実施例(Type1,2)のCReW計算部112と、図5に示した比較例のフーリエ変換の処理コストを比較可能に示す図である。
特に、図6(a)及び図6(b)は、パワーPと正規化位相θ’の処理コストをまとめて図示している。正規化位相はそれぞれ、周波数成分の実数成分、虚数成分の正負又は大小によって、各係数の値が変化する。
図6(a)に示すように、本発明に係るCReW計算部112は、Type1,2のいずれのCReWフィルタを用いた場合でも、複素数からそれに応じたパワー及び正規化位相の算出のために、数回の条件分岐(周波数成分の複素平面上の象限の検出)、条件分岐に応じてそれぞれ数回以内の絶対値計算と2のべき乗、そして1回の除算で実現できる。
特に、演算処理において、絶対値計算はビットレジスタの値の反転と加算で実現される。2のべき乗は、レジスタの値のシフトによって実現される。総じて、本発明に係るCReW計算部112は、Type1,2のいずれのCReWフィルタを用いることで、解像度の高い画像や周波数の高い映像に適用しても、処理コストが軽くなり、高速処理を可能とし、実装コストの上昇を抑制することができる。
一方、図6(b)に示すように、比較例のフーリエ変換では、数回の条件分岐(周波数成分の複素平面上の象限の検出)、条件分岐に応じてそれぞれ数回以内の絶対値計算と2のべき乗、そして1回の除算で実現できず、複雑な演算を必要とする。これは、一般的なウェーブレット変換を用いた場合も同様である。このため、本発明に係るCReW計算部112は、Type1,2で例示するようなCReWフィルタを用いることで、処理コストを軽減させることができる。
尚、図6(a)等に示すType1,2で例示するCReWフィルタの数列表現において、実数成分“1”と虚数成分“i”として表すと4象限の要素値を持つ矩形数列[1,i,-1,-i]又は矩形数列[1-i,1+i,-1+i,-1-i]の要素順や配列は任意に入れ替えることができる。例えば、Type1の矩形数列を[-1,i,1,-i]とすることや、Type1の矩形数列を[1+i,1-i,-1+i,-1-i]とするなどにしても同様の処理結果及び効果が得られる。
図7(a)乃至図7(c)は、それぞれ本発明による第1実施形態の位相差検出器11におけるCReW計算部112のより具体的な処理例を示す図である。
図7(a)に示すように、CReW計算部112は、まず、メモリ12から波長λ、分割ブロック数N及び変位座標xを示す座標算出情報を読み出し、当該変位座標xを基に画像処理部112から入力される2枚一組の撮像画像P1,P2の注目領域を定め、この注目領域を処理対象の画像とする。尚、画像位相差検出器11の作動開始時点では、当該変位座標xの値は計算されていないため、初期値としての当該変位座標xは変位量ゼロを示すものとする。
尚、CReW計算部112の処理対象とする画像は、処理コストのより一層の低減のため本例では操作部16からの指示に基づいて初期設定した被写体の注目領域を基にしているが、画像全体でもよい。
そして、CReW計算部112は、当該波長λ及び分割ブロック数Nを基に、2枚一組の撮像画像P1,P2の注目領域の各々を波長λ/4で一方向(図示する例では横方向)にN個以上(図示する例ではN=6)のブロックに分割し各ブロックでそれぞれの総和(或いは、平均)を算出する。画像として見ると、一方向が非常に粗い6画素となる圧縮画像が生成される。このとき、各ブロックの幅は、使用するCReWフィルタの波長λの4分の1となる。ブロック4つで、CReWフィルタの長さと同等の信号長となる。
続いて、図7(b)に示すように、CReW計算部112は、6ブロックの圧縮画像のうち連続する4ブロックの圧縮画像に対し、当該一方向(分割方向)に空間移動(走査)させて、CReWフィルタを適用する。つまり、例えば図3(b)に示されたType1であれば[1,i,-1,-i]の4要素で構成されるCReWフィルタを4ブロックの圧縮画像に適用する。また、図4(b)に示されたType2であれば[1-i,1+i,-1+i,-1-i]の4要素で構成されるCReWフィルタを4ブロックの圧縮画像に適用する。Type1,2のCReWフィルタのいずれの場合でも、ブロック数が3つ減少した値が得られる。
続いて、図7(c)に示すように、CReW計算部112は、縦方向の画素数×3種類の信号ベクトル(複素信号)に変換する。これにより実数成分3組と虚数成分3組よりなる画素のアドレスに応じた3種類の信号ベクトルが得られ、理想的には90°ずつ、位相回転した信号ベクトルとなる。つまり、N=4とすれば1つの信号ベクトルが得られ、N=5とすれば2つの信号ベクトルが得られ、N=6とすれば3つの信号ベクトルが得られる。このため、Nの値を大きくするほど(信号ベクトル数が多いほど)、1つの処理画像に対する特徴量表現として広範囲化することになるが、必要以上に多くしても実施目的にとって不要な信号ベクトルが得られ処理コストとして無駄が生じることになる。実験した結果では、N=6とするのが好適であることが分かっているが、N=4~8程度に設定することが好ましい。これにより、位相差検出の高精度化を維持しながら、信号列一つに対して数回(ブロック数分)の総和(或いは平均)の演算で済むようになるという利点がある。
CReW計算部112によって得られた1種類以上の信号ベクトルFは、図3(b)に示されたType1であれば図3(c)に示すように、図4(b)に示されたType2であれば図4(c)に示すように、複素平面上の正方形の辺上に、波長Nの周波数成分がマッピングされた状態と同等になり、図6(a)に示すように、パワーと正規化位相を示すものとなる。
このようにして、CReW計算部112によって得られた撮像画像P1に対する信号ベクトルFはメモリ12に一時記憶し位相差検出のための参照信号ベクトルF’として利用され、CReW計算部112によって得られた撮像画像P2に対する信号ベクトルFは位相差算出部113に出力される。
位相差算出部113は、撮像画像P1の1種類以上の参照信号ベクトルF’をメモリ12から読み出し、今回計算した撮像画像P2に対する1種類以上の信号ベクトルFと当該1種類以上の参照信号ベクトルF’とを種類毎に個別に比較して、被写体領域のサイズ変化を示すように位相差φを算出し、座標算出部114に出力する。尚、図3及び図4を参照して上述したように、位相差算出部113は、CReW計算によって得られる各信号ベクトルの位相差φを算出するにあたり、複素平面上にマッピングされた各信号ベクトルのマンハッタン距離により算出する。これにより、位相差φの算出に係る処理コストの低減に寄与するものとなる。
座標算出部114は、まず、メモリ12から波長λ及び変位座標xを示す座標算出情報を読み出し、当該変位座標x(初期値はゼロ)を基に画像処理部112から入力される2枚一組の撮像画像P1,P2の注目領域を較正する。続いて、座標算出部114は、位相差φの情報を撮像画像P2上の被写体の位置座標に合わせるために、位相差算出部113から得られる位相差φと当該波長λとを乗じて撮像画像P2上の被写体の変位座標(即ち注目領域の変位座標)xを算出し、変位座標xの情報を信号処理部13に出力するとともに、メモリ12に更新保持する。
信号処理部13は、位相差検出器11により時間的に連続して取得された2枚一組の撮像画像P1,P2を基にして検出されたその双方に映る被写体の位相差φに対応する変位座標xを用いて撮像画像P2から被写体領域を切り出し(区画表示)する。以後、信号処理部13は、1台の撮像カメラ10で時間的に連続して取得された撮像画像を逐次入力し、逐次入力される撮像画像から被写体領域を例えば方形状に囲むように切り出し、ディスプレイパネル等の表示部14に対し区画表示するか、又は当該切り出した画像領域を示す態様で記録部15に対し画像記録することを繰り返す。
(1台の撮像カメラによる被写体の追尾に係る処理例)
以下、より具体的に、図1に示す1台の撮像カメラ10による被写体の追尾に係る画像処理装置1の処理例を説明する。
図8は、本発明による第1実施形態の位相差検出器11及び信号処理部13を備える画像処理装置1の処理を示すフローチャートである。
まず、操作部16から被写体の追尾開始(位相差検出の作動開始)の指示の基に、位相差検出器11は、主周波数検出部111により波長λを決定しメモリ12に保持する(ステップS1)。
続いて、位相差検出器11は、撮像カメラで取得した今回処理対象の画像Pnについて、CReW計算部112により、一方向に長さλ/4で分割し、それぞれ総和演算(或いは平均演算)を行う(ステップS2)。
続いて、位相差検出器11は、CReW計算部112により、画像Pnの周波数成分の信号ベクトルFを計算しメモリ12に保持する(ステップS3)。
続いて、位相差検出器11は、位相差算出部113により計算済みの参照信号ベクトルF’をメモリ12から読み出し(参照信号ベクトルF’がメモリ12に保持されていなければゼロとする)、今回計算した画像Pnの信号ベクトルFと参照信号ベクトルF’間の位相差φを計算する(ステップS4)。
ここで、位相差算出部113は、2種以上の信号ベクトルFと当該2種以上の参照信号ベクトルF’と求めるように構成しているときは、被写体領域のサイズ変化を示すように位相差φを算出することができる。
続いて、位相差検出器11は、座標算出部114によりφ*λによる画像Pn上の被写体の変位座標xを算出しメモリ12に更新保持するとともに、信号処理部13に出力する(ステップS5)。ここで、変位座標xは、上記の被写体領域のサイズ変化を示す情報を含めることができる。
続いて、信号処理部13は、変位座標xを基に画像Pnから被写体領域を切り出し、区画表示する(ステップS6)。ここで、変位座標xが、上記の被写体領域のサイズ変化を示す情報を含んでいるときは、被写体領域の切り出しに関して、当該注目領域のサイズを更新させることができる。例えば、時間的に連続する撮像画像がズーム等により画角が変化するような場合でも、これに追従して被写体領域の切り出し(区画表示)が可能となる。
以後、位相差検出器11は、操作部16からの終了の指示の有無を監視しており(ステップS7)、操作部16から終了の指示があるときは(ステップS7:Y)、被写体の追尾(位相差検出の作動)を停止して、その旨を信号処理部13に通知し、信号処理部13による切り出し(区画表示)処理を停止させる。
一方、位相差検出器11は、操作部16から終了の指示が無いときは(ステップS7:N)、被写体の追尾(位相差検出の作動)を継続し、設計上必要であればその旨を信号処理部13に通知する。
被写体の追尾(位相差検出の作動)を継続する際、位相差検出器11は、ステップS2に移行してもよいが、ここではより好適な例として、ステップS8に移行する。
具体的には、被写体の追尾(位相差検出の作動)を継続する際、位相差検出器11は、信号処理部13による切り出しに係る変位座標xの情報を基に、改めて当該画像Pnにおける当該切り出した被写体領域について、CReW計算部112により、一方向に長さλ/4で分割し、それぞれ総和演算(或いは平均演算)を行う(ステップS8)。
続いて、位相差検出器11は、当該画像Pnにおける当該切り出した被写体領域について、CReW計算部112により改めて信号ベクトルF(ここでは、区別のために信号ベクトルFcと称する)を再計算する(ステップS9)。
続いて、位相差検出器11は、CReW計算部112により、信号ベクトルFcと計算済みの信号ベクトルFとを比較し(ステップS10)、信号ベクトルFcと信号ベクトルFとの差が閾値以下であるか否かを判定する(ステップS11)。信号ベクトルFcと信号ベクトルFとの差が閾値以下でなければ(ステップS11:N)、ステップS1に移行し、信号ベクトルFcと信号ベクトルFとの差が閾値以下であれば(ステップS11:Y)、ステップS12に移行する。
ステップS12に移行すると、位相差検出器11は、CReW計算部112により、撮像カメラ10で取得した新たに入力される画像Pnの解析のために、信号ベクトルFcを参照信号ベクトルF’としてメモリ12に更新保持して、ステップS2に移行する。
即ち、CReW計算部112は、当該位相差の検出を時間方向に連続する画像に対して継続的に行う際に、逐次、今回切り出された被写体領域で今回計算対象の画像の信号ベクトルFcを今回値として再計算し、前回切り出された被写体領域で計算した該今回計算対象の画像に対する前回値の信号ベクトルFと比較し、今回値の信号ベクトルFcと前回値の信号ベクトルFとの差が閾値以下であるか否かを判定する。そして、CReW計算部112は、当該閾値以下のときには今回値の信号ベクトルFcを次回の位相差の検出で対比する参照信号ベクトルF’として更新し、当該閾値以下でないときは参照信号ベクトルF’の更新は行わず、主周波数検出部111に対して、波長λを改めて算出させる処理を有するように構成することができる。
このように、CReW計算部112に対して、ステップS9乃至S12の処理を設けることで、位相差検出対象とする時間方向の一組の画像間で、被写体が急減に変化するような場合でも頑健に参照信号ベクトルF’及び被写体領域の更新が可能となる。
尚、本実施形態の説明では、被写体の注目領域を1つ初期設定して、当該被写体の被写体領域を1つ切り出すようにして追跡する例を説明したが、複数の被写体の注目領域を初期設定して、複数の被写体領域を個別に切り出すように構成することもできる。この場合、時間的に連続する撮像画像間で、切り出される被写体領域によって更新される各被写体の注目領域には識別子を付与し、当該識別子に基づいて位相差の検出対象を識別するようにすればよい。
このようにして、画像処理装置1は、図1に示す1台の撮像カメラ10による被写体の追尾処理を行う構成とすることができる。特に、一画像信号に対し複数種の信号ベクトルを用いる構成であれば、変位座標xに、上記の被写体領域のサイズ変化を示す情報を含めることができる。このため、被写体領域の切り出しに関して、当該注目領域のサイズを更新させることができる。例えば、図9に示すように、時刻t1の撮像画像Pn(t1)では破線で示す被写体Objについて切り出し区画表示した被写体領域がSQ(t1)であったときに、時間的に後続する時刻t2の撮像画像Pn(t2)では実線で示す被写体Objについて切り出し区画表示した被写体領域がSQ(t2)のように切り出す被写体領域のサイズを変化させながら追跡することも可能となる。
尚、図8に示す処理を応用して、被写体の移動量とフレーム数から被写体の画像上の移動速度の検出も可能となる。
以上のように、本実施形態の位相差検出器11によれば、低処理コストで撮影環境に依らず安定し高精度で位相差を検出することができる。
図10は、本発明による第1実施形態の位相差検出器11を備える画像処理装置1の動作とその作用・効果を示す図である。図10に示すように、背景を持つ被写体が撮像された元画像に対し、CReW計算部112による処理過程で一方向に総和(或いは平均化)した圧縮画像は、元画像の「変位なし」、「右変位(位相が進む)」、及び「左変位(位相が戻る)」に応じて輝度分布の高低が大まかに変化する(撮影環境に依らず安定)。この圧縮画像に対し、CReW計算部112により、例えばType2のCReWフィルタを適用すると、例えばCReWフィルタの振幅b=1の場合でも、図示するように、複素平面上の信号ベクトルは元画像の「変位なし」、「右変位(位相が進む)」、及び「左変位(位相が戻る)」に応じて顕著に位相変化する。そして、元画像の「変位なし」、「右変位(位相が進む)」、及び「左変位(位相が戻る)」に応じた位相差を、低処理コストで、且つ高精度で検出できる。
そして、本発明によれば、パワーと正規化位相を示す信号ベクトルを評価値として用いるため、従来技法のような式(数1)に基づく評価値による位相差画像のずらし幅kの有効桁数よりも高い有効桁数の評価値とすることができる。これにより、本実施形態の位相差検出器11によれば、位相差検出を高精度化し、且つ実装コストを低く抑えることができる。更に、本実施形態の位相差検出器11は、被写体の画像上の移動速度の検出や被写体の動きの追跡を行う用途に限らず、被写体の動的変化の検出(物体の動的歪み検査など)、時間方向の一組の画像から被写体の位置のずれを示す位相差の検出を利用できる任意の用途に適用できる。
〔第2実施形態〕
図11は、本発明による第2実施形態の位相差検出器11、及びこれを備える画像処理装置1の概略構成を示すブロック図である。尚、第1実施形態と同様な構成要素には同一の参照番号を付している。本実施形態の画像処理装置1は、2台の撮像カメラ10R,10Lを空間的に並べて同時・同方向に撮像を行う両眼カメラ10RLで空間的に同時・同方向取得された2枚一組の撮像画像を入力し、位相差検出器11により、その入力される空間方向の2枚一組の撮像画像を基にして、その双方に映る被写体の位相差を検出することで、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を検出する装置として構成される。
(両眼カメラ)
まず、本実施形態に係る両眼カメラ10RLを構成する各撮像カメラ10R,10Lは、それぞれ同性能の撮像レンズ101、撮像素子102、及び画像処理部103を備える。
本実施形態に係る撮像レンズ101は、被写体を撮像素子102に結像するため光学レンズであり、自動焦点可能に駆動されるものでもよいが、ここでは、所望の被写体に焦点が合致した状態を例に説明する。
本実施形態に係る撮像素子102は、複数の画素からなる撮像部を有し、その撮像部内に遮光部分が異なる(一般的には左右や上下で対称となる)位相差検出画素を有していてもよいが、ここでは、そのような位相差検出画素を有していない例を説明する。
本実施形態に係る画像処理部103は、撮像素子102から得られる被写体が撮像された撮像画像をフレーム単位で逐次形成し、信号処理部13及び位相差検出器11に出力する。特に、各撮像カメラ10R,10Lにおける画像処理部103は、画像位相差検出器11の作動開始時点で、それぞれの撮像素子102から得られる被写体が撮像された撮像画像Pr,Plを形成して信号処理部13及び位相差検出器11に出力する。
(画像処理装置)
画像処理装置1は、第1実施形態と同様に、位相差検出器11、メモリ12、及び信号処理部13を備え、位相差検出器11は時間方向でなく空間方向の2枚一組の撮像画像を扱う点を除き、第1実施形態とほぼ同様に動作する。
位相差検出器11は、操作部16からの指示に基づいて被写体の注目領域(縦、横、斜めを問わない)を1以上初期設定して作動を開始し、両眼カメラ10RLで空間的に同時・同方向取得された2枚一組の撮像画像を入力し、その双方に映る被写体の位相差を検出する機能部である。被写体の注目領域の初期設定は、操作者が任意位置を指定するか、或いは撮像画像の中央領域など予め定めた範囲とすることができる。画像位相差検出器11の作動開始時点で、初期設定された被写体の注目領域は、以後の画像位相差検出器11の作動により動的に座標算出されて、被写体を例えば方形状に囲むように切り出される。
メモリ12は、信号処理部13の処理に必要な撮像画像Pr,Plを逐次更新しながら一時記憶する機能、及び当該位相差検出器11の処理に必要な各信号値を一時記憶する機能を有する。本例のメモリ12には、両眼カメラ10RLを構成する各撮像カメラ10R,10Lの配置情報が操作部16を介して予め設定されて格納されている。
信号処理部13は、位相差検出器11により、空間的に同時・同方向取得された2枚一組の撮像画像Pr,Plを基にして検出されたその双方に映る被写体の位相差φに対応する変位座標xを用いて各撮像画像Pr,Plから被写体領域を切り出し、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を演算により検出する機能部である。このため、信号処理部13は、両眼カメラ10RLで空間的に同時・同方向取得された2枚一組の撮像画像Pr,Plを逐次入力し、その撮像画像Pr,Plを逐次更新しながらメモリ12に一時記憶する。そして、例えば、信号処理部13は、逐次入力される撮像画像から被写体領域を例えば方形状に囲むように切り出し、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を検出することを繰り返す。両眼カメラ10RLから各被写体までの距離は、両眼カメラ10RLの撮像カメラ10R,10L間距離及び画角を含む各撮像カメラ10R,10Lの配置情報と、位相差検出器11により算出される位相差φ(対比する信号ベクトルの正規化位相θ′の差)を基に、演算により求めることができる。
以下より具体的に、位相差検出器11及び画像処理装置1について詳細に説明する。
(位相差検出器)
図11に示すように、本実施形態の位相差検出器11は、第1実施形態と同様に、主周波数検出部111、CReW計算部112、位相差算出部113、及び座標算出部114を備える。
主周波数検出部111は、画像位相差検出器11の作動開始時点で、撮像画像Pr,Plのいずれか一方又は双方の主周波数の波長λを算出するよう動作する。つまり、主周波数検出部111は、画像位相差検出器11の作動開始時点で画像処理部103から入力される撮像画像Pr,Plの注目領域について、上述した図2を参照して例示する周波数成分検出を行い、撮像画像Pr,Plのパワー(画素値の振幅)が最大となる主周波数の波長λを算出し、その波長λをメモリ12に一時記憶する。撮像画像Pr,Plのいずれか一方の算出でよいが、双方の主周波数の波長λを算出するときは、その平均値を用いる。
CReW計算部112は、まず、メモリ12から波長λ、分割ブロック数N及び両眼カメラ10RLを構成する各撮像カメラ10R,10Lの配置情報を示す座標算出情報を読み出し、当該各撮像カメラ10R,10Lの配置情報を基に画像処理部112から入力される2枚一組の撮像画像Pr,Plの注目領域を較正し、当該波長λを基に2枚一組の撮像画像Pr,Plの注目領域の各々を波長λ/4で一方向にNブロック以上(N≧4の整数固定値)に分割しそれぞれの総和(或いは、平均)を算出することで、分割方向にN画素となる圧縮画像を生成する。
尚、例えば撮像カメラ10Rから撮像画像Prに対して、操作部16からの指示に基づいて被写体の注目領域を1以上初期設定することで、撮像カメラ10Lから撮像画像Plに対して、各撮像カメラ10R,10Lの配置情報に従い、対応する被写体の注目領域の設定を較正することができる。尚、各撮像カメラ10R,10Lの注目領域は、被写体に対して厳格に一致させる必要はない。
そして、CReW計算部112は、2枚一組の撮像画像Pr,Plの注目領域の各々における分割・圧縮方向にN画素となる圧縮画像に対して、当該方向に少なくとも4象限の要素値を持つ矩形数列で表される複素矩形数列(CReWフィルタ)を基底とする複素矩形ウェーブレット変換(CReW)を施し、右眼画像用と左眼画像用として、複素(実数成分及び虚数成分)の周波数成分の信号ベクトルFr,Flをそれぞれ1種類以上生成して、位相差算出部113に出力する。
本実施形態におけるCReW計算部112の処理自体は、上述した第1実施形態と同様であり、Type1,2のいずれかのCReWフィルタとすることができる。
尚、CReW計算部112の処理対象とする画像は、処理コストのより一層の低減のため本例では操作部16からの指示に基づいて初期設定した被写体の注目領域を基にしているが、画像全体でもよい。
位相差算出部113は、今回計算した各撮像画像Pr,Plに対する1種類以上の信号ベクトルFr,Flを個別に比較して、1以上の被写体の注目領域毎に位相差φを算出し、座標算出部114に出力する。尚、図3及び図4を参照して上述したように、位相差算出部113は、CReWフィルタによって得られる各信号ベクトルの位相差φを算出するにあたり、複素平面上にマッピングされた各信号ベクトルのマンハッタン距離により算出する。これにより、位相差φの算出に係る処理コストの低減に寄与するものとなる。
座標算出部114は、まず、メモリ12から波長λ及び両眼カメラ10RLを構成する各撮像カメラ10R,10Lの配置情報を示す座標算出情報を読み出し、設計上必要であれば当該各撮像カメラ10R,10Lの配置情報を基に画像処理部112から入力される2枚一組の撮像画像Pr,Plの注目領域を較正する。続いて、座標算出部114は、位相差φの情報を撮像画像Pr,Plの各注目領域の座標上のずれ量に復元するために、位相差算出部113から得られる1以上の被写体の注目領域毎に位相差φと当該波長λとを乗じて撮像画像Pr,Pl上の被写体の変位座標(即ち注目領域の変位座標)xを算出し、変位座標xの情報を信号処理部13に出力するとともに、メモリ12に更新保持する。
信号処理部13は、位相差検出器11により空間的に同時・同方向取得された2枚一組の撮像画像Pr,Plを基にして検出されたその双方に映る1以上の被写体の注目領域毎に位相差φに対応する変位座標xを用いて各撮像画像Pr,Plから被写体領域を切り出し(区画表示)、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を演算により検出する。尚、信号処理部13は、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を演算により検出する際に、メモリ12から各撮像カメラ10R,10Lの配置情報を読み出して演算する(図11では図示略)。
以後、信号処理部13は、両眼カメラ10RLを構成する各撮像カメラ10R,10Lで空間的に同時・同方向取得された各撮像画像を逐次入力し、逐次入力される撮像画像から被写体領域を例えば方形状に囲むように切り出し、上記の距離や空間的な位置を示す情報を付与して、ディスプレイパネル等の表示部14に対し区画表示するか、又は当該切り出した画像領域を示す態様で記録部15に対し画像記録することを繰り返す。
(両眼カメラによる距離測定に係る処理例)
以下、より具体的に、図11に示す両眼カメラ10RLによる当該撮像カメラ10R,10Lと被写体との距離測定に係る画像処理装置1の処理例を説明する。
図12は、本発明による第2実施形態の位相差検出器11及び信号処理部13を備える画像処理装置1の処理を示すフローチャートである。
まず、操作部16から被写体との距離測定開始(位相差検出の作動開始)の指示の基に、位相差検出器11は、主周波数検出部111により波長λを決定しメモリ12に保持する(ステップS21)。
続いて、位相差検出器11は、両眼カメラ10RLで取得した今回処理対象の撮像画像Pr,Plの各注目領域について、CReW計算部112により、一方向に長さλ/4で分割し、それぞれ総和演算(或いは平均演算)を行う(ステップS22)。
続いて、位相差検出器11は、CReW計算部112により、撮像画像Pr,Plの各注目領域の周波数成分の信号ベクトルFr,Flを計算しメモリ12に保持する(ステップS23)。
続いて、位相差検出器11は、位相差算出部113により、撮像画像Pr,Plの各注目領域毎の周波数成分の信号ベクトルFr,Fl間の位相差φを計算する(ステップS24)。
ここで、位相差算出部113は、第1実施形態と同様に、2種以上の信号ベクトルFrと当該2種以上の参照信号ベクトルFlと求めるように構成しているときは、被写体領域のサイズ変化を示すように位相差φを算出することができる。
続いて、位相差検出器11は、座標算出部114により両眼カメラ10RLにおける各撮像カメラ10R,10Lの配置情報と、φ*λに基づいて、よる画像Pn上の被写体の変位座標xを算出し、信号処理部13に出力する(ステップS25)。ここで、変位座標xは、上記の被写体領域のサイズ変化を示す情報を含めることができる。
続いて、信号処理部13は、変位座標xを用いて各撮像画像Pr,Plから被写体領域を切り出し、当該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を演算により検出する(ステップS26)。ここで、変位座標xが、上記の被写体領域のサイズ変化を示す情報を含んでいるときは、被写体領域の切り出しに関して、当該注目領域のサイズを更新させることができる。例えば、時間的に連続する撮像画像がズーム等により画角が変化するような場合でも、これに追従して被写体領域の切り出し(区画表示)が可能となる。
以後、位相差検出器11は、操作部16からの終了の指示の有無を監視しており(ステップS27)、操作部16から終了の指示があるときは(ステップS27:Y)、被写体との距離測定(位相差検出の作動)を停止して、その旨を信号処理部13に通知し、信号処理部13による切り出し(区画表示)処理を停止させる。
一方、位相差検出器11は、操作部16から終了の指示が無いときは(ステップS27:N)、被写体との距離測定(位相差検出の作動)を継続し、設計上必要であればその旨を信号処理部13に通知する。
被写体との距離測定(位相差検出の作動)を継続する際、位相差検出器11は、ステップS2に移行し、継続中はメモリ12に保持される波長λを使用し続けてもよいが、本例では、ズーム等の画角の変更にも適応的に対応するためにステップS1に移行する。
このようにして、画像処理装置1は、図11に示す両眼カメラ10RLによる被写体との距離測定処理を行う構成とすることができる。特に、一画像信号に対し複数種の信号ベクトルを用いる構成であれば、変位座標xに、上記の被写体領域のサイズ変化を示す情報を含めることができる。このため、被写体領域の切り出しに関して、当該注目領域のサイズを更新させることができる。また、撮像画像内の複数の被写体に対して距離測定を行うことができる。例えば、図13に示すように、撮像カメラ10Rの撮像画像Pr(又は撮像カメラ10Lの撮像画像Pl)において、複数の被写体Obj1,Obj2,Obj3について個別に切り出し区画表示した被写体領域SQ1,SQ2,SQ3の各々を測距領域1,2,3としてそれぞれ距離測定を行うことができる。従って、被写体に係る物理的な距離測定処理の1つとして、両眼カメラ10RLを構成する該撮像カメラ10R,10Lと被写体との距離、或いは被写体間の空間的な位置を検出するものとして構成することができる。
また、第2実施形態において、両眼カメラ10RLの代わりに、撮像レンズを駆動制御可能な撮像カメラとし、その撮像素子の画素部に遮光部分が異なる(一般的には左右や上下で対称となる)位相差検出画素を設けたものとすることで、被写体に係る物理的な距離測定処理の1つとして、位相差検出器11を同様な処理で自動焦点調節のための位相差を検出するものとして構成することができる。
そして、第2実施形態に係る位相差検出器11は、第1実施形態と実質的に同様な動作であるため、第1実施形態と同様、低処理コストで撮影環境に依らず安定し高精度で位相差を検出することができる。
以上、特定の実施形態の例を挙げて本発明を説明したが、本発明は前述した例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、上述した各実施形態では、CReW計算部112は、空間的に一方向を対象とした一次元のCReWフィルタを例に説明したが、空間的に二方向を対象とした二次元のCReWフィルタ、及び該二方向に加え時間方向を含む三次元以上のCReWフィルタとすることができる。
また、上述した各実施形態では、CReW計算部112において、処理コストと動作の安定化のために、圧縮画像を生成してからCReW計算を行う好適例を説明したが、CReW計算部112において上記の圧縮画像を生成せずに非圧縮の処理対象画像に対して直接的に、上記の複素矩形ウェーブレット(CReWフィルタ)の各要素値をλ/4個ずつ連続させてCReWフィルタを冗長化させたCReW計算を行うことで、圧縮画像を生成する場合と同等の信号ベクトルを得ることができる。この場合、例えばシリアル的に画素値が得られるシステム(ハードウェア上)で当該非圧縮画像の画素値をバッファせずに逐次加減算することができる。
また、上述した各実施形態では、特定の用途について詳細に説明したが、本発明に係る位相差検出器11は、時間方向又は空間方向の一組の画像から被写体の位置のずれを示す位相差を利用可能とする用途であれば、種々の用途に利用できる。