(57)【要約】【課題】撮像部に動きがある場合であっても認識対象を画像間で対応付けることができる画像処理装置を提供する。【解決手段】光軸方向に移動する撮像部により得られた画像に基準点を設定する画像処理装置は、記憶部と、撮像部により得られた第１画像における光軸近傍点の位置を第１画像の特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて記憶部に格納する初期設定部と、記憶部に格納された特定点の周辺領域の画像特徴に基づいて、撮像部により得られた第２画像における特定点の対応点を探索する探索部と、第２画像の対応点の位置を第２画像の基準点の位置として出力する出力部と、を備える。【選択図】図１
2020052544.tif 000002
【特許請求の範囲】
【請求項１】
光軸方向に移動する撮像部により得られた画像に基準点を設定する画像処理装置であって、
記憶部と、
前記撮像部により得られた第１画像における光軸近傍点の位置を前記第１画像の特定点の初期位置として前記光軸近傍点の周辺領域の画像特徴と関連付けて前記記憶部に格納する初期設定部と、
前記記憶部に格納された前記画像特徴に基づいて、前記撮像部により得られた第２画像における前記特定点の対応点を探索する探索部と、
前記第２画像の前記対応点の位置を前記第２画像の基準点の位置として出力する出力部と、
を備える画像処理装置。
【請求項２】
前記第２画像の各画素において画素と前記基準点との相対動きベクトルを算出する動きベクトル算出部を備える請求項１に記載の画像処理装置。
【請求項３】
光軸方向に移動する撮像部により得られた画像に基づいて前記撮像部の回転運動を推定する画像処理装置であって、
前記画像の光軸近傍点を特定点として設定する設定部と、
前記特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち前記撮像部の撮像面と平行であって互いに直交する第１軸及び第２軸のうち少なくとも一方の軸回りの回転速度成分を推定する第１推定部と、
前記第１推定部により推定された回転速度成分と、撮像対象の輝度値は前記撮像部と前記撮像対象との相対運動により変化しないことを仮定した拘束条件と、前記撮像部の運動と前記画像上での各画素の動きベクトルとの関係とに基づいて、前記特定点と前記撮像部の光学中心とを結ぶ直線である第３軸の軸回りの回転速度成分を推定する第２推定部と、
を備える画像処理装置。
【請求項４】
光軸方向に移動する撮像部により得られた画像に基づいて前記撮像部が撮像対象に到達するまでの到達時間を算出する画像処理装置であって、
前記撮像部の自己運動の少なくとも１つの軸に関する回転速度成分を推定する回転推定部と、
前記回転推定部により推定された回転速度成分と、撮像対象の輝度値は前記撮像部と前記撮像対象との相対運動により変化しないことを仮定した拘束条件と、前記撮像部の運動と前記画像上での各画素の動きベクトルとの関係とに基づいて、前記少なくとも１つの軸に関する回転速度成分を補償した到達時間を算出する到達時間算出部と、
を備える画像処理装置。
【請求項５】
光軸方向に移動する撮像部により得られた画像に基づいて前記撮像部の運動を補償した動きベクトルを算出する画像処理装置であって、
前記撮像部の自己運動の少なくとも１つの軸に関する回転速度成分を推定する回転推定部と、
前記回転推定部により推定された回転速度成分と、撮像対象の輝度値は前記撮像部と前記撮像対象との相対運動により変化しないことを仮定した拘束条件と、前記撮像部の運動と前記画像上での各画素の動きベクトルとの関係と、に基づいて少なくとも１つの軸に関する距離で規格化された並進速度を推定する規格化並進速度推定部と、
前記回転推定部で推定された回転速度成分と、前記規格化並進速度推定部で推定された並進速度と、撮像対象の輝度値は前記撮像部と前記撮像対象との相対運動により変化しないことを仮定した拘束条件と、前記撮像部の運動と前記画像上での各画素の動きベクトルとの関係と、に基づいて前記撮像部の運動に起因する画素の動きを除外した動きベクトルを算出する異常動きベクトル算出部と、
を備える画像処理装置。
【請求項６】
固定された撮像部により得られた第１画像の特定点を用いて前記撮像部により得られた第２画像に基準点を設定する画像処理装置であって、
記憶部と、
前記第１画像に基づいて動きベクトルを算出する動きベクトル算出部と、
前記動きベクトル算出部により算出された前記動きベクトルに基づいて、前記動きベクトルが一様な領域を前記第１画像に設定する領域設定部と、
前記領域に含まれる点の位置を前記特定点の初期位置として前記特定点の周辺領域の画像特徴と関連付けて前記記憶部に格納する初期設定部と、
前記記憶部に格納された前記画像特徴に基づいて、前記第２画像における前記特定点の対応点を探索する探索部と、
前記第２画像の前記対応点の位置を前記第２画像の基準点の位置として出力する出力部と、
を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置に関する。
【背景技術】
【０００２】
特許文献１は、車載カメラなどの撮像部により得られた画像を処理する装置を開示する。この装置は、車両の振動によって変位する画像内の変位の中心位置（消失点）を検出する。この装置は、消失点を監視することにより、撮像された画像における車両の振動に起因する画像の変位量を算出する。
【０００３】
具体的には、この装置は、検出領域の座標の履歴に基づいて周波数解析（フーリエ変換）を行い、検出領域における振動周波数と各周波数の強度を示すパワースペクトル強度との関係を示すグラフを作成する。これにより、パワースペクトル強度が最も高い周波数が特定される。帯域通過フィルタを用いて当該周波数を含む所定の周波数帯域が抽出される。続いて、抽出された所定の周波数帯域は、逆フーリエ変換され、検出領域内の所定の周波数帯域における変位量の時間変化が得られる。変位量が０となる時間に撮像された画像（平衡画像）は、車両に定常的に発生している振動の影響をカメラが受けてないときに撮像された画像である。そして、複数の平衡画像の横エッジの縦方向の動きに基づいてオプティカルフローが算出される。これにより、平衡画像において縦方向の画像速度及び速度方向が算出される。そして、カメラで撮像された画像の画像速度から平衡画像の画像速度の平均値が減算されることにより、車両の定常的な振動によって発生する画像速度が除去された画像速度が得られる。このように補正された画像速度の水平方向中央に座標軸が設定され、座標軸上において最も移動速度が小さい座標が消失点の座標として設定される。この消失点を基準として、画像間のブレ補正などが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１７０９６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両に搭載された撮像部により得られた画像に基づいて車両、歩行者、標識、信号、白線などの認識対象を認識する場合には、複数の画像を用いることにより、認識精度を高めることができる。複数の画像を用いて認識対象を認識するためには、画像間で認識対象を対応付ける必要がある。車両の振動などによって撮像部に動きがある場合には画像の座標変動が生じるため、画像間で認識対象を対応付けることが困難となる。
【０００６】
特許文献１は、上述のとおり、推定された消失点を用いることにより認識対象を画像間で対応付ける装置を開示する。しかしながら、特許文献１記載の装置は、認識対象を画像間で十分に対応付けることができない場合がある。例えば、カメラのフレームレートより高い周波数の振動成分が存在する場合には、特許文献１記載の装置は、検出領域のｙ座標値の時間経過を周波数解析したとしても平衡画像又は平衡画像の画像速度を正しく検出することができないおそれがある。そして、平衡画像の画像速度は変位量が０になる時刻の画像速度の平均であるため、特許文献１記載の装置は、それ以外の時刻の画像は正しく画像速度を補正できないおそれがある。さらに、車両が曲線路を走行する場合には、特許文献１記載の装置は、消失点を検出することが困難となり、画像の変位量を正しく求めることができなくなるおそれがある。
【０００７】
本開示は、撮像部に動きがある場合であっても認識対象を画像間で対応付けることができる画像処理装置を提供する。
【課題を解決するための手段】
【０００８】
本開示の一側面は、光軸方向に移動する撮像部により得られた画像に基準点を設定する画像処理装置である。この装置は、記憶部と、撮像部により得られた第１画像における光軸近傍点の位置を第１画像の特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて記憶部に格納する初期設定部と、記憶部に格納された画像特徴に基づいて、撮像部により得られた第２画像における特定点の対応点を探索する探索部と、第２画像の対応点の位置を第２画像の基準点の位置として出力する出力部とを備える。
【０００９】
一側面に係る画像処理装置では、光軸方向に移動する撮像部により得られた第１画像の光軸近傍点の位置が特定点の初期位置として設定される。光軸近傍点は、ロール角の変動及び並進運動に起因する動きベクトルが小さい点である。光軸近傍点の位置は、光軸近傍点の周辺領域の画像特徴と関連付けられて特定点として記憶される。この特定点を用いて、第１画像と第２画像とが対応付けられる。第１画像の特定点に対応する第２画像の対応点は、光軸近傍点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第２画像の基準点となる。基準点とは、第１画像と第２画像とを対応付ける際に基準となる位置であり、例えば第２画像における相対位置座標の基準となる位置である。このとき、第１画像においては特定点が相対位置座標の基準である。この装置は、第１画像における光軸近傍点を用いて第２画像に基準点を設定することにより、撮像部に高速な回転運動成分がある場合であっても認識対象を画像間で対応付けることができる。さらに、この装置の対応付けの手法は、特定の変位量になる時刻の画像に依存しないため、画像が撮像される全ての時刻で正しく基準点を設定することができる。また、この装置の対応付けの手法は、消失点を基準点としないため、消失点を検出できない場合でも正しく動きベクトルを算出することができる。
【００１０】
一実施形態に係る画像処理装置は、第２画像の各画素において画素と基準点との相対動きベクトルを算出する動きベクトル算出部を備えてもよい。出力される基準点の位置と記憶部に格納された特定点の位置との差分は、特定点が記憶部に格納された時点から第２画像の生成時までの動きベクトルであり、ピッチ角及びヨー角の変動に起因する。このため、この画像処理装置は、画素と基準点との相対的な動きである相対動きベクトルを算出することにより、ピッチ角及びヨー角の変動に起因する座標変動を補償することができる。
【００１１】
本開示の他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部の回転運動を推定する画像処理装置である。この装置は、画像の光軸近傍点を特定点として設定する設定部と、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち撮像部の撮像面と平行であって互いに直交する第１軸及び第２軸のうち少なくとも一方の軸回りの回転速度成分を推定する第１推定部と、第１推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点と撮像部の光学中心とを結ぶ直線である第３軸の軸回りの回転速度成分を推定する第２推定部とを備える。
【００１２】
他の側面に係る画像処理装置では、光軸方向に移動する撮像部により得られた画像の光軸近傍点の位置が特定点の位置として設定される。そして、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち撮像部の撮像面と平行であって互いに直交する第１軸及び第２軸のうち少なくとも一方の軸回りの回転速度成分が推定される。そして、第１推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点と撮像部の光学中心とを結ぶ直線である第３軸の軸回りの回転速度成分が推定される。一度に２つ又は３つの軸回りの回転速度成分が推定される場合、推定するための数式は複数の未知数を含むことになる。第３軸の軸周りの回転速度成分は、第１軸及び第２軸の回転速度成分と比べてかなり小さい値となる。大きい値と小さい値を含む複数の未知数を同時に推定すると、値の大きい成分に主導されて値の小さい成分の誤差が大きくなる。この装置は、第１軸及び第２軸の少なくとも一方の軸回りの回転速度成分の推定と、第３軸の軸周りの回転速度成分の推定とを分けて行う。このため、この装置は、一度に２つ又は３つの軸回りの回転速度成分が推定される場合と比べて、第３軸の軸回りの回転速度成分の推定精度を向上させることができる。
【００１３】
本開示のさらに他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部が撮像対象に到達するまでの到達時間を算出する画像処理装置である。この装置は、撮像部の自己運動の少なくとも１つの軸に関する回転速度成分を推定する回転推定部と、回転推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも１つの軸に関する回転速度成分を補償した到達時間を算出する到達時間算出部とを備える。
【００１４】
車両に搭載されて前方を監視するカメラのように光軸方向に移動する撮像部の場合には、撮像部の主要な運動は進行方向の並進運動成分である。しかしながら、撮像部の運動は、路面の凹凸などによるピッチ角速度や旋回によるヨー角速度などの回転運動成分をも含む。このため、並進運動成分のみを用いて到達時間を算出した場合には、算出される到達時間の精度が低下するおそれがある。これに対して、さらに他の側面に係る画像処理装置では、撮像部の自己運動の少なくとも１つの軸に関する回転速度成分が推定される。そして、推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも１つの軸に関する回転速度成分を補償した到達時間が算出される。このように、この装置は、回転速度成分を補償した到達時間を推定するため、撮像部が上下振動したり旋回運動したりするような場合であっても高い精度で到達（衝突）時間を推定することができる。また、この装置は、動きベクトルを推定することなく到達時間を直接算出するため、到達時間の推定を簡易な構成で実現することができる。
【００１５】
本開示のさらに他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部の運動を補償した動きベクトルを算出する画像処理装置である。この装置は、撮像部の自己運動の少なくとも１つの軸に関する回転速度成分を推定する回転推定部と、回転推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係と、に基づいて少なくとも１つの軸に関する距離で規格化された並進速度を推定する規格化並進速度推定部と、回転推定部で推定された回転速度成分と、規格化並進速度推定部で推定された並進速度と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係と、に基づいて撮像部の運動に起因する画素の動きを除外した動きベクトルを算出する異常動きベクトル算出部とを備える。
【００１６】
画像上の動きベクトル（オプティカルフロー）は、撮像対象が剛体であると仮定すると、撮像部と撮像対象との相対回転運動と、撮像部と撮像対象との距離規格化相対並進運動と、各画素の座標とに基づいて規定され得る。距離規格化相対並進運動は、撮像部と撮像対象との相対並進速度を、各画素に対応する撮像対象上の点から撮像部までの距離で除した値である。したがって、撮像部が運動して撮像対象が静止している場合には、撮像部の回転運動と、撮像部の距離規格化並進運動速度に基づいて動きベクトルが規定される。一方、撮像対象に移動物が含まれる場合には、規定された動きベクトルに撮像対象の動きの成分が加算された動きベクトルが観測される。この装置は、撮像部の運動と画像上での各画素の動きベクトルとの関係に基づいて撮像部の運動に起因する画素の動きを除外した動きベクトルを算出するので、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
【００１７】
本開示のさらに他の側面は、固定された撮像部により得られた第１画像の特定点を用いて撮像部により得られた第２画像に基準点を設定する画像処理装置である。この装置は、記憶部と、第１画像に基づいて動きベクトルを算出する動きベクトル算出部と、動きベクトル算出部により算出された動きベクトルに基づいて、動きベクトルが一様な領域を第１画像に設定する領域設定部と、領域に含まれる点の位置を特定点の初期位置として特定点の周辺領域の画像特徴と関連付けて記憶部に格納する初期設定部と、記憶部に格納された画像特徴に基づいて、第２画像における特定点の対応点を探索する探索部と、第２画像の対応点の位置を第２画像の基準点の位置として出力する出力部とを備える。
【００１８】
さらに他の側面に係る画像処理装置では、固定された撮像部により得られた第１画像に基づいて動きベクトルが算出され、動きベクトルが一様な領域が第１画像に設定される。そして、動きベクトルが一様な領域に含まれる点の位置が特定点の初期位置として設定される。特定点の位置は、特定点の周辺領域の画像特徴と関連付けられて記憶される。この特定点を用いて、第１画像と第２画像とが対応付けられる。第１画像の特定点に対応する第２画像の対応点は、特定点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第２画像の基準点となる。基準点とは、第１画像と第２画像とを対応付ける際に基準となる位置であり、例えば第２画像における相対位置座標の基準となる位置である。特徴量が少なく、かつ、動きベクトルが大きい場合には、第１画像と第２画像とを対応付けることが困難となる。この装置は、動きベクトルが一様な領域に含まれる点を用いて第２画像に基準点を設定することにより、特徴量が少ない場合であっても認識対象を画像間で対応付けることができる。
【発明の効果】
【００１９】
本開示の種々の側面及び実施形態によれば、撮像部に動きがある場合であっても認識対象を画像間で対応付けることができる画像処理装置が提供される。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態に係る画像処理装置を含む車両の機能ブロック図である。
【図２】図１の画像処理装置の動作の一例を示すフローチャートである。
【図３】第２実施形態に係る画像処理装置を含む車両の機能ブロック図である。
【図４】カメラ座標系の定義を示す図である。
【図５】図３の画像処理装置の動作の一例を示すフローチャートである。
【図６】第３実施形態に係る画像処理装置を含む車両の機能ブロック図である。
【図７】図６の画像処理装置の動作の一例を示すフローチャートである。
【図８】第４実施形態に係る画像処理装置を含む車両の機能ブロック図である。
【図９】図８の画像処理装置の動作の一例を示すフローチャートである。
【図１０】第５実施形態に係る画像処理装置を含む車両の機能ブロック図である。
【図１１】路面候補領域の幾何学的定義を説明する図である。
【図１２】図１０の画像処理装置の動作の一例を示すフローチャートである。
【図１３】第６実施形態に係る検査システムの概要図である。
【図１４】（Ａ）はワークが左に振れたときに撮像された画像である。（Ｂ）はワークが真ん中に位置したときに撮像された画像である。（Ｃ）はワークが右に振れたときに撮像された画像である。
【図１５】第６実施形態に係る画像処理装置の機能ブロック図である。
【図１６】図１５の画像処理装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、例示的な実施形態について説明する。なお、以下の説明において、同一又は相当要素には同一符号を付し、重複する説明は繰り返さない。
【００２２】
［第１実施形態］
（画像処理装置の構成）
図１は、第１実施形態に係る画像処理装置を含む車両の機能ブロック図である。図１に示されるように、画像処理装置１は、車両２に搭載される。車両２は、カメラ２００（撮像部の一例）を備える。カメラ２００は、車両２の進行方向に向けられている。このため、カメラ２００の撮像方向（光軸方向）は、車両２の進行方向と概ね一致する。つまり、カメラ２００は、概ね光軸方向に移動する撮像部である。カメラ２００は、ピンホールカメラモデルが成立するように校正されている。即ち、カメラ２００の内部パラメータは既知であり、レンズ歪も補正された状態である。本開示は、撮像部の移動の影響を適切に低減する実用的な技術思想を開示するものであり、当然のことながら車両の進行方向と光軸方向のずれを補正する効果も内包する。このため、本開示は、前記二つの方向の厳密な一致を求めるものではない。以下、「光軸方向に移動する」とは、概ね光軸方向に移動するとの意味である。
【００２３】
カメラ２００の一例は、時間相関イメージセンサ（ＣＩＳ：Correlation Image Sensor）である。ＣＩＳは、各画素の光強度信号と全画素共通の参照信号との時間相関を出力するイメージセンサである。ＣＩＳによれば、参照信号を正弦波信号とすることにより、正弦波信号の周波数のフーリエ変換に相当する出力を得られる。ＣＩＳは、一般的なイメージセンサにより取得可能な強度画像ｇ０を出力するとともに、各画素の強度信号と全画素共通の参照信号との時間相関を相関画像ｇ１として出力する。相関画像ｇ１は互いに位相が９０°異なる参照信号に対する２つの相関画像を実部と虚部として複素数で表現している。カメラ２００は、動画を構成する画像（フレーム）を生成してもよい。この場合、カメラ２００は、所定の時間間隔で画像を出力する。以下では、カメラ２００がＣＩＳである例を説明するが、カメラ２００は、強度画像のみを出力する一般的なイメージセンサであってもよい。
【００２４】
画像処理装置１は、カメラ２００と通信可能に構成され、カメラ２００により得られた画像を処理する装置である。画像処理装置１、即ちＥＣＵは、ＣＰＵ（Central Processing Unit）などの演算部、ＲＯＭ（Read OnlyMemory）やＲＡＭ（Random Access Memory）などの記憶部、及び、ＣＡＮ（Controller Area Network）通信回路などの通信部を有する電子制御ユニットである。ＥＣＵは、例えばＣＡＮ通信回路を用いて通信するネットワークに接続される。ＥＣＵは、例えば、ＣＰＵが出力する信号に基づいて、ＣＡＮ通信回路を動作させてデータを入出力し、データをＲＡＭに記録し、ＲＯＭに記録されているプログラムをＲＡＭにロードし、ＲＡＭにロードされたプログラムを実行することで、画像処理装置１の後述する構成要素の機能を実現する。ＥＣＵは、複数の電子制御ユニットから構成されてもよい。
【００２５】
画像処理装置１は、光軸方向に移動するカメラ２００により得られた画像に基準点を設定する。基準点を設定する対象となる画像は、強度画像であってもよいし、相関画像であってもよい。基準点とは、カメラ２００により得られた画像間を対応付ける際に基準となる位置（座標点）である。基準点は、第１の強度画像と第２の強度画像との対応付け、第１の相関画像と第２の相関画像との対応付け、第１の強度画像と第２の相関画像との対応付けの何れにおいても基準とすることができる。以下では、カメラ２００により得られた任意の画像を第１画像といい、カメラ２００により得られた、第１画像とは異なる任意の画像を第２画像という。
【００２６】
画像処理装置１は、画像取得部１１、特定点管理部１２、及び、動きベクトル算出部２０を備える。なお、画像処理装置１は、動きベクトル算出部２０を必ずしも備える必要はない。
【００２７】
画像取得部１１は、カメラ２００から画像を取得する。画像取得部１１は、例えばネットワークを介してカメラ２００により得られた画像を取得する。画像取得部１１は、一例として動画のフレームを各時刻において取得する。
【００２８】
特定点管理部１２は、初期設定部１２０、探索部１２１、出力部１２２及び特定点記憶部１２３（記憶部の一例）を備える。
【００２９】
初期設定部１２０は、カメラ２００により得られた第１画像における光軸近傍点の位置を第１画像の特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。光軸近傍点とは、カメラ２００の撮像面において、カメラ２００の光軸と撮像面との交点の周囲に位置する点である。光軸近傍点は、カメラ２００の光軸と撮像面との交点であってもよい。初期設定部１２０は、第１画像に基づいて光軸近傍点を取得し、第１画像の特定点の初期位置として特定点記憶部１２３に記憶する。特定点とは、基準点を決定するための座標点である。初期設定部１２０は、第１画像に基づいて光軸近傍点の周辺領域の画像特徴を取得する。周辺領域とは、光軸近傍点を含む所定の大きさの領域であり、画像特徴とは強度画像であり、強度画像から抽出されたエッジやコーナーなどの特徴量であってもよい。初期設定部１２０は、取得された光軸近傍点の画像上の位置と画像特徴とを関連付けて特定点記憶部１２３に格納する。関連付けるとは、光軸近傍点の画像上の位置が特定された場合に画像特徴が特定されるように画像特徴の座標範囲を定めることをいう。
【００３０】
カメラ２００の運動は並進三成分と回転三成分（ピッチ角、ヨー角、ロール角）に分けて考えることができる。回転三成分の中のピッチ角、ヨー角変動に起因する画像の座標変動、即ち動きベクトル（オプティカルフロー）は、カメラ２００と撮像対象との距離に依存せずに画像上で一様になる。カメラ２００のロール角変動に起因する画像上の動きベクトルの大きさは、画像中で位置により異なり、ロール角の回転中心からの距離に依存する。一方、カメラ２００の並進運動に起因する画像上の動きベクトルはカメラ２００と撮像対象との距離に依存し、近距離ほど大きく十分遠方では無視できるほど小さい。光軸方向に移動するカメラ２００で得られた画像中の光軸近傍は、遮蔽物がない場合、十分遠方と考えることができる。したがって、光軸近傍ではロール角変動及び並進運動に起因する動きベクトルは十分小さいとみなせる。初期設定部１２０は、光軸近傍点を特定点とすることにより、ロール角変動及び並進運動に起因する動きベクトルの影響が小さい座標点同士を対応させることができる。
【００３１】
初期設定部１２０は、光軸近傍点の候補のうち、関連付ける画像特徴の情報（空間情報量）が最も多い点を特定点の初期位置として選択してもよい。この場合、探索部１２１における対応点の探索の確実性及び処理安定性が向上する。一例として、初期設定部１２０は、初期時刻において光軸中心の座標(ｘ０,ｙ０)を特定点座標の候補とする。そして、特定点座標の候補の座標(ｘ０,ｙ０)の周辺におけるエッジ強度の積分値を以下数式で算出する。
【数１】
2020052544.tif 000003
初期設定部１２０は、エッジ強度の積分値が所定の閾値以上の場合には、座標(ｘ０,ｙ０)を特定点とし、周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。初期設定部１２０は、エッジ強度の積分値が所定の閾値よりも小さい場合には、座標(ｘ０,ｙ０)の近傍でエッジ強度の積分値、即ち空間情報量が最も大きい点を特定点として選択し、その周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。
【００３２】
初期設定部１２０は、第１画像に車両などの移動体の領域が存在する場合には、当該領域外に特定点を設定してもよい。この場合、特定点管理部１２は、移動体領域を検出する移動体検出部を備える。移動体領域の検出手法は、特に限定されない。一例として、移動体検出部は、Semantic Segmentationなどのラベル付与手法やＳＳＤ（SingleShot Multibox Detector）などのパターン認識手法を用いることができる。SemanticSegmentationでは、強度画像ｇ０（ｘ，ｙ，ｔ）を用いて、各画素（ｘ，ｙ）に対して移動体であるか否かを表すラベルが付与される。ＳＳＤなどのパターン認識手法では、移動体が矩形として検出される。この場合、移動体検出部は、画素毎に移動体であるか否かを表すラベルを付与する必要はなく、矩形の左右上下端の座標のみを保持すればよい。これにより、メモリ使用が効率化される。初期設定部１２０は、移動体検出部により移動体領域が検出された場合、移動体領域外に存在する光軸近傍点の候補を特定点の初期位置として選択する。これにより、探索部１２１において、移動物の運動に起因する撮像画像上の動き成分を排して対応点を求めることができる。なお、初期設定部１２０は、特定点と関連付けて格納される画像特徴から移動体領域に係る画像特徴を予め除いてもよい。
【００３３】
探索部１２１は、特定点記憶部１２３に格納された特定点の周辺領域の画像特徴に基づいて、カメラ２００により得られた第２画像における特定点の対応点を探索する。具体的には、探索部１２１は、特定点記憶部に格納された特定点位置と対応する第２画像が撮像された時刻ｔにおける特定点の位置（座標）である(ｘｃ（ｔ），ｙｃ（ｔ）)を求める。探索部１２１は、一例として、特定点の周辺領域の画像特徴をテンプレートとし、テンプレートマッチングにより対応点を探索する。
【００３４】
探索部１２１は、特定点記憶部１２３に格納された特定点の周辺領域の画像特徴のうち、移動体領域に含まれる画像特徴を除いて対応点を探索してもよい。例えば、画像特徴として強度画像が特定点に関連付けられている場合、探索部１２１は、移動体領域を除外した強度画像を用いて対応点を探索する。この場合、特定点管理部１２は、上述した移動体検出部を備える。探索部１２１は、移動体検出部により移動体領域が検出された場合、移動体領域を除外した強度画像を用いて対応点を探索する。
【００３５】
出力部１２２は、第２画像の対応点の位置を第２画像の基準点の位置として出力する。出力部１２２は、画像処理装置１の記憶部に第２画像の基準点を出力してもよいし、他の構成要素に第２画像の基準点を出力してもよい。出力された基準点は、認識対象を画像間で対応付ける際に利用されたり、カメラ２００の動きを補償する際に利用されたりする。出力された基準点の座標と格納された特定点の座標との差分は、特定点が格納された時点から第２画像の取得までの動きベクトルにおけるピッチ角及びヨー角の変動に起因する成分となる。
【００３６】
初期設定部１２０は、所定の条件が満たされたときに、特定点記憶部１２３に格納された特定点を初期化してもよい。例えば、初期設定部１２０は、第２画像の対応点が第２画像の光軸近傍点の範囲から逸脱する場合には、第２画像の光軸近傍点をその光軸近傍点の周囲領域の画像特徴と関連付けて特定点記憶部１２３に格納する。この場合、カメラ２００を搭載した車両２が曲線路を移動する場合などにおいて、特定点が光軸近傍から逸脱したとしても継続して対応点を設定することができる。
【００３７】
特定点管理部１２は、所定の条件が満たされたときに、特定点記憶部１２３に格納された特定点を更新する更新部を有してもよい。一例として、更新部は、第２フレームの対応点をその対応点の周囲領域の画像特徴と関連付けて特定点記憶部１２３に格納する。この場合、特定点の初期値設定時点から特定点周辺の画像特徴が変化しているときであっても、より確実に第３フレームにおける対応点を求めることができる。更新部は、フレームごとに特定点を更新してもよいし、フレームごとに特定点を更新しつつ特定のフレームにおいては特定点を更新しないようにしてもよい。
【００３８】
特定点管理部１２は、フレームごとに基準点に基づいて座標変換（位置合わせ）し、過去から前フレームまでの輝度値を累算した蓄積画像を記憶部に記憶する蓄積画像生成部を備えてもよい。蓄積画像は、カメラ２００の運動を補償された画像となる。上述した更新部は、特定点の位置とその周辺領域の蓄積画像とを関連付けて、特定点記憶部１２３を更新する。蓄積画像は、特定点の周辺領域の画像特徴に関して、より長時間の情報が反映されている。つまり、ある時刻の強度画像において特定点が瞬時的に移動体により遮蔽されている場合であっても、他の時刻の強度画像において移動体により遮蔽されていない状況の特定点に関する画像特徴を得ることができる。このため、時間的に安定して対応点を求めることができる。
【００３９】
蓄積画像生成部は、例えば、探索部１２１において求められた対応点と光軸中心座標との距離が所定の閾値以下の場合には、現時刻の強度画像ｇ０（ｘ，ｙ）と一時刻前までの蓄積画像ｇａｃｃ（ｘ，ｙ，ｔ−１）の荷重和を演算することにより、蓄積画像を生成する。ここで、強度画像ｇ０（ｘ，ｙ）は現時刻の特定点、即ち基準点を原点とするように座標変換されており、蓄積画像ｇａｃｃ（ｘ，ｙ，ｔ−１）は、一時刻前の特定点座標を原点とするように座標変換されている。荷重和の演算は以下のとおりとなる。
【数２】
2020052544.tif 000004
ここで、ｗ：［０＜ｗ＜１］は荷重平均における強度画像ｇ０の荷重である。特定点座標を原点とする座標系に変換されているため、カメラ２００の回転運動に起因する位置ズレは補正され、生成される現時刻までの蓄積画像の原点も特定点に対応する。生成された蓄積画像は、探索部１２１で求められた特定点の座標とともに特定点記憶部１２３に格納される。
【００４０】
動きベクトル算出部２０は、第２画像の各画素において画素と基準点との相対動きベクトルを算出する。相対動きベクトルは、基準点に対する動きを記述したベクトルである。動きベクトル算出部２０は、各画素の動きベクトル（オプティカルフロー）を算出してから、基準点との相対動きベクトルを算出してもよいが、基準点を原点として動きベクトルを算出することで、相対動きベクトルを算出した方が少ない計算量で高い精度が得られる。基準点に基づいて相対動きベクトルを算出することにより、カメラ２００の回転運動を補償した動きベクトルを得ることができる。
【００４１】
オプティカルフロー（ｖ＝［ｖｘ，ｖｙ］Ｔ）は、“撮像対象の輝度値がカメラ２００と撮像対象との相対運動により変化しないことを仮定”して算出される。時刻ｔの位置（ｘ，ｙ）における強度をｆ（ｘ，ｙ，ｔ）と記述したとき、この仮定を表す拘束条件は、以下の数式（１）となる。
【数３】
2020052544.tif 000005
数式（１）は、カメラ２００が一般的なイメージセンサである場合における拘束条件である。
【００４２】
カメラ２００がＣＩＳである場合には、上記の拘束条件は以下の数式（２）となる。
【数４】
2020052544.tif 000006
ここでｊは虚数単位を表し、画像ｇ１（ｘ，ｙ）は以下である。
【数５】
2020052544.tif 000007
数式（２）を以下の数式（４）を用いて変形すると、数式（５）となる。
【数６】
2020052544.tif 000008
【数７】
2020052544.tif 000009
【００４３】
数式（４）のｈは、ＣＩＳから入力される強度画像ｇ０及び相関画像ｇ１に対するｘ方向及びｙ方向に関する空間偏微分画像である。数式（５）は、カメラ２００がＣＩＳの場合の拘束条件となる。数式（５）のｈｘ，ｈｙ，ｂは複素数の係数である。動きベクトル算出部２０は、数式（５）を解くことでオプティカルフローを得ることができる。なお、カメラ２００がＣＩＳの場合には１画素の出力信号から数式（５）の実部と虚部とに対応する２つの拘束式が得られる。このため、１画素の出力信号から２つの未知数であるオプティカルフローを計算できる。一方、カメラ２００が一般的なイメージセンサである場合には、数式（１）を解くことでオプティカルフローを得ることができる。数式（１）は実数方程式であり、１画素の出力信号から得られる拘束式は１つである。未知数よりも方程式の数が少ないため、１画素の出力信号からはオプティカルフローは計算できない。近傍画素ではオプティカルフローは一様であるとの仮定を用いることにより、近傍画素の出力信号を用いて方程式の数を増やすことができる。また、数式（１）のｆｔは時間微分を表し、連続する２フレーム画像の差分からｆｔの値を取得する。近傍画素ではオプティカルフローは一様であるとの仮定を用いること、及び、連続する２フレーム画像の差分を用いることにより、カメラ２００が一般的なイメージセンサである場合であっても、オプティカルフローを得ることができる。
【００４４】
動きベクトル算出部２０は、数式（４）の空間偏微分画像の演算として、ｇ１−ｇ０を計算した後に偏微分する。動きベクトル算出部２０は、後段の処理において強度画像の空間偏微分画像を用いる場合には、後段の処理においても演算結果を利用できるように、強度画像ｇ０及び相関画像ｇ１に対して独立に偏微分演算を行い、結果を保存してもよい。動きベクトル算出部２０は、一例として、以下に示すようなｘ方向とｙ方向のＳｏｂｅｌフィルタを適用することで偏微分演算する。
【数８】
2020052544.tif 000010
【００４５】
動きベクトル算出部２０は、フーリエ変換を用いて偏微分を演算してもよい。一般に、関数ｆ（ｔ）のフーリエ変換をＦ（ω）とした場合、関数ｆ（ｔ）の微分であるｆ'（ｔ）のフーリエ変換はｊωＦ（ω）となる。したがって、動きベクトル算出部２０は、フーリエ変換をし、ｊωを乗じた後に逆フーリエ変換することで偏微分を演算できる。Ｆ及びＦ−１をそれぞれフーリエ変換、逆フーリエ変換の演算子とした場合、強度画像ｇ０のｘ方向の空間偏微分は次式で表される。
【数９】
2020052544.tif 000011
【００４６】
（画像処理装置の動作）
図２は、画像処理装置１の動作の一例を示すフローチャートである。図２に示されるフローチャートは、例えば画像処理装置１の動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００は動画を出力するものとする。
【００４７】
画像取得部１１は、画像取得処理（ステップＳ１０）として、カメラ２００から画像を取得する。画像取得部１１は、特定点を設定する対象となる第１画像として第１フレームを取得する。画像取得部１１は、基準点を設定する対象となる第２フレームを取得する。
【００４８】
初期設定部１２０は、初期設定処理（ステップＳ１２）として、画像取得処理（ステップＳ１０）にて取得された第１フレームにおける光軸近傍点の位置を、第１フレームの特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。
【００４９】
探索部１２１は、探索処理（ステップＳ１４）として、特定点記憶部１２３に格納された特定点の周辺領域の画像特徴に基づいて、画像取得処理（ステップＳ１０）にて取得された第２フレームにおける特定点の対応点を探索する。
【００５０】
出力部１２２は、出力処理（ステップＳ１６）として、第２フレームの対応点の位置を第２フレームの基準点の位置として出力する。出力部１２２は、一例として、画像処理装置１の記憶部に第２フレームの基準点を出力し、参照可能な状態とする。
【００５１】
動きベクトル算出部２０は、動きベクトル算出処理（ステップＳ１８）として、第２フレームの各画素において画素と基準点との相対動きベクトルを算出する。動きベクトル算出部２０は、第２フレームからオプティカルフローを算出する。そして、動きベクトル算出部２０は、画像処理装置１の記憶部に格納された第２フレームの基準点を参照し、各画素と基準点との相対動きベクトルを算出する。
【００５２】
動きベクトル算出処理（ステップＳ１８）が終了した場合、図３に示されるフローチャートが終了する。なお、第２フレームに続く第３フレームを処理する場合、画像取得部１１は、図３に示されるフローチャートを最初から開始する。
【００５３】
（第１実施形態のまとめ）
車両２に搭載されたカメラ２００は、路面の凹凸などによりピッチ角及びヨー角が変動する。ピッチ角及びヨー角の変動に起因して、カメラ２００の画像の座標も変動する。画像から車両、歩行者、標識、信号、白線などを認識する場合、複数フレームの情報を用いることで認識精度を高められる。複数フレームの情報を用いて認識するには、認識対象をフレーム間で対応付ける必要がある。しかしながら、上述のような画像の座標変動があると対応付けすることができないか、または、誤った対応付けがなされることにより認識精度が低下するおそれがある。
【００５４】
画像処理装置１では、光軸方向に移動するカメラ２００により得られた第１画像の光軸近傍点の位置が特定点の初期位置として設定される。光軸近傍点は、ロール角の変動及び並進運動に起因する動きベクトルが小さい点である。光軸近傍点の位置は、光軸近傍点の周辺領域の画像特徴と関連付けられて特定点として記憶される。この特定点を用いて、第１画像と第２画像とが対応付けられる。第１画像の特定点に対応する第２画像の対応点は、光軸近傍点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第２画像の基準点となる。基準点は、第１画像と第２画像とを対応付ける際に基準となる位置であり、ピッチ角及びヨー角変動に起因する座標変換を補償する画像上の座標点である。基準点は、例えば第２画像における相対位置座標の基準となる位置である。認識対象の座標を基準点から相対位置として表現することにより、座標変動があっても正しく対応付けが可能であり、複数フレームを用いた認識精度を高めることができる。
【００５５】
画像処理装置１は、第１画像における光軸近傍点を用いて第２画像に基準点を設定することにより、カメラ２００に高速な回転運動成分がある場合であっても認識対象を画像間で対応付けることができる。画像処理装置１は、フレームごとに求めた基準点が同一座標になるように座標変換した画像を生成することにより、ピッチ角及びヨー角変動に起因する座標変動が補償された画像、即ち画像ブレが補正された画像を生成することができる。なお、画像ブレ補正は、基準点の座標点さえ分かれば画像を生成することなく演算（例えば動きベクトルの演算）に反映させることができる。つまり、基準点を設定することは、演算上においてブレ補正をすることと同義であるといえる。
【００５６】
さらに、画像処理装置１の対応付けの手法は、カメラ２００のピッチ角及びヨー角の変動に起因する座標変動が特定の変位量になる時刻の画像に依存しないため、画像が撮像される全ての時刻で正しく基準点を設定することができる。また、画像処理装置１の対応付けの手法は、消失点を基準点としないため、消失点を検出できない場合でも正しく動きベクトルを算出することができる。
【００５７】
また、出力される基準点の位置と記憶部に格納された特定点の位置との差分は、第１画像が撮像された時点から第２画像が撮像された時点までの動きベクトルであり、ピッチ角及びヨー角の変動に起因する。このため、画像処理装置１は、画素と基準点との相対的な動きである相対動きベクトルを算出することにより、ピッチ角及びヨー角の変動に起因する座標変動を補償することができる。
【００５８】
［第２実施形態］
第２実施形態に係る画像処理装置１Ａは、画像処理装置１と比較して、カメラ２００の回転運動を推定する点が相違する。以下では相違点を中心に説明し、第１実施形態と重複する説明は繰り返さない。
【００５９】
（画像処理装置の構成）
図３は、第２実施形態に係る画像処理装置を含む車両の機能ブロック図である。図３に示されるように、画像処理装置１Ａは、車両２に搭載される。車両２は、カメラ２００及び画像処理装置１Ａを備える。カメラ２００は、第１実施形態と同一である。
【００６０】
画像処理装置１Ａは、画像取得部１１、設定部１２Ａ、第１推定部１８及び第２推定部１９を備える。画像取得部１１は、第１実施形態と同一である。
【００６１】
設定部１２Ａは、第１実施形態の初期設定部１２０の特定点設定機能と同一の機能を有する。つまり、設定部１２Ａは、光軸近傍点を特定点として設定する機能を有する。なお、設定部１２Ａは、光軸近傍点を特定点として設定する機能だけでなく、初期設定部１２０の全ての機能を備えていてもよい。設定部１２Ａは、特定点管理部１２と同一であってもよい。
【００６２】
第１推定部１８は、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうちカメラ２００の撮像面と平行であって互いに直交するピッチ軸（第１軸の一例）及びヨー軸（第２軸の一例）のうち少なくとも一方の軸回りの回転速度成分を推定する。車両２に搭載され前方を監視するカメラ２００は、光軸方向に移動する。このカメラ２００で得られた画像中の光軸近傍は、遮蔽物がない場合、十分遠方と考えることができる。十分遠方においては、カメラ２００の並進運動に起因する動きベクトルは無視できるほど小さくなり、特定点の近傍では特定点とカメラ２００の光学中心（画像中心）とを結ぶ直線であるロール軸（第３軸の一例）の軸回りの回転運動に起因する動きベクトルも小さくなる。したがって、光軸近傍の特定点の周辺領域の動きベクトルはピッチ軸及びヨー軸の軸回りの回転運動に起因する成分のみと考えることができる。このため、第１推定部１８は、特定点の周辺領域の動きベクトルを用いることにより、ピッチ軸及びヨー軸の軸回りの回転運動に起因する成分を推定することができる。
【００６３】
第２推定部１９は、第１推定部１８により推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ２００の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。
【００６４】
“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、カメラ２００がＣＩＳの場合、第１実施形態で説明した数式（２）又は数式（５）で表現される。カメラ２００が一般的なイメージセンサである場合は数式（１）で表現される。以下では、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”について概説する。
【００６５】
図４は、カメラ座標系の定義を示す図である。図４に示されるように、撮像光学系の光学中心をカメラ２００の座標系の原点Oとし、光軸をＺ軸とする。Ｚ軸と直交し互いに直交する軸をＸ軸及びＹ軸とする。撮像面はＺ＝ｆｃで表される平面とする。ｆｃはレンズの焦点距離である。カメラ２００の運動は、Ｘ軸、Ｙ軸及びＺ軸の各座標軸に対する並進運動のパラメータと回転運動のパラメータとを用いて定義されるとする。例えば、並進運動Ｔは、Ｔ＝（ＴＸ，ＴＹ，ＹＺ）で表現され、回転運動Ωは、Ω＝（ΩＸ，ΩＹ，ΩＺ）で表現される。このとき、カメラ２００の動き（運動）によるオプティカルフローは次式で表される。
【数１０】
2020052544.tif 000012
行列成分Ａ，Ｂを以下のように定義することにより、数式（６）は、数式（７）のように簡潔に表現することができる。
【数１１】
2020052544.tif 000013
【００６６】
数式（７）において、距離Ｚ（ｘ，ｙ）は各画素に対応する物体点までの距離である。数式（７）の第１項はカメラ２００の並進運動に起因する成分であり、数式（７）の第２項はカメラ２００の回転運動に起因する成分である。上述した数式（６）又は数式（７）は、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”を示している。
【００６７】
数式（７）を、カメラ２００がＣＩＳの場合の拘束条件である数式（２）に代入することで、以下の数式（８）を得られる。
【数１２】
2020052544.tif 000014
数式（８）は、距離Ｚ、並進運動Ｔ及び回転運動Ωに関連した拘束条件となる。つまり、距離Ｚ（ｘ，ｙ），並進運動（Ｔ＝（ＴＸ，ＴＹ，ＹＺ））及び回転運動（Ω＝（ΩＸ，ΩＹ，ΩＺ））を、数式（８）の拘束条件の下、未知数として解を求めることができる。数式（８）を用いて解を求めることは、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と撮像画像上での各画素の動きベクトルとの関係”とに基づいて未知数を求めることに相当する。つまり、第２推定部１９は、数式（８）を用いて特定点とカメラ２００の光学中心とを結ぶ直線である第３軸の軸回りの回転速度成分を推定する。
【００６８】
ところで、距離Ｚ（ｘ，ｙ）は画素毎に異なる値である。並進運動Ｔと回転運動Ωとは全画素共通の未知数である。ＣＩＳを用いてＮ画素の出力信号が得られたときには、前述したとおり、２Ｎ本の拘束式が得られる。一方、未知数の個数はＮ＋６である。方程式の数が未知数の数以上になる必要があるため、条件２Ｎ＞＝（Ｎ＋６）が成立する必要がある。条件式を解くと、ＣＩＳでは、６画素以上の出力信号が得られれば原理的には未知数の解を得ることができる。
【００６９】
車両２への応用の際には、車両運動特有の性質を考慮する必要がある。車両２の進行方向即ちＺ軸方向の並進速度成分であるＴＺは大きいが、進行方向に直交する方向の並進速度成分であるＴＸ，ＴＹは小さい。そして、路面の凹凸などによるピッチ角速度ΩＸと旋回によるヨー角速度ΩＹは比較的大きいが、ロール角速度Ωｚは小さい。このような車両運動特有の条件下において誤差を含む６個の未知数を同時に求めようとした場合、値の大きい成分に主導されて値の小さい成分の誤差が大きくなるという現象が生じ、同時に実用的な解を得ることは困難となる。
【００７０】
このように、数式（８）から一度に解を得ようとすると、未知数の個数の問題と誤差の問題とが存在する。これに対して、第２推定部１９は、第１推定部１８によりピッチ軸及びヨー軸の軸回りの回転速度成分ΩＸ，ΩＹが推定された後に、ピッチ軸及びヨー軸の軸回りの回転速度成分に基づいて、ロール軸の軸回りの回転速度成分のみを推定する。数式（８）はＺ（ｘ，ｙ）を分母とする非線形な方程式であるが、Ｔｘ／Ｚ（ｘ，ｙ），ＴＹ／Ｚ（ｘ，ｙ），ＴＺ／Ｚ（ｘ，ｙ）を未知数として方程式を解くことができる。このように、第２推定部１９は、数式（８）の未知数の個数を減じた上で、ロール軸回りの回転速度成分のみを推定するため、他の未知数に主導されて誤差を生じることはなく、高い精度で推定できる。例えば、ロール軸の回転速度成分がピッチ軸及びヨー軸の軸回りの回転速度成分より大きい場合でも、推定精度を高めることができる。
【００７１】
以下、第１推定部１８によるピッチ軸及びヨー軸の軸回りの回転速度成分の推定の詳細と、第２推定部１９によるロール軸の軸回りの回転速度成分の推定の詳細とを説明する。
【００７２】
（第１推定部１８の推定の詳細）
特定点は、光軸方向に移動するカメラ２００から得られた画像の光軸近傍点に設定されており、さらに追跡されている。よって、特定点は常に十分遠方であるといえる。数式（７）において、距離Ｚ（ｘ，ｙ）が並進速度｜Ｔ｜に対して十分に大きくなるほど数式（７）の第１項は０に近づく。このため、数式（７）は、以下の数式（９）のように近似できる。
【数１３】
2020052544.tif 000015
ここで、行列Ｂの要素中で２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視すると、以下の数式（１０）のように近似できる。
【数１４】
2020052544.tif 000016
数式（１０）において、第１項がロール角速度成分であり、第２項がピッチ角速度及びヨー角速度成分である。走行する車両２に搭載されたカメラ２００では、路面の凹凸などによるピッチ角速度Ωｘと旋回などによるヨー角速度Ωｙは比較的大きいが、ロール角速度Ωｚは小さい。更に、ロール角速度成分は画像中で原点から離れるほど大きくなり、原点付近では小さい。原点、即ち動きベクトルの基準点は光軸近傍、即ち回転中心の近傍であるため、ロール角速度Ωｚは無視することができる。したがって、特定点の周辺領域の主要な動きベクトルは、以下のとおりとなる。
【数１５】
2020052544.tif 000017
【００７３】
特定点の座標（ｘｃ，ｙｃ）を中心とする幅Ｗｃ、高さＨｃの矩形領域として特定点の周辺領域を定める。特定点の周辺領域から近距離の撮像対象を除外するために、特定点よりも少し上方（ｙ座標の負の方向）にずらして特定点の周辺領域を設定してもよい。特定点の周辺領域の主要な動きベクトルは、オプティカルフローのヒストグラムを作成し、ヒストグラム値のピークの座標として抽出する。ヒストグラム作成において、第１実施形態で説明した移動体のラベルが付与された画素は除外される。
【００７４】
このように、第１推定部１８は、光軸近傍にある特定点の周辺領域の主要な動きベクトルを、ヨー軸及びピッチ軸のうち少なくとも一方の軸回りの回転速度成分として推定してもよい。オプティカルフローのヒストグラムから主要な動きベクトルを推定することにより、画素毎のオプティカルフローに誤差が生じても安定して高い精度でロール角速度を推定できる。なお、オプティカルフローは、第１実施形態で説明した手法と同一手法で算出することができる。
【００７５】
（第２推定部１９の推定の詳細）
カメラ２００の動きとオプティカルフローの関係式である数式（６）において、２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視した場合、次の数式（１２）のように記述することができる。
【数１６】
2020052544.tif 000018
カメラ２００の動きであるｖｒ（ｒ）を次の数式（１３）のように記述した場合、数式（１２）は数式（１４）のように記述することができる。
【数１７】
2020052544.tif 000019
【００７６】
数式（１４）をカメラ２００がＣＩＳである場合の拘束条件である数式（２）に代入すると、以下の数式（１５）となる。
【数１８】
2020052544.tif 000020
【００７７】
ピッチ角速度Ωｘ及びヨー角速度Ωｙは、第１推定部１８により既に推定されており、既知である。このため、Ωｚ、ｖｒ（ｒ）、ｖｔｘ（ｒ）、ｖｔｙ（ｒ）の４個を未知数として方程式を解けばよい。カメラ２００の並進運動は、概ねＺ軸方向のみであることから、Ｔｘ＝Ｔｙ＝０と近似することができる。そうすると、以下の数式（１６）のように、未知数をΩｚ及びｖｒ（ｒ）の２つに減じることができる。
【数１９】
2020052544.tif 000021
【００７８】
数式（１６）の変数を以下の変数に変換する。
【数２０】
2020052544.tif 000022
これにより、数式（１６）は、次の数式（１７）のように記述される。
【数２１】
2020052544.tif 000023
【００７９】
ロール角速度Ωｚは全画素共通の未知数であるが、ｖｒ（ｒ）は画素毎に異なる未知数であるため、各画素についてΩｚ及びｖｒ（ｒ）を算出する。具体的には、次の数式（１８）のように記述される評価関数を画素毎の周辺領域（積分区間Γ）において最小化することにより、Ωｚ及びｖｒ（ｒ）を算出する。積分区間Γは、ｖｒ（ｒ）が等しいと近似できる程度の局所領域、例えば注目画素を中心とする３×３画素領域である。
【数２２】
2020052544.tif 000024
Ωｚ及びｖｒ（ｒ）でそれぞれ偏微分した値を０とすると、以下の数式（１９）を解として得られる。
【数２３】
2020052544.tif 000025
ここで、添え字ｉは各画素を特定するインデックスである。
【００８０】
ロール角速度Ωｚiは理想的には全画素で同じ値になる。しかし、ロール角速度Ωｚiは実際には誤差を含んだ値となる。この誤差を低減して安定したロール角速度Ωｚの推定値を得るために、第２推定部１９は、以下の数式（２０）のように、加重平均値としてロール角速度Ωｚを推定する。
【数２４】
2020052544.tif 000026
加重平均の各画素の重みｗiは次の数式（２１）で定義する。
【数２５】
2020052544.tif 000027
数式（２１）は、数式（１９）の分母、即ち解を求めるための行列式であり、解の信頼度を表す。この定義により、信頼度の大きい解に対して大きな重みを付与した平均値を得ることができる。
【００８１】
なお、第１推定部１８及び第２推定部１９の少なくとも一方は、画像に車両などの移動体の領域が存在する場合には、移動体の領域を除外した領域において回転速度成分を推定してもよい。この場合、画像処理装置１Ａは、第１実施形態で説明した移動体検出部を備えればよい。これにより、移動物の運動に起因する撮像画像上の動き成分を排して回転速度成分を推定することができる。
【００８２】
さらに、第１推定部１８及び第２推定部１９の少なくとも一方は、画像中に空（そら）の領域が存在する場合には、当該領域を除外した領域において回転速度成分を推定してもよい。この場合、画像処理装置１Ａは、空領域検出部を備える。撮像画像中の空の領域は空間的にも時間的にも変化（勾配）が小さく、輝度値が飽和している場合もあり、実用上において有意な動きベクトルが得られない場合が少なくない。このため、第１推定部１８は、空の領域を予め検出して、動きベクトルの計算から空の領域を除外することで回転速度成分の推定誤差を抑制する。また、空の領域の距離は撮像対象の前景と比較して十分遠方である。したがって、Ｔｘ／Ｚ（ｘ，ｙ），ＴＹ／Ｚ（ｘ，ｙ），ＴＺ／Ｚ（ｘ，ｙ）の値が０にほぼ等しくなる。連立方程式において係数と解とがともに小さくなる場合、不良設定問題（ill posed problem）となる。この場合、解が不定となり大きな誤差を生じるおそれがある。このため、第２推定部１９は、空の領域を検出して計算から予め除外したり、解を固定値としたりすることにより、不良設定問題に起因する誤差を回避する。
【００８３】
空領域検出部は、強度画像ｇ０（ｘ，ｙ，ｔ）及びそのｘ方向、ｙ方向の偏微分画像ｇ０ｘ（ｘ，ｙ，ｔ），ｇ０ｙ（ｘ，ｙ，ｔ）を用いて、各画素（ｘ，ｙ）に対して空であるか否かを表すラベルを付与する。カメラ２００の光軸は水平方向に設定されているのでｙ＝０が水平線であり、ｙ座標が負となる領域は空である可能性がある領域である。カメラ２００の回転運動、路面勾配などによる水平線の変動を考慮して、水平線のｙ座標をｙｈと定める。空領域検出部は、次の基準により空であるか否かを判定する。
【数２６】
2020052544.tif 000028
【００８４】
上記ラベルの関数の判定条件は、輝度値が所定範囲であり、且つ、空間的な変化量が所定の閾値以下であることを意味する。ここで、閾値ｓｋｙｉｍｉｎ、ｓｋｙｉｍａｘ、ｓｋｙｖａｒは、強度画像ｇ０（ｘ，ｙ，ｔ）、偏微分画像ｇ０ｘ（ｘ，ｙ，ｔ），ｇ０ｙ（ｘ，ｙ，ｔ）を用いて、次のようにして予め算出される。
【００８５】
最初に、空領域検出部は、ｙ＜＝ｙｈの領域において、横軸を輝度値、縦軸を空間勾配ｇ０ｘ２＋ｇ０ｙ２とする２次元ヒストグラムを生成し、そのピーク座標（ｐｉ，ｐｊ）を求める。空領域検出部は、ヒストグラムの値がピーク値に対して所定値（例えばピーク値の１０％）となる最小輝度値、最大輝度値、最大空間勾配値をそれぞれｓｋｙｉｍｉｎ、ｓｋｙｉｍａｘ、ｓｋｙｖａｒと定める。具体的には、空領域検出部は、ピーク座標（ｐｉ，ｐｊ）を始点として横軸負方向に探索し、ヒストグラム値が最初にピーク値の１０％以下になる横軸座標をｓｋｙｉｍｉｎと定める。同様に、空領域検出部は、ピーク座標（ｐｉ，ｐｊ）を始点として横軸正方向に探索し、ヒストグラム値が最初にピーク値の１０％以下になる横軸座標をｓｋｙｉｍａｘと定める。ヒストグラムの縦軸方向に関しても同様に、空領域検出部は、ピーク座標（ｐｉ，ｐｊ）を始点として縦軸正方向に探索し、ヒストグラム値が最初にピーク値の１０％以下になる縦軸座標をｓｋｙｖａｒと定める。
【００８６】
空領域検出部は、輝度値と空間勾配を用いて空であるか否かを判定し空領域を検出したが、これに限定されない。空領域検出部は、Semantic Segmentationなどのラベル付与手法を用いてもよい。第１推定部１８は、空の領域を除外した領域において回転速度成分を推定することにより、輝度値の飽和やテクスチャがないことに起因する回転速度成分の推定精度低下を防止することができる。
【００８７】
画像処理装置１Ａは、第１推定部１８を備えていなくてもよい。この場合、画像処理装置１Ａは、画像取得部１１、設定部１２Ａ及び第２推定部１９を備える。第２推定部１９は、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ２００の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。
【００８８】
（画像処理装置の動作）
図５は、画像処理装置１Ａの動作の一例を示すフローチャートである。図５に示されるフローチャートは、例えば画像処理装置１Ａの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００は動画を出力するものとする。
【００８９】
画像取得部１１は、画像取得処理（ステップＳ２０）として、カメラ２００から画像を取得する。この処理は図２の画像取得処理（ステップＳ１０）と同一である。
【００９０】
設定部１２Ａは、設定処理（ステップＳ２２）として、画像取得処理（ステップＳ２０）にて取得された第１フレームにおける光軸近傍点の位置を、第１フレームの特定点として設定する。
【００９１】
第１推定部１８は、第１推定処理（ステップＳ２４）として、設定処理（ステップＳ２２）にて設定された特定点の周辺領域の動きベクトルに基づいて、ピッチ軸及びヨー軸のうち少なくとも一方の軸回りの回転速度成分を推定する。一例として、第１推定部１８は、特定点の周辺領域のオプティカルフローのヒストグラムから主要な動きベクトルを求めて、ピッチ軸及びヨー軸の軸回りの回転速度成分を推定する。
【００９２】
第２推定部１９は、第２推定処理（ステップＳ２６）として、第１推定処理（ステップＳ２４）にて推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ２００の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。一例として、第２推定部１９は、ピッチ軸及びヨー軸の軸回りの回転速度成分と、数式（８）とに基づいて導出される数式（１７）を解く、即ち数式（１８）を最小化することにより、数式（１９）で示される解を得る。
【００９３】
第２推定処理（ステップＳ２６）が終了した場合、図５に示されるフローチャートが終了する。なお、第２フレームに続く第３フレームを処理する場合、画像取得部１１は、図５に示されるフローチャートを最初から開始する。
【００９４】
（第２実施形態のまとめ）
画像処理装置１Ａでは、光軸方向に移動するカメラ２００により得られた画像の光軸近傍点の位置が特定点の位置として設定される。そして、第１推定部１８により、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうちカメラ２００のピッチ軸及びヨー軸のうち少なくとも一方の軸回りの回転速度成分が推定される。画像処理装置１Ａは、光軸近傍の特定点の周辺領域の主要な動きベクトルを推定することにより、個々の動きベクトル推定に誤差を生じても、主要な動きベクトルとして高精度且つロバストにピッチ軸及びヨー軸の回りの回転速度成分を推定することができる。
【００９５】
そして、第２推定部１９によって、第１推定部１８により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点とカメラ２００の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分が推定される。一度に２つ又は３つの軸回りの回転速度成分が推定される場合、推定するための数式は複数の未知数を含むことになる。ロール軸の軸周りの回転速度成分は、ピッチ軸及びヨー軸の回転速度成分と比べてかなり小さい値となる。大きい値と小さい値を含む複数の未知数を同時に推定すると、値の大きい成分に主導されて値の小さい成分の誤差が大きくなる。画像処理装置１Ａは、ピッチ軸及びヨー軸の少なくとも一方の軸回りの回転速度成分の推定と、ロール軸の軸周りの回転速度成分の推定とを分けて行う。このため、この装置は、一度に２つ又は３つの軸回りの回転速度成分が推定される場合と比べて、ロール軸の軸回りの回転速度成分の推定精度を向上させることができる。
【００９６】
画像処理装置１Ａの第１推定部１８は、特定の位置関係にある複数点で同時に動きベクトル推定しなければならないといった制限事項がないため、テクスチャの少ない画像であっても回転速度成分を推定できる。また、画像処理装置１Ａは、並進速度に対する仮定や制約がないため、カメラ２００の並進速度が変化したり、低速または停止したりしても、正しく回転速度成分を推定できる。
【００９７】
画像処理装置１Ａでは、ロール軸を特定点とカメラ２００の光学中心を結ぶ直線と定義しているため、カメラ２００のピッチ角、ヨー角が変動しても常にロール軸の方向を安定させることができる。画像処理装置１Ａは、ロール軸の方向を安定化することにより、ロール軸回りの回転速度成分を高い精度で推定できる。
【００９８】
［第３実施形態］
第３実施形態に係る画像処理装置１Ｂは、画像処理装置１と比較して、カメラ２００の回転運動を推定する点、及びカメラ２００が撮像対象に到達するまでの到達時間を算出する点が相違する。以下では相違点を中心に説明し、第１実施形態及び第２実施形態と重複する説明は繰り返さない。
【００９９】
（画像処理装置の構成）
図６は、第３実施形態に係る画像処理装置を含む車両の機能ブロック図である。図６に示されるように、画像処理装置１Ｂは、車両２に搭載される。車両２は、カメラ２００及び画像処理装置１Ｂを備える。カメラ２００は、第１実施形態と同一である。
【０１００】
画像処理装置１Ｂは、画像取得部１１、回転推定部１８Ｂ及び到達時間算出部２１を備える。画像取得部１１は、第１実施形態と同一である。
【０１０１】
回転推定部１８Ｂは、カメラ２００の自己運動の少なくとも１つの軸に関する回転速度成分を推定する。回転推定部１８Ｂは、第２実施形態に係る第１推定部１８及び第２推定部１９の少なくとも一方と同一であってもよい。これにより、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転運動成分が推定される。
【０１０２】
到達時間算出部２１は、回転推定部１８Ｂにより推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、少なくとも１つの軸に関する回転速度成分を補償した到達時間を算出する。
【０１０３】
“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第１実施形態で説明した数式（２）又は数式（５）で表現される。“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”は、第２実施形態で説明した数式（６）又は数式（７）で表現される。
【０１０４】
数式（６）の２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視して近似し、さらに変形して得られた数式（１４）の第３項は、以下のとおりである。
【数２７】
2020052544.tif 000029
第３項は、座標原点を中心とする放射状に分布する速度ベクトル場である。この放射状速度ベクトル場の係数であるｖｒ（ｒ）＝ＴＺ／Ｚ（ｒ）は、並進速度成分ＴＺを距離Ｚ（ｒ）で規格化した規格化並進速度と見なすことができ、並進速度成分ＴＺが既知のもと、静止対象の距離Ｚ（ｒ）を与える。更に、逆数１／ｖｒ（ｒ）は、Ｚ軸方向の距離をＺ軸方向の並進速度Ｔｚで除した量であり、画素ｒに対応する撮像対象点がカメラ２００に到達するまでの時間、即ち到達時間を表す。撮像対象が移動する場合でも、逆数１／ｖｒ（ｒ）は正しい到達時間を表す。
【０１０５】
到達時間算出部２１は、数式（１８）を最小化する計算において、ロール角速度Ωｚiと同時に規格化並進速度ｖｒ（ｒ）を推定することも可能である。画素毎に推定するロール角速度Ωｚiには誤差を含むため、同時に推定される規格化並進速度ｖｒ（ｒ）にも誤差を含むことになる。到達時間算出部２１は、数式（２０）に基づいて高い精度でロール角速度Ωｚを推定した後、ロール角速度Ωｚを既知とし、数式（１６）において規格化並進速度ｖｒ（ｒ）のみを未知数とすることで規格化並進速度ｖｒ（ｒ）の推定精度を高めることができる。
【０１０６】
数式（１６）の変数を以下のように変換する。
【数２８】
2020052544.tif 000030
これにより、数式（１６）は、以下のように記述される。
【数２９】
2020052544.tif 000031
【０１０７】
到達時間算出部２１は、数式（２２）から規格化並進速度ｖｒ（ｒ）を算出する。数式（２２）において、Lucas&Kanade法と同様の考え方で評価関数Ｊを定め、評価関数を最小化することにより解を求める。
【数３０】
2020052544.tif 000032
【０１０８】
到達時間算出部２１は、数式（２２）において、Horn&Schunck法と同様の考え方で評価関数Ｊを定め、評価関数を最小化してもよい。この場合の評価関数と解は以下になる。
【数３１】
2020052544.tif 000033
【０１０９】
到達時間算出部２１は、上記手法で算出した規格化並進速度ｖｒ（ｒ）から到達時間である１／ｖｒ（ｒ）を算出する。
【０１１０】
さらに、到達時間算出部２１は、画像に空（そら）を描画した領域が存在する場合には、当該領域を除外した領域において到達時間を算出してもよい。この場合、画像処理装置１Ｂは、第２実施形態で説明した空領域検出部を備えればよい。到達時間算出部２１は、空の領域を除外した領域の到達時間を算出することにより、接触する可能性のない撮像対象を除外し、誤った到達時間を出力することを防止できる。
【０１１１】
（画像処理装置の動作）
図７は、画像処理装置１Ｂの動作の一例を示すフローチャートである。図７に示されるフローチャートは、例えば画像処理装置１Ｂの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００は動画を出力するものとする。
【０１１２】
画像取得部１１は、画像取得処理（ステップＳ３０）として、カメラ２００から画像を取得する。この処理は図２の画像取得処理（ステップＳ１０）と同一である。
【０１１３】
回転推定部１８Ｂは、回転推定処理（ステップＳ３２）として、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転運動成分を推定する。この処理は、図５の第１推定処理（ステップＳ２４）及び第２推定処理（ステップＳ２６）の少なくとも一方と同一である。なお、回転推定処理（ステップＳ３２）として、ジャイロセンサなどを用いてヨー軸、ピッチ軸、ロール軸の軸回りの回転速度成分を取得してもよい。
【０１１４】
到達時間算出部２１は、到達時間算出処理（ステップＳ３４）として、回転推定部１８Ｂにより推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転速度成分を補償した到達時間を算出する。到達時間算出部２１は、数式（２３）又は数式（２４）を用いて規格化並進速度ｖｒ（ｒ）を算出し、その逆数として到達時間を算出する。到達時間算出処理（ステップＳ３４）が終了した場合、図７に示されるフローチャートが終了する。
【０１１５】
（第３実施形態のまとめ）
カメラ２００の運動は並進運動及び回転運動に分けることができる。車両２に搭載されて前方を監視するカメラ２００の場合には、カメラ２００の主要な運動は進行方向の並進運動成分である。しかしながら、カメラ２００の運動は、路面の凹凸などによるピッチ角速度や旋回によるヨー角速度などの回転運動成分をも含む。このため、並進運動成分のみを用いて到達時間を算出した場合には、算出される到達時間の精度が低下するおそれがある。これに対して、画像処理装置１Ｂでは、カメラ２００の自己運動の少なくとも１つの軸に関する回転速度成分が推定される。そして、推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも１つの軸に関する回転速度成分を補償した到達時間が算出される。このように、画像処理装置１Ｂは、回転速度成分を補償した到達時間を推定するため、カメラ２００が上下振動したり旋回運動したりするような場合であっても高い精度で到達（衝突）時間を推定することができる。また、画像処理装置１Ｂは、動きベクトルを推定することなく到達時間を直接算出するため、到達時間の推定を簡易な構成で実現することができる。
【０１１６】
［第４実施形態］
第４実施形態に係る画像処理装置１Ｃは、画像処理装置１と比較して、カメラ２００の回転運動を推定する点、距離で規格化された並進ベクトルを推定する点、及びカメラ２００の運動に起因する画素の動きを除外した動きベクトルを算出する点が相違する。以下では相違点を中心に説明し、第１実施形態〜第３実施形態と重複する説明は繰り返さない。
【０１１７】
（画像処理装置の構成）
図８は、第４実施形態に係る画像処理装置を含む車両の機能ブロック図である。図８に示されるように、画像処理装置１Ｃは、車両２に搭載される。車両２は、カメラ２００及び画像処理装置１Ｃを備える。カメラ２００は、第１実施形態と同一である。
【０１１８】
画像処理装置１Ｃは、画像取得部１１、回転推定部１８Ｃ、規格化並進速度推定部２２及び異常動きベクトル算出部２３を備える。画像取得部１１は、第１実施形態と同一である。
【０１１９】
回転推定部１８Ｃは、カメラ２００の自己運動の少なくとも１つの軸に関する回転速度成分を推定する。回転推定部１８Ｃは、第２実施形態に係る第１推定部１８及び第２推定部１９の少なくとも一方と同一であってもよい。これにより、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転運動成分が推定される。
【０１２０】
規格化並進速度推定部２２は、規格化並進速度を推定する。規格化並進速度は、撮像手段と撮像対象との並進速度を各画素に対応する撮像対象上の点からカメラ２００までの距離で除した値である。画像上の動きベクトル（オプティカルフロー）は、撮像対象が剛体であると仮定すると、カメラ２００と撮像対象との相対回転運動と、カメラ２００と撮像対象との規格化並進速度と、各画素の座標と、に基づいて規定できる。したがって、カメラ２００が運動し、撮像対象が静止している場合、カメラ２００の回転運動と、カメラ２００の規格化並進速度に基づいて動きベクトルを規定できる。
【０１２１】
規格化並進速度推定部２２は、回転推定部１８Ｃにより推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”と、に基づいて少なくとも１つの軸に関する距離で規格化された規格化並進速度を推定する。
【０１２２】
“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第１実施形態で説明した数式（２）又は数式（５）で表現される。“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”は、第２実施形態で説明した数式（６）又は数式（７）で表現される。規格化並進速度推定部２２は、数式（１５）を用いて数式（１３）で表される規格化並進速度を算出する。Ｘ軸方向及びＹ軸方向の並進速度ＴＸ，ＴＹがゼロと近似できる場合、数式（１６）を用いて規格化並進速度としてｖｒ（ｒ）のみを求めてもよい。このときのｖｒ（ｒ）の算出手法は、第３実施形態で説明した到達時間算出部２１の手法と同一である。
【０１２３】
さらに、規格化並進速度推定部２２は、画像に空（そら）を描画した領域が存在する場合には、当該領域を除外した領域において規格化並進速度を算出してもよい。この場合、画像処理装置１Ｂは、第２実施形態で説明した空領域検出部を備えればよい。規格化並進速度推定部２２は、空の領域を除外した領域の規格化並進速度を算出することにより、輝度値の飽和やテクスチャがないことに起因する規格化並進速度の推定精度低下を防止できる。
【０１２４】
撮像対象に移動体が含まれる場合には、上述のように撮像対象が静止していることを仮定して規定された動きベクトルに撮像対象の動きの成分が加算された動きベクトルが異常動きベクトルとして観測される。異常動きベクトルとは、カメラ２００の回転運動と並進運動の両方を補償したときに残る動きベクトルである。この異常動きベクトルは、次のような実用上有意義な性質を持つ。第１は、路面や路側物などの静止対象及び先行車など、カメラ光軸とほぼ平行に運動する対象においてゼロとなる。第２は、車線変更する先行車や出会い頭の車両など、カメラ２００の光軸と異なる方向に並進運動成分を持つ撮像対象にその動きの方向を表すベクトルとして現れる。つまり、交通環境における典型的な注意を払うべき動き（例えば飛び出し、割り込みといった動き）を選択的に取り出せる。
【０１２５】
異常動きベクトル算出部２３は、回転推定部１８Ｃで推定された回転速度成分と、規格化並進速度推定部２２で推定された規格化並進速度と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”と、に基づいてカメラ２００の運動に起因する画素の動きを除外した動きベクトルを算出する。これにより、異常動きベクトル算出部２３は、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
【０１２６】
“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第１実施形態で説明した数式（２）又は数式（５）で表現される。“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”は、第２実施形態で説明した数式（６）又は数式（７）で表現される。数式（６）又は数式（７）は、２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視した場合、数式（１２）のように表現される。
【０１２７】
数式（６）において２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視し、更にＸ軸及びＹ事項方向の並進速度をゼロと仮定すると、オプティカルフローは、カメラ２００の回転運動およびＺ軸方向の並進運動に起因する成分と、その他の成分の和として次の数式で記述される。
【数３２】
2020052544.tif 000034
ここで、その他の成分［Ｖｅｘ、Ｖｅｙ］はカメラ２００の回転運動およびＺ軸方向の並進運動に起因する成分を除去したオプティカルフローである。数式（２５）を、カメラ２００がＣＩＳの場合の拘束条件である数式（２）に代入すると、以下の数式（２６）となる。
【数３３】
2020052544.tif 000035
数式（２６）の変数を以下のように変換する。
【数３４】
2020052544.tif 000036
これにより、数式（２６）は、以下の数式（２７）として記述される。
【数３５】
2020052544.tif 000037
数式（２７）の形式は、カメラ２００がＣＩＳの場合の拘束条件である数式（５）の形式と同一である。したがって、異常動きベクトル算出部２３は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定めて、評価関数を最小化することによりｖｅｘ及びｖｅｙを求める。この動きベクトルは、カメラの回転運動と光軸方向並進運動を補償した動きベクトルであり、路面や路側物など静止対象においてゼロとなる。先行車両などカメラ光軸とほぼ平行に運動する対象の動きベクトルも、数式（１４）の第３項（ｖｒ（ｒ）の項）で表されるため、補償されてゼロとなる。一方、車線変更する先行車や出会い頭の車両など、カメラの光軸と直交する方向に並進運動成分を持つ撮像対象の動きベクトルは、補償されずに異常な動きベクトルとして現れる。
【０１２８】
（画像処理装置の動作）
図９は、画像処理装置１Ｃの動作の一例を示すフローチャートである。図９に示されるフローチャートは、例えば画像処理装置１Ｃの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００は動画を出力するものとする。
【０１２９】
画像取得部１１は、画像取得処理（ステップＳ４０）として、カメラ２００から画像を取得する。この処理は図２の画像取得処理（ステップＳ１０）と同一である。
【０１３０】
回転推定部１８Ｃは、回転推定処理（ステップＳ４２）として、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転運動成分を推定する。この処理は、図７の回転推定処理（ステップＳ３２）と同一である。なお、回転推定処理（ステップＳ４２）として、ジャイロセンサなどを用いてピッチ軸、ヨー軸及びロール軸のうちの少なくとも１つの軸に関する回転速度成分を取得してもよい。
【０１３１】
規格化並進速度推定部２２は、規格化並進推定処理（ステップＳ４４）として、回転推定部１８Ｃにより推定された回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、規格化並進速度を算出する。規格化並進速度推定部２２は、到達時間算出部２１と同様に数式（２３）又は数式（２４）を用いて規格化並進速度を算出する。
【０１３２】
異常動きベクトル算出部２３は、異常動きベクトル算出処理（ステップＳ４６）として、回転推定部１８Ｃで推定された回転速度成分と、規格化並進速度推定部２２で推定された規格化並進速度と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”と、に基づいてカメラ２００の運動に起因する画素の動きを除外した動きベクトルを算出する。異常動きベクトル算出部２３は、数式（２７）を拘束条件として、異常動きベクトルを算出する。異常動きベクトル算出処理（ステップＳ４６）が終了した場合、図９に示されるフローチャートが終了する。
【０１３３】
画像処理装置１Ｃは、異常動きベクトル算出部２３で計算された動きベクトルの中で、所定値より大きい動きベクトルが集中する領域を抽出する異常運動領域抽出部を備えていてもよい。この場合、画像処理装置１Ｃは、所定の方向とは異なる方向の並進運動成分をもつ移動体を抽出することができる。
【０１３４】
（第４実施形態のまとめ）
画像処理装置１Ｃは、カメラ２００の運動と画像上での各画素の動きベクトルとの関係に基づいてカメラ２００の回転運動及び並進運動に起因する画素の動きを除外した動きベクトルを算出するので、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
【０１３５】
［第５実施形態］
第５実施形態に係る画像処理装置１Ｄは、第１実施形態〜第４実施形態に係る画像処理装置の機能を組み合わせた装置である。以下では、第１実施形態〜第４実施形態と重複する説明は繰り返さない。
【０１３６】
（画像処理装置の構成）
図１０は、第５実施形態に係る画像処理装置を含む車両の機能ブロック図である。図１０に示されるように、画像処理装置１Ｄは、車両２に搭載される。車両２は、カメラ２００及び画像処理装置１Ｄを備える。カメラ２００は、第１実施形態と同一である。
【０１３７】
画像処理装置１Ｄは、画像取得部１１、特定点管理部１２、偏微分画像生成部１３、空領域検出部１４、移動体検出部１５、路面領域検出部１６、ピッチ角速度及びヨー角速度推定部１８Ｄ、ロール角速度推定部１９Ｄ、動きベクトル算出部２０、到達時間算出部２１、規格化並進速度推定部２２、異常動きベクトル算出部２３、蓄積画像生成部２４、並進速度推定部２５、距離画像生成部２６、及び、画像記憶部３０を備える。
【０１３８】
画像取得部１１は、第１実施形態と同一である。
【０１３９】
特定点管理部１２は、第１実施形態と同一である。以下では、特定点を探索するテンプレートマッチングの詳細を説明する。特定点管理部１２は、特定点を逐次更新する場合を例に説明する。特定点管理部１２は、特定点記憶部１２３に格納された画像特徴と、現時刻のフレームの画像特徴とを照合することにより、特定点記憶部１２３に格納された特定点に対応する現時刻の座標を求める。特定点記憶部１２３に格納される画像特徴は、特定点周辺の強度画像でもよく、特定点周辺の蓄積画像であってもよい。初期設定部１２０で初期化された直後の場合には、特定点記憶部１２３には初期化時刻の画像が格納されている。それ以外の場合には、後述する蓄積画像生成部２４で生成された蓄積画像が格納されている。ここでは１時刻前までの蓄積画像ｇａｃｃ（ｘ，ｙ，ｔ−１）が格納されている場合における特定点管理部１２の処理を説明する。なお、特定点記憶部１２３に初期時刻画像が格納されている場合の処理も同様である。照合は、３つのマッチング関数Ｍｔ，Ｍｘ，Ｍｙを用いて次の数式（２８）のように行う。
【数３６】
2020052544.tif 000038
ここで、蓄積画像ｇａｃｃ（ｘ，ｙ，ｔ−１）は同時に格納された特定点の座標を用いて、特定点を原点とするように座標変換されているものとする。マッチング関数Ｍｔ，Ｍｘ，Ｍｙはそれぞれ、現時刻画像の座標を特定点である（ｘｃ（ｔ），ｙｃ（ｔ））だけずらしたときにおける、強度値、強度値のｘ方向偏微分、及び強度値のｙ方向偏微分についての、現時刻画像と蓄積画像との差異である。マッチング関数Ｍｔ，Ｍｘ，Ｍｙは、積分区間Σにおけるこれらの和が最小になる（ｘｃ（ｔ），ｙｃ（ｔ））を現時刻の対応点とする。
【０１４０】
上式における積分区間Σは、原点を中心とする局所領域であり、蓄積画像ｇａｃｃは特定点を原点とするように座標変換されているので、特定点の周辺領域を意味する。求められた対応点座標と光軸中心座標とが所定値以上離れている場合には、初期設定部１２０は、光軸中心近傍に特定点を設定し、その周辺領域の画像特徴とともに特定点記憶部１２３に格納する。カメラ２００を搭載した車両２が曲線路を移動する場合などにおいて、特定点が光軸近傍から大きく逸脱すると、特定点が比較的近距離の対象上に設定され、特定点近傍の動きベクトルは撮像手段のピッチ角、ヨー角変動のみに起因するという仮定が成立しなくなる。新たな光軸近傍点で特定点を初期化することにより、特定点が遠方であるという仮定を引き続き成立させて、対応点探索を継続できる。
【０１４１】
偏微分画像生成部１３は、強度画像ｇ０及び相関画像ｇ１に対するｘ方向及びｙ方向に関する空間偏微分画像を生成する。偏微分画像生成部１３は、第１実施形態に係る動きベクトル算出部２０の偏微分画像の生成保存機能と同一であり、強度画像ｇ０及び相関画像ｇ１に対して独立に偏微分演算を行い、結果を保存する。
【０１４２】
空領域検出部１４は、第２実施形態で説明した空領域検出部と同一である。移動体検出部１５は、第１実施形態で説明した移動体検出部と同一である。
【０１４３】
路面領域検出部１６は、画像から路面の領域を推定する。路面領域検出部１６は、強度画像ｇ０（ｘ，ｙ，ｔ）を用いて、各画素（ｘ，ｙ）に対して路面であるか否かを表すラベルを付与する。路面領域検出には、種々の方法を用いることができる。図１１は、路面候補領域の幾何学的定義を説明する図である。図１１に示されるように、路面候補領域Ｒは、画像ＧＯに設定された特定点Ｐ（ｘｃ，ｙｃ）を基点として下方に延在し、なす角がθである２直線と、画像端とによって区画された領域である。路面領域検出部１６は、図１１に示される路面候補領域Ｒを用いて、次の基準により路面であるか否かを判定する。
【数３７】
2020052544.tif 000039
ここで、skylabel(x,y)は空領域検出部１４において付与された空であるか否かを表すラベルであり、movelabel(x,y)は移動体検出部１５において付与された移動体であるか否かを表すラベルである。路面領域の検出手法は、特に限定されない。一例として、路面領域検出部１６は、region growing手法やSemantic Segmentationなどのラベル付与手法を用いることができる。
【０１４４】
ピッチ角速度及びヨー角速度推定部１８Ｄは、第２実施形態で説明した第１推定部１８と同一である。ロール角速度推定部１９Ｄは、第２実施形態で説明した第２推定部１９と同一である。
【０１４５】
動きベクトル算出部２０は、カメラ２００の回転運動に起因する成分を除去したオプティカルフローを算出する。２次の微小項（ｘ２，ｙ２，ｘｙが含まれる項）を無視した場合、オプティカルフローは、カメラ２００の回転運動に起因する成分と、その他の成分の和として数式（２９）で記述される。ここで座標は基準点を原点とするように座標変換されているものとする。
【数３８】
2020052544.tif 000040
その他の成分である［ｖｇｘ，ｖｇｙ］がカメラ２００の回転運動に起因する成分を除去したオプティカルフローである。数式（２９）を、カメラ２００がＣＩＳの場合の拘束条件である数式（２）に代入すると、以下の数式（３０）となる。
【数３９】
2020052544.tif 000041
数式（３０）の変数を以下のように変換する。
【数４０】
2020052544.tif 000042
これにより、数式（３０）は、以下の数式（３１）として記述される。
【数４１】
2020052544.tif 000043
数式（３１）の形式は、カメラ２００がＣＩＳの場合の拘束条件である数式（５）の形式と同一である。したがって、動きベクトル算出部２０は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定めて、評価関数を最小化することによりｖｇｘ及びｖｇｙを求める。
【０１４６】
到達時間算出部２１は、第３実施形態で説明した到達時間算出部２１と同一である。規格化並進速度推定部２２は、第４実施形態で説明した規格化並進速度推定部２２と同一である。なお、到達時間は規格化並進速度の逆数であるので到達時間算出部２１と規格化並進速度推定部２２はいずれか一方のみを実装すればよい。異常動きベクトル算出部２３は、第４実施形態で説明した異常動きベクトル算出部２３と同一である。蓄積画像生成部２４は、第１実施形態で説明した蓄積画像生成部と同一である。蓄積画像生成部２４は、特定点記憶部１２３に特定点周辺の蓄積画像を特定点を原点とするように座標変換して格納する。
【０１４７】
並進速度推定部２５は、距離に基づいて並進速度Ｔｚを推定する。以下では、並進速度推定部２５は、最初に距離を推定し、推定された距離に基づいて並進速度Ｔｚを推定する例を説明する。
【０１４８】
並進速度推定部２５は、一例として、基準環境モデルにより各画素に対応する撮像対象までの距離を推定してもよい。基準環境モデルとは、路面形状と路面に対するカメラ２００の姿勢など、各画素に対応する撮像対象までの距離を特定するための情報である。基準環境モデルの一例として、路面形状と路面に対するカメラ２００の姿勢を用いて距離を推定する。路面が水平な平面であり、カメラ２００の光軸方向が水平かつイメージセンサの横方向が路面と平行の場合、ｙ座標がｙの画素の距離は次式で表される。
【数４２】
2020052544.tif 000044
ｆｃはカメラ２００のレンズの焦点距離、Ｈｃは路面に対するカメラ２００の高さである。数式（３２）は、基準環境モデルの最も単純な一例である。基準環境モデルは、各画素の座標と対応する撮像対象までの距離を対応付けられる他のモデルを用いてもよい。
【０１４９】
並進速度推定部２５は、より一般的には、カメラ２００の内部パラメータ及び外部パラメータを用いて撮像対象までの距離を推定する。カメラ２００の内部パラメータ及び外部パラメータは、カメラで３次元の実空間を撮像したときの画像（２次元）上の座標と実空間の座標とを対応付けるパラメータである。このパラメータが既知であれば、画像上の各画素に対応する実空間は直線として表される。この直線と、例えば路面を表す平面または局面（即ち基準環境モデル）との交点を求めることにより、実空間の３次元座標と画像上の座標とを対応付られ、距離を求めることができる。並進速度推定部２５は、３次元の地形情報を地図情報として保持している場合、ＧＰＳとジャイロセンサにより地図中におけるカメラ２００の位置と姿勢を求めることにより、各画素の距離を推定することができる。並進速度推定部２５は、地形情報以外に建物、看板、標識など地図情報中で位置情報を持つランドマークを利用することもできる。屋内においては、床面、壁面、天井などの形状情報を用いることもできる。並進速度推定部２５は、ＬＩＤＡＲ、ミリ波レーダ又はステレオカメラなどのセンサで測距してもよい。
【０１５０】
次に、並進速度推定部２５は、推定された距離に基づいて並進速度Ｔｚを推定する。数式（１６）の変数を以下のように変換する。
【数４３】
2020052544.tif 000045
これにより、数式（１６）は、以下の数式（３３）として記述される。
【数４４】
2020052544.tif 000046
数式（３３）は、数式（２２）の形式と同一である。したがって、並進速度推定部２５は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定め、評価関数を最小化することにより並進速度Ｔｚを求める。ここで、積分区間Γは距離を推定できたすべての画素の集合である。路面モデルを用いる場合は、roadlabel(x,y)=trueの画素集合であり、他の基準環境モデルの場合や測距センサで距離を推定する場合は、距離を推定できた画素の集合である。
【０１５１】
並進速度推定部２５は、推定された距離Ｚ（ｒ）と、到達時間算出部２１または規格化並進速度推定部２２で推定された規格化並進速度ｖｒ（ｒ）とに基づいて並進速度Ｔｚを推定することもできる。並進速度推定部２５は、距離を推定した積分区間Γにおいてｖｒ（ｒ）／Ｚ（ｒ）を画素毎に算出し、ヒストグラムを作成し、作成したヒストグラムのピーク座標を並進速度Ｔｚの推定値としてもよい。並進速度推定部２５は、ヒストグラムを用いた推定により並進速度Ｔｚの推定精度を高めることができる。
【０１５２】
距離画像生成部２６は、推定された規格化並進速度ｖｒ（ｒ）及び並進速度Ｔｚを用いて距離画像を生成する。各画素の距離は数式（３４）で得られる。
【数４５】
2020052544.tif 000047
ここでは、空領域とラベリングされた画素は、数式（３４）の計算は行わず、距離Ｚ（ｒ）には無限大を意味する所定値が代入される。
【０１５３】
（画像処理装置の動作）
図１２は、画像処理装置１Ｄの動作の一例を示すフローチャートである。図１２に示されるフローチャートは、例えば画像処理装置１Ｄの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００は、ＣＩＳであり、動画を出力するものとする。
【０１５４】
最初に、画像取得部１１は、画像取得処理（ステップＳ４０）として、カメラ２００から画像を取得する。画像取得部１１は、一例として、各時刻において強度画像ｇ０と相関画像ｇ１とを取得する。
【０１５５】
続いて、偏微分画像生成部１３は、偏微分画像生成処理（ステップＳ４２）として、画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０及び相関画像ｇ１に基づいて偏微分画像をそれぞれ作成する。偏微分画像は、後段の空領域検出処理、拘束条件を用いた演算などに利用される。
【０１５６】
続いて、空領域検出部１４は、空領域の検出処理（ステップＳ４４）として、画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０における空領域を検出する。空領域は、コントラストが小さく飽和していることもあるため、後段の種々の推定値演算において除外される。これにより、輝度値の飽和やテクスチャがないことに起因した並進速度などの推定精度低下を防止できる。
【０１５７】
続いて、移動体検出部１５は、移動体領域の検出処理（ステップＳ４６）として、画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０における移動体領域を検出する。移動体領域は、数式（８）に示す距離Ｚ、並進運動Ｔ及び回転運動Ωに関連した拘束条件（カメラ運動とオプティカルフローの関係）が背景などの静止物と異なるため、カメラ運動推定の演算から除外される。また、蓄積画像生成の演算においても、移動体領域は除外される。
【０１５８】
続いて、路面領域検出部１６は、路面領域の検出処理（ステップＳ４８）として、画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０における路面領域を検出する。路面領域は距離が推定可能かつ静止対象物として並進速度推定などに用いられる。到達時間推定においては衝突しない対象としての判断に用いられる。
【０１５９】
続いて、特定点管理部１２は、特定点の追跡処理（ステップＳ５０）として、光軸近傍に定めた特定点を追跡する。特定点管理部１２の初期設定部１２０は、初期時刻においては光軸中心の座標を特定点の位置とし、特定点の位置と特定点の周辺領域の強度画像を特定点記憶部１２３に記憶する。初期時刻以外は、特定点の位置と特定点の周辺領域の蓄積画像を特定点記憶部１２３に記憶する。画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０の画像特徴と、特定点記憶部１２３に記憶された特定点の周辺領域の画像とを照合することにより、一時刻前の特定点に対応する現時刻の座標を求める。求められた座標を現時刻の特定点の位置として、特定点の周辺領域の蓄積画像と関連付けて特定点記憶部１２３に記憶する。特定点の位置（座標）は後段の種々の推定演算において基準座標、即ち座標原点として用いられる。
【０１６０】
続いて、ピッチ角速度及びヨー角速度推定部１８Ｄは、ピッチ角速度及びヨー角速度の推定処理（ステップＳ５２）として、基準点に基づいて、カメラ２００のピッチ角速度ΩＸ及びヨー角速度ΩＹを推定する。ピッチ角速度及びヨー角速度推定部１８Ｄは、特定点の周辺領域の動きベクトルのヒストグラムを作成し、そのピーク座標からピッチ角速度及びヨー角速度を推定する。
【０１６１】
続いて、ロール角速度推定部１９Ｄは、ロール角速度の推定処理（ステップＳ５４）として、ピッチ角速度及びヨー角速度の推定処理（ステップＳ５２）にて推定されたピッチ角速度及びヨー角速度と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”と基づいて、画像取得処理（ステップＳ４０）にて取得された強度画像ｇ０のロール角速度ΩＺを推定する。
【０１６２】
ここまでの処理でカメラ運動の回転速度成分がすべて得られる。以降で説明される到達時間の算出処理（ステップＳ５６）から後段の処理と、カメラ２００の回転運動を補償した動きベクトルの算出処理（ステップＳ６６）とは、並列的に実行することができる。
【０１６３】
到達時間算出部２１は、到達時間の算出処理（ステップＳ５６）として、得られたカメラ運動の回転速度成分と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、画像中の各画素に対応する対象物がカメラ２００に到達するのに要する到達時間を算出する。これにより、カメラ２００の回転運動の影響は除かれる。ここで演算される到達時間は、カメラ２００から撮像対象までの距離をカメラ２００の光軸方向の並進速度で除した値である。その逆数はカメラの光軸方向の並進速度を距離で規格化した規格化並進速度である。
【０１６４】
続いて、規格化並進速度推定部２２は、規格化並進速度の推定処理（ステップＳ５８）として、到達時間の算出処理（ステップＳ５６）にて得られた到達時間の逆数を演算し、規格化並進速度を得る。
【０１６５】
ここまでの処理でカメラ運動の回転速度成分と、規格化並進速度とが得られる。以降で説明される蓄積画像の生成処理（ステップＳ６０）から後段の処理と、異常動きベクトルの算出処理（ステップＳ６８）とは、並列的に実行することができる。
【０１６６】
蓄積画像生成部２４は、蓄積画像の生成処理（ステップＳ６０）として、一時刻前までの蓄積画像と現時刻の画像との強度値の荷重和として蓄積画像を生成する。特定点の周辺領域の画像特徴はカメラ２００の回転運動に起因して位置がずれ、さらにカメラ２００の並進運動に起因して変形する。このため、蓄積画像生成部２４は、これらを補償して強度値を蓄積する。蓄積画像生成部２４は、生成した特定点の周辺領域の蓄積画像を特定点記憶部１２３に格納する。
【０１６７】
続いて、並進速度推定部２５は、並進速度の推定処理（ステップＳ６２）として、カメラ２００の内部パラメータ及び外部パラメータを用いて、基準環境モデル基づいて各画素に対応する撮像対象までの距離を推定し、推定された距離に基づいて並進速度Ｔｚを推定する。並進速度推定部２５は、画素ごとに推定された距離に到達時間算出部２１で推定された規格化並進速度の逆数を乗じて、画素ごとに並進速度Ｔｚを推定する。画素毎に推定した並進速度Ｔｚのヒストグラムを作成し、作成したヒストグラムのピーク座標を並進速度Ｔｚの推定値とする。
【０１６８】
続いて、距離画像生成部２６は、距離画像の生成処理（ステップＳ６４）として、規格化並進速度の推定処理（ステップＳ５８）で得られた規格化並進速度と、並進速度の推定処理（ステップＳ６２）で得られた並進速度とに基づいて、距離画像を生成する。距離画像生成部２６は、路面など基準環境モデルを適用できる領域についてのみ距離情報を得る。距離画像生成部２６は、全ての画素について撮像対象が静止しているという仮定の基に距離画像を生成してもよい。
【０１６９】
到達時間の算出処理（ステップＳ５６）と並行して実行可能な、カメラ２００の回転運動を補償した動きベクトルの算出処理（ステップＳ６６）について説明する。動きベクトル算出部２０は、ピッチ角速度及びヨー角速度推定部１８Ｄとロール角速度推定部１９Ｄとで推定されたカメラ運動の回転速度成分に基づいて、カメラ２００の回転運動を補償した動きベクトルを算出する。
【０１７０】
蓄積画像の生成処理（ステップＳ６０）と並行して実行可能な、異常動きベクトルの算出処理（ステップＳ６８）について説明する。異常動きベクトル算出部２３は、ピッチ角速度及びヨー角速度推定部１８Ｄとロール角速度推定部１９Ｄとで推定されたカメラ運動の回転速度成分と、規格化並進速度推定部２２で推定された規格化並進速度と、“撮像対象の輝度値はカメラ２００と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ２００の運動と画像上での各画素の動きベクトルとの関係”と基づいて、カメラ２００の運動に起因する画素の動きを除外した異常動きベクトルを算出する。
【０１７１】
距離画像の生成処理（ステップＳ６４）、カメラ回転運動を補償した動きベクトルの算出処理（ステップＳ６６）及び異常動きベクトルの算出処理（ステップＳ６８）が終了すると、図１２に示されるフローチャートが終了する。
【０１７２】
（画像処理装置の動作の他の例）
図１２は、カメラ２００がＣＩＳの場合の動作例である。カメラ２００が一般的なイメージセンサである場合には、以下のように図１２を変更すればよい。
【０１７３】
画像取得処理（ステップＳ４０）では、画像取得部１１は、強度画像ｇ０のみを得る。強度画像ｇ０は、数式（１）における強度ｆと同一である。
【０１７４】
偏微分画像生成処理（ステップＳ４２）では、偏微分画像生成部１３は、数式（１）における以下数式を計算する。
【数４６】
2020052544.tif 000048
偏微分画像生成部１３は、時間偏微分ｆｔについては、連続するフレーム間の差分を計算する。
【０１７５】
空領域の検出処理（ステップＳ４４）、移動体領域の検出処理（ステップＳ４６）、路面領域の検出処理（ステップＳ４８）、及び、特定点の追跡処理（ステップＳ５０）については、カメラ２００が一般的なイメージセンサである場合と、カメラ２００がＣＩＳの場合とで同一の処理となる。
【０１７６】
ピッチ角速度及びヨー角速度の推定処理（ステップＳ５２）では、ピッチ角速度及びヨー角速度推定部１８Ｄは、主要な動きベクトルを求めるために、数式（１）で表される拘束条件に基づいて、Lucas&Kanade法またはHorn&Schunck法によりオプティカルフローを算出する。オプティカルフローの算出はこれらに限定されず、ブロックマッチング等の他の方法を用いてもよい。
【０１７７】
ロール角速度の推定処理（ステップＳ５４）では、ロール角速度推定部１９Ｄは、数式（１４）をカメラ２００が一般的なイメージセンサである場合の拘束条件である数式（１）に代入して、ロール角速度を推定する。Ｘ軸方向及びＹ軸方向の並進速度成分をゼロと近似すると、数式（１６）は以下のように置き換えられる。
【数４７】
2020052544.tif 000049
これにより、数式（１７）における係数ｈθ，ｈｒ，ｈｂは、次式となる。
【数４８】
2020052544.tif 000050
以上のように係数を置き換えた数式（１７）を拘束条件として、ロール角速度を推定する。
【０１７８】
到達時間の算出処理（ステップＳ５６）では、数式（２２）における係数ｈｒ，ｈｂは、次式となる。
【数４９】
2020052544.tif 000051
到達時間算出部２１は、係数を上記のように置き換えて、数式（２２）を解く。
【０１７９】
規格化並進速度の推定処理（ステップＳ５８）及び蓄積画像の生成処理（ステップＳ６０）は、カメラ２００が一般的なイメージセンサである場合と、カメラ２００がＣＩＳの場合とで同一の処理となる。
【０１８０】
並進速度の推定処理（ステップＳ６２）は、カメラ２００が一般的なイメージセンサである場合と、カメラ２００がＣＩＳの場合とで同一の処理となる。規格化並進速度を用いない場合、並進速度推定部２５は、数式（３３）における係数ｈｒ，ｈｂを次式で置き換える。
【数５０】
2020052544.tif 000052
並進速度推定部２５は、係数を上記のように置き換えて、数式（３３）を解く。
【０１８１】
距離画像の生成処理（ステップＳ６４）は、カメラ２００が一般的なイメージセンサである場合と、カメラ２００がＣＩＳの場合とで同一の処理となる。
【０１８２】
カメラの回転運動を補償した動きベクトルの算出処理（ステップＳ６６）では、動きベクトル算出部２０は、数式（２９）をカメラ２００が一般的なイメージセンサである場合の拘束条件である数式（１）に代入して、動きベクトル［Ｖgｘ、Ｖgｙ］を算出する。動きベクトル算出部２０は、数式（３０）を以下のように置き換える。
【数５１】
2020052544.tif 000053
【０１８３】
異常動きベクトルの算出処理（ステップＳ６８）では、異常動きベクトル算出部２３は、数式（２５）をカメラ２００が一般的なイメージセンサである場合の拘束条件である数式（１）に代入して、動きベクトル［Ｖｅｘ、Ｖｅｙ］を算出する。異常動きベクトル算出部２３は、数式（２６）を以下のように置き換える。
【数５２】
2020052544.tif 000054
【０１８４】
（第５実施形態のまとめ）
画像処理装置１Ｄは、第１実施形態〜第４実施形態に係る画像処理装置の機能を組合せて一連の処理として動作する。このように、第１実施形態〜第４実施形態に係る画像処理装置の各機能はモジュールとして独立しており、選択的に組み合わせることができる。
【０１８５】
［第６実施形態］
第５実施形態に係る画像処理装置１Ｅは、画像処理装置１と比較して、カメラが固定されており、撮像対象が移動している場合が相違する。以下では相違点を中心に説明し、第１実施形態〜第３実施形態と重複する説明は繰り返さない。
【０１８６】
画像処理装置１Ｅは、一例として、ファクトリーオートメーション（ＦＡ）における部品の塗装検査工程で用いられる。反射材が混入された透明な層を持つ塗装がなされた自動車用部品などは、表面だけではなく透明な層の内部のクラックまで検査する必要がある。このような場合、塗装検査の最終工程を人による目視検査に頼らざる得ない場合が少なくない。このため、欠陥の検出された場合に欠陥の部品上の位置（以下、部品座標という）の特定を同時に行うことが実用上重要となる。
【０１８７】
図１３は、第６実施形態に係る検査システムの概要図である。図１３に示される検査システム１００は、多関節ロボットにより把持されたワークを画像検査するシステムである。検査システム１００は、カメラ２００Ａ、画像処理装置１Ｅ、照明装置２０１及び多関節ロボット２０２を有する。
【０１８８】
カメラ２００Ａは、カメラ２００と比較して、固定されている点が相違し、その他は同一である。カメラ２００Ａは、撮像対象であるワークＷを解像度良く撮影できるように撮像条件が設定されている。カメラ２００Ａは、背景の解像度がワークＷに対する解像度より低くなるように設定されていてもよい。
【０１８９】
画像処理装置１Ｅは、カメラ２００Ａと接続されており、カメラ２００Ａにより撮像された画像を処理する。照明装置２０１は、撮像対象に光を照射する。多関節ロボット２０２は、固定された基台４０から支点４２を介して伸びるアーム４１を有する。アーム４１は、その先端で物体を把持する機能を有する。多関節ロボット２０２は、支点４２から所定距離離れた位置でワークＷを把持し、さまざまな姿勢のワークＷをカメラ２００Ａで撮像できるように動作する。
【０１９０】
多関節ロボット２０２が動作する度に、ワークＷに動作方向に平行な振動が発生する。この振動により画像上の座標と部品座標とのズレが時間的に変動する。すなわち、部品座標が不安定になるという課題がある。図１４は、振動の影響を示す画像の一例である。図１４の（Ａ）はワークＷが左に振れたときに撮像された画像Ｇ１である。図１４の（Ｂ）はワークＷが真ん中に位置したときに撮像された画像Ｇ２である。図１４の（Ｃ）はワークＷが右に振れたときに撮像された画像Ｇ３である。このため、振動が終了するまで待機した後、撮影を行い、取得された画像に対して画像処理により欠陥を検出するという方式が一般的である。このような待機時間は、検査工程の効率化の障害となる。特に、撮像対象の形状が複雑な場合は、撮像対象を多数の姿勢で撮像する必要があり、待機時間の課題はより深刻となる。
【０１９１】
画像処理装置１Ｅは、第１実施形態〜第５実施形態で説明された技術思想を用いて、カメラ２００Ａと撮像対象の相対運動を積極的に補正することにより、待機時間を削減する。さらに、画像処理装置１Ｅは、ワークＷに欠陥があった場合には、ワークＷ上の位置を指定するための部品座標の安定化を行うことで、検査工程を効率化する。
【０１９２】
ワークＷを動かしながら撮影した画像は、オプティカルフローがない背景領域と、ワークＷのオプティカルフローが生じる検査対象領域とからなる。このような画像に対して、上記実施形態で開示された画像中に基準点を設定し動画像を安定化するという技術思想を適切に適用すれば、固定されたカメラであっても所望の安定した画像を得ることができる。
【０１９３】
ただし、固定されたカメラにおいては、第１実施形態で説明された光軸近傍点を初期値として特定点に代入する初期値設定方法を用いることができない。このため、画像処理装置１Ｅは、撮像対象の運動を補正するための別の基準点設定方法を採用する。
【０１９４】
最も簡易な基準点設定方法は、特定点をユーザが手動で代入する方法である。例えば、カメラ２００Ａで取得された画像をモニターに表示し、オペレータがタッチペンもしくはマウスなどで撮像対象の像内の少なくとも１点を指定すればよい。例えば、画像処理装置１Ｅは、特定点を指定するユーザ操作を受け付ける受付部を有する。これにより、第１実施形態に係る構成を利用することができる。この場合、撮像対象の各部の動きは連動し一様となることを利用して、カメラで取得された画像から動きベクトルが算出される。そして、動きベクトルが画像上で一様な領域が抽出される。そして、一様な領域の中の手動指定点に対応する点が初期値とされ、少なくとも１個の特定点が記憶される。その後の特定点および基準点の追跡、並びに部品座標系の安定化は、第１実施形態と同一である。
【０１９５】
手動で特定点を指定したワークＷに対して任意の欠陥検出手段を適用することにより欠陥が検出される。欠陥の画像上の位置が特定された場合、画像処理装置１Ｅは、部品座標の安定化によって、部品座標系での欠陥の位置を高い精度で特定できるという効果を奏する。基準点の初期値は、自動で設定されてもよい。以下、初期値が自動で設定される画像処理装置１Ｅの例を説明する。
【０１９６】
図１５は、第６実施形態に係る画像処理装置の機能ブロック図である。図１５に示されるように、画像処理装置１Ｅは、画像取得部１１Ａ、動きベクトル算出部１１Ｂ、領域設定部１１Ｃ、及び、特定点管理部１２を有する。
【０１９７】
画像取得部１１Ａは、第１実施形態の画像取得部１１と同一である。
【０１９８】
動きベクトル算出部１１Ｂは、画像に基づいて動きベクトルを算出する。動きベクトル算出部１１Ｂは、撮像対象の各部の動きは連動しており一様となることを利用して、カメラ２００Ａで取得された画像から動きベクトルを算出する。
【０１９９】
領域設定部１１Ｃは、動きベクトル算出部１１Ｂにより算出された動きベクトルに基づいて、動きベクトルが一様な領域を画像に設定する。
【０２００】
特定点管理部１２は、初期設定部１２０Ｅ、探索部１２１、出力部１２２及び特定点記憶部１２３を有する。
【０２０１】
初期設定部１２０Ｅは、領域設定部１１Ｃにより設定された領域に含まれる点の位置を特定点の初期位置として特定点の周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。
【０２０２】
初期設定部１２０Ｅは、領域設定部１１Ｃにより設定された領域のうち、空間情報量の多い点を特定点の初期位置としてもよい。
【０２０３】
探索部１２１及び出力部１２２は、第１実施形態と同一である。
【０２０４】
特定点管理部１２は、出力部１２２により基準点が設定された場合には、基準点が設定された画像を保存してもよい。この場合、特定点管理部１２は、フレームごとに基準点に基づいて座標変換（位置合わせ）し、過去から全フレームまでの輝度値を累算した蓄積画像を記憶部に記憶する蓄積画像生成部を備える。蓄積画像は、カメラ２００の運動を補償された画像となる。上述した更新部は、蓄積画像中の特定点の位置とその周辺領域の画像特徴とに基づいて、特定点記憶部１２３を更新してもよい。蓄積画像は、特定点の周辺領域の画像特徴に関して、より長時間の情報が反映されている。つまり、ある蓄積画像において特定点が瞬時的に移動体により遮蔽されている場合であっても、他の蓄積画像において移動体により遮蔽されていない状況の特定点に関する画像特徴を得ることができる。このため、時間的に安定して対応点を求めることができる。
【０２０５】
固定されたカメラ２００Ａに対して撮像対象が移動している場合、撮影対象が画面から外れる場合がある。このため、画像処理装置１Ｅは、特定点がカメラ２００Ａで得られた画像上の所定の範囲から逸脱したことを検出して特定点逸脱信号を出力する特定点逸脱検出部を備えてもよい。
【０２０６】
画像処理装置１Ｅは、特定点逸脱信号を用いてユーザに逸脱警告を行う警報部を有してもよい。警報部は、特定点逸脱信号を用いてユーザに手動による特定点の初期値入力を促す報知を行ってもよい。画像処理装置１Ｅは、特定点逸脱信号に基づいて特定点管理部１２を動作させ、特定点を再設定させてもよい。
【０２０７】
焦点が合わないなどの事由により、カメラ２００Ａで取得された画像から特定点が消失する場合もある。このため、画像処理装置１Ｅは、特定点の消失を検出して特定点消失信号を出力する特定点消失検出部を備えてもよい。
【０２０８】
画像処理装置１Ｅは、特定点消失信号を用いてユーザに逸脱警告を行う警報部を有してもよい。警報部は、特定点消失信号を用いてユーザに手動による特定点の初期値入力を促す報知を行ってもよい。画像処理装置１Ｅは、特定点消失信号に基づいて特定点管理部１２を動作させ、特定点を再設定させてもよい。
【０２０９】
（画像処理装置の動作）
図１６は、画像処理装置１Ｅの動作の一例を示すフローチャートである。図１６に示されるフローチャートは、例えば画像処理装置１Ｅの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ２００Ａは、ＣＩＳであり、動画を出力するものとする。
【０２１０】
画像取得部１１Ａは、画像取得処理（ステップＳ７０）として、カメラ２００Ａから画像を取得する。この処理は図２の画像取得処理（ステップＳ１０）と同一である。
【０２１１】
続いて、動きベクトル算出部１１Ｂは、動きベクトル算出処理（ステップＳ７２）として、撮像対象の各部の動きは連動しており一様となることを利用して、画像取得処理（ステップＳ７０）にて取得された画像に基づいて動きベクトルを算出する。
【０２１２】
続いて、領域設定部１１Ｃは、領域設定処理（ステップＳ７４）として、動きベクトル算出処理（ステップＳ７２）にて算出された動きベクトルに基づいて、動きベクトルが一様な領域を画像に設定する。
【０２１３】
初期設定部１２０は、初期設定処理（ステップＳ７６）として、領域設定処理（ステップＳ７４）にて設定された領域に含まれる座標点の位置を、第１フレームの特定点の初期位置としてその座標点の周辺領域の画像特徴と関連付けて特定点記憶部１２３に格納する。
【０２１４】
探索部１２１は、探索処理（ステップＳ７８）として、特定点記憶部１２３に格納された特定点の周辺領域の画像特徴に基づいて、画像取得処理（ステップＳ１０）にて取得された第２フレームにおける特定点の対応点を探索する。
【０２１５】
出力部１２２は、出力処理（ステップＳ８０）として、第２フレームの対応点の位置を第２フレームの基準点の位置として出力する。出力部１２２は、一例として、画像処理装置１Ｅの記憶部に第２フレームの基準点を出力し、参照可能な状態とする。
【０２１６】
出力処理（ステップＳ８０）が終了した場合、図１６に示されるフローチャートが終了する。なお、第２フレームに続く第３フレームを処理する場合、画像取得部１１Ａは、図１６に示されるフローチャートを最初から開始する。このとき、特定点記憶部１２３は、特定点の初期位置を記憶しているので、画像取得部１１Ａは、画像取得処理（ステップＳ１０）として、基準点を設定する対象となる第３フレームのみを取得すればよい。
【０２１７】
（第６実施形態のまとめ）
めっき部品や塗装部品など、特徴量が少なく、かつ、動きベクトルが大きい場合には、第１画像と第２画像とを対応付けることが困難となる。画像処理装置１Ｅによれば、動きベクトルが一様な領域に含まれる点を用いて第２画像に基準点を設定することにより、特徴量が少ない場合であっても認識対象を画像間で対応付けることができる。
【０２１８】
（変形例）
上述した各実施形態は、当業者の知識に基づいて種々の変更、改良を施した様々な形態で実施することができる。
【０２１９】
例えば、第６実施形態の画像処理装置１Ｅは、搬送ローラ上の撮影対象を撮像するシステムにも適用することができる。
【０２２０】
第６実施形態において、カメラ２００Ａは固定されているとして説明を行ったが、カメラ２００が多関節ロボット２０２のアーム４１又は他の多関節ロボットに設けられていてもよい。この場合であっても、同様にして相対運動を補正することができる。
【符号の説明】
【０２２１】
１，１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ…画像処理装置、２…車両、１１，１１Ａ…画像取得部、１１Ｂ，２０…動きベクトル算出部、１１Ｃ…領域設定部、１２…特定点管理部、１３…偏微分画像生成部、１４…空領域検出部、１５…移動体検出部、１６…路面領域検出部、１８…第１推定部、１８Ｂ，１８Ｃ…回転推定部、１８Ｄ…ピッチ角速度及びヨー角速度推定部、１９…第２推定部、１９Ｄ…ロール角速度推定部、２１…到達時間算出部、２２…規格化並進速度推定部、２３…異常動きベクトル算出部、２４…蓄積画像生成部、２５…並進速度推定部、２６…距離画像生成部、３０…画像記憶部、１００…検査システム、１２０，１２０Ｅ…初期設定部、１２１…探索部、１２２…出力部、１２３…特定点記憶部、２００，２００Ａ…カメラ。
【図１】
2020052544.tif 000055
【図２】
2020052544.tif 000056
【図３】
2020052544.tif 000057
【図４】
2020052544.tif 000058
【図５】
2020052544.tif 000059
【図６】
2020052544.tif 000060
【図７】
2020052544.tif 000061
【図８】
2020052544.tif 000062
【図９】
2020052544.tif 000063
【図１０】
2020052544.tif 000064
【図１１】
2020052544.tif 000065
【図１２】
2020052544.tif 000066
【図１３】
2020052544.tif 000067
【図１４】
2020052544.tif 000068
【図１５】
2020052544.tif 000069
【図１６】
2020052544.tif 000070