(57)【要約】  【課題】人物の向き等に関わらず、高速かつ高精度に人物追跡を行うことができる。【解決手段】動画の各フレームの画像について、顔検出部で顔検出処理を行うか、人物マッチング部でテンプレートマッチングを行うかを判断する（ステップＳ１１）。例えば、顔検出部で処理を行っている場合は人物マッチング部で処理を行うとし、顔検出部で処理を行っていない場合には顔検出部で処理を行うとする。顔検出部で処理を行う場合（ステップＳ１１でＹＥＳ）には、画像に対して顔検出フルサーチ処理を行って顔領域を検出し（ステップＳ１２）、当該フレームの直近のフレームから検出された顔との同一性を検証する（ステップＳ１３）。人物マッチング部で処理を行う場合（ステップＳ１１でＮＯ）には、顔検出フルサーチ処理が行われた直近のフレームから検出された顔領域をテンプレートとしてテンプレートマッチングを行い、顔領域を検出する（ステップＳ１４）。【選択図】  図５
2010244462.tif 000002
【特許請求の範囲】
【請求項１】
被写体を連続して撮像することにより得られた一連の画像を取得する取得手段と、
前記一連の画像のうちの少なくとも最初の画像からトラッキング対象である人物の顔を検出する第１の顔検出手段と、
前記第１の顔検出手段により検出された顔に基づいて、前記一連の画像のうち前記第１の顔検出手段により顔が検出されていない画像から前記第１の顔検出手段により検出された顔と同じ顔を検出する第２の顔検出手段と、
前記第１の顔検出手段及び前記第２の顔検出手段により検出された検出結果をリスト化し、前記一連の画像についての顔の検出結果であるトラッキング結果を生成する生成手段と、
前記生成手段により生成されたトラッキング結果を出力する出力手段と、
を備えたことを特徴とする人物追跡装置。
【請求項２】
前記第１の顔検出手段及び前記第２の顔検出手段のどちらで顔検出を行うかを各画像毎に決定し、各画像を前記決定した顔検出手段へ入力する処理制御手段を備え、
前記第１の顔検出手段及び前記第２の顔検出手段は、前記処理制御手段により入力された画像から顔を検出することを特徴とする請求項１に記載の人物追跡装置。
【請求項３】
前記第１の顔検出手段が処理を行っているか否かを判断する第１の判断手段を備え、
前記処理制御手段は、前記第１の判断手段により第１の顔検出手段が処理を行っていないと判断された場合には、前記第１の顔検出手段で顔検出を行うと判断し、前記第１の判断手段により第１の顔検出手段が処理を行っていると判断された場合には、前記第２の顔検出手段で顔検出を行うと判断することを特徴とする請求項２に記載の人物追跡装置。
【請求項４】
前記第１の顔検出手段は、前記顔と共に当該顔の位置を検出し、
前記第２の顔検出手段は、前記第１の顔検出手段により検出された顔の位置を含む所定の領域に対して顔検出処理を行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする請求項１から３のいずれかに記載の人物追跡装置。
【請求項５】
前記第１の顔検出手段は、前記顔と共に顔の大きさ、向き及び傾きの少なくとも１つを検出し、
前記第２の顔検出手段は、前記第１の顔検出手段により検出された大きさの顔、向きの顔及び傾きの顔の少なくとも１つに限定して顔検出処理を行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする請求項１から４のいずれかに記載の人物追跡装置。
【請求項６】
前記第２の顔検出手段は、前記第１の顔検出手段により検出された顔の画像をテンプレートとしてパターンマッチングを行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする請求項１から３のいずれかに記載の人物追跡装置。
【請求項７】
前記一連の画像のうちの異なる画像から検出された顔が同じ顔か否かを判断する同一顔判断手段を備え、
前記トラッキング結果生成手段は、前記同一顔判断手段により同じ顔と判断された場合には、前記同じ顔の検出結果を関連付けたトラッキング結果を生成することを特徴とする請求項１から６のいずれかに記載の人物追跡装置。
【請求項８】
前記トラッキング結果生成手段は、前記同一顔判断手段により同じ顔と判断されなかった検出結果を新たな顔としたトラッキング結果を生成することを特徴とする請求項７に記載の人物追跡装置。
【請求項９】
前記第１の顔検出手段又は前記第２の顔検出手段により前記トラッキング対象である人物の顔が検出されなかったか否かを判断する第２の判断手段を備え、
前記トラッキング結果生成手段は、前記第２の判断手段により顔が検出されなかったと判断された場合には、当該顔が検出されなかったフレームの前のフレームの検出結果を当該顔が検出されなかったフレームの検出結果に追加したものを当該フレームのトラッキング結果とし、
前記同一顔判断手段は、前記トラッキング結果のうち連続する２フレームの検出結果に基づいて同じ顔が検出されたか否かを判断することを特徴とする請求項１から８のいずれかに記載の人物追跡装置。
【請求項１０】
前記第２の判断手段により顔が検出されなかったと判断された場合に、最後に顔が検出されてから所定期間経過しているか否かを判断する第３の判断手段を備え、
前記トラッキング結果生成手段は、前記第２の判断手段により顔が検出されなかったと判断され、かつ前記第３の判断手段より所定期間経過していないと判断された場合には、前記顔が検出されなかったフレームの前のフレームの検出結果を当該顔が検出されなかったフレームの検出結果に追加することを特徴とする請求項９に記載の人物追跡装置。
【請求項１１】
前記トラッキング結果に基づいて、画像から検出された顔を囲む顔検出枠を前記画像に合成した出力画像を前記一連の画像の各画像について生成する出力画像生成手段を備え、
前記出力手段は、前記出力画像生成手段が生成した出力画像を出力することを特徴とする請求項１から１０のいずれかに記載の人物追跡装置。
【請求項１２】
前記取得手段が画像を取得してからの経過時間を測定するタイマー手段と、
前記タイマー手段により測定された時間が所定の時間となった場合に前記第１の顔検出手段による顔検出が終了しているか否かを判断する第４の判断手段と、を備え、
前記出力手段は、前記第４の判断手段により顔検出が終了していないと判断された場合には、前記顔検出が終了していないと判断された画像の１フレーム前の画像から生成された出力画像を出力することを特徴とする請求項１１に記載の人物追跡装置。
【請求項１３】
（ａ）前記画像から顔を検出する第１の顔検出手段、又は前記第１の顔検出手段により検出された顔に基づいて前記第１の顔検出手段により検出された顔と同じ顔を検出する第２の顔検出手段のどちらで処理をするか判断するステップと、
（ｂ）前記判断するステップにより判断された顔検出手段でトラッキング対象である人物の顔を検出するステップと、
（ｃ）前記人物の顔を検出するステップにより検出された検出結果をトラッキング結果に追加するステップと、
（ｄ）前記（ａ）〜（ｃ）のステップを、被写体を連続して撮像することにより得られた一連の画像の各画像毎に繰り返し実施するステップと、
を備えたことを特徴とする人物追跡方法。
【請求項１４】
請求項１３に記載の人物追跡方法を演算装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は人物追跡装置、人物追跡方法及びプログラムに係り、特に動画から人物を抽出して、人物の軌跡を取得する人物追跡装置、人物追跡方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ技術や映像技術の進展により、動画の中から写っている人物で検索を行いたい、動画の中に登場した人物を把握したい、登場した人数をカウントしたい、といったようなニーズが拡大している。こういった際にもっとも基本となる技術が、「動画の中から、人物を追跡して、人物の軌跡を取得する」という人物トラッキングという技術である。
【０００３】
特許文献１には、直前のフレームで検出された顔の座標の近傍の領域のみを顔検出処理することで、顔検出に要する処理時間を短縮する顔検出及び顔追跡方法が記載されている。
【０００４】
特許文献２には、人物が正面を向いておらず顔検出処理が使えない場合でも、顔の下部の衣類のテクスチャを参照することで人物追跡を可能とする追跡装置が記載されている。
【０００５】
特許文献３には、カメラが固定されていて背景画像が一定であることを仮定して、動き検出を行って動く領域にいる人物を追跡する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１５９７９号公報
【特許文献２】特開２００７−４２０７２号公報
【特許文献３】特開２００７−６３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の発明では、直前のフレームで検出された顔の座標の情報しか使わないため、例えば、直前のフレームで右向きの顔が検出されていても左向きの顔なども含めて顔検出処理を行うこととなり、処理時間を効果的に削減することができないという問題点がある。
【０００８】
特許文献２に記載の発明では、顔と比べて衣類はバリエーションが豊富なため、処理量の割には検出精度を向上させることができないという問題がある。
【０００９】
特許文献３に記載の発明では、画像の差分から人物の輪郭を求めるため、背景が移動している動画の場合には適用が難しいという問題がある。
【００１０】
本発明はこのような事情に鑑みてなされたもので、人物の向き等に関わらず、高速かつ高精度に人物追跡を行うことができる人物追跡装置、人物追跡方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の人物追跡装置は、被写体を連続して撮像することにより得られた一連の画像を取得する取得手段と、前記一連の画像のうちの少なくとも最初の画像からトラッキング対象である人物の顔を検出する第１の顔検出手段と、前記第１の顔検出手段により検出された顔に基づいて、前記一連の画像のうち前記第１の顔検出手段により顔が検出されていない画像から前記第１の顔検出手段により検出された顔と同じ顔を検出する第２の顔検出手段と、前記第１の顔検出手段及び前記第２の顔検出手段により検出された検出結果をリスト化し、前記一連の画像についての顔の検出結果であるトラッキング結果を生成する生成手段と、前記生成手段により生成されたトラッキング結果を出力する出力手段と、を備えたことを特徴とする。
【００１２】
請求項１に記載の人物追跡装置によれば、被写体を連続して撮像することにより得られた一連の画像を取得し、第１の顔検出手段又は第２の顔検出手段により前記一連の画像から顔を検出する。第１の顔検出手段は、一連の画像のうちの少なくとも最初の画像から顔検出処理により顔を検出し、第２の顔検出手段は、第１の顔検出手段により顔が検出されていない画像から、第１の顔検出手段により検出された顔に基づいて第１の顔検出手段により検出された顔と同じ顔を検出する。第１の顔検出手段及び第２の顔検出手段により検出された検出結果をリスト化してトラッキング結果を生成し、生成されたトラッキング結果を出力する。これにより、処理に時間がかかる顔検出処理を行う画像数を最小限とすることができる。そのため、演算量を少なくし、全体の処理時間が短くなり、高速な動画から人物追跡処理が可能となる。
【００１３】
請求項２に記載の人物追跡装置は、請求項１に記載の人物追跡装置において、前記第１の顔検出手段及び前記第２の顔検出手段のどちらで顔検出を行うかを各画像毎に決定し、各画像を前記決定した顔検出手段へ入力する処理制御手段を備え、前記第１の顔検出手段及び前記第２の顔検出手段は、前記処理制御手段により入力された画像から顔を検出することを特徴とする。
【００１４】
請求項２に記載の人物追跡装置によれば、第１の顔検出手段及び第２の顔検出手段のどちらで顔検出を行うかを各画像毎に決定し、決定した顔検出手段により顔検出を行う。これにより、処理制御手段の決定に応じた顔検出手段で処理を行わせることができる。
【００１５】
請求項３に記載の人物追跡装置は、請求項２に記載の人物追跡装置において、前記第１の顔検出手段が処理を行っているか否かを判断する第１の判断手段を備え、前記処理制御手段は、前記第１の判断手段により第１の顔検出手段が処理を行っていないと判断された場合には、前記第１の顔検出手段で顔検出を行うと判断し、前記第１の判断手段により第１の顔検出手段が処理を行っていると判断された場合には、前記第２の顔検出手段で顔検出を行うと判断することを特徴とする。
【００１６】
請求項３に記載の人物追跡装置によれば、第１の顔検出手段が処理を行っている場合には、第２の検出手段で処理を行い、第１の検出手段が処理を行っていない場合には、第１の検出手段で処理を行う。これにより、適切な顔検出手段で処理が可能となる。
【００１７】
請求項４に記載の人物追跡装置は、請求項１から３のいずれかに記載の人物追跡装置において、前記第１の顔検出手段は、前記顔と共に当該顔の位置を検出し、前記第２の顔検出手段は、前記第１の顔検出手段により検出された顔の位置を含む所定の領域に対して顔検出処理を行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする。
【００１８】
請求項４に記載の人物追跡装置によれば、第１の顔検出手段は顔と共に当該顔の位置を検出し、第２の顔検出手段は、第１の顔検出手段により検出された顔の位置を含む所定の領域に対して顔検出処理を行う。これにより、第２の顔検出手段での顔検出処理では、画像の全範囲に対して顔検出処理をしないため、処理時間を短くすることができる。
【００１９】
請求項５に記載の人物追跡装置は、請求項１から４のいずれかに記載の人物追跡装置において、前記第１の顔検出手段は、前記顔と共に顔の大きさ、向き及び傾きの少なくとも１つを検出し、前記第２の顔検出手段は、前記第１の顔検出手段により検出された大きさの顔、向きの顔及び傾きの顔の少なくとも１つに限定して顔検出処理を行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする。
【００２０】
請求項５に記載の人物追跡装置によれば、第１の顔検出手段は顔と共に顔の大きさ、向き及び傾きの少なくとも１つを検出し、第２の顔検出手段は、第１の顔検出手段により検出された大きさの顔、向きの顔及び傾きの顔の少なくとも１つの顔に限定して顔検出処理を行う。これにより、第２の顔検出手段での顔検出処理では、顔の大きさ、向き及び傾きの少なくとも１つを限定した顔検出処理をするため、処理時間を短くすることができる。
【００２１】
請求項６に記載の人物追跡装置は、請求項１から３のいずれかに記載の人物追跡装置において、前記第２の顔検出手段は、前記第１の顔検出手段により検出された顔の画像をテンプレートとしてパターンマッチングを行うことにより、前記第１の顔検出手段により検出された顔と同じ顔を検出することを特徴とする。
【００２２】
請求項６に記載の人物追跡装置によれば、第２の顔検出手段は、第１の顔検出手段により検出された顔の画像をテンプレートとしてパターンマッチングを行う。これにより、第２の顔検出手段は顔検出処理を用いないため、処理時間を短くすることができる。
【００２３】
請求項７に記載の人物追跡装置は、請求項１から６のいずれかに記載の人物追跡装置において、前記一連の画像のうちの異なる画像から検出された顔が同じ顔か否かを判断する同一顔判断手段を備え、前記トラッキング結果生成手段は、前記同一顔判断手段により同じ顔と判断された場合には、前記同じ顔の検出結果を関連付けたトラッキング結果を生成することを特徴とする。
【００２４】
請求項７に記載の人物追跡装置によれば、一連の画像のうちの異なる画像から検出された顔が同じ顔か否かを判断し、同じ顔の検出結果を関連付けトラッキング結果を生成する。これにより、同じ顔を追跡することができる。
【００２５】
請求項８に記載の人物追跡装置は、請求項７に記載の人物追跡装置において、前記トラッキング結果生成手段は、前記同一顔判断手段により同じ顔と判断されなかった検出結果を新たな顔としたトラッキング結果を生成することを特徴とする。
【００２６】
請求項８に記載の人物追跡装置によれば、同じ顔と判断されなかった検出結果を新たな顔としてトラッキング結果を生成する。これにより、新たに検出された顔は、既に検出されている顔とは別の顔として顔を追跡することができる。
【００２７】
請求項９に記載の人物追跡装置は、請求項１から８のいずれかに記載の人物追跡装置において、前記第１の顔検出手段又は前記第２の顔検出手段により前記トラッキング対象である人物の顔が検出されなかったか否かを判断する第２の判断手段を備え、前記トラッキング結果生成手段は、前記第２の判断手段により顔が検出されなかったと判断された場合には、当該顔が検出されなかったフレームの前のフレームの検出結果を当該顔が検出されなかったフレームの検出結果に追加したものをトラッキング結果とし、前記同一顔判断手段は、前記トラッキング結果のうち連続する２フレームの検出結果に基づいて同じ顔が検出されたか否かを判断することを特徴とする。
【００２８】
請求項９に記載の人物追跡装置によれば、画像からトラッキング対象である人物の顔が検出されなかったか否かを判断し、顔が検出されなかったと判断された場合には、当該顔が検出されなかったフレームより先のフレームのトラッキング結果を当該顔が検出されなかったフレームのトラッキング結果とする。同一顔判断手段は、トラッキング結果のうち連続する２フレームの検出結果に基づいて同じ顔が検出されたか否かを判断する。これにより、一時的に顔が検出されなかった場合においても、あるフレームで検出された顔が、そのフレームより前のフレームで検出された顔と同一であるか否かを判断し、同じ顔の場合には同じ顔として追跡することができる。
【００２９】
請求項１０に記載の人物追跡装置は、請求項９に記載の人物追跡装置において、前記第２の判断手段により顔が検出されなかったと判断された場合に、最後に顔が検出されてから所定期間経過しているか否かを判断する第３の判断手段を備え、前記トラッキング結果生成手段は、前記第２の判断手段により顔が検出されなかったと判断され、かつ前記第３の判断手段より所定期間経過していないと判断された場合には、前記顔が検出されなかったフレームより前のフレームの検出結果を当該顔が検出されなかったフレームの検出結果に追加することを特徴とする。
【００３０】
請求項１０に記載の人物追跡装置によれば、画像からトラッキング対象である人物の顔が検出されず、かつ最後に顔が検出されてから所定期間経過していない場合には、顔が検出されなかったフレームより先のフレームの検出結果を、前記顔が検出されなかったフレームの検出結果に追加する。
【００３１】
請求項１１に記載の人物追跡装置は、請求項１から１０のいずれかに記載の人物追跡装置において、前記トラッキング結果に基づいて、画像から検出された顔を囲む顔検出枠を前記画像に合成した出力画像を前記一連の画像の各画像について生成する出力画像生成手段を備え、前記出力手段は、前記出力画像生成手段が生成した出力画像を出力することを特徴とする。
【００３２】
請求項１１に記載の人物追跡装置によれば、画像から検出された顔を囲む顔検出枠を画像に合成した出力画像を一連の画像の各画像について生成し、出力する。これにより、トラッキング結果を視覚的に表すことができる。
【００３３】
請求項１２に記載の人物追跡装置は、請求項１１に記載の人物追跡装置において、前記取得手段が画像を取得してからの経過時間を測定するタイマー手段と、前記タイマー手段により測定された時間が所定の時間となった場合に前記第１の顔検出手段による顔検出が終了しているか否かを判断する第４の判断手段と、を備え、前記出力手段は、前記第４の判断手段により顔検出が終了していないと判断された場合には、前記顔検出が終了していないと判断された画像の１フレーム前の画像から生成された出力画像を出力することを特徴とする。
【００３４】
請求項１２に記載の人物追跡装置によれば、画像を取得してからの経過時間を測定し、測定された時間が所定の時間となった場合に第１の顔検出手段による顔検出が終了しているか否かを判断し、顔検出が終了していない場合には、顔検出が終了していないと判断された画像の１フレーム前の画像から生成された出力画像を出力する。これにより、処理に時間がかかった場合でも、不自然でない出力画像を出力することができる。
【００３５】
請求項１３に記載の人物追跡方法は、（ａ）前記画像から顔を検出する第１の顔検出手段、又は前記第１の顔検出手段により検出された顔に基づいて前記第１の顔検出手段により検出された顔と同じ顔を検出する第２の顔検出手段のどちらで処理をするか判断するステップと、（ｂ）前記判断するステップにより判断された顔検出手段でトラッキング対象である人物の顔を検出するステップと、（ｃ）前記人物の顔を検出するステップにより検出された検出結果をトラッキング結果に追加するステップと、（ｄ）前記（ａ）〜（ｃ）のステップを被写体を連続して撮像することにより得られた一連の画像の各画像毎に繰り返し実施するステップと、を備えたことを特徴とする。
【発明の効果】
【００３６】
本発明によれば、人物の向き等に関わらず、高速かつ高精度に人物追跡を行うことができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施の形態の人物追跡装置１の概略図である。
【図２】顔検出部１６の検出方法について説明する図である。
【図３】顔の向き、傾きについて説明する図である。
【図４】人物マッチング部１８の処理について説明する図である。
【図５】人物追跡装置１の処理の流れを示すフローチャートである。
【図６】人物追跡装置１のタイミングチャートである。
【図７】人物追跡装置１の人物トラッキング結果の一例である。
【図８】出力画像の一例である。
【図９】本発明の第２の実施の形態の人物追跡装置１の概略図である。
【図１０】人物マッチング部２０の顔検出方法について説明する図である。
【図１１】人物追跡装置２の処理の流れを示すフローチャートである。
【図１２】本発明の第３の実施の形態の人物追跡装置３の処理の流れを示すフローチャートである。
【図１３】人物追跡装置３の人物トラッキング結果の途中経過を示す図である。
【図１４】人物追跡装置３の人物トラッキング結果の一例である。
【図１５】本発明の第４の実施の形態の人物追跡装置４の処理の流れを示すフローチャートである。
【図１６】人物追跡装置４の人物トラッキング結果の一例である。
【発明を実施するための形態】
【００３８】
＜第１の実施の形態＞
図１は、第１の実施の形態に係る人物追跡装置１の全体構造の概略図である。人物追跡装置１は、主として、ＣＰＵ１０と、メモリ１１と、メモリ制御部１２と、人物トラッキング部１３と、動画入力部１４と、処理制御部１５と、顔検出部１６と、顔特徴データベース（ＤＢ）１７と、人物マッチング部１８と、トラッキング結果出力部１９とで構成される。
【００３９】
ＣＰＵ１０は、人物追跡装置１の全体の動作を統括制御する制御手段として機能するとともに、各種の演算処理を行う演算手段として機能する。
【００４０】
メモリ１１は、ＣＰＵ１０が実行するプログラム及び制御に必要な各種データが格納されたＲＯＭと、プログラムの展開領域及びＣＰＵ１０の演算作業用領域として利用されるとともに、画像の一時記憶領域として利用されるＳＤＲＡＭとを含んでいる。メモリ１１に記憶された情報は、メモリ制御部１２を介して入出力される。
【００４１】
人物トラッキング部１３は、顔検出部１６等で検出された顔のリストを人物トラッキング結果として生成し、このリストに基づいて直前のフレームの顔との同一性判断を行い、同一の顔と判断された顔に同一の顔ＩＤをつけることにより、顔同士のリンクをつける。人物トラッキング部１３が行う処理については、後に詳述する。
【００４２】
動画入力部１４は、デジタルカメラ、ＰＣ、携帯機器等の外部機器や記憶媒体に記憶されている動画を図示しないインターフェースを介して取得し、処理制御部１５へ入力する。動画は、ビデオカメラから逐次的に入力されるものでもよいし、外部機器に保存されたファイルを取得するものでもよい。
【００４３】
処理制御部１５は、入力された動画を１枚ずつのフレームに分離し、各フレームの画像を顔検出部１６又は人物マッチング部１８に入力する。処理制御部１５は、１枚ずつのフレームに分離した各フレームの画像をメモリ１１に出力する。
【００４４】
また、処理制御部１５は、各フレームについて、顔検出部１６で顔検出処理を行うか、人物マッチング部１８で処理を行うかを決定する。これは、顔検出部１６の処理は大きな演算量を消費するため、全てのフレームに対して顔検出部１６で処理を行うとすると処理が間に合わない等の問題を生じるためである。そこで、処理制御部１５は、顔検出部１６と人物マッチング部１８とに処理を振り分け、このような問題が発生しないようにする。
【００４５】
顔検出部１６は、入力されたフレームから人の顔の形状に相当する顔候補領域を抽出し、その領域内の特徴量及び顔特徴ＤＢ１７に予め記憶された特徴量を比較することにより画像内の顔領域を抽出する方法を用いて顔検出フルサーチ処理を行う。顔検出フルサーチ処理とは、入力されたフレームの「どの位置に」、「どの大きさの」、「どの向きの」、「どの傾きの」顔がいくつ存在するかをすべて探索して、検出する処理である。
【００４６】
図２に顔検出部１６の処理の概略を示す。図２（ａ）に示すように予め設定した顔領域を検出するための最も大きな対象領域を、画面内で少しずつ移動させながら顔画像テンプレート（正面の顔のみでなく、様々な顔の向き（図３（ａ）参照）、顔の傾き（図３（ｂ）参照）のテンプレートを用意する）との相関を調べる。そして、相関スコアが閾値を超えると、そのときの対象領域を顔領域として認定する。続いて、図２（ｂ）に示すように対象領域を少し小さくし、再度顔画像テンプレートとの相関を調べる。これを検出したい最小の検出領域まで繰り返す。
【００４７】
人物マッチング部１８は、直近のフレームに対して顔検出部１６や人物マッチング部１８が既に抽出した顔領域又は顔領域及びその近傍の画像をテンプレートとし、そのテンプレートを用いてテンプレートマッチングを行うことにより、処理対象の画像からテンプレートと最も一致する可能性の高い座標を求め、その座標を当該画像の顔領域として抽出する。人物マッチング部１８による顔検出は、０．００１秒程度であり、顔検出部１６が行う顔検出（０．１秒程度）に比べて処理時間を非常に短くすることができる。
【００４８】
図４に人物マッチング部の処理の概略を示す。顔検出部１６等により図４（ａ）の枠で示すような顔領域が検出された場合には、図４（ａ）の枠内の画像をテンプレートとする。図４（ａ）に示す画像の次のフレームの画像である図４（ｂ）については、図４（ａ）の枠を含む所定の領域に設定した検出範囲（図４（ｂ）斜線部参照）に対して、図４（ａ）の枠内の画像をテンプレートとしたテンプレートマッチングを行う。なお、テンプレートマッチングについては既に公知の技術であるため、詳細な説明を省略する。
【００４９】
トラッキング結果出力部１９は、顔検出部１６、人物マッチング部１８等で検出された人物の顔領域を囲む枠（以下、顔検出枠という）を各フレームの画像に合成し、表示装置等の外部機器等へ出力する。これにより、人物トラッキング部１３によりトラッキングされた人物が顔検出枠で囲まれた動画が表示装置等で生成される。
【００５０】
このようにして構成された人物追跡装置１の作用について説明する。図５は、人物追跡装置１の処理の流れを示すフローチャートである。
【００５１】
動画入力部１４は、入力された動画を処理制御部１５に入力し、処理制御部１５は、動画を１枚ずつのフレームに分離し、処理を行うフレームを決定する（ステップＳ１０）。処理制御部１５は、最初のフレームから順番に処理を開始する。
【００５２】
処理制御部１５は、ステップＳ１０で処理を行うとされたフレームの画像について、顔検出部１６で顔検出処理を行うかどうかを判断する（ステップＳ１１）。ステップＳ１１の処理の詳細について、図６のタイミングチャートを用いて説明する。
【００５３】
顔検出部１６は、２つのフレームに対して同時に顔検出処理が可能である。すなわち、顔検出部１６は、コアＡ、Ｂの２つのコアを備えている。
【００５４】
最初のフレーム、すなわちフレーム番号１のフレーム（以下、フレーム１という。フレーム２以下も同様）の処理を開始する場合には、コアＡ、コアＢのいずれのコアも処理を行っていない。そのため、処理制御部１５は、フレーム１をコアＡに振り分ける。
【００５５】
コアＢは空いているため、処理制御部１５は、フレーム２をコアＢに振り分けることも可能である。しかしながら、処理の均一化のため、処理制御部１５は、顔検出部１６で顔領域を検出するのに要する推定時間（０．１秒程度）の約半分経過時のフレームの画像をコアＢに振り分ける。図６に示す例では、処理制御部１５は、フレーム４をコアＢに振り分け、フレーム２、３を人物マッチング部１８に振り分ける。
【００５６】
コアＡでフレーム１の処理が終わるのがフレーム７とフレーム８の間であるため、フレーム７が入力される時点ではコアＡ，コアＢ共に顔検出処理を行っており、空きがない。したがって、処理制御部１５は、フレーム５、６、７を人物マッチング部１８に振り分け、フレーム８をコアＡに振り分ける。
【００５７】
コアＢでフレーム４の処理が終わるのがフレーム９とフレーム１０の間であるため、処理制御部１５は、フレーム１０をコアＢに振り分け、フレーム９を人物マッチング部１８に振り分ける。
【００５８】
処理制御部１５は、フレーム１１以降についても同様にして、コアＡ、コアＢ、人物マッチング部１８のいずれかに振り分ける。
【００５９】
このようにして処理制御部１５によりコアＡ又はコアＢに振り分けられた場合（ステップＳ１１でＹＥＳ）には、ＣＰＵ１０は、当該フレームの画像を顔検出部１６に入力し、顔検出部１６は、当該フレームの画像に対して顔検出フルサーチ処理を行うことにより顔領域を検出する（ステップＳ１２）。
【００６０】
顔検出部１６は、検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【００６１】
人物トラッキング部１３は、顔検出部１６から出力された検出結果をリスト化する。人物トラッキング部１３は、顔検出部１６から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に「１」を立てる。そして、人物トラッキング部１３は、検出フラグの欄に「１」となった顔に対して、顔検出部１６から入力された検出結果に基づいて、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一であるか否か（顔の同一性）を判断する（ステップＳ１３）。
【００６２】
人物トラッキング部１３が顔の同一性を判断する方法（ステップＳ１３）について具体的に説明する。図７は、複数のフレームの検出結果をリスト化した人物トラッキング結果を示す図である。人物トラッキング部１３は、図７に示すように、検出された顔のＩＤ、顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度、リンク確信度及び検出フラグからなる顔検出結果を内部的に保持している。ここで、顔の中心座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き及び顔の確信度は、顔検出部１６から出力されたものである。
【００６３】
人物トラッキング部１３は、最初のフレームであるフレーム１については、検出された全ての顔に対して任意に顔ＩＤを振る。フレーム１の次に顔検出部１６により顔が検出されたフレームは、図６よりフレーム４である。人物トラッキング部１３は、フレーム１から検出された顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾きと、フレーム４から検出された顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾きとが類似しているかどうかを示す値（リンク確信度）を算出し、所定の閾値よりもリンク確信度が大きければ同一の顔と判断する。もし、一つの顔に対して、リンク確信度が閾値より大きい顔が複数ある場合には、リンク確信度がより高い顔を同一の顔と判定する。
【００６４】
このような方法により、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により既に検出された顔領域と同一の顔と判定されなかった場合（ステップＳ１３でＮＯ）には、直近のフレームには存在しない顔が新たに見つかった場合であるため、人物トラッキング部１３は、新たに見つかった顔の検出結果に新たな顔ＩＤを振る（ステップＳ１５）。
【００６５】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一の顔と判定された場合（ステップＳ１３でＹＥＳ）には、人物トラッキング部１３は、その顔の検出結果に、既に検出された顔に振られた顔ＩＤと同じ顔ＩＤを振る（ステップＳ１６）。これにより、同じ顔にリンクをつけ、同じ顔の検出結果を関連付けることができる。
【００６６】
例えば、フレーム４について検出処理をした場合には、図７のフレーム４に示すように、人物トラッキング部１３は、顔ＩＤ「１」及び「２」については、フレーム１で検出された顔と同一の顔と判断された顔が存在するため、検出された顔に顔ＩＤ「１」及び「２」を振り、フレーム１で検出された顔のどの顔とも同一と判断されなかった顔については、新たな顔ＩＤ「５」を振る。
【００６７】
処理制御部１５により人物マッチング部１８に振り分けられた場合（ステップＳ１１でＮＯ）には、ＣＰＵ１０は、当該フレームの画像を人物マッチング部１８に入力し、人物マッチング部１８は、当該フレームの直近のフレームであって、顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域及びその近傍の画像をテンプレートとしてテンプレートマッチングを行い、類似画像を検索することにより顔領域を検出する（ステップＳ１４）。
【００６８】
類似画像の検索は、認識しようとする対象の画像をテンプレートとしてもち、対象画像の各部分との類似度を計算することにより行われる。類似度の計算には、一般的な方法である相互相関法等を用いることができる。なお、類似画像の検索は、入力された画像全体に対して行なってもよいし、当該フレームの直近のフレームで顔領域が検出された領域近傍に対して行っても良い。
【００６９】
人物マッチング部１８は、検出された類似画像の検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【００７０】
人物トラッキング部１３は、人物マッチング部１８から出力された検出結果をリスト化する。人物トラッキング部１３は、検出結果に、その顔の検出に用いたテンプレートの基となる顔の顔ＩＤを振る（ステップＳ１６）。なお、人物マッチング部１８により顔検出を行う場合には、直近のフレームで検出された顔領域との同一性は検証されているため、直近のフレームには存在しない顔が新たに見つかることは無い。
【００７１】
それと共に、人物トラッキング部１３は、人物マッチング部１８から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に「１」を立てる。また、人物トラッキング部１３は、人物マッチング部１８から入力された顔の確信度が所定の閾値（例えば６０％）以下の場合には、検出フラグの欄に「０」を立てる。
【００７２】
例えば、フレーム２について検出処理をした場合には、図７のフレーム２に示すように、顔ＩＤ「１」の顔領域に基づいたテンプレートにより検出された類似画像の検出結果には、顔ＩＤ「１」を振り、顔ＩＤ「２」の顔領域に基づいたテンプレートにより検出された類似画像の検出結果には、顔ＩＤ「２」を振り、顔ＩＤ「４」の顔領域に基づいたテンプレートにより検出された類似画像の検出結果には、顔ＩＤ「４」を振る。それと共に、人物トラッキング部１３は、顔確信度が６０％より大きい顔ＩＤ「１」、「４」の検出結果には検出フラグに「１」を立て、顔確信度が６０％以下である顔ＩＤ「２」の検出結果には検出フラグに「０」を立てる。なお、フレーム２では、顔ＩＤ「３」の顔領域に基づいたテンプレートを用いた場合には類似画像が検出されていないため、フレーム２の検出結果に顔ＩＤ「３」は存在しない。
【００７３】
これにより、１フレーム分の人物トラッキング結果が生成される（図７の各フレーム分の結果参照）。この当該フレームの人物トラッキング結果は、人物トラッキング部１３からトラッキング結果出力部１９へ出力される（ステップＳ１７）。
【００７４】
処理制御部１５は、全てのフレームの画像に対して処理が終わったかどうかを判断する（ステップＳ１８）。全てのフレームの画像に対して処理が終了していない場合（ステップＳ１８でＮＯ）には、処理を行う画像を決定するステップ（ステップＳ１０）へ戻り、次のフレームの画像の処理を開始する。全てのフレームの画像に対して処理が終了した場合（ステップＳ１８でＹＥＳ）には、処理を終了する。これにより、図７に示すように、動画を構成する全ての画像についての人物トラッキング結果が生成される。
【００７５】
次に、ステップＳ１７でトラッキング結果出力部１９に出力された人物トラッキング結果を、表示装置等に出力する方法について説明する。
【００７６】
トラッキング結果出力部１９は、メモリ１１から画像を取得する。そして、取得したフレームの人物トラッキング結果を参照し、検出フラグに「１」が立てられた顔（検出された顔）を囲む顔検出枠と、その顔の顔ＩＤとを取得した画像に合成する。顔検出枠の位置、大きさは、人物トラッキング結果の顔中心座標ｘ、ｙ及び顔の大きさに基づいて決定する。
【００７７】
また、トラッキング結果出力部１９は、顔検出枠に隣接して、顔ＩＤを示す数字を合成する。これにより、図８に示すように、人物トラッキング部１３によりトラッキングされた人物が顔検出枠で囲まれた画像（以下、出力画像という）が生成される。
【００７８】
トラッキング結果出力部１９は、このようにして生成された出力画像を、その基となる画像が入力された順番と同じ順番で表示装置等の外部機器等へ出力する。出力画像を出力するタイミングについて、図６を用いて説明する。
【００７９】
メインメモリ１１には、入力された映像に対して、どれだけの時間だけ遅れて出力画像を出力するかを示す時間（図６の「Allowable Delay」参照）があらかじめ記憶されている。この「Allowable Delay」の時間は、顔検出部１６が顔検出処理に要する時間より長い時間に設定されている。
【００８０】
ＣＰＵ１０は、タイマーを内蔵しており、処理制御部１５からフレームが出力されてから「Allowable Delay」の時間が経過した否かを測定する。トラッキング結果出力部１９は、フレーム１（顔検出部１６が最初に処理するフレーム）の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム１の出力画像を出力する。
【００８１】
フレーム２、３は人物マッチング部１８での処理であり、フレーム４（顔検出部１６が２番目に処理するフレーム）の顔検出部１６での処理より早く終了するため、トラッキング結果出力部１９は、フレーム２、３の画像の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム２、３の出力画像を出力する。
【００８２】
トラッキング結果出力部１９は、顔検出部１６でフレーム４の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム４の出力画像を出力する。
【００８３】
フレーム５、６、７は人物マッチング部１８での処理であり、フレーム８（顔検出部１６が３番目に処理するフレーム）の顔検出部１６での処理より早く終了するため、トラッキング結果出力部１９は、フレーム５、６、７の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム５、６、７の出力画像を出力する。
【００８４】
トラッキング結果出力部１９は、顔検出部１６でフレーム８の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム８の出力画像を出力する。
【００８５】
フレーム９は人物マッチング部１８での処理であり、フレーム１０（顔検出部１６が４番目に処理するフレーム）の顔検出部１６での処理より早く終了するため、トラッキング結果出力部１９は、フレーム９の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時に、フレーム９の出力画像を出力する。
【００８６】
しかしながら、フレーム１０の画像が処理制御部１５から出力されてから「Allowable Delay」の時間が経過した時点で、顔検出部１６によるフレーム１０の処理が終わっていない。したがって、トラッキング結果出力部１９は、顔検出部１６によるフレーム１０の処理が終わるまで、フレーム１０の直前のフレーム（フレーム９）の出力画像を連続して出力する。
【００８７】
トラッキング結果出力部１９は、フレーム１０の出力画像が生成され次第、フレーム１０の出力画像を出力する。次は、人物マッチング部１８により処理を行うフレーム１１、１２、１３を出力する順番であるが、フレーム１０の処理が間に合わなかったため、トラッキング結果出力部１９がフレーム９の出力画像を２回連続して出力している。したがって、フレームの総数を合わせるため、トラッキング結果出力部１９は、フレーム１１の出力画像は出力せず、フレーム１２、１３の出力画像のみを出力する。
【００８８】
フレーム１４以降についても、同様に出力する。これにより、トラッキングされた人物が顔検出枠で囲まれた動画が表示装置等に表示される。
【００８９】
本実施の形態によれば、所定のフレームに対して顔検出技術を用いて顔検出を行っている間に、顔検出技術より処理時間の短いテンプレートマッチング技術を用いて他のフレームの処理を行うため、顔検出処理を行うフレームを最小限とすることができる。そのため、演算量を抑え、処理時間を短くし、人物を効率的に追跡することができる。したがって、１秒当たりのフレーム数の多い高速な動画等であっても、確実に人物追跡処理をすることができる。
【００９０】
また、本実施の形態によれば、顔検出技術にパターンマッチング技術を組み合わせるため、顔の一部が隠蔽されたり、顔が横〜後方を向いたりした場合など顔検出技術では顔の検出が不可能な場合であっても人物追跡処理を行うことができる。
【００９１】
なお、本実施の形態では、パターンマッチングによる顔検出処理を、人物マッチング部１８という顔検出部１６とは別の手段で行ったが、人物マッチング部１８という別の手段を用いず、顔検出部１６のコアＡ又はコアＢの処理能力に余裕のあるコアで割り込み処理をするようにしてもよい。本実施の形態では、顔検出処理による顔検出処理に比べ、パターンマッチングによる顔検出が非常に短い時間で終わるために、このような割り込み処理が可能である。
【００９２】
また、本実施の形態では、顔検出部１６のコア２つともが処理を行っている場合には人物マッチング部１８で処理を行う（顔検出に一定の演算パワーを振り向け、顔検出用の演算パワーに空きがあるときのみ顔検出を行う）ようにしたが、最初のフレームのみ顔検出処理を行い、その後のフレームはテンプレートマッチング処理を行えば人物追跡は可能である。ただし、顔検出及び人物追跡の精度を考慮し、一定時間おきに顔検出部１６で処理を行うようにするのが望ましい。
【００９３】
また、本実施の形態では、顔の検出結果として、顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度を求めたが、これらの具体的な項目は、採用する顔検出方法などによって増減するものであり、この形態に限られない。
【００９４】
また、本実施の形態では、トラッキング結果出力部１９は、トラッキングされた人物が顔検出枠で囲まれた画像データを表示装置等に出力したが、トラッキング結果出力部１９の出力形態はこれに限らない。例えば、画像ではなく、画像が記憶されたファイルとして出力しても良い。また、トラッキングされた人物が顔検出枠で囲まれた画像データではなく、トラッキングされた人物に隣接して矢印等の目印が表示された画像データとして出力しても良い。
【００９５】
＜第２の実施の形態＞
本発明の第１の実施の形態は、処理制御部１５が各フレームの画像を顔検出部１６又は人物マッチング部１８に入力し、画像が人物マッチング部１８に入力された場合にはパターンマッチングにより顔検出部１６で顔検出フルサーチ処理を行うより短い時間で顔を検出したが、顔検出部１６で顔検出フルサーチ処理を行うより短い時間で顔を検出する方法は、パターンマッチングに限定されない。
【００９６】
第２の実施の形態は、検出対象等を限定した顔検出処理を行うことにより、顔検出フルサーチ処理を行うより短い時間で顔を検出する方法を用いる形態である。以下、第２の実施の形態に係る人物追跡装置２について説明する。なお、第１の実施の形態と同一の部分については、同一の符号を付し、説明を省略する。
【００９７】
図９は、人物追跡装置２の全体構造の概略図である。図９に示すように、人物追跡装置２は、主として、ＣＰＵ１０と、メモリ１１と、メモリ制御部１２と、人物トラッキング部１３と、動画入力部１４と、処理制御部１５と、顔検出部１６と、顔特徴データベース（ＤＢ）１７と、人物マッチング部２０と、トラッキング結果出力部１９とで構成される。
【００９８】
処理制御部１５は、入力された動画を１枚ずつのフレームに分離し、各フレームの画像を顔検出部１６又は人物マッチング部２０に入力する。また、処理制御部１５は、各フレームについて、顔検出部１６で顔検出処理を行うか、人物マッチング部２０で処理を行うかを決定する。
【００９９】
人物マッチング部２０は、顔検出部１６と同様に、入力されたフレームから人の顔の形状に相当する顔候補領域を抽出し、その領域内の特徴量及び顔特徴ＤＢ１７に予め記憶された特徴量を比較することにより画像内の顔領域を抽出する方法を用いて顔検出処理を行うが、顔検出部１６での検出結果に基づいて顔検出処理を行う領域、顔の大きさ、顔の向き、顔の傾きを限定して顔検出処理を行うものである。
【０１００】
図１０に人物マッチング部の処理の概略を示す。顔検出部１６等により図１０（ａ）の枠で示すような顔領域が検出された場合には、図１０（ａ）に示す画像の次のフレームである図１０（ｂ）については、図１０（ａ）で検出された顔領域を含む所定の領域（図１０（ｂ）斜線部参照）を顔検出を行う領域とし、この領域内のみに対して顔検出処理を行う。また、顔検出処理を行うに際し、図１０（ａ）で検出された大きさの顔、向きの顔、傾きの顔に限定して顔検出処理を行う。そのため、人物マッチング部２０による顔検出は、０．００１秒程度であり、顔検出部１６が行う顔検出（０．１秒程度）に比べて処理時間を非常に短くすることができる。当該処理には、例えば、特開２００８−９８４９に記載の方法を応用して用いることができる。
【０１０１】
このようにして構成された人物追跡装置２の作用について説明する。図１１は、人物追跡装置２の処理の流れを示すフローチャートである。
【０１０２】
動画入力部１４は、入力された動画を処理制御部１５に入力し、処理制御部１５は、動画を１枚ずつのフレームに分離し、処理を行うフレームを決定する（ステップＳ１０）。処理制御部１５は、最初のフレームから順番に処理を開始する。処理制御部１５は、ステップＳ１０で処理を行うとされたフレームの画像について、顔検出部１６で顔検出処理を行うかどうかを判断する（ステップＳ１１）。
【０１０３】
処理制御部１５により顔検出部１６に振り分けられた場合（ステップＳ１１でＹＥＳ）には、ＣＰＵ１０は、当該フレームの画像を顔検出部１６に入力し、顔検出部１６は、当該フレームの画像に対して顔検出フルサーチ処理を行うことにより顔領域を検出する（ステップＳ１２）。
【０１０４】
処理制御部１５により人物マッチング部２０に振り分けられた場合（ステップＳ１１でＮＯ）には、ＣＰＵ１０は、当該フレームの画像を人物マッチング部２０に入力し、人物マッチング部２０は、当該フレームの直近のフレームで検出された顔領域の近傍の領域に対し、検出された顔領域の大きさ、向き、傾きに限定して顔検出処理を行う（ステップＳ１９）。
【０１０５】
顔検出部１６及び人物マッチング部２０は、検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【０１０６】
人物トラッキング部１３は、顔検出部１６及び人物マッチング部２０から出力された検出結果をリスト化する。人物トラッキング部１３は、顔検出部１６又は人物マッチング部２０から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に「１」を立てる。そして、人物トラッキング部１３は、検出フラグの欄に「１」となった顔に対して、顔検出部１６又は人物マッチング部２０から入力された検出結果に基づいて、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６又は人物マッチング部２０により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一であるか否か（顔の同一性）を判断する（ステップＳ１３）。
【０１０７】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６又は人物マッチング部２０により既に検出された顔領域と同一の顔と判定されなかった場合（ステップＳ１３でＮＯ）には、直近のフレームには存在しない顔が新たに見つかった場合であるため、人物トラッキング部１３は、新たに見つかった顔の検出結果に新たな顔ＩＤを振る（ステップＳ１５）。
【０１０８】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一の顔と判定された場合（ステップＳ１３でＹＥＳ）には、人物トラッキング部１３は、その顔の検出結果に、既に検出された顔に振られた顔ＩＤと同じ顔ＩＤを振る（ステップＳ１６）。
【０１０９】
これにより、１フレーム分の人物トラッキング結果が生成される（図７の各フレーム分の結果参照）。人物トラッキング部１３は、このようにして生成した当該フレームの人物トラッキング結果をトラッキング結果出力部１９へ出力する（ステップＳ１７）。
【０１１０】
処理制御部１５は、全てのフレームの画像に対して処理が終わったかどうかを判断する（ステップＳ１８）。全てのフレームの画像に対して処理が終了していない場合（ステップＳ１８でＮＯ）には、処理を行う画像を決定するステップ（ステップＳ１０）へ戻り、次のフレームの画像の処理を開始する。全てのフレームの画像に対して処理が終了した場合（ステップＳ１８でＹＥＳ）には、処理を終了する。これにより、図７に示すように、動画を構成する全ての画像についての人物トラッキング結果が生成される。
【０１１１】
トラッキング結果出力部１９は、第１の実施の形態と同様に、ステップＳ１７でトラッキング結果出力部１９に出力された人物トラッキング結果に基づいて出力画像を生成し、表示装置等に出力する。
【０１１２】
本実施の形態によれば、顔検出を行う領域、顔の大きさ、向き、傾き等を限定した顔検出を行うため、通常の顔検出処理に比べて演算量を少なく、処理時間を短くしつつ、検出ミスを減らすことができる。
【０１１３】
なお、本実施の形態では、顔検出を行う領域、顔の大きさ、向き、傾きの全てを限定した顔検出を行ったが、顔検出を行う領域のみ限定する、検出対象の顔の大きさのみ限定するなど、顔検出を行う領域、顔の大きさ、向き、傾きのうちの少なくとも１つを限定するようにすれば良い。
【０１１４】
＜第３の実施の形態＞
本発明の第１の実施の形態又は第２の実施の形態では、人物の顔が他の物体等により遮蔽されたり、画面外に一時的にフレームアウトしたりした場合に追跡が途切れてしまう可能性がある。追跡が途切れた場合には、実際には同じ人物であったとしても、異なる人物であるとして認識されてしまうという問題がある。
【０１１５】
第３の実施の形態は、人物の顔が他の物体等により遮蔽されたり、画面外に一時的にフレームアウトしたりした場合においても、顔の情報を一定期間だけ内部的に保持し、人物の追跡を行う形態である。以下、第３の実施の形態に係る人物追跡装置３について説明する。なお、第１の実施の形態と同一の部分については、同一の符号を付し、説明を省略する。
【０１１６】
人物追跡装置３は、第１の実施の形態と同様に、主として、ＣＰＵ１０と、メモリ１１と、メモリ制御部１２と、人物トラッキング部１３と、動画入力部１４と、処理制御部１５と、顔検出部１６と、顔特徴データベース（ＤＢ）１７と、人物マッチング部１８と、トラッキング結果出力部１９とで構成される。
【０１１７】
このようにして構成された人物追跡装置３の作用について説明する。図１２は、人物追跡装置３の処理の流れを示すフローチャートである。
【０１１８】
動画入力部１４は、入力された動画を処理制御部１５に入力し、処理制御部１５は、動画を１枚ずつのフレームに分離し、処理を行うフレームを決定する（ステップＳ１０）。処理制御部１５は、最初のフレームから順番に処理を開始する。
【０１１９】
処理制御部１５は、ステップＳ１０で処理を行うとされたフレームの画像について、顔検出部１６で顔検出処理を行うかどうかを判断する（ステップＳ２０）。本実施の形態では、１フレームおきに、例えば奇数番号のフレームについては、顔検出部１６に振り分けることとする。
【０１２０】
顔検出部１６に振り分けられたフレーム、すなわち奇数番号のフレーム（ステップＳ２０でＹＥＳ）については、ＣＰＵ１０は、当該フレームの画像を顔検出部１６に入力し、顔検出部１６は、当該フレームの画像に対して顔検出フルサーチ処理を行うことにより顔領域を検出する（ステップＳ１２）。
【０１２１】
顔検出部１６は、検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【０１２２】
人物トラッキング部１３は、人物マッチング部１８から出力された検出結果をリスト化する。人物トラッキング部１３は、顔検出部１６から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に顔が検出されたことを示すフラグ「１」を立てる。そして、人物トラッキング部１３は、検出フラグの欄に「１」となった顔に対して、顔検出部１６から入力された検出結果に基づいて、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一であるか否か（顔の同一性）を判断する（ステップＳ１３）。
【０１２３】
このような方法により、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により既に検出された顔領域と同一の顔と判定されなかった場合（ステップＳ１３でＮＯ）には、直近のフレームには存在しない顔が新たに見つかった場合であるため、人物トラッキング部１３は、新たに見つかった顔の検出結果に新たな顔ＩＤを振る（ステップＳ１５）。
【０１２４】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一の顔と判定された場合（ステップＳ１３でＹＥＳ）には、人物トラッキング部１３は、その顔の検出結果に、既に検出された顔に振られた顔ＩＤと同じ顔ＩＤを振る（ステップＳ１６）。
【０１２５】
図１３は、本実施の形態において人物トラッキング部が生成する人物トラッキング結果の途中経過である。例えば、フレーム３について検出処理をした場合には、図１３のフレーム３に示すように、ステップＳ１３において４つの顔が検出されている。人物トラッキング部１３は、この検出された４つの顔のうち顔ＩＤ「１」、「２」及び「４」については、フレーム１で検出された顔と同一の顔と判断し、検出された顔に顔ＩＤ「１」、「２」及び「４」を振り、フレーム１で検出された顔のどの顔とも同一と判断されなかった顔については、新たな顔ＩＤ「５」を振る。
【０１２６】
処理制御部１５により人物マッチング部１８に振り分けられた場合（ステップＳ１１でＮＯ）には、ＣＰＵ１０は、当該フレームの画像を人物マッチング部１８に入力し、人物マッチング部１８は、当該フレームの直近のフレームであって、顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域及びその近傍の画像をテンプレートとしてテンプレートマッチングを行い、類似画像を検索することにより顔領域を検出する（ステップＳ１４）。
【０１２７】
人物マッチング部１８は、検出された類似画像の検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【０１２８】
人物トラッキング部１３は、人物マッチング部１８から出力された検出結果をリスト化する。人物トラッキング部１３は、検出結果に、その顔の検出に用いたテンプレートの基となる顔の顔ＩＤを振る（ステップＳ１６）。なお、人物マッチング部１８により顔検出を行う場合には、直近のフレームで検出された顔領域との同一性は検証されているため、直近のフレームには存在しない顔が新たに見つかることは無い。
【０１２９】
それと共に、人物トラッキング部１３は、人物マッチング部１８から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に人物マッチング部１８で顔が検出されたため顔を追跡中であることを示すフラグ「１」を立てる。また、人物トラッキング部１３は、人物マッチング部１８から入力された顔の確信度が所定の閾値（例えば６０％）以下の場合には、検出フラグの欄に未検出であることを示すフラグ「０」を立てる。
【０１３０】
例えば、フレーム２について検出処理をした場合には、図１３のフレーム２に示すように、顔ＩＤ「１」の顔領域に基づいたテンプレートにより検出された類似画像の検出結果には、顔ＩＤ「１」を振り、顔ＩＤ「４」の顔領域に基づいたテンプレートにより検出された類似画像の検出結果には、顔ＩＤ「４」を振る。それと共に、人物トラッキング部１３は、顔確信度が６０％より大きい顔ＩＤ「１」、「４」の検出結果には検出フラグに「１」を立てる。なお、フレーム２においては、顔ＩＤ「２」、「３」の顔領域に基づいたテンプレートに基づいた類似画像は検出されていないため、図１３には顔ＩＤ「２」、「３」の結果は含まれていない。
【０１３１】
人物トラッキング部１３は、ステップＳ１２の顔検出部１６の検出結果又はステップＳ１４の人物マッチング部１８の検出結果において、既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在するか否かを判断する（ステップＳ２１）。
【０１３２】
例えば、フレーム２について検出処理をした場合には、図１３のフレーム２に示すように、ステップＳ１４で顔ＩＤ「２」、「３」の顔が検出されていない。よって、人物トラッキング部１３は、顔ＩＤ「２」、「３」を、既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔であると判断する。また、フレーム３について検出処理をした場合には、図１３のフレーム３に示すように、ステップＳ１２で顔ＩＤ「３」の顔が検出されていないため、人物トラッキング部１３は、顔ＩＤ「３」を、既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔であると判断する。
【０１３３】
既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在しないと判断した場合（ステップＳ２１でＮＯ）には、人物トラッキング部１３は、ステップＳ１５又はＳ１６の結果を当該フレームの人物トラッキング結果とし、トラッキング結果出力部１９へ出力する（ステップＳ１７）。
【０１３４】
既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在すると判断した場合（ステップＳ２１でＹＥＳ）には、人物トラッキング部１３は、検出されていない顔が所定時間（例えば、３フレームの期間）以上継続して検出されていないかどうかを判断する（ステップＳ２２）。
【０１３５】
その顔が検出されなくなってから所定時間経過していない場合（ステップＳ２２でＮＯ）には、人物トラッキング部１３は、見つからなかった顔ＩＤの顔についての直近のフレームでの検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度等）を当該フレームのデータに追加し、検出フラグに未検出を示すフラグ「０」を立てる（ステップＳ２３）。これにより、当該フレームで検出されなかった顔を含めて、次フレームで顔の同一性を判断することができる。
【０１３６】
所定時間以上継続して検出されていない場合（ステップＳ２２でＹＥＳ）には、その顔が再び検出される可能性は低いため、所定期間経過後にもその顔の情報を内部的に保持しておくのは無駄である。したがって、人物トラッキング部１３は、その顔ＩＤの情報を人物トラッキング結果から削除し、内部的にも顔の追跡を取りやめる（ステップＳ２４）。
【０１３７】
図１４は、図１３に示す人物トラッキング結果の途中経過に、ステップＳ２１〜Ｓ２４の処理が施されたものである。
【０１３８】
フレーム２について検出処理をした場合には、ステップＳ１４で顔ＩＤ「２」、「３」の顔が検出されていないため、図１３のフレーム２に示すように、図１３には顔ＩＤ「２」、「３」の結果は含まれていない。しかしながら、顔ＩＤ「２」、「３」の顔は、フレーム１で検出されているため、検出されなくなってから３フレームの期間は経過していない（ステップＳ２２でＮＯ）。そのため、人物トラッキング部１３は、顔ＩＤ「２」、「３」のフレーム１での検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度等）をフレーム２のデータに追加し、検出フラグに未検出を示すフラグ「０」を立てる。
【０１３９】
フレーム３について検出処理をした場合には、フレーム１で検出された顔ＩＤ「３」の顔が検出されていない。顔ＩＤ「３」の顔はフレーム１で検出されているため、検出されなくなってから３フレームの期間は経過していない（ステップＳ２２でＮＯ）。そのため、人物トラッキング部１３は、顔ＩＤ「３」のフレーム２での検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度）をフレーム３に追加し、検出フラグに「０」を立てる。なお、顔ＩＤ「３」は、フレーム２で検出されていないため、フレーム３に追加される結果は、フレーム１での検出結果となる。
【０１４０】
フレーム３について検出処理をした場合には、顔ＩＤ「２」、「３」の顔が検出されていない。顔ＩＤ「２」の顔はフレーム３で検出されているし、顔ＩＤ「３」の顔はフレーム１で検出されているため、検出されなくなってから３フレームの期間は経過していない（ステップＳ２２でＮＯ）。そのため、人物トラッキング部１３は、顔ＩＤ「２」、「３」のフレーム３での検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度）をフレーム４に追加し、検出フラグに「０」を立てる。なお、顔ＩＤ「３」は、フレーム２、３で検出されていないため、フレーム４に追加される結果は、フレーム１での検出結果となる。
【０１４１】
フレーム５について検出処理をした場合には、顔ＩＤ「３」、「４」の顔が検出されていない。顔ＩＤ「４」の顔はフレーム４で検出されているため、検出されなくなってから３フレームの期間は経過していない（ステップＳ２２でＮＯ）。そのため、人物トラッキング部１３は、顔ＩＤ「４」のフレーム４での検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度）をフレーム５に追加し、検出フラグに「０」を立てる。
【０１４２】
それに対し、顔ＩＤ「３」の顔が最後に検出されたのはフレーム１であり、フレーム２〜４で検出されていない。すなわち、顔ＩＤ「３」の顔は継続して３フレームの期間検出されていない（ステップＳ２２でＹＥＳ）。そのため、人物トラッキング部１３は、顔ＩＤ「３」の検出結果をフレーム５の結果に追加しない。
【０１４３】
これにより、１フレーム分の当該フレームの人物トラッキング結果が生成される（図１４の各フレーム分の結果参照）。このように、顔が検出されなくてもその顔の情報を内部的に保持することで、顔が障害物に隠蔽される等により一時的に検出されなかった顔がその後のフレームで検出された場合に、同じ顔ＩＤを振ることができ、正確なトラッキングが可能となる。例えば、ステップＳ１２、Ｓ１４の検出処理においては、顔が障害物に隠蔽される可能性等により直近のフレームで検出された顔に対応する顔が検出されないことも考えられる。そのため、顔が検出されなかったからといって顔の追跡をいきなり切断してしまうのは合理的でなく、顔が検出されない場合においても、その顔の情報を所定期間は内部的に保持しておくこととした。
【０１４４】
人物トラッキング部１３は、この人物トラッキング結果をトラッキング結果出力部１９へ出力する（ステップＳ１７）。
【０１４５】
処理制御部１５は、全てのフレームの画像に対して処理が終わったかどうかを判断する（ステップＳ１８）。全てのフレームの画像に対して処理が終了していない場合（ステップＳ１８でＮＯ）には、処理を行う画像を決定するステップ（ステップＳ１０）へ戻り、次のフレームの画像の処理を開始する。全てのフレームの画像に対して処理が終了した場合（ステップＳ１８でＹＥＳ）には、処理を終了する。これにより、図１４に示すように、動画を形成する全ての画像の動画についての人物トレッキング結果が生成される。
【０１４６】
本実施の形態によれば、顔の情報を所定期間内部的に保持するため、一時的に検出されなかった顔がその後のフレームで検出された場合に、同じ顔ＩＤを振ることができ、正確なトラッキングが可能となる。
【０１４７】
なお、本実施の形態のステップＳ１４においては、テンプレートマッチングを行い、類似画像を検索することにより顔領域を検出したが、複数のフレームから検出された顔中心座標より顔の移動方向を求め、顔が検出されるであろう領域を予測し、その領域に対してテンプレートマッチングを行うようにしてもよい。これにより、柱の裏を通過する、他の人物が前を横切るなどにより一時的に検出されなかった顔を効率的に再度検出することができる。
【０１４８】
＜第４の実施の形態＞
第４の実施の形態は、第３の実施の形態と同様、人物の顔が他の物体等により遮蔽されたり、画面外に一時的にフレームアウトしたりした場合においても、顔の情報を一定期間だけ内部的に保持し、人物の追跡を行う形態である。
【０１４９】
以下、第４の実施の形態に係る人物追跡装置４について説明する。なお、第２の実施の形態又は第３の実施の形態と同一の部分については、同一の符号を付し、説明を省略する。
【０１５０】
人物追跡装置４は、第２の実施の形態と同様に、主として、ＣＰＵ１０と、メモリ１１と、メモリ制御部１２と、人物トラッキング部１３と、動画入力部１４と、処理制御部１５と、顔検出部１６と、顔特徴データベース（ＤＢ）１７と、人物マッチング部２０と、トラッキング結果出力部１９とで構成される。
【０１５１】
このようにして構成された人物追跡装置４の作用について説明する。図１５は、人物追跡装置４の処理の流れを示すフローチャートである。
【０１５２】
動画入力部１４は、入力された動画を処理制御部１５に入力し、処理制御部１５は、動画を１枚ずつのフレームに分離し、処理を行うフレームを決定する（ステップＳ１０）。処理制御部１５は、最初のフレームから順番に処理を開始する。
【０１５３】
処理制御部１５は、ステップＳ１０で処理を行うとされたフレームの画像について、顔検出部１６で顔検出処理を行うかどうかを判断する（ステップＳ２０）。本実施の形態では、１フレームおきに、例えば奇数番号のフレームについては、顔検出部１６に振り分けることとする。
【０１５４】
顔検出部１６に振り分けられたフレーム、すなわち奇数番号のフレーム（ステップＳ２０でＹＥＳ）については、ＣＰＵ１０は、当該フレームの画像を顔検出部１６に入力し、顔検出部１６は、当該フレームの画像に対して顔検出フルサーチ処理を行うことにより顔領域を検出する（ステップＳ１２）。
【０１５５】
処理制御部１５により人物マッチング部２０に振り分けられた場合（ステップＳ１１でＮＯ）には、ＣＰＵ１０は、当該フレームの画像を人物マッチング部２０に入力し、人物マッチング部２０は、当該フレームの直近のフレームで検出された顔領域の近傍の領域に対し、検出された顔領域の大きさ、向き、傾きに限定して顔検出処理を行う（ステップＳ１９）。
【０１５６】
顔検出部１６及び人物マッチング部２０は、検出結果（顔の座標ｘ、ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き等）から検出された顔が本当に顔であるかを示す指標（顔の確信度）を算出し、検出結果及び顔の確信度を人物トラッキング部１３へ入力する。
【０１５７】
人物トラッキング部１３は、顔検出部１６又は人物マッチング部２０から出力された検出結果をリスト化する。人物トラッキング部１３は、顔検出部１６又は人物マッチング部２０から入力された顔の確信度が所定の閾値（例えば６０％）より大きい場合には、検出されたものが顔であると判断し、検出フラグの欄に顔が検出されたことを示すフラグ「１」を立てる。
【０１５８】
そして、人物トラッキング部１３は、検出フラグの欄に「１」となった顔に対して、顔検出部１６又は人物マッチング部２０から入力された検出結果に基づいて、当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６又は人物マッチング部２０により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一であるか否か（顔の同一性）を判断する（ステップＳ１３）。
【０１５９】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６又は人物マッチング部２０により既に検出された顔領域と同一の顔と判定されなかった場合（ステップＳ１３でＮＯ）には、直近のフレームには存在しない顔が新たに見つかった場合であるため、人物トラッキング部１３は、新たに見つかった顔の検出結果に新たな顔ＩＤを振る（ステップＳ１５）。
【０１６０】
当該フレームから検出された顔領域が、当該フレームの検出処理の前に顔検出部１６により顔検出フルサーチ処理が行われたフレームから検出された顔領域と同一の顔と判定された場合（ステップＳ１３でＹＥＳ）には、人物トラッキング部１３は、その顔の検出結果に、既に検出された顔に振られた顔ＩＤと同じ顔ＩＤを振る（ステップＳ１６）。
【０１６１】
図１６は、本実施の形態の人物トラッキング結果の途中経過である。ステップＳ１９においては、第３の実施の形態のステップＳ１４と異なり、新たな顔が検出されうる。例えば、図１６のフレーム２においては、フレーム１で検出されていない新たな顔が検出されている。したがって、新たな顔には新たな顔ＩＤ「５」を振る。人物トラッキング部１３は、ステップＳ１２の顔検出部１６の検出結果又はステップＳ１４の人物マッチング部１８の検出結果において、既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在するか否かを判断する（ステップＳ２１）。
【０１６２】
既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在しないと判断した場合（ステップＳ２１でＮＯ）には、人物トラッキング部１３は、ステップＳ１５又はＳ１６の結果を当該フレームの人物トラッキング結果とし、トラッキング結果出力部１９へ出力する（ステップＳ１７）。
【０１６３】
既に検出が完了しているフレームで検出されているが、当該フレームで検出されていない顔が存在すると判断した場合（ステップＳ２１でＹＥＳ）には、人物トラッキング部１３は、検出されていない顔が所定時間（例えば、３フレームの期間）以上継続して検出されていないかどうかを判断する（ステップＳ２２）。
【０１６４】
その顔が検出されなくなってから所定時間経過していない場合（ステップＳ２２でＮＯ）には、人物トラッキング部１３は、見つからなかった顔ＩＤの顔についての直近のフレームでの検出結果（顔の中心座標ｘ、顔の中心座標ｙ、顔の大きさ、顔の向き（左右、上下）、顔の傾き、顔の確信度等）を当該フレームのデータに追加し、検出フラグに未検出を示すフラグ「０」を立てる（ステップＳ２３）。これにより、当該フレームで検出されなかった顔を含めて、次フレームで顔の同一性を判断することができる。
【０１６５】
所定時間以上継続して検出されていない場合（ステップＳ２２でＹＥＳ）には、その顔が再び検出される可能性が低いため、所定期間経過後にもその顔の情報を内部的に保持しておくのは無駄である。したがって、人物トラッキング部１３は、その顔ＩＤの情報を人物トラッキング結果から削除し、内部的にも顔の追跡を取りやめる（ステップＳ２４）。
【０１６６】
これにより、図１６の各フレーム分に示すように、１フレーム分の人物トラッキング結果が生成される。このように、顔が検出されなくてもその顔の情報を内部的に保持することで、顔が障害物に隠蔽される等により一時的に検出されなかった顔がその後のフレームで検出された場合に、同じ顔ＩＤを振ることができ、正確なトラッキングが可能となる。例えば、ステップＳ１２、Ｓ１４の検出処理においては、顔が障害物に隠蔽される可能性等により直近のフレームで検出された顔に対応する顔が検出されないことも考えられる。そのため、顔が検出されなかったからといって顔の追跡をいきなり切断してしまうのは合理的でなく、顔が検出されない場合においても、その顔の情報を所定期間は内部的に保持しておくこととした。
【０１６７】
人物トラッキング部１３は、この人物トラッキング結果をトラッキング結果出力部１９へ出力する（ステップＳ１７）。
【０１６８】
処理制御部１５は、全てのフレームの画像に対して処理が終わったかどうかを判断する（ステップＳ１８）。全てのフレームの画像に対して処理が終了していない場合（ステップＳ１８でＮＯ）には、処理を行う画像を決定するステップ（ステップＳ１０）へ戻り、次のフレームの画像の処理を開始する。全てのフレームの画像に対して処理が終了した場合（ステップＳ１８でＹＥＳ）には、処理を終了する。
【０１６９】
本実施の形態では、顔の情報を所定期間内部的に保持するため、一時的に検出されなかった顔がその後のフレームで検出された場合に、同じ顔ＩＤを振ることができ、正確なトラッキングが可能となる。
【０１７０】
なお、本実施の形態のステップＳ１９においては、当該フレームの直近のフレームで検出された顔領域の近傍の領域に対し、検出された顔領域の大きさ、向き、傾きに限定して顔検出処理を行うが、複数のフレームから検出された顔中心座標より顔の移動方向を求め、顔が検出されるであろう領域を予測し、その領域に対して顔検出処理を行うようにしてもよい。また、検出された顔領域の大きさ、向き、傾き等の変化を把握し、次に検出されるであろう大きさ、向き、傾き等を予測し、その予測結果に限定して顔検出処理を行なうようにしてもよい。
【０１７１】
また、検出された顔の欠けている特徴点等より顔の前後の位置関係を考慮し、後ろ側の顔については、ステップＳ２２の「所定時間」を長くし、より長い期間検出結果を保持するようにしても良い。
【０１７２】
これにより、顔の移動方向や顔の前後の位置関係等を考慮して顔検出処理が可能となり、柱の裏を通過する、他の人物が前を横切るなどにより一時的に検出されなかった顔を効率的に再度検出することができる。
【０１７３】
本発明は、一定時間間隔で、必ず一定フレーム数の処理をリアルタイムに行い、リアルタイムに人物追跡結果を出力することができるため、例えば、ビデオカメラから入力された映像に対してリアルタイムに人物を追跡し、同一人物には、同じ色の矢印などを入力された映像にオーバーラップさせて表示させる装置やアプリケーションとして提供することができる。
【０１７４】
また、本発明は、ＰＣ、携帯機器、動画再生装置などの装置に限らず、デジタルカメラ、ビデオカメラ、監視カメラ等の撮像装置にも適用可能である。撮像装置に適用する場合には、動画に限らず、ライブビュー画像にも本発明は適用可能である。
【符号の説明】
【０１７５】
１、２、３、４：人物追跡装置、１０：ＣＰＵ、１１：メインメモリ、１２：メモリ制御部、１３：人物トラッキング部、１４：動画入力部、１５：処理制御部、１６：顔検出部、１７：顔特徴ＤＢ、１８、２０：人物マッチング部、１９：トラッキング結果出力部
【図１】
2010244462.tif 000003
【図２】
2010244462.tif 000004
【図３】
2010244462.tif 000005
【図４】
2010244462.tif 000006
【図５】
2010244462.tif 000007
【図６】
2010244462.tif 000008
【図７】
2010244462.tif 000009
【図８】
2010244462.tif 000010
【図９】
2010244462.tif 000011
【図１０】
2010244462.tif 000012
【図１１】
2010244462.tif 000013
【図１２】
2010244462.tif 000014
【図１３】
2010244462.tif 000015
【図１４】
2010244462.tif 000016
【図１５】
2010244462.tif 000017
【図１６】
2010244462.tif 000018