(57)【特許請求の範囲】
【請求項１】
移動するオブジェクトを追尾する画像処理装置において、
画像の中の前記オブジェクトの移動を追尾する追尾処理を実行する追尾手段と、
前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受付ける入力手段と、
入力された前記補正指示に基づく補正値を算出する算出手段と、
前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映する反映手段と
を備える画像処理装置。
【請求項２】
前記入力手段は、
前記追尾点の補正方向を指示する方向指示手段と、
前記追尾点の補正方向への補正量を設定する補正量設定手段と
を含み、
前記算出手段は、前記方向指示手段により指示された前記補正方向、および前記補正量設定手段により設定された前記補正量に基づく前記補正値を算出する
請求項１に記載の画像処理装置。
【請求項３】
前記反映手段は、前記補正指示に基づく前記補正値を、前記追尾対象に対する相対値として前記追尾結果に反映する
請求項２に記載の画像処理装置。
【請求項４】
前記反映手段により前記補正指示に基づく前記補正値が反映された後、前記追尾点を前記オブジェクトの重心位置になるように微調整する微調整手段を
さらに備える請求項１に記載の画像処理装置。
【請求項５】
移動するオブジェクトを追尾する画像処理装置の画像処理方法において、
画像の中の前記オブジェクトの移動を追尾する追尾処理を実行し、
前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受付け、
入力された前記補正指示に基づく補正値を算出し、
前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映する
ステップを含む画像処理方法。
【請求項６】
移動するオブジェクトを追尾する画像処理装置の画像処理をコンピュータに、
画像の中の前記オブジェクトの移動を追尾する追尾処理を実行し、
前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受付け、
入力された前記補正指示に基づく補正値を算出し、
前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映する
ステップを含む処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、オブジェクトの追尾中において、ユーザからの補正指示に応じた所定の位置に追尾点を補正することができるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、動画像として表示される画像の中で、ユーザが指示した対象を追尾する方法が多く提案されている。それらのほとんどは、最初に追尾対象を指示した後、全自動で追尾処理を行うというものである。
【０００３】
しかしながら、実際には画像のノイズや長時間のオクルージョンなどの外乱によって、全自動処理で所望の追尾結果を得ることができない。
【０００４】
そこで、追尾結果をユーザが補正する方法がいくつか提案されている。例えば、特許文献１には、画像中の移動体を自動的に検出・追尾し、所望の結果が得られていない場合はユーザが手動で操作するというものである。また例えば、特許文献２には、追尾結果に対してユーザからの補正を受け付け、再度追尾処理を行うというものである。
【特許文献１】特開２００５−２４４５６２号公報
【特許文献２】特開２００５−１６５９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１は、自動的な対象の検出を行うものであり、所望の対象を指示して追尾することができなかった。また自動的な検出・追尾からユーザによる操作に切り替わるというだけであり、ユーザによる所望の補正指示をその後の追尾処理に反映させることはできなかった。
【０００６】
また、特許文献２において補正指示を反映させるには、追尾処理を中断して補正を反映させた後、再び追尾処理開始を指示する必要があり、リアルタイムに補正することができなかった。
【０００７】
以上のように、追尾処理中にユーザから対象の補正指示があった場合、その指示をリアルタイムに反映しながら追尾処理を継続することができなかった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、オブジェクトの追尾中において、ユーザからの補正指示に応じた所定の位置に追尾点を補正することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の画像処理装置は、移動するオブジェクトを追尾する画像処理装置において、画像の中の前記オブジェクトの移動を追尾する追尾処理を実行する追尾手段と、前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受け付ける入力手段と、入力された前記補正指示に基づく補正値を算出する算出手段と、前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映する反映手段とを備える。
【００１０】
前記入力手段は、前記追尾点の補正方向を指示する方向指示手段と、前記追尾点の補正方向への補正量を設定する補正量設定手段とを含むことができ、前記算出手段は、前記方向指示手段により指示された前記補正方向、および前記補正量設定手段により設定された前記補正量に基づく前記補正値を算出することができる。
【００１２】
前記反映手段は、前記補正指示に基づく前記補正値を、前記追尾対象に対する相対値として前記追尾結果に反映することができる。
【００１３】
本発明の一側面の画像処理装置は、前記反映手段により前記補正指示に基づく前記補正値が反映された後、前記追尾点を前記オブジェクトの重心位置になるように微調整する微調整手段をさらに備えることができる。
【００１４】
本発明の一側面の画像処理方法は、移動するオブジェクトを追尾する画像処理装置の画像処理方法において、画像の中の前記オブジェクトの移動を追尾する追尾処理を実行し、前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受付け、入力された前記補正指示に基づく補正値を算出し、前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映するステップを含む。
【００１５】
本発明の一側面のプログラムは、移動するオブジェクトを追尾する画像処理装置の画像処理をコンピュータに、画像の中の前記オブジェクトの移動を追尾する追尾処理を実行し、前記追尾処理が実行されている間、前記オブジェクト上の追尾点に対するユーザからの補正指示の入力を受付け、入力された前記補正指示に基づく補正値を算出し、前記補正指示が入力された場合、実行中の前記追尾処理を中断させることなく継続させたまま、前記補正指示に基づく前記補正値を追尾結果に反映するステップを含む処理を実行させる。
【００１６】
本発明の一側面においては、画像の中のオブジェクトの移動を追尾する追尾処理が実行され、追尾処理が実行されている間、オブジェクト上の追尾点に対するユーザからの補正指示の入力が受け付けられる。そして、入力された補正指示に基づく補正値が算出され、補正指示が入力された場合、実行中の追尾処理が中断されることなく継続されたまま、補正指示に基づく補正値が追尾結果に反映される。
【発明の効果】
【００１７】
本発明によれば、オブジェクトの追尾中において、ユーザからの補正指示に応じた所定の位置に追尾点を補正することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図を参照して説明する。
【００２４】
図１は、本発明を監視カメラシステムに適用した場合の構成例を表している。
【００２５】
撮像部２１は、例えば、CCD（Charge Coupled Device）ビデオカメラ等よりなり、撮像した画像を画像ディスプレイ２５に表示させる。追尾対象検出部２２は、撮像部２１より入力された画像から追尾対象を検出し、検出結果をオブジェクト追尾部２３に出力する。
【００２６】
オブジェクト追尾部２３は、撮像部２１より供給された画像中の、追尾対象検出部２２により指定された追尾点を追尾するように動作する。またオブジェクト追尾部２３は、追尾結果を追尾位置補正部２４に出力するとともに、追尾結果に基づいて、移動したオブジェクトを撮像できるようにカメラ駆動部２６を制御する。追尾位置補正部２４は、指示入力部２９を介してユーザから追尾位置の補正が指示された場合、オブジェクト追尾部２３からの追尾結果にユーザからの補正値を反映し、その補正結果を画像ディスプレイ２５に出力するとともに、オブジェクト追尾部２３に補正結果を供給する。これにより、オブジェクト追尾部２３は、補正された追尾点を次のフレームから追尾するように動作することができる。カメラ駆動部２６は、オブジェクト追尾部２３からの制御に基づいて、撮像部２１が追尾点を中心とする画像を撮影するように撮像部２１を駆動する。
【００２７】
制御部２７は、例えば、マイクロコンピュータなどにより構成され、各部を制御する。また制御部２７には、半導体メモリ、磁気ディスク、光ディスク、または光磁気ディスクなどにより構成されるリムーバブルメディア２８が必要に応じて接続され、プログラム、その他各種のデータが必要に応じて供給される。指示入力部２９は、各種のボタン、スイッチ、あるいは赤外線や電波を用いたリモートコントローラなどにより構成され、ユーザからの指示に対応する信号を制御部２７に出力する。
【００２８】
次に、図２のフローチャートを参照して、図１に示した監視カメラシステムが実行する監視処理について説明する。この処理は、監視システム１の電源がオンされているとき、撮像部２１により監視する領域が撮像され、その撮像して得られた画像が追尾対象検出部２２およびオブジェクト追尾部２３を介して画像ディスプレイ２５に出力されて開始される。
【００２９】
ステップＳ１において、追尾対象検出部２２は、撮像部２１から入力された画像から追尾対象を検出する処理を実行する。例えば、入力画像に動く物体が存在する場合、追尾対象検出部２２は、その動く物体を追尾対象として検出するとともに、追尾対象の中から、最も輝度の高い点あるいは追尾対象の中心の点などを追尾点として検出し、検出結果をオブジェクト追尾部２３に出力する。なお、追尾対象は、ユーザが指示入力部２９を介して所定の位置を指定して設定することももちろん可能である。
【００３０】
ステップＳ２において、オブジェクト追尾部２３は、ステップＳ１の処理で検出された追尾点を追尾する追尾処理を実行する。追尾処理の詳細については、図５を参照して後述するが、この処理により、撮像部２１により撮像された画像の中の追尾対象となるオブジェクト（例えば、人、動物など）の中の追尾点（例えば、目、頭の中心）が追尾され、追尾結果が制御部２７に出力されるとともに、追尾位置を表す位置情報が追尾位置補正部２４に出力される。
【００３１】
ステップＳ３において、制御部２７は、ステップＳ２の処理による追尾結果に基づいて、画像ディスプレイ２５に、撮像部２１により撮像された画像に追尾位置を表すマークなどを重畳して表示させる。
【００３２】
ステップＳ４において、オブジェクト追尾部２３は、ステップＳ２の処理による追尾結果に基づいて、オブジェクトの移動を検出し、移動したオブジェクトを撮像できるようにカメラを駆動させるカメラ駆動信号を生成し、カメラ駆動部２６に出力する。ステップＳ５において、カメラ駆動部２６は、オブジェクト追尾部２３からのカメラ駆動信号に基づいて撮像部２１を駆動する。これにより撮像部２１は、追尾点が画面から外れてしまうことがないようにカメラをパンまたはチルトする。
【００３３】
ステップＳ６において、制御部２７は、指示入力部２９を介したユーザからの指示に基づいて監視処理を終了するか否かを判定し、ユーザから終了が指示されていない場合には、ステップＳ１に戻り、それ以降の処理を繰り返し実行する。そして、ステップＳ６において、ユーザから監視処理の終了が指示されたと判定された場合、制御部２７は監視処理を終了する。
【００３４】
図３Ａ乃至図３Ｃは、このとき画像ディスプレイ２５に表示される画像の例を、時系列に示した図である。図３Ａは、撮像部２１により、追尾対象となるオブジェクト４１が撮像された画像の例であり、この例では、図中左方向に走って移動する人が、オブジェクト４１として撮像されている。図３Ｂでは、オブジェクト４１が、図３Ａの位置から図中左に移動しており、図３Ｃでは、オブジェクト４１が、図３Ｂの位置からさらに左に移動している。
【００３５】
追尾対象検出部２２は、図２のステップＳ１で、オブジェクト４１を検出し、このオブジェクト４１である人の目を、追尾点４１Ａとしてオブジェクト追尾部２３に出力する。ステップＳ２ではオブジェクト追尾部２３により追尾処理が行われる。
【００３６】
次に、図１のオブジェクト追尾部２３の詳細な構成例と、その動作について説明する。      
【００３７】
図４は、オブジェクト追尾部２３の機能的構成例を示すブロック図である。図４に示されるように、オブジェクト追尾部２３は、テンプレートマッチング部５１、動き推定部５２、シーンチェンジ検出部５３、背景動き推定部５４、領域推定関連処理部５５、乗り換え候補保持部５６、追尾点決定部５７、テンプレート保持部５８、および制御部５９により構成されている。
【００３８】
テンプレートマッチング部５１は、入力画像と、テンプレート保持部５８に保持されているテンプレート画像のマッチング処理を行う。動き推定部５２は、入力画像の動きを推定し、推定の結果得られた動きベクトルと、その動きベクトルの確度を、シーンチェンジ検出部５３、背景動き推定部５４、領域推定関連処理部５５、および追尾点決定部５７に出力する。シーンチェンジ検出部５３は、動き推定部５２より供給された動きベクトルとその動きベクトルの確度に基づいて、シーンチェンジを検出する。
【００３９】
背景動き推定部５４は、動き推定部５２より供給された動きベクトルとその動きベクトルの確度に基づいて背景動きを推定する処理を実行し、推定結果を領域推定関連処理部５５に供給する。領域推定関連処理部５５は、動き推定部５２より供給された動きベクトルとその動きベクトルの確度、背景動き推定部５４より供給された背景動き、並びに追尾点決定部５７より供給された追尾点情報に基づいて、領域推定処理を行う。また領域推定関連処理部５５は、入力された情報に基づいて乗り換え候補を生成し、乗り換え候補保持部５６へ供給し、保持させる。さらに領域推定関連処理部５５は、入力画像に基づいてテンプレートを作成し、テンプレート保持部５８に供給し、保持させる。
【００４０】
追尾点決定部５７は、動き推定部５２より供給された動きベクトルとその動きベクトルの確度、および乗り換え候補保持部５６より供給された乗り換え候補に基づいて、追尾点を決定し、決定された追尾点に関する情報を領域推定関連処理部５５に出力する。
【００４１】
制御部５９は、追尾対象検出部２２から出力された追尾点の情報に基づいて、テンプレートマッチング部５１乃至テンプレート保持部５８の各部を制御して、検出された追尾対象を追尾させるとともに、画像ディスプレイ２５に表示される画面の中に、追尾点が表示されるようにカメラ駆動部２６に制御信号を出力し、撮像部２１の駆動を制御する。これにより、追尾点が画面の外に出ないように制御される。また制御部５９は、追尾点の画面上での位置の情報などの追尾結果を、追尾位置補正部２４および制御部２７などに出力する。
【００４２】
次に、オブジェクト追尾部２３の動作について説明する。
【００４３】
図５は、図２のステップＳ２におけるオブジェクト追尾部２３が実行する追尾処理の詳細を説明するフローチャートである。
【００４４】
図５に示されるように、オブジェクト追尾部２３は、基本的に通常処理と例外処理を実行する。すなわち、ステップＳ１１で通常処理が行われる。この通常処理の詳細は、図９のフローチャートを参照して後述するが、この処理により追尾対象検出部２２により検出された追尾点を追尾する処理が実行される。
【００４５】
ステップＳ１１の通常処理において追尾点の追尾ができなくなったとき、ステップＳ１２において、例外処理が実行される。この例外処理の詳細は、図１２のフローチャートを参照して後述するが、この例外処理により、追尾点が画像から見えなくなったとき、テンプレートマッチングにより通常処理への復帰処理が実行される。例外処理によって追尾処理を継続することができなくなった、すなわち、通常処理へ復帰することができなくなったと判定された場合には処理が終了されるが、テンプレートマッチングによる復帰処理の結果、通常処理への復帰が可能と判定された場合には、処理は再びステップＳ１１に戻る。このようにして、ステップＳ１１の通常処理とステップＳ１２の例外処理が、各フレーム毎に順次繰り返し実行される。
【００４６】
本実施の形態においては、この通常処理と例外処理により、図６乃至図８に示されるように、追尾対象が回転したり、オクルージョンが発生したり、シーンチェンジが発生する等、追尾点が一時的に見えなくなった場合においても、追尾が可能となる。
【００４７】
図６の例では、フレームｎ−１において、追尾対象としての人の顔７４が表示されており、この人の顔７４は、右目７２と左目７３を有している。ユーザが、このうちの、例えば右目７２（正確には、その中の１つの画素）を追尾点７１として指定したとする。図６の例においては、次のフレームｎにおいて、追尾対象としての人が図中左方向に移動しており、さらに次のフレームｎ＋１においては、人の顔７４が時計方向に回動している。その結果、今まで見えていた右目７２が表示されなくなり、追尾ができなくなる。そこで、上述した図５のステップＳ１１の通常処理においては、右目７２と同一の対象物としての顔７４上の左目７３が新たな追尾点として選択され、追尾点が左目７３に乗り換えられる。これにより追尾が可能となる。
【００４８】
図７の例では、フレームｎ−１において、追尾対象としての人の顔７４の図中左側からボール８１が移動してきており、次のフレームｎにおいて、ボール８１がちょうど顔７４を覆う状態となっている。この状態においては、追尾点７１として指定されていた右目７２を含む顔７４が表示されていない。このようなオクルージョンが起きると、対象物としての顔７４が表示されていないので、追尾点７１に代えて追尾する乗り換え点もなくなり、以後、追尾点を追尾することが困難になる。そこで本実施の形態においては、追尾点７１としての右目７２を含むフレームｎ−１（実際には時間的にもっと前のフレーム）の画像がテンプレートとして予め保存され、ボール８１がさらに右側に移動し、フレームｎ＋１において、追尾点７１として指定された右目７２が再び現れると、上述した図５のステップＳ１２の例外処理により、追尾点７１としての右目７２が再び表示されたことがテンプレートに基づいて確認され、右目７２が再び追尾点７１として追尾されることになる。
【００４９】
図８の例では、フレームｎ−１において、追尾対象としての人の顔７４が表示されているが、次のフレームｎにおいて、自動車９１が人の顔７４を含む全体を覆い隠している。すなわち、この場合、シーンチェンジが起きたことになる。そこで本実施の形態においては、このようにシーンチェンジが起きて追尾点７１が画像から存在しなくなっても、自動車９１が移動して、フレームｎ＋１において再び右目７２が表示されると、上述した図５のステップＳ１２の例外処理により、追尾点７１としての右目７２が再び出現したことがテンプレートに基づいて確認され、この右目７２を再び追尾点７１として追尾することが可能となる。
【００５０】
次に、図９のフローチャートを参照して、図５のステップＳ１１の通常処理の詳細について説明する。
【００５１】
ステップＳ２１において、追尾点決定部５７は、通常処理の初期化処理を実行する。その詳細は、図１０のフローチャートを参照して後述するが、この処理によりユーザから追尾するように指定された追尾点を基準とする領域推定範囲が設定される。この領域推定範囲は、ユーザにより指定された追尾点と同一の対象物（例えば、追尾点が人の目である場合、目と同様の動きをする剛体としての人の顔、または人の体など）に属する点の範囲を推定する際に参照する範囲である。乗り換え点は、この領域推定範囲の中の点から選択される。
【００５２】
ステップＳ２２において、制御部５９は、次のフレームの画像の入力を待機するように各部を制御する。ステップＳ２３において、動き推定部５２は、追尾点の動きを推定する。すなわち、ユーザにより指定された追尾点を含むフレーム（ここでは前フレームという）より時間的に後のフレーム（ここでは後フレームという）をステップＳ２２の処理で取り込むことで、結局連続する２フレームの画像が得られたことになるので、ステップＳ２３において、前フレームの追尾点に対応する後フレームの追尾点の位置を推定することで、追尾点の動きが推定される。
【００５３】
なお、時間的に前または後とは、入力の順番や処理の順番をいう。通常、撮像の順番に各フレームの画像が入力されるので、その場合、より時間的に前に撮像されたフレームが前フレームとなるが、時間的に後に撮像されたフレームが先に処理される場合には、時間的に後に撮像されたフレームが前フレームとなる。
【００５４】
ステップＳ２４において、動き推定部５２は、ステップＳ２３の処理の結果、追尾点が推定可能であったか否かを判定する。追尾点が推定可能であったか否かは、例えば、動き推定部５２が生成、出力する動きベクトル（後述）の確度の値を、予め設定されている閾値と比較することで判定される。具体的には、動きベクトルの確度が閾値以上であれば推定が可能であり、閾値より小さければ推定が不可能であると判定される。すなわち、ここにおける可能性は比較的厳格に判定され、実際には推定が不可能ではなくても確度が低い場合には、不可能と判定される。これにより、より確実な追尾処理が可能となる。
【００５５】
なお、ステップＳ２４では、追尾点での動き推定結果と追尾点の近傍の点での動き推定結果が、多数を占める動きと一致する場合には推定可能、一致しない場合には推定不可能と判定するようにすることも可能である。
【００５６】
ステップＳ２４において、追尾点の動きが推定可能であると判定された場合、つまり、追尾点が同一対象物上の対応する点上に正しく設定されている確率が比較的高い場合、ステップＳ２５に進む。より具体的には、図６の例において右目７２が追尾点７１として指定された場合、右目７２が正しく追尾されている確率が比較的高い場合には追尾点の動きが推定可能であると判定される。
【００５７】
ステップＳ２５において、追尾点決定部５７は、ステップＳ２３の処理で得られた推定動き（いわゆる動きベクトル）の分だけ追尾点をシフトする。これにより、前フレームの追尾点の追尾後の後フレームにおける追尾の位置が決定されることになる。
【００５８】
ステップＳ２５の処理の後、ステップＳ２６において、領域推定関連処理が実行される。この領域推定関連処理の詳細は、本出願人が先に提案している特開２００５−３０３９８３号公報に開示されている。この処理により、ステップＳ２１の通常処理の初期化処理で指定された領域推定範囲が更新される。また対象物体が回転するなどして、追尾点が表示されない状態になった場合に、追尾点を乗り換えるべき点としての乗り換え点としての候補（乗り換え候補）が、まだ追尾が可能な状態において予め抽出され、乗り換え候補保持部５６で保持される。さらに乗り換え候補への乗り換えもできなくなった場合、追尾は一旦中断されるが、追尾点が再び出現することで再び追尾が可能になったことを確認するためのテンプレートが予め作成され、テンプレート保持部５８で保持される。
【００５９】
ステップＳ２６の領域推定関連処理が終了した後、処理は再びステップＳ２２に戻り、それ以降の処理が繰り返し実行される。
【００６０】
このように、ユーザから指定された追尾点の動きが推定可能である限り、ステップＳ２２乃至ステップＳ２６の処理がフレーム毎に繰り返し実行され、追尾が行われることになる。
【００６１】
これに対して、ステップＳ２４において、追尾点の動きが推定不可能であると判定された場合、すなわち、上述したように、例えば動きベクトルの確度が閾値以下であるような場合には、処理はステップＳ２７に進む。
【００６２】
ステップＳ２７において、追尾点決定部５７は、ステップＳ２６の領域推定関連処理で生成された乗り換え候補が乗り換え候補保持部５６に保持されているので、その中から、元の追尾点に最も近い乗り換え候補を１つ選択する。追尾点決定部５７は、ステップＳ２８で乗り換え候補が選択できたか否かを判定し、乗り換え候補が選択できた場合には、ステップＳ２９に進み、追尾点をステップＳ２７の処理で選択した乗り換え候補に乗り換える（変更する）。これにより、乗り換え候補の点が新たな追尾点として設定される。
【００６３】
ステップＳ２９の処理の後、処理はステップＳ２３に戻り、乗り換え候補の中から選ばれた追尾点の動きを推定する処理が実行される。そして、ステップＳ２４において新たに設定された追尾点の動きが推定可能であるか否かが再び判定され、推定可能であれば、ステップＳ２５において追尾点を推定動き分だけシフトする処理が行われ、ステップＳ２６において領域推定関連処理が実行される。その後、処理は再びステップＳ２２に戻り、それ以降の処理が繰り返し実行される。
【００６４】
ステップＳ２４において、新たに設定された追尾点も推定不可能であると判定された場合には、再びステップＳ２７に進み、乗り換え候補の中から、元の追尾点に次に最も近い乗り換え候補が選択され、ステップＳ２９において、その乗り換え候補が新たな追尾点として設定される。その新たな追尾点について、再びステップＳ２３以降の処理が繰り返される。
【００６５】
乗り換え候補保持部５６で保持されているすべての乗り換え候補を新たな追尾点としても、追尾点の動きを推定することができなかった場合には、ステップＳ２８において、乗り換え候補が選択できなかったと判定され、この通常処理は終了される。そして、図５のステップＳ１２の例外処理に処理が進むことになる。
【００６６】
次に、図１０のフローチャートを参照して、図９のステップＳ２１の通常処理の初期化処理の詳細について説明する。
【００６７】
ステップＳ４１において、制御部５９は、今の処理は例外処理からの復帰の処理であるか否かを判定する。すなわち、図５のステップＳ１２の例外処理を終了した後、再びステップＳ１１の通常処理に戻ってきたのか否かが判定される。最初のフレームの処理においては、まだステップＳ１２の例外処理は実行されていないので、例外処理からの復帰ではないと判定され、処理はステップＳ４２に進む。
【００６８】
ステップＳ４２において、追尾点決定部５７は、追尾点を追尾点指示の位置に設定する処理を実行する。すなわち、入力画像の中で、例えば、最も輝度の高い点が追尾点として設定される。
【００６９】
なお、追尾点は、ユーザによる指定など、他の方法により設定されるようにしてもよい。ユーザによる指定とは、例えば、ユーザが指示入力部２９を操作することで、制御部５９に対して、入力画像の中の所定の点を追尾点として指定することにより行われることである。追尾点決定部５７は、設定した追尾点の情報を領域推定関連処理部５５に供給する。
【００７０】
ステップＳ４３において、領域推定関連処理部５５は、ステップＳ４２の処理で設定された追尾点の位置情報に基づき、領域推定範囲を設定する。この領域推定範囲は、追尾点と同じ剛体上の点を推定する際の参照範囲であり、予め追尾点と同じ剛体部分が領域推定範囲の大部分を占めるように、より具体的には、追尾点と同じ剛体部分に推定領域範囲の位置や大きさが追随するように設定することで、領域推定範囲の中で最も多数を占める動きを示す部分を追尾点と同じ剛体部分であると推定できるようにするためのものである。ステップＳ４３では、初期値として、例えば、追尾点を中心とする予め設定された一定の範囲が領域推定範囲とされる。その後、処理は図９のステップＳ２２に進むことになる。
【００７１】
一方、ステップＳ４１において、現在の処理が、図５のステップＳ１２の例外処理からの復帰の処理であると判定された場合、ステップＳ４４に進む。ステップＳ４４において、追尾点決定部５７は、図１２のフローチャートを参照して後述する例外処理によるテンプレートにマッチした位置に基づき追尾点と領域推定範囲を設定する。例えば、テンプレート上の追尾点とマッチした現フレーム上の点が追尾点とされ、その点から予め設定されている一定の範囲が領域推定範囲とされる。その後、処理は図９のステップＳ２２に進む。
【００７２】
以上の処理を、図１１を参照して説明すると次のようになる。
【００７３】
図１０のステップＳ４２において、例えば、図１１に示されるように、フレームｎ−１の人の右目７２が追尾点７１として指定されると、ステップＳ４３において、追尾点７１を含む所定の領域が領域推定範囲１０１として指定される。図９のステップＳ２４において、領域推定範囲１０１の範囲内のサンプル点が次のフレームにおいて推定可能であるか否かが判定される。図１１の例の場合、フレームｎの次のフレームｎ＋１においては、領域推定範囲１０１のうち、右目７２を含む図中左側半分の領域１０２がボール８１で隠されているため、フレームｎの追尾点７１の動きを、次のフレームｎ＋１において推定することができない。そこで、このような場合においては、時間的に前のフレームｎ−１で乗り換え候補として予め用意されていた領域指定範囲１０１内（右目７２を含む剛体としての顔７４内）の点の中から１つの点（例えば、顔７４に含まれる左目７３（正確には、その中の１つの画素））が選択され、その点がフレームｎ＋１における、新たな追尾点とされる。
【００７４】
次に、図１２のフローチャートを参照して、図５のステップＳ１１の通常処理に続いて行われる、ステップＳ１２の例外処理の詳細について説明する。この処理は、上述したように、図９のステップＳ２４において追尾点の動きを推定することが不可能と判定され、さらにステップＳ２８において追尾点を乗り換える乗り換え候補が選択できなかったと判定された場合に実行されることになる。
【００７５】
ステップＳ５１において、制御部５９は、例外処理の初期化処理を実行する。ここで、図１３のフローチャートを参照して、例外処理の初期化処理の詳細について説明する。
【００７６】
ステップＳ６１において、制御部５９は、追尾点の動きを推定することが不可能で、かつ、追尾点を乗り換える乗り換え候補が選択できなかった際にシーンチェンジが起きていたか否かを判定する。シーンチェンジ検出部５３は、動き推定部５２の推定結果に基づいてシーンチェンジがあったか否かを常に監視しており、制御部５９は、そのシーンチェンジ検出部５３の検出結果に基づいて、ステップＳ６１の判定処理を実行する。シーンチェンジ検出部５３の具体的処理については、図２４と図２５を参照して後述する。
【００７７】
シーンチェンジが起きている場合、制御部５９は、追尾ができなくなった理由がシーンチェンジが発生したことによるものと推定して、ステップＳ６２においてモードをシーンチェンジに設定する。これに対して、ステップＳ６１においてシーンチェンジが発生していないと判定された場合には、制御部５９は、ステップＳ６３においてモードをその他のモードに設定する。
【００７８】
ステップＳ６２またはステップＳ６３の処理の後、ステップＳ６４においてテンプレートマッチング部５１は、時間的に最も古いテンプレートを選択する処理を実行する。具体的には、図１４に示されるように、例えばフレームｎからフレームｎ＋１に移行するとき、例外処理が実行されるものとすると、フレームｎ−ｍ＋１からフレームｎに関して生成され、テンプレート保持部５８に保持されているｍ個のフレームのテンプレートの中から、時間的に最も古いテンプレートであるフレームｎ−ｍ＋１に関して生成されたテンプレートが選択される。
【００７９】
このように例外処理への移行直前のテンプレート（図１４の例の場合フレームｎに関して生成されたテンプレート）を用いずに、時間的に少し前のテンプレートを選択するのは、次のような理由からである。つまり、追尾対象のオクルージョンなどで例外処理への移行が発生した場合には、移行の直前には追尾対象が既にかなり隠れており、その時点のテンプレートでは、追尾対象を充分に大きく捉えることができない可能性が高いからである。従って、このように時間的に若干前のフレームにおけるテンプレートを選択することで、確実な追尾が可能となる。
【００８０】
図１３の説明に戻る。ステップＳ６５において、テンプレートマッチング部５１は、テンプレート探索範囲を設定する処理を実行する。テンプレート探索範囲は、例えば、例外処理に移行する直前の追尾点の位置がテンプレート探索範囲の中心となるように設定される。
【００８１】
すなわち、図１５に示されるように、フレームｎにおいて被写体の顔７４の右目７２が追尾点７１として指定されている場合において、図中左方向からボール８１が飛んできて、フレームｎ＋１において追尾点７１を含む顔７４が隠れ、フレームｎ＋２において、再び追尾点７１が現れる場合を想定する。この場合において、テンプレート範囲１１１に含まれる追尾点７１を中心とする領域がテンプレート探索範囲１１２として設定される。
【００８２】
ステップＳ６６において、テンプレートマッチング部５１は、例外処理への移行後の経過フレーム数およびシーンチェンジ数を０にリセットする。このフレーム数とシーンチェンジ数は、後述する図１２のステップＳ５５における継続判定処理（図１６のステップＳ７１，Ｓ７３，Ｓ７５，Ｓ７７）において使用される。
【００８３】
以上のようにして、例外処理の初期化処理が終了した後、図１２のステップＳ５２において、制御部５９は次のフレームの画像の入力を待機する処理を実行する。ステップＳ５３において、テンプレートマッチング部５１は、テンプレート探索範囲内においてテンプレートマッチング処理を行う。
【００８４】
ステップＳ５４においてテンプレートマッチング部５１は、通常処理への復帰が可能であるか否かを判定する。すなわち、テンプレートマッチング処理により、数フレーム前のテンプレート（図１５のテンプレート範囲１１１内の画素）と、テンプレート探索範囲内のマッチング対象の画素の差分の絶対値和が演算される。
【００８５】
より詳細には、テンプレート範囲１１１内の所定のブロックと、テンプレート探索範囲内の所定のブロックにおけるそれぞれの画素の差分の絶対値和が演算される。ブロックの位置がテンプレート範囲１１１内で順次移動され、各ブロックの差分の絶対値和が加算され、そのテンプレートの位置における値とされる。そして、テンプレートをテンプレート探索範囲内で順次移動させた場合における差分の絶対値和が最も小さくなる位置とその値が検索される。ステップＳ５４において、検索された最小の差分の絶対値和が、予め設定されている所定の閾値と比較される。差分の絶対値和が閾値以下である場合には、テンプレートに含まれている追尾点を含む画像が再び出現したことになるので、通常処理への復帰が可能であると判定され、処理は図５のステップＳ１１の通常処理に戻る。
【００８６】
そして、上述したように、図１０のステップＳ４１において、例外処理からの復帰であると判定され、ステップＳ４４において、差分絶対値和が最小となる位置をテンプレートのマッチした位置として、このマッチした位置とテンプレートに対応して保持してあったテンプレート位置と追尾点領域推定範囲の位置関係から、追尾点と領域推定範囲の設定が行われる。
【００８７】
図１２のステップＳ５４における通常処理への復帰が可能であるか否かの判定は、最小の差分絶対値和をテンプレートのアクティビティで除算して得られる値を閾値と比較することで行うようにしてもよい。この場合におけるアクティビティは、後述する図１７のアクティビティ算出部１２２により、図１８のステップＳ９３において算出された値を用いることができる。
【００８８】
あるいはまた、今回の最小の差分絶対値和を１フレーム前における最小の差分絶対値和で除算することで得られた値を所定の閾値と比較することで、通常処理への復帰が可能であるか否かを判定するようにしてもよい。この場合、アクティビティの計算が不要となる。すなわち、ステップＳ５４では、テンプレートとテンプレート探索範囲の相関が演算され、相関値と閾値の比較に基づいて判定が行われる。
【００８９】
ステップＳ５４において、通常処理への復帰が可能ではないと判定された場合、ステップＳ５５に進み、継続判定処理が実行される。継続判定処理の詳細は、図１６のフローチャートを参照して後述するが、この処理により、例外処理が継続可能であるか否かの判定が行われる。
【００９０】
ステップＳ５６において、制御部５９は、ステップＳ５５の継続判定処理による例外処理での追尾点の追尾が継続可能であるか否かの継続判定結果に基づいて（後述する図１６のステップＳ７６，Ｓ７８で設定されたフラグに基づいて）判定する。例外処理での追尾点の追尾処理が継続可能であると判定された場合、処理はステップＳ５２に戻り、それ以降の処理が繰り返し実行される。すなわち、追尾点が再び出現するまで待機する処理が繰り返し実行される。
【００９１】
これに対して、ステップＳ５６において、例外処理での追尾点の追尾処理が継続可能ではないと判定された場合（後述する図１６のステップＳ７５の処理で追尾点が消失した後の経過フレーム数が閾値THfr以上と判定されるか、または、ステップＳ７７の処理でシーンチェンジ数が閾値THsc以上と判定された場合）、もはや例外処理は不可能であるとして、追尾処理は終了される。なお、追尾処理を終了するのではなく、保持しておいた追尾点を用いて再度通常処理に戻るようにすることも考えられる。この場合の処理については、図３６のフローチャートを参照して後述する。
【００９２】
次に、図１６のフローチャートを参照して、図１２のステップＳ５５における継続判定処理の詳細について説明する。
【００９３】
ステップＳ７１において、制御部５９は、変数としての経過フレーム数に１を加算する処理を実行する。経過フレーム数は、図１２のステップＳ５１の例外処理の初期化処理（図１３のステップＳ６６）において、予め０にリセットされている。
【００９４】
次にステップＳ７２において、制御部５９は、シーンチェンジがあるか否かを判定する。シーンチェンジがあるか否かは、シーンチェンジ検出部５３が、常にその検出処理を実行しており、その検出結果に基づいて判定が可能である。シーンチェンジがあると判定された場合にはステップＳ７３に進み、制御部５９は、変数としてのシーンチェンジ数に１を加算する。このシーンチェンジ数も、図１３のステップＳ６６の初期化処理において０にリセットされている。通常処理から例外処理への移行時にシーンチェンジが発生していないと判定された場合には、ステップＳ７３の処理はスキップされる。
【００９５】
次に、ステップＳ７４において、制御部５９は、現在設定されているモードがシーンチェンジであるか否かを判定する。このモードは、図１３のステップＳ６２またはＳ６３において設定されたものである。現在設定されているモードがシーンチェンジであると判定された場合にはステップＳ７７に進み、制御部５９は、シーンチェンジ数が予め設定されている閾値THscより小さいか否かを判定する。制御部５９は、ステップＳ７７において、シーンチェンジ数が閾値THscより小さいと判定した場合にはステップＳ７６に進み、継続可のフラグを設定し、シーンチェンジ数が閾値THsc以上であると判定した場合にはステップＳ７８に進み、継続不可のフラグを設定する。
【００９６】
一方、ステップＳ７４において、モードがシーンチェンジではないと判定された場合（モードがその他であると判定された場合）、ステップＳ７５に進み、制御部５９は、経過フレーム数が閾値THfrより小さいか否かを判定する。この経過フレーム数も、図１３の例外処理の初期化処理のステップＳ６６において、予め０にリセットされている。制御部５９は、ステップＳ７５において、経過フレーム数が閾値THfrより小さいと判定された場合にはステップＳ７６に進み、継続可のフラグを設定し、経過フレーム数が閾値THfr以上であると判定された場合にはステップＳ７８に進み、継続不可のフラグを設定する。
【００９７】
このように、テンプレートマッチング処理時におけるシーンチェンジ数が閾値THsc以上になるか、または経過フレーム数が閾値THfr以上になった場合には、それ以上の例外処理は不可能とされる。
【００９８】
なお、モードがその他である場合には、シーンチェンジ数が０であるという条件も加えて、継続が可能であるか否かを判定するようにしてもよい。
【００９９】
以上においては、画像のフレームを処理単位とし、すべてのフレームを用いることを前提としたが、フィールド単位で処理したり、すべてのフレームまたはフィールドを利用するのではなく、所定の間隔で間引いて抽出されたフレームまたはフィールドを用いるようにすることも可能である。
【０１００】
次に、図１７を参照して、図４の動き推定部５２の構成例について説明する。図１７に示されるように、評価値算出部１２１、アクティビティ算出部１２２、および動きベクトル検出部１２３には、入力画像が供給されている。
【０１０１】
評価値算出部１２１は、動きベクトルにより対応付けられる両対象の一致度に関する評価値を算出し、正規化処理部１２５に供給する。アクティビティ算出部１２２は、入力画像のアクティビティを算出し、閾値判定部１２４と正規化処理部１２５に供給する。動きベクトル検出部１２３は、入力画像から動きベクトルを検出し、評価値算出部１２１と統合処理部１２６に供給する。
【０１０２】
閾値判定部１２４は、アクティビティ算出部１２２より供給されたアクティビティを所定の閾値と比較し、その判定結果を統合処理部１２６に供給する。正規化処理部１２５は、評価値算出部１２１より供給された評価値を、アクティビティ算出部１２２より供給されたアクティビティに基づいて正規化し、得られた値を統合処理部１２６に供給する。
【０１０３】
統合処理部１２６は、正規化処理部１２５から供給された正規化情報と、閾値判定部１２４より供給された判定結果に基づいて、動きベクトルの確度を演算し、得られた確度を動きベクトル検出部１２３より供給された動きベクトルとともに出力する。
【０１０４】
次に、図１８のフローチャートを参照して、動き推定部５２が実行する動き推定処理について説明する。動きベクトルは、点に対するものとして求められているが、その確度は、動きベクトルにより対応付けられる２つの点の近傍の、例えば点を中心とする、小ブロックの画像データを用いて計算される。
【０１０５】
ステップＳ９１において、動きベクトル検出部１２３は、入力画像から動きベクトルを検出する。この検出には、例えばブロックマッチング方式や勾配法が用いられる。検出された動きベクトルは、評価値算出部１２１と統合処理部１２６に供給される。
【０１０６】
ステップＳ９２において、評価値算出部１２１は、ステップＳ９１の処理で検出された動きベクトルにより対応付けられる両対象の一致度に関する評価値を算出する。具体的には、例えば、動きベクトルで対応付けられる２つの点を中心とする２つのブロックの画素値の差分絶対値和が算出される。すなわち、ステップＳ９１の処理で動きベクトル検出部１２３により検出された動きベクトルＶ（ｖｘ，ｖｙ）と、それに基づく時間的に前のフレームの画像Ｆｉ上の点Ｐ（Ｘｐ，Ｙｐ）、並びに時間的に後のフレームの画像Ｆｊ上の点Ｑ（Ｘｑ，Ｙｑ）の関係は次式（１）で表される。
【０１０７】
【数１】
0004797753.tif 000002
【０１０８】
評価値算出部１２１は点Ｐを中心とするブロックと、点Ｑを中心とするブロックについて、次式（２）に基づいて評価値Ｅｖａｌ（Ｐ，Ｑ，ｉ，ｊ）を演算する。
【０１０９】
【数２】
0004797753.tif 000003
【０１１０】
各ブロックは、１辺が２Ｌ＋１画素の正方形とされている。上記式（２）における総和ΣΣは、ｘが−ＬからＬについて、ｙが−ＬからＬについて、対応する画素同士で行われる。従って、例えば、Ｌ＝２である場合、９個の差分が得られ、その絶対値の総和が演算される。評価値は、その値が０に近づくほど、２つのブロックがよく一致していることを表している。
【０１１１】
評価値算出部１２１は、算出した評価値を正規化処理部１２５に供給する。
【０１１２】
ステップＳ９３において、アクティビティ算出部１２２は、入力画像からアクティビティを算出する。アクティビティは、画像の複雑さを表す特徴量であり、図１９に示されるように、各画素毎に注目画素Ｙ（ｘ，ｙ）と、それに隣接する８画素Ｙ（ｘ＋ｉ，ｙ＋ｊ）との差分絶対値和の平均値が、注目画素位置のアクティビティActivity(x,y)として次式（３）に基づいて演算される。
【０１１３】
【数３】
0004797753.tif 000004
【０１１４】
図１９の例の場合、３×３画素のうち、中央に位置する注目画素Ｙ（ｘ，ｙ）の値は１１０であり、それに隣接する８個の画素の値は、それぞれ８０，７０，７５，１００，１００，１００，８０，８０であるから、アクティビティActivity(x,y)は次式で表される。
【０１１５】
Activity(x,y)  ＝｛｜８０−１１０｜＋｜７０−１１０｜＋｜７５−１１０｜＋｜１００−１１０｜＋｜１００−１１０｜＋｜１００−１１０｜＋｜８０−１１０｜＋｜８０−１１０｜｝／８  ＝２４．３７５となる。
【０１１６】
同様の処理が、そのフレームのすべての画素について実行される。
【０１１７】
ブロック単位で動きベクトル確度を算出するため、次式（４）で表されるブロック内の全画素のアクティビティの総和が、そのブロックのアクティビティ（ブロックアクティビティ）Blockactivity(i,j)と定義される。
【０１１８】
【数４】
0004797753.tif 000005
【０１１９】
なお、アクティビティとしては、この他、分散値、ダイナミックレンジなどとすることも可能である。
【０１２０】
ステップＳ９４において、閾値判定部１２４は、ステップＳ９３の処理で算出されたブロックアクティビティを予め設定されている所定の閾値と比較する。そして、入力されたブロックアクティビティが閾値より大きいか否かを表すフラグを統合処理部１２６に出力する。
【０１２１】
具体的には、実験の結果、ブロックアクティビティと評価値は、動きベクトルをパラメータとして、図２０に示される関係を有する。図２０において、横軸はブロックアクティビティBlockactivity(i,j)を表し、縦軸は評価値Evalを表している。
【０１２２】
動きが正しく検出されている場合（正しい動きベクトルが与えられている場合）、そのブロックアクティビティと評価値の値は、曲線１３１より図中下側の領域Ｒ１に分布する。これに対して誤った動き（不正解の動きベクトル）が与えられた場合、そのブロックアクティビティと評価値の値は、曲線１３２より、図中左側の領域Ｒ２に分布する。なお、曲線１３２より上側の領域Ｒ２以外の領域と曲線１３１より下側の領域Ｒ１以外の領域には殆ど分布がない。曲線１３１と曲線１３２は、点Ｐにおいて交差しており、この点Ｐにおけるブロックアクティビティの値が閾値THaとされる。閾値THaは、ブロックアクティビティの値がそれより小さい場合には、対応する動きベクトルが正しくない可能性があることを意味する（この点については後に詳述する）。閾値判定部１２４は、アクティビティ算出部１２２より入力されたブロックアクティビティの値が、この閾値THaより大きいか否かを表すフラグを統合処理部１２６に出力する。
【０１２３】
ステップＳ９５において、正規化処理部１２５は、ステップＳ９２の処理で算出された評価値を、ステップＳ９３の処理で算出されたアクティビティに基づいて正規化する。具体的には、正規化処理部１２５は、次式（５）に従って動きベクトル確度VCを演算する。
【０１２４】
【数５】
0004797753.tif 000006
【０１２５】
但し、動きベクトル確度VCの値が０未満となる場合にはその値を０に置き換える。動きベクトル確度VCのうち、評価値をブロックアクティビティで割り算して得られた値は、その値によって規定される図２０のグラフ上の位置が、原点Ｏと点Ｐを結ぶ傾きが１の直線１３３より、図中下側の領域内であるのか、図中上側の領域内であるのかを表す。すなわち、直線１３３の傾きは１であり、評価値をブロックアクティビティで割り算して得られた値が１より大きければ、その値に対応する点は、直線１３３の上側の領域に分布する点であることを意味する。そしてこの値を１から減算して得られる動きベクトル確度VCは、その値が小さい程、対応する点が領域Ｒ２に分布する可能性が高いことを意味する。
【０１２６】
これに対して、評価値をブロックアクティビティで割り算して得られた値が１より小さければ、その値に対応する点は、直線１３３の図中下側の領域に分布することを意味する。そして、そのときの動きベクトル確度VCは、その値が大きい程（０に近い程）、対応する点が領域Ｒ１に分布することを意味する。正規化処理部１２５は、このようにして演算して得られた動きベクトル確度VCを統合処理部１２６に出力する。
【０１２７】
ステップＳ９６において、統合処理部１２６は、統合処理を実行する。この統合処理の詳細は、図２１のフローチャートに示されている。
【０１２８】
ステップＳ１０１において、統合処理部１２６は、ブロックアクティビティが閾値THa 以下か否かを判定する。この判定は、閾値判定部１２４より供給されたフラグに基づいて行われる。統合処理部１２６は、ブロックアクティビティが閾値THa以下であると判定した場合、ステップＳ１０２において、正規化処理部１２５が算出した動きベクトル確度VCの値を０に設定する。ステップＳ１０１において、アクティビティの値が閾値THaより大きいと判定された場合には、ステップＳ１０２の処理はスキップされ、正規化処理部１２５で生成された動きベクトル確度VCの値が、そのまま動きベクトルとともに出力される。
【０１２９】
これは、正規化処理部１２５において演算された動きベクトルの確度VCの値が正であったとしても、ブロックアクティビティの値が閾値THaより小さい場合には、正しい動きベクトルが得られていない可能性があるからである。すなわち、図２０に示されるように、原点Ｏと点Ｐの間においては、曲線１３２が、曲線１３１より図中下側に（直線１３３より下側に）突出することになる。ブロックアクティビティの値が閾値Thaより小さい区間であって、曲線１３１と曲線１３２において囲まれる領域Ｒ３においては、評価値をブロックアクティビティで割り算して得られる値は、領域Ｒ１とＲ２の両方に分布し、正しい動きベクトルが得られていない可能性が高い。
【０１３０】
そこで、このような分布状態である場合には、動きベクトルの確度は低いものとして処理するようにする。このため、ステップＳ１０２において、動きベクトル確度VCは、その値が正であったとしても、閾値Thaより小さい場合には、０に設定される。このようにすることで、動きベクトル確度VCの値が正である場合には、正しい動きベクトルが得られている場合であることを確実に表すことが可能となる。しかも、動きベクトル確度VCの値が大きい程、正しい動きベクトルが得られている確率が高くなる（分布が領域Ｒ１に含まれる確率が高くなる）。
【０１３１】
このことは、一般的に、輝度変化が少ない領域（アクティビティが小さい領域）では信頼性が高い動きベクトルを検出することが困難であるとの経験上の法則とも一致する。
【０１３２】
次に、図２２を参照して、図４の背景動き推定部５４の構成例について説明する。図２２に示されるように、背景動き推定部５４は、頻度分布算出部１４１と背景動き決定部１４２により構成されている。
【０１３３】
頻度分布算出部１４１は、動きベクトルの頻度分布を算出する。ただし、この頻度には、図４の動き推定部５２より供給される動きベクトル確度VC を用いることで、確からしい動きに重みが与えられるように、重み付けが行われる。背景動き決定部１４２は、頻度分布算出部１４１により算出された頻度分布に基づいて、頻度が最大となる動きを背景動きとして決定する処理を行い、図４の領域推定関連処理部５５へ出力する。
【０１３４】
図２３のフローチャートを参照して、背景動き推定部５４が実行する背景動き推定処理について説明する。
【０１３５】
ステップＳ１１１において、頻度分布算出部１４１は、動き頻度分布を算出する。具体的には、頻度分布算出部１４１は、背景動きの候補としての動きベクトルのｘ座標とｙ座標がそれぞれ基準点から±１６画素分の範囲で表されるとすると、１０８９個（＝１６×２＋１）×（１６×２＋１））の箱、すなわち動きベクトルがとり得る値に対応する座標分の箱を用意し、動きベクトルが発生した場合、その動きベクトルに対応する座標に１を加算する。このようにすることで、動きベクトルの頻度分布を算出することができる。
【０１３６】
ただし、１個の動きベクトルが発生した場合、１を加算していくと、確度が低い動きベクトルの発生頻度が多い場合、その確実性が低い動きベクトルが背景動きとして決定されてしまう恐れがある。そこで、頻度分布算出部１４１は、動きベクトルが発生した場合、その動きベクトルに対応する箱（座標）に、値１を加算するのではなく、値１に動きベクトル確度VC を乗算した値（＝動きベクトル確度VC の値）を加算する。動きベクトル確度VC の値は、０から１の間の値として正規化されており、その値が１に近いほど確度が高い値である。従って、このようにして得られた頻度分布は、動きベクトルをその確度に基づいて重み付けした頻度分布となる。これにより、確度の低い動きが背景動きとして決定される恐れが少なくなる。
【０１３７】
次に、ステップＳ１１２において、頻度分布算出部１４１は、動き頻度分布を算出する処理を全ブロックについて終了したか否かを判定する。まだ処理していないブロックが存在すると判定された場合、ステップＳ１１１に戻り、次のブロックについて動き頻度分布が算出される。
【０１３８】
以上のようにして、全画面に対して動き頻度分布算出処理が行われ、ステップＳ１１２において、全ブロックの処理が終了したと判定された場合、ステップＳ１１３に進み、背景動き決定部１４２は、頻度分布の最大値を検索する処理を実行する。すなわち、背景動き決定部１４２は、頻度分布算出部１４１により算出された頻度の中から最大の頻度のものを選択し、その頻度に対応する動きベクトルを背景動きの動きベクトルとして決定する。この背景動きの動きベクトルは、図４の領域推定関連処理部５５に供給され、全画面動きと背景動きが一致するか否かの判定処理に用いられる。
【０１３９】
次に、図２４を参照して、図４のシーンチェンジ検出部５３の構成例について説明する。図２４に示されるように、シーンチェンジ検出部５３は、動きベクトル確度平均算出部１５１と閾値判定部１５２により構成されている。
【０１４０】
動きベクトル確度平均算出部１５１は、図４の動き推定部５２より供給された動きベクトル確度VC の全画面の平均値を算出し、閾値判定部１５２に出力する。閾値判定部１５２は、動きベクトル確度平均算出部１５１より供給された平均値を、予め定められている閾値と比較し、その比較結果に基づいて、シーンチェンジであるか否かを判定し、判定結果を図４の制御部５９に出力する。
【０１４１】
図２５のフローチャートを参照して、シーンチェンジ検出部５３が実行するシーンチェンジ検出処理について説明する。
【０１４２】
ステップＳ１２１において、動きベクトル確度平均算出部１５１は、ベクトル確度の総和を算出する。具体的には、動きベクトル確度平均算出部１５１は、動き推定部５２の統合処理部１２６より出力された各ブロック毎に算出された動きベクトル確度VCの値を加算する処理を実行する。
【０１４３】
ステップＳ１２２において、動きベクトル確度平均算出部１５１は、ベクトル確度VCの総和を算出する処理が全ブロックについて終了したか否かを判定し、まだ終了していない場合には、ステップＳ１２１の処理を繰り返す。この処理を繰り返すことで、１画面分の各ブロックの動きベクトル確度VCの総和が算出される。
【０１４４】
ステップＳ１２２において、１画面全部についての動きベクトル確度VCの総和の算出処理が終了したと判定された場合、ステップＳ１２３に進み、動きベクトル確度平均算出部１５１は、ベクトル確度VCの平均値を算出する処理を実行する。具体的には、ステップＳ１２１の処理で算出された１画面分のベクトル確度VCの総和を、足し込まれたブロック数で除算して得られた値が平均値として算出される。
【０１４５】
ステップＳ１２４において、閾値判定部１５２は、ステップＳ１２３の処理で動きベクトル確度平均算出部１５１により算出された動きベクトル確度VCの平均値を、予め設定されている閾値と比較し、閾値より小さいか否かを判定する。一般的に、動画中の時刻が異なる２フレーム間でシーンチェンジが発生すると、対応する画像が存在しないため、動きベクトルを算出しても、その動きベクトルは確からしくないことになる。そこで、閾値判定部１５２は、ベクトル確度VCの平均値が閾値より小さいと判定した場合にはステップＳ１２５に進み、シーンチェンジフラグをオンし、閾値以上であると判定した場合にはステップＳ１２６に進み、シーンチェンジフラグをオフにする。シーンチェンジフラグのオンは、シーンチェンジがあったことを表し、シーンチェンジフラグのオフは、シーンチェンジが無いことを表す。
【０１４６】
このシーンチェンジフラグは、制御部５９へ供給され、図１３のステップＳ６１におけるシーンチェンジの有無の判定、並びに図１６のステップＳ７２のシーンチェンジの有無の判定に利用される。
【０１４７】
以上のように、図１のオブジェクト追尾部２３を構成することにより、追尾すべきオブジェクト４１（図３）が回転したり、オクルージョンが発生したり、あるいはシーンチェンジにより、オブジェクト４１の追尾点４１Ａが一時的に表示されなくなるような場合でも、画像の中で移動するオブジェクト４１の追尾点４１Ａを正確に追尾することができる。
【０１４８】
また、このようにして追尾されるオブジェクト４１の追尾点４１Ａの位置情報が、図１のオブジェクト追尾部２３による追尾結果として追尾位置補正部２４に出力される。すなわち、ユーザは、オブジェクト追尾部２３により追尾処理が行われたにもかかわらず所望の追尾結果が得られない場合、指示入力部２９を介して追尾位置の補正を指示することにより、その指示を受けた追尾位置補正部２４は、オブジェクト追尾部２３から供給された追尾結果としての位置情報を補正することができる。
【０１４９】
次に、図１の追尾位置補正部２４の詳細な構成例と、その動作について説明する。
【０１５０】
図２６は、追尾位置補正部２４の機能的構成例を示すブロック図である。図２６に示されるように、追尾位置補正部２４は、補正値算出部１６１、補正値反映部１６２、および微調整部１６３により構成されている。
【０１５１】
補正値算出部１６１は、指示入力部２９を介してユーザより追尾位置の補正が指示された場合、その補正値を算出する。例えば、指示入力部２９が上、下、右、左方向を指示することが可能な十字方向ボタンで構成されており、それらのボタンの１回の押下に応じて所定の補正量が予め設定されている場合、ボタンの押下回数に応じてユーザの補正値Δｕが算出される。また例えば、指示入力部２９が所定方向を指示することが可能なレバーで構成されており、レバーの傾斜角度に応じて所定の補正量が予め設定されている場合、レバーの倒し具合に応じてユーザの補正値Δｕが算出される。
【０１５２】
補正値反映部１６２は、オブジェクト追尾部２３から供給された追尾結果としての位置情報に、補正値算出部１６１から供給されたユーザの補正値Δｕを反映する。
【０１５３】
ここでは、ブロックマッチング方式などで算出された追尾対象としての追尾点に、ユーザの補正値Δｕを反映する例について説明する。
【０１５４】
図２７に示されるように、ブロックマッチング方式によれば、現フレームｔ＝ｔと次のフレームｔ＝ｔ＋１との間の差分ベクトルΔｘが算出される。上述したようにしてオブジェクト追尾部２３により通常の追尾処理が行われる場合には、次式（６）に基づいて、次のフレームｔ＝ｔ＋１の追尾点ｘ（ｔ＋１）が算出される。ｘ（ｔ）は現フレームｔ＝ｔの追尾点である。
【０１５５】
【数６】
0004797753.tif 000007
【０１５６】
例えば、算出された差分ベクトルΔｘを考慮せず、ユーザの補正値Δｕのみを反映させる第１の方法の場合、次式（７）に基づいて、次のフレームｔ＝ｔ＋１の追尾点ｘ（ｔ＋１）が算出される。
【０１５７】
【数７】
0004797753.tif 000008
【０１５８】
図２８は、第１の方法によりユーザの補正値を反映させる例を示している。図２８に示されるように、位置ｘ（ｔ）から位置ｘ（ｔ＋２）の間に行われたユーザによる補正が終了した後、補正後の追尾点はｘ（ｔ＋３）の位置とされる。このように、ユーザによる補正値Δｕは、画像の座標系に対する相対的な位置として追尾点に反映される。
【０１５９】
また例えば、算出された差分ベクトルΔｘを用いた追尾点と、ユーザの補正値Δｕによる追尾点とを別々に保持し、ユーザによる補正が終了した時点でブロックマッチング処理に反映させる第２の方法の場合、次式（８）に基づいて、補正開始時の追尾点ｕ（ｔ）が算出される。
【０１６０】
【数８】
0004797753.tif 000009
【０１６１】
また次式（９）に基づいて、補正中の追尾点が算出される。
【０１６２】
【数９】
0004797753.tif 000010
【０１６３】
さらに次式（１０）に基づいて、補正終了時の追尾点ｘ（ｔ＋１）が算出される。
【０１６４】
【数１０】
0004797753.tif 000011
【０１６５】
この場合、補正中に出力される追尾点はｘ'とされるが、オブジェクト追尾部２３の内部におけるブロックマッチング処理ではｘを用いることがポイントである。
【０１６６】
図２９は、第２の方法によりユーザの補正値を反映させる例を示している。図２９に示されるように、位置ｘ（ｔ）から位置ｘ（ｔ＋２）の間に行われたユーザによる補正が終了した後、補正後の追尾点はｘ（ｔ＋３）＋ｕ（ｔ＋３）の位置とされ、この位置が改めてｘ（ｔ＋３）となる。このように、ユーザによる補正値Δｕは、追尾対象に対する相対的な位置として反映される。
【０１６７】
なお、指示入力部２９に補正量変更ボタンを設けることにより、例えば、ユーザが、補正量変更ボタンを押下しつつ十字方向ボタンやレバーを操作することで、予め設定された補正量を大きく変更することができる。これにより、まず補正量変更ボタンを押下しつつ十字方向ボタンやレバーを操作して大雑把に追尾位置を補正し、その後、補正量変更ボタンを離して十字方向ボタンやレバーを操作して細部の追尾位置を補正することで、短時間で所望の追尾点に補正することが可能である。これは、画像サイズが大きい場合に特に有効である。
【０１６８】
図２６の説明に戻る。微調整部１６３は、補正値反映部１６２で第１の方法または第２の方法によりユーザの補正値Δｕが反映された追尾点をさらに微調整する。
【０１６９】
ここでは、追尾対象としてのオブジェクトの重心位置に追尾点を微調整する例について説明する。
【０１７０】
例えば、図３０に示されるように、位置ｘ（ｔ）から位置ｘ'（ｔ＋１）へ、上述した第１の方法を用いてユーザによる補正がなされた場合、補正後の位置ｘ'（ｔ＋１）が属しているオブジェクトの範囲２０１が算出され、そのオブジェクトの重心ｘ（ｔ＋１）へ追尾点が微調整される。以後、微調整された追尾点ｘ（ｔ＋１）の位置から追尾処理が継続される。
【０１７１】
ここで、色という画素値（色情報）に基づいて追尾点が属するオブジェクトの範囲を求め、その重心を算出する方法について説明する。
【０１７２】
（１）まず、位置ｘ'（ｔ＋１）のＲＧＢ色（ｒ'，ｇ'，ｂ'）を算出する。なお、表色系はＲＧＢでなくてもよい。
（２）ＲＧＢ色が算出された位置ｘ'（ｔ＋１）の周辺画素について、位置ｘ'（ｔ＋１）の色に近い色を持つ画素を同じオブジェクトに属していると判断する。例えば、次式（１１）で表されるΔｃが所定の値より小さい画素が位置ｘ'（ｔ＋１）と同じオブジェクトに属していると判断される。ｒ、ｇ、ｂは各周辺画素の色である。
【０１７３】
【数１１】
0004797753.tif 000012
（３）位置ｘ'（ｔ＋１）と同じオブジェクトに属している画素の位置から、次式（１２）に基づいて、オブジェクトの重心ｘ（ｔ＋１）を算出する。Ｘｉは、同じオブジェクトに属している各画素の位置であり、ｎは、同じオブジェクトに属している画素の総数である。
【０１７４】
【数１２】
0004797753.tif 000013
【０１７５】
以上のようにして、色情報を用いる方法で追尾点が属するオブジェクトの範囲を求め、その重心位置を算出することにより、追尾点を、追尾点が属するオブジェクトの重心位置に微調整することが可能である。
【０１７６】
なお、このように色情報を用いる方法に限らず、例えば、動きベクトルや輝度値などをもとにしてオブジェクトの範囲を求め、その重心位置を算出するようにしてもよい。例えば、動きベクトルを用いる場合、位置ｘ'（ｔ＋１）の動きベクトルと同じまたは似ているベクトルを持つものを同じオブジェクトに属していると判断し、次のようにしてオブジェクトの範囲を求め、その重心を算出することができる。
【０１７７】
（１）動きベクトル検出
図３１に示されるように、追尾点２１１を中心とした領域２１２内で、サンプリング間隔（ｓｘ，ｓｙ）毎に動きベクトルを検出する。領域２１２の大きさは、サンプル数ｍ，ｎとして、ｓｘ・ｍ×ｓｙ・ｎとなる。動きベクトルの検出には、例えばブロックマッチング方式や勾配法が用いられる。
（２）動きベクトルの頻度分布算出
例えば、処理範囲内の動きの候補を−１６＜＝ｖｘ＜＝１６、−１６＜＝ｖｙ＜＝１６の整数値（ｖｘは水平動き、ｖｙは垂直動き）で表すとすると、３３（＝１６×２＋１）画素×３３画素＝１０８９個の箱、すなわち動きベクトルがとり得る値に対応する座標分の箱を用意し、あるサンプル点で（ｖｘ，ｖｙ）＝（２，２）のとき、（２，２）の箱に１を加算する。この処理を処理範囲内の全サンプル点に対して行うことで、動きベクトルの頻度分布を算出することができる。
（３）追尾対象のサンプル点抽出
図３２に示されるように、領域２１２内で多数を占める動き（図３２の例においては、左斜め下方向の動き）と類似する動きを示すサンプル点を追尾対象上の点として抽出する。
（４）サンプル点の重心算出
領域２１２内において追尾対象上のサンプル点であるか否かを表すフラグをflag（ｉ，ｊ）（１＜＝i＜＝ｍ，１＜＝j ＜＝n）として設定する。（３）で追尾対象上のサンプル点として抽出された場合、１に設定され、（３）で追尾対象上のサンプル点として抽出されていない場合、０に設定される。そして、サンプル点の重心Ｇ（ｘ，ｙ）は、次式（１３）に基づいて、サンプル点Ｐ（ｘ，ｙ）として算出される。
【０１７８】
【数１３】
0004797753.tif 000014
【０１７９】
以上のようにして、動きベクトルを用いる方法で追尾点が属するオブジェクトの範囲を求め、その重心位置を算出することも可能である。ユーザによる補正に加え、微調整された先の追尾点は、外乱に対してロバスト性の高い、つまり追尾処理しやすいことを特徴としている。
【０１８０】
上述したような追尾補正処理について、図３３のフローチャートを参照して説明する。
【０１８１】
ステップＳ１３１において、ユーザにより指示入力部２９が用いられ、追尾対象の位置が指定され追尾開始が指示されたか否かを判定し、追尾開始が指示されるまで待機する。そして、ステップＳ１３１において、追尾対象の位置が指定され追尾開始が指示されたと判定された場合、ステップＳ１３２に進む。
【０１８２】
ステップＳ１３２において、制御部５９は、次のフレームの画像の入力を待機するように各部を制御する。ステップＳ１３３において、追尾点決定部５７は、次のフレームにおける対象位置を算出する。例えば、図２７に示したように、ブロックマッチング方式によれば、現フレームと次のフレームとの間の差分ベクトルΔｘが算出され、上記式（６）に基づいて、次のフレームの対象位置である追尾点が算出される。
【０１８３】
ステップＳ１３４において、制御部２７は、指示入力部２９を介してユーザにより位置補正が指示されたか否かを判定し、位置補正が指示されていないと判定した場合、ステップＳ１３５に進む。ステップＳ１３５において、追尾点決定部５７は、ステップＳ１３３の処理で算出した対象位置をそのまま次のフレームの対象位置とする。
【０１８４】
一方、ステップＳ１３４において、ユーザにより位置補正が指示されたと判定された場合、ステップＳ１３６に進み、制御部５９は、追尾点決定部５７からの追尾結果を追尾位置補正部２４に出力する。追尾位置補正部２４は、入力された追尾結果にユーザによる補正値を反映したものを次のフレームの対象位置とする。
【０１８５】
具体的には、補正算出部１６１により、ユーザからの指示入力部２９の操作量（例えば、ボタンの押下回数やレバーの倒し具合）に応じた補正値が算出される。そして、補正値反映部１６２により、図２８を参照して説明した第１の方法、あるいは、図２９を参照して説明した第２の方法で、追尾結果にユーザの補正値が反映される。さらに、微調整部１６３により、追尾対象としてのオブジェクトの重心位置に追尾点が微調整される。
【０１８６】
ステップＳ１３７において、制御部２７は、ステップＳ１３５またはＳ１３６の処理による追尾結果に基づいて、画像ディスプレイ２５に、撮像部２１により撮像された画像に追尾位置を表すマークなどを重畳して表示させる。
【０１８７】
図３４Ａは、撮像部２１により撮像された入力画像の例を示し、図３４Ｂは、その入力画像の追尾処理が行われた場合の出力画像の例を示している。図３４Ａには、撮像部２１により撮像された追尾対象となるオブジェクト２２１が示されている。図３４Ｂには、オブジェクト２２１の追尾処理が行われ、オブジェクト２２１の追尾点上にマーク２２１Ａが重畳表示されている。
【０１８８】
また図３５Ａに示されるように、オブジェクト２２１の追尾点を中心とした入力画像を切り取り、それを図３５Ｂに示されるように拡大したズーム画像を画像ディスプレイ２５に表示させるようにしてもよい。
【０１８９】
図３３の説明に戻る。ステップＳ１３８において、ユーザにより追尾終了が指示されたか否かを判定し、まだ追尾終了が指示されていないと判定した場合、ステップＳ１３２に戻り、上述した処理を繰り返す。そして、ステップＳ１３８において、追尾終了が指示されたと判定された場合、この追尾位置補正処理は終了される。
【０１９０】
このように、追尾処理において、ユーザによる補正に加え、追尾対象の重心位置に微調整されるようにしたので、外乱に対してロバスト性が高くなる。
【０１９１】
次に、図３６のフローチャートを参照して、図５のステップＳ１１の通常処理に続いて行われる、ステップＳ１２の例外処理の他の例について説明する。この処理は、基本的に、図１２の処理と同様の処理であり、図９のステップＳ２４において追尾点の動きを推定することが不可能と判定され、さらにステップＳ２８において追尾点を乗り換える乗り換え候補が選択できなかったと判定された場合に実行される。
【０１９２】
ステップＳ１５１乃至Ｓ１５５の処理は、上述した図１２のステップＳ５１乃至Ｓ５５の処理と同様であるため、その説明は簡略する。すなわち、ステップＳ１５１において、例外処理の初期化処理が実行され、ステップＳ１５２において、次のフレームの画像の入力が待機され、ステップＳ１５３において、テンプレート探索範囲内においてテンプレートマッチング処理が行われ、ステップＳ１５４において、通常処理への復帰が可能であるか否かが判定され、通常処理への復帰が可能であると判定された場合、図５のステップＳ１１の通常処理に戻され、通常処理への復帰が可能ではないと判定された場合、ステップＳ１５５において、継続判定処理が実行される。
【０１９３】
そして、ステップＳ１５６において、制御部５９は、ステップＳ１５５の継続判定処理による例外処理での追尾点の追尾が継続可能であるか否かの継続判定結果に基づいて（図１６のステップＳ７６，７８で設定されたフラグに基づいて）判定する。追尾点の追尾処理が継続可能であると判定された場合、処理はステップＳ５２に戻り、それ以降の処理が繰り返し実行される。すなわち、追尾点が再び出現するまで待機する処理が繰り返し実行される。
【０１９４】
これに対して、ステップＳ１５６において、例外処理での追尾点の追尾処理が継続可能ではないと判定された場合（図１６のステップＳ７５の処理で追尾点が消失した後の経過フレーム数が閾値THfr以上と判定されるか、または、ステップＳ７７の処理でシーンチェンジ数が閾値THsc以上と判定された場合）、ステップＳ１５７に進み、制御部５９は、追尾点決定部５７を制御し、保持しておいた追尾点を設定させる。その後、処理は図５のステップＳ１１の通常処理に戻る。
【０１９５】
このように、例外処理での追尾点の追尾が不可能になった場合には、保持しておいた追尾点を用いて再度通常処理に戻ることができるようにしたので、追尾処理を継続的に行うことが可能となる。
【０１９６】
以上においては、追尾処理によって所望の結果が得られていないと判断された場合、ユーザによる補正指示に基づいて、リアルタイムにユーザ補正が反映されるため、継続的に追尾処理を行うことができる。これにより、追尾点の指定や修正時の負荷が軽減し、より好適な追尾結果を得ることが可能となる。
【０１９７】
また以上においては、監視カメラシステムに適用した場合の例について説明したが、これに限らず、例えば、テレビジョン受像機など各種の画像処理装置に適応することが可能である。
【０１９８】
さらに以上においては、画像の処理単位をフレームとしたが、フィールドを処理単位とすることももちろん可能である。
【０１９９】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２００】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア２８、または、プログラムが一時的もしくは永続的に格納されるハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２０１】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０２】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０３】
【図１】本発明を適用した監視カメラシステムの構成例を示すブロック図である。
【図２】監視処理を説明するフローチャートである。
【図３】図１の監視カメラシステムにより表示される画像の例を示す図である。
【図４】図１のオブジェクト追尾部の構成例を示すブロック図である。
【図５】追尾処理を説明するフローチャート図である。
【図６】追尾対象が回転する場合の追尾を説明する図である。
【図７】オクルージョンが起きる場合の追尾を説明する図である。
【図８】シーンチェンジが起きる場合の追尾を説明する図である。
【図９】通常処理を説明するフローチャートである。
【図１０】通常処理の初期化処理を説明するフローチャートである。
【図１１】通常処理の初期化処理を説明する図である。
【図１２】例外処理を説明するフローチャートである。
【図１３】例外処理の初期化処理を説明するフローチャートである。
【図１４】テンプレートの選択を説明する図である。
【図１５】探索範囲の設定を説明する図である。
【図１６】継続判定処理を説明するフローチャートである。
【図１７】動き推定部の構成例を示すブロック図である。
【図１８】動き推定処理を説明するフローチャートである。
【図１９】アクティビティの算出を説明する図である。
【図２０】評価値とアクティビティの関係を説明する図である。
【図２１】統合処理を説明するフローチャートである。
【図２２】背景動き推定部の構成例を示すブロック図である。
【図２３】背景動き推定処理を説明するフローチャートである。
【図２４】シーンチェンジ検出部の構成例を示すブロック図である。
【図２５】シーンチェンジ検出処理を説明するフローチャートである。
【図２６】図１の追尾位置補正部の機能的構成例を示すブロック図である。
【図２７】ブロックマッチング方式を説明する図である。
【図２８】ユーザの補正値を反映させる例を説明する図である。
【図２９】ユーザの補正値を反映させる他の例を説明する図である。
【図３０】追尾点を微調整する例を説明する図である。
【図３１】動きベクトル検出処理を説明する図である。
【図３２】追尾対象のサンプル点抽出処理を説明する図である。
【図３３】追尾補正処理を説明するフローチャートである。
【図３４】入力画像と追尾処理後の出力画像の例を示す図である。
【図３５】入力画像と追尾処理後の出力画像の他の例を示す図である。
【図３６】他の例の例外処理を説明するフローチャートである。
【符号の説明】
【０２０４】
１  監視カメラシステム，  ２１  撮像部，  ２２  追尾対象検出部，  ２３  オブジェクト追尾部，  ５１  テンプレートマッチング部，  ５２  動き推定部，  ５３  シーンチェンジ検出部，  ５４  背景動き推定部，  ５５  領域推定関連処理部，  ５６  乗り換え候補保持部，  ５７  追尾点決定部，  ５８  テンプレート保持部，  １６１  補正値算出部，  １６２  補正値反映部，  １６３  微調整部
【図１】
0004797753.tif 000015
【図２】
0004797753.tif 000016
【図３】
0004797753.tif 000017
【図４】
0004797753.tif 000018
【図５】
0004797753.tif 000019
【図６】
0004797753.tif 000020
【図７】
0004797753.tif 000021
【図８】
0004797753.tif 000022
【図９】
0004797753.tif 000023
【図１０】
0004797753.tif 000024
【図１１】
0004797753.tif 000025
【図１２】
0004797753.tif 000026
【図１３】
0004797753.tif 000027
【図１４】
0004797753.tif 000028
【図１５】
0004797753.tif 000029
【図１６】
0004797753.tif 000030
【図１７】
0004797753.tif 000031
【図１８】
0004797753.tif 000032
【図１９】
0004797753.tif 000033
【図２０】
0004797753.tif 000034
【図２１】
0004797753.tif 000035
【図２２】
0004797753.tif 000036
【図２３】
0004797753.tif 000037
【図２４】
0004797753.tif 000038
【図２５】
0004797753.tif 000039
【図２６】
0004797753.tif 000040
【図２７】
0004797753.tif 000041
【図２８】
0004797753.tif 000042
【図２９】
0004797753.tif 000043
【図３０】
0004797753.tif 000044
【図３１】
0004797753.tif 000045
【図３２】
0004797753.tif 000046
【図３３】
0004797753.tif 000047
【図３４】
0004797753.tif 000048
【図３５】
0004797753.tif 000049
【図３６】
0004797753.tif 000050