(58)【調査した分野】(Int.Cl.,DB名)
移動する1台のカメラによって移動方向の正面の様子を時間t=τ−T(但し、τ>0,T>0)から時間t=τまで撮影した動画像に基づいて、当該動画像に映る対象物から前記カメラまでの距離を算出する動画像距離算出装置であって、
前記動画像の時間t=τ−Tの時のフレーム画像に映る対象物の画素の1つをターゲットピクセルとし、当該フレーム画像からM個(M≧2)の異なる対象物毎に前記ターゲットピクセルを抽出するターゲットピクセル抽出手段と、
時間t=τ−Tから時間t=τまでの複数の前記フレーム画像に基づいて、前記ターゲットピクセル抽出手段により抽出されたM個の前記ターゲットピクセルの座標の軌跡を、2次元画像を対象とする動的計画法に基づいて、時間t=τ−Tの前記フレーム画像から時間t=τの前記フレーム画像までの時系列順に算出する軌跡算出手段と、
該軌跡算出手段により算出されたM個の前記軌跡に基づいて、時間t=τ−Tの前記フレーム画像の座標から時間t=τの前記フレーム画像の座標までの移動画素数qm(m=1,2,・・・,M)を、M個の前記ターゲットピクセル毎に測定する移動画素数測定手段と、
前記移動画素数測定手段により測定されたM個の前記移動画素数qmのうち、前記移動画素数が最も少ない画素数をμとし、前記移動画素数が最も多い画素数をγとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も近い距離をZnとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も遠い距離をZLとして、定数aおよび定数bを、
a=ZL・exp((μ/(γ−μ))log(ZL/ZN))
b=(1/(γ−μ))log(ZL/ZN)
により算出し、
M個の前記ターゲットピクセルのそれぞれに対応する前記対象物から前記カメラまでの時間t=τにおける距離をZm(m=1,2,・・・,M)として、当該距離Zmを、前記定数aおよび前記定数bと、M個の前記移動画素数qmとに基づいて、
Zm=a・exp(−bqm)
により算出する距離算出手段と
を有することを特徴とする動画像距離算出装置。
移動する1台のカメラによって移動方向の正面の様子を時間t=τ−T(但し、τ>0,T>0)から時間t=τまで撮影した動画像に基づいて、当該動画像に映る対象物から前記カメラまでの距離を算出する動画像距離算出装置であって、
前記動画像の時間t=τの時のフレーム画像に映る対象物の画素の1つをターゲットピクセルとし、当該フレーム画像からM個(M≧2)の異なる対象物毎に前記ターゲットピクセルを抽出するターゲットピクセル抽出手段と、
時間t=τ−Tから時間t=τまでの複数の前記フレーム画像に基づいて、前記ターゲットピクセル抽出手段により抽出されたM個の前記ターゲットピクセルの座標の軌跡を、2次元画像を対象とする動的計画法に基づいて、時間t=τの前記フレーム画像から時間t=τ−Tの前記フレーム画像までの過去に遡る時系列順に算出する軌跡算出手段と、
該軌跡算出手段により算出されたM個の前記軌跡に基づいて、時間t=τ−Tの前記フレーム画像の座標から時間t=τの前記フレーム画像の座標までの移動画素数qm(m=1,2,・・・,M)を、M個の前記ターゲットピクセル毎に測定する移動画素数測定手段と、
前記移動画素数測定手段により測定されたM個の前記移動画素数qmのうち、前記移動画素数が最も少ない画素数をμとし、前記移動画素数が最も多い画素数をγとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も近い距離をZnとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も遠い距離をZLとして、定数aおよび定数bを、
a=ZL・exp((μ/(γ−μ))log(ZL/ZN))
b=(1/(γ−μ))log(ZL/ZN)
により算出し、
M個の前記ターゲットピクセルのそれぞれに対応する前記対象物から前記カメラまでの時間t=τにおける距離をZm(m=1,2,・・・,M)として、当該距離Zmを、前記定数aおよび前記定数bと、M個の前記移動画素数qmとに基づいて、
Zm=a・exp(−bqm)
により算出する距離算出手段と
を有することを特徴とする動画像距離算出装置。
前記ターゲットピクセル抽出手段において前記ターゲットピクセルの抽出を行うために用いられる前記フレーム画像に対し、mean-shift法を適用することにより、当該フレーム画像を複数の領域に分割する領域分割手段を有し、
前記ターゲットピクセル抽出手段は、前記領域分割手段により分割された前記領域のうち、前記対象物が映る領域の重心点の画素を前記ターゲットピクセルとして、異なる対象物が映るM個(M≧2)の領域毎に前記ターゲットピクセルを抽出すること
を特徴とする請求項1又は請求項2に記載の動画像距離算出装置。
前記ターゲットピクセル抽出手段において前記ターゲットピクセルの抽出を行うために用いられる前記フレーム画像に対し、mean-shift法を適用することにより、当該フレーム画像を複数の領域に分割する領域分割手段を有し、
前記ターゲットピクセル抽出手段は、前記領域分割手段により分割された前記領域の画素に対して端から順番に番号を付加し、当該領域の画素の番号のうち中間の番号に該当する画素を前記ターゲットピクセルとして、異なる対象物が映るM個(M≧2)の領域毎に前記ターゲットピクセルを抽出すること
を特徴とする請求項1又は請求項2に記載の動画像距離算出装置。
移動する1台のカメラによって移動方向の正面の様子を時間t=τ−T(但し、τ>0,T>0)から時間t=τまで撮影した動画像に基づいて、当該動画像に映る対象物から前記カメラまでの距離を算出するための動画像距離算出用プログラムであって、
制御手段に、
前記動画像の時間t=τ−Tの時のフレーム画像に映る対象物の画素の1つをターゲットピクセルとして、当該フレーム画像からM個(M≧2)の異なる対象物毎に前記ターゲットピクセルを抽出させるターゲットピクセル抽出機能と、
時間t=τ−Tから時間t=τまでの複数の前記フレーム画像に基づいて、前記ターゲットピクセル抽出機能により抽出されたM個の前記ターゲットピクセルの座標の軌跡を、2次元画像を対象とする動的計画法に基づいて、時間t=τ−Tの前記フレーム画像から時間t=τの前記フレーム画像までの時系列順に算出させる軌跡算出機能と、
該軌跡算出機能により算出されたM個の前記軌跡に基づいて、時間t=τ−Tの前記フレーム画像の座標から時間t=τの前記フレーム画像の座標までの移動画素数qm(m=1,2,・・・,M)を、M個の前記ターゲットピクセル毎に測定させる移動画素数測定機能と、
前記移動画素数測定機能により測定されたM個の前記移動画素数qmのうち、前記移動画素数が最も少ない画素数をμとし、前記移動画素数が最も多い画素数をγとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も近い距離をZnとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も遠い距離をZLとして、定数aおよび定数bを、
a=ZL・exp((μ/(γ−μ))log(ZL/ZN))
b=(1/(γ−μ))log(ZL/ZN)
により算出させ、
M個の前記ターゲットピクセルのそれぞれに対応する前記対象物から前記カメラまでの時間t=τにおける距離をZm(m=1,2,・・・,M)として、当該距離Zmを、前記定数aおよび前記定数bと、M個の前記移動画素数qmとに基づいて、
Zm=a・exp(−bqm)
により算出させる距離算出機能と
を実現させることを特徴とする動画像距離算出用プログラム。
移動する1台のカメラによって移動方向の正面の様子を時間t=τ−T(但し、τ>0,T>0)から時間t=τまで撮影した動画像に基づいて、当該動画像に映る対象物から前記カメラまでの距離を算出するための動画像距離算出用プログラムであって、
制御手段に、
前記動画像の時間t=τの時のフレーム画像に映る対象物の画素の1つをターゲットピクセルとして、当該フレーム画像からM個(M≧2)の異なる対象物毎に前記ターゲットピクセルを抽出させるターゲットピクセル抽出機能と、
時間t=τ−Tから時間t=τまでの複数の前記フレーム画像に基づいて、前記ターゲットピクセル抽出機能により抽出されたM個の前記ターゲットピクセルの座標の軌跡を、2次元画像を対象とする動的計画法に基づいて、時間t=τの前記フレーム画像から時間t=τ−Tの前記フレーム画像までの過去に遡る時系列順に算出させる軌跡算出機能と、
該軌跡算出機能により算出されたM個の前記軌跡に基づいて、時間t=τ−Tの前記フレーム画像の座標から時間t=τの前記フレーム画像の座標までの移動画素数qm(m=1,2,・・・,M)を、M個の前記ターゲットピクセル毎に測定させる移動画素数測定機能と、
前記移動画素数測定機能により測定されたM個の前記移動画素数qmのうち、前記移動画素数が最も少ない画素数をμとし、前記移動画素数が最も多い画素数をγとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も近い距離をZnとし、M個の前記ターゲットピクセルによりそれぞれ特定される対象物から前記カメラまでの距離のうちで最も遠い距離をZLとして、定数aおよび定数bを、
a=ZL・exp((μ/(γ−μ))log(ZL/ZN))
b=(1/(γ−μ))log(ZL/ZN)
により算出させ、
M個の前記ターゲットピクセルのそれぞれに対応する前記対象物から前記カメラまでの時間t=τにおける距離をZm(m=1,2,・・・,M)として、当該距離Zmを、前記定数aおよび前記定数bと、M個の前記移動画素数qmとに基づいて、
Zm=a・exp(−bqm)
により算出させる距離算出機能と
を実現させることを特徴とする動画像距離算出用プログラム。
【発明を実施するための形態】
【0017】
以下、本発明に係る動画像距離算出装置の一例を示し、図面を用いて詳細に説明する。
図1は、動画像距離算出装置の概略構成を示したブロック図である。動画像距離算出装置100は、記録部101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、CPU(Central Processing Unit:制御手段、領域分割手段、ターゲットピクセル抽出手段、距離算出手段、軌跡算出手段、移動画素数測定手段、距離算出手段)104とを有している。
【0018】
動画像距離算出装置100には、カメラ200が接続される。カメラ200は、例えば、車両やドローンなどに搭載される。カメラ200は、移動する車両等の進行方向正面の様子を動画像として撮影することが可能となっている。また、動画像距離算出装置100には、モニタ210が接続されている。モニタ210には、カメラ200によって撮影された動画像等を表示させることが可能になっている。
【0019】
記録部101には、カメラ200により撮影された動画像が記録される。より詳細には、複数のフレーム画像を時系列的に記録したデータとして、記録部101に動画像が記録される。例えば、時間t=1から時間t=Tまでの動画像を、カメラ200で撮影した場合を考える。カメラ200の動画像として、Δt時間毎に1枚のフレームの画像(フレーム画像)を記録できる場合には、記録部101に、T/Δt枚のフレーム画像が時系列的に記録されることになる。本実施の形態に係る記録部101では、一例として、単位時間毎のフレーム画像をT枚記録することが可能になっている。
【0020】
なお、動画像距離算出装置100あるいはカメラ200に、フレームバッファーを設けて、カメラ200で撮影された単位時間毎のフレーム画像がフレームバッファーに一時的に記録され、フレームバッファーに記録されたフレーム画像が、時系列的に記録部101に記録される構成であってもよい。また、記録部101に記録される動画像は、カメラ200によりリアルタイムに撮影された動画像には限定されず、予めカメラ200によって撮影された動画像(過去の動画像)であってもよい。
【0021】
また、カメラ200により撮影された動画像は、デジタルの動画像だけには限定されない。例えば、撮影された動画像がアナログの動画像であっても、デジタル変換処理によって、時系列的にフレーム画像を記録部101に記録させることが可能であれば、動画像距離算出装置100の距離算出処理に利用することが可能である。
【0022】
記録部101は、一般的なハードディスク等によって構成されている。なお、記録部101の構成は、ハードディスクだけに限定されるものではなく、フラッシュメモリ、SSD(Solid State Drive / Solid State Disk)などであってもよい。記録部101は、動画像を、時系列的な複数のフレーム画像として記録することが可能な記録媒体であるならば、具体的な構成は特に限定されない。
【0023】
CPU104は、記録部101に時系列的に記録された複数のフレーム画像(動画像)に基づいて、フレーム画像に映っている対象物からカメラ200までの距離を、対象物の映っている画素に応じて算出する処理を行う。CPU104は、後述する処理プログラム(
図11(a)(b)のフローチャートに基づくプログラム)に従って、特定の画素(ターゲットピクセル)毎の距離算出処理を行うが、その詳細については後述する。
【0024】
ROM102には、フレーム画像に映っている対象物からカメラ200までの距離を算出するためプログラム等が記録されている。RAM103は、CPU104の処理に利用されるワークエリアとして用いられる。
【0025】
本実施の形態に係る動画像距離算出装置100では、CPU104で実行されるプログラム(
図11(a)(b)に示すフローチャート)が、ROM102に記録される場合について説明を行う。しかしながら、これらのプログラムは、記録部101に記録されるものであってもよい。
【0026】
カメラ200は、レンズを通してカメラ正面の景色等を動画像として撮影可能な撮影手段である。動画像を撮影することが可能であれば、カメラ200の種類・構成は特に限定されない。例えば、一般的なムービーカメラであってもよく、また、スマートフォン等のカメラ機能を利用するものであってもよい。
【0027】
モニタ210は、カメラ200で撮影された動画像や、距離算出処理によりトラッキング処理された画素の軌跡が示される画像等(例えば、後述する
図7や
図8の画像等)を、ユーザに対して視認可能に表示させることが可能となっている。モニタ210には、液晶ディスプレイや、CRTディスプレイなどの一般的な表示装置が用いられる。
【0028】
次に、記録部101に時系列順に記録されたフレーム画像に基づいて、フレーム画像に映った対象物の距離を算出する考え方について説明する。
【0029】
2000年以上前に、ユークリッド(Euclid)が、動的視差(motion parallax)という視覚的現象について論じている。動的視差による視覚的現象とは、物体が等速で動いているときに、遠くの物の方が、近くの物よりも、視覚的に動きが小さくなる現象である。
図2は、移動する物体から見た正面方向の様子を模式的に示した図である。
図2に示すように、物体が前方に移動するとき、中心(
図2のA参照)に位置する物は、あまり動かない。中心以外の周辺の様子(
図2のB参照)を観察すると、遠くの物の動きは小さく、近くの物の動きは大きくなる。このような動的視差による視覚的現象は、日常的に観測される。この視覚的現象は、心理学的な研究の対象となっている。また、この視覚的現象を応用した技術が、コンピュータグラフィックスによるアニメーション処理や、パイロット運転技術教育用のシミュレータ開発などに利用されている。
【0030】
動画像距離算出装置100では、動的視差による視覚的現象を利用して、移動する車両やドローン等に搭載されたカメラによって撮影された動画像より、動画像に映っている対象物からカメラ200までの距離を算出する。
【0031】
図3は、動画像のデータとターゲットピクセルとを説明するための図である。カメラ200により撮影された動画像を、f(x,y,t)で表す。変数xの範囲は、1≦x≦Xとし、変数yの範囲は、1≦y≦Yとし、変数tは、t=1,2,・・・,Tとする。Xは、カメラ200によって撮影される動画像の横画素数を示し、Yは縦画素数を示す。f(x,y,t)は、該当する画素の値であり、通常、RGB(R:赤、G:緑、B:青)の値を示す。(x,y)は該当する画素の座標点を示し、tは時間(相対時刻)を示す。
【0032】
動画像をf(x,y,t)で示すことにより、動画像のデータを
図3のような直方体のデータとして表すことができる。
図3の最も手前の面は、時間t=1のフレーム画像f(x,y,t)(但し、1≦x≦X,1≦y≦Y)を示すことになる。このフレーム画像中のいずれかの座標(x
0,y
0)のピクセルf(x
0,y
0,1)をターゲットピクセルとする。
図3では、説明の便宜上、ターゲットピクセルが1つの場合について説明するが、ターゲットピクセルは、1つだけには限定されない。
【0033】
ターゲットピクセルが、時間tの経過とともに直方体の中でどのように動いて、時間t=Tのフレーム画像の中のいずれの画素に至るかを追跡することを考える。ターゲットピクセルの追跡を考えることにより、移動するカメラで正面の様子が撮影された場合に、動的視差の視覚的現象の観点から、動画像に記録された対象物の見え方が、どのように変化するかを検出することができる。
【0034】
図4は、時間経過に伴って変化するターゲットピクセルの追跡処理を説明するための図である。
図4には、時間t=1の時の座標(x
0,y
0)におけるターゲットピクセルf(x
0,y
0,1)と、時間t=Tの時の座標(x
*0(T),y
*0(T))におけるターゲットピクセルf(x
*0(T),y
*0(T),T)とが示されている。ターゲットピクセルの追跡を、トラッキングと称する。ターゲットピクセルが、時間t=1のフレーム画像の中の位置(x
0,y
0,1)(=(x
0,y
0))から、時間t=Tのフレーム画像の中の位置(x
*0(T),y
*0(T))へ移動した場合を考える。このとき、時間t=1から時間t=Tまでの経過時間Tによる、ターゲットピクセルの累積動的視差をq(x
0,y
0,T)とすると、累積動的視差q(x
0,y
0,T)は、
q(x
0,y
0,T)=|(x
0,y
0)−(x
*0(T),y
*0(T))|
として定めることができる。
【0035】
累積動的視差q(x
0,y
0,T)は、時間t=1のフレーム画像の座標(x
0,y
0)(=f(x
0,y
0,1)の座標)に映った対象物の現実世界の物体位置(物体点)が、時間t=Tのフレーム画像上の座標(x
*0(T),y
*0(T))に映った対象物の現実世界の物体位置(物体点)まで移動した場合における、カメラ200から現実世界の物体位置(物体点)までの距離の変化に対応するものである。累積動的視差の変化量と、カメラ200から現実世界の物体位置までの距離の変化量との対応関係を求めることにより、累積動的視差qに基づいて、カメラ200から現実世界の物体位置までの距離を求めることができる。
【0036】
図5は、累積動的視差に基づいて対象物からカメラ200までの距離を求める方法を説明するため図である。
図5の縦軸は、カメラ200から対象物までの仮想距離Zvを示す。仮想距離Zvのプラスの方向は図の下方向である。
図5の横軸は、累積動的視差qを示す。累積動的視差qのプラスの方向は、図の右方向である。カメラ200が正面方向に進むとすると、Δtの時間経過によって、仮想距離はΔZv(>0)だけ短くなり、累積動的視差は、Δq(>0または<0)だけ変化する。仮想距離Zvの値は、仮想であるゆえ、ある定数である単位累積動的視差q
0の値に対応するものとする。動的視差の特性として、動的視差の値が大きいほど、カメラ200から物体までの距離は短く、動的視差の値が小さいほど、カメラ200から物体までの距離は長い現象が存在する。このため、仮想距離Zvと累積動的視差q
0とのパラメータには、比例関係が成立する。すなわち、
図5に示す関係から、Zv:q
0=−ΔZv:Δqの比例関係が成立する。
【0037】
この比例関関係から、−q
0・ΔZv=Zv・Δqの関係式が成立し、
ΔZv/Zv=−Δq/q
0
logZv=−q/q
0+c (cは定数)と式を変形することにより
Zv=a・exp(−bq)
が成立する。ここで、a,bは正の定数である。またexp(−bq)は、自然対数の底の値(ネイピア数:Napier's constant)の−bq乗を示している。定数a,bの値が決定されると、カメラ200により撮影された動画像に基づき累積動的視差qの値を算出することにより、Zvの値を、仮想距離ではなく現実世界の距離として求めることが可能になる。
【0038】
定数a,bの値は、変数Zvと変数qとの変動範囲に基づいて決定される。Zvは、既に説明したように、カメラ200から物体位置までの仮想距離を示している。仮想距離は、対象世界(対象となる世界、対象となる環境)によって変わり得る値である。例えば、本実施の形態におけるZvの対象世界は、ターゲットピクセルの累積動的視差の値の変動に依存する、動画像の仮想的な3次元空間を対象世界としている。動画像の3次元空間(対象世界)で求められる仮想距離は、現実世界の距離とは異なる値である。このため、動画像の3次元空間(対象世界)の仮想距離Zvに対応する現実世界の距離の変動範囲を視察や他の方法で、事前に決定することにより、対象世界の距離から現実世界の距離を対応づけて求めることが可能になる。
【0039】
現実世界の距離Zを、対象世界の仮想距離Zvに対応づけることができれば、
Z=a・exp(−bq) ・・・式1
によって、現実世界の距離Zを求めることができる。つまり、現実世界におけるカメラ200から物体位置までの距離Zを求めることが可能になる。
【0040】
本実施の形態では、一例として、動画像の3次元空間(対象世界)の仮想距離Zvに対応する現実世界の距離の変動範囲を視察によって決定する。つまり、動画像の3次元空間(対象世界)の仮想距離Zvが現実世界においてどのくらいの距離範囲に含まれるかを、ユーザの目視等の観察によって決定する。
【0041】
例えば、フレーム画像に映ったM個の対象物の距離を算出する場合、動画像の3次元空間(対象世界)においてM個の仮想距離Zvが存在することになる。このM個の仮想距離Zvに対応する現実世界での距離範囲(カメラ200からM個のそれぞれの対象物までの距離が全て含まれると判断できる現実世界の距離範囲であって、目視により判断された現実世界の距離範囲)を、Z
NからZ
Lまでの距離範囲(Z
N≦Z
L)とする。仮想距離Zvの距離範囲は、Z
N≦Zv≦Z
Lで表すことができる。なお、仮想距離Zvの距離範囲を示す距離Z
Nおよび距離Z
Lは、必ずしも目視により決定される場合には限定されず、他の方法により決定されるものであっても良い。
【0042】
累積動的視差qの値の変動範囲は、個別に動画像から求められる実験的な値により決定される。つまり、先験的な情報は必要とされない。累積動的視差qの変動範囲は、動画像に映っている物体の現実世界によって左右され、かつ、時間範囲Tにも依存する変動範囲となる。ここで、累積動的視差qは、時間t=1のフレーム画像におけるターゲットピクセルが、時間t=Tのフレーム画像においてどこまで移動したかによって求めることができる。つまり、累積動的視差qは、時間t=1のフレーム画像の座標から時間t=Tのフレーム画像の座標まで移動した、ターゲットピクセルの移動画素数により求めることができる。例えば、M個の対象物のそれぞれに対応して、M個のターゲットピクセルが存在する場合には、累積動的視差(移動画素数)もターゲットピクセルの数に応じてM個求めることができる。このようにして求められたM個の累積動的視差(移動画素数)qの変動範囲を、μ≦q≦γとする。M個の移動画素数のうち最も少ない画素数がμに該当し、M個の移動画素数のうち最も多い画素数がγに該当することになる。つまり、μとγとは、動画像によって求められた複数のターゲットピクセルの移動画素数により定まる実験的な値である。
【0043】
μ,γとZ
L,Z
Nとの対応関係は、動的視差の性質に基づいて求めることができる。μはZ
Lに対応し、γはZ
Nに対応する。これは、仮想距離Zvが遠いほど、動画像の物体点(物体位置)の移動量が少なくなり、仮想距離Zvが近いほど、動画像の物体点(物体位置)の移動量が多くなるという、動的視差の性質によるものである。このように、仮想距離Zvの距離範囲のうち距離が最も短い距離Z
Nは、累積動的視差(移動画素数)qの変動範囲のうち最も移動量が多いγに対応し、仮想距離Zvの距離範囲のうち距離が最も長い距離Z
Lは、累積動的視差(移動画素数)qの変動範囲のうち最も移動量が少ないμに対応することになる。
【0044】
従って、Zv=a・exp(−bq)のZvとqの値に、μとZ
L、およびγとZ
Nとを対応づけて代入することにより、次のa,bに関する連立方程式が成立する。
【0045】
Z
L=a・exp(−bμ) ・・・式2
Z
N=a・exp(−bγ) ・・・式3
この連立方程式を解くと、下記のように、定数a,bを求めることができる。
【0046】
a=Z
L・exp((μ/(γ−μ))log(Z
L/Z
N)) ・・・式4
b=(1/(γ−μ))log(Z
L/Z
N) ・・・式5
このように、定数a,bを求めて、上述した式1に適用することによって、仮想距離Zvの値を現実世界の距離Zとして算出することが可能になる。
【0047】
次に、ターゲットピクセルのトラッキング方法について説明する。
図6は、時間t−1の時のフレーム画像から時間tの時の1つのターゲットピクセル(x,y,t)へ遷移し得るピクセル群(局所領域)、つまり、遷移対象となり得るフレーム画像のピクセル群を示した図である。2次元画像を対象とした動的計画法を用いて時間tの画素のトラッキングを行う場合には、
図6に示すように、トラッキングの対象となる時間t−1の局所領域のいずれかの画素から、時間tのターゲットピクセルへ遷移されることになる。この点で、
図6には、ピクセルトラッキングを行う2次元画像を対象とした動的計画法での局所遷移が示されていると判断できる。この局所遷移に基づいて2次元画像を対象とした動的計画法の漸化式が作られる。
【0048】
ここで、2次元画像を対象とした動的計画法とは、2つの系列間の非線形性となる対応関係を求めるための方法であって、一般的に知られる動的計画法の1つの応用例に該当する。従来の動的計画法と異なる点は、局所距離の作り方である。本実施の形態で用いる2次元画像を対象とした動的計画法では、ターゲットピクセルの画素の値と、動画像のすべての画素の値との関係において局所距離を計算する。その後、ターゲットピクセルを始点として、時間t=Tの画像のすべての画素を可能な終点として、始点から終点に至る最小の累積距離を与えるパスを、動的計画法を用いて求める。このような手法を用いることによって、時間t=1から時間t=Tまでの複数のフレーム画像にわたるターゲットピクセルの追跡を行うことが可能になる。
【0049】
2次元画像を対象とする動的計画法の漸化式は、まず、ターゲットピクセルf(x
0,y
0,1)を用いて局所距離と呼ばれる値、d(x,y,t)=|f(x
0,y
0,1)−f(x,y,t)|を計算する。d(x,y,t)の境界条件は、t≦0、または、x≦0、または、x>X、または、y≧0、または、y>Yに対して、d(x,y,t)=∞とする。また、最適な局所距離を累積することによって求められる値を最適累積距離S(x,y,t)とする。最適累積距離S(x,y,t)の初期条件を、0≦x≦X+1,0≦y≦Y+1,0≦t≦T,およびS(x
0,y
0,1)=0に対して、S(x,y,t)=∞とする。
【0050】
このような境界条件・初期条件が設定される場合、動的計画法に基づく最適累積距離の漸化式は、
【数1】
・・・式6
となる。
【0051】
ここで、N(i,j)≡{(i+α,j+β):|α|≦α
0,|β|≦β
0}と定義される。N(i,j)は、
図6に示す時間t−1のフレーム画像の格子点の集合を示しており、動的計画法による漸化式の関与する範囲を示す。
【0052】
式6に示す漸化式を、t=1からt=Tまで作用させたときの最適累積値は、S(x,y,T)のスカラー値の分布(但し、1≦x≦X,1≦y≦Y)となる。t=1からt=Tまで作用させたときの最適累積値S(x,y,T)の値が、予め設定される閾値h以下の値となり、かつ最小値となる座標を求める。この座標を(x
*0(T),y
*0(T))とすると、次の式によってこの座標を求めることができる。
【数2】
・・・式7
ここで、記号argは、最小値を与えることになる変数x,yを取り出すという操作を意味している。このとき、ターゲットピクセル(x
0,y
0)の時間Tによる累積動的視差をq(x
0,y
0,T)とすると、累積動的視差q(x
0,y
0,T)は、
q(x
0,y
0,T)=|(x
0,y
0)−(x
*0(T),y
*0(T))|
と定めることができる。この累積動的視差q(x
0,y
0,T)の関係式を用いて、ターゲットピクセルを追跡することにより、ターゲットピクセルの軌跡(トラッキング)に基づいて、カメラ200から対象物までの距離を求めることができる。
【0053】
ここで,ターゲットピクセルが動画像においてどのような軌跡をとったかは、次述する漸化式によって定めることができる。動画像におけるターゲットピクセルの軌跡は、ターゲットピクセルの変化を視覚化するための重要な情報になる。
【0054】
ターゲットピクセルの軌跡を求めるためには、到達点(x
*0(T),y
*0(T),T)から(x
*0(1),y
*0(1),1)=(x
0,y
0,1)までに至る点列を漸化式により求める。
【0055】
まず、座標(x
*0(T−1),y
*0(T−1))のターゲットピクセルを、
(x
*0(T−1), y
*0(T−1))
=(x
*0(T)+i
*,y
*0(T)+j
*)によって求める。
【0056】
この場合の(i
*,j
*)は、
【数3】
によって定まる。
【0057】
以下同様に、(x
*0(T−2),y
*0(T−2))のターゲットピクセルを、
(x
*0(T−2),y
*0(T−2))
=(x
*0(T−1)+i
*,y
*0(T−1)+j
*)によって求める。
【0058】
この場合の(i
*,j
*)は、
【数4】
によって定まる。
【0059】
このようにして、(x
*0(1),y
*0(1),1)=(x
0,y
0,1)までに至る点列のターゲットピクセルを求めるために、T回続けて計算を行うことにより、
(x
*0(1), y
*0(1),1)=(x
0,y
0,1)を求めることができる。
【0060】
次に、到達点(x
*0(T),y
*0(T),T)から(x
*0(1),y
*0(1),1)=(x
0,y
0,1)までに至る点列を、車両の進行方向の正面を撮影したカメラの動画像に適用することにより、カメラ200から対象物までの距離を計算する方法について、一例を示して説明する。
【0061】
5個(M=5)のターゲットピクセルを時間t=1のフレーム画像から抽出する。T=30として、それぞれのターゲットピクセルを、上述した方法で追跡(トラッキング)して、時間t=30(=T)におけるフレーム画像の到達点を求める。
図7は、時間t=1のフレーム画像において信号機が映る画素の1つをターゲットピクセルとして、時間t=1から時間t=30までターゲットピクセルをトラッキングさせた場合の軌跡(追跡の軌跡)が、時間t=30(=T)のフレーム画像に示された拡大図である。
図8は、異なる5個の信号機を対象物として、信号機の画素の1つをそれぞれのターゲットピクセルとして設定し、5個のターゲットピクセルを同時にトラッキングさせた場合の軌跡(追跡の軌跡)が示された、時間t=30の時のフレーム画像を示している。
【0062】
図8に示す、5個のターゲットピクセルについて、フレーム画像上の追跡距離(トラッキング軌跡の始端ピクセルの座標から終端ピクセルの座標までの軌跡距離の長さ)の変動範囲を測定する。5個のターゲットピクセルの追跡距離のうち、追跡距離が最小距離となる場合の画素数(最小画素数)が4.0ピクセル、追跡距離が最大距離となる場合の画素数(最大画素数)が30.52ピクセルであった。これらの追跡距離の画素数に基づいて、上述したμとγとの値が決定される。本実施の形態の場合には、最小画素数を示す4.0ピクセルは、上述した式2の最小距離μの値に該当し、最大画素数を示す30.52ピクセルは、上述した式3の最大距離γに該当することになる。
最小距離(μ)=4.0ピクセル、最大距離(γ)=30.52ピクセル
【0063】
また、時間t=30(=T)の時のフレーム画像に映っている5個の対象物(5個のターゲットピクセルに対応する5つの対象物)のうち、人間の視察によって、現実世界でのカメラ200から対応する5つの物体(信号機:対象物)までの距離は、最小距離となる50mから、最大距離となる100mまでの範囲に含まれている。これらの距離は、動画像に映っている対象物からカメラ200までの実際のスケール幅を示す。最小距離を示す50mは、上述した式3のZ
Nの値に対応し、最大距離を示す100mは、上述した式2のZ
Lの値に対応することになる。
最小距離(Z
N)=50m、最大距離(Z
L)=100m
【0064】
なお、既に説明した動的視差の性質に基づいて、カメラ200から対象物までの距離が遠い程(Z
L)、対応する対象物のターゲットピクセルの追跡距離が短くなり(μ)、カメラ200から対象物までの距離が近い程(Z
N)、対応する対象物のターゲットピクセルの追跡距離が長くなる(γ)。このため、μはZ
Lに対応し、γはZ
Nと対応することになり、式2、式3に示したような関係が成立することになる。
【0065】
これらのμ,γ,Z
L,Z
Nを用いて上述した式4、式5および式1を計算することによって、5個のターゲットピクセルに対応する画素点に映っている対象物からカメラ200までの現実の距離を算出することができる。
図8には、5個のターゲットピクセルの軌跡に対応して算出された現実世界の距離(現実世界のカメラ200からそれぞれの信号機までの距離)が示されている。
図8に示すように、上述したμ,γ,Z
L,Z
Nの値を用いて、式2〜式5に基づいて変数aおよびbを算出し、算出されたa,bを式1に代入することによって、各ターゲットピクセルの座標に映る対象物からカメラ200までの現実世界の距離の値を算出することができる。
【0066】
次にターゲットピクセルの選択・決定について説明する。原理的には、フレーム画像f(x,y,t)(但し、1≦x≦X,1≦y≦Y)の全てのピクセルをターゲットピクセルにすることが可能である。しかしながら、ターゲットピクセルの対象を広げすぎると距離を算出するための計算量が増加してしまう。このため、ターゲットピクセルの数が適切になるように選別・削減することが好ましい。ターゲットピクセルを適切に選別・削減する方法の一例として、公知の領域分割方法を利用する。
【0067】
既存の領域分割手法のうち最も有力な手法の一つとして、mean-shift法(中間値シフト法)と呼ばれる方法が知られている。mean-shift法は、広く知られた領域分割手法であって、Open CV(Open Source Computer Vision Library)と呼ばれる、広く公開されたオープンソースのコンピュータビジョン向けのライブラリによって提供されている。mean-shift法をフレーム画像に適用することにより、フレーム画像の画素毎のRGB値(色情報)などに基づいて、フレーム画像に映る対象物等に応じて画像領域の分割が行われる。分割された領域のうち同一領域と判断される部分については、カメラからの距離がほぼ等しいと解釈する。本実施の形態では、分割された領域(分割領域)毎に重心点を求めて、それぞれの重心点をターゲットピクセルとして決定する。このようにしてターゲットピクセルを決定することにより、カメラ200からの距離がほぼ等しいと解釈され得る領域毎に距離算出を行うことができ、ターゲットピクセルの選定を適切に行うことが可能になる。また、ターゲットピクセルの数を分割領域の数まで削減することができるので、演算負担の軽減化を図ることが可能になる。
【0068】
図9は、カメラにより撮影された風景画像に対してmean-shift法が適用された画像を示している。mean-shift法を適用することにより、フレーム画像の風景が複数の領域に分割され、同じ領域が、同じ色で示される。このようにして分割された領域毎に重心位置を求めて、該当する重心位置の画素をターゲットピクセルに設定する。
【0069】
図11(a)は、カメラにより撮影された車両正面方向の動画像に基づいて、CPU104が、カメラ200から対象物までの距離を算出する方法を示したフローチャートである。距離算出の対象となる動画像は、時間t=τ−Tから時間t=τまでのフレーム画像f(x,y,t)(1≦x≦X,1≦y≦Y,τ−T≦t≦τ)とする。
【0070】
図10は、ROM102より読み込んだプログラムに基づいて、CPU104が距離算出処理を実行する場合の各機能部を示したブロック図である。CPU104は、
図11(a)(b)に示す処理内容に応じて、領域分割部(領域分割手段)301、ターゲットピクセル抽出部(ターゲットピクセル抽出手段)302、軌跡算出部(軌跡算出手段)303、移動画素数測定部(移動画素数測定手段)304および距離算出部(距離算出手段)305として機能し、それぞれの処理を行う。
【0071】
まず、CPU104は、記録部101から時間t=τ−Tのフレーム画像を読み出して、読み出したフレーム画像に対してmean-shift法を適用し、フレーム画像の領域分割処理を行う(
図11(a)のS.1:領域分割ステップ、領域分割機能)。この処理においてCPU104は、時間t=τ−Tのフレーム画像を複数の領域に分割する領域分割部(領域分割手段)301として機能する。
【0072】
CPU104は、複数の領域に分割されたフレーム画像の領域のうち、カメラ200からの距離を測定する対象物が映る領域を求める。距離の測定対象となる対象物がM個ある場合には、M個の領域を求める。なお、Mは2以上の数とする。そして、CPU104は、M個の領域毎に重心点の座標を求めて、求められた重心点の座標の画素を時間t=τ−Tのターゲットピクセルとして、M個の領域毎に抽出する(S.2:ターゲットピクセル抽出ステップ、ターゲットピクセル抽出機能)。この処理においてCPU104は、M個のターゲットピクセルを抽出するターゲットピクセル抽出部(ターゲットピクセル抽出手段)302として機能する。
【0073】
CPU104は、時間t=τ−Tのフレーム画像において決定された複数(M個)のターゲットピクセルに基づいて、時間t=τ−Tのフレーム画像から時間t=τのフレーム画像までのターゲットピクセルの軌跡を、2次元画像を対象とする動的計画法を用いたトラッキングアルゴリズムによって算出する(S.3:軌跡算出ステップ、軌跡算出機能)。そして、CPU104は、時間t=τのフレーム画像におけるターゲットピクセルの到達点の座標(x
*0(T),y
*0(T))を決定する。この処理においてCPU104は、時間t=τ−Tのフレーム画像におけるターゲットピクセルの画素位置から時間t=τのフレーム画像におけるターゲットピクセルの画素位置までのターゲットピクセルの軌跡を、M個のターゲットピクセルに応じて算出する軌跡算出部(軌跡算出手段)303として機能する。
【0074】
なお、CPU104において、時間t=τのフレーム画像に対してmean-shift法を適用して、時間t=τのフレーム画像の領域分割処理を行った場合、時間t=τ−Tのフレーム画像においてターゲットピクセルが属する分割領域と、時間t=τのフレーム画像において対応するターゲットピクセルが到達した画素点の分割領域とは、通常一致することになる。
【0075】
CPU104は、時間t=τ−Tのフレーム画像の画素位置から時間t=τのフレーム画像の画素位置までの、ターゲットピクセルの追跡距離(移動距離)の長さ(画素数)を、M個のターゲットピクセル毎に測定する(S.4:移動画素数測定ステップ、移動画素数測定機能)。この処理においてCPU104は、時間t=τのフレーム画像において、M個のターゲットピクセルの移動距離を、移動画素数q
m(m=1,2,・・・,M)として測定する移動画素数測定部(移動画素数測定手段)304として機能する。
【0076】
CPU104は、求められたM個のフレーム画像の移動画素数q
mのうち、最も移動画素数が少ない画素数を前述したμとし、最も移動画素数が多い画素数を前述したγとする。さらに、移動画素数が最も多い画素数のターゲットピクセルにより特定される対象物からカメラ200までの、時間t=τにおける現実世界の距離を、目視により決定してZ
nとする。また、移動画素数が最も少ない画素数のターゲットピクセルにより特定される対象物からカメラ200までの、時間t=τにおける現実世界の距離を、目視により決定してZ
Lとする。
【0077】
そして、CPU104は、設定されたμ,γ,Z
N,Z
Lを用いて、上述した式4および式5に値を代入することにより、定数aおよび定数bを求めて、求められた定数aおよび定数bと、M個のターゲットピクセル毎の移動画素数q
m(m=1,2,・・・,M)とを用いて、それぞれのターゲットピクセルに該当する対象物からカメラ200までの時間t=τにおける現実世界の距離を算出する(S.5:距離算出ステップ、距離算出機能)。
【0078】
この処理においてCPU104は、設定されたμ,γ,Z
N,Z
Lに基づいて求められた定数a,bと、ターゲットピクセル毎の移動画素数q
mとに基づいて、各対象物からカメラ200までの現実世界の距離を算出する距離算出部(距離算出手段)305として機能する。
【0079】
このようにして、CPU104は、カメラ200により撮影された動画像に基づいて、動画像に映った対象物からカメラ200までの時間t=τにおける現実世界の距離を算出する。時間t=τのフレーム画像において、分割された領域(分割領域)の同定を行うことにより、それぞれの分割領域に映る対象物が、信号機、看板、道路、壁、木、建物等のどのような物に該当するかを分類することができ、カメラ200から分類された各対象物までの距離情報を、パラメータとして求めることができる。このようにして求められたパラメータは、例えば、自動車等の自動運転制御等における重要な制御パラメータとして利用することが可能になる。
【0080】
以上、本発明に係る動画像距離算出装置および動画像距離算出用プログラムについて、図面を用いて詳細に説明したが、本発明に係る動画像距離算出装置および動画像距離算出用プログラムは、実施の形態に示した動画像距離算出装置100の構成例等には限定されない。実施の形態において説明したターゲットピクセルのトラッキング処理では、mean-shift法により分割された領域の重心点に基づいて、ターゲットピクセルを決定する方法を説明した。しかしながら、ターゲットピクセルは、必ずしも分割領域の重心点に基づいて決定されるものに限定されない。
【0081】
例えば、最適累積値S(x,y,t)と予め設定される閾値hとを用いて、
S(x,y,t)/t≦h
の条件を満たす領域をR(x,y,t)とする。この領域の重心の座標をr(x
*,y
*,t)として、r(x
*,y
*,t)をターゲットピクセルに決定する方法を用いてもよい。従って、ターゲットピクセルのトラッキング処理は、r(x
*,y
*,t)を用いて、t=1,2,・・・,Tのトラッキングを行うことになる。ここで、R(x,y,t)を求めるために、最小累積値S(x,y,t)を時間tで除算する処理は、最小累積値を時間の長さで正規化する処理に該当する。また、閾値hは、経験的に定まる定数である。
【0082】
分割領域の重心点によってターゲットピクセルを決定しても、分割領域内にはターゲットピクセルに類似する画素が存在している。このため、トラッキングされるターゲットピクセルの画素位置の周辺にも、類似の積分値を備える画素が存在することになる。従って、閾値h以下となる正規化された最小累積値の値(S(x,y,t)/t)も、分割された領域を示すことになり、この領域の重心の座標をターゲットピクセルに決定することによって、トラッキング処理により求められるターゲットピクセルの信頼性を高めることになる。
【0083】
また、S(x,y,t)/t≦hの条件を満たす領域をR(x,y,t)として、この領域の重心の座標をトラッキングすることにより、バックトレースの視覚化を行いやすくなり、トラッキングが正確に行われているか判断しやすくすることができる。
【0084】
さらに、従来のトラッキング手法では、動画像に映る対象物毎に個別にトラッキング処理を行う必要があったが、本発明に係る動画像距離算出装置および動画像距離算出用プログラムでは、
図8に示したように、複数の対象物(より詳細には、複数のターゲットピクセル)について、同時にトラッキング処理を行うことが可能である。
【0085】
例えば、複数の対象物毎のターゲットピクセルをf(x
m,y
m,t)(但し、m=1,2,・・・,M)とする。ここで、mは、対象物を区別するための番号であり、Mはその対象物の総数である。
【0086】
この対象物毎のターゲットピクセルをトラッキングするための動的計画法の漸化式では、局所距離d
m(x,y,t)を
d
m(x,y,t)=|f(x
m,y
m,1)−f(x,y,t)|
とし、最小累積値S(x,y,t)を
【数5】
とする。さらに、トラッキング処理の対象となるターゲットピクセルを、S(x,y,t)/tの値が閾値h以下となる複数の局所的領域の重心に決定する。
【0087】
このようにして、複数の対象物毎にターゲットピクセルを決定することにより、それぞれの対象物からカメラまでの距離を、トラッキングされるターゲットピクセル軌跡の終端から始端までの経路距離(軌跡のピクセル距離)を用いて、対象物毎に求めることが可能になる。
【0088】
また、実施の形態に係る動画像距離算出装置100では、
図11(a)に示すように、CPU104が、過去から現在に向けて経時的に変化する(時間t=τ−Tから時間t=τまで変化する)動画像のフレーム画像に基づいて、ターゲットピクセルのトラッキング処理を行う場合について説明した。しかしながら、ターゲットピクセルのトラッキング処理を行う場合に、時間t=τから過去の時間t=τ−Tへと時間を遡るようにして、動画像のフレーム画像におけるターゲットピクセルのトラッキング処理を行うことも可能である。
【0089】
図11(b)は、CPU104が、時間t=τから時間t=τ−Tまで、時間tを過去に遡るようにしてターゲットピクセルのトラッキング処理を行う場合の処理内容を示したフローチャートである。CPU104は、時間t=τのフレーム画像に対して、mean-shift法を適用することにより、領域分割を行う(S.11:領域分割ステップ、領域分割機能)。
【0090】
そして、CPU104は、求められた分割領域の中から対象物が映るM個の領域を求めて、M個の領域毎に重心点の画素をターゲットピクセルとして抽出する(S.12:ターゲットピクセル抽出ステップ、ターゲットピクセル抽出機能)。例えば、抽出されたM個のターゲットピクセルの1つの画素を(x
*0(τ),y
*0(τ))とする。
【0091】
CPU104は、時間t=τから時間t=τ−Tまでの動画像に基づいて、ターゲットピクセルのトラッキング処理を行う(S.13:軌跡算出ステップ、軌跡算出機能)。このトラッキング処理により、時間t=τから時間t=τ−Tまでの過去に遡る時系列により、ターゲットピクセルの軌跡を求めることになる。時間t=τ−Tのフレーム画像におけるM個のターゲットピクセルのうちの1つの画素の到達点を(x
*0(τ−T),y
*0(τ−T))とする。CPU104は、時間t=τから時間t=τ−Tまでの軌跡によるターゲットピクセルの累積動的視差の値q(x
*0(τ),y
*0(τ))を、
q(x
*0(τ),y
*0(τ))
=|(x
*0(τ)−y
*0(τ))−(x
*0(τ−T),y
*0(τ−T))|
より求める。この累積動的視差の値q(x
*0(τ),y
*0(τ))は既に説明した移動画素数q
mに該当する。従って、CPU104はこの処理により、移動画素数の測定を行うことになる(S.14:移動画素数測定ステップ、移動画素数測定機能)。
【0092】
そして、CPU104は、求められた累積動的視差の値q(x
*0(τ),y
*0(τ))に基づいて、時間t=τのフレーム画像に映る対象物の距離を算出する(S.15:距離算出ステップ、距離算出機能)。時間t=τにおける対象物からカメラ200までの現実世界の距離は、
d(x
*0(τ),y
*0(τ))
=a・exp(−bq(x
*0(τ),y
*0(τ)))
により求めることができる。
【0093】
この式は、式1に示したZ=a・exp(−bq)に対応する。
【0094】
このようにして、時間t=τから過去の時間t=τ−Tへと時間を遡るようにして、動画像のフレーム画像におけるターゲットピクセルのトラッキング処理を行って現実世界の距離を求めることにより、2つの利点が生じる。
【0095】
まず、時間t=τのフレーム画像における分割領域は、フレーム画像に映る対象物までの距離が近いこともあって、比較的広い領域となる傾向がある。このため、ターゲットピクセルを、より安定した分割領域に基づいて決定することが可能になるという利点が生じる。
【0096】
次に、時間t=τから過去の時間t=τ−Tへと時間を遡るようにして、ターゲットピクセルのトラッキングを行うため、時間が遡ってもターゲットピクセルが動画像のフレームから外れてしまう現象が生じ難いという利点が生じる。時間t=τ−Tから時間t=τへと変化する動画像では、カメラ200の進行に伴って、時間t=τ−Tのフレーム画像に存在していたターゲットピクセルが、時間t=τになる前にフレーム画像から外れてしまい、時間t=τのフレーム画像に存在しない可能性も生じ得る。しかしながら、時間t=τから過去の時間t=τ−Tへと時間を遡るようにして、ターゲットピクセルのトラッキングを行う場合には、ターゲットピクセルが画面の中心方向へと移動する傾向となるため、ターゲットピクセルの移動量が僅かになっても、フレーム画像内に存在する可能性が高い。
【0097】
また、同様に、ターゲットピクセルの決定が行われた分割領域も、時間t=τ−Tのフレーム画像内に存在する可能性が高い。このため、時間t=τから過去の時間t=τ−Tへと時間を遡るようにして、ターゲットピクセルのトラッキングを行う場合には、ターゲットピクセルおよび分割領域がフレーム画像から外れてしまうという現象に対処する必要性が低減されるという利点が生じる。
【0098】
なお、時間を遡るようにしてターゲットピクセルのトラッキングを行う場合、終端のピクセルが正しいターゲットピクセルと必ず同じピクセルになるとは保証できないが、この点に関しては、時間t=τ−Tから時間t=τへと経時的にターゲットピクセルのトラッキングを行う場合であっても同様である。
【0099】
また、実施の形態に係る動画像距離算出装置100において、ターゲットピクセルのトラッキング処理を安定的に行うために、以下の方法を用いることも可能である。
【0100】
まず、実施の形態に係る画像距離算出装置100では、分割された領域(分割領域)毎に重心点を求めて、それぞれの重心点をターゲットピクセルとして決定する場合について説明した。しかしながら、分割領域の形状が、例えば、Lの字形状である場合、重心点が分割領域の外側に存在する場合が生じ得る。このような場合には、分割領域の外側の座標がターゲットピクセルとして決定されてしまうおそれがある。このため、領域内の画素に対して端から順番に番号を付加し、その領域の全ての画素数の半分の値に該当する番号(その領域の画素の番号のうち中間の番号に該当する)の画素を、ターゲットピクセルに決定する。このようにしてターゲットピクセルを決定することによって、分割領域内の画素をターゲットピクセルとして確実に決定することができる。
【0101】
次に、決定されたターゲットピクセルの座標を、
図11(b)のS.12において設定したように、(x
*0(τ), y
*0(τ))とするときに、ターゲットピクセルの値を1つの画素の値だけで定めるのではなく、ターゲットピクセルの座標の上下左右の画素の値の平均値によって決定することも可能である。
【0102】
例えば、ターゲットピクセルの座標(x
*0(τ), y
*0(τ))の上下左右の座標を含む、5つの座標点の平均値を用いて、ターゲットピクセルの値P(x
*0(τ),y
*0(τ))を決定する場合には、
【数6】
・・・式8
により値を決定することができる。このように複数の座標の値の平均値によりターゲットピクセルの値を決定することにより、より安定した値を得ることが可能になる。
【0103】
さらに、上述した局所距離の算出において、実施の形態に係る画像距離算出装置100では、ターゲットピクセルの値をf(x
0,y
0,1)として、局所距離を、ターゲットピクセルの値と、時間tの対象となる画素の値とのユークリット距離により算出して、
局所距離d(x,y,t)=|f(x
0,y
0,1)−f(x,y,t)|
によって求める場合について説明した。
【0104】
しかしながら、局所距離の算出は、この方法には限定されない。例えば、2つの画素のコサイン相関関数を用いて距離値を算出することにより、局所距離を求めることも可能である。すなわち局所距離d(x,y,t)を、
【数7】
・・・式9
により求めることができる。
【0105】
式9の分子に示す<f(x,y,t),P(x
*0(τ),y
*0(τ))>は、RGBのベクトルの内積を示している。相関値は常にゼロと1との間の値を取るため、式9により求められる値は、画素の値の絶対的な変動に対して安定して求められることになる。このため、式9により算出された局所距離は、フレーム画像に発生し得るノイズ等の影響を受け難いという特徴を備える。
【0106】
式9の場合の時間tのパラメータは、
図11(b)を示して既に説明したように、τ−T≦t≦τとなるが、計算の進行は、時間τから時間τ−Tまでの過去に遡るようにして、時間tが進行することにより行われる。すなわち、時間tは、時間t=τ,τ−1,τ−2,・・・,τ−Tと進行し、ターゲットピクセルに到達する時間tは、時間t=τ−Tとなる。
【0107】
また、ターゲットピクセルのトラッキング処理においてバックトレースを視覚化することにより、トラッキングが正確に行われているか判断し易くなる。この点においては、既に説明したように、S(x,y,t)/t≦hの条件を満たす領域をR(x,y,t)として、この領域の重心の座標をトラッキングすることにより、バックトレースの視覚化を行い易くすることができる。