(57)【特許請求の範囲】
【請求項１】
入力画像のフレームデータから追跡する画像領域を設定し、この画像領域を対象として、追跡対象となる矩形領域を参照ブロックとして抽出した上で、前記参照ブロックを抽出したフレームデータの次の時点におけるフレームデータから抽出した候補ブロックとの間の相関値を計算し、候補ブロックを１画素づつ移動させながら二次元的にスキャンし、相関値が一番高い位置から移動体の動きベクトルを求めることで画像追跡処理を行う画像追跡装置において、
前記参照ブロックと前記候補ブロックのそれぞれを複数の小ブロックに分割する画像領域分割手段と、
前記画像領域分割手段により分割された、前記参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求める相関演算手段と、
求められた小ブロック毎の相関値を評価して、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる相関値処理手段を備えると共に、
前記相関値処理手段は、
前記分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が、予め設定した閾値以内であれば、有効な小ブロックであると判定する有効ブロック判定手段を備えている、
ことを特徴とする画像追跡装置。
【請求項２】
前記相関値処理手段は、
追跡する画像領域全体の平均輝度と、分割した各小ブロック毎の平均輝度を予め計算して、画像領域全体の平均輝度より高い平均輝度を有する小ブロックのみを、有効な小ブロックと判定する有効ブロック判定手段を備えている、
ことを特徴とする請求項１記載の画像追跡装置。
【請求項３】
追跡開始時の有効な小ブロックの配置パターン及びブロック数を記憶しておく記憶手段と、
前記記憶手段の記憶データと、追跡する画像領域の配置パターン及びブロック数とを比較し、追跡開始時の配置パターンを維持している場合は、追跡する画像領域から取得したテンプレートを更新し、追跡開始時の配置パターンが変化した場合は、テンプレートの更新を停止するテンプレート制御手段を備えている、
ことを特徴とする請求項１記載の画像追跡装置。
【請求項４】
過去複数フレーム分の相関値を履歴データを保存しておく相関値保存手段と、
前記履歴データから、過去複数フレーム分の平均の相関値を求め、この平均の相関値を追跡物体の動きの予測値として、現フレームで求めた相関値に累積する相関値累積手段を備えている、
ことを特徴とする請求項１記載の画像追跡装置。
【請求項５】
入力画像のフレームデータから追跡する画像領域を設定し、この画像領域を対象として、追跡対象となる矩形領域を参照ブロックとして抽出した上で、前記参照ブロックを抽出したフレームデータの次の時点におけるフレームデータから抽出した候補ブロックとの間の相関値を計算し、候補ブロックを１画素づつ移動させながら二次元的にスキャンし、相関値が一番高い位置から移動体の動きベクトルを求めることで画像追跡処理を行う画像追跡装置に、
前記参照ブロックと前記候補ブロックのそれぞれを複数の小ブロックに分割する画像領域分割手段と、
前記画像領域分割手段により分割された、前記参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求める相関演算手段と、
求められた小ブロック毎の相関値を評価して、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる相関値処理手段の機能及び、
前記相関値処理手段が備えている、
前記分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が、予め設定した閾値以内であれば、有効な小ブロックであると判定する有効ブロック判定手段の機能を実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、道路上の交通量の監視など、ビデオカメラの画像を使って、対象とする移動物体を追跡する場合などに利用される画像追跡装置及び記録媒体に関する。
【０００２】
【従来の技術】
以下、従来例を説明する。
図１２は従来例の説明図（その１）であり、Ａ図は相関演算による動きベクトル計測説明図、Ｂ図は移動物体の追跡説明図である。また、図１３は従来例の説明図（その２）、図１４は従来例の説明図（その３）、図１５は従来例の説明図（その４）、図１６は従来例の説明図（その５）である。以下、図１２〜図１６に基づいて従来例を説明する。
【０００３】
従来、ビデオカメラから取り込んだ画像データを基に、対象とする移動物体を追跡する画像追跡装置が知られていた。この画像追跡装置では、相関演算を利用したパターンマッチングによる画像追跡処理が行われていた。その原理を図１２、図１３に基づいて説明する。図１２において、フレームｆは、或る時点でフレームメモリに格納された画像、フレームｆ＋１は、次の時点でフレームメモリに格納された画像である。
【０００４】
図１２のＡ図に示すように、相関演算では、追跡対象なる矩形領域１（フレームｆの画像領域）を参照ブロック（以下「テンプレート」とも記す）として抽出した上で、次の候補ブロック３（フレームｆ＋１の画像領域）との間の相関値を計算する。
【０００５】
この場合、候補ブロック３を１画素づつ移動させながら、２次元的にスキャンし、相関が一番高い（＝相関値が一番小さい）位置を求めれば、特定の目標、例えば、図１２のＢ図に示したヘリコプタ等の移動物体４が次のフレームのどこに動いたかを示す動きベクトル５が求まる。この相関値の計算には以下の式を用いる。
【０００６】
【数１】
0004398533.tif 000002
【０００７】
前記式では、参照ブロック（テンプレート）１を８×８画素の画像とし、参照ブロック１内の各画素の濃度差の絶対値の総和を求めている。ここで、Ｒ（ｘ，ｙ）は参照ブロック１、Ｓ（ｘ，ｙ）は探索ブロック２の画像データである。
【０００８】
この場合、２次元座標Ｘ，Ｙは、図の右方向と下方向が＋、上方向と左方向が−に設定してあり、探索ブロック２は、候補ブロック３を、該候補ブロック３の端からそれぞれ、図の右方向へ７画素、左方向へ−８画素、上方向へ−８画素、下方向へ７画素移動できる大きさに設定してある。
【０００９】
この手法は、ＳＡＤ（Sum of Absolute Difference）と呼ばれている手法であり、前記Ｄ（ｘ，ｙ）を相関値（又はディストーション）と呼び、相関値が小さい程、相関が高く、最も相関値が小さい位置を求めて動きベクトル５を算出する。動きベクトル５が求まれば、追跡したい画像の移動量が分かるので、繰り返しこの動きベクトル５を求めることで、特定の移動物体を追跡することが可能になる。
【００１０】
この際、図１２のＢ図に示したように、前記探索ブロック２の位置を求めた動きベクトル５に従って移動させる。前記の例では、８×８画素の領域の追跡であるが、この局所相関演算を組み合わせることにより、広い領域の画像の相関演算を行うことができる。これは、累積相関と呼ばれ、その式は次のようになる。
【００１１】
【数２】
0004398533.tif 000003
【００１２】
図１３に、８×８画素の相関演算結果を４回累積することで、１６×１６画素の領域の相関演算を行う方法の原理を示す。図示のように、１６×１６画素の領域を、それぞれ８×８画素のＢ１、Ｂ２、Ｂ３、Ｂ４からなる４つの領域に分割する。そして、分割後の各８×８画素の領域Ｂ１、Ｂ２、Ｂ３、Ｂ４について、それぞれ相関演算を行い、相関値マップを作成する。
【００１３】
例えば、領域Ｂ１の相関値マップ＝Ｓ１、領域Ｂ２の相関値マップ＝Ｓ２、領域Ｂ３の相関値マップ＝Ｓ３、領域Ｂ４の相関値マップ＝Ｓ４とすると、全体の相関値マップＳは、Ｓ＝Ｓ１＋Ｓ２＋Ｓ３＋Ｓ４となる。
【００１４】
しかしながら、前記の方法では、追跡画像の背景が変化した場合や、追跡している物体の一部が隠れた場合に相関が悪くなり（相関値が大きくなり）、安定した追跡ができなくなることがある。この様子を図１４に示す。図１４において、例えば、追跡物体が自動車７の場合、該自動車７が走行して、その一部が木８に隠れた時（一部隠れ）、或いは、自動車７の背景に、山９や木８が現れた時（背景変化）には、木８や山９により相関が悪くなり（相関値が大きくなり）、安定した追跡ができなくなることがある。
【００１５】
また、追跡している移動物体が回転した場合（例えば、図１２のＢ図のように、ヘリコプタを追跡していて、該ヘリコプタが空中で回転した場合）には、画像上で追跡物体の形状が大きく変化することがある。このような場合、テンプレートを順次更新することで対応する方法が従来から提案されているが、背景や、一部隠れが発生した場合は、追跡が続行できなくなることがある。この様子を図１５に示す。
【００１６】
図１５の例では、更新したテンプレートに変化した背景が含まれており、追跡対象が移動したにも関わらず、背景部分の相関が高いので、追跡ブロックがその場にとどまってしまう例である。この例では、最初のテンプレートに自動車７が含まれており、該自動車７の背景は無い（無背景）とする。
【００１７】
このような状態から自動車７が走行し、やがて背景が変化し、木８や山９が背景に現れたとする。このような場合、木８や山９を背景にした自動車７の画像にテンプレートを更新して追跡を続行する。しかし、この時、木８や山９の背景に相関が高くなってしまう。そして、自動車７が走行して別の背景が現れると、この画像は相関が低いとして無視されてしまう。従って、追跡ブロックがその場にとどまってしまう。
【００１８】
また、形状が類似した複数の物体がすれ違う場合、追跡がもう一方の物体に移ってしまうことがある。この様子を図１６に示す。図１６の例では、２台の自動車７がすれ違う状態を示している。この場合、２台の自動車７の形状が類似していると、追跡対象でない別の自動車７へ追跡対象が移動してしまうことがある。従って、追跡物体の追跡が不可能になってしまう。
【００１９】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
【００２０】
(1) ：追跡画像の背景が変化した場合や、追跡している物体の一部が隠れた場合に相関値が悪くなり、安定した追跡ができなくなることがある。
【００２１】
(2) ：追跡している移動物体が回転した場合には、画像上で追跡物体の形状が大きく変化することがある。このような場合、テンプレートを順次更新することで対応する方法が従来から提案されているが、背景や、一部隠れが発生した場合は、追跡が続行できなくなることがある。
【００２２】
(3) ：更新したテンプレートに変化した背景が含まれた場合、追跡対象が移動したにも関わらず、背景部分の相関が高くなり、追跡ブロックがその場にとどまってしまうことがある。
【００２３】
(4) ：形状が類似した複数の物体がすれ違う場合、追跡がもう一方の物体に移ってしまうことがある。このような場合、追跡物体の追跡が不可能になってしまうことがある。
【００２４】
本発明は、このような従来の課題を解決し、追跡物体の背景変化の影響を受け難くして追跡物体の一部隠れが発生した場合にも安定した追跡ができるようにすることを目的とする。また、追跡物体に一部隠れが発生した場合に、追跡を続行可能にして、形状変化と一部隠れの双方に対応しながらの追跡を可能にすることを目的とする。更に、動き予測を加味することにより、２物体がすれ違う場合にも追跡を続行可能にすることを目的とする。
【００２５】
【課題を解決するための手段】
図１は本発明の原理説明図であり、Ａ図は装置構成図、Ｂ図は画像追跡処理説明図である。図１において、３２は制御部（例えば、ＣＰＵ）、２１はメモリ、２７は相関演算部、１２はディスプレイ装置、、３１は撮像相関（例えば、ビデオカメラ）を示す。本発明は前記目的を達成するため、次のように構成した。
【００２６】
(1) ：入力画像のフレームデータ（撮像装置３１から画像追跡装置本体に入力し、メモリ２１に格納されたデータ）から追跡する画像領域（追跡ブロック）を設定し、この画像領域を対象として、追跡対象となる矩形領域を参照ブロックとして抽出した上で、前記参照ブロックを抽出したフレームデータの次の時点におけるフレームデータから抽出した候補ブロックとの間の相関値を計算し、候補ブロックを１画素づつ移動させながら二次元的にスキャンし、相関値が一番高い位置から移動体の動きベクトルを求めることで画像追跡処理を行う画像追跡装置において、前記参照ブロックと前記候補ブロックのそれぞれを複数の小ブロックに分割する画像領域分割手段（制御部３２の一部）と、前記画像領域分割手段により分割された、前記参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求める相関演算手段（相関演算部２７）と、求められた小ブロック毎の相関値を評価して、有効な小ブロック（図１のＢ図に示した太枠のブロックを除外したもの）の相関値のみを、前記追跡する画像領域全体の相関値計算に用いる相関値処理手段（制御部３２の一部）を備えると共に、前記相関値処理手段は、前記分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が、予め設定した閾値以内であれば、有効な小ブロックであると判定する有効ブロック判定手段（制御部３２の一部）を備えている。
【００２８】
(2) ：前記(1) の画像追跡装置において、前記相関値処理手段は、追跡する画像領域全体の平均輝度と、分割した各小ブロック毎の平均輝度を予め計算して、画像領域全体の平均輝度より高い平均輝度を有する小ブロックのみを有効な小ブロックと判定する有効ブロック判定手段（制御部３２の一部）を備えている。
【００２９】
(3) ：前記(1) の画像追跡装置において、追跡開始時の有効な小ブロックの配置パターン及びブロック数を記憶しておく記憶手段（メモリ２１）と、前記記憶手段の前記記憶データと、追跡する画像領域の配置パターン及びブロック数とを比較し、追跡開始時の配置パターンを維持している場合は、前記追跡する画像領域（追跡ブロック）から取得したテンプレートを更新し、追跡開始時の配置パターンが変化した場合は、テンプレートの更新を停止するテンプレート制御手段（制御部３２の一部）を備えている。
【００３０】
(4) ：前記(1) の画像追跡装置において、過去複数フレーム分の相関値を履歴データを保存しておく相関値保存手段（メモリ２１）と、前記履歴データから、過去複数フレーム分の平均の相関値を求め、この平均の相関値を追跡物体の動きの予測値として、現フレームで求めた相関値に累積する相関値累積手段（制御部３２の一部）を備えている。
【００３１】
(5) ：入力画像のフレームデータから追跡する画像領域を設定し、この画像領域を対象として、追跡対象となる矩形領域を参照ブロックとして抽出した上で、前記参照ブロックを抽出したフレームデータの次の時点におけるフレームデータから抽出した候補ブロックとの間の相関値を計算し、候補ブロックを１画素づつ移動させながら二次元的にスキャンし、相関値が一番高い位置から移動体の動きベクトルを求めることで画像追跡処理を行う画像追跡装置に、前記参照ブロックと前記候補ブロックのそれぞれを複数の小ブロックに分割する画像領域分割手段と、前記画像領域分割手段により分割された、前記参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求める相関演算手段と、求められた小ブロック毎の相関値を評価して、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる相関値処理手段の機能及び、前記相関値処理手段が備えている、前記分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が、予め設定した閾値以内であれば、有効な小ブロックであると判定する有効ブロック判定手段の機能を実現させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【００３２】
（作用）
前記構成に基づく本発明の作用を説明する。
【００３３】
(a) ：前記(1) では、画像追跡処理を行う場合、画像領域分割手段は参照ブロックと前記候補ブロックのそれぞれを複数の小ブロックに分割し、相関演算手段は画像領域分割手段により分割された、参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求め、相関値処理手段は求められた小ブロック毎の相関値を評価（有効／無効の評価）して、無効の小ブロックを除外し、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる。また、有効ブロック判定手段は、分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が予め設定した閾値以内であれば、有効な小ブロックであると判定し、それ以外を無効な小ブロックと判定する。
【００３４】
このようにすれば、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも対応可能である。すなわち、従来の装置では、追跡画像の背景が変化した場合や、追跡している物体の一部が隠れた場合に相関値が悪くなり、安定した追跡ができなくなることがあったが、本発明ではこのような従来の欠点は解消し、常に安定した画像追跡処理ができる。また、小ブロックの有効、無効の判定が簡単、かつ確実に行える。そして、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも安定した画像追跡処理ができる。
【００３７】
(b) ：前記(2) では、有効ブロック判定手段は、追跡する画像領域全体の平均輝度と、分割した各小ブロック毎の平均輝度を予め計算して、画像領域全体の平均輝度より高い平均輝度を有する小ブロックのみを有効な小ブロックと判定する。
【００３８】
このようにすれば、赤外線撮像カメラから入力した画像を基に画像追跡処理を行う場合、小ブロックの有効／無効の判定を確実に行うことができる。すなわち、赤外線撮像カメラから入力した画像を使って移動物体を追跡する場合、追跡の対象となる物体は車両や人など熱源となるものが多いので、追跡対象物体の画像上の輝度が背景より高いことを利用して、最初に小ブロックを設定する時に、予め有効ブロックを絞り込む。このようにすれば、小ブロックの有効／無効の判定を確実に行うことができ、画像追跡処理において、背景の変化の影響を受け難くすることができる。
【００３９】
(c) ：前記(3) では、制御部３２の制御により、記憶手段に追跡開始時の有効な小ブロックの配置パターン及びブロック数を記憶しておく。そして、テンプレート制御手段は、前記記憶手段の前記記憶データと、追跡する画像領域の配置パターン及びブロック数とを比較し、追跡開始時の配置パターンを維持している場合は、前記追跡する画像領域から取得したテンプレートを更新し、追跡開始時の配置パターンが変化した場合は、テンプレートの更新を停止する。
【００４０】
このようにすれば、テンプレート更新による追跡物体の形状変化追従と、物体の一部隠れへの対応を両立させることが可能になる。
【００４１】
(d) ：前記(4) では、制御部３２の制御により、相関値保存手段に過去複数フレーム分の相関値を履歴データを保存しておく。そして、相関値累積手段は前記履歴データから過去複数フレーム分（例えば、数フレーム分）の平均の相関値を求め、この平均の相関値を追跡物体の動きの予測値として、現フレームで求めた相関値に累積する。このようにすれば、すれ違い等で安定して追跡を続行することができる。
【００４２】
(e) ：前記(5) では、制御部３２（例えば、ＣＰＵ）が前記記録媒体のプログラムを読み出して実行することにより、参照ブロックと候補ブロックのそれぞれを複数の小ブロックに分割して、前記分割された、参照ブロックと候補ブロックのそれぞれ対応する小ブロック毎に相関演算を行って相関値を求め、求められた小ブロック毎の相関値を評価して、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる。また、分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が予め設定した閾値以内であれば、有効な小ブロックであると判定し、それ以外を無効な小ブロックと判定する。このようにすれば、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも対応可能である。
【００４３】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。
【００４４】
§１：画像追跡装置の説明
図２は装置構成図である。本実施の形態では図２に示す装置を使用して以下に説明する画像追跡処理を行う。この例は、パーソナルコンピュータ、ワークステーション等の各種コンピュータを使用して画像追跡装置を構成した例であり、コンピュータ本体１１と、該コンピュータ本体１１に接続されたディスプレイ装置１２、キーボード１３、リムーバブルディスクドライブ（以下「ＲＤＤ」と記す）１４、ハードディスク装置（以下「ＨＤＤ」と記す）１５と、ビデオカメラ１６、赤外線撮像カメラ１７等で構成する。
【００４５】
そして、前記コンピュータ本体１１には、コンピュータ内の各種制御等を行うＣＰＵ２０と、各種データの書き込みや読み出しを行うためのメモリ２１と、プログラムや各種データを格納しておくＲＯＭ２２を設けると共に、画像の相関演算を行うためのビデオボード２３を設ける。
【００４６】
前記ビデオボード２３は、前記ＳＡＤの手法を実現するために市販されているものであり、ビデオカメラ１６や赤外線撮像カメラ１７とのインタフェース制御を行うためのインタフェース制御部（以下「Ｉ／Ｆ制御部」と記す）２５と、フレーム毎の入力画像を格納するためのフレームメモリ２６と、相関演算を行うための相関演算部２７と、コマンド用共用メモリ２８と、データ用共用メモリ２９等が設けてある。
【００４７】
前記コマンド用共用メモリ２８と、データ用共用メモリ２９は、ＣＰＵ２０と相関演算部２７が共用するメモリであり、両者の間でコマンドやデータの受け渡しを行うものである。Ｉ／Ｆ制御部２５は、ビデオカメラ１６や赤外線撮像カメラ１７とのインタフェース制御を行うものであり、前記カメラから入力した入力画像を制御し、フレーム単位の画像をフレームメモリ２６に順次格納するものである。
【００４８】
この場合、前記カメラの出力画像がアナログ画像データであれば、ＡＤＣ（アナログ／ディジタル変換器）により入力画像データをディジタルデータに変換し、変換後のディジタルデータをフレーム単位でフレームメモリ２６に順次格納する。また、前記カメラの出力がディジタル画像データであれば、カメラからのディジタル画像データをデータ変換し、フレーム単位でフレームメモリ２６に順次格納する。
【００４９】
なお、ＣＰＵ２０が実行するプログラムや各種パラメータ等のデータは、予め、ＨＤＤ１５の記憶媒体、或いはＲＯＭ２２に格納しておき、ＣＰＵ２０が必要なデータを読み出して画像追跡処理を行う。この処理を行う過程でＣＰＵ２０はメモリ２１をワーク用メモリとして使用する。
【００５０】
画像追跡処理はＣＰＵ２０の制御により行うが、その概要は次の通りである。ビデオカメラ１６や赤外線撮像カメラ１７からの入力画像データは、Ｉ／Ｆ制御部２５が制御し、フレーム単位でフレームメモリ２６に順次格納する。そして、ＣＰＵ２０の指示コマンドにより相関演算部２７が相関演算を行い、演算結果のデータをＣＰＵ２０が取得し、メモリ２１に格納して処理を行う。
【００５１】
この場合、ＣＰＵ２０が相関演算部２７に指示するコマンドをコマンド用共用メモリ２８に格納すると、このコマンドを相関演算部２７が読み出す。そして、相関演算部２７は前記読み出したコマンドに従って、フレームメモリ２６から該当する画像を読み出し、相関演算を行う。前記相関演算を行った結果のデータは、相関演算部２７がデータ用共用メモリ２９に格納し、このデータをＣＰＵ２０が読み出すことで、ＣＰＵ２０は相関演算結果のデータを得る。前記の処理を行う場合、ＣＰＵ２０は各種データ（フレームメモリ２６から取得した画像データ、相関値データ等）をメモリ２１に格納し、作業を行う。
【００５２】
なお、前記相関演算部２７は、ハード構成の演算部であるが、このような例に限らず、ＣＰＵ２０が実行するプログラムにより実現（ソフト構成の相関演算部とする）してもよい。
【００５３】
§２：画像追跡処理の概要・・・図３参照
図３は画像追跡処理の概要説明図である。この例は、３２×３２画素の追跡ブロックを用いた例である。この例では、フレームｆの３２×３２画素の領域をテンプレートとして取得し、フレームｆ＋１と比較する。この場合、前記領域に例えば、自動車７が存在し、フレームｆ＋１では自動車７の一部が木８の影になっている。このような例について以下に処理の概要を説明する。
【００５４】
本発明では、背景変化の影響を受け難く、追跡物体の一部が隠れた場合にも、安定に追跡が続行できるようにする。また、通常はテンプレート更新により追跡物体の形状変化に対応しながら、一部隠れが起こった場合にはテンプレートの更新を一時停止することで、追跡を破綻させることなく形状変化と一部隠れの双方に対応しながらの追跡を可能にする。更に、動き予測を加味することにより、２物体のすれ違う場合にも追跡を続行可能にする。
【００５５】
そのため、図３に示すように、３２×３２画素の追跡ブロックを幾つかの小ブロック３５（この例では、８×８画素）に分割してぞそれの小ブロック３５に対して相関演算を行い、相関値を算出する。この小ブロック３５毎の相関値を全て累積すると追跡ブロック全体の相関値に等しくなるが、この時相関が低い小ブロック３５の相関値を累積の対象から外すことにより安定した追跡を実現する。
【００５６】
そして、背景の変化（従来例参照）や、一部隠れ（例えば、図３のフレームｆ＋１では、木８により自動車７の一部が隠れている）がある場合は、その背景変化や隠れがある小ブロックの相関値が悪くなるので、その小ブロックの相関値を累積しないようにして、背景変化や隠れの影響を排除する。
【００５７】
すなわち、図３の例では、木８により自動車７の一部が隠れている小ブロック（太線により図示した４つの小ブロック）を前記相関値の累積から排除する除外領域３６とする。そして、前記除外領域３６にされた４つの小ブロックを除く、残りの小ブロック（この例では、１２の小ブロック）の相関値を累積する。
【００５８】
§３：画像追跡処理の説明・・・図４〜図７参照
図４は画像追跡処理フローチャート（その１）、図５は画像追跡処理フローチャート（その２）である。また、図６は画像追跡処理説明図（その１）、図７は画像追跡処理説明図（その２）であり、Ａ〜Ｈは各処理説明図である。以下、図６、図７を参照しながら、図４、図５の処理フローチャートに基づいて画像追跡処理を説明する。なお、Ｓ１〜Ｓ１６は各処理ステップを示す。
【００５９】
先ず、ＣＰＵ２０は、図６のＡ図のように追跡ブロックを設定し、テンプレートを取得する（Ｓ１）。この場合、追跡ブロックは、例えば、３２×３２画素の領域とする。次に、ＣＰＵ２０は、図６のＢ図のように、設定した追跡ブロックを複数の小ブロック（例えば、８×８画素）に分割する（Ｓ２）。そして、図６のＣ図のように、ＣＰＵ２０の制御に基づいて相関演算部２７が前記分割した小ブロック（１〜ｎ）毎に相関演算を行い（Ｓ３）、ＣＰＵ２０は、小ブロック毎に相関値ｄ１〜ｄｎを得る。
【００６０】
次に、ＣＰＵ２０は、図６のＤ図のように、小ブロック毎の最小相関値Ｄｉ（ｉ＝１〜ｎ）を検出し（Ｓ４）、図７のＥ図のように、全小ブロック中の最小相関値（以下「ｍｉｎｄ」と記す）を検出する（Ｓ５）。次に、ＣＰＵ２０は、任意のパラメータｉをｉ＝１に設定し（Ｓ６）、図７のＦ図のように、（Ｄｉ−ｍｉｎｄ）＜閾値Ｔｈの条件を満たしているか否かを判定する（Ｓ７）。
【００６１】
その結果、前記（Ｄｉ−ｍｉｎｄ）＜閾値Ｔｈの条件を満たしていれば、相関値を累積し（Ｓ８）、ｉ≦ｎかどうかを判定する（Ｓ９）。その結果、ｉ≦ｎの条件を満たしていれば、パラメータｉをインクリメントしてｉ＝ｉ＋１とし（Ｓ１０）、前記Ｓ７の処理から繰り返して行う。また、前記Ｓ７の処理で、前記（Ｄｉ−ｍｉｎｄ）＜閾値Ｔｈの条件を満たしていない場合は、前記Ｓ９の処理を行う。
【００６２】
前記のようにして処理を行い、前記Ｓ９の条件を満たさなくなったら、すなわち、ｉ＞ｎとなったら、ＣＰＵ２０は、図７のＧ図のように、予測値を計算し、相関値マップを作成する（Ｓ１１）。そして、前記予測値の判定を行う（Ｓ１２）。その結果、予測値が有効ならば予測値を累積する（Ｓ１３）。
【００６３】
すなわち、有効ブロックの相関値の累積結果と有効ブロックの数から小ブロック１個当たりの平均相関値を算出し、これを過去数フレーム分（複数フレーム分）記憶して、それらを累積し、フレーム数で割ることにより、予測値を算出し、現フレームの相関値に累積することにより、すれ違い等で安定した追跡を実現する。
【００６４】
この際、予測値に重み計数ｋを掛けて、予測の割合を調整できるようにする。なお、Ｓｔは現在のフレームで算出した相関値マップ、Ｓｆは過去のフレームの相関から算出した予測の相関値マップ、Ｓは、Ｓ＝（Ｓｔ＋ｋ・Ｓｆ）／（ｋ＋１）で求めた相関値マップである（詳細は後述する）。
【００６５】
その後、ＣＰＵ２０は、図７のＨのように、追跡ブロックの動きベクトルを計算して（Ｓ１４）、追跡ブロックの位置更新を行う（Ｓ１５）。しかし、前記Ｓ１２の処理で、予測値が無効ならば、前記Ｓ１４の処理を行う。このようにして、全ての処理が終了するまで（Ｓ１６）、前記Ｓ２からの処理を繰り返して行い、全ての処理が終了したら、この処理を終了する。
【００６６】
なお、前記処理において、Ｓ１１〜Ｓ１３の処理を行わずに、Ｓ９の処理でｉ≧ｎとなったら、Ｓ１４の処理を行うことも可能である。
【００６７】
§４：画像追跡処理の詳細な説明・・・図８〜図１１参照
図８は画像追跡処理の具体例、図９は配置パターン及びブロック数の処理説明図、図１０は予測値の累積処理説明図、図１１は予測値の処理説明図である。以下、前記図８〜図１１に基づいて、前記画像追跡処理を更に詳細に説明する。
【００６８】
(1) ：画像追跡処理は、前記の通りであるが、相関値の累積対象処理から除外する小ブロックの判定は、最も相関が高い（＝最も相関値が小さい）小ブロックを基準にして行う。最も相関が高い小ブロックの相関値との差が、予め設定した閾値Ｔｈ未満であれば累積の対象とし、閾値Ｔｈ以上であれば累積の対象から除外する。
【００６９】
(2) ：赤外線撮像カメラ１７（図２参照）から入力した画像を使って移動物体を追跡する場合、追跡の対象となる物体は車両や人など熱源となるものが多いので、追跡対象物体の画像上の輝度が背景より高いことを利用して、最初に小ブロックを設定する時に、予め有効ブロックを絞り込む。この処理により、背景の変化の影響を受け難くすることができる。
【００７０】
例えば、図８のＡ図に示したように、ＣＰＵ２０は、予め追跡ブロック全体の平均輝度と、小ブロックの平均輝度を計算し、全体の平均輝度より平均輝度が高い小ブロックのみを累積の対象とする。通常、追跡物体の形状変化へ追従するために、テンプレートを順次更新する方法をとるが、隠れが発生した場合には、隠れが発生した状態でテンプレートの更新を行ってしまうため、追跡がスタックする（追跡が破綻する）場合がある。
【００７１】
これに対し、前記の方法で設定した有効ブロックの数や配置パターンをＣＰＵ２０の制御により、メモリ２１（図２参照）に記憶しておき、この数やパターンが変化した場合にＣＰＵ２０は、一部隠れが発生したと判断し、テンプレートの更新を停止する。このような制御を行うことで、テンプレート更新による追跡物体の形状変化追従と、物体の一部隠れへの対応を両立させることが可能になる。この様子を図８のＡ図〜Ｃ図に示す。
【００７２】
図８のＡ図に示した追跡ブロックを、例えば、３２×３２画素とし、小ブロックを８×８画素とする。そして、追跡ブロックの平均輝度と、小ブロックの平均輝度を計算し、（追跡ブロックの平均輝度）＜（小ブロックの平均輝度）の条件を満たした小ブロック（図の太い黒線で示した範囲内の小ブロック）のみを累積対象とする。なお、前記輝度は、画像上で濃度となって現れるので、画像上では前記平均輝度は平均濃度と同じである。
【００７３】
そして、図８のＢ図のように、累積対象のブロックの配置パターンと、累積したブロック数（この例ではブロック数＝６）をＣＰＵ２０の制御により、メモリ２１に記憶しておく（記憶方法は後述する）。その後、ＣＰＵ２０は、次のフレームにおいて、前のフレームのデータ（配置パターン及び累積したブロック数のデータ）と比較し、累積対象のブロックの配置とブロック数が変化しない場合は、テンプレートを更新するが、累積対象のブロックの配置やブロック数が変化した場合はテンプレートの更新を停止する処理を行う。
【００７４】
例えば、或るフレームｆにおいて、図８のＢ図に示した配置パターンとブロック数（＝６）を有していたものが、次のフレームｆ＋１で、図８のＣ図のようになったとする。この場合、追跡対象である自動車７の一部が木８の影に隠れてしまったため、配置パターンと累積対象のブロック数（＝３）が変化している。この場合、テンプレートの更新を停止する。
【００７５】
すなわち、通常、追跡物体の形状変化へ追従するために、テンプレートを順次更新する方法をとるが、追跡対象物体の一部に隠れが発生した場合でもテンプレートの更新を行なってしまうため、追跡がスタックする（追跡不可能となる）場合がある。
【００７６】
しかし、前記の方法では、設定した有効ブロックの数や配置パターンをメモリ２１に記憶しておき、該記憶された配置パターンやブロック数が変化した場合に一部隠れが発生したと判断し、テンプレートの更新を停止させることで、テンプレート更新による追跡物体の形状変化追従と物体の一部隠れへの対応を両立させることが可能になる。
【００７７】
(3) ：前記(2) で説明した配置パターンと累積対象ブロック数の記憶処理、及び比較処理を図９に基づいて説明する。前記配置パターンを記憶する場合、累積対象の小ブロックを「１」とし、その他の累積対象でない小ブロックを「０」とするビット列を作成し、それを配置パターンのデータとして保存しておく（例えば、メモリ２１に格納しておく）。
【００７８】
そして、配置パターンをフレーム間で比較する場合は、前記保存しておいたビット列を単純に比較することで、一致するか否かを判断すればよい。例えば、３２×３２画素の追跡対象ブロックを、４×４の小ブロックに分割した例を図９に示す。なお、分割数を多くした場合は、単純に記憶するビット列の幅を大きくするだけでよい。
【００７９】
図９のＤ図に示したように、追跡ブロックを４×４の小ブロックに分割し、行１、行２、行３、行４をそれぞれ図示矢印の方向に展開して１列にする。このようにして、追跡ブロックの各小ブロックを１列に並べ、各小ブロック毎に、１（累積対象の小ブロック＝１）、又は０（累積対象以外の小ブロック＝０）を入れて配置パターンのビット列を作成する。
【００８０】
例えば、図９のＥ図に示した配置パターン（図８の例と同じ）の場合、図９のＦ図に示したように、黒い部分（黒く塗り潰した小ブロック）を１（累積対象）とし、他の部分を全て０（累積対象外）とする。この場合、配置パターンのビット列は、「０００００１１０１１１１００００」となる。
【００８１】
従って、このビット列をメモリ２１に保存しておく。例えば、前記ビット列を１６進数で表現すると、０ｘ０６Ｆ０なので、これを変数に代入して（pattern=0x06F0）メモリ２１に記憶させればよい。そして、フレーム間での配置パターンの比較を行う場合は、前記メモリ２１に記憶してあるデータ（pattern=0x06F0）を使用すればよい。
【００８２】
(4) ：前記予測値の累積処理は次の通りである。前記追跡処理において、ＣＰＵ２０は、有効ブロック（累積対象の小ブロック）の相関値の累積結果と有効ブロックの数から小ブロック１個当たりの平均相関値を算出し、これを過去数フレーム分（複数フレーム分）メモリ２１に記憶して、それらを累積し、フレーム数で割ることにより予測値を算出し、現フレームの相関値に累積する。
【００８３】
このようにすれば、移動物体のすれ違い等が発生した場合でも安定した追跡を実現する。この際、予測値に重み計数を掛けて、予測の割合を調整できるようにする。
【００８４】
例えば、図１０に示したように、現在のフレームで算出した相関値マップを、Ｓｔ、過去のフレームで算出した相関マップをそれぞれＳｔ−１、Ｓｔ−２、Ｓｔ−３・・・Ｓｔ−ｎとする。この場合、Ｓｔ−１はＳｔより１つ前のフレームの相関値マップ、Ｓｔ−２はＳｔ−１より１つ前のフレームの相関値マップ、Ｓｔ−３はＳｔ−２より１つ前のフレームの相関値マップである。
【００８５】
このような過去のフレームで算出した相関値マップＳｔ−１、Ｓｔ−２、Ｓｔ−３・・・Ｓｔ−ｎを順次メモリ２１に記憶させておき、これらを累積して平均化処理を行い、予測の相関値マップＳｆを作成する。そして、現在のフレームで算出した相関値マップＳｔに、前記予測の相関値マップＳｆを加算し、相関値マップＳを算出する。この場合、重み計数をｋとし、Ｓ＝（Ｓｔ＋ｋ・Ｓｆ）／（ｋ＋１）の式により相関値マップＳを算出する。
【００８６】
このようにすれば、有効ブロック（累積対象の小ブロック）が少ない時は、予測の割合を大きくするなど、適応的に作用させることができる。また、予測値を累積する際に、予測値が有効かどうか判定を行い、有効な場合のみ累積を行うようにする。この予測値の判定方法を図１１のＡ図に示す。
【００８７】
図１１のＡ図において、Ｃｃは中心の相関値、Ｃｓは最も相関が高い位置の相関値、Ｔｈは閾値である。相関値マップ上の中心の相関値Ｃｃと相関が最も高い位置の相関値Ｃｓとの差の絶対値（Ｃｃ−Ｃｓ）を算出して、それが予め設定した閾値Ｔｈを越えていれば（Ｃｃ−Ｃｓ≧Ｔｈ）有効、越えていなければ（Ｃｃ−Ｃｓ＜Ｔｈ）無効であると判定する。
【００８８】
これは、追跡物体の振動的な動きの場合は、相関値が平均的な変化のない値を示すことから、そのような場合には予測値が有効でないと判断するものである。例えば、図１１のＢ図に示すように、波間に漂う船を追跡する場合には、波の上下に合わせて追跡物体である船が上下に振動する。
【００８９】
この場合には、予測値が追跡に悪影響を与えることになる。このような振動的な運動の場合は、相関値マップ上の各相関値が平均的となり、ＣｃとＣｓの差が無くなることにより判定できる。
【００９０】
§７：記録媒体とプログラムの説明
前記画像追跡装置が行う処理は、画像追跡装置内のＣＰＵ２０が、ＲＯＭ２２又はＨＤＤ１５のディスクに記憶されたプログラムを実行することにより行うが、このような例に限らず、次のようにしても実現できる。この場合、ＨＤＤ１５のディスクに格納するプログラムは、次のようにして記録（記憶）する。
【００９１】
▲１▼：リムーバブルディスクに格納されているプログラム（他の装置で作成したプログラムデータ）を、ＲＤＤ１４により読み取り、ＨＤＤ１５の記録媒体（ハードディスク）に格納する。
【００９２】
▲２▼：光磁気ディスク、或いはＣＤ−ＲＯＭ等の記憶媒体に格納されているデータを、前記コンピュータ本体１１に設けたドライブ装置（ＣＤ−ＲＯＭドライブ等）により読み取り、ＨＤＤ１５の記録媒体（ハードディスク）に格納する。
【００９３】
▲３▼：ＬＡＮ等の通信回線を介して他の装置から伝送されたプログラム等のデータを、コンピュータ本体１１が通信制御部を介して受信し、そのデータをＨＤＤ１５の記録媒体（ハードディスク）に格納する。
【００９４】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
【００９５】
(1) ：画像追跡処理を行う場合、追跡物体の背景変化の影響を受け難くし、追跡物体の一部隠れが発生した場合にも安定した追跡ができる。
【００９６】
(2) ：追跡物体に一部隠れが発生した場合でも、追跡を続行できる。また、追跡物体の形状変化と、一部隠れの双方に対応しながらの追跡も可能になる。
【００９７】
(3) ：追跡物体の動き予測データを加味することにより、２物体がすれ違う場合にも追跡を続行可能にできる。
【００９８】
(4) ：画像追跡処理を行う場合、画像領域分割手段は追跡する画像領域を複数の小ブロックに分割し、相関演算手段は分割した小ブロック毎に相関演算を行って相関値を求め、相関値処理手段は求められた小ブロック毎の相関値を評価して、無効の小ブロックを除外し、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる。
【００９９】
このようにすれば、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも対応可能になる。すなわち、従来の装置では、追跡画像の背景が変化した場合や、追跡している物体の一部が隠れた場合に相関値が悪くなり、安定した追跡ができなくなることがあったが、本発明ではこのような従来の欠点は解消し、常に安定した画像追跡処理ができる。
【０１００】
(5) ：有効ブロック判定手段は、分割した小ブロックの中で最も相関が高い小ブロックの相関値を基準にして、その相関値との差が、予め設定した閾値以内であれば、有効な小ブロックであると判定し、それ以外を無効な小ブロックと判定する。
【０１０１】
このようにすれば、小ブロックの有効、無効の判定が簡単、かつ確実に行える。そして、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも安定した画像追跡処理ができる。
【０１０２】
(6) ：有効ブロック判定手段は、追跡する画像領域全体の平均輝度と、分割した各小ブロック毎の平均輝度を予め計算して、画像領域全体の平均輝度より高い平均輝度を有する小ブロックのみを、有効な小ブロックと判定する。
【０１０３】
このようにすれば、赤外線撮像カメラから入力した画像を基に画像追跡処理を行う場合、小ブロックの有効／無効の判定を確実に行うことができる。すなわち、赤外線撮像カメラから入力した画像を使って移動物体を追跡する場合、追跡の対象となる物体は車両や人など熱源となるものが多いので、追跡対象物体の画像上の輝度が背景より高いことを利用して、最初に小ブロックを設定する時に、予め有効ブロックを絞り込む。このようにすれば、小ブロックの有効／無効の判定を確実に行うことができ、画像追跡処理において、背景の変化の影響を受け難くすることができる。
【０１０４】
(7) ：記憶手段に追跡開始時の有効な小ブロックの配置パターン及びブロック数を記憶しておき、テンプレート制御手段は、前記記憶手段の前記記憶データと、追跡する画像領域の配置パターン及びブロック数とを比較し、追跡開始時の配置パターンを維持している場合は、前記追跡する画像領域から取得したテンプレートを更新し、追跡開始時の配置パターンが変化した場合は、テンプレートの更新を停止する。このようにすれば、テンプレート更新による追跡物体の形状変化追従と、物体の一部隠れへの対応を両立させることが可能になる。
【０１０５】
(8) ：相関値保存手段に過去複数フレーム分の相関値を履歴データを保存しておき、相関値累積手段は前記履歴データから過去複数フレーム分（例えば、数フレーム分）の平均の相関値を求め、この平均の相関値を追跡物体の動きの予測値として、現フレームで求めた相関値に累積する。このようにすれば、すれ違い等で安定して追跡を続行することができる。
【０１０６】
(9) ：記録媒体のプログラムを読み出して実行することにより、追跡する画像領域を複数の小ブロックに分割する手順と、分割した小ブロック毎に相関演算を行って相関値を求める手順と、求められた小ブロック毎の相関値を評価して、有効な小ブロックの相関値のみを、前記追跡する画像領域全体の相関値計算に用いる手順とを実行する。このようにすれば、背景画像の変化による追跡への影響を軽減し、追跡物体の一部が隠れた場合にも対応可能である。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の実施の形態における装置構成図である。
【図３】本発明の実施の形態における画像追跡処理の概要説明図である。
【図４】本発明の実施の形態における画像追跡処理フローチャート（その１）である。
【図５】本発明の実施の形態における画像追跡処理フローチャート（その２）である。
【図６】本発明の実施の形態における画像追跡処理説明図（その１）である。
【図７】本発明の実施の形態における画像追跡処理説明図（その２）である。
【図８】本発明の実施の形態における画像追跡処理の具体例である。
【図９】本発明の実施の形態における配置パターン及びブロック数の処理説明図である。
【図１０】本発明の実施の形態における予測値の累積処理説明図である。
【図１１】本発明の実施の形態における予測値の処理説明図である。
【図１２】従来例の説明図（その１）である。
【図１３】従来例の説明図（その２）である。
【図１４】従来例の説明図（その３）である。
【図１５】従来例の説明図（その４）である。
【図１６】従来例の説明図（その５）である。
【符号の説明】
１  参照ブロック（テンプレート）
２  探索ブロック
３  候補ブロック
４  移動物体
５  動きベクトル
７  自動車
８  木
９  山
１１  コンピュータ本体
１２  ディスプレイ装置
１３  キーボード
１４  リムーバブルディスクドライブ（ＲＤＤ）
１５  ハードディスク装置（ＨＤＤ）
１６  ビデオカメラ
１７  赤外線撮像カメラ
２０  ＣＰＵ（中央処理装置）
２１  メモリ
２２  ＲＯＭ（リードオンリーメモリ）
２３  ビデオボード
２５  インタフェース制御部（Ｉ／Ｆ制御部）
２６  フレームメモリ
２７  相関演算部
２８  コマンド用共用メモリ
２９  データ用共用メモリ
３１  撮像装置
３２  制御部
３５  小ブロック
３６  除外領域
【図１】
0004398533.tif 000004
【図２】
0004398533.tif 000005
【図３】
0004398533.tif 000006
【図４】
0004398533.tif 000007
【図５】
0004398533.tif 000008
【図６】
0004398533.tif 000009
【図７】
0004398533.tif 000010
【図８】
0004398533.tif 000011
【図９】
0004398533.tif 000012
【図１０】
0004398533.tif 000013
【図１１】
0004398533.tif 000014
【図１２】
0004398533.tif 000015
【図１３】
0004398533.tif 000016
【図１４】
0004398533.tif 000017
【図１５】
0004398533.tif 000018
【図１６】
0004398533.tif 000019