(57)【要約】【課題】  撮影されている閲覧者の顔の特徴に適した情報を合成することが可能な画像表示システムを提供する。【解決手段】  画像処理装置２は、カメラからの映像の１フレームに撮影された顔画像を検出し、顔画像毎に顔検出枠の位置・矩形サイズを顔検出枠データとして出力する顔検出手段２１、顔検出枠データを他のフレームの顔検出枠データと対応付けるトラッキング手段２３、顔画像から顔特徴データを生成する顔特徴データ生成手段８７、顔検出枠データを含む顔オブジェクトに対して、シナリオデータ内の人物と対応付けを行うシナリオデータ対応付け手段８３、対応付けに従い、顔オブジェクトをシナリオデータの人物に割り当て、生成された顔特徴データで顔特徴ＤＢを参照して対応する属性識別情報を取得し、属性識別情報に対応するコンテンツをコンテンツ記憶手段から取得し、フレーム上にコンテンツを合成した合成画像を作成する合成画像作成手段８４を備える。【選択図】  図３
2013195725.tif 000002
【特許請求の範囲】
【請求項１】
人物を撮影するカメラと、カメラから送出される撮影映像を合成処理する画像処理装置と、合成処理された合成映像を表示するディスプレイとを備えた画像表示システムであって、
前記画像処理装置は、
映像上の１人以上の人物とコンテンツとの合成のタイミングを定めたシナリオデータを記憶したシナリオデータ記憶手段と、
合成に用いるコンテンツを記憶したコンテンツ記憶手段と、
人物の顔の特徴を表現した顔特徴データと、顔特徴データを特定する属性識別情報を対応付けて記憶した顔特徴データベースと、
前記カメラから送出された映像の１つのフレームに撮影されている顔画像を検出し、検出した前記顔画像毎に、顔検出枠の位置および矩形サイズを顔検出枠データとして出力する顔検出手段と、
前記顔検出手段から取得した前記顔検出枠データを、他のフレームの顔検出枠データと１つの顔オブジェクトとして対応付けるトラッキング手段と、
前記顔検出手段により検出された顔画像から顔の特徴を表現した顔特徴データを生成する顔特徴データ生成手段と、
前記顔検出手段により検出された顔検出枠データを含む顔オブジェクトに対して、前記シナリオデータに定義される人物との対応付けを行うシナリオデータ対応付け手段と、
前記対応付けに従って、前記顔オブジェクトを前記シナリオデータの人物に割り当て、前記生成された顔特徴データで前記顔特徴データベースを参照して対応する属性識別情報を取得した後、当該属性識別情報に対応するコンテンツを前記コンテンツ記憶手段から取得し、前記顔オブジェクトの顔検出枠データの位置、サイズに合わせて、前記コンテンツの位置、サイズを変更し、前記フレーム上に前記コンテンツを合成した合成画像を作成する合成画像作成手段と、
を備えていることを特徴とする画像表示システム。
【請求項２】
前記顔特徴データベースに記憶された顔特徴データは、顔のタイプを表現したものであり、属性識別情報は、顔のタイプを識別する顔タイプ識別情報であることを特徴とする請求項１に記載の画像表示システム。
【請求項３】
前記顔特徴データベースに記憶された顔特徴データは、特定の個人の顔の特徴を表現したものであり、属性識別情報は、個人を識別する個人識別情報であることを特徴とする請求項１に記載の画像表示システム。
【請求項４】
前記シナリオデータには、属性識別情報が一致した場合にコンテンツを特定し、特定したコンテンツの前記コンテンツ記憶手段における記憶位置を特定する記述がなされていることを特徴とする請求項１から請求項３のいずれか一項に記載の画像表示システム。
【請求項５】
前記顔特徴データ生成手段は、前記顔画像からＬＢＰ（Ｌｏｃａｌ Ｂｉｎａｒｙ Ｐａｔｔｅｒｎ）特徴量を求め、当該ＬＢＰ特徴量に対してＳＶＭ（Ｓｕｐｐｏｒｔ Ｖｅｃｔｏｒ Ｍａｃｈｉｎｅ）手法を実行することにより、他の顔特徴データとの境界を識別する識別境界情報を復元するためのＳＶＭ学習時のパラメータ、サポートベクトルおよび線形式のパラメータを顔特徴データとして生成するものであることを特徴とする請求項１から請求項４のいずれか一項に記載の画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影した映像を加工して表示する技術に関し、特に撮影されている閲覧者の状態に応じて加工した映像を表示する技術に関する。
【背景技術】
【０００２】
ディスプレイやプロジェクタなどの表示装置を用いて広告を表示する広告媒体であるデジタルサイネージ（Digital Signage）が、様々な場所に設置され始めている。デジタルサイネージを用いることで、動画や音声を用いた豊かなコンテンツの提供が可能になるばかりか、デジタルサイネージの設置場所に応じた効率的な広告配信が可能になるため、今後、デジタルサイネージのマーケット拡大が期待されている。
【０００３】
最近では、デジタルサイネージについて、様々な改良が施されており、デジタルサイネージの前に存在する閲覧者の動きに応じて表示させる画像を変化させる技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２３８３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術では、人の認識情報と動き情報を基に合成画像を生成するが、顔の特徴を認識して、顔の特徴に適した情報を合成することができないという問題がある。
【０００６】
そこで、本発明は、撮影されている閲覧者の顔の特徴に適した情報を合成することが可能な画像表示システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明第１の態様では、人物を撮影するカメラと、カメラから送出される撮影映像を合成処理する画像処理装置と、合成処理された合成映像を表示するディスプレイとを備えた画像表示システムであって、前記画像処理装置は、映像上の１人以上の人物とコンテンツとの合成のタイミングを定めたシナリオデータを記憶したシナリオデータ記憶手段と、合成に用いるコンテンツを記憶したコンテンツ記憶手段と、人物の顔の特徴を表現した顔特徴データと、顔特徴データを特定する属性識別情報を対応付けて記憶した顔特徴データベースと、前記カメラから送出された映像の１つのフレームに撮影されている顔画像を検出し、検出した前記顔画像毎に、顔検出枠の位置および矩形サイズを顔検出枠データとして出力する顔検出手段と、前記顔検出手段から取得した前記顔検出枠データを、他のフレームの顔検出枠データと１つの顔オブジェクトとして対応付けるトラッキング手段と、前記顔検出手段により検出された顔画像から顔の特徴を表現した顔特徴データを生成する顔特徴データ生成手段と、前記顔検出手段により検出された顔検出枠データを含む顔オブジェクトに対して、前記シナリオデータに定義される人物との対応付けを行うシナリオデータ対応付け手段と、前記対応付けに従って、前記顔オブジェクトを前記シナリオデータの人物に割り当て、前記生成された顔特徴データで前記顔特徴データベースを参照して対応する属性識別情報を取得した後、当該属性識別情報に対応するコンテンツを前記コンテンツ記憶手段から取得し、前記顔オブジェクトの顔検出枠データの位置、サイズに合わせて、前記コンテンツの位置、サイズを変更し、前記フレーム上に前記コンテンツを合成した合成画像を作成する合成画像作成手段を備えた画像表示システムを提供する。
【０００８】
本発明第１の態様によれば、人物の顔の特徴を表現した顔特徴データをデータベース化しておくとともに、撮影映像中の人物とコンテンツとの合成のタイミングを定めたシナリオデータを用意しておき、撮影映像のフレームから顔検出枠を検出し、顔検出枠のトラッキングを行い、得られた顔オブジェクトをシナリオデータの人物に割り当てるとともに、撮影映像の顔画像から顔の特徴を表現した顔特徴データを生成し、顔特徴データでデータベースを参照して対応する属性識別情報を取得した後、属性識別情報に対応するコンテンツを取得し、顔オブジェクトの顔検出枠データの位置、サイズに合わせて、コンテンツの位置、サイズを変更し、フレーム上にコンテンツを合成するようにしたので、撮影されている閲覧者の顔の特徴に対応したコンテンツを合成することが可能となる。
【０００９】
また、本発明第２の態様では、本発明第１の態様による画像表示システムにおいて、前記顔特徴データベースに記憶された顔特徴データは、顔のタイプを表現したものであり、属性識別情報は、顔のタイプを識別する顔タイプ識別情報であることを特徴とする。
【００１０】
本発明第２の態様によれば、属性識別情報として顔タイプ識別情報を用い、撮影された閲覧者の顔のタイプに対応したコンテンツを閲覧者の顔に合成するようにしたので、閲覧者の顔のタイプに適したコンテンツが合成された映像が得られ、閲覧者の顔の特徴に応じた効果的な販促活動に用いることが可能である。
【００１１】
また、本発明第３の態様では、本発明第１の態様による画像表示システムにおいて、前記顔特徴データベースに記憶された顔特徴データは、特定の個人の顔の特徴を表現したものであり、属性識別情報は、個人を識別する個人識別情報であることを特徴とする。
【００１２】
本発明第３の態様によれば、属性識別情報として個人識別情報を用い、撮影された閲覧者個人に対応したコンテンツを閲覧者の顔に合成するようにしたので、閲覧者の好みのコンテンツが合成された映像が得られ、エンターテイメント性の高い画像を提供することが可能となる。
【００１３】
また、本発明第４の態様では、本発明第１から第３のいずれかの態様による画像表示システムにおいて、前記シナリオデータには、属性識別情報が一致した場合にコンテンツを特定し、特定したコンテンツの前記コンテンツ記憶手段における記憶位置を特定する記述がなされていることを特徴とする。
【００１４】
本発明第４の態様によれば、映像上の人物とコンテンツとの合成タイミングを定めたシナリオデータに、属性識別情報が一致した場合のコンテンツの特定、および特定したコンテンツの記憶位置（コンテンツのパス）が、記述されているので、シナリオデータを書き換えるだけで、コンテンツの特定手法および記憶位置を変更することが可能となる。
【００１５】
また、本発明第５の態様では、本発明第１から第４のいずれかの態様による画像表示システムにおいて、前記顔特徴データ生成手段は、前記顔画像からＬＢＰ（Ｌｏｃａｌ Ｂｉｎａｒｙ Ｐａｔｔｅｒｎ）特徴量を求め、当該ＬＢＰ特徴量に対してＳＶＭ（Ｓｕｐｐｏｒｔ Ｖｅｃｔｏｒ Ｍａｃｈｉｎｅ）手法を実行することにより、他の顔特徴データとの境界を識別する識別境界情報を復元するためのＳＶＭ学習時のパラメータ、サポートベクトルおよび線形式のパラメータを顔特徴データとして生成するものであることを特徴とする。
【００１６】
本発明第５の態様によれば、顔画像からＬＢＰ特徴量を求め、当該ＬＢＰ特徴量に対してＳＶＭ手法を実行することにより、識別境界情報を復元するためのＳＶＭ学習時のパラメータ、サポートベクトルおよび線形式のパラメータを顔特徴データとして生成するようにしたので、顔タイプ別や個人の顔の特徴を的確に表現した顔特徴データを得ることが可能となる。
【発明の効果】
【００１７】
本発明によれば、撮影されている閲覧者の顔の特徴に適した情報を合成することが可能となるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本実施形態における画像表示システム１の構成を説明する図。
【図２】画像表示システム１を構成する画像処理装置２のハードウェア構成図。
【図３】画像処理装置２に実装されたコンピュータプログラムで実現される機能ブロック図。
【図４】画像処理装置２がフレームを解析する処理を説明するフロー図。
【図５】トラッキング処理を説明するためのフロー図。
【図６】顔検出枠データ対応付け処理を説明するためのフロー図。
【図７】本実施形態における状態遷移表を説明する図。
【図８】人体および顔検出結果を説明するための図。
【図９】画像処理装置２が合成画像を作成する処理を説明するフロー図。
【図１０】ターゲットが１人の場合のＸＭＬ形式のシナリオデータの一例を示す図。
【図１１】ターゲットが２人の場合のＸＭＬ形式のシナリオデータの一例を示す図。
【図１２】顔検出枠を用いたコンテンツの合成の様子を示す図。
【図１３】合成画像の表示状態を示す図。
【図１４】顔特徴データベースに登録された情報の一例を示す図である。
【図１５】画像処理装置２´に実装されたコンピュータプログラムで実現される機能ブロック図。
【図１６】顔検出処理およびトラッキング処理を説明するためのフロー図。
【発明を実施するための形態】
【００１９】
≪１．システム構成≫
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。図１は、本実施形態における画像表示システム１の構成を説明する図、図２は、画像表示システム１を構成する画像処理装置２のハードウェア構成図、図３は、画像処理装置２に実装されたコンピュータプログラムで実現される機能ブロック図である。
【００２０】
図１で図示したように、画像表示システム１には、液晶ディスプレイ等の表示デバイスであるディスプレイ３が含まれる。このディスプレイ３には、撮影した画像だけでなく、表示領域を分けて広告を表示するようにしても良い。
【００２１】
この場合、ディスプレイ３を街頭や店舗などに設置することにより、画像表示システム１はデジタルサイネージとしても機能する。画像表示システム１をデジタルサイネージとして機能させる場合、ディスプレイ３で表示する広告映像を制御するサーバが必要となる。
【００２２】
ディスプレイ３には、ディスプレイ３で再生されている映像を見ている人物の顔が撮影されるようにアングルが設定され、ディスプレイ３で再生されている広告映像を閲覧している人物を撮影するビデオカメラ４が設置されている。
【００２３】
このビデオカメラ４で撮影された映像は、ＵＳＢポートなどを利用して画像処理装置２に入力され、画像処理装置２は、ビデオカメラ４から送信された映像に含まれるフレームを解析し、ディスプレイ３の前にいる人物や，ディスプレイ３で再生されている映像を閲覧した人物の顔を検出し、閲覧者に関するログ（例えば、ディスプレイ３の閲覧時間）を記憶する。
【００２４】
図１で図示した画像表示システム１を構成する装置において、ディスプレイ３およびビデオカメラ４は市販の装置を利用できるが、画像処理装置２は、従来技術にはない特徴を備えているため、ここから、画像処理装置２について詳細に説明する。
【００２５】
画像処理装置２は汎用のコンピュータを利用して実現することができ、汎用のコンピュータと同様なハードウェアを備えている。図２の例では、画像処理装置２は、該ハードウェアとして、ＣＰＵ２ａ（CPU: Central Processing Unit）と、ＢＩＯＳが実装されるＲＯＭ２ｂ（ROM: Read-Only Memory）と、コンピュータのメインメモリであるＲＡＭ２ｃ（RAM: Random Access Memory）と、外部記憶装置として大容量のデータ記憶装置２ｄ（例えば，ハードディスク）と、外部デバイス（ビデオカメラ４）とデータ通信するための入出力インタフェース２ｅと、ネットワーク通信するためのネットワークインタフェース２ｆと、表示デバイス（ディスプレイ３）に情報を送出するための表示出力インタフェース２ｇと、文字入力デバイス２ｈ（例えば、キーボード）と、ポインティングデバイス２ｉ（例えば、マウス）を備えている。
【００２６】
画像処理装置２のデータ記憶装置２ｄには、ＣＰＵ２ａを動作させるためのコンピュータプログラムが実装され、このコンピュータプログラムによって、画像処理装置２には図３で図示した手段が備えられる。また、データ記憶装置２ｄは、画像表示システムに必要な様々なデータを格納することが可能となっており、映像上の１人以上の人物とコンテンツとの合成のタイミングを定めたシナリオデータを記憶したシナリオデータ記憶手段、合成に用いるコンテンツを記憶したコンテンツ記憶手段、人物の顔の特徴を表現した顔特徴データを記憶した顔特徴データベースとしての役割も果たしている。
【００２７】
ここで、コンテンツ記憶手段に格納されているコンテンツについて説明しておく。コンテンツは、撮影された映像のフレームと合成して合成画像を得る際の素材画像である。図１２（ａ）にコンテンツの一例を示す。コンテンツとしては、特に限定されず、様々な形態のものを用いることができるが、図１２（ａ）の例では、コンテンツとしてカツラを用意した場合を示している。このコンテンツは矩形情報（ｘ，ｙ方向の位置、幅、高さ）を有しており、この矩形情報を用いて、撮影されたフレームとの位置合わせが可能になっている。
【００２８】
図３で図示したように、画像処理装置２の入力は、ビデオカメラ４によって撮影された映像で、画像処理装置２の出力は、撮影された映像を加工した加工映像である。
【００２９】
画像処理装置２には、ビデオカメラ４によって撮影された映像のフレームを解析する手段として、ビデオカメラ４によって撮影された映像のフレームの背景画像を除去する背景除去手段２０と、背景除去手段２０によって背景が除去されたフレームから人物の顔を検出する顔検出手段２１と、背景除去手段２０によって背景画像が除去されたフレームから人体を検出する人体検出手段２２と、顔検出手段２１が検出した顔を前後のフレームで対応付けるトラッキング手段２３と、パーティクルフィルタなどの動画解析手法を用い、指定された顔画像をフレームから検出する動画解析手段２４と、顔検出手段２１が新規に検出した顔画像毎に顔オブジェクトを生成し、トラッキング手段２３から得られる一つ前と今回の顔検出枠データの対応付け結果を参照し、事前に定めた状態遷移表に従い顔オブジェクトの状態を遷移させ、顔オブジェクトの状態遷移に応じたログを記憶する状態遷移管理手段２５と、顔検出手段２１により検出され、状態遷移管理手段２５により状態遷移された顔オブジェクトと、用意されたシナリオデータの対応付けを行うシナリオデータ対応付け手段８３と、ビデオカメラ４によって撮影された映像の各フレームをシナリオデータに従って加工して、合成画像を作成する合成画像作成手段８４と、顔検出手段２１により検出された顔画像から顔の特徴を表現した顔特徴データを生成する顔特徴データ生成手段８７を備える。更に、本実施形態では、ディスプレイ３を閲覧した人物の属性（年齢や性別）をログデータに含ませるために、顔検出手段２１が検出した顔画像から人物の人物属性（年齢や性別）を推定する人物属性推定手段２６、状態遷移管理手段２５が記憶したログをファイル形式で出力するログファイル出力手段２７、加工対象のターゲット（人または場所）をシナリオデータ中に定義する合成ターゲット定義手段８０、加工に用いるコンテンツ（画像、音声、ＣＧ等）をシナリオデータ中に定義する合成コンテンツ定義手段８１、加工内容をシナリオデータ中に定義するアニメーションシナリオ定義手段８２を備えている。
【００３０】
シナリオデータは、別のシステムで事前に作成し、シナリオデータ記憶手段としてのデータ記憶装置２ｄに格納しておくことができるが、合成ターゲット定義手段８０、合成コンテンツ定義手段８１、アニメーションシナリオ定義手段８２により、作成することもできる。合成ターゲット定義手段８０、合成コンテンツ定義手段８１、アニメーションシナリオ定義手段８２は、撮影により得られた映像の各フレームをどのように加工するかを示したシナリオデータを作成するために用いられるものである。シナリオデータの形式は特に限定されないが、本実施形態では、ＸＭＬ（eXtensible Markup Language）を採用している。シナリオデータとしてＸＭＬを採用した本実施形態では、合成ターゲット定義手段８０、合成コンテンツ定義手段８１、アニメーションシナリオ定義手段８２は、テキストエディタで実現することができる。したがって、テキストエディタを起動し、管理者が文字入力デバイスを用いて文字入力を行うことにより、シナリオデータが作成される。
【００３１】
図１０は、ターゲットが１人の場合のＸＭＬ形式のシナリオデータの一例を示す図である。ここからは、図１０のシナリオデータを参照しながら、合成ターゲット定義手段８０、合成コンテンツ定義手段８１、アニメーションシナリオ定義手段８２について詳細に説明する。合成ターゲット定義手段８０は、ヒューマンＩＤ（humanID）、タイプ（Type）、サイクル間隔（CycleInterval）、自動ループ（IsAutoLoop）の４つの項目を設定することにより処理対象となるターゲットを定義する。図１０の例では、１行目の<Simulation Targets>と、３行目の</Simulation Targets>の２つのタグで囲まれた範囲に対応する。
【００３２】
ヒューマンＩＤは、検出されたある人物を識別する識別情報であり、図１０に示すように、１つしか設定されていない場合、１人に対してだけ処理が行われる。タイプについては、人間以外についても設定可能であるが、図１０の例では、“human”を用いて人間についてのみ設定している。サイクル間隔（CycleInterval）は、シナリオの開始から終了までの時間を秒単位で設定するものであり、図１０の例では、“１０”が設定されているので、シナリオの開始から終了まで１０秒であることを示している。自動ループ（IsAutoLoop）は、自動ループ処理（自動繰り返し処理）を行うかどうかを設定するものであり、図１０の例では、“true”が設定されているので、自動ループ処理を行うことを示している。図１０の例では、２行目のタグで、ヒューマンＩＤ、タイプ、サイクル間隔、自動ループの４項目を設定しており、ヒューマンＩＤは“０”、タイプは“human(人間)” 、サイクル間隔は“１０（秒）”、自動ループは“true(設定する)”となっている。
【００３３】
合成コンテンツ定義手段８１は、コンテンツＩＤ、コンテンツのパス、重なり設定の３つの項目を設定することによりコンテンツを定義する。図１０の例では、４行目の<Simulation Contents>と、８行目の</Simulation Contents >の２つのタグで囲まれた範囲に対応する。図１０の例では、コンテンツＩＤ（ContentsID）が“０”から“２”までの３つのコンテンツについて定義されている。図１０に示すように、各コンテンツについて１行単位で、コンテンツのパス（ContentsPath）、重なり設定（OverlapOrder）が設定される。
【００３４】
アニメーションシナリオ定義手段８２は、コマンドＩＤ（CommandID）、コマンドタイプ（CommandType）、属性確認フラグ（IsHumanIdentificationAttributeCheck）、属性ＩＤ（TargetHumanIdentificationAttributeID）、開始キー（StartKey）、終了キー（EndKey）、キータイプ（KeyType）、ターゲットＩＤ（TargetID）、コンテンツＩＤ（ContentsID）の９つの項目を設定することによりアニメーションシナリオを定義する。図１０の例では、９行目の<Animation Commands>と、２２行目の</Animation Commands>の２つのタグで囲まれた範囲に対応する。図１０の例では、コマンドＩＤ（CommandID）が“０”から“２”までの３つのコマンドについて定義されている。図１０に示すように、各コマンドについて４行単位で、コマンドタイプ、属性確認フラグ、属性ＩＤ、開始キー、終了キー、キータイプ、ターゲットＩＤ、コンテンツＩＤが設定される。
【００３５】
コマンドタイプとは、どのようなフレームを基にどのようなタイプの効果を生じさせるかを示すものであり、レイヤ合成、αブレンド合成、音声再生開始、シーン合成が用意されている。このうち、レイヤ合成、αブレンド合成、シーン合成は、画像合成のタイプを示すものであり、レイヤ合成は、コンテンツを上書き合成するものであり、αブレンド合成は、設定されたα比率に応じてコンテンツとフレームを透過させて合成するものであり、シーン合成は、人体部分を切り抜き、背景画像と合成するものである。図１０の例では、コマンドタイプ（CommandType）として、レイヤ合成（LayerMontage）が設定されている。属性確認フラグは、属性確認を行うかどうかのフラグであり、図１０の例では、“ｔｒｕｅ”に設定されているので、属性確認を行うことになる。属性ＩＤは、顔の特徴に応じた属性を示す属性識別情報である。属性確認フラグが“ｔｒｕｅ”に設定されている場合、検出された人物の顔特徴データで顔特徴データベースを参照し、対応する属性ＩＤが、アニメーションシナリオ中の属性ＩＤと一致する場合に、コマンドの処理を行うことになる。
【００３６】
開始キー、終了キーは各コマンドの開始時点、終了時点を設定するものである。本実施形態では、シナリオデータの時間を、シナリオ開始時を“０．０”、シナリオ終了時を“１．０”として管理している。したがって、最初に開始するコマンドの開始キー（StartKey）は“０．０”、最後に終了するコマンドの終了キー（EndKey）は“１．０”となる。キータイプとは、開始キー、終了キーの基準とする対象を設定するものであり、own、base、globalの３つが用意されている。ownは各ターゲットＩＤに対応する顔オブジェクトの閲覧時間を基準とし、baseはターゲットＩＤ＝０に対応する顔オブジェクトの閲覧時間を基準とし、globalは撮影映像の最初のフレームを取得した時間を基準とする。図１０の例では、キータイプ（KeyType）として、ownが設定されているので、顔オブジェクトがフレームに登場した時点（顔オブジェクトが“閲覧開始”と判断された時点）を“０．０”として、開始キー、終了キーが認識されることになる。
【００３７】
図１０の例では、２行目に示したようにサイクル間隔（CycleInterval）として“１０”が設定されているので、シナリオの開始から終了まで１０秒であることを示している。したがって、開始キー、終了キーの値を１０倍した実時間でシナリオは管理されることになる。ターゲットＩＤ（TargetID）は、ヒューマンＩＤ(HumanID)に１対１で対応している。コンテンツＩＤ（ContentsID）は、検出された人物と合成するコンテンツを特定する識別情報である。このようにして、合成ターゲット定義手段８０、合成コンテンツ定義手段８１、アニメーションシナリオ定義手段８２により作成されたシナリオデータは、シナリオデータ記憶手段としてのデータ記憶装置２ｄに格納される。
【００３８】
画像処理装置２が、ビデオカメラ４によって撮影された映像のフレームを時系列で解析することで、画像処理装置２のデータ記憶装置２ｄには、閲覧測定に利用可能なログファイルとして、ディスプレイの閲覧時間が記憶される閲覧時間ログファイルと、ディスプレイを閲覧した人物の位置が記憶される位置ログファイルと、ディスプレイを閲覧した人物の人物属性（例えば，年齢・性別）が記憶される人物属性ログファイルと、ディスプレイの前にいる人物の総人数、ディスプレイを閲覧していない人物の人数、ディスプレイを閲覧した人物の人数が記憶される人数ログファイルが記憶され、これらのログファイルを出力するログファイル出力手段２７が画像処理装置２には備えられている。本発明では、ログファイルを作成することは必須ではないが、ログファイルを作成する過程における顔オブジェクト、閲覧開始時刻が、合成画像の作成に利用される。
【００３９】
≪２．顔特徴データベースの準備≫
まず、事前に顔特徴データベースの準備を行う。具体的には、顔画像から顔の特徴を表現した顔特徴データを生成し、顔タイプを識別する顔タイプ識別情報である顔タイプＩＤ、または個人を識別する個人識別情報である個人ＩＤと対応付けて顔特徴データベースに登録する。顔特徴データを生成する処理は、顔特徴データ生成手段８７により行われる。
【００４０】
顔画像は、顔写真をスキャナにより取り込んだり、ビデオカメラ４に映った画像を取り込んだりして、インタフェース２ｅを介してデータ記憶装置２ｄに格納したものを用いることができる。顔特徴データ生成手段８７は、まず、顔画像を読み込み、読み込んだ顔画像から顔の特徴を表現した顔特徴データを生成する。
【００４１】
顔特徴データ作成の前段階として、顔の特徴量を求める。特徴量としては、公知の種々の形式のものを用いることができるが、本実施形態では、ＬＢＰ（Ｌｏｃａｌ Ｂｉｎａｒｙ Ｐａｔｔｅｒｎ）特徴量を用いる。ＬＢＰ特徴量とは、画像の局所領域のパターンを比較して、バイナリパターンとして記述したものであり、計算コストが少なく、現場の照明変化などの変動に影響を受けにくいという利点がある。
【００４２】
ＬＢＰ特徴量は、注目点の画素値と、その周辺の８近傍にある画素を比較し、重み付けをして算出することにより得られる。ＬＢＰ特徴量を抽出する場合、顔画像を複数のブロックに分割し、ブロック内の画素についてＬＢＰを算出する。そして、ブロックごとにＬＢＰのヒストグラムを生成し、ブロック数分のヒストグラムを連結して特徴表現することにより、その顔画像についてのＬＢＰ特徴量が得られる。
【００４３】
特徴量が得られたら、次に、所定の機械学習手法により、複数人の特徴量を用いて各個人の顔特徴データを作成する。複数人の特徴量から顔特徴データを作成するための手法としては、公知の種々のものを用いることができるが、本実施形態では、ＳＶＭ（Ｓｕｐｐｏｒｔ Ｖｅｃｔｏｒ Ｍａｃｈｉｎｅ）を用いる。
【００４４】
ＳＶＭとは、教師有り学習を用いる識別手法の一つであり、各データ点との距離が最大となる分離平面（超平面）を求める「マージン最大化」により高い汎化性能を持ち、高次元に擬似的に射影するカーネルトリックにより非線形の識別境界も学習可能なものである。
【００４５】
本実施形態では、ＳＶＭを実現する手段を顔特徴データ生成手段８７の一部として組み込み（実際にはＳＶＭの手順が記述されたプログラムをＣＰＵ２ａが実行）、各グループまたは各個人について、そのＬＢＰ特徴量を、他の複数人の個人と識別するための識別境界情報を求める。この識別境界情報は、ＳＶＭ学習時のパラメータ、サポートベクトル、線形式のパラメータとして表現することができる。
【００４６】
本実施形態では、識別境界情報を復元するためのＳＶＭ学習時のパラメータ、サポートベクトルおよび線形式のパラメータを顔特徴データとして顔特徴データベースに登録する。
【００４７】
本実施形態では、後述する２つの態様により合成処理が可能となっており、顔特徴データベースに登録されるデータにも２つの形式がある。図１４は、顔特徴データベースに登録された情報の一例を示す図である。図１４（ａ）は顔タイプ別に顔特徴データを登録したものであり、図１４（ｂ）は個人別に顔特徴データを登録したものである。
【００４８】
いずれの形式においても、図１４（ａ）（ｂ）に示すように、文字の連続で表現される顔特徴データが、属性ＩＤ（顔タイプＩＤまたは個人ＩＤ）に対応付けて記憶されることになる。図１４（ａ）（ｂ）の例では、便宜上、１０文字程度の文字で表現しているが、実際には、例えば６４００次元分の文字が並ぶ。
【００４９】
図１４（ａ）に示すような顔タイプ別の顔特徴データを生成する場合には、顔タイプ別（丸顔、小顔、ニキビ顔など）にグループ分けして顔画像を入力されると、顔特徴データ生成手段８７が、各顔画像からＬＢＰ特徴量を算出する。さらに、顔特徴データ生成手段８７は、グループごとのＬＢＰ特徴量を利用して、ＳＶＭにより、各顔タイプ別の顔特徴データを生成する。顔特徴データ生成手段８７は、生成された顔特徴データと別途入力された顔タイプＩＤを対応付けて顔特徴データベースに登録する。
【００５０】
図１４（ｂ）に示すような個人別の顔特徴データを生成する場合には、個人ごとに顔画像を入力されると、顔特徴データ生成手段８７が、各顔画像からＬＢＰ特徴量を算出し、その顔画像を特定する個人ＩＤと対応付けてデータ記憶装置２ｄに格納する。そして、ある程度の人数のＬＢＰ特徴量が蓄積された段階で、顔特徴データ生成手段８７は、ＳＶＭにより、各個人のＬＢＰ特徴量と、他の個人のＬＢＰ特徴量を利用して、各個人別の顔特徴データを生成する。顔特徴データ生成手段８７は、生成された顔特徴データと個人ＩＤを対応付けて顔特徴データベースに登録する。なお、本実施形態では、画像処理装置２の顔特徴データ生成手段８７が顔特徴データを作成したが、顔特徴データ生成手段８７と同一の処理を記述したプログラムを別のコンピュータに実行させ、顔特徴データを生成し、顔特徴データベースを準備するようにしても良い。
【００５１】
≪３．処理動作≫
まず、ビデオカメラ４から送信された映像のフレームを画像処理装置２が解析する処理を説明しながら、ビデオカメラ４によって撮影された映像のフレームを解析、加工するために備えられた各手段について説明する。
【００５２】
図４は、ビデオカメラ４から送信された映像のフレームを画像処理装置２が解析する処理を説明するフロー図である。それぞれの処理の詳細は後述するが、画像処理装置２に映像の一つのフレームが入力されると、画像処理装置２は該フレームについて背景除去処理Ｓ１を行い、背景除去処理Ｓ１した後のフレームについて、顔検出処理Ｓ２および人体検出処理Ｓ３を行う。
【００５３】
画像処理装置２は、背景除去処理Ｓ１した後のフレームについて、顔検出処理Ｓ２および人体検出処理Ｓ３を行った後、顔検出処理Ｓ２の結果を利用して、今回の処理対象となるフレームであるＮフレームから検出された顔と、一つ前のフレームであるＮ−１フレームから検出された顔を対応付けるトラッキング処理Ｓ４を行い、トラッキング処理Ｓ４の結果を踏まえて顔オブジェクトの状態を遷移させる状態遷移管理処理Ｓ５を実行する。
【００５４】
まず、背景除去処理Ｓ１について説明する。背景除去処理Ｓ１を担う手段は、画像処理装置２の背景除去手段２０である。画像処理装置２が背景除去処理Ｓ１を実行するのは、図１に図示しているように、ディスプレイ３の上部に設けられたビデオカメラ４の位置・アングルは固定であるため、ビデオカメラ４が撮影した映像には変化しない背景が含まれることになり、この背景を除去することで、精度よく人体および顔を検出できるようにするためである。
【００５５】
画像処理装置２の背景除去手段２０が実行する背景除去処理としては既存技術を利用でき、ビデオカメラ４が撮影する映像は、例えば、朝、昼、夜で光が変化する場合があるので、背景の時間的な変化を考慮した動的背景更新法を用いることが好適である。
【００５６】
背景の時間的な変化を考慮した動的背景更新法としては、例えば、「森田 真司, 山澤 一誠, 寺沢 征彦, 横矢 直和: "全方位画像センサを用いたネットワーク対応型遠隔監視システム", 電子情報通信学会論文誌（D-II), Vol. J88-D-II, No. 5, pp. 864-875, (2005.5)」に記載されている手法を用いることができる。
【００５７】
次に、画像処理装置２の顔検出手段２１によって実行される顔検出処理Ｓ２について説明する。顔検出処理Ｓ２で実施する顔検出方法としては、特許文献１に記載されているような顔検出方法も含め、様々な顔検出方法が開示されているが、本実施形態では、弱い識別器として白黒のHaar-Like特徴を用いたAdaboostアルゴリズムによる顔検出法を採用している。なお、弱い識別器として白黒のHaar-Like特徴を用いたAdaboostアルゴリズムによる顔検出法については、「Paul Viola and Michael J. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", IEEE CVPR, 2001.」、「Rainer Lienhart and Jochen Maydt, "An Extended Set of Haar-like Features for Rapid Object Detection", IEEE ICIP 2002, Vol. 1, pp. 900-903, Sep. 2002.」で述べられている。
【００５８】
弱い識別器として白黒のHaar-Like特徴を用いたAdaboostアルゴリズムによる顔検出法を実行することで、フレームに含まれる顔画像毎に顔検出枠データが得られ、この顔検出枠データには、顔画像を検出したときに利用した顔検出枠の位置（例えば、左上隅の座標）および矩形サイズ（幅および高さ）が含まれる。
【００５９】
次に、画像処理装置２の人体検出手段２２によって実行される人体検出処理Ｓ３について説明する。人体を検出する手法としては赤外線センサを用い、人物の体温を利用して人体を検出する手法が良く知られているが、本実施形態では、顔検出処理Ｓ２で実施する人体検出方法として、弱い識別器としてＨＯＧ（Histogram of Oriented Gradients）特徴を用いたAdaboostアルゴリズムによる人体検出法を採用している。なお、弱い識別器としてＨＯＧ（Histogram of Oriented Gradients）特徴を用いたAdaboostアルゴリズムによる人体検出法については、「N. Dalal and B. Triggs，"Histograms of Oriented Gradientstional Conference on Computer Vision，pp. 734-741，2003．」で述べられている。
【００６０】
弱い識別器としてＨＯＧ特徴を用いたAdaboostアルゴリズムによる人体検出法を実行することで、フレームに含まれる人体毎に人体検出枠データが得られ、この人体検出枠データには、人体画像を検出したときに利用した人体検出枠の位置（例えば、左上隅の座標）および矩形サイズ（幅および高さ）が得られる。
【００６１】
図８は、人体および顔検出結果を説明するための図である。図８のフレーム７で撮影されている人物は、人物７ａ〜７ｆの合計６人が含まれ，画像処理装置２の人体検出手段２２はそれぞれの人物７ａ〜７ｆを検出し、それぞれの人物７ａ〜７ｆに対応する人体検出枠データ７０ａ〜７０ｆを出力する。また、画像処理装置２の顔検出手段２１は、両眼が撮影されている人物７ａ〜７ｃの顔を検出し、それぞれの顔に対応する顔検出枠データ７１ａ〜７１ｃを出力する。
【００６２】
次に、画像処理装置２のトラッキング手段２３によって実行されるトラッキング処理Ｓ４について説明する。トラッキング処理Ｓ４では、画像処理装置２のトラッキング手段２３によって、顔検出手段２１がＮ−１フレームから検出した顔検出枠データと、顔検出手段２１がＮフレームから検出した顔検出枠データを対応付ける処理が実行される。
【００６３】
ここから，画像処理装置２のトラッキング手段２３によって実行されるトラッキング処理Ｓ４について詳細に説明する。図５は、画像処理装置２のトラッキング手段２３によって実行されるトラッキング処理Ｓ４を説明するためのフロー図である。
【００６４】
画像処理装置２のトラッキング手段２３は、Ｎフレームをトラッキング処理Ｓ４するために、まず、Ｎフレームから得られた顔検出枠データおよび人体検出枠データをそれぞれ顔検出手段２１および人体検出手段２２から取得する（Ｓ１０）。
【００６５】
なお、次回のトラッキング処理Ｓ４において、Ｎフレームから得られた顔検出枠データは、Ｎ−１フレームの顔検出枠データとして利用されるため、画像処理装置２のトラッキング手段２３は、Ｎフレームから得られた顔検出枠データをＲＡＭ２ｃまたはデータ記憶装置２ｄに記憶する。
【００６６】
画像処理装置２のトラッキング手段２３は、Ｎフレームの顔検出枠データおよび人体検出枠データを取得すると、Ｎフレームの人体検出枠データ毎に、ディスプレイの閲覧判定を行う（Ｓ１１）。
【００６７】
上述しているように、人体検出枠データには人体検出枠の位置および矩形サイズが含まれ、顔検出枠データには顔検出枠の位置および矩形サイズが含まれるため、顔検出枠が含まれる人体検出枠データは、ディスプレイ３を閲覧している人物の人体検出枠データと判定でき、また、顔検出枠が含まれない人体検出枠データは、ディスプレイ３を閲覧していない人物の人体検出枠データと判定できる。
【００６８】
画像処理装置２のトラッキング手段２３は、このようにして、Ｎフレームの人体検出枠データ毎にディスプレイの閲覧判定を行うと、Ｎフレームが撮影されたときの人数ログファイルとして、ディスプレイ３の前にいる人物の総人数、すなわち、人体検出手段２２によって検出された人体検出枠データの数と、ディスプレイ３を閲覧していない人物の人数、すなわち、顔検出枠が含まれていない人体検出枠データの数と、ディスプレイ３を閲覧している人物の人数、すなわち、顔検出枠が含まれる人体検出枠データの数を記載した人数ログファイルを生成し、Ｎフレームのフレーム番号などを付与してデータ記憶装置２ｄに記憶する。
【００６９】
画像処理装置２のトラッキング手段２３は、Ｎフレームの人体検出枠データ毎に、ディスプレイの閲覧判定を行うと、顔検出手段２１がＮ−１フレームから検出した顔検出枠データと、顔検出手段２１がＮフレームから検出した顔検出枠データを対応付ける顔検出枠データ対応付け処理Ｓ１２を実行する。
【００７０】
図６は、顔検出枠データ対応付け処理Ｓ１２を説明するためのフロー図で、本実施形態では、図６で図示したフローにおいて、以下に記述する[数１]の評価関数を用いて得られる評価値を利用して、顔検出枠データの対応付けがなされる。
【００７１】
なお、[数１]の評価関数ｆ１（）は、ニアレストネイバー法を用いた評価関数で、評価関数ｆ１（）で得られる評価値は、顔検出枠データの位置および矩形サイズの差を示した評価値になる。また、[数１]の評価関数ｆ２（）で得られる評価値は、評価関数ｆ１（）から求められる評価値に、顔検出枠データで特定される顔検出枠に含まれる顔画像から得られ、顔画像の特徴を示すＳＵＲＦ特徴量の差が重み付けして加算された評価値になる。
【数１】
2013195725.tif 000003
【００７２】
Ｎ−１フレームから検出した顔検出枠データとＮフレームから検出した顔検出枠データを対応付けるために、画像処理装置２のトラッキング手段２３は、まず、Ｎフレームから得られた顔検出枠データの数だけループ処理Ｌ１を実行する。
【００７３】
このループ処理Ｌ１において、画像処理装置２のトラッキング手段２３は、まず、Ｎ−１フレームから検出された顔検出枠データの数だけループ処理Ｌ２を実行し、このループ処理Ｌ２では、ループ処理Ｌ１の処理対象となる顔検出枠データの位置および矩形サイズと、ループ処理Ｌ２の処理対象となる顔検出枠データの位置および矩形サイズを、[数１]の評価関数ｆ１（）に代入して評価値を算出し（Ｓ１２０）、ループ処理Ｌ１の対象となる顔検出枠データとの位置および矩形サイズの差を示す評価値が、Ｎ−１フレームから検出された顔検出枠データ毎に算出される。
【００７４】
画像処理装置２のトラッキング手段２３は、ループ処理Ｌ１の処理対象となる顔検出枠データとの位置および矩形サイズの差を示す評価値を、Ｎ−１フレームから検出された顔検出枠データ毎に算出すると、該評価値の最小値を検索し（Ｓ１２１）、該評価値の最小値と他の評価値との差分を算出した後（Ｓ１２２）、閾値以下の該差分値があるか判定する（Ｓ１２３）。
【００７５】
そして、画像処理装置２のトラッキング手段２３は、ループ処理Ｌ１の処理対象となる顔検出枠データとの位置・矩形サイズの差を示す評価値の最小値と他の評価値との差分の中に、閾値以下の差分がある場合，画像処理装置２のトラッキング手段２３は、評価値が閾値以内である顔検出枠データ数だけループ処理Ｌ３を実行する。
【００７６】
このループ処理Ｌ３では、ループ処理Ｌ１の処理対象となる顔検出枠データで特定される顔検出枠内の顔画像と、ループ処理Ｌ３の処理対象となるＮ−１フレームの顔検出枠データで特定される顔検出枠内の顔画像とのＳＵＲＦ特徴量の差が求められ、ＳＵＲＦ特徴量の差が[数１]の評価関数ｆ２（）に代入され、ＳＵＲＦ特徴量の差を加算した評価値が、Ｎ−１フレームから検出された顔検出枠データ毎に算出される（Ｓ１２４）。
【００７７】
[数１]で示した評価関数ｆ２（）を用い、ＳＵＲＦ特徴量の差を加算した評価値を算出するのは、ニアレストネイバー法のみを利用した評価関数ｆ１（）を用いて求められた評価値の最小値と他の評価値との差分値に閾値以下がある場合、サイズの似た顔検出枠が近接していると考えられ（例えば，図８の人物７ａ，ｂ），ニアレストネイバー法の評価値からでは、Ｎフレームの顔検出枠データに対応付けるＮ−１フレームの顔検出枠データが判定できないからである。
【００７８】
[数１]で示した評価関数ｆ２（）を用い、ＳＵＲＦ特徴量の差を加算した評価値を算出することで、顔の特徴が加味された評価値が算出されるので、該評価値を用いることで、サイズの似た顔検出枠が近接している場合は、顔が似ているＮ−１フレームの顔検出枠データがＮフレームの顔検出枠データに対応付けられることになる。
【００７９】
そして、画像処理装置２のトラッキング手段２３は、[数１]の評価関数から得られた評価値が最小値であるＮ−１フレームの顔検出枠データを、ループ処理Ｌ１の対象となるＮフレームの顔検出枠データに対応付ける処理を実行する（Ｓ１２５）。なお、[数１]で示した評価関数ｆ２（）を用いた評価値を算出していない場合、この処理で利用される評価値は、[数１]で示した評価関数ｆ１（）から求められた値になり、[数１]で示した評価関数ｆ２（）を用いた評価値を算出している場合、この処理で利用される評価値は、[数１]で示した評価関数ｆ２（）から求められた値になる。
【００８０】
ループ処理Ｌ１が終了し、画像処理装置２のトラッキング手段２３は、Ｎフレームの顔検出枠データとＮ−１フレームの顔検出枠データを対応付けすると、Ｎ−１フレームの顔検出枠データが重複して、Ｎフレームの顔検出枠データに対応付けられていないか確認する（Ｓ１２６）。
【００８１】
Ｎ−１フレームの顔検出枠データが重複して、Ｎフレームの顔検出枠データに対応付けられている場合、画像処理装置２のトラッキング手段２３は、重複して対応付けられているＮ−１フレームの顔検出枠データの評価値を参照し、評価値が小さい方を該Ｎフレームの顔検出枠データに対応付ける処理を再帰的に実行することで、最終的に、Ｎフレームの顔検出枠データに対応付けるＮ−１フレームの顔検出枠データを決定する（Ｓ１２７）。
【００８２】
ここから、図４で図示したフローの説明に戻る。トラッキング処理Ｓ４が終了すると、画像処理装置２の状態遷移管理手段２５によって、トラッキング処理Ｓ４から得られ、一つ前と今回の顔検出枠データの対応付け結果を参照し、事前に定めた状態遷移表に従い顔オブジェクトの状態を遷移させ、顔オブジェクトの状態遷移に応じたログを記憶する状態遷移管理処理Ｓ５が実行され、この状態遷移管理処理Ｓ５で所定の状態遷移があると、該状態遷移に対応した所定のログファイルがデータ記憶装置２ｄに記憶される。
【００８３】
画像処理装置２の状態遷移管理手段２５には、顔オブジェクトの状態遷移を管理するために、予め、顔オブジェクトの状態と該状態を状態遷移させるルールが定義された状態遷移表が定められており、画像処理装置２のトラッキング手段２３は、この状態遷移表を参照し、顔検出枠データ対応付け処理Ｓ１２の結果に基づき顔オブジェクトの状態を遷移させる。
【００８４】
ここから、状態遷移表の一例を例示し、該状態遷移表の説明をしながら、画像処理装置２の状態遷移管理手段２５によって実行される状態遷移管理処理Ｓ５について説明する。
【００８５】
図７は、本実施形態における状態遷移表６を説明する図である。図７で図示した状態遷移表６によって、顔オブジェクトの状態と、Ｎ−１フレームの状態からＮフレームの状態への遷移が定義され、状態遷移表６の縦軸はＮ−１フレームの状態で、横軸はＮフレームの状態で，縦軸と横軸が交差する箇所に状態遷移する条件が記述されている。なお、状態遷移表に「―」は不正な状態遷移を示している。
【００８６】
図７で図示した状態遷移表６には、顔オブジェクトの状態として、Ｎｏｎｅ、候補Ｆａｃｅ、現在Ｆａｃｅ、待機Ｆａｃｅ、ノイズＦａｃｅおよび終了Ｆａｃｅが定義されている。状態遷移表で定義された状態遷移を説明しながら、それぞれの状態について説明する。
【００８７】
顔オブジェクトの状態の一つであるＮｏｎｅとは、顔オブジェクトが存在しない状態を意味している。Ｎフレームの顔検出枠データに対応付けるＮ−１フレームの顔検出枠データが無い場合（図７の条件１）、画像処理装置２の状態遷移管理手段２５は、顔オブジェクトを識別するためのＩＤ、該Ｎフレームの顔検出枠データ、顔オブジェクトに付与された状態に係わるデータなどを属性値と有する顔オブジェクトを新規に生成し、該顔オブジェクトの状態を候補Ｆａｃｅに設定する。
【００８８】
顔オブジェクトの状態の一つである候補Ｆａｃｅとは、新規に検出した顔画像がノイズである可能性がある状態を意味し、顔オブジェクトの状態の一つに候補Ｆａｃｅを設けているのは、複雑な背景の場合、背景除去処理を行っても顔画像の誤検出が発生し易く、新規に検出できた顔画像がノイズの可能性があるからである。
【００８９】
候補Ｆａｃｅの状態である顔オブジェクトには、候補Ｆａｃｅの状態に係わるデータとして、候補Ｆａｃｅの状態であることを示す状態ＩＤと、候補Ｆａｃｅへ状態遷移したときの日時およびカウンタが付与される。
【００９０】
候補Ｆａｃｅから状態遷移可能な状態は、候補Ｆａｃｅ、現在ＦａｃｅおよびノイズＦａｃｅで、事前に定められた設定時間内において、候補Ｆａｃｅの状態である顔オブジェクトに対応する顔検出枠が所定の数だけ連続してトラッキングできた場合（図７の条件２−２）、該顔オブジェクトの状態は候補Ｆａｃｅから現在Ｆａｃｅに遷移する。
【００９１】
候補Ｆａｃｅの状態である顔オブジェクトの属性にカウンタを設けているのは、設定時間内において、候補Ｆａｃｅの状態である顔オブジェクトに対応する顔検出枠を連続してトラッキングできた回数をカウントするためで、画像処理装置２の状態遷移管理手段２５は、Ｎフレームの顔検出枠データに対応付けられたＮ−１フレームの顔検出枠データが含まれている顔オブジェクトの状態が候補Ｆａｃｅの場合、該顔オブジェクトに付与されている顔検出枠データをＮフレームの顔検出枠データに更新すると共に、該顔オブジェクトのカウンタをインクリメントする。
【００９２】
そして、画像処理装置２の状態遷移管理手段２５は、状態遷移管理処理Ｓ５を実行する際、候補Ｆａｃｅである顔オブジェクト毎に、候補Ｆａｃｅへ状態遷移したときの日時を参照し、設定時間以内に該カウンタの値が事前に定めた設定値に達している場合は、顔オブジェクトの状態を現在Ｆａｃｅに状態遷移させる。また、画像処理装置２の状態遷移管理手段２５は、この時点で設定時間が経過しているが、該カウンタが設定値に達しなかった該顔オブジェクトの状態をノイズＦａｃｅに状態遷移させ（図７の条件２−３）、該設定時間が経過していない該顔オブジェクトについては状態を状態遷移させない（図７の条件２−１）。
【００９３】
顔オブジェクトの状態の一つであるノイズＦａｃｅとは、画像処理装置２の顔検出手段２１が検出した顔画像がノイズと判定された状態で、ノイズＦａｃｅに状態遷移した顔オブジェクトは消滅したと見なされ、これ以降の状態遷移管理処理Ｓ５に利用されない。
【００９４】
顔オブジェクトの状態の一つである現在Ｆａｃｅとは、顔オブジェクトに対応する人物がディスプレイ３を閲覧状態と判定できる状態で、現在Ｆａｃｅの状態にある時間が、顔オブジェクトに対応する人物がディスプレイ３を閲覧している時間となる。
【００９５】
画像処理装置２の状態遷移管理手段２５は、顔オブジェクトの状態を候補Ｆａｃｅから現在Ｆａｃｅに状態遷移すると、該顔オブジェクトの顔検出枠データをＮフレームの顔検出枠データに更新すると共に、現在Ｆａｃｅに係わるデータとして、現在Ｆａｃｅの状態であることを示す状態ＩＤと現在Ｆａｃｅに状態遷移させたときの日時を顔オブジェクトに付与する。
【００９６】
また、ディスプレイを閲覧している人物の人物属性（例えば、年齢・性別）をログとして記憶するために、顔オブジェクトの状態を現在Ｆａｃｅに状態遷移すると、画像処理装置２の状態遷移管理手段２５は人物属性推定手段２６を作動させ、現在Ｆａｃｅに状態遷移させた顔オブジェクトの顔検出枠データで特定される顔検出枠から得られる人物属性を取得し、該顔オブジェクトのオブジェクトＩＤ、人物属性が記述された属性ログファイルをデータ記憶装置２ｄに記憶する。
【００９７】
なお、画像処理装置２に備えられた人物属性推定手段２６については詳細な記載はしないが、人物の顔画像から人物の人物属性（年齢・性別）を自動で識別することは、タバコの自動販売機などでも広く利用されており、例えば、特開２００７―０８００５７号公報の技術を利用できる。
【００９８】
更に、画像処理装置２の状態遷移管理手段２５は、顔オブジェクトの状態を現在Ｆａｃｅに状態遷移すると、ディスプレイ３を閲覧している人物の位置を時系列で記憶するための位置ログファイルをデータ記憶装置２ｄに新規に生成する。生成時の位置ログファイルには、現在Ｆａｃｅに状態遷移した顔オブジェクトのオブジェクトＩＤと、現在Ｆａｃｅに状態遷移した顔オブジェクトに含まれる顔検出枠データが付与される。
【００９９】
現在Ｆａｃｅの状態から状態遷移可能な状態は、現在Ｆａｃｅおよび待機Ｆａｃｅである。画像処理装置２の状態遷移管理手段２５は、Ｎフレームの顔検出枠データに対応付けられたＮ−１フレームの顔検出枠データを含む顔オブジェクトの状態が現在Ｆａｃｅの場合（条件３−１）、該顔オブジェクトに付与されている顔検出枠データをＮフレームにおける顔検出枠データに更新すると共に、該顔検出枠データを、該顔オブジェクトのオブジェクトＩＤで特定される位置ログファイルに追加する。
【０１００】
また、画像処理装置２の状態遷移管理手段２５は、状態遷移管理処理Ｓ５を行う際、Ｎフレームの顔検出枠データが対応付けられなかったＮ−１フレームの顔検出枠データが付与されている顔オブジェクトの状態が現在Ｆａｃｅの場合、動画解析手段２４を作動させて、動画解析手法により、該Ｎ−１フレームの顔検出枠データに対応する顔画像をＮフレームから検出する処理を実施する。
【０１０１】
本実施形態において、画像処理装置２の動画解析手段２４は、まず、Ｎフレームの顔検出枠データが対応付けられなかったＮ−１フレームの顔検出枠データと既に対応付けられているＮフレームの顔検出枠データの間で、オクルージョン状態の判定を行い、対象となる人物の顔が完全に隠れた状態のオクルージョンであるか確認する。
【０１０２】
画像処理装置２の動画解析手段２４は、この時点で存在し、現在Ｆａｃｅ、候補Ｆａｃｅおよび待機Ｆａｃｅの状態である全ての顔オブジェクトについて、[数２]に従い，顔オブジェクトのオクルージョン状態を判定する処理を実行する。
【数２】
2013195725.tif 000004
【０１０３】
画像処理装置２の動画解析手段２４は、[数２]に従い、顔オブジェクトのオクルージョン状態を判定する処理を実行すると、判定結果に基づき処理を分岐する。
【０１０４】
トラッキング対象である人物が完全に隠れた状態のオクルージョンである可能性が高いと判断できた場合（[数２]の判定基準１に該当する場合）、パーティクルフィルタによるトラッキングを行い、対象となる顔オブジェクトの位置および矩形サイズを検出する。なお、パーティクルフィルタについては，「加藤丈和: 「パーティクルフィルタとその実装法」、情報処理学会研究報告, CVIM-157, pp.161-168 (2007).」など数多くの文献で述べられている。
【０１０５】
また、トラッキング対象である人物が半分隠れた状態のオクルージョンの可能性が高いと判断できた場合（[数２]の判定基準２に該当する場合）、ＬＫ法（Lucus-Kanadeアルゴリズム）によるトラッキング行い、対象となる顔オブジェクトの位置および矩形サイズを検出する。なお、ＬＫ法については、「Lucas, B.D. and Kanade, T.：" An Iterative Image Registration Technique with an Application to Stereo Vision",Proc.DARPA Image Understanding Workshop,pp.121-130,1981.」で述べられている。
【０１０６】
そして、トラッキング対象である人物にオクルージョンはない可能性が高いと判定できた場合（数式３の判定基準３に該当する場合）、画像処理装置２の動画解析手段２４は、ＣａｍＳｈｉｆｔ手法を用いたトラッキングを行い、対象となる顔オブジェクトの位置および矩形サイズを検出する。なお、ＣａｍＳｈｉｆｔ手法については、「G. R. Bradski: "Computer vision face tracking foruse in a perceptual user interface," Intel Technology Journal, Q2, 1998.」で述べられている。
【０１０７】
画像処理装置２の状態遷移管理手段２５は、これらのいずれかの手法で対象となる顔画像がＮフレームから検出できた場合、現在Ｆａｃｅの状態である顔オブジェクトの顔検出枠データを、これらの手法で検出された位置・矩形サイズに更新し、これらのいずれかの手法でも対象となる顔画像がトラッキングできなかった場合、現在Ｆａｃｅの状態である顔オブジェクトの状態を待機Ｆａｃｅに状態遷移させる（図７の条件３−２）。
【０１０８】
顔オブジェクトの状態の一つである待機Ｆａｃｅとは、画像処理装置２に備えられた動画解析手段２４を用いても、顔オブジェクトに対応する顔画像を検出できなくなった状態である。
【０１０９】
また、画像処理装置２の状態遷移管理手段２５は、顔オブジェクトの状態を待機Ｆａｃｅに状態遷移する際、顔オブジェクトの顔検出枠データは更新せず、待機Ｆａｃｅに係わるデータとして、待機Ｆａｃｅの状態であることを示す状態ＩＤと、該顔オブジェクトが現在Ｆａｃｅに状態遷移したときの日時と、該顔オブジェクトが待機Ｆａｃｅに状態遷移したときの日時を顔オブジェクトに付与する。
【０１１０】
待機Ｆａｃｅから状態遷移可能な状態は、現在Ｆａｃｅまたは終了Ｆａｃｅである。画像処理装置２の状態遷移管理手段２５は、待機Ｆａｃｅに状態遷移してからの時間が所定時間経過する前に、Ｎフレームの顔検出枠データを含む顔オブジェクトを検索し、該顔オブジェクトの状態が待機Ｆａｃｅであった場合、該顔オブジェクトの状態を待機Ｆａｃｅから現在Ｆａｃｅに状態遷移させる（図７の条件４−１）。
【０１１１】
なお、顔オブジェクトの状態を待機Ｆａｃｅから現在Ｆａｃｅに状態遷移させる際、画像処理装置２の状態遷移管理手段２５は、該顔オブジェクトが現在Ｆａｃｅに状態遷移したときの日時は、待機Ｆａｃｅの状態のときに顔オブジェクトに付与されていた該日時を利用する。
【０１１２】
また、画像処理装置２のトラッキング手段２３は、顔オブジェクトの状態遷移を管理する処理を実行する際、待機Ｆａｃｅに状態遷移してからの時間が所定時間経過した顔オブジェクトの状態を終了Ｆａｃｅに状態遷移させ（図７の条件４−３）、該設定時間が経過していない該顔オブジェクトについては状態を遷移させない（図７の条件４−２）。
【０１１３】
顔オブジェクトの状態の一つである終了Ｆａｃｅとは、画像処理装置２が検出できなくなった人物に対応する状態で、状態が終了Ｆａｃｅになった顔オブジェクトは消滅したと見なされ、これ以降の状態遷移管理処理Ｓ５で利用されない。
【０１１４】
なお、画像処理装置２の状態遷移管理手段２５は、顔オブジェクトの状態を終了Ｆａｃｅに状態遷移する前に、該顔オブジェクトのオブジェクトＩＤ、該顔オブジェクトが現在Ｆａｃｅに状態遷移したときの日時である閲覧開始時刻、該顔オブジェクトが待機Ｆａｃｅに状態遷移したときの日時である閲覧終了時刻を記述した閲覧時間ログファイルを生成しデータ記憶装置２ｄに記憶させる。
【０１１５】
以上詳しく説明したように、画像処理装置２は、顔検出手段２１が検出した顔毎に生成する顔オブジェクトの状態として、Ｎｏｎｅ、候補Ｆａｃｅ、現在Ｆａｃｅ、待機Ｆａｃｅ、ノイズＦａｃｅおよび終了Ｆａｃｅの５つを状態遷移表６で定義し，顔オブジェクトに対応する顔のトラッキング結果に従い、顔オブジェクトの状態を遷移させることで、顔オブジェクトの状態遷移に従い、ディスプレイ３の閲覧時間をログとして記憶することが可能になる。
【０１１６】
上述した内容に従えば、顔オブジェクトの状態が現在Ｆａｃｅである間は、顔オブジェクトに対応する顔を連続して検出できたことになるため、現在Ｆａｃｅの状態にあった時間は、ディスプレイ３の閲覧時間になる。
【０１１７】
また、顔オブジェクトの状態として候補Ｆａｃｅを定義しておくことで、ノイズによって顔を誤検出した場合でも、ディスプレイ３の閲覧時間への影響はなくなる。また、顔オブジェクトの状態として待機Ｆａｃｅを定義しておくことで、顔を見失った後に、同じ顔を検出した場合でも、同じ顔として取り扱うことができるようになる。
【０１１８】
≪４．シナリオデータを用いた合成処理≫
≪４．１．ターゲットが１人の場合≫
図９は、ビデオカメラ４から送信された映像のフレームを基に、画像処理装置２が合成画像を作成する処理を説明するフロー図である。画像処理装置２を起動し、使用するシナリオデータを指定すると、まず、シナリオデータ対応付け手段８３が、指定されたシナリオデータをデータ記憶装置２ｄから読み込む（Ｓ２１）。そして、シナリオデータ対応付け手段８３は、シナリオデータを解釈し、シナリオデータに従った画像の作成を開始する（Ｓ２２）。
【０１１９】
次に、シナリオデータ対応付け手段８３は、状態遷移管理手段２５により生成された顔オブジェクトデータを取得する（Ｓ２３）。顔オブジェクトデータは、オブジェクトＩＤ、顔検出枠データ（位置および矩形サイズ）、閲覧時間で構成される。
【０１２０】
続いて、シナリオデータ対応付け手段８３は、状態遷移管理手段２５から取得した顔オブジェクトデータをシナリオデータに対応付ける処理を行う（Ｓ２４）。具体的には、顔オブジェクトデータに含まれる顔検出枠データのオブジェクトＩＤとシナリオデータ中のヒューマンＩＤを対応付ける。状態遷移管理手段２５から複数の顔検出枠データを取得した場合は、候補Ｆａｃｅへ状態遷移したときの日時が最も早いものを“０”に設定し、以降、候補Ｆａｃｅへ状態遷移したときの日時が早い順に“１””２” ”３”と数を１ずつ増加させながら設定していく。図１０の例では、シナリオデータには、ヒューマンＩＤ“０”の１つだけ設定されているので、シナリオデータ対応付け手段８３は、ヒューマンＩＤ“０”が対応付けられたオブジェクトＩＤで特定される顔検出枠データをターゲットとすることになる。
【０１２１】
次に、合成画像作成手段８４が、フレーム単位で表示用の合成画像を作成する処理を行う（Ｓ２５）。具体的には、まず、開始時点を経過時刻“０．０”と設定し、この経過時刻“０．０”で、シナリオデータの<Animation Commands>を参照する。そして、経過時刻が開始キー以上、終了キー以下となるコマンドに対して、実行するか否かの判断を行う。
【０１２２】
各コマンドは、属性確認フラグ（IsHumanIdentificationAttributeCheck）が“ｔｒｕｅ”となったときに実行されるようになっている。図１０の例では、属性確認フラグの値に応じて、Command ID="0"〜"2"のいずれか一つのコマンドが実行される。合成画像作成手段８４は、顔オブジェクトデータが得られたら、顔オブジェクトデータに含まれる顔画像を顔特徴データ生成手段８７に渡し、顔特徴データ生成手段８７は、渡された顔画像の顔特徴データを生成する。具体的には、上述の顔特徴データベースの準備の際と同様に、ＬＢＰ特徴量を算出した後、ＳＶＭを用いて、ＳＶＭ学習時のパラメータ、サポートベクトルおよび線形式のパラメータで構成される識別境界情報を顔特徴データとして生成する。そして、各コマンドの属性ＩＤで顔特徴データを参照して対応する顔特徴データを取得し、各コマンドに対応する顔特徴データと生成された顔特徴データを比較する。ここでの比較とは、差分演算を行い、その差分を得ることを意味する。比較の結果、差分が最小となるコマンドについて、その属性確認フラグに“ｔｒｕｅ”を返す。
【０１２３】
合成画像作成手段８４は、属性確認フラグが“ｔｒｕｅ”となったコマンドを実行する。例えば、コマンドＩＤ“０”の属性確認フラグが“ｔｒｕｅ”となった場合、コマンドＩＤ“０”のコマンドを実行する。図１０の例では、開始キー“０．０”から終了キー“１．０”まで、キータイプ“own”、コマンドタイプ“LayerMontage(レイヤ合成)”、ターゲットＩＤ“０”、コンテンツＩＤ“０”であるので、合成画像作成手段８４は、ターゲットＩＤ “０” に対応するヒューマンＩＤ“０”に対応付けられた顔検出枠データに、コンテンツＩＤ“０”をレイヤ合成することにより、合成画像を作成することになる。
【０１２４】
コンテンツＩＤ“０”のコンテンツ（合成用素材）は、シナリオデータの<Simulation Contents>を参照することにより、コンテンツのパスが特定できるので、そのパスで特定されるデータ記憶装置２ｄ内の記憶位置からコンテンツを取得する。上述のように、コンテンツには矩形情報が設定されているので、合成画像作成手段８４は、この矩形情報と顔検出枠データの矩形サイズが一致するように矩形情報とコンテンツのサイズを変更し、変更したコンテンツを、変更後の矩形情報と顔検出枠データの位置が一致する位置にレイヤ合成を行う。具体的には、図１２（ｂ）に示すような顔画像に設定された顔検出枠データの矩形に合わせて、コンテンツに設定された矩形の大きさを変更し、コンテンツに設定された矩形の変更割合に合わせてコンテンツをリサイズし、２つの矩形が一致するように合成処理を行う。この結果、例えば、図１２（ａ）のようにコンテンツがカツラである場合、人の顔に合わせてカツラを被せたような状態の合成画像（図１２（ｃ））が得られることになる。合成画像作成手段８４は、得られた合成画像を、ディスプレイ３に表示させる。この結果、ディスプレイ３には、撮影映像のフレームに加工が施された合成画像が表示されることになる。
【０１２５】
１つのフレームについて合成画像の作成を終えたら、シナリオデータ対応付け手段８３は、シナリオ実行中であるかどうかを判断する（Ｓ２６）。具体的には、シナリオデータに従った画像作成開始からの経過時間でシナリオデータ内のサイクル間隔（CycleInterval）を参照し、経過時間がサイクル間隔未満である場合は、シナリオ実行中であると判断し、経過時間がサイクル間隔以上である場合は、シナリオ終了であると判断する。シナリオ実行中であると判断した場合には、シナリオデータ対応付け手段８３は、Ｓ２３に戻って、顔オブジェクトデータを取得する。
【０１２６】
そして、Ｓ２４において、シナリオデータ対応付け手段８３は、状態遷移管理手段２５から取得した次の顔オブジェクトデータをシナリオデータに対応付ける処理を行う。このときも1回目のループと同様、候補Ｆａｃｅへ状態遷移したときの日時が最も早いものを“０”に設定し、以降、候補Ｆａｃｅへ状態遷移したときの日時が早い順に“１””２” ”３”と数を１ずつ増加させながら設定していく。そして、シナリオデータに従って、シナリオデータ対応付け手段８３は、ヒューマンＩＤ“０”が対応付けられたオブジェクトＩＤで特定される顔検出枠データを処理対象とする。
【０１２７】
次に、Ｓ２５において、合成画像作成手段８４が、フレーム単位で合成画像を作成する処理を行う。具体的には、経過時間を取得し、取得した経過時間で、シナリオデータの<Animation Commands>を参照する。図１０の例では、いずれのコマンドもシナリオの開始（０．１）から終了（１．０）まで設定されているので、シナリオ実行中、同一の処理を継続して行うことになる。図１０の例では、キータイプ“own”、コマンドタイプ“LayerMontage(レイヤ合成)”、ターゲットＩＤ“０”、コンテンツＩＤ“０”であるので、合成画像作成手段８４は、ヒューマンＩＤ“０”の顔検出枠データに、コンテンツＩＤ“０”をレイヤ合成することにより、合成画像を作成する。このようにして、Ｓ２６においてシナリオ終了であると判断されるまでは、経過時間に従い、シナリオデータを実行する処理を繰り返し行う。
【０１２８】
Ｓ２６において、シナリオ終了であると判断した場合には、シナリオデータ対応付け手段８３は、ループ処理を行うかどうかを判断する（Ｓ２７）。具体的には、シナリオデータ内の<IsAutoLoop>タグを参照し、“true”が設定されている場合は、ループ処理（繰り返し処理）を行うと判断する。ループ処理を行うと判断した場合には、シナリオデータ対応付け手段８３は、経過時間を“０”にリセットし、経過時間の計測を再び開始するとともに、Ｓ２２に戻って、シナリオデータに従った画像の作成を開始する。このように、映像の各フレームから得られた合成画像を順次ディスプレイに表示することにより、加工映像として表示されることになる。
【０１２９】
図１３は、図１０のシナリオデータに従って得られた合成画像の表示状態を示す図である。図１３（ａ）は、合成前の表示状態、図１３（ｂ）はシナリオ実行中の表示状態である。図１３（ａ）のように人物が撮影された後、顔オブジェクトデータが取得されると、経過時間０秒からシナリオデータが実行され、図１３（ｂ）に示すようにフレームに丸顔向けの黒いカツラ（ContentsID="0"）が合成された合成画像が表示される。この際、ContentsID="0"で<SimulationContents>を参照することにより、コンテンツのコンテンツ記憶手段内における所在“EffectForCircleFace.jpg”を特定し、丸顔向けの黒いカツラのコンテンツを取得する。経過時間６秒（StartKey="0.0"）から経過時間７秒（EndKey="1.0"）までのフレームについては、全て丸顔向けの黒いカツラが合成された合成画像が表示されることになる。
【０１３０】
上記の例では、コンテンツとしてカツラの画像を採用した場合について説明したが、コンテンツとして例えば化粧品による加工の程度を示す画像を採用し、これらの画像を顔タイプ別に用意しても良い。この場合、顔タイプ別に適した化粧品で化粧された画像が得られることになり、化粧品の販促に役立つことになる。
【０１３１】
≪４．２．ターゲットが２人の場合≫
次に、ターゲットが２人の場合について説明する。図１１は、ターゲットが２人の場合のＸＭＬ形式のシナリオデータの一例を示す図である。図１０の例と大きく異なるのは、<Simulation Targets>タグで挟まれた<HumanID>タグ内に、ヒューマンＩＤが２つ設定されている点である。図１１の例では、ヒューマンＩＤ“０”と“１”が設定されている。<Animation Commands>タグ内では、各コマンドＩＤについて、１つのターゲットＩＤが設定される。図１１の例では、コマンドＩＤ“０”“１”“２”については、ターゲットＩＤ“０”が設定され、コマンドＩＤ“３”“４”“５”については、ターゲットＩＤ“１”が設定されている。また、属性ＩＤ（TargetHumanIdentificationAttributeID）として、図１４（ｂ）に示した個人ＩＤが特定されている点も異なっている。
【０１３２】
ターゲットが２人の場合も、ターゲットが１人の場合と同様に、図９のフロー図に従って実行される。ターゲットが２人の場合は、Ｓ２３において、シナリオデータ対応付け手段８３が、状態遷移管理手段２５により生成された顔オブジェクトデータを複数取得するので、Ｓ２４において、取得したそれぞれの顔オブジェクトデータをシナリオデータに対応付ける。図１１の例では、シナリオデータには、ターゲットＩＤ“０”“１”の２つが設定されているので、シナリオデータ対応付け手段８３は、ターゲットＩＤ“０”“１”が対応付けられたオブジェクトＩＤで特定される顔検出枠データをターゲットとすることになる。これにより、ターゲットとする顔オブジェクトの顔検出枠がフレームで入れ替わるように移動したとしても、合成画像作成手段８４は、それぞれの顔検出枠に合わせてコンテンツを合成することができる。
【０１３３】
≪５．状態遷移管理手段を用いない構成≫
上記実施形態の画像表示システムは、状態遷移管理手段２５を用い、検出された顔画像がノイズであったと判定される場合に、閲覧状態と判断しないようにしたが、状態遷移管理手段２５を用いず、検出された顔画像を全て閲覧状態と判断するようにすることも可能である。次に、状態遷移管理手段２５を用いない構成について説明する。
【０１３４】
図１５は、状態遷移管理手段２５を用いない場合の画像処理装置２´に実装されたコンピュータプログラムで実現される機能ブロック図である。図１５において、図３と同一機能を有するものについては、同一符号を付して詳細な説明を省略する。
【０１３５】
図１５に示す画像処理装置２´は、図３に示したトラッキング手段２３に代えて、トラッキング手段２３´を有している。このトラッキング手段２３´は、図３に示した動画解析手段２４に相当する機能も備えている。
【０１３６】
図１５に示す画像処理装置２´は、フレームを解析するにあたり、図４に示したＳ１〜Ｓ５の処理のうち、Ｓ１、Ｓ３の処理は、画像処理装置２と同様にして行う。また、顔検出処理とトラッキング処理は、連携させて実行する。上述のように、Ｓ５の状態遷移管理処理は行わない。
【０１３７】
図１６は、顔検出処理とトラッキング処理を示すフロー図である。まず、背景除去処理Ｓ１を行った後、Ｎフレームを処理するにあたり、Ｎ−１フレームの顔検出枠の数が０より大であるかどうかの判断を行う（Ｓ３１）。Ｎ−１フレームの顔検出枠の数が０より大である場合は、トラッキング手段２３´がトラッキング処理を実行する（Ｓ３２）。
【０１３８】
トラッキング手段２３´は、Ｎ−１フレームにおける各顔検出枠を追跡してＮフレームにおける対応する顔検出枠を特定するものである。トラッキング手段２３´としては、上述の動画解析手段２４が実行する“パーティクルフィルタ”、“ＬＫ法”、“ＣａｍＳｈｉｆｔ手法”等の公知のトラッキング手法を採用することができる。
【０１３９】
Ｎ−１フレームからＮフレームへの顔検出枠のトラッキング処理を終えたら、顔検出手段２１がＮフレームにおける顔検出処理を行う（Ｓ３３）。Ｓ３３における顔検出処理は、図４に示したＳ２の顔検出処理と同一である。また、Ｓ３１において、Ｎ−１フレームの顔検出枠の数が０より大でないと判定された場合は、Ｎ−１フレームからＮフレームへのトラッキング処理を行わずに、顔検出手段２１がＮフレームにおける顔検出処理を行う。
【０１４０】
続いて、顔検出処理Ｓ３３において新規に検出されたＮフレームの顔検出枠の数が０より大であるかどうかを判断する（Ｓ３４）。新規に検出されたＮフレームの顔検出枠とは、Ｎフレームで検出された顔検出枠のうち、Ｎ−１フレームからＮフレームへトラッキングされた顔検出枠を除外したものである。
【０１４１】
次に、顔検出手段２１が、Ｎフレームにおいて新規に検出された各顔検出枠データに、オブジェクトＩＤを付与し、顔検出枠データ、オブジェクトＩＤ、トラッキング時間で構成される顔オブジェクトを設定する（Ｓ３５）。顔オブジェクトは、オブジェクトＩＤにより特定され、トラッキングにより対応付けられた顔検出枠は、同一のオブジェクトＩＤで特定されることになる。また、トラッキング時間の初期値は０に設定される。
【０１４２】
続いて、Ｎフレームにおける顔検出枠の数が０より大であるかどうかの判断を行う（Ｓ３６）。Ｓ３６においては、Ｎフレームにおいて新規に検出されたかどうかを問わず、既にオブジェクトＩＤが発行された顔検出枠がＮフレームに存在するかどうかを判断する。
【０１４３】
顔検出枠が存在した場合には、各顔検出枠の顔オブジェクトについて、トラッキング時間を算出する（Ｓ３７）。具体的には、直前のＮ−１フレームまでに算出されているトラッキング時間に１フレームに相当する時間を加算することによりＮフレームまでの各顔オブジェクトのトラッキング時間を算出する。トラッキング時間を算出し終えたら、Ｎをインクリメントして（Ｓ３８）、次のＮフレームについての処理に移行する。Ｓ３６における判断の結果、顔検出枠が存在しなかった場合には、Ｎフレームには、追跡すべき対象が存在しないことになるので、トラッキング時間の算出は行わず、Ｎをインクリメントして（Ｓ３８）、次のＮフレームについての処理に移行する。
【０１４４】
画像処理装置２´の顔検出手段２１、トラッキング手段２３´は、背景除去手段２０により背景処理が行われた各フレームについて、図１６に示した処理を繰り返し実行する。
【０１４５】
図１６に示した処理において付与された顔オブジェクトは、図９に示したＳ２４において、シナリオデータ対応付け手段８３によりシナリオデータと対応付けられる。図１６に示した処理においては、顔オブジェクトのオブジェクトＩＤは、顔検出枠が検出された順に、“０”“１” “２”“３”と数を１ずつ増加させながら設定される。
【０１４６】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、顔特徴データを作成するための特徴抽出手法としてＬＢＰ特徴量を抽出する手法を用い、学習手法としてＳＶＭを用いたが、顔特徴データを作成することができれば、どのようなものを用いても良い。例えば、特徴抽出手法としては、画像ベクトル化、ＡＡＭ、ＳＩＦＴ、ＳＵＲＦ、学習手法としては、単純ベイズ分類器、ニューラルネットワーク、ブースティング等を用いることが可能である。
【産業上の利用可能性】
【０１４７】
本発明は、コンピュータを利用してディスプレイに画像を表示する産業、広告を映像として表示するデジタルサイネージの産業に利用可能である。
【符号の説明】
【０１４８】
１    画像表示システム
２、２´    画像処理装置
２０  背景除去手段
２１  顔検出手段
２２  人体検出手段
２３、２３´  トラッキング手段
２４  動画解析手段
２５  状態遷移管理手段
２６  人物属性推定手段
２７  ログファイル出力手段
３    ディスプレイ
４    ビデオカメラ
６    状態遷移表
８０  合成ターゲット定義手段
８１  合成コンテンツ定義手段
８２  アニメーションシナリオ定義手段
８３  シナリオデータ対応付け手段
８４  合成画像作成手段
８７  顔特徴データ生成手段
【図１】
2013195725.tif 000005
【図２】
2013195725.tif 000006
【図３】
2013195725.tif 000007
【図４】
2013195725.tif 000008
【図５】
2013195725.tif 000009
【図６】
2013195725.tif 000010
【図７】
2013195725.tif 000011
【図８】
2013195725.tif 000012
【図９】
2013195725.tif 000013
【図１０】
2013195725.tif 000014
【図１１】
2013195725.tif 000015
【図１２】
2013195725.tif 000016
【図１３】
2013195725.tif 000017
【図１４】
2013195725.tif 000018
【図１５】
2013195725.tif 000019
【図１６】
2013195725.tif 000020