(57)【要約】【課題】カメラが自動車等の移動体に搭載されて自在に移動する場合に於いて、その移動量もしくは移動距離を、比較的小さな処理負荷で算出できるようにする。【解決手段】カメラで撮像したフレームから所定形状のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点の位置をフレーム毎に算出し、算出した両被写点位置間の変位量を求めて両フレーム間での移動量とする移動量演算装置。カメラが搭載される移動体の舵角を検出する（Ｓ０２）手段を有し、マッチング検査領域を切り出す手段は第１フレームに続く第２フレームのマッチング検査領域を前記検出した舵角に応じて第１フレームのマッチング検査領域に対して傾斜させて切り出し（Ｓ０３）、両被写点位置間の変位量を求める手段は当該求めた変位量を前記移動体の移動量とする（Ｓ０９）。【選択図】      図２
2007127525.tif 000002
【特許請求の範囲】
【請求項１】
カメラで撮像したフレームから形状とサイズが所定のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
マッチング検査領域を切り出す検査領域切出手段は、第１フレームに続く第２フレームのマッチング検査領域を、前記舵角検出手段により検出された舵角に応じて、第１フレームのマッチング検査領域に対して傾斜させて切り出し、
両被写点位置の間の変位量を求める変位量演算手段は、求めた変位量を当該カメラが搭載される移動体の移動量とする、
ことを特徴とする移動量演算装置。
【請求項２】
カメラで撮像したフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
両被写点位置の間の変位量を求める変位量演算手段は、前記舵角検出手段により検出された舵角に応じて両被写点位置の間の当該カメラが搭載される移動体の旋回軌跡の長さを算出して両被写点位置の間の変位量とし、求めた変位量を当該移動体の移動量とする、
ことを特徴とする移動量演算装置。
【請求項３】
カメラで撮像したフレームから形状とサイズが所定のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
マッチング検査領域を切り出す検査領域切出手段は、第１フレームに続く第２フレームのマッチング検査領域を、前記舵角検出手段により検出された舵角に応じて、第１フレームのマッチング検査領域に対して傾斜させて切り出し、
両被写点位置の間の変位量を求める変位量演算手段は、前記舵角検出手段により検出された舵角に応じて両被写点位置の間の当該カメラが搭載される移動体の旋回軌跡の長さを算出して両被写点位置の間の変位量とし、求めた変位量を当該移動体の移動量とする、
ことを特徴とする移動量演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車等の移動体の移動量もしくは移動距離を、時間的に先後する２枚のフレームのパターンマッチングに基づいて求める移動量演算装置に関する。
【背景技術】
【０００２】
自動車に固定したＣＣＤカメラで前方を撮影し、時間的に連続する２枚の画像内の対応する画素の移動量から車両位置等を求めて車両制御や表示制御に供することが、特開平６−０２００５２号公報（特許文献１）に記載されている。
また、同公報には、画像処理上の観測対象を画像の一部分に限定することで、画素位置の演算の簡素化を図ることについても記載されている。
【特許文献１】特開平６−０２００５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１には、カメラを搭載した自動車が曲線を描いて走行する場合の種々の問題点や、その解決手法についての記述は無い。本発明は、カメラが自動車等の移動体に搭載されて自在に移動する場合、即ち、進行方向を自在に変えて移動する場合について、その移動量（移動軌跡に沿う長さ；以下、同様）もしくは移動距離（２点を結ぶ直線の長さ；以下、同様）を精度良く算出できるようにすることを目的とする。
【０００４】
例えば、カメラが自動車等に搭載されて移動する場合には、自動車の進行方向が自在に変わり得るため、２枚のフレーム間で同一の特徴点が必ず画面内での「縦方向」に並ぶということは期待できない。このため、画面内での「縦方向」のみならず全ての方向での探索が必要となるが、そのような探索は処理負荷の増大を招く。
本発明は、移動に伴って進行方向（＝撮像方向）が自在に変わり得る場合について、比較的小さな処理負荷で、その移動量もしくは移動距離を算出できるようにすることを目的とする。
【０００５】
また、カメラが自動車等に搭載されて移動する場合には、自動車の進行方向が自在に変わり得るため、移動軌跡が必ず直線になるということは期待できない。したがって、移動量を直線で近似した場合には、必ずしも高い精度を得られない場合が生ずる。
本発明は、移動に伴って進行方向が自在に変わり得る場合について、その移動量を、十分に精度良く算出できるようにすることを目的とする。
【０００６】
また、カメラが自動車等に搭載されて移動する場合には、自動車の進行方向が自在に変わり得るため、特許文献１のように画素の移動量に基づいて自動車の移動量を求めるためには、レンズ系の歪み等の多種多様な事情を考慮して画素移動量の演算結果を補正する必要があるが、そのような補正は処理負荷の著しい増大を招く。
本発明は、移動に伴って進行方向が自在に変わり得る場合について、その移動量もしくは移動距離を、１画素当たりの距離の補正を行なわなくとも精度良く算出できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の構成を、下記［１］〜［３］に記す。
［１］構成１：
カメラで撮像したフレームから形状とサイズが所定のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
マッチング検査領域を切り出す検査領域切出手段は、第１フレームに続く第２フレームのマッチング検査領域を、前記舵角検出手段により検出された舵角に応じて、第１フレームのマッチング検査領域に対して傾斜させて切り出し、
両被写点位置の間の変位量を求める変位量演算手段は、求めた変位量を当該カメラが搭載される移動体の移動量とする、
ことを特徴とする移動量演算装置。
構成１では、両被写点位置の間の変位量は、両被写点を結ぶ直線の長さでもよく、両被写点を結ぶ移動軌跡の長さでもよい。また、移動軌跡の長さを、所定の手法を用いて円弧等で近似した長さでもよい。
第１フレームに続く第２フレームとは、原則として第１フレームの次のフレームであるが、第１フレームとその次のフレームとがマッチング不成立の場合に於いて当該次のフレームを飛ばす制御を採用する場合は、当該次のフレームの次のフレームが該当する。当該次のフレームの次のフレームがマッチング不成立の場合も同様である。
【０００８】
［２］構成２：
カメラで撮像したフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
両被写点位置の間の変位量を求める変位量演算手段は、前記舵角検出手段により検出された舵角に応じて両被写点位置の間の当該カメラが搭載される移動体の旋回軌跡の長さを算出して両被写点位置の間の変位量とし、求めた変位量を当該移動体の移動量とする、
ことを特徴とする移動量演算装置。
【０００９】
［３］構成３：
カメラで撮像したフレームから形状とサイズが所定のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、
当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、
マッチング検査領域を切り出す検査領域切出手段は、第１フレームに続く第２フレームのマッチング検査領域を、前記舵角検出手段により検出された舵角に応じて、第１フレームのマッチング検査領域に対して傾斜させて切り出し、
両被写点位置の間の変位量を求める変位量演算手段は、前記舵角検出手段により検出された舵角に応じて両被写点位置の間の当該カメラが搭載される移動体の旋回軌跡の長さを算出して両被写点位置の間の変位量とし、求めた変位量を当該移動体の移動量とする、
ことを特徴とする移動量演算装置。
【発明の効果】
【００１０】
構成１は、カメラで撮像したフレームから形状とサイズが所定のマッチング検査領域を切り出してフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、マッチング検査領域を切り出す検査領域切出手段は、第１フレームに続く第２フレームのマッチング検査領域を、前記舵角検出手段により検出された舵角に応じて、第１フレームのマッチング検査領域に対して傾斜させて切り出し、両被写点位置の間の変位量を求める変位量演算手段は、求めた変位量を当該カメラが搭載される移動体の移動量とする移動量演算装置であるため、第１フレームのマッチング検査領域と第２フレームのマッチング検査領域の比較では、同一の特徴点がマッチング検査領域内での「縦方向」に並ぶ。このため、比較的小さな処理負荷で、カメラが搭載される移動体の移動量もしくは移動距離を算出することができる。また、画面上の二つの特徴点間の画素数（画面上の変位量）ではなく、二つの被写点位置間の変位量（路面座標上の変位量）を両フレーム間での移動量とするため、１画素当たりの距離の補正の必要も無い。
【００１１】
構成２は、カメラで撮像したフレーム間でパターンマッチングを行い、同一の特徴点に対応する被写点のカメラに対する位置をフレーム毎にそれぞれ算出し、算出した両被写点位置の間の変位量を求めて両フレーム間での移動量とする移動量演算装置であって、当該カメラが搭載される移動体の舵角を検出する舵角検出手段を有し、両被写点位置の間の変位量を求める変位量演算手段は、前記舵角検出手段により検出された舵角に応じて両被写点位置の間の当該カメラが搭載される移動体の旋回軌跡の長さを算出して両被写点位置の間の変位量とし、求めた変位量を当該移動体の移動量とする移動量演算装置であるため、カメラが搭載される移動体の移動量を、その移動軌跡に沿って精度良く算出することができる。また、画面上の二つの特徴点間の画素数（画面上の変位量）ではなく、二つの被写点位置間の変位量（路面座標上の変位量）を両フレーム間での移動量とするため、１画素当たりの距離の補正の必要も無い。
【００１２】
構成３は、構成１の要件と構成２の要件を具備するため、構成１と構成２が奏する効果を共に奏することができる。
【発明を実施するための最良の形態】
【００１３】
図１（ａ）は移動量演算装置としての機能を搭載するカーナビゲーション装置の信号入出力を示すブロック図、図２は図１のカーナーゲーション装置に於いて移動量演算機能を実現する処理の概要を示すフローチャートである。
【００１４】
図１に示すように、移動量演算装置は、公知のカーナビゲーション装置にその機能の一部として搭載されている。即ち、後述の手順を実行する処理プログラムや、車載のカメラ等のハードウエアとして搭載されている。
カーナビゲーション装置では、図示のように、公知のＥＣＵ（Electronic Control Unit:電子制御ユニット）に、車載カメラ（図１（ｂ）の例では車両後部に搭載）、操舵角を検出するステアリングセンサ（又は傾きを検出するジャイロセンサ）、位置検出装置ＧＰＳ（Global Positioning Systems）等の各種装置からの信号が入力される。また、車輪の回転数に基づいて得られる車速信号、バックギアやドライブギア等の各種のギア位置を示すシフト信号、移動量演算機能オンオフスイッチ等の各種のスイッチからの信号も入力される。これらの入力信号を、指示された機能に対応するプログラムに従って処理することで、当該指示された各種の機能が実現される。例えば、移動量演算機能が指示された場合には、移動量演算機能を実現するためのプログラムをＲＯＭ（不図示）等から読み出して実行することで、移動量演算機能が実現される。
ＥＣＵからは、また、カーナビゲーション装置の表示装置やスピーカへ適宜のデータが出力されて、適宜の表示や音声出力が行なわれる。
【００１５】
移動量演算機能を実現する処理（Ｓ０１〜Ｓ１０）は、出荷時等の設定に従って、例えば、移動量演算機能をオンするスイッチ入力、或いは、バックギアへの切り換えに応じて開始される。また、移動量演算機能をオフするスイッチ入力、或いは、バックギアから他のギアへの切り換えに応じて終了される。なお、イグニッションスイッチのオフに応じて終了する（Ｓ１１でＹＥＳ，参照）ように設定されていてもよい。
【００１６】
以下、図２のフローチャートに即して、移動量演算機能を実現する手順を説明する。
まず、車載カメラで撮像した画像をキャプチャして、メモリの所定のエリア（フレームメモリ用のエリア）に格納する（Ｓ０１）。
【００１７】
次に、ステアリングセンサ（又は「ジャイロセンサ」でもよい）からの検出信号に基づいて旋回情報を生成して、メモリ上に保持する（Ｓ０２）。
旋回情報とは、先行フレームと後続フレームの同一の特徴点が、両フレームから切り出したマッチング検査領域内に於いて縦方向に並ぶように、後続フレームから切り出すべきマッチング検査領域を、先行フレームから切り出したマッチング検査領域に対して傾斜させるべき角度を与える情報である。
二つのフレーム内の同一の特徴点が、両フレームから切り出したマッチング検査領域内で縦方向に並ぶように、後続フレームのマッチング検査領域を画定すると、パターンマッチング処理の負荷を大きく軽減することができる。
また、上記のように後続フレームのマッチング検査領域を画定すると、或る特徴点がマッチング検査領域内に止まる時間を長くできるため、比較的長期間に渡って当該或る特徴点を追跡可能となり、マッチング不成立の可能性を低減できる。一般に、マッチング不成立の場合には、今回のフレームを飛ばして前回のフレームと次回のフレームの間でマッチングを行なったり、又は、前回のフレームを諦めて今回のフレームと次回のフレームの間でマッチングを行なうのであるが、何れの場合もマッチングに関与し得ないフレームが生じて精度劣化の要因となる。上記のようにマッチング検査領域を傾斜させて切り出すことで、かかる要因による精度劣化の可能性を低減できる。
前記の旋回情報としては、例えば、先行フレーム取得時の前輪舵角と、後続フレーム取得時の前輪舵角との差を用いることができる。ここで、舵角の基準は直進時を「０°」とする。また、先行フレーム取得時の前輪舵角と、後続フレーム取得時の前輪舵角との平均値を用いることもできる。なお、自動車は操舵角と同じ角度で曲がるわけではなく、操舵角と所定の関係にある所定の位置を旋回中心として旋回するため、この要件を取り入れて補正するようにすると、さらに精度の良い旋回情報を得ることができる。
付記：
先行フレームが構成１や構成３の第１フレームに該当し、後続フレームが構成１や構成３の第２フレームに該当する。
【００１８】
次に、上記ステップＳ０２で取得した旋回情報を用いて、前記ステップＳ０１でフレームメモリに格納した画像から、マッチング検査領域を切り出す（Ｓ０３）。即ち、先行フレームに対して、旋回情報により与えられる角度θだけ傾斜させた領域にして、後続フレームのマッチング検査領域を切り出す。この様子を、図３（ａ２）〜（ｂ２）に示す。図示のように、今回のフレームのマッチング検査領域（同図（ａ２）内の長方形領域）は、前回のフレームのマッチング検査領域（同図（ａ１）内の長方形領域）に対して、角度θだけ傾斜するようにして切り出されるのである。
また、切り出したマッチング検査領域について、所定の画像処理（フーリエ変換，二値化処理，エッジ処理，等）を施すことにより、パターンマッチング用のパターンを検出して、メモリに格納する（Ｓ０３）。この処理は周知であるため、説明は省略する。
付記：
前回のフレームが構成１や構成３の第１フレームに該当し、今回のフレームが構成１や構成３の第２フレームに該当する。
【００１９】
ステップＳ０４では、前回のフレームのパターンが存在するか否かチェックする。
前回のフレームのパターンが存在する場合は（Ｓ０４でＹＥＳ）、当該前回のパターンをメモリから読み出して（Ｓ０５）、今回のフレームのパターンとのパターンマッチングを行なう（Ｓ０６）。パターンマッチング処理（Ｓ０６）とは、先行フレームのマッチング検査領域と後続フレームのマッチング検査領域を比較して合致するパターン（図３の（ｂ１）（ｂ２）（ｃ）内の円形や四角形，参照）を探索する処理であるが、この処理は周知であるため、説明は省略する。
【００２０】
ステップＳ０７では、マッチングが成立したか否かチェックする。
マッチングが成立した場合は（Ｓ０７でＹＥＳ）、先行フレームと後続フレームで合致する特徴点（図３（ｃ）のａ点とｂ点参照）を決定し、その座標値（画面座標値）をメモリに保持する（Ｓ０８）。パターンマッチングに基づいて、フレーム間で対応する特徴点を決定する処理は、周知であるため、説明は省略する。
【００２１】
次に、先行フレームと後続フレームの各特徴点の座標値（画面座標値）を、それぞれ路面上の座標値（被写点位置）に変換する（Ｓ０９）。画面内各位置の座標と路面上の位置との対応付けは、図１（ｂ）のように、カメラの取付高さＨと取付角度が決まれば、カメラの画角は予め決まっているため、他にレンズ系の歪み等の要因を考慮して、一意に決めることができる。図中、Ｇは画面内中央に対応する路面上の位置である。
特徴点の座標値（画面座標値）が、路面上の座標値（車載カメラから見た位置＝被写点位置）に変換されると、次に、両被写点位置の間の変位量（移動量）を求める。この移動量は、フレーム間の時間間隔が十分に短い場合には、両被写点位置間の距離（両被写点間を結ぶ直線の長さ）で近似することができる。なお、前述のように、自動車は即座に操舵角と同じ角度で曲がるわけではなく、操舵角と所定の関係にある所定の位置を旋回中心として旋回するため、この旋回の軌跡に沿うように移動量を求めると、さらに精度の良い移動量を得ることができる。
【００２２】
ここで、旋回の軌跡に沿って移動量を近似的に求める手法を説明する。即ち、図４の移動量ＬABを、ステップＳ０２で取得した旋回情報に基づいて求める手法を説明する。
まず、被写点ＡとＢを結ぶ線分ＡＢの中点Ｃを求める。
Ａ（Ｘ1，Ｙ1），Ｂ（Ｘ2，Ｙ2），Ｃ（Ｘ3，Ｙ3）とすると、
「Ｘ3＝（Ｘ1＋Ｘ2）／２，Ｙ3＝（Ｙ1＋Ｙ2）／２」と表される。
次に、点Ｃを通り、線分ＡＢに直交する直線Ｌを求める。線分ＡＢの傾きａは、
「ａ＝（Ｙ2−Ｙ1）／（Ｘ2−Ｘ1）」である。
直線Ｌは、「ｙ＝（−１／ａ）＊ｘ＋ｂ」で表され、これが、点Ｃ（Ｘ3，Ｙ3）を通ることから、切片ｂが求まる。
点Ａと点Ｂでのステアリング舵角値から、それぞれの前輪舵角θ1とθ2を求める。ここで、前輪舵角θ1とθ2は、車両の旋回特性から求めることができる。
この前輪舵角θ1とθ2を用いて、近似移動時の前輪舵角θを求める。例えば、平均値をとる場合は、「θ＝（θ1＋θ2）／２」である。
次に、このθから、旋回半径Ｒを求める。車両のホイールベースをＷＢとすると、
「Ｒ＝ＷＢ＊ｔａｎ（９０−θ）」で求まる。
次に、２点Ａ，Ｂからの距離がＲである直線Ｌ上の点Ｄ（Ｘ0，Ｙ0）を求める。
上記した直線Ｌの式に於いて傾きａと切片ｂは既知であるため、Ｄは求まる。
次に、直線ＡＤと直線ＢＤを求め、それらがＸ軸（Ｙ軸でもよい）と成す角αとβを求める。求めた直線ＡＤとＢＤが、それぞれ、「ｙ＝ｃ＊ｘ＋ｄ」「ｙ＝ｅ＊ｘ＋ｆ」であった場合は、「α＝ｔａｎ-1（ｃ）」「β＝ｔａｎ-1（ｅ）」である。
このαとβから、二つの直線ＡＤとＢＤの成す角θABは、
「θAB＝α−β」と表される。
このθABと、前記旋回半径Ｒからを用いて、点ＡＢ間の近似移動量ＬABは、
「ＬAB＝Ｒ＊θAB」と表される。
なお、θABの単位は「ｒａｄ」である。また、上記式中の「＊」は乗算を意味する。
【００２３】
こうして、二つの被写点ＡとＢの間の移動量が近似的に求まると、又は、図４の近似円弧に沿うように軌跡の長さを算出することにより二つの被写点ＡとＢの間の移動量がより精度良く求まると、この移動量（直線近似の場合は移動距離）や、この移動量に基づいて算出した移動速度を更新する（Ｓ１０）。なお、マッチング不成立のために今回又は前回のフレームを飛ばした場合は、当該飛ばしたフレーム数に対応する時間を考慮して移動速度を演算する。こうして更新した値（移動量，移動速度）は、カーナビゲーション装置の各種の機能に用いるデータとされる（Ｓ１０）。
次にステップＳ０１に戻り、上記した処理を、本処理が終了されるまで（Ｓ１１でＹＥＳとなるまで）、繰り返して実行する。
【図面の簡単な説明】
【００２４】
【図１】（ａ）は移動量演算装置としての機能を搭載するカーナビゲーション装置の信号入出力を示すブロック図。（ｂ）は車載のカメラで撮像した画像範囲と路面上の撮像範囲との関係の説明図。
【図２】図１のカーナーゲーション装置に於いて移動量演算機能を実現する処理の概要を示すフローチャート。
【図３】フレームからマッチング検査領域を切り出す様子と、切り出した検査領域のデータを用いてパターンマッチングを行なう様子を示す説明図。
【図４】移動量を車両の旋回を考慮した移動軌跡に沿うように円弧で近似して求める手法を示す説明図。
【符号の説明】
【００２５】
ＷＢ  ホイールベース
Ｒ  旋回半径
【図１】
2007127525.tif 000003
【図２】
2007127525.tif 000004
【図３】
2007127525.tif 000005
【図４】
2007127525.tif 000006