(57)【要約】【課題】オクルージョンが発生している部分で追跡を可能とすることができる画像処理装置、画像処理方法およびプログラムを提供する。【解決手段】撮像手段により撮像された映像の第１フレームにおいて、被写体の特徴点を抽出する抽出手段と、特徴点が写っている第１フレームの次のフレームである第２フレームで、その特徴点と一致する追跡点を探索する探索手段と、第１フレームの特徴点が、第２フレームで追跡点としてどの位置にあるかを予測する予測手段と、探索手段により探索された追跡点の位置と、予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、オクルージョンがないと判定された場合、探索された追跡点を、新たな特徴点として決定し、オクルージョンがあると判定された場合、予測された追跡点を、新たな特徴点として決定する決定手段と、を備える。【選択図】図３
2016173795.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段により撮像された映像の第１フレームにおいて、被写体の特徴点を抽出する抽出手段と、
前記特徴点が写っている第１フレームの次のフレームである第２フレームで、該特徴点と一致する追跡点を探索する探索手段と、
前記第１フレームの前記特徴点が、前記第２フレームで追跡点としてどの位置にあるかを予測する予測手段と、
前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、
を備えた画像処理装置。
【請求項２】
前記探索手段は、前記第２フレームで、追跡対象の前記特徴点に対応するテンプレート画像と一致する画像を探索することによって追跡点を探索する請求項１に記載の画像処理装置。
【請求項３】
テンプレート画像を記憶する記憶手段を、さらに備え、
前記決定手段は、前記探索された追跡点を、新たな特徴点として決定した場合、該探索された追跡点を中心とする所定範囲の画像で、前記記憶手段に記憶された該探索された追跡点を探索するのに用いたテンプレート画像を更新し、
前記探索手段は、追跡対象の前記特徴点に対応するテンプレート画像を前記記憶手段から読み出して、該特徴点の探索に利用する請求項２に記載の画像処理装置。
【請求項４】
前記探索手段は、追跡対象の前記特徴点に対応するテンプレート画像と一致する画像を、前記第２フレームの所定範囲で探索する請求項２または３に記載の画像処理装置。
【請求項５】
前記予測手段は、前記決定手段により決定された前記新たな特徴点に対応するオプティカルフローを用いて、前記第２フレームで、追跡対象の前記特徴点についての追跡点を予測する請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
前記決定手段により決定された前記新たな特徴点に対応する前記オプティカルフローの長さおよび向きに基づいて、該新たな特徴点をグループに分類する分類手段を、さらに備え、
前記予測手段は、前記新たな特徴点が決定されてない追跡対象の前記特徴点と同じグループに分類された、前記決定手段により決定された前記新たな特徴点に対応する前記オプティカルフローを用いて、前記新たな特徴点が決定されてない追跡対象の前記特徴点についての追跡点を予測する請求項５に記載の画像処理装置。
【請求項７】
前記決定手段は、前記判定手段により、同一の前記特徴点について、連続でオクルージョンがあると判定された回数が所定回数以上となった場合、前記予測手段により該特徴点について最後に予測された追跡点を中心とする所定範囲の画像で、前記記憶手段に記憶された該特徴点に対応するテンプレート画像を更新する請求項２〜４のいずれか一項に記載の画像処理装置。
【請求項８】
画像処理装置を搭載した車両が直進していない場合の前記所定回数は、前記車両が直進している場合の前記所定回数よりも小さい請求項７に記載の画像処理装置。
【請求項９】
撮像手段により撮像された映像の第１フレームにおいて、被写体の特徴点を抽出する抽出ステップと、
前記特徴点が写っている第１フレームの次のフレームである第２フレームで、該特徴点と一致する追跡点を探索する探索ステップと、
前記第１フレームの前記特徴点が、前記第２フレームで追跡点としてどの位置にあるかを予測する予測ステップと、
前記探索ステップで探索された追跡点の位置と、前記予測ステップで予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
オクルージョンがないと判定した場合、前記探索された追跡点を、新たな特徴点として決定し、オクルージョンがあると判定した場合、前記予測された追跡点を、新たな特徴点として決定する決定ステップと、
を有する画像処理方法。
【請求項１０】
撮像手段により撮像された映像の第１フレームにおいて、被写体の特徴点を抽出する抽出手段と、
前記特徴点が写っている第１フレームの次のフレームである第２フレームで、該特徴点と一致する追跡点を探索する探索手段と、
前記第１フレームの前記特徴点が、前記第２フレームで追跡点としてどの位置にあるかを予測する予測手段と、
前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、
前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、自動車またはロボット等を自律運転させるために必要となる地図を作成する手法として、未知の環境下で自律的に地図構築および自己位置の推定を行う技術（ＳＬＡＭ：Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）が知られている。ＳＬＡＭでは、カメラ画像またはレーザーレーダー等のセンサ情報から特徴点を抽出し、時系列で特徴点を追跡して、その結果を基に姿勢推定および三次元再構成を行うことで地図構築および自己位置の推定を行う。
【０００３】
しかし、例えばカメラ画像を利用した場合、カメラの前を動く物体が通り過ぎた場合に特徴点が消失してしまう等のオクルージョンが発生し、特徴点の追跡に失敗することがある。このような、特徴点の追跡の失敗に対応するために、オクルージョンが発生した場合に、パラメータを変更することによって、特徴点の追跡範囲を小さくし、再度、特徴点を追跡することにより、特徴点の追跡の失敗を低減する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術は、特徴点の追跡の失敗を低減するために、オクルージョンが発生している部分であって特徴点が追跡できない複数の過去の画像を使う必要性があり、かつ、再度追跡を行う必要性があり、オクルージョンが発生した部分において直接追跡することができないという問題点がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、オクルージョンが発生している部分で追跡を可能とする画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、撮像手段により撮像された映像の第１フレームにおいて、被写体の特徴点を抽出する抽出手段と、前記特徴点が写っている第１フレームの次のフレームである第２フレームで、該特徴点と一致する追跡点を探索する探索手段と、前記第１フレームの前記特徴点が、前記第２フレームで追跡点としてどの位置にあるかを予測する予測手段と、前記探索手段により探索された追跡点の位置と、前記予測手段により予測された追跡点の位置との差に基づいて、オクルージョンの有無を判定する判定手段と、前記判定手段によりオクルージョンがないと判定された場合、前記探索された追跡点を、新たな特徴点として決定し、前記判定手段によりオクルージョンがあると判定された場合、前記予測された追跡点を、新たな特徴点として決定する決定手段と、を備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、オクルージョンが発生している部分で追跡を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図２】図２は、実施の形態に係る画像処理装置を車両に搭載した例を示す図である。
【図３】図３は、実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。
【図４】図４は、オクルージョンがない場合の特徴点の追跡動作を説明する図である。
【図５】図５は、オクルージョンが発生した場合の特徴点の追跡動作を説明する図である。
【図６】図６は、グルーピング動作を説明する図である。
【図７】図７は、追跡点の予測動作を説明する図である。
【図８】図８は、実施の形態に係る画像処理装置の追跡画像処理の動作の一例を示すフローチャートである。
【図９】図９は、テーブルの構成の一例を示す図である。
【図１０】図１０は、車両が直進している場合の特徴点の追跡動作におけるテンプレートについて説明する図である。
【図１１】図１１は、車両が左折する場合の特徴点の追跡動作におけるテンプレートについて説明する図である。
【発明を実施するための形態】
【０００９】
（画像処理装置のハードウェア構成）
図１は、実施の形態に係る画像処理装置のハードウェア構成の一例を示す図である。図１を参照しながら、画像処理装置１のハードウェア構成について説明する。
【００１０】
図１に示すように、画像処理装置１は、本体部２と、撮像装置１０と、信号変換装置２０と、追跡処理装置３０と、を備えた単眼のカメラ装置である。
【００１１】
本体部２は、画像処理装置１の筐体を構成するものであり、撮像装置１０を固定して支持し、信号変換装置２０および追跡処理装置３０を内蔵する。
【００１２】
撮像装置１０は、前方の被写体を撮像してアナログの画像信号を生成する装置である。撮像装置１０は、撮像レンズ１１と、絞り１２と、画像センサ１３と、を備えている。
【００１３】
撮像レンズ１１は、入射した光を屈折させて物体の像を結像させるための光学素子である。絞り１２は、撮像レンズ１１を透過した光の一部を遮ることによって、画像センサ１３に到達する光の量を調整する部材である。画像センサ１３は、撮像レンズ１１および絞り１２を通過した光を電気的なアナログの画像信号に変換する固体撮像素子である。画像センサ１３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）によって実現される。
【００１４】
信号変換装置２０は、撮像装置１０により生成されたアナログの画像信号を、デジタル形式の画像データに変換する装置である。信号変換装置２０は、ＣＤＳ（Ｃｏｒｒｅｌａｔｅｄ  Ｄｏｕｂｌｅ  Ｓａｍｐｌｉｎｇ）２１と、ＡＧＣ（Ａｕｔｏ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）２２と、ＡＤＣ（Ａｎａｌｏｇ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）２３と、フレームメモリ２４と、を備えている。
【００１５】
ＣＤＳ２１は、画像センサ１３により生成されたアナログの画像信号に対して、相関二重サンプリング、横方向の微分フィルタ、および縦方向の平滑フィルタ等によりノイズを除去する。ＡＧＣ２２は、ＣＤＳ２１によってノイズが除去されたアナログの画像信号の強度を制御する利得制御を行う。ＡＤＣ２３は、ＡＧＣ２２によって利得制御されたアナログの画像信号をデジタル形式の画像データに変換する。フレームメモリ２４は、ＡＤＣ２３によって変換された画像データを記憶する。
【００１６】
追跡処理装置３０は、信号変換装置２０によって変換された画像データに対して、後述する特徴点を追跡する画像処理（以下、「追跡画像処理」と称する場合がある）を実行する装置である。追跡処理装置３０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）３１と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３５と、バスライン３９と、を備えている。
【００１７】
ＦＰＧＡ３１は、追跡画像処理等を行う集積回路である。ＣＰＵ３２は、画像処理装置１の各機能を制御する。ＲＯＭ３３は、ＣＰＵ３２が画像処理装置１の各機能を制御するために実行する画像処理用プログラムを記憶している。ＲＡＭ３４は、ＣＰＵ３２のワークエリアとして使用される。Ｉ／Ｆ３５は、外部機器等と通信するためのインターフェースであり、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のインターフェースである。バスライン３９は、図１に示すように、ＦＰＧＡ３１、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、およびＩ／Ｆ３５を互いに電気的に接続するアドレスバスおよびデータバス等である。
【００１８】
なお、追跡処理装置３０において、バスライン３９に接続される構成要素は、上述の装置に限定されるものではなく、追跡画像処理において生成される情報を継続的に保存しておく必要がある場合には、不揮発性記憶装置である補助記憶装置等がバスライン３９に接続されているものとしてもよい。補助記憶装置は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリまたは光ディスク等の電気的、磁気的または光学的に記憶可能な記憶装置である。
【００１９】
また、上述の画像処理用プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録媒体に記録して流通させてもよい。この記録媒体は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等である。
【００２０】
（画像処理装置の設置例）
図２は、実施の形態に係る画像処理装置を車両に搭載した例を示す図である。図２を参照しながら、画像処理装置１の設置例について説明する。
【００２１】
図２のうち、図２（ａ）は、画像処理装置１を搭載した車両５０の側面概観図であり、図２（ｂ）は、車両５０の正面図である。図２に示すように、画像処理装置１は、例えば、自動車等である車両５０の居室空間のフロントガラス内側のバックミラー近傍に設置され、かつ、車両５０の進行方向の光景を撮像することができるように設置される。
【００２２】
なお、画像処理装置１は、車両の一例としての自動車だけでなく、車両の他の例として、自動二輪車、原動機付自転車、自転車、車椅子、または農業用の耕運機等に搭載するものとしてもよい。
【００２３】
（画像処理装置のブロック構成）
図３は、実施の形態に係る画像処理装置の機能ブロック構成の一例を示す図である。図３を参照しながら、画像処理装置１のブロック構成について説明する。
【００２４】
図３に示すように、画像処理装置１は、画像取得部１０１と、画像補正部１０２と、特徴点抽出部１０３（抽出手段）と、追跡点探索部１０４（探索手段）と、追跡点予測部１０５（予測手段）と、判定部１０６（判定手段）と、決定部１０７（決定手段）と、グルーピング部１０８（分類手段）と、第１記憶部１１１と、第２記憶部１１２と、第３記憶部１１３（記憶手段の一例）と、を有する。
【００２５】
画像取得部１０１は、被写体を撮像してアナログの画像信号を生成し、ノイズの除去等を行った後、デジタル形式の画像データ（以下、「フレーム」と称する場合がある）に変換して取得する機能部である。また、画像取得部１０１は、取得したフレームを、第１記憶部１１１に記憶させる。画像取得部１０１は、図１に示す撮像装置１０および信号変換装置２０によって実現される。
【００２６】
画像補正部１０２は、第１記憶部１１１から読み出したフレームに対して、フィルタ処理等による補正により歪み等を除去する機能部である。画像補正部１０２は、補正したフレームを、第２記憶部１１２に記憶させる。画像補正部１０２は、図１に示すＦＰＧＡ３１によって実現される。
【００２７】
特徴点抽出部１０３は、第２記憶部１１２から読み出したフレームに対して、写っている物体の角等のように際立って認識される画像上の点（特徴点）を抽出する機能部である。特徴点抽出部１０３は、抽出した特徴点の座標情報を追跡点探索部１０４および追跡点予測部１０５に送る。特徴点抽出部１０３による特徴点の抽出動作は、画像処理装置１による追跡画像処理が実行されている間、原則として常時、実行される。これは、画像処理装置１が搭載された移動体である車両５０等では、撮像装置１０により撮像される画像には、常時、新規に特徴点が現れるためである。特徴点抽出部１０３による特徴点の抽出方法としては、例えば、ハリス（Ｈａｒｒｉｓ）またはモラベック（Ｍｏｒａｖｅｃ）等のコーナー検出アルゴリズム等が適用できる。特徴点抽出部１０３は、図１に示すＦＰＧＡ３１によって実現される。
【００２８】
追跡点探索部１０４は、特徴点抽出部１０３により特定のフレーム（以下、「ｎ枚目のフレーム」と称する場合がある）（第１フレーム）で抽出された特徴点の座標を中心とした所定範囲の画像であるテンプレート（テンプレート画像）と一致する画像を、次のフレーム（以下、「（ｎ＋１）枚目のフレーム」と称する場合がある）（第２フレーム）における所定のサーチ範囲で探索するブロックマッチング動作を実行する機能部である。この場合、追跡点探索部１０４は、フレームを第２記憶部１１２から読み出し、テンプレートを第３記憶部１１３から読み出す。そして、追跡点探索部１０４は、（ｎ＋１）枚目のフレームで、探索したテンプレートと一致する探索領域の画像の中心点を追跡点とし、この探索した追跡点の座標情報を探索結果情報として判定部１０６に送る。追跡点探索部１０４は、図１に示すＦＰＧＡ３１によって実現される。
【００２９】
なお、テンプレートは、例えば、Ｎ画素×Ｎ画素の矩形画像、縦横異なる画素数の矩形画像、または、矩形ではなく円形等のテンプレートであってもよい。また、上述の「一致する」とは、完全に一致する場合のみならず、例えば、ブロックマッチング動作により算出される類似度に対する閾値判定の結果、一致するものとみなせる程度に類似している場合を含む概念であるものとする。
【００３０】
追跡点予測部１０５は、既に確定している追跡結果から、ｎ枚目のフレームでの特徴点が、（ｎ＋１）枚目のフレームでどの位置に移動しているかを予測する機能部である。追跡点予測部１０５は、（ｎ＋１）枚目のフレームにおいて予測した追跡点（予測点）の座標情報を予測結果情報として判定部１０６に送る。追跡点予測部１０５は、図１に示すＦＰＧＡ３１によって実現される。
【００３１】
判定部１０６は、追跡している特徴点がオクルージョンにより消失したか否かを判定する機能部である。具体的には、判定部１０６は、追跡点探索部１０４から受け取った探索結果情報、および追跡点予測部１０５から受け取った予測結果情報に基づき、探索した追跡点の座標と、予測した追跡点（予測点）の座標との差（距離）が所定値より大きいか否かを判定する。判定部１０６は、差（距離）が所定値より大きい場合、オクルージョンが発生したものと判定し、所定値以下である場合、オクルージョンがないものと判定する。判定部１０６は、判定した結果情報を、決定部１０７へ送る。判定部１０６は、図１に示すＦＰＧＡ３１によって実現される。
【００３２】
決定部１０７は、判定部１０６による判定結果に基づいて、特徴点の追跡結果としての追跡点（新たな特徴点）を決定する機能部である。具体的には、決定部１０７は、判定部１０６によりオクルージョンがないと判定された場合、追跡点探索部１０４により探索された追跡点を、追跡結果としての追跡点として決定し、オクルージョンが発生したと判定された場合、追跡点予測部１０５により予測された追跡点を、追跡結果としての追跡点として決定する。決定部１０７は、決定した追跡点の座標情報を追跡結果情報として、第３記憶部１１３に記憶させる。また、決定部１０７は、判定部１０６によりオクルージョンがないと判定された場合、追跡点探索部１０４により探索された追跡点を中心とする所定範囲の画像によって、その追跡点に対応するテンプレートを更新、すなわち、第３記憶部１１３に記憶する。さらに、決定部１０７は、決定した追跡点に基づいて求めたオプティカルフローの情報を、第３記憶部１１３に記憶させる。決定部１０７は、図１に示すＦＰＧＡ３１によって実現される。なお、オプティカルフローの導出方法については、後述する。
【００３３】
グルーピング部１０８は、決定部１０７により求められた各オプティカルフローの向きおよび長さに基づいて、各オプティカルフローに対応する追跡点をグループ分け（分類）する機能部である。グルーピング部１０８は、グループ分けした結果情報であるグループ情報を第３記憶部１１３に記憶させる。グルーピング部１０８は、図１に示すＦＰＧＡ３１によって実現される。
【００３４】
第１記憶部１１１は、画像取得部１０１により取得されたフレームを一時的に記憶する機能部である。第１記憶部１１１は、例えば、図１に示すフレームメモリ２４によって実現される。
【００３５】
第２記憶部１１２は、画像補正部１０２により補正されたフレームを一時的に記憶する機能部である。第２記憶部１１２は、例えば、図１に示すＲＡＭ３４によって実現される。
【００３６】
第３記憶部１１３は、決定部１０７の追跡結果情報、および、グルーピング部１０８のグループ情報等を記憶する機能部である。第３記憶部１１３は、例えば、図１に示すＲＡＭ３４または補助記憶装置によって実現される。
【００３７】
なお、図３に示した各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図３で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図３の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００３８】
また、上述の画像補正部１０２、特徴点抽出部１０３、追跡点探索部１０４、追跡点予測部１０５、判定部１０６、決定部１０７およびグルーピング部１０８は、ＦＰＧＡ３１等のハードウェア回路で構成されることに限定されるものではなく、少なくとも一部の機能部が図１に示すＣＰＵ３２で実行されるプログラムによって実現されるものとしてもよい。
【００３９】
（特徴点の追跡動作の概要）
図４は、オクルージョンがない場合の特徴点の追跡動作を説明する図である。図５は、オクルージョンが発生した場合の特徴点の追跡動作を説明する図である。図４および５を参照しながら、特徴点の追跡動作の概要について説明する。
【００４０】
まず、図４を参照しながら、オクルージョンがない場合の特徴点の追跡動作の概要について説明する。図４（ａ）に示すフレーム２００は、画像処理装置１により撮像されたフレーム（ｎ枚目のフレーム）の一例である。ここで、画像処理装置１を搭載した車両５０は、直進しているものとする。図４（ｂ）に示すフレーム２０１は、ｎ枚目のフレームであるフレーム２００の一部であり、フレーム２０２は、フレーム２００の次のフレーム（（ｎ＋１）枚目のフレーム）の一部である。このフレーム２００〜２０２には、被写体である物体９０１、９０２がそれぞれ写っている。図４（ｃ）に示す説明図２０３は、フレーム２０１で示す特徴点の追跡結果を説明する図である。
【００４１】
図４（ｂ）に示すフレーム２０１では、特徴点抽出部１０３によって、特徴点３０１および特徴点３０２がそれぞれ抽出されているものとする。また、特徴点３０１、３０２をそれぞれ中心とするテンプレート７０１、７０２が、第３記憶部１１３に記憶されているものとする。
【００４２】
追跡点探索部１０４は、第３記憶部１１３からテンプレート７０１、７０２をそれぞれ読み出し、（ｎ＋１）枚目のフレームであるフレーム２０２において、テンプレート７０１、７０２にそれぞれ一致する画像を、ブロックマッチング動作により探索する。探索方向としては、（ｎ＋１）枚目のフレームの左上から右下へ向かうラスタースキャンによって探索すればよい。なお、探索範囲については、（ｎ＋１）枚目のフレーム全体を探索することに限られず、例えば、（ｎ＋１）枚目のフレームにおける、ｎ枚目のフレームの特徴点の位置に対応する点を中心とした所定のサーチ範囲で探索するものとしてもよい。また、（ｎ＋１）枚目のフレームを複数の領域に分割して、対応する領域内のみを探索するものとしてもよい。
【００４３】
追跡点探索部１０４は、探索の結果、図４（ｂ）に示すように、フレーム２０２において、テンプレート７０１に一致する画像として探索領域８０１の画像を探索し、テンプレート７０２に一致する画像として探索領域８０２の画像を探索したものとする。この場合、追跡点探索部１０４は、探索領域８０１の中心点を追跡点３０５とし、探索領域８０２の中心点を追跡点３０６とする。そして、決定部１０７によって、追跡点探索部１０４により探索された追跡点３０５、３０６が、追跡結果としての追跡点として決定されたものとする。
【００４４】
そして、図４（ｃ）の説明図２０３に示すように、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの特徴点３０１の位置に対応する点である対応点４０１から追跡点３０５に向かうベクトルを、追跡点３０５に対応するオプティカルフロー６０１として求める。同様に、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの特徴点３０２の位置に対応する点である対応点４０２から追跡点３０６に向かうベクトルを、追跡点３０６に対応するオプティカルフロー６０２として求める。そして、決定部１０７は、求めたオプティカルフロー６０１、６０２の情報を、第３記憶部１１３に記憶させる。一般に、オプティカルフローの長さは、画像処理装置１に近い追跡点ほど長く、遠い追跡点ほど短くなるという特徴がある。
【００４５】
また、決定部１０７は、テンプレート７０１、７０２を、それぞれ探索領域８０１、８０２の画像で更新し、第３記憶部１１３に記憶させる。
【００４６】
次に、図５を参照しながら、オクルージョンが発生した場合の特徴点の追跡動作の概要について説明する。図５（ａ）に示すフレーム２１０は、画像処理装置１により撮像されたフレーム（ｎ枚目のフレーム）の一例である。ここで、画像処理装置１を搭載した車両５０は、直進しているものとする。図５（ｂ）に示すフレーム２１１は、ｎ枚目のフレームであるフレーム２１０の一部であり、フレーム２１２は、フレーム２１０の次のフレーム（（ｎ＋１）枚目のフレーム）の一部である。このフレーム２１０〜２１２には、車両５０のワイパー９１０がそれぞれ写っている。図５（ｃ）に示す説明図２１３は、オクルージョンが発生した場合の追跡点の予測動作を説明する図である。図５（ｃ）に示す説明図２１４は、フレーム２１１で示す特徴点の追跡結果を説明する図である。
【００４７】
図５（ｂ）に示すフレーム２１１では、特徴点抽出部１０３によって、特徴点３１１〜３１３がそれぞれ抽出されているものとする。また、特徴点３１１〜３１３をそれぞれ中心とするテンプレート７１１〜７１３が、第３記憶部１１３に記憶されているものとする。
【００４８】
追跡点探索部１０４は、第３記憶部１１３からテンプレート７１１〜７１３をそれぞれ読み出し、（ｎ＋１）枚目のフレームであるフレーム２１２において、テンプレート７１１〜７１３にそれぞれ一致する画像を、ブロックマッチング動作により探索する。
【００４９】
追跡点探索部１０４は、探索の結果、図５（ｂ）に示すように、フレーム２１２において、テンプレート７１１に一致する画像として探索領域８１１の画像を探索し、テンプレート７１２に一致する画像として探索領域８１２の画像を探索し、テンプレート７１３に一致する画像として探索領域８１３の画像を探索したものとする。この場合、追跡点探索部１０４は、探索領域８１１の中心点を追跡点３１５とし、探索領域８１２の中心点を追跡点３１６とし、探索領域８１３の中心点を追跡点３１７とする。ここで、図５（ｂ）のフレーム２１２で示されるように、特徴点３１２については、ワイパー９１０によるオクルージョンが発生し、探索された追跡点である追跡点３１６は正しいものではない。また、決定部１０７によって、追跡点探索部１０４により探索された追跡点３１５、３１７が、追跡結果としての追跡点として決定されたものとする。
【００５０】
次に、図５（ｃ）に示す説明図２１３により、オクルージョンが発生した場合の追跡点の予測動作について説明する。ここでは、オクルージョンが発生した特徴点３１２についての追跡点の予測動作を例に説明する。追跡点予測部１０５は、既に確定している追跡結果（具体的には確定しているオプティカルフロー）から、ｎ枚目のフレームであるフレーム２１１の特徴点３１２が、（ｎ＋１）枚目のフレームであるフレーム２１２でどの位置に移動しているかを予測する。説明図２１３に示すように、決定部１０７によって追跡点３１５が追跡結果としての追跡点として決定されているので、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの特徴点３１１の位置に対応する対応点４１１から追跡点３１５に向かうベクトルは、追跡点３１５に対応する、確定したオプティカルフロー６１１である。ここで、例えば、追跡点予測部１０５は、特徴点３１２の近傍に存在する特徴点３１１についての確定したオプティカルフロー６１１を利用し、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの特徴点３１２の位置に対応する対応点４１２から、オプティカルフロー６１１と同じベクトルであるベクトル６５２によって指し示される点を、特徴点３１２についての予測した追跡点である予測点５１２とする。
【００５１】
決定部１０７は、判定部１０６により特徴点３１２についてオクルージョンが発生していると判定された場合、追跡点予測部１０５により予測された追跡点である予測点５１２が、特徴点３１２に対する追跡結果としての追跡点（説明図２１４の追跡点３１６ａ）として決定する。
【００５２】
そして、図５（ｃ）の説明図２１４に示すように、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、対応点４１２から追跡点３１６ａに向かうベクトルを、追跡点３１６ａに対応するオプティカルフロー６１２として求める。同様に、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの特徴点３１３の位置に対応する点である対応点４１３から追跡点３１７に向かうベクトルを、追跡点３１７に対応するオプティカルフロー６１３として求める。そして、決定部１０７は、求めたオプティカルフロー６１１〜６１３の情報を、第３記憶部１１３に記憶させる。
【００５３】
また、決定部１０７は、テンプレート７１１、７１３のみを、それぞれ探索領域８１１、８１３の画像で更新し、第３記憶部１１３に記憶させ、テンプレート７１２については、追跡点３１６ａに対応するテンプレートとして保持する。
【００５４】
なお、図５（ｃ）では、オクルージョンが発生した特徴点３１２についての追跡点の予測動作について説明したが、後述するように、追跡点の予測動作は、特徴点抽出部１０３により抽出されたすべての特徴点に対して行われる。
【００５５】
（グルーピング動作）
図６は、グルーピング動作を説明する図である。図６を参照しながら、グルーピング部１０８のグルーピング動作の詳細について説明する。
【００５６】
図４および５で上述したように、特徴点の追跡動作の結果、決定部１０７によって、追跡点が決定され、その追跡点に対応するオプティカルフローが求められる。このオプティカルフローの長さは、画像処理装置１に近い追跡点ほど長く、遠い追跡点ほど短くなり、オプティカルフローの位置によって向きも異なる。また、撮像されたフレームに動物体（対向車線を走る車または歩いている人等）が存在する場合、静止物体とは異なるベクトルとなる場合が多い。そのため、オクルージョンが発生した際に追跡点を予測するためには、上述したように、例えば、追跡点を予測したい特徴点の近傍にある特徴点に対応する、確定したオプティカルフローを利用するというのみでは、上述したように遠近によるオプティカルフローの長さの相違、または、動物体についてのオプティカルフローの向きの違い等が影響し、誤った追跡点の予測をしてしまう可能性がある。
【００５７】
この誤った追跡点の予測を回避するため、画像処理装置１は、オプティカルフローの長さおよび向きに基づいて、追跡点のグループ分けを行い、同じグループ内のオプティカルフローを用いて追跡点を予測する。以下、オプティカルフローの長さおよび向きに基づいて追跡点のグループ分けを行うグルーピング動作について説明する。ここで、説明を簡略にするため、図６に示すフレームには、静止物体のみが写っているものとする。
【００５８】
図６（ａ）に示すフレーム２２０は、画像処理装置１により撮像されたフレーム（ｎ枚目のフレーム）の一例である。ここで、画像処理装置１を搭載した車両５０は、直進しているものとする。図６（ｂ）に示すフレーム２２１は、フレーム２２０の次のフレーム（（ｎ＋１）枚目のフレーム）である。
【００５９】
図６（ａ）に示すフレーム２２０では、特徴点抽出部１０３によって、特徴点３２１〜３２４がそれぞれ抽出されているものとする。そして、図６（ｂ）に示すフレーム２２１では、決定部１０７によって、特徴点３２１〜３２４それぞれの追跡結果としての追跡点として、追跡点３２５〜３２８が決定されているものとする。また、決定部１０７によって、追跡点３２５〜３２８にそれぞれ対応するオプティカルフロー６２１〜６２４が求められているものとする。ここで、オプティカルフロー６２１〜６２４は、フレーム２２１において、ｎ枚目のフレームであるフレーム２２０の特徴点３２１〜３２４のそれぞれの位置に対応する対応点４２１〜４２４から、追跡点３２５〜３２８にそれぞれ向かうベクトルとして求められる。
【００６０】
グルーピング部１０８は、オプティカルフロー６２１およびオプティカルフロー６２２が、長さおよび向きがほぼ等しいため、それぞれに対応する追跡点３２５および追跡点３２６を同じグループ（グループ１００１）にグループ分けする。また、グルーピング部１０８は、オプティカルフロー６２３が、オプティカルフロー６２１、６２２と比較して、向きは近似しているものの、長さが異なるため、オプティカルフロー６２３に対応する追跡点３２７を、グループ１００１とは異なるグループ１００２にグループ分けする。また、グルーピング部１０８は、オプティカルフロー６２４が、オプティカルフロー６２１、６２２と比較して、向きが異なり、オプティカルフロー６２３と比較して、長さが異なるため、オプティカルフロー６２４に対応する追跡点３２８を、グループ１００１、１００２とは異なるグループ１００３にグループ分けする。そして、グルーピング部１０８は、グループ分けの結果、どの追跡点がどのグループに属するかというグループ情報を第３記憶部１１３に記憶させる。なお、オプティカルフローが等しいか否かを決める方法としては、例えば、オプティカルフロー同士の長さの差、および向き（角度）の差に対する閾値判定を行うものとすればよい。
【００６１】
以上のように、オプティカルフローの長さおよび向きに基づいて、追跡点のグループ分けを行い、同じグループ内のオプティカルフローを用いて追跡点を予測することによって、予測の精度を向上させることができる。
【００６２】
（追跡点の予測動作の詳細）
図７は、追跡点の予測動作を説明する図である。図７を参照しながら、追跡点予測部１０５による追跡点の予測動作の詳細について説明する。
【００６３】
図７に示す物体９３０、９３１は、共に同じ物体を示しており、物体９３０は、ｎ枚目のフレームに写っている物体であり、物体９３１は、（ｎ＋１）枚目のフレームに写っている物体であるものとする。また、画像処理装置１を搭載した車両５０は、図７に示す矢印１１００の方向に直進しているものとする。また、ｎ枚目のフレームの物体９３０における特徴点のうちの一部に対する追跡結果としての追跡点は、決定部１０７によって決定されているものとする。具体的には、決定部１０７は、物体９３０における特徴点のうちの一部に対して、（ｎ＋１）枚目のフレームにおいて、追跡点３３１〜３３３が追跡結果としての追跡点として決定しているものとする。そして、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、ｎ枚目のフレームの各特徴点の位置に対応する点である対応点４３１〜４３３から、それぞれ追跡点３３１〜３３３に向かうベクトルを、追跡点３３１〜３３３にそれぞれ対応するオプティカルフロー６３１〜６３３として求めているものとする。すなわち、オプティカルフロー６３１〜６３３は、それぞれ、確定したオプティカルフローである。
【００６４】
また、ｎ枚目のフレームの物体９３０における特徴点のうち一点については、ワイパー９１０によるオクルージョンが発生しているものとする。また、（ｎ＋１）枚目のフレームにおいて、このｎ枚目のフレームの物体９３０における特徴点のうち一点の位置に対応する点を、対応点４３４とする。また、対応点４３１〜４３４に対応するｎ枚目のフレームにおける特徴点（追跡点）は、グルーピング部１０８によって同じグループにグループ分けされているものとする。
【００６５】
このとき、追跡点予測部１０５は、既に確定しているオプティカルフロー６３１〜６３３を利用して、ｎ枚目のフレームにおける対応点４３４に対応する特徴点が、（ｎ＋１）枚目のフレームにおいてどの位置に移動しているかを予測する。すなわち、追跡点予測部１０５は、対応点４３４に対応する特徴点の、（ｎ＋１）枚目のフレームにおける追跡点を予測するために、この特徴点と同じグループに属する特徴点（対応点４３１〜４３３に対応するｎ枚目のフレームにおける特徴点）に対する追跡結果としての追跡点３３１〜３３３にそれぞれ対応するオプティカルフロー６３１〜６３３を利用する。具体的には、まず、追跡点予測部１０５は、例えば、以下の（式１）によって、ベクトル６６４を求める。
【００６６】
ｖ＝（ｖ１＋ｖ２＋ｖ３）／３                                    ・・・（式１）
【００６７】
（式１）におけるベクトルｖ１は、オプティカルフロー６３１であり、ベクトルｖ２は、オプティカルフロー６３２であり、ベクトルｖ３は、オプティカルフロー６３３である。また、（式１）におけるベクトルｖが、ベクトル６６４である。そして、追跡点予測部１０５は、（ｎ＋１）枚目のフレームにおいて、対応点４３４から、（式１）で求めたベクトル６６４によって指し示される点を、対応点４３４に対応する特徴点についての予測した追跡点である予測点５３４とする。以上の動作によって、追跡点予測部１０５は、各特徴点についての予測される追跡点（予測点）を求める。
【００６８】
なお、図７では、オクルージョンが発生した特徴点についての追跡点予測動作について説明したが、後述するように、追跡点の予測動作は、特徴点抽出部１０３により抽出されたすべての特徴点に対して行われる。
【００６９】
（特徴点の追跡動作の流れ）
図８は、実施の形態に係る画像処理装置の追跡画像処理の動作の一例を示すフローチャートである。図９は、テーブルの構成の一例を示す図である。図８および９を参照しながら、画像処理装置１の追跡画像処理のうち、特徴点の追跡動作の流れを総括的に説明する。なお、予め、ｎ枚目のフレームにおいて特徴点が抽出されているものとする。
【００７０】
＜ステップＳ１１＞
追跡点探索部１０４は、第３記憶部１１３から、ｎ枚目のフレームのそれぞれの特徴点に対応するテンプレートを読み出す。なお、ｎ枚目のフレームの特徴点は、（ｎ−１）枚目のフレームの特徴点について、ｎ枚目のフレームでの追跡結果としての追跡点と換言してもよい。そして、ステップＳ１２へ移行する。
【００７１】
＜ステップＳ１２＞
追跡点探索部１０４は、（ｎ＋１）枚目のフレームにおいて、各特徴点に対応するテンプレートにそれぞれ一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋１）枚目のフレームにおいて、各テンプレートに一致する画像の中心点を、探索した追跡点とする。そして、追跡点探索部１０４は、探索した各追跡点の座標情報を探索結果情報として判定部１０６に送る。そして、ステップＳ１４の処理が終了するのを確認して、ステップＳ１５へ移行する。
【００７２】
＜ステップＳ１３＞
ステップＳ１１、１２における追跡点探索部１０４のブロックマッチング動作に並行して、追跡点予測部１０５は、特定の特徴点について予測される追跡点を求めるために、第３記憶部１１３から、特定の特徴点と同じグループの特徴点に対応する（ｎ＋１）枚目のフレームでの確定したオプティカルフローの情報（追跡結果情報の一部）を読み出す。追跡点予測部１０５は、特定の特徴点と、同じグループの特徴点を見つけるために、例えば、図９（ａ）に示す第３記憶部１１３に記憶された追跡結果テーブル２０００を参照する。
【００７３】
ここで、追跡結果テーブル２０００は、図９（ａ）に示すように、追跡ＩＤと、Ｘ座標と、Ｙ座標と、グループＩＤと、テンプレートと、追跡回数と、を関連付けるテーブルである。追跡ＩＤは、決定部１０７により決定された追跡点（追跡結果としての追跡点）を一意に識別する情報である。Ｘ座標およびＹ座標は、決定部１０７により決定された追跡点のフレームでの位置を示す座標情報である。グループＩＤは、グルーピング部１０８により追跡点についてグループ分けされたグループを一意に識別する情報である。テンプレートは、追跡点探索部１０４によるブロックマッチング動作に使用される、追跡ＩＤで識別される特徴点または追跡点の周辺画素で構成された画像の画素値である。追跡回数は、追跡ＩＤで識別される追跡点が何度追跡されたかを示す回数である。なお、図９（ａ）では、追跡ＩＤと、Ｘ座標と、Ｙ座標と、グループＩＤと、テンプレートと、追跡回数と、を関連付ける情報として、テーブル形式の追跡結果テーブル２０００を示したが、これに限定されるものではなく、これらの情報を関連付ける情報であれば、どのような形式であってもよい。また、追跡結果テーブル２０００は、さらに、追跡ＩＤに関連付けて、確定したオプティカルフローの情報を含むものとしてもよい。
【００７４】
そして、ステップＳ１４へ移行する。
【００７５】
＜ステップＳ１４＞
追跡点予測部１０５は、第３記憶部１１３から読み出した、特定の特徴点と同じグループの特徴点に対応する（ｎ＋１）枚目のフレームでの確定したオプティカルフローに基づいて、特定の特徴点について予測した追跡点である予測点を求める。追跡点予測部１０５は、（ｎ＋１）枚目のフレームにおいて予測した追跡点（予測点）の座標情報を予測結果情報として判定部１０６に送る。そして、ステップＳ１２の処理が終了するのを確認して、ステップＳ１５へ移行する。
【００７６】
＜ステップＳ１５＞
判定部１０６は、追跡点探索部１０４から受け取った探索結果情報、および追跡点予測部１０５から受け取った予測結果情報に基づき、探索した追跡点の座標と、予測した追跡点（予測点）の座標との差（距離）が所定値より大きいか否かを判定する。差（距離）が所定値以下である場合（ステップＳ１５：Ｙｅｓ）、判定部１０６によりオクルージョンがないものと判定され、ステップＳ１６へ移行し、所定値より大きい場合（ステップＳ１５：Ｎｏ）、判定部１０６によりオクルージョンが発生したものと判定され、ステップＳ１９へ移行する。
【００７７】
＜ステップＳ１６＞
決定部１０７は、判定部１０６によりオクルージョンがないと判定された場合、追跡点探索部１０４により探索された追跡点を、追跡結果としての追跡点として決定する。そして、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第３記憶部１１３に記憶させる。そして、ステップＳ１７へ移行する。
【００７８】
＜ステップＳ１７＞
決定部１０７は、追跡点探索部１０４により追跡点の探索に用いたテンプレートを、（ｎ＋１）枚目のフレームにおいてテンプレートに一致する画像で更新し、第３記憶部１１３に記憶させる。具体的には、決定部１０７は、第３記憶部１１３に記憶された追跡結果テーブル２０００において、決定した追跡点を識別する追跡ＩＤに関連付けられたテンプレートを、（ｎ＋１）枚目のフレームにおいてテンプレートに一致する画像の画素値で更新する。そして、ステップＳ１８へ移行する。
【００７９】
＜ステップＳ１８＞
グルーピング部１０８は、決定部１０７により決定された各追跡点に対応するオプティカルフローの長さおよび向きに基づいて、それぞれの追跡点をグループ分けする。そして、グルーピング部１０８は、グループ分けの結果、どの追跡点がどのグループに属するかというグループ情報を第３記憶部１１３に記憶させる。具体的には、グルーピング部１０８は、第３記憶部１１３に記憶された追跡結果テーブル２０００において、決定部１０７により決定された追跡点に関連付けられたグループＩＤを、グループ分けの結果に応じたグループＩＤに更新する。そして、ステップＳ２０へ移行する。
【００８０】
＜ステップＳ１９＞
決定部１０７は、判定部１０６によりオクルージョンが発生したと判定された場合、追跡点予測部１０５により予測された追跡点（予測点）を、追跡結果としての追跡点として決定する。そして、決定部１０７は、（ｎ＋１）枚目のフレームにおいて、決定した追跡点に対応するオプティカルフローを求め、求めたオプティカルフローの情報を、第３記憶部１１３に記憶させる。そして、ステップＳ１８へ移行する。
【００８１】
＜ステップＳ２０＞
決定部１０７は、決定した追跡点の座標情報を追跡結果情報として、第３記憶部１１３に記憶させる。具体的には、決定部１０７は、第３記憶部１１３に記憶された追跡結果テーブル２０００において、決定した追跡点に関連付けられたＸ座標およびＹ座標を更新する。さらに、決定部１０７は、追跡結果テーブル２０００において、決定した追跡点に関連付けられた追跡回数を１だけ増加させる。また、決定部１０７は、グルーピング部１０８によりグループ分けされたことにより、同じグループに属する各追跡点に対応するオプティカルフローの平均を、図９（ｂ）に示す、第３記憶部１１３に記憶されたグループテーブル２１００に記憶させる。
【００８２】
ここで、グループテーブル２１００は、図９（ｂ）に示すように、グループＩＤと、Ｘ値と、Ｙ値と、向きと、を関連付けるテーブルである。グループＩＤは、上述の通りである。Ｘ値およびＹ値は、グループＩＤにより識別されるグループに属する各追跡点に対応するオプティカルフローの平均のベクトルのＸ方向およびＹ方向の絶対値である。向きは、オプティカルフローの平均のベクトルの向きを識別する情報である。例えば、向きが「００」の場合、右上を示し、「０１」の場合、左上を示すというように識別する。なお、図９（ｂ）では、グループＩＤと、Ｘ値と、Ｙ値と、向きと、を関連付ける情報として、テーブル形式のグループテーブル２１００を示したが、これに限定されるものではなく、これらの情報を関連付ける情報であれば、どのような形式であってもよい。
【００８３】
以上のステップＳ１１〜Ｓ２０で示される特徴点の追跡動作が繰り返されることによって、継続的に、特徴点（追跡点）の追跡が行われる。
【００８４】
（特徴点の追跡動作におけるテンプレートの更新）
図１０は、車両が直進している場合の特徴点の追跡動作におけるテンプレートについて説明する図である。図１１は、車両が左折する場合の特徴点の追跡動作におけるテンプレートについて説明する図である。
【００８５】
まず、図１０を参照しながら、画像処理装置１を搭載した車両５０が直進している場合の特徴点の追跡動作におけるテンプレートの更新について説明する。図１０に示す物体９４０〜９４２は、共に同じ物体を示しており、物体９４０は、ｎ枚目のフレームに写っている物体であり、物体９４１は、（ｎ＋１）枚目のフレームに写っている物体であり、物体９４２は、（ｎ＋２）枚目のフレームに写っている物体であるものとする。また、画像処理装置１を搭載した車両５０は、図１０に示す矢印１１０１の方向に直進しているものとする。まず、ｎ枚目のフレームにおける特徴点抽出部１０３により抽出された特徴点を中心とするテンプレート７４０、７４５が、第３記憶部１１３に記憶されているものとする。
【００８６】
追跡点探索部１０４は、第３記憶部１１３からテンプレート７４０を読み出し、（ｎ＋１）枚目のフレームにおいて、テンプレート７４０と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋１）枚目のフレームにおいて、テンプレート７４０と一致する画像として探索領域８４１の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８４１の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７４０を、探索領域８４１の画像で更新し、テンプレート７４１として第３記憶部１１３に記憶させる。
【００８７】
同様に、追跡点探索部１０４は、第３記憶部１１３からテンプレート７４１を読み出し、（ｎ＋２）枚目のフレームにおいて、テンプレート７４１と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋２）枚目のフレームにおいて、テンプレート７４１と一致する画像として探索領域８４２の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８４２の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７４１を、探索領域８４２の画像で更新し、テンプレート７４２として第３記憶部１１３に記憶させる。
【００８８】
また、追跡点探索部１０４は、第３記憶部１１３からテンプレート７４５を読み出し、（ｎ＋１）枚目のフレームにおいて、テンプレート７４５と一致する画像を、ブロックマッチング動作により探索する。ここで、テンプレート７４５に対応する特徴点に対してオクルージョン発生部分９４６でオクルージョンが発生したため、決定部１０７は、追跡点予測部１０５により予測された追跡点である予測点５４６を、追跡結果としての追跡点として決定する。この場合、決定部１０７は、第３記憶部１１３に記憶されたテンプレート７４５の更新は行わず、保持する。
【００８９】
そして、追跡点探索部１０４は、第３記憶部１１３から保持されているテンプレート７４５を読み出し、（ｎ＋２）枚目のフレームにおいて、テンプレート７４５と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋２）枚目のフレームにおいて、テンプレート７４５と一致する画像として探索領域８４７の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８４７の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７４５を、探索領域８４７の画像で更新し、テンプレート７４７として第３記憶部１１３に記憶させる。
【００９０】
なお、上述では、（ｎ＋１）枚目のフレームにおいてオクルージョンが発生した例を示したが、複数のフレームにわたって同一の特徴点（追跡点）に対して連続してオクルージョンが発生した場合、決定部１０７は、強制的に第３記憶部１１３に記憶されたテンプレートを更新するものとしてもよい。この場合、強制的にテンプレートを更新するか否かは、オクルージョンの連続発生回数が所定回数以上となったか否かで判定するものとすればよい。また、強制的に更新するテンプレートの例としては、オクルージョンが発生した場合において追跡点探索部１０４により探索された探索領域の画像、または、追跡点予測部１０５により予測された追跡点を中心とする画像等が挙げられる。
【００９１】
次に、図１１を参照しながら、画像処理装置１を搭載した車両５０が左折した場合を例にして、特徴点の追跡動作におけるテンプレートの更新について説明する。図１１に示す物体９５０〜９５２は、共に同じ物体を示しており、物体９５０は、ｎ枚目のフレームに写っている物体であり、物体９５１は、（ｎ＋１）枚目のフレームに写っている物体であり、物体９５２は、（ｎ＋２）枚目のフレームに写っている物体であるものとする。また、画像処理装置１を搭載した車両５０は、図１１に示す矢印１１０２の方向に左折するものとする。まず、ｎ枚目のフレームにおける特徴点抽出部１０３により抽出された特徴点を中心とするテンプレート７５０、７５５が、第３記憶部１１３に記憶されているものとする。
【００９２】
追跡点探索部１０４は、第３記憶部１１３からテンプレート７５０を読み出し、（ｎ＋１）枚目のフレームにおいて、テンプレート７５０と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋１）枚目のフレームにおいて、テンプレート７５０と一致する画像として探索領域８５１の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８５１の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７５０を、探索領域８５１の画像で更新し、テンプレート７５１として第３記憶部１１３に記憶させる。
【００９３】
同様に、追跡点探索部１０４は、第３記憶部１１３からテンプレート７５１を読み出し、（ｎ＋２）枚目のフレームにおいて、テンプレート７５１と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋２）枚目のフレームにおいて、テンプレート７５１と一致する画像として探索領域８５２の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８５２の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７５１を、探索領域８５２の画像で更新し、テンプレート７５２として第３記憶部１１３に記憶させる。
【００９４】
また、追跡点探索部１０４は、第３記憶部１１３からテンプレート７５５を読み出し、（ｎ＋１）枚目のフレームにおいて、テンプレート７５５と一致する画像を、ブロックマッチング動作により探索する。ここで、テンプレート７５５に対応する特徴点に対してオクルージョン発生部分９５６でオクルージョンが発生したため、決定部１０７は、追跡点予測部１０５により予測された追跡点である予測点５５６を、追跡結果としての追跡点として決定する。この場合、決定部１０７は、第３記憶部１１３に記憶されたテンプレート７５５の更新は行わず、保持する。
【００９５】
そして、追跡点探索部１０４は、第３記憶部１１３から保持されているテンプレート７５５を読み出し、（ｎ＋２）枚目のフレームにおいて、テンプレート７５５と一致する画像を、ブロックマッチング動作により探索する。追跡点探索部１０４は、探索の結果、（ｎ＋２）枚目のフレームにおいて、テンプレート７５５と一致する画像として探索領域８５７の画像を探索したものとする。そして、決定部１０７は、追跡点探索部１０４により探索された探索領域８５７の中心点を、追跡結果としての追跡点として決定したものとする。この場合、決定部１０７は、テンプレート７５５を、探索領域８５７の画像で更新し、テンプレート７５７として第３記憶部１１３に記憶させる。
【００９６】
なお、上述では、（ｎ＋１）枚目のフレームにおいてオクルージョンが発生した例を示したが、複数のフレームにわたって同一の特徴点（追跡点）に対して連続してオクルージョンが発生した場合、決定部１０７は、強制的に第３記憶部１１３に記憶されたテンプレートを更新するものとしてもよい。この場合、強制的にテンプレートを更新するか否かは、オクルージョンの連続発生回数が所定回数以上となったか否かで判定するものとすればよい。また、強制的に更新するテンプレートの例としては、オクルージョンが発生した場合において追跡点探索部１０４により探索された探索領域の画像、または、追跡点予測部１０５により予測された追跡点を中心とする画像等が挙げられる。また、強制的に更新するか否かを、オクルージョンの連続発生回数に基づいて閾値判定する場合、車両５０が右左折する場合の閾値は、車両５０が直進している場合の閾値よりも小さくするものとしてもよい。これによって、テンプレートを強制的に更新する頻度について、車両５０が直進する場合よりも、車両５０が右左折する場合の頻度を多くすることができ、オクルージョンが連続した場合の、特徴点の追跡動作についてのロバスト性を向上させることができる。
【００９７】
また、上述のように車両５０が右左折する場合は、フレームに写っている物体の動きが激しくなる傾向があるため、特徴点にオクルージョンが発生していなくても、追跡点探索部１０４により特徴点を探索できない場合がある。例えば、車両５０が右左折していることにより、（ｎ＋１）枚目のフレームにおいて、追跡点探索部１０４によりテンプレート７５５と一致する画像が探索できなかった場合、決定部１０７によって、追跡結果としての追跡点として決定された予測点５５６を中心とする画像によって、テンプレート７５５が強制的に更新されるものとしてもよい。
【００９８】
以上のように、判定部１０６は、追跡点探索部１０４から受け取った探索結果情報、および追跡点予測部１０５から受け取った予測結果情報に基づき、オクルージョンが発生したか否かを判定するものとしている。そして、決定部１０７は、判定部１０６によりオクルージョンがないと判定された場合、追跡点探索部１０４により探索された追跡点を、追跡結果としての追跡点として決定し、オクルージョンが発生したと判定された場合、追跡点予測部１０５により予測された追跡点（予測点）を、追跡結果としての追跡点として決定するものとしている。これによって、オクルージョンが発生した場合においても、オクルージョンが発生した部分で追跡点を予測して、追跡を継続することができる。
【００９９】
なお、上述の実施形態では、画像処理装置１が単眼のカメラ装置であるものとして説明したが、これに限定されるものではなく、画像処理装置１は、例えば、２つのカメラを備えるステレオカメラであってもよい。この場合、２つのカメラのうち一方のカメラで撮像したフレームについて、上述の追跡画像処理を実行するものとすればよい。
【０１００】
なお、上述の画像補正部１０２、特徴点抽出部１０３、追跡点探索部１０４、追跡点予測部１０５、判定部１０６、決定部１０７、およびグルーピング部１０８のうち少なくともいずれかがプログラムで実現される場合、画像処理装置１で実行されるそのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−ＲまたはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供される。
【０１０１】
また、上述の実施の形態に係る画像処理装置１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態に係る画像処理装置１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１０２】
また、上述の実施の形態に係る画像処理装置１で実行されるプログラムは、上述した画像補正部１０２、特徴点抽出部１０３、追跡点探索部１０４、追跡点予測部１０５、判定部１０６、決定部１０７、およびグルーピング部１０８のうち少なくともいずれかを含むモジュール構成となっていてもよく、実際のハードウェアとしてはＣＰＵ３２が上述の記憶媒体からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【符号の説明】
【０１０３】
１  画像処理装置
２  本体部
１０  撮像装置
１１  撮像レンズ
１２  絞り
１３  画像センサ
２０  信号変換装置
２１  ＣＤＳ
２２  ＡＧＣ
２３  ＡＤＣ
２４  フレームメモリ
３０  追跡処理装置
３１  ＦＰＧＡ
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  Ｉ／Ｆ
３９  バスライン
５０  車両
１０１  画像取得部
１０２  画像補正部
１０３  特徴点抽出部
１０４  追跡点探索部
１０５  追跡点予測部
１０６  判定部
１０７  決定部
１０８  グルーピング部
１１１  第１記憶部
１１２  第２記憶部
１１３  第３記憶部
２００〜２０２  フレーム
２０３  説明図
２１０〜２１２  フレーム
２１３、２１４  説明図
２２０、２２１  フレーム
３０１、３０２  特徴点
３０５、３０６  追跡点
３１１〜３１３  特徴点
３１５、３１６、３１６ａ、３１７  追跡点
３２１〜３２４  特徴点
３２５〜３２８  追跡点
３３１〜３３３  追跡点
４０１、４０２  対応点
４１１〜４１３  対応点
４２１〜４２４  対応点
４３１〜４３４  対応点
５１２  予測点
５３４  予測点
５４６  予測点
５５６  予測点
６０１、６０２  オプティカルフロー
６１１〜６１３  オプティカルフロー
６２１〜６２４  オプティカルフロー
６３１〜６３３  オプティカルフロー
６５２  ベクトル
６６４  ベクトル
７０１、７０２  テンプレート
７１１〜７１３  テンプレート
７４０〜７４２  テンプレート
７４５、７４７  テンプレート
７５０〜７５２  テンプレート
７５５、７５７  テンプレート
８０１、８０２  探索領域
８１１〜８１３  探索領域
８４１、８４２、８４７  探索領域
８５１、８５２、８５７  探索領域
９０１、９０２  物体
９１０  ワイパー
９３０、９３１  物体
９４０〜９４２  物体
９４６  オクルージョン発生部分
９５０〜９５２  物体
９５６  オクルージョン発生部分
１００１〜１００３  グループ
１１００〜１１０２  矢印
２０００  追跡結果テーブル
２１００  グループテーブル
【先行技術文献】
【特許文献】
【０１０４】
【特許文献１】特許第４２０９６４７号公報
【図１】
2016173795.tif 000003
【図２】
2016173795.tif 000004
【図３】
2016173795.tif 000005
【図４】
2016173795.tif 000006
【図５】
2016173795.tif 000007
【図６】
2016173795.tif 000008
【図７】
2016173795.tif 000009
【図８】
2016173795.tif 000010
【図９】
2016173795.tif 000011
【図１０】
2016173795.tif 000012
【図１１】
2016173795.tif 000013