説明

運動算出装置及び運動算出方法

【課題】自装置の運動を安定に算出することができる運動算出装置及び運動算出方法を提供する。
【解決手段】運動算出装置10が、平面を含む範囲を撮像し、撮像した画像を出力する撮像部11と、平面が撮像されている領域を、画像から抽出する抽出部13と、撮像部11が所定の時間間隔で撮像した複数の画像から、特徴点と当該特徴点の移動ベクトルとを検出する追尾部12と、特徴点についてのエピポーラ拘束と、第1領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する算出部14と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像された画像に基づいて、自装置の運動を算出する運動算出装置及び運動算出方法に関する。
【背景技術】
【0002】
画像撮像手段が撮像した画像についてのエピポーラ拘束に基づいて、その画像撮像手段を備えた移動体の運動を計測する運動計測装置が、特許文献1に開示されている。
【0003】
また、カメラが撮像した画像についてのホモグラフィに基づいて、そのカメラを備えた輸送手段の運動(エゴモーション)を予測するシステムが、特許文献2に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−350897号公報
【特許文献2】特表2003−515827号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、撮像部が撮像した画像において、例えば、静止している物体に対応する特徴点が少ない場合、特許文献1に開示された運動計測装置は、その特徴点についてのエピポーラ拘束に基づいて、自装置の運動を算出することができないという問題があった。
【0006】
また、撮像部が撮像した画像において、例えば、平面が撮像されている領域にテクスチャが不十分な場合、特許文献2に開示されたシステムは、その平面についてのホモグラフィに基づいて、自装置の運動を算出することができないという問題があった。
【0007】
本発明は、前記の諸点に鑑みてなされたものであり、自装置の運動を安定に算出することができる運動算出装置及び運動算出方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するためになされたものであり、平面を含む範囲を撮像し、撮像した画像を出力する撮像部と、前記平面が撮像されている領域を、前記画像から抽出する抽出部と、前記撮像部が所定の時間間隔で撮像した複数の前記画像から、特徴点と当該特徴点の移動ベクトルとを検出する検出部と、前記特徴点についてのエピポーラ拘束と、前記領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する算出部と、を備えることを特徴とする運動算出装置である。
【0009】
前記算出部は、前記エピポーラ拘束及び前記ホモグラフィに基づくコスト関数を最小化することにより、前記運動を算出することを特徴とする運動算出装置である。
【0010】
自装置の運動を算出する運動算出装置における運動算出方法であって、撮像部が、平面を含む範囲を撮像し、撮像した画像を出力する過程と、抽出部が、前記平面が撮像されている領域を、前記画像から抽出する過程と、検出部が、前記撮像部が所定の時間間隔で撮像した複数の前記画像から、特徴点と当該特徴点の移動ベクトルとを検出する過程と、算出部が、前記特徴点についてのエピポーラ拘束と、前記領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する過程と、を含むことを特徴とする運動算出方法である。
【発明の効果】
【0011】
本発明によれば、運動算出装置は、画像における特徴点についてのエピポーラ拘束と、平面が撮像されている領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する。これにより、運動算出装置は、エピポーラ拘束及びホモグラフィのいずれか一方のみに基づいて自装置の運動を算出する場合と比較して、自装置の運動を安定に算出することができる。
【図面の簡単な説明】
【0012】
【図1】一実施形態における、カメラシステムの構成を示すブロック図である。
【図2】一実施形態における、運動算出装置の動作手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
[第1実施形態]
本発明の第1実施形態について図面を参照して詳細に説明する。図1には、カメラシステムの構成がブロック図で示されている。カメラシステムは、移動体に備えられる。移動体は、例えば、車両である。カメラシステムは、運動算出装置10と、制御装置20とを備える。
【0014】
運動算出装置10は、平面(例えば、地面)を含む範囲を撮像し、撮像した画像に基づいて、自装置の運動(以下、「カメラモーション」という)を算出する。また、運動算出装置10は、算出したカメラモーションを制御装置20に出力する。
【0015】
運動算出装置10は、撮像部11と、追尾部(検出部)12と、抽出部13と、算出部14とを備える。撮像部11は、受光素子を備え、その受光面に複数の画素を備える。受光面には、光学系によって、光学像が結像される。撮像部11は、平面を含む範囲を所定周期で撮像し、撮像した画像を追尾部12及び抽出部13に出力する。以下、時刻tに撮像部11が撮像した画像Iを、画像Iと表記する。また、以下、撮像部11の主点を原点とする座標系であって、光軸方向をZ軸とする座標系を「カメラ座標系」という。また、カメラ座標系の座標(x,y)に入射した光の方向を、方向ベクトルp=[x,y,1]と表記する(上付きTは、転置を意味する)。また、画像Iを構成する点pの画素値を、方向ベクトルpを用いて、I(p)と表記する。なお、画素値は、周辺画素の画素値から補間されることで算出されてもよい。また、撮像部11は、事前にキャリブレーションされているものとする。
【0016】
追尾部12には、撮像部11が所定周期で撮像した画像Iが入力される。追尾部12は、ハリスオペレータ等を用い、画像Iから特徴点を検出する。また、追尾部12は、その特徴点の移動ベクトルを検出する。以下、追尾部12が抽出した特徴点の集合を、集合Sと表記する。追尾部12は、時刻t−1に撮像された画像It−1に含まれる特徴点の集合Stー1を構成するk番目の特徴点pについて、画像Iに撮像された観測シーン(例えば、被写体)における同一位置に対応する対応点qを、Lucas−Kanade法などを用いて検出する。以下、特徴点対応(p,q)の集合を、Ψと表記する。
【0017】
また、追尾部12は、RANSAC(RANdom SAmple Consensus)等を用い、静的背景(例えば、撮像された地面又は建造物)に含まれる特徴点についてのエピポーラ拘束に従わない特徴点対応(p,q)を、Ψから除外する。また、追尾部12は、特徴点対応の集合Ψを算出部14に出力する。追尾部12は、これらの処理を画像I毎に実行することで、画像内で特徴点を追尾する。
【0018】
算出部14には、特徴点対応の集合Ψが追尾部12から入力される。また、算出部14には、画像Iにおいて平面が撮像されている領域(以下、「平面領域」という)が、抽出部13から入力される。ここで、平面領域は、画像Iが分割された複数のブロックの集合Π={B|i=1…m}により表現されるものとする。なお、集合Πの初期値は、予め定められているものとする。例えば、運動算出装置10が車両に備えられている場合、平面領域Πの初期値は、画像Iにおいて地面が撮像されている頻度が高い領域(例えば、画像の下半分)のブロック{B|i=1…m}に定められる。
【0019】
また、算出部14は、所定の位置を原点とするX−Y−Z座標系における平面nX+nY+nZ=1を示す3次元パラメータのベクトルn=[n,n,nを記憶する。ここで、ベクトルnの初期値nは、移動体が接地する平面に対する運動算出装置10の取り付け姿勢に基づいて、予め定められる。例えば、初期値nは、車両が接地する地面に対する運動算出装置10の取り付け姿勢に基づいて、予め定められる。
【0020】
算出部14は、特徴点についてのエピポーラ拘束と、平面領域についてのホモグラフィと、の両方に基づいて、カメラモーション、及び自装置に対する平面の姿勢(以下、「平面姿勢」という)を算出する。具体的には、算出部14は、特徴点対応の集合Ψと平面領域Πとの両方に基づくコスト関数を最小化することにより、カメラモーション及び平面姿勢を示すパラメータμ=[ω,t,n]を算出する。ここで、カメラモーションは、回転パラメータω=[ω,ω,ω]と、並進ベクトルt=[t,t,t]とから成る。また、平面姿勢は、n=[n,n,n]で表される。
【0021】
また、コスト関数は、式(1)で表される。
【0022】
【数1】

【0023】
式(1)において、[t]は、3×3行列で表されるベクトルtの外積オペレータである。また、R(ω)は、回転パラメータωにより定まる回転行列である。また、第1項のワープ関数Wは、平面領域についてのホモグラフィ変換を示し、カメラモーション及び平面姿勢を示すパラメータμに応じて定まる関数である。また、第1項は、ホモグラフィ拘束項と呼ばれ、画像It−1の平面領域から画像Iの平面領域へのホモグラフィ変換における誤差を表す。
【0024】
ここで、運動算出装置10が運動したことにより、画像It−1の平面領域における特徴点pが、画像Iの平面領域における特徴点qに移動したとする。この場合、特徴点pと特徴点qとには、式(2)に示す関係が成り立つ。
【0025】
【数2】

【0026】
式(2)において、記号「〜」は、両辺のベクトルが、平行であり且つスケール以外が等しいことを表す。また、ベクトルp及びベクトルnは、時刻t−1におけるカメラ座標系により表される。一方、ベクトルq及びベクトルtは、時刻tにおけるカメラ座標系により表される。
【0027】
ここで、3×3行列であるH=R(ω)−tnを考える。行列Hの行ベクトルを、それぞれh、h、hと表記すれば、特徴点p=[x,y,1]から対応点q=[x’,y’,1]への変換を表すワープ関数Wは、式(3)で表される。
【0028】
【数3】

【0029】
また、式(1)の第2項は、エピポーラ拘束項と呼ばれ、エピポーラ拘束を表す。座標pから座標qに特徴点が移動した場合、エピポーラ拘束により、式(4)が満たされる。
【0030】
【数4】

【0031】
一般に、パラメータの誤差、ベクトルp、及びベクトルqの観測誤差により、左辺は値「0」とはならないので、式(4)の左辺は、エピポーラ拘束に対する代数的誤差と考えられる。よって、式(1)の第2項は、エピポーラ拘束に関する二乗誤差の和を表す。
【0032】
また、式(1)の第3項は、並進ベクトルの大きさをvとする正則化項である。ここで、式(1)のα、β、及びλは、重み係数である。式(1)の第3項は、並進ベクトルtのスケール曖昧性を解決するために、式(1)に加えられている。例えば、移動体の速度情報が得られない場合には、v=1としてもよい。この場合、運動算出装置10から平面までの推定距離、及び運動算出装置10から各特徴点までの推定距離は、並進ベクトルtのノルムに比例する値となる。
【0033】
算出部14は、コスト関数を最小化するため、変量δを用いて、パラメータμの推定値を改善する。算出部14は、例えば、ガウス・ニュートン法により、コスト関数の値を最小化する。
【0034】
式(1)の各二乗誤差の内部を、パラメータμの変量δについて一次近似すると、式(5)が成り立つ。ここで、r、r及びrは、それぞれ式(5)の各項のパラメータμについての残差である。また、rは、式(6)で表され、rは、式(7)で表され、rは、式(8)で表される。
【0035】
【数5】

【0036】
また、式(9)と置けば、特徴点pでのヤコビアンJは、現在のパラメータ推定値μ=[ω,t,n]を用いて、式(10)で表される。
【0037】
【数6】

【0038】
【数7】

【0039】
式(5)の第2項の微分に現れるJは、式(11)で表される。ここで、式(12)が成り立つ。また、式(5)の第3項の微分に現れるJは、式(13)で表される。
【0040】
【数8】

【0041】
式(5)のδについての微分を値「0」と置くと、式(14)が成り立つ。
【0042】
【数9】

【0043】
δについて整理すると、式(14)は、式(15)で表される。
【0044】
【数10】

【0045】
式(15)の左辺は、9×9行列と9次元パラメータベクトルδとの積である。また、式(15)の右辺は、9次元ベクトルである。このように、式(15)は、線形連立方程式となっているため、δについて解くことができる。このδは、パラメータ推定値μの最適値の近似値(μ+δ)を与える。
【0046】
このように、算出部14は、コスト関数の値が改善しなくなるまで、パラメータの推定値μの更新を繰り返し、コスト関数の値が改善しなくなった場合に、解が収束したと判定する。また、解が収束した場合、算出部14は、パラメータの推定値μ=[ω,t,n]を抽出部13に出力する。
【0047】
重み係数α、β、及びλは、経験的に定められた値でもよいが、次のように定められてもよい。式(1)の各項が二乗誤差最小化の形であるため、式(1)に表されたコスト関数は、各誤差r、r及びrについての確率分布に基づく負の対数尤度を表す式(I)の形になっていると捉えることができる。
【0048】
【数11】

【0049】
式(I)において、記法p(r|A)は、条件Aの下で、観測値rが発生する確率密度を表す。また、式(I)の第1項の添え字pは、画像に含まれる点p毎の確率密度関数であることを表す。また、式(I)の第2項のpの添え字p及びqは、特徴点対応(p,q)毎の確率分布関数であることを表す。
【0050】
各項の確率分布を正規分布と仮定すると、式(I)は、式(II)で表される。
【0051】
【数12】

【0052】
式(II)において、記法A|は、画像に含まれる点pについて、式Aを評価することを表す。また、記法A|(p,q)は、画像に含まれる特徴点対応(p,q)について、式Aを評価することを表す。また、σは、ホモグラフィ変換についての誤差の標準偏差である。また、σは、エピポーラ拘束についての誤差の標準偏差である。また、σは、速度についての誤差の標準偏差である。なお、定数項Cは、式(II)の最小化については無関係であるため、無視してよい。
【0053】
式(II)を最小化すれば、観測値の尤度を最大化するパラメータが推定される。ゆえに、ノイズ標準偏差σ、σ、σが与えられた場合、式(1)のα、β、γは、それぞれσ、σ、σの二乗の逆数とするのが、最尤値を推定する意味で最適である。
【0054】
このように、画像における輝度、勾配、及び特徴点の位置などの情報とノイズ標準偏差との関係を近似したモデル(式(II))を用いて、重み係数α、β、及びλを定めることにより、重み係数を経験的に定めた場合と比較して、カメラモーション及び平面姿勢を推定する性能の改善が期待できる。
【0055】
図1に戻り、構成の説明を続ける。抽出部13には、算出部14が算出したパラメータの推定値μが入力される。また、抽出部13には、撮像部11が所定周期で撮像した画像Iが入力される。抽出部13は、平面が撮像されている領域を画像Iから抽出するため、予め定められた大きさの複数のブロックに画像Iを分割する。また、抽出部13は、平面姿勢のパラメータ(ベクトル)nについての推定を各ブロックに対して実行し、平面姿勢と一致するブロックの集合を、平面領域として抽出する。
【0056】
また、式(1)において平面姿勢に関係する唯一の項である第1項を、平面姿勢についてのコスト関数として採用する。平面姿勢についてのコスト関数は、式(16)で表される。
【0057】
【数13】

【0058】
ブロックBの平面姿勢のパラメータnについて、式(16)のコスト関数の値を最小化する。ここで、パラメータnは、式(1)の場合と同様に、式(15)の両辺のそれぞれにおいて平面姿勢に関係する第1項についての連立方程式(17)を解くことで更新される。
【0059】
【数14】

【0060】
式(17)において、J’は、平面姿勢のパラメータnに関する3成分のみを持つベクトルである。また、δ’は、平面姿勢のパラメータnに関する3成分を更新するための3次元ベクトルである。すなわち、J’は、式(10)に含まれている3成分であり、式(18)で表される。
【0061】
【数15】

【0062】
式(17)の左辺は、3×3正方行列と3次元ベクトルδ’との積である。また、式(17)の右辺は、3次元ベクトルである。したがって、線形連立方程式の解として、δ’が算出される。
【0063】
抽出部13は、ブロックBの平面姿勢のパラメータnと、平面領域全体の平面姿勢のパラメータnとの差を算出する。平面姿勢のパラメータnと平面姿勢のパラメータnとの差が、所定の閾値以下である場合、抽出部13は、そのブロックBを平面領域に属するブロックであると判定し、そのブロックBをブロックの集合Πに含めることで、集合Πを更新する。ここで、所定の閾値とは、例えば、パラメータnとパラメータnとのユークリッド距離|n−n|である。また、抽出部13は、更新した集合Πを算出部14に出力する。
【0064】
算出部14は、抽出部13が更新した集合Πに基づいて、カメラモーション及び平面姿勢に含まれる9つのパラメータを算出する。ここで、算出部14は、式(1)に表されたコスト関数の値が改善しなくなることを停止条件として、この停止条件が成立するまで、カメラモーション及び平面姿勢に含まれる9つのパラメータの算出を繰り返す。また、算出部14は、最終的に算出したカメラモーション及び平面姿勢を、制御装置20に出力する。
【0065】
ここで、平面領域を表すブロックの数が少なくなるに従い、式(1)に表されたコスト関数の値は小さくなる。また、平面領域を表すブロックの数が少なくなるに従い、カメラモーション及び平面姿勢を推定する精度は低くなる。そこで、カメラモーション及び平面姿勢を算出する処理を停止させるための停止条件には、式(1)の第1項をブロック数で正規化した式(19)を用いるとよい。
【0066】
【数16】

【0067】
制御装置20には、カメラモーション及び平面姿勢が、運動算出装置10の算出部14から入力される。制御装置20は、カメラモーション及び平面姿勢に基づいて、所定の処理を実行する。ここで、所定の処理とは、例えば、カメラモーションに基づいて、特徴点の3次元位置を三角測量により算出し、算出した特徴点の塊が、平面姿勢に基づく平面領域以外に位置する塊である場合には、その塊を障害物として画面(不図示)に表示する処理である。また、例えば、所定の処理とは、平面領域以外に位置する塊を回避するよう、移動体に回避指示を出す処理であってもよい。この場合、所定の処理とは、カメラシステム(運動算出装置10及び制御装置20)を備えた車両に、前方を走行している他の車両を回避するよう回避指示を出す処理であってもよい。
【0068】
次に、運動算出装置10の動作手順を説明する。
図2は、一実施形態における、運動算出装置の動作手順を示すフローチャートである。算出部14は、カメラモーション及び平面姿勢の推定値μを初期化する(ステップS1)。そして、撮像部11は、平面を含む範囲を撮像する(ステップS2)。また、追尾部12は、画像内で特徴点pを追尾する。さらに、追尾部12は、特徴点対応の集合Ψを算出部14に出力する(ステップS3)。また、算出部14は、カメラモーション及び平面姿勢の推定値μを算出する(ステップS4)。
【0069】
抽出部13は、平面領域を抽出する(ステップS5)。そして、算出部14は、カメラモーション及び平面姿勢の推定値μを算出する(ステップS6)。また、算出部14は、解が収束したか否かを判定する(ステップS7)。解が収束していない場合(ステップS7−No)、算出部14の動作は、ステップS5に戻る。一方、解が収束した場合(ステップS7−Yes)、算出部14は、算出したカメラモーション及び平面姿勢を、制御装置20に出力する。そして、制御装置20は、所定の処理(シーン解析、表示、警告、制御等)を実行する(ステップS7)。
【0070】
以上のように、運動算出装置10は、平面を含む範囲を撮像し、撮像した画像を出力する撮像部11と、平面が撮像されている領域を、画像から抽出する抽出部13と、撮像部11が所定の時間間隔で撮像した複数の画像から、特徴点と当該特徴点の移動ベクトルとを検出する追尾部12と、特徴点についてのエピポーラ拘束と、領域についてのホモグラフィと、の両方に基づいて、自装置の運動(カメラモーション)を算出する算出部14と、を備える。
【0071】
これにより、運動算出装置は、エピポーラ拘束及びホモグラフィのいずれか一方のみに基づいてカメラモーションを算出する場合と比較して、カメラモーションを安定に算出することができる。
【0072】
また、算出部14は、エピポーラ拘束及びホモグラフィに基づくコスト関数を最小化することにより、自装置の運動を算出する。これにより、運動算出装置は、コスト関数に基づいて、カメラモーションを安定に算出することができる。
【0073】
[第2実施形態]
本発明の第2実施形態について図面を参照して詳細に説明する。第2実施形態では、コスト関数の正則項が、第1実施形態と異なる。以下では、第1実施形態との相違点についてのみ説明する。
【0074】
撮像部11(図1を参照)の主点から平面までの距離dが、ほぼ一定であると想定される場合、式(1)の正則項(第3項)に自装置の速度情報(並進ベクトルの大きさ)vを含めなくてよい。撮像部11の主点から、nP=1で表される平面までの距離dは、d=−1/|n|という関係により、|n|=d−2が成り立つ。したがって、撮像部11の主点から平面までの距離dが、ほぼ一定であると想定される場合、コスト関数は、式(20)で表される。
【0075】
【数17】

【0076】
また、算出部14は、式(8)の代わりに式(21)を用いて、コスト関数の値を最小化する。
【0077】
【数18】

【0078】
また、算出部14は、式(13)の代わりに式(22)を用いて、コスト関数の値を最小化する。
【0079】
以上のように、算出部14は、自装置の速度情報vを含まないコスト関数を最小化することにより、自装置の運動を算出する。これにより、運動算出装置は、速度情報vを用いずに、カメラモーションを安定に算出することができる。
【0080】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0081】
なお、以上に説明した運動算出装置を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0082】
10…運動算出装置、11…撮像部、12…追尾部(検出部)、13…抽出部、14…算出部、20…制御装置

【特許請求の範囲】
【請求項1】
平面を含む範囲を撮像し、撮像した画像を出力する撮像部と、
前記平面が撮像されている領域を、前記画像から抽出する抽出部と、
前記撮像部が所定の時間間隔で撮像した複数の前記画像から、特徴点と当該特徴点の移動ベクトルとを検出する検出部と、
前記特徴点についてのエピポーラ拘束と、前記領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する算出部と、
を備えることを特徴とする運動算出装置。
【請求項2】
前記算出部は、前記エピポーラ拘束及び前記ホモグラフィに基づくコスト関数を最小化することにより、前記運動を算出することを特徴とする請求項1に記載の運動算出装置。
【請求項3】
自装置の運動を算出する運動算出装置における運動算出方法であって、
撮像部が、平面を含む範囲を撮像し、撮像した画像を出力する過程と、
抽出部が、前記平面が撮像されている領域を、前記画像から抽出する過程と、
検出部が、前記撮像部が所定の時間間隔で撮像した複数の前記画像から、特徴点と当該特徴点の移動ベクトルとを検出する過程と、
算出部が、前記特徴点についてのエピポーラ拘束と、前記領域についてのホモグラフィと、の両方に基づいて、自装置の運動を算出する過程と、
を含むことを特徴とする運動算出方法。

【図1】
image rotate

【図2】
image rotate