JP7143703B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP7143703B2
JP7143703B2 JP2018179121A JP2018179121A JP7143703B2 JP 7143703 B2 JP7143703 B2 JP 7143703B2 JP 2018179121 A JP2018179121 A JP 2018179121A JP 2018179121 A JP2018179121 A JP 2018179121A JP 7143703 B2 JP7143703 B2 JP 7143703B2
Authority
JP
Japan
Prior art keywords
image
unit
camera
point
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018179121A
Other languages
English (en)
Other versions
JP2020052544A (ja
Inventor
映夫 深町
敏樹 金道
峰樹 曽我
洋一 加藤
繁 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2018179121A priority Critical patent/JP7143703B2/ja
Priority to EP19191963.8A priority patent/EP3633617A3/en
Priority to US16/565,711 priority patent/US10991105B2/en
Priority to CN201910891795.2A priority patent/CN110942470B/zh
Publication of JP2020052544A publication Critical patent/JP2020052544A/ja
Application granted granted Critical
Publication of JP7143703B2 publication Critical patent/JP7143703B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Endoscopes (AREA)

Description

本開示は、画像処理装置に関する。
特許文献1は、車載カメラなどの撮像部により得られた画像を処理する装置を開示する。この装置は、車両の振動によって変位する画像内の変位の中心位置(消失点)を検出する。この装置は、消失点を監視することにより、撮像された画像における車両の振動に起因する画像の変位量を算出する。
具体的には、この装置は、検出領域の座標の履歴に基づいて周波数解析(フーリエ変換)を行い、検出領域における振動周波数と各周波数の強度を示すパワースペクトル強度との関係を示すグラフを作成する。これにより、パワースペクトル強度が最も高い周波数が特定される。帯域通過フィルタを用いて当該周波数を含む所定の周波数帯域が抽出される。続いて、抽出された所定の周波数帯域は、逆フーリエ変換され、検出領域内の所定の周波数帯域における変位量の時間変化が得られる。変位量が0となる時間に撮像された画像(平衡画像)は、車両に定常的に発生している振動の影響をカメラが受けてないときに撮像された画像である。そして、複数の平衡画像の横エッジの縦方向の動きに基づいてオプティカルフローが算出される。これにより、平衡画像において縦方向の画像速度及び速度方向が算出される。そして、カメラで撮像された画像の画像速度から平衡画像の画像速度の平均値が減算されることにより、車両の定常的な振動によって発生する画像速度が除去された画像速度が得られる。このように補正された画像速度の水平方向中央に座標軸が設定され、座標軸上において最も移動速度が小さい座標が消失点の座標として設定される。この消失点を基準として、画像間のブレ補正などが行われる。
特開2006-170961号公報
ところで、車両に搭載された撮像部により得られた画像に基づいて車両、歩行者、標識、信号、白線などの認識対象を認識する場合には、複数の画像を用いることにより、認識精度を高めることができる。複数の画像を用いて認識対象を認識するためには、画像間で認識対象を対応付ける必要がある。車両の振動などによって撮像部に動きがある場合には画像の座標変動が生じるため、画像間で認識対象を対応付けることが困難となる。
特許文献1は、上述のとおり、推定された消失点を用いることにより認識対象を画像間で対応付ける装置を開示する。しかしながら、特許文献1記載の装置は、認識対象を画像間で十分に対応付けることができない場合がある。例えば、カメラのフレームレートより高い周波数の振動成分が存在する場合には、特許文献1記載の装置は、検出領域のy座標値の時間経過を周波数解析したとしても平衡画像又は平衡画像の画像速度を正しく検出することができないおそれがある。そして、平衡画像の画像速度は変位量が0になる時刻の画像速度の平均であるため、特許文献1記載の装置は、それ以外の時刻の画像は正しく画像速度を補正できないおそれがある。さらに、車両が曲線路を走行する場合には、特許文献1記載の装置は、消失点を検出することが困難となり、画像の変位量を正しく求めることができなくなるおそれがある。
本開示は、撮像部に動きがある場合であっても認識対象を画像間で対応付けることができる画像処理装置を提供する。
本開示の一側面は、光軸方向に移動する撮像部により得られた画像に基準点を設定する画像処理装置である。この装置は、記憶部と、撮像部により得られた第1画像における光軸近傍点の位置を第1画像の特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて記憶部に格納する初期設定部と、記憶部に格納された画像特徴に基づいて、撮像部により得られた第2画像における特定点の対応点を探索する探索部と、第2画像の対応点の位置を第2画像の基準点の位置として出力する出力部とを備える。
一側面に係る画像処理装置では、光軸方向に移動する撮像部により得られた第1画像の光軸近傍点の位置が特定点の初期位置として設定される。光軸近傍点は、ロール角の変動及び並進運動に起因する動きベクトルが小さい点である。光軸近傍点の位置は、光軸近傍点の周辺領域の画像特徴と関連付けられて特定点として記憶される。この特定点を用いて、第1画像と第2画像とが対応付けられる。第1画像の特定点に対応する第2画像の対応点は、光軸近傍点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第2画像の基準点となる。基準点とは、第1画像と第2画像とを対応付ける際に基準となる位置であり、例えば第2画像における相対位置座標の基準となる位置である。このとき、第1画像においては特定点が相対位置座標の基準である。この装置は、第1画像における光軸近傍点を用いて第2画像に基準点を設定することにより、撮像部に高速な回転運動成分がある場合であっても認識対象を画像間で対応付けることができる。さらに、この装置の対応付けの手法は、特定の変位量になる時刻の画像に依存しないため、画像が撮像される全ての時刻で正しく基準点を設定することができる。また、この装置の対応付けの手法は、消失点を基準点としないため、消失点を検出できない場合でも正しく動きベクトルを算出することができる。
一実施形態に係る画像処理装置は、第2画像の各画素において画素と基準点との相対動きベクトルを算出する動きベクトル算出部を備えてもよい。出力される基準点の位置と記憶部に格納された特定点の位置との差分は、特定点が記憶部に格納された時点から第2画像の生成時までの動きベクトルであり、ピッチ角及びヨー角の変動に起因する。このため、この画像処理装置は、画素と基準点との相対的な動きである相対動きベクトルを算出することにより、ピッチ角及びヨー角の変動に起因する座標変動を補償することができる。
本開示の他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部の回転運動を推定する画像処理装置である。この装置は、画像の光軸近傍点を特定点として設定する設定部と、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち撮像部の撮像面と平行であって互いに直交する第1軸及び第2軸のうち少なくとも一方の軸回りの回転速度成分を推定する第1推定部と、第1推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点と撮像部の光学中心とを結ぶ直線である第3軸の軸回りの回転速度成分を推定する第2推定部とを備える。
他の側面に係る画像処理装置では、光軸方向に移動する撮像部により得られた画像の光軸近傍点の位置が特定点の位置として設定される。そして、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち撮像部の撮像面と平行であって互いに直交する第1軸及び第2軸のうち少なくとも一方の軸回りの回転速度成分が推定される。そして、第1推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点と撮像部の光学中心とを結ぶ直線である第3軸の軸回りの回転速度成分が推定される。一度に2つ又は3つの軸回りの回転速度成分が推定される場合、推定するための数式は複数の未知数を含むことになる。第3軸の軸周りの回転速度成分は、第1軸及び第2軸の回転速度成分と比べてかなり小さい値となる。大きい値と小さい値を含む複数の未知数を同時に推定すると、値の大きい成分に主導されて値の小さい成分の誤差が大きくなる。この装置は、第1軸及び第2軸の少なくとも一方の軸回りの回転速度成分の推定と、第3軸の軸周りの回転速度成分の推定とを分けて行う。このため、この装置は、一度に2つ又は3つの軸回りの回転速度成分が推定される場合と比べて、第3軸の軸回りの回転速度成分の推定精度を向上させることができる。
本開示のさらに他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部が撮像対象に到達するまでの到達時間を算出する画像処理装置である。この装置は、撮像部の自己運動の少なくとも1つの軸に関する回転速度成分を推定する回転推定部と、回転推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも1つの軸に関する回転速度成分を補償した到達時間を算出する到達時間算出部とを備える。
車両に搭載されて前方を監視するカメラのように光軸方向に移動する撮像部の場合には、撮像部の主要な運動は進行方向の並進運動成分である。しかしながら、撮像部の運動は、路面の凹凸などによるピッチ角速度や旋回によるヨー角速度などの回転運動成分をも含む。このため、並進運動成分のみを用いて到達時間を算出した場合には、算出される到達時間の精度が低下するおそれがある。これに対して、さらに他の側面に係る画像処理装置では、撮像部の自己運動の少なくとも1つの軸に関する回転速度成分が推定される。そして、推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも1つの軸に関する回転速度成分を補償した到達時間が算出される。このように、この装置は、回転速度成分を補償した到達時間を推定するため、撮像部が上下振動したり旋回運動したりするような場合であっても高い精度で到達(衝突)時間を推定することができる。また、この装置は、動きベクトルを推定することなく到達時間を直接算出するため、到達時間の推定を簡易な構成で実現することができる。
本開示のさらに他の側面は、光軸方向に移動する撮像部により得られた画像に基づいて撮像部の運動を補償した動きベクトルを算出する画像処理装置である。この装置は、撮像部の自己運動の少なくとも1つの軸に関する回転速度成分を推定する回転推定部と、回転推定部により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係と、に基づいて少なくとも1つの軸に関する距離で規格化された並進速度を推定する規格化並進速度推定部と、回転推定部で推定された回転速度成分と、規格化並進速度推定部で推定された並進速度と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係と、に基づいて撮像部の運動に起因する画素の動きを除外した動きベクトルを算出する異常動きベクトル算出部とを備える。
画像上の動きベクトル(オプティカルフロー)は、撮像対象が剛体であると仮定すると、撮像部と撮像対象との相対回転運動と、撮像部と撮像対象との距離規格化相対並進運動と、各画素の座標とに基づいて規定され得る。距離規格化相対並進運動は、撮像部と撮像対象との相対並進速度を、各画素に対応する撮像対象上の点から撮像部までの距離で除した値である。したがって、撮像部が運動して撮像対象が静止している場合には、撮像部の回転運動と、撮像部の距離規格化並進運動速度に基づいて動きベクトルが規定される。一方、撮像対象に移動物が含まれる場合には、規定された動きベクトルに撮像対象の動きの成分が加算された動きベクトルが観測される。この装置は、撮像部の運動と画像上での各画素の動きベクトルとの関係に基づいて撮像部の運動に起因する画素の動きを除外した動きベクトルを算出するので、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
本開示のさらに他の側面は、固定された撮像部により得られた第1画像の特定点を用いて撮像部により得られた第2画像に基準点を設定する画像処理装置である。この装置は、記憶部と、第1画像に基づいて動きベクトルを算出する動きベクトル算出部と、動きベクトル算出部により算出された動きベクトルに基づいて、動きベクトルが一様な領域を第1画像に設定する領域設定部と、領域に含まれる点の位置を特定点の初期位置として特定点の周辺領域の画像特徴と関連付けて記憶部に格納する初期設定部と、記憶部に格納された画像特徴に基づいて、第2画像における特定点の対応点を探索する探索部と、第2画像の対応点の位置を第2画像の基準点の位置として出力する出力部とを備える。
さらに他の側面に係る画像処理装置では、固定された撮像部により得られた第1画像に基づいて動きベクトルが算出され、動きベクトルが一様な領域が第1画像に設定される。そして、動きベクトルが一様な領域に含まれる点の位置が特定点の初期位置として設定される。特定点の位置は、特定点の周辺領域の画像特徴と関連付けられて記憶される。この特定点を用いて、第1画像と第2画像とが対応付けられる。第1画像の特定点に対応する第2画像の対応点は、特定点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第2画像の基準点となる。基準点とは、第1画像と第2画像とを対応付ける際に基準となる位置であり、例えば第2画像における相対位置座標の基準となる位置である。特徴量が少なく、かつ、動きベクトルが大きい場合には、第1画像と第2画像とを対応付けることが困難となる。この装置は、動きベクトルが一様な領域に含まれる点を用いて第2画像に基準点を設定することにより、特徴量が少ない場合であっても認識対象を画像間で対応付けることができる。
本開示の種々の側面及び実施形態によれば、撮像部に動きがある場合であっても認識対象を画像間で対応付けることができる画像処理装置が提供される。
第1実施形態に係る画像処理装置を含む車両の機能ブロック図である。 図1の画像処理装置の動作の一例を示すフローチャートである。 第2実施形態に係る画像処理装置を含む車両の機能ブロック図である。 カメラ座標系の定義を示す図である。 図3の画像処理装置の動作の一例を示すフローチャートである。 第3実施形態に係る画像処理装置を含む車両の機能ブロック図である。 図6の画像処理装置の動作の一例を示すフローチャートである。 第4実施形態に係る画像処理装置を含む車両の機能ブロック図である。 図8の画像処理装置の動作の一例を示すフローチャートである。 第5実施形態に係る画像処理装置を含む車両の機能ブロック図である。 路面候補領域の幾何学的定義を説明する図である。 図10の画像処理装置の動作の一例を示すフローチャートである。 第6実施形態に係る検査システムの概要図である。 (A)はワークが左に振れたときに撮像された画像である。(B)はワークが真ん中に位置したときに撮像された画像である。(C)はワークが右に振れたときに撮像された画像である。 第6実施形態に係る画像処理装置の機能ブロック図である。 図15の画像処理装置の動作の一例を示すフローチャートである。
以下、図面を参照して、例示的な実施形態について説明する。なお、以下の説明において、同一又は相当要素には同一符号を付し、重複する説明は繰り返さない。
[第1実施形態]
(画像処理装置の構成)
図1は、第1実施形態に係る画像処理装置を含む車両の機能ブロック図である。図1に示されるように、画像処理装置1は、車両2に搭載される。車両2は、カメラ200(撮像部の一例)を備える。カメラ200は、車両2の進行方向に向けられている。このため、カメラ200の撮像方向(光軸方向)は、車両2の進行方向と概ね一致する。つまり、カメラ200は、概ね光軸方向に移動する撮像部である。カメラ200は、ピンホールカメラモデルが成立するように校正されている。即ち、カメラ200の内部パラメータは既知であり、レンズ歪も補正された状態である。本開示は、撮像部の移動の影響を適切に低減する実用的な技術思想を開示するものであり、当然のことながら車両の進行方向と光軸方向のずれを補正する効果も内包する。このため、本開示は、前記二つの方向の厳密な一致を求めるものではない。以下、「光軸方向に移動する」とは、概ね光軸方向に移動するとの意味である。
カメラ200の一例は、時間相関イメージセンサ(CIS:Correlation Image Sensor)である。CISは、各画素の光強度信号と全画素共通の参照信号との時間相関を出力するイメージセンサである。CISによれば、参照信号を正弦波信号とすることにより、正弦波信号の周波数のフーリエ変換に相当する出力を得られる。CISは、一般的なイメージセンサにより取得可能な強度画像gを出力するとともに、各画素の強度信号と全画素共通の参照信号との時間相関を相関画像gとして出力する。相関画像gは互いに位相が90°異なる参照信号に対する2つの相関画像を実部と虚部として複素数で表現している。カメラ200は、動画を構成する画像(フレーム)を生成してもよい。この場合、カメラ200は、所定の時間間隔で画像を出力する。以下では、カメラ200がCISである例を説明するが、カメラ200は、強度画像のみを出力する一般的なイメージセンサであってもよい。
画像処理装置1は、カメラ200と通信可能に構成され、カメラ200により得られた画像を処理する装置である。画像処理装置1、即ちECUは、CPU(Central Processing Unit)などの演算部、ROM(Read OnlyMemory)やRAM(Random Access Memory)などの記憶部、及び、CAN(Controller Area Network)通信回路などの通信部を有する電子制御ユニットである。ECUは、例えばCAN通信回路を用いて通信するネットワークに接続される。ECUは、例えば、CPUが出力する信号に基づいて、CAN通信回路を動作させてデータを入出力し、データをRAMに記録し、ROMに記録されているプログラムをRAMにロードし、RAMにロードされたプログラムを実行することで、画像処理装置1の後述する構成要素の機能を実現する。ECUは、複数の電子制御ユニットから構成されてもよい。
画像処理装置1は、光軸方向に移動するカメラ200により得られた画像に基準点を設定する。基準点を設定する対象となる画像は、強度画像であってもよいし、相関画像であってもよい。基準点とは、カメラ200により得られた画像間を対応付ける際に基準となる位置(座標点)である。基準点は、第1の強度画像と第2の強度画像との対応付け、第1の相関画像と第2の相関画像との対応付け、第1の強度画像と第2の相関画像との対応付けの何れにおいても基準とすることができる。以下では、カメラ200により得られた任意の画像を第1画像といい、カメラ200により得られた、第1画像とは異なる任意の画像を第2画像という。
画像処理装置1は、画像取得部11、特定点管理部12、及び、動きベクトル算出部20を備える。なお、画像処理装置1は、動きベクトル算出部20を必ずしも備える必要はない。
画像取得部11は、カメラ200から画像を取得する。画像取得部11は、例えばネットワークを介してカメラ200により得られた画像を取得する。画像取得部11は、一例として動画のフレームを各時刻において取得する。
特定点管理部12は、初期設定部120、探索部121、出力部122及び特定点記憶部123(記憶部の一例)を備える。
初期設定部120は、カメラ200により得られた第1画像における光軸近傍点の位置を第1画像の特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。光軸近傍点とは、カメラ200の撮像面において、カメラ200の光軸と撮像面との交点の周囲に位置する点である。光軸近傍点は、カメラ200の光軸と撮像面との交点であってもよい。初期設定部120は、第1画像に基づいて光軸近傍点を取得し、第1画像の特定点の初期位置として特定点記憶部123に記憶する。特定点とは、基準点を決定するための座標点である。初期設定部120は、第1画像に基づいて光軸近傍点の周辺領域の画像特徴を取得する。周辺領域とは、光軸近傍点を含む所定の大きさの領域であり、画像特徴とは強度画像であり、強度画像から抽出されたエッジやコーナーなどの特徴量であってもよい。初期設定部120は、取得された光軸近傍点の画像上の位置と画像特徴とを関連付けて特定点記憶部123に格納する。関連付けるとは、光軸近傍点の画像上の位置が特定された場合に画像特徴が特定されるように画像特徴の座標範囲を定めることをいう。
カメラ200の運動は並進三成分と回転三成分(ピッチ角、ヨー角、ロール角)に分けて考えることができる。回転三成分の中のピッチ角、ヨー角変動に起因する画像の座標変動、即ち動きベクトル(オプティカルフロー)は、カメラ200と撮像対象との距離に依存せずに画像上で一様になる。カメラ200のロール角変動に起因する画像上の動きベクトルの大きさは、画像中で位置により異なり、ロール角の回転中心からの距離に依存する。一方、カメラ200の並進運動に起因する画像上の動きベクトルはカメラ200と撮像対象との距離に依存し、近距離ほど大きく十分遠方では無視できるほど小さい。光軸方向に移動するカメラ200で得られた画像中の光軸近傍は、遮蔽物がない場合、十分遠方と考えることができる。したがって、光軸近傍ではロール角変動及び並進運動に起因する動きベクトルは十分小さいとみなせる。初期設定部120は、光軸近傍点を特定点とすることにより、ロール角変動及び並進運動に起因する動きベクトルの影響が小さい座標点同士を対応させることができる。
初期設定部120は、光軸近傍点の候補のうち、関連付ける画像特徴の情報(空間情報量)が最も多い点を特定点の初期位置として選択してもよい。この場合、探索部121における対応点の探索の確実性及び処理安定性が向上する。一例として、初期設定部120は、初期時刻において光軸中心の座標(x,y)を特定点座標の候補とする。そして、特定点座標の候補の座標(x,y)の周辺におけるエッジ強度の積分値を以下数式で算出する。
Figure 0007143703000001

初期設定部120は、エッジ強度の積分値が所定の閾値以上の場合には、座標(x,y)を特定点とし、周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。初期設定部120は、エッジ強度の積分値が所定の閾値よりも小さい場合には、座標(x,y)の近傍でエッジ強度の積分値、即ち空間情報量が最も大きい点を特定点として選択し、その周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。
初期設定部120は、第1画像に車両などの移動体の領域が存在する場合には、当該領域外に特定点を設定してもよい。この場合、特定点管理部12は、移動体領域を検出する移動体検出部を備える。移動体領域の検出手法は、特に限定されない。一例として、移動体検出部は、Semantic Segmentationなどのラベル付与手法やSSD(SingleShot Multibox Detector)などのパターン認識手法を用いることができる。SemanticSegmentationでは、強度画像g(x,y,t)を用いて、各画素(x,y)に対して移動体であるか否かを表すラベルが付与される。SSDなどのパターン認識手法では、移動体が矩形として検出される。この場合、移動体検出部は、画素毎に移動体であるか否かを表すラベルを付与する必要はなく、矩形の左右上下端の座標のみを保持すればよい。これにより、メモリ使用が効率化される。初期設定部120は、移動体検出部により移動体領域が検出された場合、移動体領域外に存在する光軸近傍点の候補を特定点の初期位置として選択する。これにより、探索部121において、移動物の運動に起因する撮像画像上の動き成分を排して対応点を求めることができる。なお、初期設定部120は、特定点と関連付けて格納される画像特徴から移動体領域に係る画像特徴を予め除いてもよい。
探索部121は、特定点記憶部123に格納された特定点の周辺領域の画像特徴に基づいて、カメラ200により得られた第2画像における特定点の対応点を探索する。具体的には、探索部121は、特定点記憶部に格納された特定点位置と対応する第2画像が撮像された時刻tにおける特定点の位置(座標)である(x(t),y(t))を求める。探索部121は、一例として、特定点の周辺領域の画像特徴をテンプレートとし、テンプレートマッチングにより対応点を探索する。
探索部121は、特定点記憶部123に格納された特定点の周辺領域の画像特徴のうち、移動体領域に含まれる画像特徴を除いて対応点を探索してもよい。例えば、画像特徴として強度画像が特定点に関連付けられている場合、探索部121は、移動体領域を除外した強度画像を用いて対応点を探索する。この場合、特定点管理部12は、上述した移動体検出部を備える。探索部121は、移動体検出部により移動体領域が検出された場合、移動体領域を除外した強度画像を用いて対応点を探索する。
出力部122は、第2画像の対応点の位置を第2画像の基準点の位置として出力する。出力部122は、画像処理装置1の記憶部に第2画像の基準点を出力してもよいし、他の構成要素に第2画像の基準点を出力してもよい。出力された基準点は、認識対象を画像間で対応付ける際に利用されたり、カメラ200の動きを補償する際に利用されたりする。出力された基準点の座標と格納された特定点の座標との差分は、特定点が格納された時点から第2画像の取得までの動きベクトルにおけるピッチ角及びヨー角の変動に起因する成分となる。
初期設定部120は、所定の条件が満たされたときに、特定点記憶部123に格納された特定点を初期化してもよい。例えば、初期設定部120は、第2画像の対応点が第2画像の光軸近傍点の範囲から逸脱する場合には、第2画像の光軸近傍点をその光軸近傍点の周囲領域の画像特徴と関連付けて特定点記憶部123に格納する。この場合、カメラ200を搭載した車両2が曲線路を移動する場合などにおいて、特定点が光軸近傍から逸脱したとしても継続して対応点を設定することができる。
特定点管理部12は、所定の条件が満たされたときに、特定点記憶部123に格納された特定点を更新する更新部を有してもよい。一例として、更新部は、第2フレームの対応点をその対応点の周囲領域の画像特徴と関連付けて特定点記憶部123に格納する。この場合、特定点の初期値設定時点から特定点周辺の画像特徴が変化しているときであっても、より確実に第3フレームにおける対応点を求めることができる。更新部は、フレームごとに特定点を更新してもよいし、フレームごとに特定点を更新しつつ特定のフレームにおいては特定点を更新しないようにしてもよい。
特定点管理部12は、フレームごとに基準点に基づいて座標変換(位置合わせ)し、過去から前フレームまでの輝度値を累算した蓄積画像を記憶部に記憶する蓄積画像生成部を備えてもよい。蓄積画像は、カメラ200の運動を補償された画像となる。上述した更新部は、特定点の位置とその周辺領域の蓄積画像とを関連付けて、特定点記憶部123を更新する。蓄積画像は、特定点の周辺領域の画像特徴に関して、より長時間の情報が反映されている。つまり、ある時刻の強度画像において特定点が瞬時的に移動体により遮蔽されている場合であっても、他の時刻の強度画像において移動体により遮蔽されていない状況の特定点に関する画像特徴を得ることができる。このため、時間的に安定して対応点を求めることができる。
蓄積画像生成部は、例えば、探索部121において求められた対応点と光軸中心座標との距離が所定の閾値以下の場合には、現時刻の強度画像g(x,y)と一時刻前までの蓄積画像gacc(x,y,t-1)の荷重和を演算することにより、蓄積画像を生成する。ここで、強度画像g(x,y)は現時刻の特定点、即ち基準点を原点とするように座標変換されており、蓄積画像gacc(x,y,t-1)は、一時刻前の特定点座標を原点とするように座標変換されている。荷重和の演算は以下のとおりとなる。
Figure 0007143703000002

ここで、w:[0<w<1]は荷重平均における強度画像gの荷重である。特定点座標を原点とする座標系に変換されているため、カメラ200の回転運動に起因する位置ズレは補正され、生成される現時刻までの蓄積画像の原点も特定点に対応する。生成された蓄積画像は、探索部121で求められた特定点の座標とともに特定点記憶部123に格納される。
動きベクトル算出部20は、第2画像の各画素において画素と基準点との相対動きベクトルを算出する。相対動きベクトルは、基準点に対する動きを記述したベクトルである。動きベクトル算出部20は、各画素の動きベクトル(オプティカルフロー)を算出してから、基準点との相対動きベクトルを算出してもよいが、基準点を原点として動きベクトルを算出することで、相対動きベクトルを算出した方が少ない計算量で高い精度が得られる。基準点に基づいて相対動きベクトルを算出することにより、カメラ200の回転運動を補償した動きベクトルを得ることができる。
オプティカルフロー(v=[v,v)は、“撮像対象の輝度値がカメラ200と撮像対象との相対運動により変化しないことを仮定”して算出される。時刻tの位置(x,y)における強度をf(x,y,t)と記述したとき、この仮定を表す拘束条件は、以下の数式(1)となる。
Figure 0007143703000003

数式(1)は、カメラ200が一般的なイメージセンサである場合における拘束条件である。
カメラ200がCISである場合には、上記の拘束条件は以下の数式(2)となる。
Figure 0007143703000004

ここでjは虚数単位を表し、画像g(x,y)は以下である。
Figure 0007143703000005

数式(2)を以下の数式(4)を用いて変形すると、数式(5)となる。
Figure 0007143703000006

Figure 0007143703000007
数式(4)のhは、CISから入力される強度画像g及び相関画像gに対するx方向及びy方向に関する空間偏微分画像である。数式(5)は、カメラ200がCISの場合の拘束条件となる。数式(5)のh,h,bは複素数の係数である。動きベクトル算出部20は、数式(5)を解くことでオプティカルフローを得ることができる。なお、カメラ200がCISの場合には1画素の出力信号から数式(5)の実部と虚部とに対応する2つの拘束式が得られる。このため、1画素の出力信号から2つの未知数であるオプティカルフローを計算できる。一方、カメラ200が一般的なイメージセンサである場合には、数式(1)を解くことでオプティカルフローを得ることができる。数式(1)は実数方程式であり、1画素の出力信号から得られる拘束式は1つである。未知数よりも方程式の数が少ないため、1画素の出力信号からはオプティカルフローは計算できない。近傍画素ではオプティカルフローは一様であるとの仮定を用いることにより、近傍画素の出力信号を用いて方程式の数を増やすことができる。また、数式(1)のfは時間微分を表し、連続する2フレーム画像の差分からfの値を取得する。近傍画素ではオプティカルフローは一様であるとの仮定を用いること、及び、連続する2フレーム画像の差分を用いることにより、カメラ200が一般的なイメージセンサである場合であっても、オプティカルフローを得ることができる。
動きベクトル算出部20は、数式(4)の空間偏微分画像の演算として、g-gを計算した後に偏微分する。動きベクトル算出部20は、後段の処理において強度画像の空間偏微分画像を用いる場合には、後段の処理においても演算結果を利用できるように、強度画像g及び相関画像gに対して独立に偏微分演算を行い、結果を保存してもよい。動きベクトル算出部20は、一例として、以下に示すようなx方向とy方向のSobelフィルタを適用することで偏微分演算する。
Figure 0007143703000008
動きベクトル算出部20は、フーリエ変換を用いて偏微分を演算してもよい。一般に、関数f(t)のフーリエ変換をF(ω)とした場合、関数f(t)の微分であるf'(t)のフーリエ変換はjωF(ω)となる。したがって、動きベクトル算出部20は、フーリエ変換をし、jωを乗じた後に逆フーリエ変換することで偏微分を演算できる。F及びF-1をそれぞれフーリエ変換、逆フーリエ変換の演算子とした場合、強度画像gのx方向の空間偏微分は次式で表される。
Figure 0007143703000009
(画像処理装置の動作)
図2は、画像処理装置1の動作の一例を示すフローチャートである。図2に示されるフローチャートは、例えば画像処理装置1の動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200は動画を出力するものとする。
画像取得部11は、画像取得処理(ステップS10)として、カメラ200から画像を取得する。画像取得部11は、特定点を設定する対象となる第1画像として第1フレームを取得する。画像取得部11は、基準点を設定する対象となる第2フレームを取得する。
初期設定部120は、初期設定処理(ステップS12)として、画像取得処理(ステップS10)にて取得された第1フレームにおける光軸近傍点の位置を、第1フレームの特定点の初期位置として光軸近傍点の周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。
探索部121は、探索処理(ステップS14)として、特定点記憶部123に格納された特定点の周辺領域の画像特徴に基づいて、画像取得処理(ステップS10)にて取得された第2フレームにおける特定点の対応点を探索する。
出力部122は、出力処理(ステップS16)として、第2フレームの対応点の位置を第2フレームの基準点の位置として出力する。出力部122は、一例として、画像処理装置1の記憶部に第2フレームの基準点を出力し、参照可能な状態とする。
動きベクトル算出部20は、動きベクトル算出処理(ステップS18)として、第2フレームの各画素において画素と基準点との相対動きベクトルを算出する。動きベクトル算出部20は、第2フレームからオプティカルフローを算出する。そして、動きベクトル算出部20は、画像処理装置1の記憶部に格納された第2フレームの基準点を参照し、各画素と基準点との相対動きベクトルを算出する。
動きベクトル算出処理(ステップS18)が終了した場合、図3に示されるフローチャートが終了する。なお、第2フレームに続く第3フレームを処理する場合、画像取得部11は、図3に示されるフローチャートを最初から開始する。
(第1実施形態のまとめ)
車両2に搭載されたカメラ200は、路面の凹凸などによりピッチ角及びヨー角が変動する。ピッチ角及びヨー角の変動に起因して、カメラ200の画像の座標も変動する。画像から車両、歩行者、標識、信号、白線などを認識する場合、複数フレームの情報を用いることで認識精度を高められる。複数フレームの情報を用いて認識するには、認識対象をフレーム間で対応付ける必要がある。しかしながら、上述のような画像の座標変動があると対応付けすることができないか、または、誤った対応付けがなされることにより認識精度が低下するおそれがある。
画像処理装置1では、光軸方向に移動するカメラ200により得られた第1画像の光軸近傍点の位置が特定点の初期位置として設定される。光軸近傍点は、ロール角の変動及び並進運動に起因する動きベクトルが小さい点である。光軸近傍点の位置は、光軸近傍点の周辺領域の画像特徴と関連付けられて特定点として記憶される。この特定点を用いて、第1画像と第2画像とが対応付けられる。第1画像の特定点に対応する第2画像の対応点は、光軸近傍点の周辺領域の画像特徴に基づいて探索される。探索された対応点は、第2画像の基準点となる。基準点は、第1画像と第2画像とを対応付ける際に基準となる位置であり、ピッチ角及びヨー角変動に起因する座標変換を補償する画像上の座標点である。基準点は、例えば第2画像における相対位置座標の基準となる位置である。認識対象の座標を基準点から相対位置として表現することにより、座標変動があっても正しく対応付けが可能であり、複数フレームを用いた認識精度を高めることができる。
画像処理装置1は、第1画像における光軸近傍点を用いて第2画像に基準点を設定することにより、カメラ200に高速な回転運動成分がある場合であっても認識対象を画像間で対応付けることができる。画像処理装置1は、フレームごとに求めた基準点が同一座標になるように座標変換した画像を生成することにより、ピッチ角及びヨー角変動に起因する座標変動が補償された画像、即ち画像ブレが補正された画像を生成することができる。なお、画像ブレ補正は、基準点の座標点さえ分かれば画像を生成することなく演算(例えば動きベクトルの演算)に反映させることができる。つまり、基準点を設定することは、演算上においてブレ補正をすることと同義であるといえる。
さらに、画像処理装置1の対応付けの手法は、カメラ200のピッチ角及びヨー角の変動に起因する座標変動が特定の変位量になる時刻の画像に依存しないため、画像が撮像される全ての時刻で正しく基準点を設定することができる。また、画像処理装置1の対応付けの手法は、消失点を基準点としないため、消失点を検出できない場合でも正しく動きベクトルを算出することができる。
また、出力される基準点の位置と記憶部に格納された特定点の位置との差分は、第1画像が撮像された時点から第2画像が撮像された時点までの動きベクトルであり、ピッチ角及びヨー角の変動に起因する。このため、画像処理装置1は、画素と基準点との相対的な動きである相対動きベクトルを算出することにより、ピッチ角及びヨー角の変動に起因する座標変動を補償することができる。
[第2実施形態]
第2実施形態に係る画像処理装置1Aは、画像処理装置1と比較して、カメラ200の回転運動を推定する点が相違する。以下では相違点を中心に説明し、第1実施形態と重複する説明は繰り返さない。
(画像処理装置の構成)
図3は、第2実施形態に係る画像処理装置を含む車両の機能ブロック図である。図3に示されるように、画像処理装置1Aは、車両2に搭載される。車両2は、カメラ200及び画像処理装置1Aを備える。カメラ200は、第1実施形態と同一である。
画像処理装置1Aは、画像取得部11、設定部12A、第1推定部18及び第2推定部19を備える。画像取得部11は、第1実施形態と同一である。
設定部12Aは、第1実施形態の初期設定部120の特定点設定機能と同一の機能を有する。つまり、設定部12Aは、光軸近傍点を特定点として設定する機能を有する。なお、設定部12Aは、光軸近傍点を特定点として設定する機能だけでなく、初期設定部120の全ての機能を備えていてもよい。設定部12Aは、特定点管理部12と同一であってもよい。
第1推定部18は、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうちカメラ200の撮像面と平行であって互いに直交するピッチ軸(第1軸の一例)及びヨー軸(第2軸の一例)のうち少なくとも一方の軸回りの回転速度成分を推定する。車両2に搭載され前方を監視するカメラ200は、光軸方向に移動する。このカメラ200で得られた画像中の光軸近傍は、遮蔽物がない場合、十分遠方と考えることができる。十分遠方においては、カメラ200の並進運動に起因する動きベクトルは無視できるほど小さくなり、特定点の近傍では特定点とカメラ200の光学中心(画像中心)とを結ぶ直線であるロール軸(第3軸の一例)の軸回りの回転運動に起因する動きベクトルも小さくなる。したがって、光軸近傍の特定点の周辺領域の動きベクトルはピッチ軸及びヨー軸の軸回りの回転運動に起因する成分のみと考えることができる。このため、第1推定部18は、特定点の周辺領域の動きベクトルを用いることにより、ピッチ軸及びヨー軸の軸回りの回転運動に起因する成分を推定することができる。
第2推定部19は、第1推定部18により推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ200の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。
“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、カメラ200がCISの場合、第1実施形態で説明した数式(2)又は数式(5)で表現される。カメラ200が一般的なイメージセンサである場合は数式(1)で表現される。以下では、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”について概説する。
図4は、カメラ座標系の定義を示す図である。図4に示されるように、撮像光学系の光学中心をカメラ200の座標系の原点Oとし、光軸をZ軸とする。Z軸と直交し互いに直交する軸をX軸及びY軸とする。撮像面はZ=fcで表される平面とする。fcはレンズの焦点距離である。カメラ200の運動は、X軸、Y軸及びZ軸の各座標軸に対する並進運動のパラメータと回転運動のパラメータとを用いて定義されるとする。例えば、並進運動Tは、T=(T,T,Y)で表現され、回転運動Ωは、Ω=(Ω,Ω,Ω)で表現される。このとき、カメラ200の動き(運動)によるオプティカルフローは次式で表される。
Figure 0007143703000010

行列成分A,Bを以下のように定義することにより、数式(6)は、数式(7)のように簡潔に表現することができる。
Figure 0007143703000011
数式(7)において、距離Z(x,y)は各画素に対応する物体点までの距離である。数式(7)の第1項はカメラ200の並進運動に起因する成分であり、数式(7)の第2項はカメラ200の回転運動に起因する成分である。上述した数式(6)又は数式(7)は、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”を示している。
数式(7)を、カメラ200がCISの場合の拘束条件である数式(2)に代入することで、以下の数式(8)を得られる。
Figure 0007143703000012

数式(8)は、距離Z、並進運動T及び回転運動Ωに関連した拘束条件となる。つまり、距離Z(x,y),並進運動(T=(T,T,Y))及び回転運動(Ω=(Ω,Ω,Ω))を、数式(8)の拘束条件の下、未知数として解を求めることができる。数式(8)を用いて解を求めることは、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と撮像画像上での各画素の動きベクトルとの関係”とに基づいて未知数を求めることに相当する。つまり、第2推定部19は、数式(8)を用いて特定点とカメラ200の光学中心とを結ぶ直線である第3軸の軸回りの回転速度成分を推定する。
ところで、距離Z(x,y)は画素毎に異なる値である。並進運動Tと回転運動Ωとは全画素共通の未知数である。CISを用いてN画素の出力信号が得られたときには、前述したとおり、2N本の拘束式が得られる。一方、未知数の個数はN+6である。方程式の数が未知数の数以上になる必要があるため、条件2N>=(N+6)が成立する必要がある。条件式を解くと、CISでは、6画素以上の出力信号が得られれば原理的には未知数の解を得ることができる。
車両2への応用の際には、車両運動特有の性質を考慮する必要がある。車両2の進行方向即ちZ軸方向の並進速度成分であるTは大きいが、進行方向に直交する方向の並進速度成分であるT,Tは小さい。そして、路面の凹凸などによるピッチ角速度Ωと旋回によるヨー角速度Ωは比較的大きいが、ロール角速度Ωzは小さい。このような車両運動特有の条件下において誤差を含む6個の未知数を同時に求めようとした場合、値の大きい成分に主導されて値の小さい成分の誤差が大きくなるという現象が生じ、同時に実用的な解を得ることは困難となる。
このように、数式(8)から一度に解を得ようとすると、未知数の個数の問題と誤差の問題とが存在する。これに対して、第2推定部19は、第1推定部18によりピッチ軸及びヨー軸の軸回りの回転速度成分Ω,Ωが推定された後に、ピッチ軸及びヨー軸の軸回りの回転速度成分に基づいて、ロール軸の軸回りの回転速度成分のみを推定する。数式(8)はZ(x,y)を分母とする非線形な方程式であるが、T/Z(x,y),T/Z(x,y),T/Z(x,y)を未知数として方程式を解くことができる。このように、第2推定部19は、数式(8)の未知数の個数を減じた上で、ロール軸回りの回転速度成分のみを推定するため、他の未知数に主導されて誤差を生じることはなく、高い精度で推定できる。例えば、ロール軸の回転速度成分がピッチ軸及びヨー軸の軸回りの回転速度成分より大きい場合でも、推定精度を高めることができる。
以下、第1推定部18によるピッチ軸及びヨー軸の軸回りの回転速度成分の推定の詳細と、第2推定部19によるロール軸の軸回りの回転速度成分の推定の詳細とを説明する。
(第1推定部18の推定の詳細)
特定点は、光軸方向に移動するカメラ200から得られた画像の光軸近傍点に設定されており、さらに追跡されている。よって、特定点は常に十分遠方であるといえる。数式(7)において、距離Z(x,y)が並進速度|T|に対して十分に大きくなるほど数式(7)の第1項は0に近づく。このため、数式(7)は、以下の数式(9)のように近似できる。
Figure 0007143703000013

ここで、行列Bの要素中で2次の微小項(x,y,xyが含まれる項)を無視すると、以下の数式(10)のように近似できる。
Figure 0007143703000014

数式(10)において、第1項がロール角速度成分であり、第2項がピッチ角速度及びヨー角速度成分である。走行する車両2に搭載されたカメラ200では、路面の凹凸などによるピッチ角速度Ωと旋回などによるヨー角速度Ωは比較的大きいが、ロール角速度Ωは小さい。更に、ロール角速度成分は画像中で原点から離れるほど大きくなり、原点付近では小さい。原点、即ち動きベクトルの基準点は光軸近傍、即ち回転中心の近傍であるため、ロール角速度Ωは無視することができる。したがって、特定点の周辺領域の主要な動きベクトルは、以下のとおりとなる。
Figure 0007143703000015
特定点の座標(x,y)を中心とする幅W、高さHの矩形領域として特定点の周辺領域を定める。特定点の周辺領域から近距離の撮像対象を除外するために、特定点よりも少し上方(y座標の負の方向)にずらして特定点の周辺領域を設定してもよい。特定点の周辺領域の主要な動きベクトルは、オプティカルフローのヒストグラムを作成し、ヒストグラム値のピークの座標として抽出する。ヒストグラム作成において、第1実施形態で説明した移動体のラベルが付与された画素は除外される。
このように、第1推定部18は、光軸近傍にある特定点の周辺領域の主要な動きベクトルを、ヨー軸及びピッチ軸のうち少なくとも一方の軸回りの回転速度成分として推定してもよい。オプティカルフローのヒストグラムから主要な動きベクトルを推定することにより、画素毎のオプティカルフローに誤差が生じても安定して高い精度でロール角速度を推定できる。なお、オプティカルフローは、第1実施形態で説明した手法と同一手法で算出することができる。
(第2推定部19の推定の詳細)
カメラ200の動きとオプティカルフローの関係式である数式(6)において、2次の微小項(x,y,xyが含まれる項)を無視した場合、次の数式(12)のように記述することができる。
Figure 0007143703000016

カメラ200の動きであるv(r)を次の数式(13)のように記述した場合、数式(12)は数式(14)のように記述することができる。
Figure 0007143703000017
数式(14)をカメラ200がCISである場合の拘束条件である数式(2)に代入すると、以下の数式(15)となる。
Figure 0007143703000018
ピッチ角速度Ω及びヨー角速度Ωは、第1推定部18により既に推定されており、既知である。このため、Ω、v(r)、vtx(r)、vty(r)の4個を未知数として方程式を解けばよい。カメラ200の並進運動は、概ねZ軸方向のみであることから、T=T=0と近似することができる。そうすると、以下の数式(16)のように、未知数をΩ及びv(r)の2つに減じることができる。
Figure 0007143703000019
数式(16)の変数を以下の変数に変換する。
Figure 0007143703000020

これにより、数式(16)は、次の数式(17)のように記述される。
Figure 0007143703000021
ロール角速度Ωは全画素共通の未知数であるが、v(r)は画素毎に異なる未知数であるため、各画素についてΩ及びv(r)を算出する。具体的には、次の数式(18)のように記述される評価関数を画素毎の周辺領域(積分区間Γ)において最小化することにより、Ω及びv(r)を算出する。積分区間Γは、v(r)が等しいと近似できる程度の局所領域、例えば注目画素を中心とする3×3画素領域である。
Figure 0007143703000022

Ω及びv(r)でそれぞれ偏微分した値を0とすると、以下の数式(19)を解として得られる。
Figure 0007143703000023

ここで、添え字iは各画素を特定するインデックスである。
ロール角速度Ωziは理想的には全画素で同じ値になる。しかし、ロール角速度Ωziは実際には誤差を含んだ値となる。この誤差を低減して安定したロール角速度Ωの推定値を得るために、第2推定部19は、以下の数式(20)のように、加重平均値としてロール角速度Ωを推定する。
Figure 0007143703000024

加重平均の各画素の重みwiは次の数式(21)で定義する。
Figure 0007143703000025

数式(21)は、数式(19)の分母、即ち解を求めるための行列式であり、解の信頼度を表す。この定義により、信頼度の大きい解に対して大きな重みを付与した平均値を得ることができる。
なお、第1推定部18及び第2推定部19の少なくとも一方は、画像に車両などの移動体の領域が存在する場合には、移動体の領域を除外した領域において回転速度成分を推定してもよい。この場合、画像処理装置1Aは、第1実施形態で説明した移動体検出部を備えればよい。これにより、移動物の運動に起因する撮像画像上の動き成分を排して回転速度成分を推定することができる。
さらに、第1推定部18及び第2推定部19の少なくとも一方は、画像中に空(そら)の領域が存在する場合には、当該領域を除外した領域において回転速度成分を推定してもよい。この場合、画像処理装置1Aは、空領域検出部を備える。撮像画像中の空の領域は空間的にも時間的にも変化(勾配)が小さく、輝度値が飽和している場合もあり、実用上において有意な動きベクトルが得られない場合が少なくない。このため、第1推定部18は、空の領域を予め検出して、動きベクトルの計算から空の領域を除外することで回転速度成分の推定誤差を抑制する。また、空の領域の距離は撮像対象の前景と比較して十分遠方である。したがって、T/Z(x,y),T/Z(x,y),T/Z(x,y)の値が0にほぼ等しくなる。連立方程式において係数と解とがともに小さくなる場合、不良設定問題(ill posed problem)となる。この場合、解が不定となり大きな誤差を生じるおそれがある。このため、第2推定部19は、空の領域を検出して計算から予め除外したり、解を固定値としたりすることにより、不良設定問題に起因する誤差を回避する。
空領域検出部は、強度画像g(x,y,t)及びそのx方向、y方向の偏微分画像g0x(x,y,t),g0y(x,y,t)を用いて、各画素(x,y)に対して空であるか否かを表すラベルを付与する。カメラ200の光軸は水平方向に設定されているのでy=0が水平線であり、y座標が負となる領域は空である可能性がある領域である。カメラ200の回転運動、路面勾配などによる水平線の変動を考慮して、水平線のy座標をyと定める。空領域検出部は、次の基準により空であるか否かを判定する。
Figure 0007143703000026
上記ラベルの関数の判定条件は、輝度値が所定範囲であり、且つ、空間的な変化量が所定の閾値以下であることを意味する。ここで、閾値skyimin、skyimax、skyvarは、強度画像g(x,y,t)、偏微分画像g0x(x,y,t),g0y(x,y,t)を用いて、次のようにして予め算出される。
最初に、空領域検出部は、y<=yの領域において、横軸を輝度値、縦軸を空間勾配g0x +g0y とする2次元ヒストグラムを生成し、そのピーク座標(pi,pj)を求める。空領域検出部は、ヒストグラムの値がピーク値に対して所定値(例えばピーク値の10%)となる最小輝度値、最大輝度値、最大空間勾配値をそれぞれskyimin、skyimax、skyvarと定める。具体的には、空領域検出部は、ピーク座標(pi,pj)を始点として横軸負方向に探索し、ヒストグラム値が最初にピーク値の10%以下になる横軸座標をskyiminと定める。同様に、空領域検出部は、ピーク座標(pi,pj)を始点として横軸正方向に探索し、ヒストグラム値が最初にピーク値の10%以下になる横軸座標をskyimaxと定める。ヒストグラムの縦軸方向に関しても同様に、空領域検出部は、ピーク座標(pi,pj)を始点として縦軸正方向に探索し、ヒストグラム値が最初にピーク値の10%以下になる縦軸座標をskyvarと定める。
空領域検出部は、輝度値と空間勾配を用いて空であるか否かを判定し空領域を検出したが、これに限定されない。空領域検出部は、Semantic Segmentationなどのラベル付与手法を用いてもよい。第1推定部18は、空の領域を除外した領域において回転速度成分を推定することにより、輝度値の飽和やテクスチャがないことに起因する回転速度成分の推定精度低下を防止することができる。
画像処理装置1Aは、第1推定部18を備えていなくてもよい。この場合、画像処理装置1Aは、画像取得部11、設定部12A及び第2推定部19を備える。第2推定部19は、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ200の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。
(画像処理装置の動作)
図5は、画像処理装置1Aの動作の一例を示すフローチャートである。図5に示されるフローチャートは、例えば画像処理装置1Aの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200は動画を出力するものとする。
画像取得部11は、画像取得処理(ステップS20)として、カメラ200から画像を取得する。この処理は図2の画像取得処理(ステップS10)と同一である。
設定部12Aは、設定処理(ステップS22)として、画像取得処理(ステップS20)にて取得された第1フレームにおける光軸近傍点の位置を、第1フレームの特定点として設定する。
第1推定部18は、第1推定処理(ステップS24)として、設定処理(ステップS22)にて設定された特定点の周辺領域の動きベクトルに基づいて、ピッチ軸及びヨー軸のうち少なくとも一方の軸回りの回転速度成分を推定する。一例として、第1推定部18は、特定点の周辺領域のオプティカルフローのヒストグラムから主要な動きベクトルを求めて、ピッチ軸及びヨー軸の軸回りの回転速度成分を推定する。
第2推定部19は、第2推定処理(ステップS26)として、第1推定処理(ステップS24)にて推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、特定点とカメラ200の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分を推定する。一例として、第2推定部19は、ピッチ軸及びヨー軸の軸回りの回転速度成分と、数式(8)とに基づいて導出される数式(17)を解く、即ち数式(18)を最小化することにより、数式(19)で示される解を得る。
第2推定処理(ステップS26)が終了した場合、図5に示されるフローチャートが終了する。なお、第2フレームに続く第3フレームを処理する場合、画像取得部11は、図5に示されるフローチャートを最初から開始する。
(第2実施形態のまとめ)
画像処理装置1Aでは、光軸方向に移動するカメラ200により得られた画像の光軸近傍点の位置が特定点の位置として設定される。そして、第1推定部18により、特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうちカメラ200のピッチ軸及びヨー軸のうち少なくとも一方の軸回りの回転速度成分が推定される。画像処理装置1Aは、光軸近傍の特定点の周辺領域の主要な動きベクトルを推定することにより、個々の動きベクトル推定に誤差を生じても、主要な動きベクトルとして高精度且つロバストにピッチ軸及びヨー軸の回りの回転速度成分を推定することができる。
そして、第2推定部19によって、第1推定部18により推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、特定点とカメラ200の光学中心とを結ぶ直線であるロール軸の軸回りの回転速度成分が推定される。一度に2つ又は3つの軸回りの回転速度成分が推定される場合、推定するための数式は複数の未知数を含むことになる。ロール軸の軸周りの回転速度成分は、ピッチ軸及びヨー軸の回転速度成分と比べてかなり小さい値となる。大きい値と小さい値を含む複数の未知数を同時に推定すると、値の大きい成分に主導されて値の小さい成分の誤差が大きくなる。画像処理装置1Aは、ピッチ軸及びヨー軸の少なくとも一方の軸回りの回転速度成分の推定と、ロール軸の軸周りの回転速度成分の推定とを分けて行う。このため、この装置は、一度に2つ又は3つの軸回りの回転速度成分が推定される場合と比べて、ロール軸の軸回りの回転速度成分の推定精度を向上させることができる。
画像処理装置1Aの第1推定部18は、特定の位置関係にある複数点で同時に動きベクトル推定しなければならないといった制限事項がないため、テクスチャの少ない画像であっても回転速度成分を推定できる。また、画像処理装置1Aは、並進速度に対する仮定や制約がないため、カメラ200の並進速度が変化したり、低速または停止したりしても、正しく回転速度成分を推定できる。
画像処理装置1Aでは、ロール軸を特定点とカメラ200の光学中心を結ぶ直線と定義しているため、カメラ200のピッチ角、ヨー角が変動しても常にロール軸の方向を安定させることができる。画像処理装置1Aは、ロール軸の方向を安定化することにより、ロール軸回りの回転速度成分を高い精度で推定できる。
[第3実施形態]
第3実施形態に係る画像処理装置1Bは、画像処理装置1と比較して、カメラ200の回転運動を推定する点、及びカメラ200が撮像対象に到達するまでの到達時間を算出する点が相違する。以下では相違点を中心に説明し、第1実施形態及び第2実施形態と重複する説明は繰り返さない。
(画像処理装置の構成)
図6は、第3実施形態に係る画像処理装置を含む車両の機能ブロック図である。図6に示されるように、画像処理装置1Bは、車両2に搭載される。車両2は、カメラ200及び画像処理装置1Bを備える。カメラ200は、第1実施形態と同一である。
画像処理装置1Bは、画像取得部11、回転推定部18B及び到達時間算出部21を備える。画像取得部11は、第1実施形態と同一である。
回転推定部18Bは、カメラ200の自己運動の少なくとも1つの軸に関する回転速度成分を推定する。回転推定部18Bは、第2実施形態に係る第1推定部18及び第2推定部19の少なくとも一方と同一であってもよい。これにより、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転運動成分が推定される。
到達時間算出部21は、回転推定部18Bにより推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、少なくとも1つの軸に関する回転速度成分を補償した到達時間を算出する。
“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第1実施形態で説明した数式(2)又は数式(5)で表現される。“カメラ200の運動と画像上での各画素の動きベクトルとの関係”は、第2実施形態で説明した数式(6)又は数式(7)で表現される。
数式(6)の2次の微小項(x,y,xyが含まれる項)を無視して近似し、さらに変形して得られた数式(14)の第3項は、以下のとおりである。
Figure 0007143703000027

第3項は、座標原点を中心とする放射状に分布する速度ベクトル場である。この放射状速度ベクトル場の係数であるv(r)=T/Z(r)は、並進速度成分Tを距離Z(r)で規格化した規格化並進速度と見なすことができ、並進速度成分Tが既知のもと、静止対象の距離Z(r)を与える。更に、逆数1/v(r)は、Z軸方向の距離をZ軸方向の並進速度Tで除した量であり、画素rに対応する撮像対象点がカメラ200に到達するまでの時間、即ち到達時間を表す。撮像対象が移動する場合でも、逆数1/v(r)は正しい到達時間を表す。
到達時間算出部21は、数式(18)を最小化する計算において、ロール角速度Ωziと同時に規格化並進速度v(r)を推定することも可能である。画素毎に推定するロール角速度Ωziには誤差を含むため、同時に推定される規格化並進速度v(r)にも誤差を含むことになる。到達時間算出部21は、数式(20)に基づいて高い精度でロール角速度Ωを推定した後、ロール角速度Ωを既知とし、数式(16)において規格化並進速度v(r)のみを未知数とすることで規格化並進速度v(r)の推定精度を高めることができる。
数式(16)の変数を以下のように変換する。
Figure 0007143703000028

これにより、数式(16)は、以下のように記述される。
Figure 0007143703000029
到達時間算出部21は、数式(22)から規格化並進速度v(r)を算出する。数式(22)において、Lucas&Kanade法と同様の考え方で評価関数Jを定め、評価関数を最小化することにより解を求める。
Figure 0007143703000030
到達時間算出部21は、数式(22)において、Horn&Schunck法と同様の考え方で評価関数Jを定め、評価関数を最小化してもよい。この場合の評価関数と解は以下になる。
Figure 0007143703000031
到達時間算出部21は、上記手法で算出した規格化並進速度v(r)から到達時間である1/v(r)を算出する。
さらに、到達時間算出部21は、画像に空(そら)を描画した領域が存在する場合には、当該領域を除外した領域において到達時間を算出してもよい。この場合、画像処理装置1Bは、第2実施形態で説明した空領域検出部を備えればよい。到達時間算出部21は、空の領域を除外した領域の到達時間を算出することにより、接触する可能性のない撮像対象を除外し、誤った到達時間を出力することを防止できる。
(画像処理装置の動作)
図7は、画像処理装置1Bの動作の一例を示すフローチャートである。図7に示されるフローチャートは、例えば画像処理装置1Bの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200は動画を出力するものとする。
画像取得部11は、画像取得処理(ステップS30)として、カメラ200から画像を取得する。この処理は図2の画像取得処理(ステップS10)と同一である。
回転推定部18Bは、回転推定処理(ステップS32)として、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転運動成分を推定する。この処理は、図5の第1推定処理(ステップS24)及び第2推定処理(ステップS26)の少なくとも一方と同一である。なお、回転推定処理(ステップS32)として、ジャイロセンサなどを用いてヨー軸、ピッチ軸、ロール軸の軸回りの回転速度成分を取得してもよい。
到達時間算出部21は、到達時間算出処理(ステップS34)として、回転推定部18Bにより推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転速度成分を補償した到達時間を算出する。到達時間算出部21は、数式(23)又は数式(24)を用いて規格化並進速度v(r)を算出し、その逆数として到達時間を算出する。到達時間算出処理(ステップS34)が終了した場合、図7に示されるフローチャートが終了する。
(第3実施形態のまとめ)
カメラ200の運動は並進運動及び回転運動に分けることができる。車両2に搭載されて前方を監視するカメラ200の場合には、カメラ200の主要な運動は進行方向の並進運動成分である。しかしながら、カメラ200の運動は、路面の凹凸などによるピッチ角速度や旋回によるヨー角速度などの回転運動成分をも含む。このため、並進運動成分のみを用いて到達時間を算出した場合には、算出される到達時間の精度が低下するおそれがある。これに対して、画像処理装置1Bでは、カメラ200の自己運動の少なくとも1つの軸に関する回転速度成分が推定される。そして、推定された回転速度成分と、撮像対象の輝度値は撮像部と撮像対象との相対運動により変化しないことを仮定した拘束条件と、撮像部の運動と画像上での各画素の動きベクトルとの関係とに基づいて、少なくとも1つの軸に関する回転速度成分を補償した到達時間が算出される。このように、画像処理装置1Bは、回転速度成分を補償した到達時間を推定するため、カメラ200が上下振動したり旋回運動したりするような場合であっても高い精度で到達(衝突)時間を推定することができる。また、画像処理装置1Bは、動きベクトルを推定することなく到達時間を直接算出するため、到達時間の推定を簡易な構成で実現することができる。
[第4実施形態]
第4実施形態に係る画像処理装置1Cは、画像処理装置1と比較して、カメラ200の回転運動を推定する点、距離で規格化された並進ベクトルを推定する点、及びカメラ200の運動に起因する画素の動きを除外した動きベクトルを算出する点が相違する。以下では相違点を中心に説明し、第1実施形態~第3実施形態と重複する説明は繰り返さない。
(画像処理装置の構成)
図8は、第4実施形態に係る画像処理装置を含む車両の機能ブロック図である。図8に示されるように、画像処理装置1Cは、車両2に搭載される。車両2は、カメラ200及び画像処理装置1Cを備える。カメラ200は、第1実施形態と同一である。
画像処理装置1Cは、画像取得部11、回転推定部18C、規格化並進速度推定部22及び異常動きベクトル算出部23を備える。画像取得部11は、第1実施形態と同一である。
回転推定部18Cは、カメラ200の自己運動の少なくとも1つの軸に関する回転速度成分を推定する。回転推定部18Cは、第2実施形態に係る第1推定部18及び第2推定部19の少なくとも一方と同一であってもよい。これにより、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転運動成分が推定される。
規格化並進速度推定部22は、規格化並進速度を推定する。規格化並進速度は、撮像手段と撮像対象との並進速度を各画素に対応する撮像対象上の点からカメラ200までの距離で除した値である。画像上の動きベクトル(オプティカルフロー)は、撮像対象が剛体であると仮定すると、カメラ200と撮像対象との相対回転運動と、カメラ200と撮像対象との規格化並進速度と、各画素の座標と、に基づいて規定できる。したがって、カメラ200が運動し、撮像対象が静止している場合、カメラ200の回転運動と、カメラ200の規格化並進速度に基づいて動きベクトルを規定できる。
規格化並進速度推定部22は、回転推定部18Cにより推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”と、に基づいて少なくとも1つの軸に関する距離で規格化された規格化並進速度を推定する。
“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第1実施形態で説明した数式(2)又は数式(5)で表現される。“カメラ200の運動と画像上での各画素の動きベクトルとの関係”は、第2実施形態で説明した数式(6)又は数式(7)で表現される。規格化並進速度推定部22は、数式(15)を用いて数式(13)で表される規格化並進速度を算出する。X軸方向及びY軸方向の並進速度T,Tがゼロと近似できる場合、数式(16)を用いて規格化並進速度としてv(r)のみを求めてもよい。このときのv(r)の算出手法は、第3実施形態で説明した到達時間算出部21の手法と同一である。
さらに、規格化並進速度推定部22は、画像に空(そら)を描画した領域が存在する場合には、当該領域を除外した領域において規格化並進速度を算出してもよい。この場合、画像処理装置1Bは、第2実施形態で説明した空領域検出部を備えればよい。規格化並進速度推定部22は、空の領域を除外した領域の規格化並進速度を算出することにより、輝度値の飽和やテクスチャがないことに起因する規格化並進速度の推定精度低下を防止できる。
撮像対象に移動体が含まれる場合には、上述のように撮像対象が静止していることを仮定して規定された動きベクトルに撮像対象の動きの成分が加算された動きベクトルが異常動きベクトルとして観測される。異常動きベクトルとは、カメラ200の回転運動と並進運動の両方を補償したときに残る動きベクトルである。この異常動きベクトルは、次のような実用上有意義な性質を持つ。第1は、路面や路側物などの静止対象及び先行車など、カメラ光軸とほぼ平行に運動する対象においてゼロとなる。第2は、車線変更する先行車や出会い頭の車両など、カメラ200の光軸と異なる方向に並進運動成分を持つ撮像対象にその動きの方向を表すベクトルとして現れる。つまり、交通環境における典型的な注意を払うべき動き(例えば飛び出し、割り込みといった動き)を選択的に取り出せる。
異常動きベクトル算出部23は、回転推定部18Cで推定された回転速度成分と、規格化並進速度推定部22で推定された規格化並進速度と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”と、に基づいてカメラ200の運動に起因する画素の動きを除外した動きベクトルを算出する。これにより、異常動きベクトル算出部23は、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”は、第1実施形態で説明した数式(2)又は数式(5)で表現される。“カメラ200の運動と画像上での各画素の動きベクトルとの関係”は、第2実施形態で説明した数式(6)又は数式(7)で表現される。数式(6)又は数式(7)は、2次の微小項(x,y,xyが含まれる項)を無視した場合、数式(12)のように表現される。
数式(6)において2次の微小項(x,y,xyが含まれる項)を無視し、更にX軸及びY事項方向の並進速度をゼロと仮定すると、オプティカルフローは、カメラ200の回転運動およびZ軸方向の並進運動に起因する成分と、その他の成分の和として次の数式で記述される。
Figure 0007143703000032

ここで、その他の成分[Vex、Vey]はカメラ200の回転運動およびZ軸方向の並進運動に起因する成分を除去したオプティカルフローである。数式(25)を、カメラ200がCISの場合の拘束条件である数式(2)に代入すると、以下の数式(26)となる。
Figure 0007143703000033

数式(26)の変数を以下のように変換する。
Figure 0007143703000034

これにより、数式(26)は、以下の数式(27)として記述される。
Figure 0007143703000035

数式(27)の形式は、カメラ200がCISの場合の拘束条件である数式(5)の形式と同一である。したがって、異常動きベクトル算出部23は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定めて、評価関数を最小化することによりvex及びveyを求める。この動きベクトルは、カメラの回転運動と光軸方向並進運動を補償した動きベクトルであり、路面や路側物など静止対象においてゼロとなる。先行車両などカメラ光軸とほぼ平行に運動する対象の動きベクトルも、数式(14)の第3項(v(r)の項)で表されるため、補償されてゼロとなる。一方、車線変更する先行車や出会い頭の車両など、カメラの光軸と直交する方向に並進運動成分を持つ撮像対象の動きベクトルは、補償されずに異常な動きベクトルとして現れる。
(画像処理装置の動作)
図9は、画像処理装置1Cの動作の一例を示すフローチャートである。図9に示されるフローチャートは、例えば画像処理装置1Cの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200は動画を出力するものとする。
画像取得部11は、画像取得処理(ステップS40)として、カメラ200から画像を取得する。この処理は図2の画像取得処理(ステップS10)と同一である。
回転推定部18Cは、回転推定処理(ステップS42)として、ピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転運動成分を推定する。この処理は、図7の回転推定処理(ステップS32)と同一である。なお、回転推定処理(ステップS42)として、ジャイロセンサなどを用いてピッチ軸、ヨー軸及びロール軸のうちの少なくとも1つの軸に関する回転速度成分を取得してもよい。
規格化並進速度推定部22は、規格化並進推定処理(ステップS44)として、回転推定部18Cにより推定された回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、規格化並進速度を算出する。規格化並進速度推定部22は、到達時間算出部21と同様に数式(23)又は数式(24)を用いて規格化並進速度を算出する。
異常動きベクトル算出部23は、異常動きベクトル算出処理(ステップS46)として、回転推定部18Cで推定された回転速度成分と、規格化並進速度推定部22で推定された規格化並進速度と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”と、に基づいてカメラ200の運動に起因する画素の動きを除外した動きベクトルを算出する。異常動きベクトル算出部23は、数式(27)を拘束条件として、異常動きベクトルを算出する。異常動きベクトル算出処理(ステップS46)が終了した場合、図9に示されるフローチャートが終了する。
画像処理装置1Cは、異常動きベクトル算出部23で計算された動きベクトルの中で、所定値より大きい動きベクトルが集中する領域を抽出する異常運動領域抽出部を備えていてもよい。この場合、画像処理装置1Cは、所定の方向とは異なる方向の並進運動成分をもつ移動体を抽出することができる。
(第4実施形態のまとめ)
画像処理装置1Cは、カメラ200の運動と画像上での各画素の動きベクトルとの関係に基づいてカメラ200の回転運動及び並進運動に起因する画素の動きを除外した動きベクトルを算出するので、撮像対象の動きに起因する動きベクトル、即ち移動する撮像対象の動きベクトルのみを抽出することができる。
[第5実施形態]
第5実施形態に係る画像処理装置1Dは、第1実施形態~第4実施形態に係る画像処理装置の機能を組み合わせた装置である。以下では、第1実施形態~第4実施形態と重複する説明は繰り返さない。
(画像処理装置の構成)
図10は、第5実施形態に係る画像処理装置を含む車両の機能ブロック図である。図10に示されるように、画像処理装置1Dは、車両2に搭載される。車両2は、カメラ200及び画像処理装置1Dを備える。カメラ200は、第1実施形態と同一である。
画像処理装置1Dは、画像取得部11、特定点管理部12、偏微分画像生成部13、空領域検出部14、移動体検出部15、路面領域検出部16、ピッチ角速度及びヨー角速度推定部18D、ロール角速度推定部19D、動きベクトル算出部20、到達時間算出部21、規格化並進速度推定部22、異常動きベクトル算出部23、蓄積画像生成部24、並進速度推定部25、距離画像生成部26、及び、画像記憶部30を備える。
画像取得部11は、第1実施形態と同一である。
特定点管理部12は、第1実施形態と同一である。以下では、特定点を探索するテンプレートマッチングの詳細を説明する。特定点管理部12は、特定点を逐次更新する場合を例に説明する。特定点管理部12は、特定点記憶部123に格納された画像特徴と、現時刻のフレームの画像特徴とを照合することにより、特定点記憶部123に格納された特定点に対応する現時刻の座標を求める。特定点記憶部123に格納される画像特徴は、特定点周辺の強度画像でもよく、特定点周辺の蓄積画像であってもよい。初期設定部120で初期化された直後の場合には、特定点記憶部123には初期化時刻の画像が格納されている。それ以外の場合には、後述する蓄積画像生成部24で生成された蓄積画像が格納されている。ここでは1時刻前までの蓄積画像gacc(x,y,t-1)が格納されている場合における特定点管理部12の処理を説明する。なお、特定点記憶部123に初期時刻画像が格納されている場合の処理も同様である。照合は、3つのマッチング関数M,M,Mを用いて次の数式(28)のように行う。
Figure 0007143703000036

ここで、蓄積画像gacc(x,y,t-1)は同時に格納された特定点の座標を用いて、特定点を原点とするように座標変換されているものとする。マッチング関数M,M,Mはそれぞれ、現時刻画像の座標を特定点である(x(t),y(t))だけずらしたときにおける、強度値、強度値のx方向偏微分、及び強度値のy方向偏微分についての、現時刻画像と蓄積画像との差異である。マッチング関数M,M,Mは、積分区間Σにおけるこれらの和が最小になる(x(t),y(t))を現時刻の対応点とする。
上式における積分区間Σは、原点を中心とする局所領域であり、蓄積画像gaccは特定点を原点とするように座標変換されているので、特定点の周辺領域を意味する。求められた対応点座標と光軸中心座標とが所定値以上離れている場合には、初期設定部120は、光軸中心近傍に特定点を設定し、その周辺領域の画像特徴とともに特定点記憶部123に格納する。カメラ200を搭載した車両2が曲線路を移動する場合などにおいて、特定点が光軸近傍から大きく逸脱すると、特定点が比較的近距離の対象上に設定され、特定点近傍の動きベクトルは撮像手段のピッチ角、ヨー角変動のみに起因するという仮定が成立しなくなる。新たな光軸近傍点で特定点を初期化することにより、特定点が遠方であるという仮定を引き続き成立させて、対応点探索を継続できる。
偏微分画像生成部13は、強度画像g及び相関画像gに対するx方向及びy方向に関する空間偏微分画像を生成する。偏微分画像生成部13は、第1実施形態に係る動きベクトル算出部20の偏微分画像の生成保存機能と同一であり、強度画像g及び相関画像gに対して独立に偏微分演算を行い、結果を保存する。
空領域検出部14は、第2実施形態で説明した空領域検出部と同一である。移動体検出部15は、第1実施形態で説明した移動体検出部と同一である。
路面領域検出部16は、画像から路面の領域を推定する。路面領域検出部16は、強度画像g(x,y,t)を用いて、各画素(x,y)に対して路面であるか否かを表すラベルを付与する。路面領域検出には、種々の方法を用いることができる。図11は、路面候補領域の幾何学的定義を説明する図である。図11に示されるように、路面候補領域Rは、画像GOに設定された特定点P(x,y)を基点として下方に延在し、なす角がθである2直線と、画像端とによって区画された領域である。路面領域検出部16は、図11に示される路面候補領域Rを用いて、次の基準により路面であるか否かを判定する。
Figure 0007143703000037

ここで、skylabel(x,y)は空領域検出部14において付与された空であるか否かを表すラベルであり、movelabel(x,y)は移動体検出部15において付与された移動体であるか否かを表すラベルである。路面領域の検出手法は、特に限定されない。一例として、路面領域検出部16は、region growing手法やSemantic Segmentationなどのラベル付与手法を用いることができる。
ピッチ角速度及びヨー角速度推定部18Dは、第2実施形態で説明した第1推定部18と同一である。ロール角速度推定部19Dは、第2実施形態で説明した第2推定部19と同一である。
動きベクトル算出部20は、カメラ200の回転運動に起因する成分を除去したオプティカルフローを算出する。2次の微小項(x,y,xyが含まれる項)を無視した場合、オプティカルフローは、カメラ200の回転運動に起因する成分と、その他の成分の和として数式(29)で記述される。ここで座標は基準点を原点とするように座標変換されているものとする。
Figure 0007143703000038

その他の成分である[vgx,vgy]がカメラ200の回転運動に起因する成分を除去したオプティカルフローである。数式(29)を、カメラ200がCISの場合の拘束条件である数式(2)に代入すると、以下の数式(30)となる。
Figure 0007143703000039

数式(30)の変数を以下のように変換する。
Figure 0007143703000040

これにより、数式(30)は、以下の数式(31)として記述される。
Figure 0007143703000041

数式(31)の形式は、カメラ200がCISの場合の拘束条件である数式(5)の形式と同一である。したがって、動きベクトル算出部20は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定めて、評価関数を最小化することによりvgx及びvgyを求める。
到達時間算出部21は、第3実施形態で説明した到達時間算出部21と同一である。規格化並進速度推定部22は、第4実施形態で説明した規格化並進速度推定部22と同一である。なお、到達時間は規格化並進速度の逆数であるので到達時間算出部21と規格化並進速度推定部22はいずれか一方のみを実装すればよい。異常動きベクトル算出部23は、第4実施形態で説明した異常動きベクトル算出部23と同一である。蓄積画像生成部24は、第1実施形態で説明した蓄積画像生成部と同一である。蓄積画像生成部24は、特定点記憶部123に特定点周辺の蓄積画像を特定点を原点とするように座標変換して格納する。
並進速度推定部25は、距離に基づいて並進速度Tを推定する。以下では、並進速度推定部25は、最初に距離を推定し、推定された距離に基づいて並進速度Tを推定する例を説明する。
並進速度推定部25は、一例として、基準環境モデルにより各画素に対応する撮像対象までの距離を推定してもよい。基準環境モデルとは、路面形状と路面に対するカメラ200の姿勢など、各画素に対応する撮像対象までの距離を特定するための情報である。基準環境モデルの一例として、路面形状と路面に対するカメラ200の姿勢を用いて距離を推定する。路面が水平な平面であり、カメラ200の光軸方向が水平かつイメージセンサの横方向が路面と平行の場合、y座標がyの画素の距離は次式で表される。
Figure 0007143703000042

はカメラ200のレンズの焦点距離、Hは路面に対するカメラ200の高さである。数式(32)は、基準環境モデルの最も単純な一例である。基準環境モデルは、各画素の座標と対応する撮像対象までの距離を対応付けられる他のモデルを用いてもよい。
並進速度推定部25は、より一般的には、カメラ200の内部パラメータ及び外部パラメータを用いて撮像対象までの距離を推定する。カメラ200の内部パラメータ及び外部パラメータは、カメラで3次元の実空間を撮像したときの画像(2次元)上の座標と実空間の座標とを対応付けるパラメータである。このパラメータが既知であれば、画像上の各画素に対応する実空間は直線として表される。この直線と、例えば路面を表す平面または局面(即ち基準環境モデル)との交点を求めることにより、実空間の3次元座標と画像上の座標とを対応付られ、距離を求めることができる。並進速度推定部25は、3次元の地形情報を地図情報として保持している場合、GPSとジャイロセンサにより地図中におけるカメラ200の位置と姿勢を求めることにより、各画素の距離を推定することができる。並進速度推定部25は、地形情報以外に建物、看板、標識など地図情報中で位置情報を持つランドマークを利用することもできる。屋内においては、床面、壁面、天井などの形状情報を用いることもできる。並進速度推定部25は、LIDAR、ミリ波レーダ又はステレオカメラなどのセンサで測距してもよい。
次に、並進速度推定部25は、推定された距離に基づいて並進速度Tを推定する。数式(16)の変数を以下のように変換する。
Figure 0007143703000043

これにより、数式(16)は、以下の数式(33)として記述される。
Figure 0007143703000044

数式(33)は、数式(22)の形式と同一である。したがって、並進速度推定部25は、Lucas&Kanade法またはHorn&Schunck法と同様に評価関数を定め、評価関数を最小化することにより並進速度Tを求める。ここで、積分区間Γは距離を推定できたすべての画素の集合である。路面モデルを用いる場合は、roadlabel(x,y)=trueの画素集合であり、他の基準環境モデルの場合や測距センサで距離を推定する場合は、距離を推定できた画素の集合である。
並進速度推定部25は、推定された距離Z(r)と、到達時間算出部21または規格化並進速度推定部22で推定された規格化並進速度v(r)とに基づいて並進速度Tを推定することもできる。並進速度推定部25は、距離を推定した積分区間Γにおいてv(r)/Z(r)を画素毎に算出し、ヒストグラムを作成し、作成したヒストグラムのピーク座標を並進速度Tの推定値としてもよい。並進速度推定部25は、ヒストグラムを用いた推定により並進速度Tの推定精度を高めることができる。
距離画像生成部26は、推定された規格化並進速度v(r)及び並進速度Tを用いて距離画像を生成する。各画素の距離は数式(34)で得られる。
Figure 0007143703000045

ここでは、空領域とラベリングされた画素は、数式(34)の計算は行わず、距離Z(r)には無限大を意味する所定値が代入される。
(画像処理装置の動作)
図12は、画像処理装置1Dの動作の一例を示すフローチャートである。図12に示されるフローチャートは、例えば画像処理装置1Dの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200は、CISであり、動画を出力するものとする。
最初に、画像取得部11は、画像取得処理(ステップS40)として、カメラ200から画像を取得する。画像取得部11は、一例として、各時刻において強度画像gと相関画像gとを取得する。
続いて、偏微分画像生成部13は、偏微分画像生成処理(ステップS42)として、画像取得処理(ステップS40)にて取得された強度画像g及び相関画像gに基づいて偏微分画像をそれぞれ作成する。偏微分画像は、後段の空領域検出処理、拘束条件を用いた演算などに利用される。
続いて、空領域検出部14は、空領域の検出処理(ステップS44)として、画像取得処理(ステップS40)にて取得された強度画像gにおける空領域を検出する。空領域は、コントラストが小さく飽和していることもあるため、後段の種々の推定値演算において除外される。これにより、輝度値の飽和やテクスチャがないことに起因した並進速度などの推定精度低下を防止できる。
続いて、移動体検出部15は、移動体領域の検出処理(ステップS46)として、画像取得処理(ステップS40)にて取得された強度画像gにおける移動体領域を検出する。移動体領域は、数式(8)に示す距離Z、並進運動T及び回転運動Ωに関連した拘束条件(カメラ運動とオプティカルフローの関係)が背景などの静止物と異なるため、カメラ運動推定の演算から除外される。また、蓄積画像生成の演算においても、移動体領域は除外される。
続いて、路面領域検出部16は、路面領域の検出処理(ステップS48)として、画像取得処理(ステップS40)にて取得された強度画像gにおける路面領域を検出する。路面領域は距離が推定可能かつ静止対象物として並進速度推定などに用いられる。到達時間推定においては衝突しない対象としての判断に用いられる。
続いて、特定点管理部12は、特定点の追跡処理(ステップS50)として、光軸近傍に定めた特定点を追跡する。特定点管理部12の初期設定部120は、初期時刻においては光軸中心の座標を特定点の位置とし、特定点の位置と特定点の周辺領域の強度画像を特定点記憶部123に記憶する。初期時刻以外は、特定点の位置と特定点の周辺領域の蓄積画像を特定点記憶部123に記憶する。画像取得処理(ステップS40)にて取得された強度画像gの画像特徴と、特定点記憶部123に記憶された特定点の周辺領域の画像とを照合することにより、一時刻前の特定点に対応する現時刻の座標を求める。求められた座標を現時刻の特定点の位置として、特定点の周辺領域の蓄積画像と関連付けて特定点記憶部123に記憶する。特定点の位置(座標)は後段の種々の推定演算において基準座標、即ち座標原点として用いられる。
続いて、ピッチ角速度及びヨー角速度推定部18Dは、ピッチ角速度及びヨー角速度の推定処理(ステップS52)として、基準点に基づいて、カメラ200のピッチ角速度Ω及びヨー角速度Ωを推定する。ピッチ角速度及びヨー角速度推定部18Dは、特定点の周辺領域の動きベクトルのヒストグラムを作成し、そのピーク座標からピッチ角速度及びヨー角速度を推定する。
続いて、ロール角速度推定部19Dは、ロール角速度の推定処理(ステップS54)として、ピッチ角速度及びヨー角速度の推定処理(ステップS52)にて推定されたピッチ角速度及びヨー角速度と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”と基づいて、画像取得処理(ステップS40)にて取得された強度画像gのロール角速度Ωを推定する。
ここまでの処理でカメラ運動の回転速度成分がすべて得られる。以降で説明される到達時間の算出処理(ステップS56)から後段の処理と、カメラ200の回転運動を補償した動きベクトルの算出処理(ステップS66)とは、並列的に実行することができる。
到達時間算出部21は、到達時間の算出処理(ステップS56)として、得られたカメラ運動の回転速度成分と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”とに基づいて、画像中の各画素に対応する対象物がカメラ200に到達するのに要する到達時間を算出する。これにより、カメラ200の回転運動の影響は除かれる。ここで演算される到達時間は、カメラ200から撮像対象までの距離をカメラ200の光軸方向の並進速度で除した値である。その逆数はカメラの光軸方向の並進速度を距離で規格化した規格化並進速度である。
続いて、規格化並進速度推定部22は、規格化並進速度の推定処理(ステップS58)として、到達時間の算出処理(ステップS56)にて得られた到達時間の逆数を演算し、規格化並進速度を得る。
ここまでの処理でカメラ運動の回転速度成分と、規格化並進速度とが得られる。以降で説明される蓄積画像の生成処理(ステップS60)から後段の処理と、異常動きベクトルの算出処理(ステップS68)とは、並列的に実行することができる。
蓄積画像生成部24は、蓄積画像の生成処理(ステップS60)として、一時刻前までの蓄積画像と現時刻の画像との強度値の荷重和として蓄積画像を生成する。特定点の周辺領域の画像特徴はカメラ200の回転運動に起因して位置がずれ、さらにカメラ200の並進運動に起因して変形する。このため、蓄積画像生成部24は、これらを補償して強度値を蓄積する。蓄積画像生成部24は、生成した特定点の周辺領域の蓄積画像を特定点記憶部123に格納する。
続いて、並進速度推定部25は、並進速度の推定処理(ステップS62)として、カメラ200の内部パラメータ及び外部パラメータを用いて、基準環境モデル基づいて各画素に対応する撮像対象までの距離を推定し、推定された距離に基づいて並進速度Tを推定する。並進速度推定部25は、画素ごとに推定された距離に到達時間算出部21で推定された規格化並進速度の逆数を乗じて、画素ごとに並進速度Tを推定する。画素毎に推定した並進速度Tのヒストグラムを作成し、作成したヒストグラムのピーク座標を並進速度Tの推定値とする。
続いて、距離画像生成部26は、距離画像の生成処理(ステップS64)として、規格化並進速度の推定処理(ステップS58)で得られた規格化並進速度と、並進速度の推定処理(ステップS62)で得られた並進速度とに基づいて、距離画像を生成する。距離画像生成部26は、路面など基準環境モデルを適用できる領域についてのみ距離情報を得る。距離画像生成部26は、全ての画素について撮像対象が静止しているという仮定の基に距離画像を生成してもよい。
到達時間の算出処理(ステップS56)と並行して実行可能な、カメラ200の回転運動を補償した動きベクトルの算出処理(ステップS66)について説明する。動きベクトル算出部20は、ピッチ角速度及びヨー角速度推定部18Dとロール角速度推定部19Dとで推定されたカメラ運動の回転速度成分に基づいて、カメラ200の回転運動を補償した動きベクトルを算出する。
蓄積画像の生成処理(ステップS60)と並行して実行可能な、異常動きベクトルの算出処理(ステップS68)について説明する。異常動きベクトル算出部23は、ピッチ角速度及びヨー角速度推定部18Dとロール角速度推定部19Dとで推定されたカメラ運動の回転速度成分と、規格化並進速度推定部22で推定された規格化並進速度と、“撮像対象の輝度値はカメラ200と撮像対象との相対運動により変化しないことを仮定した拘束条件”と、“カメラ200の運動と画像上での各画素の動きベクトルとの関係”と基づいて、カメラ200の運動に起因する画素の動きを除外した異常動きベクトルを算出する。
距離画像の生成処理(ステップS64)、カメラ回転運動を補償した動きベクトルの算出処理(ステップS66)及び異常動きベクトルの算出処理(ステップS68)が終了すると、図12に示されるフローチャートが終了する。
(画像処理装置の動作の他の例)
図12は、カメラ200がCISの場合の動作例である。カメラ200が一般的なイメージセンサである場合には、以下のように図12を変更すればよい。
画像取得処理(ステップS40)では、画像取得部11は、強度画像gのみを得る。強度画像gは、数式(1)における強度fと同一である。
偏微分画像生成処理(ステップS42)では、偏微分画像生成部13は、数式(1)における以下数式を計算する。
Figure 0007143703000046

偏微分画像生成部13は、時間偏微分fについては、連続するフレーム間の差分を計算する。
空領域の検出処理(ステップS44)、移動体領域の検出処理(ステップS46)、路面領域の検出処理(ステップS48)、及び、特定点の追跡処理(ステップS50)については、カメラ200が一般的なイメージセンサである場合と、カメラ200がCISの場合とで同一の処理となる。
ピッチ角速度及びヨー角速度の推定処理(ステップS52)では、ピッチ角速度及びヨー角速度推定部18Dは、主要な動きベクトルを求めるために、数式(1)で表される拘束条件に基づいて、Lucas&Kanade法またはHorn&Schunck法によりオプティカルフローを算出する。オプティカルフローの算出はこれらに限定されず、ブロックマッチング等の他の方法を用いてもよい。
ロール角速度の推定処理(ステップS54)では、ロール角速度推定部19Dは、数式(14)をカメラ200が一般的なイメージセンサである場合の拘束条件である数式(1)に代入して、ロール角速度を推定する。X軸方向及びY軸方向の並進速度成分をゼロと近似すると、数式(16)は以下のように置き換えられる。
Figure 0007143703000047

これにより、数式(17)における係数hθ,h,hは、次式となる。
Figure 0007143703000048

以上のように係数を置き換えた数式(17)を拘束条件として、ロール角速度を推定する。
到達時間の算出処理(ステップS56)では、数式(22)における係数h,hは、次式となる。
Figure 0007143703000049

到達時間算出部21は、係数を上記のように置き換えて、数式(22)を解く。
規格化並進速度の推定処理(ステップS58)及び蓄積画像の生成処理(ステップS60)は、カメラ200が一般的なイメージセンサである場合と、カメラ200がCISの場合とで同一の処理となる。
並進速度の推定処理(ステップS62)は、カメラ200が一般的なイメージセンサである場合と、カメラ200がCISの場合とで同一の処理となる。規格化並進速度を用いない場合、並進速度推定部25は、数式(33)における係数h,hを次式で置き換える。
Figure 0007143703000050

並進速度推定部25は、係数を上記のように置き換えて、数式(33)を解く。
距離画像の生成処理(ステップS64)は、カメラ200が一般的なイメージセンサである場合と、カメラ200がCISの場合とで同一の処理となる。
カメラの回転運動を補償した動きベクトルの算出処理(ステップS66)では、動きベクトル算出部20は、数式(29)をカメラ200が一般的なイメージセンサである場合の拘束条件である数式(1)に代入して、動きベクトル[Vgx、Vgy]を算出する。動きベクトル算出部20は、数式(30)を以下のように置き換える。
Figure 0007143703000051
異常動きベクトルの算出処理(ステップS68)では、異常動きベクトル算出部23は、数式(25)をカメラ200が一般的なイメージセンサである場合の拘束条件である数式(1)に代入して、動きベクトル[Vex、Vey]を算出する。異常動きベクトル算出部23は、数式(26)を以下のように置き換える。
Figure 0007143703000052
(第5実施形態のまとめ)
画像処理装置1Dは、第1実施形態~第4実施形態に係る画像処理装置の機能を組合せて一連の処理として動作する。このように、第1実施形態~第4実施形態に係る画像処理装置の各機能はモジュールとして独立しており、選択的に組み合わせることができる。
[第6実施形態]
第5実施形態に係る画像処理装置1Eは、画像処理装置1と比較して、カメラが固定されており、撮像対象が移動している場合が相違する。以下では相違点を中心に説明し、第1実施形態~第3実施形態と重複する説明は繰り返さない。
画像処理装置1Eは、一例として、ファクトリーオートメーション(FA)における部品の塗装検査工程で用いられる。反射材が混入された透明な層を持つ塗装がなされた自動車用部品などは、表面だけではなく透明な層の内部のクラックまで検査する必要がある。このような場合、塗装検査の最終工程を人による目視検査に頼らざる得ない場合が少なくない。このため、欠陥の検出された場合に欠陥の部品上の位置(以下、部品座標という)の特定を同時に行うことが実用上重要となる。
図13は、第6実施形態に係る検査システムの概要図である。図13に示される検査システム100は、多関節ロボットにより把持されたワークを画像検査するシステムである。検査システム100は、カメラ200A、画像処理装置1E、照明装置201及び多関節ロボット202を有する。
カメラ200Aは、カメラ200と比較して、固定されている点が相違し、その他は同一である。カメラ200Aは、撮像対象であるワークWを解像度良く撮影できるように撮像条件が設定されている。カメラ200Aは、背景の解像度がワークWに対する解像度より低くなるように設定されていてもよい。
画像処理装置1Eは、カメラ200Aと接続されており、カメラ200Aにより撮像された画像を処理する。照明装置201は、撮像対象に光を照射する。多関節ロボット202は、固定された基台40から支点42を介して伸びるアーム41を有する。アーム41は、その先端で物体を把持する機能を有する。多関節ロボット202は、支点42から所定距離離れた位置でワークWを把持し、さまざまな姿勢のワークWをカメラ200Aで撮像できるように動作する。
多関節ロボット202が動作する度に、ワークWに動作方向に平行な振動が発生する。この振動により画像上の座標と部品座標とのズレが時間的に変動する。すなわち、部品座標が不安定になるという課題がある。図14は、振動の影響を示す画像の一例である。図14の(A)はワークWが左に振れたときに撮像された画像G1である。図14の(B)はワークWが真ん中に位置したときに撮像された画像G2である。図14の(C)はワークWが右に振れたときに撮像された画像G3である。このため、振動が終了するまで待機した後、撮影を行い、取得された画像に対して画像処理により欠陥を検出するという方式が一般的である。このような待機時間は、検査工程の効率化の障害となる。特に、撮像対象の形状が複雑な場合は、撮像対象を多数の姿勢で撮像する必要があり、待機時間の課題はより深刻となる。
画像処理装置1Eは、第1実施形態~第5実施形態で説明された技術思想を用いて、カメラ200Aと撮像対象の相対運動を積極的に補正することにより、待機時間を削減する。さらに、画像処理装置1Eは、ワークWに欠陥があった場合には、ワークW上の位置を指定するための部品座標の安定化を行うことで、検査工程を効率化する。
ワークWを動かしながら撮影した画像は、オプティカルフローがない背景領域と、ワークWのオプティカルフローが生じる検査対象領域とからなる。このような画像に対して、上記実施形態で開示された画像中に基準点を設定し動画像を安定化するという技術思想を適切に適用すれば、固定されたカメラであっても所望の安定した画像を得ることができる。
ただし、固定されたカメラにおいては、第1実施形態で説明された光軸近傍点を初期値として特定点に代入する初期値設定方法を用いることができない。このため、画像処理装置1Eは、撮像対象の運動を補正するための別の基準点設定方法を採用する。
最も簡易な基準点設定方法は、特定点をユーザが手動で代入する方法である。例えば、カメラ200Aで取得された画像をモニターに表示し、オペレータがタッチペンもしくはマウスなどで撮像対象の像内の少なくとも1点を指定すればよい。例えば、画像処理装置1Eは、特定点を指定するユーザ操作を受け付ける受付部を有する。これにより、第1実施形態に係る構成を利用することができる。この場合、撮像対象の各部の動きは連動し一様となることを利用して、カメラで取得された画像から動きベクトルが算出される。そして、動きベクトルが画像上で一様な領域が抽出される。そして、一様な領域の中の手動指定点に対応する点が初期値とされ、少なくとも1個の特定点が記憶される。その後の特定点および基準点の追跡、並びに部品座標系の安定化は、第1実施形態と同一である。
手動で特定点を指定したワークWに対して任意の欠陥検出手段を適用することにより欠陥が検出される。欠陥の画像上の位置が特定された場合、画像処理装置1Eは、部品座標の安定化によって、部品座標系での欠陥の位置を高い精度で特定できるという効果を奏する。基準点の初期値は、自動で設定されてもよい。以下、初期値が自動で設定される画像処理装置1Eの例を説明する。
図15は、第6実施形態に係る画像処理装置の機能ブロック図である。図15に示されるように、画像処理装置1Eは、画像取得部11A、動きベクトル算出部11B、領域設定部11C、及び、特定点管理部12を有する。
画像取得部11Aは、第1実施形態の画像取得部11と同一である。
動きベクトル算出部11Bは、画像に基づいて動きベクトルを算出する。動きベクトル算出部11Bは、撮像対象の各部の動きは連動しており一様となることを利用して、カメラ200Aで取得された画像から動きベクトルを算出する。
領域設定部11Cは、動きベクトル算出部11Bにより算出された動きベクトルに基づいて、動きベクトルが一様な領域を画像に設定する。
特定点管理部12は、初期設定部120E、探索部121、出力部122及び特定点記憶部123を有する。
初期設定部120Eは、領域設定部11Cにより設定された領域に含まれる点の位置を特定点の初期位置として特定点の周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。
初期設定部120Eは、領域設定部11Cにより設定された領域のうち、空間情報量の多い点を特定点の初期位置としてもよい。
探索部121及び出力部122は、第1実施形態と同一である。
特定点管理部12は、出力部122により基準点が設定された場合には、基準点が設定された画像を保存してもよい。この場合、特定点管理部12は、フレームごとに基準点に基づいて座標変換(位置合わせ)し、過去から全フレームまでの輝度値を累算した蓄積画像を記憶部に記憶する蓄積画像生成部を備える。蓄積画像は、カメラ200の運動を補償された画像となる。上述した更新部は、蓄積画像中の特定点の位置とその周辺領域の画像特徴とに基づいて、特定点記憶部123を更新してもよい。蓄積画像は、特定点の周辺領域の画像特徴に関して、より長時間の情報が反映されている。つまり、ある蓄積画像において特定点が瞬時的に移動体により遮蔽されている場合であっても、他の蓄積画像において移動体により遮蔽されていない状況の特定点に関する画像特徴を得ることができる。このため、時間的に安定して対応点を求めることができる。
固定されたカメラ200Aに対して撮像対象が移動している場合、撮影対象が画面から外れる場合がある。このため、画像処理装置1Eは、特定点がカメラ200Aで得られた画像上の所定の範囲から逸脱したことを検出して特定点逸脱信号を出力する特定点逸脱検出部を備えてもよい。
画像処理装置1Eは、特定点逸脱信号を用いてユーザに逸脱警告を行う警報部を有してもよい。警報部は、特定点逸脱信号を用いてユーザに手動による特定点の初期値入力を促す報知を行ってもよい。画像処理装置1Eは、特定点逸脱信号に基づいて特定点管理部12を動作させ、特定点を再設定させてもよい。
焦点が合わないなどの事由により、カメラ200Aで取得された画像から特定点が消失する場合もある。このため、画像処理装置1Eは、特定点の消失を検出して特定点消失信号を出力する特定点消失検出部を備えてもよい。
画像処理装置1Eは、特定点消失信号を用いてユーザに逸脱警告を行う警報部を有してもよい。警報部は、特定点消失信号を用いてユーザに手動による特定点の初期値入力を促す報知を行ってもよい。画像処理装置1Eは、特定点消失信号に基づいて特定点管理部12を動作させ、特定点を再設定させてもよい。
(画像処理装置の動作)
図16は、画像処理装置1Eの動作の一例を示すフローチャートである。図16に示されるフローチャートは、例えば画像処理装置1Eの動作開始指示を受け付けたときから処理を開始する。なお、以下では、カメラ200Aは、CISであり、動画を出力するものとする。
画像取得部11Aは、画像取得処理(ステップS70)として、カメラ200Aから画像を取得する。この処理は図2の画像取得処理(ステップS10)と同一である。
続いて、動きベクトル算出部11Bは、動きベクトル算出処理(ステップS72)として、撮像対象の各部の動きは連動しており一様となることを利用して、画像取得処理(ステップS70)にて取得された画像に基づいて動きベクトルを算出する。
続いて、領域設定部11Cは、領域設定処理(ステップS74)として、動きベクトル算出処理(ステップS72)にて算出された動きベクトルに基づいて、動きベクトルが一様な領域を画像に設定する。
初期設定部120は、初期設定処理(ステップS76)として、領域設定処理(ステップS74)にて設定された領域に含まれる座標点の位置を、第1フレームの特定点の初期位置としてその座標点の周辺領域の画像特徴と関連付けて特定点記憶部123に格納する。
探索部121は、探索処理(ステップS78)として、特定点記憶部123に格納された特定点の周辺領域の画像特徴に基づいて、画像取得処理(ステップS10)にて取得された第2フレームにおける特定点の対応点を探索する。
出力部122は、出力処理(ステップS80)として、第2フレームの対応点の位置を第2フレームの基準点の位置として出力する。出力部122は、一例として、画像処理装置1Eの記憶部に第2フレームの基準点を出力し、参照可能な状態とする。
出力処理(ステップS80)が終了した場合、図16に示されるフローチャートが終了する。なお、第2フレームに続く第3フレームを処理する場合、画像取得部11Aは、図16に示されるフローチャートを最初から開始する。このとき、特定点記憶部123は、特定点の初期位置を記憶しているので、画像取得部11Aは、画像取得処理(ステップS10)として、基準点を設定する対象となる第3フレームのみを取得すればよい。
(第6実施形態のまとめ)
めっき部品や塗装部品など、特徴量が少なく、かつ、動きベクトルが大きい場合には、第1画像と第2画像とを対応付けることが困難となる。画像処理装置1Eによれば、動きベクトルが一様な領域に含まれる点を用いて第2画像に基準点を設定することにより、特徴量が少ない場合であっても認識対象を画像間で対応付けることができる。
(変形例)
上述した各実施形態は、当業者の知識に基づいて種々の変更、改良を施した様々な形態で実施することができる。
例えば、第6実施形態の画像処理装置1Eは、搬送ローラ上の撮影対象を撮像するシステムにも適用することができる。
第6実施形態において、カメラ200Aは固定されているとして説明を行ったが、カメラ200が多関節ロボット202のアーム41又は他の多関節ロボットに設けられていてもよい。この場合であっても、同様にして相対運動を補正することができる。
1,1A,1B,1C,1D,1E…画像処理装置、2…車両、11,11A…画像取得部、11B,20…動きベクトル算出部、11C…領域設定部、12…特定点管理部、13…偏微分画像生成部、14…空領域検出部、15…移動体検出部、16…路面領域検出部、18…第1推定部、18B,18C…回転推定部、18D…ピッチ角速度及びヨー角速度推定部、19…第2推定部、19D…ロール角速度推定部、21…到達時間算出部、22…規格化並進速度推定部、23…異常動きベクトル算出部、24…蓄積画像生成部、25…並進速度推定部、26…距離画像生成部、30…画像記憶部、100…検査システム、120,120E…初期設定部、121…探索部、122…出力部、123…特定点記憶部、200,200A…カメラ。

Claims (3)

  1. 光軸方向に移動する撮像部により得られた画像に基準点を設定する画像処理装置であって、
    記憶部と、
    前記撮像部により得られた第1画像において前記撮像部の光軸と撮像面との交点を求め、当該交点及び当該交点の周囲に位置する点のなかから光軸近傍点を選択し、前記光軸近傍点の位置を前記第1画像の特定点の初期位置として前記光軸近傍点の周辺領域の画像特徴と関連付けて前記記憶部に格納する初期設定部と、
    前記記憶部に格納された前記画像特徴に基づいて、前記撮像部により得られた第2画像における前記特定点の対応点を探索する探索部と、
    前記第2画像の前記対応点の位置を前記第2画像の基準点の位置として出力する出力部と、
    を備え
    前記基準点は、前記第1画像と前記第2画像とを対応付ける際に基準となる座標点である、
    画像処理装置。
  2. 前記第2画像の各画素において画素と前記基準点との相対動きベクトルを算出する動きベクトル算出部を備える請求項1に記載の画像処理装置。
  3. 光軸方向に移動する撮像部により得られた画像に基づいて前記撮像部の回転運動を推定する画像処理装置であって、
    前記画像の光軸近傍点を特定点として設定する設定部と、
    前記特定点の周辺領域の動きベクトルに基づいて、回転速度成分のうち前記撮像部の撮像面と平行であって互いに直交する第1軸及び第2軸のうち少なくとも一方の軸回りの回転速度成分を推定する第1推定部と、
    前記第1推定部により推定された回転速度成分と、撮像対象の輝度値は前記撮像部と前記撮像対象との相対運動により変化しないことを仮定した拘束条件と、前記撮像部の運動と前記画像上での各画素の動きベクトルとの関係とに基づいて、前記特定点と前記撮像部の光学中心とを結ぶ直線である第3軸の軸回りの回転速度成分を推定する第2推定部と、
    を備える画像処理装置。
JP2018179121A 2018-09-25 2018-09-25 画像処理装置 Active JP7143703B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018179121A JP7143703B2 (ja) 2018-09-25 2018-09-25 画像処理装置
EP19191963.8A EP3633617A3 (en) 2018-09-25 2019-08-15 Image processing device
US16/565,711 US10991105B2 (en) 2018-09-25 2019-09-10 Image processing device
CN201910891795.2A CN110942470B (zh) 2018-09-25 2019-09-20 图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018179121A JP7143703B2 (ja) 2018-09-25 2018-09-25 画像処理装置

Publications (2)

Publication Number Publication Date
JP2020052544A JP2020052544A (ja) 2020-04-02
JP7143703B2 true JP7143703B2 (ja) 2022-09-29

Family

ID=67658999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018179121A Active JP7143703B2 (ja) 2018-09-25 2018-09-25 画像処理装置

Country Status (4)

Country Link
US (1) US10991105B2 (ja)
EP (1) EP3633617A3 (ja)
JP (1) JP7143703B2 (ja)
CN (1) CN110942470B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020170462A1 (ja) * 2019-02-22 2020-08-27 公立大学法人会津大学 動画像距離算出装置および動画像距離算出用プログラムを記録したコンピュータ読み取り可能な記録媒体
JP7120180B2 (ja) * 2019-08-07 2022-08-17 トヨタ自動車株式会社 イメージセンサ
JP2021129268A (ja) * 2020-02-17 2021-09-02 キヤノン株式会社 撮像装置およびその制御方法
CN113009688B (zh) * 2021-03-04 2022-05-03 清华大学 量子成像方法以及量子成像系统
CN114967458B (zh) * 2022-05-30 2023-03-10 江南大学 一种微纳机器人集群的驱动控制系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003051016A (ja) 2001-05-11 2003-02-21 Honda Motor Co Ltd 接近検出装置、接近検出方法、及び接近検出プログラム
JP2006338272A (ja) 2005-06-01 2006-12-14 Nissan Motor Co Ltd 車両挙動検出装置、および車両挙動検出方法
JP2007104516A (ja) 2005-10-07 2007-04-19 Sony Corp 画像処理装置、および、画像処理方法、プログラム、並びに、記録媒体
JP2007323615A (ja) 2006-06-05 2007-12-13 Topcon Corp 画像処理装置及びその処理方法
US20170186169A1 (en) 2015-12-29 2017-06-29 Texas Instruments Incorporated Stationary-vehicle structure from motion

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159226B2 (ja) 2000-03-21 2008-10-01 住友重機械工業株式会社 患部トラッキング方法、装置、及び、これを用いた放射線照射方法、装置、並びに放射線治療装置
US7050205B2 (en) * 2000-12-26 2006-05-23 Fuji Photo Film Co., Ltd. Method of correcting image data picked up from photographic film
JP4217143B2 (ja) 2003-11-11 2009-01-28 株式会社東研 バーコード読取装置
JP4328692B2 (ja) * 2004-08-11 2009-09-09 国立大学法人東京工業大学 物体検出装置
JP4096932B2 (ja) 2004-09-22 2008-06-04 日産自動車株式会社 車両用衝突時間推定装置及び車両用衝突時間推定方法
US7262710B2 (en) 2004-09-22 2007-08-28 Nissan Motor Co., Ltd. Collision time estimation apparatus for vehicles, collision time estimation method for vehicles, collision alarm apparatus for vehicles, and collision alarm method for vehicles
JP4039425B2 (ja) 2004-12-20 2008-01-30 日産自動車株式会社 画像処理装置、および方法
KR100773393B1 (ko) * 2005-08-20 2007-11-06 한국건설기술연구원 댐 시설물의 실시간 모니터링시스템 및 그 방법
JP4961850B2 (ja) 2006-06-15 2012-06-27 ソニー株式会社 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置
JP4756660B2 (ja) * 2008-03-14 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
JP2010135964A (ja) 2008-12-03 2010-06-17 Seiko Epson Corp 画像読取装置のドライバおよび画像読取方法
JP6141601B2 (ja) 2012-05-15 2017-06-07 東芝アルパイン・オートモティブテクノロジー株式会社 車載カメラ自動キャリブレーション装置
JP5882153B2 (ja) * 2012-07-17 2016-03-09 大成建設株式会社 三次元座標算出装置
JP5566516B2 (ja) * 2013-09-13 2014-08-06 坂田電機株式会社 軌道変位測定装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003051016A (ja) 2001-05-11 2003-02-21 Honda Motor Co Ltd 接近検出装置、接近検出方法、及び接近検出プログラム
JP2006338272A (ja) 2005-06-01 2006-12-14 Nissan Motor Co Ltd 車両挙動検出装置、および車両挙動検出方法
JP2007104516A (ja) 2005-10-07 2007-04-19 Sony Corp 画像処理装置、および、画像処理方法、プログラム、並びに、記録媒体
JP2007323615A (ja) 2006-06-05 2007-12-13 Topcon Corp 画像処理装置及びその処理方法
US20170186169A1 (en) 2015-12-29 2017-06-29 Texas Instruments Incorporated Stationary-vehicle structure from motion

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二宮芳樹 外1名,オプティカルフローによる移動物体の検知,電子情報通信学会技術研究報告,社団法人電子情報通信学会,1997年05月16日,第97巻,第41号,pp. 25-31

Also Published As

Publication number Publication date
EP3633617A3 (en) 2020-05-13
CN110942470A (zh) 2020-03-31
CN110942470B (zh) 2023-10-13
US10991105B2 (en) 2021-04-27
EP3633617A2 (en) 2020-04-08
US20200098115A1 (en) 2020-03-26
JP2020052544A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
JP7143703B2 (ja) 画像処理装置
CN111862672B (zh) 基于顶视图的停车场车辆自定位及地图构建方法
Huang et al. Visual odometry and mapping for autonomous flight using an RGB-D camera
CN112734852B (zh) 一种机器人建图方法、装置及计算设备
US10762643B2 (en) Method for evaluating image data of a vehicle camera
US9990726B2 (en) Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
US11187790B2 (en) Laser scanning system, laser scanning method, movable laser scanning system, and program
JP4367475B2 (ja) 移動物体認識装置、移動物体認識方法及びコンピュータプログラム
CN111882612A (zh) 一种基于三维激光检测车道线的车辆多尺度定位方法
CN111076733A (zh) 一种基于视觉与激光slam的机器人室内建图方法及系统
US11151729B2 (en) Mobile entity position estimation device and position estimation method
CN110865650A (zh) 基于主动视觉的无人机位姿自适应估计方法
CN114217665A (zh) 一种相机和激光雷达时间同步方法、装置及存储介质
CN110223354A (zh) 一种基于sfm三维重建的相机自标定方法
JP2019056629A (ja) 距離推定装置及び方法
JP2020179441A (ja) 制御システム、情報処理装置および制御方法
JP7145770B2 (ja) 車間距離測定装置、誤差モデル生成装置および学習モデル生成装置とこれらの方法およびプログラム
JP5267100B2 (ja) 運動推定装置及びプログラム
CN116952229A (zh) 无人机定位方法、装置、系统和存储介质
CN116630421A (zh) 一种基于单目视觉的卫星编队相对姿态估计方法及系统
US20230082656A1 (en) Method and apparatus for vehicle positioning
CN116109701A (zh) 一种基于被动双目的高反光物体抓取方法
CN111462321B (zh) 点云地图处理方法、处理装置、电子装置和车辆
JP2018116147A (ja) 地図作成装置、地図作成方法及び地図作成用コンピュータプログラム
KR102618951B1 (ko) 시각적 매핑 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220829

R151 Written notification of patent or utility model registration

Ref document number: 7143703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151