本発明の目的は、登場人物が誰であるかによらずに、映像のシーンの分類を行える映像分類装置および映像分類プログラムを提供することである。
本発明の他の目的は、利用者が興味を持っているシーンと類似するシーンを検索できる映像検索装置および映像検索プログラムを提供することである。
本発明による映像分類装置は、映像から登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして検出する顔姿勢検出手段と、顔姿勢データを用いて映像のシーンを分類する顔姿勢評価手段とを備えている。
シーンと密接に関連している顔姿勢データにより映像のシーンを分類するので、登場人物が誰であるかによらずに、映像のシーンの分類を行うことができる。
映像分類装置は、顔姿勢検出手段によって検出された顔姿勢データと比較される顔姿勢データである参照顔姿勢データを予め各シーンと対応させて記憶する参照顔姿勢記憶手段をさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データと、参照顔姿勢記憶手段が記憶する参照顔姿勢データとを比較することによって、顔姿勢データが検出された映像のシーンを分類するように構成されていてもよい。
顔姿勢検出手段は、シーンを写し出す学習用映像から参照顔姿勢データを検出し、参照顔姿勢データを、シーンと対応させて参照顔姿勢記憶手段に記憶させるように構成されていてもよい。
映像分類装置は、特定のシーンを写し出す参照映像から、顔姿勢検出手段によって検出された顔姿勢データと比較される顔姿勢データである参照顔姿勢データを検出する参照顔姿勢検出手段をさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データと、参照顔姿勢検出手段によって検出された参照顔姿勢データとを比較することによって、顔姿勢データが検出された映像のシーンが特定のシーンと同種のシーンに分類されるか否かを判定するように構成されていてもよい。この構成によれば、シーン毎の参照顔姿勢データを予め定めて記憶しておく必要がない。
映像分類装置は、分類される各シーンでの顔姿勢データが満たす条件を予め各シーンと対応させて記憶する参照条件記憶手段をさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データが、参照条件記憶手段が記憶する条件のうちのどのシーンに対応する条件を満たしているかを判定することによって、顔姿勢データが検出された映像のシーンを分類するように構成されていてもよい。
顔姿勢検出手段が、少なくとも一人の登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部のデータを、他の登場人物の顔に対する相対的な値として計算するように構成されていてもよい。この構成によれば、撮影される登場人物の位置関係が同様のシーンならば、そのシーンを撮影するカメラの位置等に依らず、同種のシーンとして分類することができる。
顔姿勢検出手段が、映像が動画像である場合に、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部の時間経過に伴う変化量を顔姿勢データとして検出するように構成されていてもよい。
また、本発明による映像検索装置は、複数の静止画像または動画像を検索対象となる映像として記憶する映像記憶手段と、映像記憶手段が記憶する映像における登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を用いて、映像のシーンの中から特定のシーンを検索する顔姿勢評価手段とを備えている。
映像検索装置は、映像記憶手段から読み込まれた各映像から、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして検出する顔姿勢検出手段と、顔姿勢検出手段によって検出された顔姿勢データと比較される顔姿勢データである参照顔姿勢データを予め各シーンと対応させて記憶する参照顔姿勢記憶手段と、利用者の操作に応じてシーンを指定するシーン指定手段とをさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データと、指定されたシーンに対応する参照顔姿勢データとを比較することによって、各映像のシーンの中から指定されたシーンを検索するように構成されていてもよい。この構成によれば、利用者が興味を持っているシーンと類似するシーンを検索できる。
顔姿勢検出手段は、シーンを写し出す学習用映像から参照顔姿勢データを検出し、参照顔姿勢データを、シーンと対応させて参照顔姿勢記憶手段に記憶させるように構成されていてもよい。
映像検索装置は、映像記憶手段が、各映像のシーンと対応させて、各映像における登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして記憶し、映像記憶手段から読み込まれる各顔姿勢データと比較される顔姿勢データである参照顔姿勢データを予め各シーンと対応させて記憶する参照顔姿勢記憶手段と、利用者の操作に応じてシーンを指定するシーン指定手段とをさらに備え、顔姿勢評価手段が、映像記憶手段から読み込まれる各顔姿勢データと、指定されたシーンに対応する参照顔姿勢データとを比較することによって、各映像のシーンの中から指定されたシーンを検索するように構成されていてもよい。この構成によれば、利用者が興味を持っているシーンと類似するシーンを検索できる。
映像検索装置は、映像記憶手段から読み込まれた各映像から、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして検出する顔姿勢検出手段と、特定のシーンを写し出す参照映像から、顔姿勢検出手段によって検出された顔姿勢データと比較される顔姿勢データである参照顔姿勢データを検出する参照顔姿勢検出手段とをさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データと、参照顔姿勢検出手段によって検出された参照顔姿勢データとを比較することによって、各映像のシーンの中から特定のシーンを検索するように構成されていてもよい。この構成によれば、シーン毎の参照顔姿勢データを予め定めて記憶しておく必要がない。
映像検索装置は、映像記憶手段が、各映像のシーンと対応させて、各映像における登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして記憶し、特定のシーンを写し出す参照映像から、映像記憶手段から読み込まれる各顔姿勢データと比較される顔姿勢データである参照顔姿勢データを検出する参照顔姿勢検出手段をさらに備え、顔姿勢評価手段が、映像記憶手段から読み込まれる各顔姿勢データと、参照顔姿勢検出手段によって検出された参照顔姿勢データとを比較することによって、各映像のシーンの中から特定のシーンを検索するように構成されていてもよい。この構成によれば、シーン毎の参照顔姿勢データを予め定めて記憶しておく必要がない。
映像検索装置は、映像記憶手段から読み込まれた各映像から、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして検出する顔姿勢検出手段と、検索する特定のシーンにおける顔姿勢データが満たす条件を記憶する参照条件記憶手段とをさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データの中から、参照条件記憶手段が記憶する条件を満たす顔姿勢データを検索することによって、各映像のシーンの中から特定のシーンを検索するように構成されていてもよい。
映像検索装置は、参照条件記憶手段が、各シーンにおける顔姿勢データが満たす条件を、シーン毎に記憶し、利用者の操作に応じてシーンを指定するシーン指定手段をさらに備え、顔姿勢評価手段が、顔姿勢検出手段によって検出された顔姿勢データの中から、指定されたシーンに対応する条件を満たす顔姿勢データを検索することによって、各映像のシーンの中から指定されたシーンを検索するように構成されていてもよい。この構成によれば、利用者が興味を持っているシーンと類似するシーンを検索できる。
映像検索装置は、映像記憶手段が、各映像のシーンと対応させて、各映像における登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部を顔姿勢データとして記憶し、検索する特定のシーンにおける顔姿勢データが満たす条件を記憶する参照条件記憶手段をさらに備え、顔姿勢評価手段が、映像記憶手段から読み込まれる各顔姿勢データの中から、参照条件記憶手段が記憶する条件を満たす顔姿勢データを検索することによって、各映像のシーンの中から特定のシーンを検索するように構成されていてもよい。
映像検索装置は、参照条件記憶手段が、各シーンにおける顔姿勢データが満たす条件を、シーン毎に記憶し、利用者の操作に応じてシーンを指定するシーン指定手段をさらに備え、顔姿勢評価手段が、映像記憶手段から読み込まれる各顔姿勢データの中から、指定されたシーンに対応する条件を満たす顔姿勢データを検索することによって、各映像のシーンの中から指定されたシーンを検索するように構成されていてもよい。この構成によれば、利用者が興味を持っているシーンと類似するシーンを検索できる。
顔姿勢検出手段が、少なくとも一人の登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部のデータを、他の登場人物の顔に対する相対的な値として計算するように構成されていてもよい。この構成によれば、撮影される登場人物の位置関係が同様のシーンならば、そのシーンを撮影するカメラの位置等に依らず、同種のシーンとして検索することができる。
顔姿勢検出手段が、映像が動画像である場合に、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータのうちの少なくとも一部の時間経過に伴う変化量を顔姿勢データとして検出するように構成されていてもよい。
シーンと密接に関連している顔姿勢データにより映像のシーンを検索するので、登場人物が誰であるかによらずに、映像のシーンの検索を行うことができる。
本発明は、映像をそのシーンの内容に応じて分類、認識する映像分類装置、指定されたシーン内容を含む映像をデータベースから検索する映像検索装置、大量の映像を録画、記憶しその中から利用者が必要な映像を自動的に再生、表示する映像再生表示装置、映像全体から重要と考えられる部分のみを検索、抽出することで映像を要約する映像要約装置等に適用可能である。また、本発明によりシーンが分類、検索される映像は、例えば、テレビジョン放送や映画の映像であってもよいし、あるいは写真等の静止画像であってもよい。
第1の実施の形態
図2を参照すると、本発明の第1の実施形態による映像分類装置は、映像入力部11と顔姿勢検出部12と顔姿勢評価部13と参照顔姿勢記憶部14とを備える。
映像入力部11は、シーン(場面)が分類される映像を入力する。映像入力部11が入力する映像は、静止画像であっても動画像であってもよい。映像入力部11は、映像が複数の異なるシーンを含んでいる場合に(例えば、動画像においてシーンが切り替わる場合に)、入力した映像をシーン毎に分割してもよい。顔姿勢検出部12および顔姿勢評価部13は、シーン毎に分割された映像に対して後述する処理を行ってもよい。なお、映像をシーン毎に分割する処理を、顔姿勢検出部12が行ってもよい。また、映像入力部11は、予めシーン毎に分割された映像を入力してもよい。なお、シーンの分割(分割点の検出)には様々な公知技術が利用可能であるが、一例として、特許第2839132号公報に記載の技術を利用可能である。
映像入力部11は、放送される映像信号を受信する受信装置や、映像を記憶した映像記憶装置から映像を読み込む装置などによって実現される。
顔姿勢検出部12は、シーンが分類される映像から顔姿勢データを検出する。顔姿勢データは、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータ、またはこれらのデータのうちの一部のデータである。また、映像が動画像である場合には、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータ、またはこれらのデータのうちの一部の時間経過に伴う変化量も顔姿勢データに該当する。
図3に示すように、顔姿勢検出部12は顔領域検出部21と検出部22とを含む。
顔領域検出部21は、入力された映像から人物の顔を写す部分領域(以下、顔領域と記す。)を抽出する。これには様々な公知技術が利用可能であるが、一例として、特開2003−178304号公報に記載の技術が利用可能である。同公報の段落0032には、肌色に指定した色と近い色を持つ画素を取り出して肌色領域を抽出し、さらに、髪に指定した色と近い色を持つ画素を取り出して髪領域を抽出することによって、顔領域を検出する技術が記載されている。なお、同公報に記載の技術では、画像から色情報を利用して顔領域を抽出し、その後顔パーツ抽出と人物認識を行うが、本発明においては人物認識を行う必要はなく、顔領域を抽出するだけでよい。なお、特開2003−178304号公報に記載の技術以外の他の技術によって顔領域を抽出してもよい。
顔領域検出部21は、映像中に写される登場人物が複数存在する場合、複数の顔領域を抽出する。図4(a)は、入力された映像の例を示している。図4(b)は、顔領域検出部21によって抽出された顔領域の例を示している。
検出部22は、顔領域検出部21によって検出されたそれぞれの顔領域において、映像に写っている人物の顔の姿勢(顔の位置や向き)を、人物が誰であるかに関係なく検出する。顔の姿勢を検出する処理には、顔の姿勢を検出する公知の方法を適用すればよい。例えば、一例として「石山塁、外2名、“3Dアピアランスモデルを用いた高速・高精度な顔姿勢推定”、2004年電子情報通信学会総合大会予稿集、D−12−99(以下、文献1と記す。)」に記載の顔姿勢推定技術を利用可能である。この文献1に記載の顔姿勢推定技術は、任意の姿勢および照明条件における顔画像を生成できる3次元見えモデルを使って、顔画像から顔の3次元的な位置・姿勢を求める技術である。文献1に記載の技術が用いている「任意の姿勢および照明条件における顔画像を生成できる3次元見えモデル」については、「石山塁、外2名、“3D物体表面上での見えモデル構築による姿勢と照明の変動に頑強な顔照合”、情報処理学会研究報告、2003-CVIM-139、2003年7月4日、pp. 61-68(以下、文献2と記す。)」に記載されている。もし、映像における登場人物が誰であるかが既知であり、その人物の3次元顔形状データを入手可能である場合には、文献1および文献2に記載の技術そのまま本発明に用いることができる。しかし、本発明では、登場人物が未知であり、登場人物の3次元形状データも入手できない場合にも顔の位置と姿勢の推定を可能とするために次のような技術を利用する。すなわち、人間の顔の平均的な3次元形状データと顔表面各点の輝度画像を用意しておき、これらを用いて文献2に記載の技術により、平均的な顔の任意の姿勢・照明条件における画像を生成可能なモデル(平均顔モデル)を生成する。この平均顔モデルを文献1に記載の技術において利用することにより、映像における登場人物が未知であっても、顔の位置と姿勢を推定することが可能になる。
ここにあげた検出部22に利用可能な技術はあくまで一例であり、他の技術によって顔の姿勢を検出してもよい。例えば、特開2003−281549号公報の段落0038、0039に記載の技術によって顔の姿勢を検出してもよい。
検出部22は、入力された映像が動画像である場合には、各フレームの画像毎にこの姿勢推定処理を行い、時系列の顔姿勢データを得る。フレームは、動画像に含まれる静止画像である。例えば、NTSC(National Television System Committee)の規格に従う映像信号では、1秒間に30の静止画像が伝達される。この例では、1/30秒毎に伝送される各静止画像がフレームとなる。
また、検出部22は、登場人物が複数存在する場合には、各登場人物の顔の姿勢をそれぞれ検出し、人数(すなわち顔の数)と各登場人物の顔姿勢をまとめて顔姿勢データとする。また、検出部22は、各登場人物の顔の大きさを検出し、顔の大きさのデータを顔姿勢データに含めてもよい。
図4(C)は、検出部22によって検出された顔姿勢データの例を示している。図4(C)において、座標(x1,y1),(x2,y2)は、顔の位置を示す。また、ベクトルR1,R2は、顔の向きを示す。また、z1,z2は、顔の大きさを示す値である。
また、入力される映像が動画像でシーン毎の分割がされていない場合、顔姿勢検出部12に含まれる検出部22がシーン分割処理を行うことも可能である。例えば、検出部22が検出した時系列の姿勢データに対し、検出部22がフレーム毎に差分を計算し、姿勢データの差分が大きいフレーム(一例として、登場人物の数が変化する、顔の位置や向きが大きく変化しているフレーム)があればそこでシーンを分割する。顔姿勢評価部13は、差分が大きく変化するフレームの直前までのフレームに対して、後述する処理(後述の類似度を計算する処理)を行えばよい。
参照顔姿勢記憶部14は、分類の区分となる各種シーン毎に、シーンと対応させて顔姿勢データを予め記憶する記憶装置である。参照顔姿勢記憶部14に記憶された顔姿勢データは、顔姿勢検出部12で検出された顔姿勢データと比較され、顔姿勢検出部12で検出された顔姿勢データがどの区分のシーンに分類するのかを判定するために用いられる。以下、シーンの分類対象となる映像から検出された顔姿勢データと比較される顔姿勢データを、シーンの分類対象となる映像から検出された顔姿勢データと区別して、参照顔姿勢データと記す。本実施形態において、参照顔姿勢データは、顔姿勢検出部12により顔姿勢データが検出された映像のシーンを、どの区分のシーンに分類するのかを判定するために用いられる。
参照顔姿勢記憶部14に参照顔姿勢データを記憶させる態様として、例えば、以下の態様がある。分類の区分となる各種シーンそれぞれについて予め用意された映像(以下、学習用映像と記す。)を入力する。そして、顔姿勢検出部12が、学習用映像から参照顔姿勢データを検出し、学習用映像のシーンと対応させて参照顔姿勢記憶部14に記憶させる。このとき、例えば、映像入力部11が学習用映像を入力してもよい。この場合、映像入力部11が、学習用映像入力手段としての役割も果たす。また、映像入力部11とは別個に、学習用映像を入力する学習用映像入力手段を備えていてもよい。
また、学習用映像を入力して、学習用映像から参照顔姿勢データを検出するのではなく、予め人手によって各シーンに対応する参照顔姿勢データを決定し、シーンと対応させてその参照顔姿勢データを参照顔姿勢記憶部14に記憶させてもよい。
顔姿勢評価部13は、シーンが分類される映像から検出された顔姿勢データと、参照顔姿勢記憶部14に記憶されている各参照顔姿勢データとの類似度を計算する。顔姿勢評価部13は、顔姿勢データが検出された映像(すなわち入力された映像)のシーンを、その顔姿勢データとの類似度が最も高い参照顔姿勢データに対応するシーンとして分類する。そして、入力された映像のシーンが、どのシーンに分類されたのかを、シーン分類結果51として出力する。シーン分類結果51の出力態様として、例えば、分類した各シーンをディスプレイ装置に表示してもよい。また、例えば、分類した各シーンを記憶装置に記憶させてもよい。この場合、記憶させた各シーンを後で再生してディスプレイ装置に表示させてもよい。
顔姿勢データのパラメータの設定と類似度の計算には様々な手法が利用可能である。一例としては、画像上での顔の位置(x,y)と顔の大きさzを要素とする3次元ベクトルTと、顔の向きを表す3次元方向ベクトルR(この例では顔向き方向を軸とした回転は無視する)を合わせて顔姿勢データとして用いる。映像の第tフレーム(静止画像の場合パラメータtは不要)の顔姿勢データのうち、顔の位置および大きさを要素とする3次元ベクトルをTq(t)と表す。また、映像の第tフレームの顔姿勢データのうち、顔の向きを表す3次元ベクトルをRq(t)と表す。ただし、Tq(t)、Rq(t)のノルムは1である。また、分類の区分となる各種シーンのうちの一つをシーンiとする。シーンiに対応する参照顔姿勢データのうち、顔の位置および大きさを要素とする3次元ベクトルをTi(t)と表す。シーンiに対応する参照顔姿勢データのうち、顔の向きを表す3次元ベクトルをRi(t)と表す。この場合、入力された映像のシーンと、シーンiとの類似度は、例えば、以下の式1によって得られる重み付き和の逆数として表すことができる。
式1において、a,bは、それぞれ顔の位置および大きさと、顔の向きのどちらをどの程度重視して類似度を決定するのかを定める重み定数であり、ともに任意に定めることができる。なお、式1におけるR
q(t)・R
i(t)は、ノルム1のベクトルの内積なので−1から+1の値をとる。
ここでは、式1の逆数を類似度とする場合を示したが、式1は、類似度の算出するための式の一例である。顔の位置や向きのパラメータと類似度の計算式は様々に変更可能である。すなわち、類似度の計算式は特定の式に限定されるわけではない。また、この例のように類似度を数値として計算するのではなく、顔姿勢データを特徴量として用いることによりシーン分類毎のクラス分けを行うパターン認識の様々な手法を適用することも可能である。
顔領域検出部21と検出部22とを含む顔姿勢検出部12および顔姿勢評価部13の処理は、例えば、プログラムに従って動作するコンピュータのCPUによって実行される。顔姿勢検出部12および顔姿勢評価部13の処理は、同一のCPUによって実行されていてもよい。
図5は、第1の実施形態の映像分類装置の動作を示すフローチャートである。ここでは、予めシーン毎に分割された映像が入力され、入力された映像のシーンがどのシーンに分類されるのかを判定するものとする。ステップ101に、映像入力部11は、シーンの分類対象となる映像を映像分類装置にデータとして取り込む。ステップ102に、顔姿勢検出部12における顔領域検出部21が、ステップ101で入力された映像中に写っている登場人物の顔の領域を検出する。このとき、顔領域検出部21は、登場人物が複数写っている場合には、各登場人物に対応させて複数の顔領域を検出する。ステップ103に、顔姿勢検出部12における検出部22が、検出された各顔領域において、顔の位置および姿勢の検出を行う。このとき、顔の大きさのデータを検出してもよい。検出部22は、以上により検出された登場人物の数、それぞれの顔の位置、向き、大きさ、あるいはこれらのデータのうちの一部を顔姿勢データとして顔姿勢評価部13に渡す。顔姿勢評価部13は、ステップ104に、分類の区分となる各シーンに対応する参照顔姿勢データを参照顔姿勢記憶部14から読み出す。続いて、顔姿勢評価部13は、ステップ105に、顔姿勢データをそれぞれの参照顔姿勢データと比較して類似度を計算し、参照顔姿勢データに対応する各シーンのうち、入力された映像のシーンと最も類似度が高いシーンを特定する。そして、顔姿勢評価部13は、ステップ106に、入力された映像のシーンは、最も類似度が高いシーンとして特定されたシーンと同種のシーンであると分類し、入力された映像のシーンがどのシーンに分類されたのかを、シーン分類結果51として出力する。
本実施形態では、登場人物が誰であるかを認識するのではなく、映像シーンの内容と密接に関連している登場人物の顔姿勢データを検出しこれを用いて、入力された映像のシーンを分類する。したがって、映像中の登場人物が誰であるかに関係なく映像シーンの内容に基づいて映像を分類することができる。
次に、第1の実施形態の変形例について説明する。図6は第1の変形例を示すブロック図である。本変形例では、図2に示す参照顔姿勢記憶部14の代わりに、参照条件記憶部15を備えている。参照条件記憶部15は、分類の区分となる各種シーン毎に、シーンと対応させて、そのシーンでの顔姿勢データが満たす条件を記憶する記憶装置である。すなわち、参照顔姿勢記憶部14が顔姿勢データを記憶するのに対し、参照条件記憶部15は、各シーンでの顔姿勢データが満たす条件を記憶する。このような構成の場合、顔姿勢評価部13は、ステップ104で、各シーンでの顔姿勢データが満たす条件を参照条件記憶部15から読み出す。そして、顔姿勢評価部13は、ステップ105で、検出部22から渡された顔姿勢データ(すなわち入力された映像から検出された顔姿勢データ)が、どのシーンに対応する条件を満たしているかを判定する。すなわち、顔姿勢評価部13は、ステップ104で読み出した各条件のうち、顔姿勢データが満たしている条件を特定し、入力された映像のシーンは、その条件に対応するシーンに分類されると判定する。そして、入力された映像のシーンがどのシーンに分類されたのかを、シーン分類結果51として出力する。
図7は第2の変形例を示すである。本変形例は、図2に示す参照顔姿勢記憶部14の代わりに、参照映像を入力する参照映像入力部16と、参照映像から参照顔姿勢データを検出する参照顔姿勢検出部17を備える。参照顔姿勢検出部17は、顔姿勢検出部12が分類対象となる映像から顔姿勢データを検出するのと同様に、参照映像から参照顔姿勢データを検出すればよい。また、顔姿勢評価部13は、シーンの分類対象となる映像から検出された顔姿勢データと、参照映像から検出された参照顔姿勢データとの類似度を判定する。そして、顔姿勢評価部13は、その類似度に基づいて、分類対象となる映像のシーンが、参照映像が写し出す特定のシーンと同種のシーンであるか否かを判定する。類似度が、予め定められた閾値以上であるならば、分類対象となる映像のシーンを、参照映像が写し出す特定のシーンと同種のシーンとして分類する。類似度が閾値未満であるならば、分類対象となる映像のシーンを、参照映像が写し出す特定のシーンとは異なるシーンとして分類する。
この変形例では、予めシーン毎に参照顔姿勢データを記憶装置に記憶させておく必要がない。利用者は参照映像を入力するだけで、映像入力部11に入力された映像のシーンを、参照映像と同種のシーンおよび参照映像とは異なるシーンに分類することができる。
なお、参照映像入力部16は、例えば、参照映像を記憶した参照映像記憶装置から参照映像を読み込む装置などによって実現される。参照顔姿勢検出手段17の処理は、例えば、プログラムに従って動作するコンピュータのCPUによって実行されるものでもよい。
また、第1の実施形態において、登場人物が複数存在する場合、顔姿勢検出部12における検出部22は、ある一人の登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算してもよい。例えば、二人の顔が互いに向き合っている場合、一人の顔から、もう一人の顔に向かうベクトルを、顔の向きとして計算してもよい。
顔姿勢データを他の登場人物に対する相対的な値として計算する登場人物は、一人であってもよい。また、登場人物全員あるいは登場人物の一部について、顔姿勢データを他の登場人物に対する相対的な値として計算してもよい。
登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算する態様として、例えば、以下のような態様が挙げられる。例えば、ある基準となる登場人物(登場人物Aとする。)を定めておき、他の全ての登場人物(登場人物B、C、D、・・・とする。)の顔姿勢データを、基準となる登場人物Aに対する相対的な値として定めてもよい。また、顔姿勢データを計算する登場人物毎に、基準となる人物を変更してもよい。例えば、登場人物として、A〜Dの4人が映像中に表れるとする。このとき、登場人物Aの顔姿勢データを計算するときには、登場人物Bに対する相対的な値として計算し、登場人物Cの顔姿勢データを計算するときには、登場人物Dに対する相対的な値として計算してもよい。
顔姿勢データのうち、顔の位置を他の登場人物(基準となる登場人物)に対する相対的な値として計算する場合、例えば、基準となる人物の顔の位置が原点となる座標系における顔の位置座表を計算すればよい。
顔姿勢データのうち、顔の大きさを他の登場人物(基準となる登場人物)に対する相対的な値として計算する場合、例えば、基準となる人物の顔の大きさを1(1でなくてもよい。)とした場合における顔の大きさを計算すればよい。
顔姿勢データのうち、顔の向きを他の登場人物(基準となる登場人物)に対する相対的な値として計算する場合、例えば、基準となる人物の顔の向きのベクトルと、顔姿勢データを計算している登場人物の顔の向きのベクトルとの角度を計算し、その角度を、顔の向きの相対的な値とすればよい。
一般に、顔の位置や向き等を検出する場合、顔の位置や向き等は、登場人物とは独立なある特定の座標系における絶対的な値として計算される。この座標系は、例えば、撮影しているカメラの位置や向きを基準とする場合が多い。このような場合、例えば、撮影される登場人物の顔の向きが同じシーンであっても、登場人物を撮影するカメラの位置や向きが異なる場合には、異なる顔の位置や向きが検出されることになる。この結果、撮影される登場人物の顔の向きが同じシーンであっても、同種のシーンとして分類できない。
しかし、顔の位置、大きさ、および向きまたはこれらデータの一部を、他の登場人物の顔に対する相対的な値として計算する場合には、計算される値は、カメラの位置や向きに依らない。したがって、撮影される登場人物の位置関係が同様のシーンならば、そのシーンを撮影するカメラの位置等に依らず、同種のシーンとして分類することができる。この場合も基準とする人物を誰にするかによって、計算値が異なってくるが、例えば、基準となる人物を任意に換えて計算し直せば、同種のシーンであるかどうかを用意に判定することができる。
第2の実施形態
第2の実施形態による映像検索装置は、指定されたシーンと同種のシーンを写す映像を映像データベースから検索するもので、図8に示すように、図2に示す第1の実施の形態の構成に加えて、映像データベース18とシーン指定部19とを備えている。
映像データベース18は、検索対象となる様々な映像を記憶する記憶装置である。映像データベース18が記憶する映像は、複数の静止画像や動画像である。
映像入力部11は、映像データベース18に記憶されている検索対象となる各映像(映像群)を読み取り、顔姿勢検出部12に渡す。
顔姿勢検出部12は、映像入力部11を介して、映像データベース18に記憶されている各検索対象映像を読み込む。そして、顔姿勢検出部12は、読み込んだ各検索対象映像から、登場人物の顔姿勢データを検出する。顔姿勢検出部12が、各検索対象映像から顔姿勢データを検出する処理は、第1の実施の形態で示した顔姿勢検出部12が顔姿勢データを検出する処理と同様である。顔姿勢検出部12は、各映像から検出した各顔姿勢データ(顔姿勢データ群)を顔姿勢評価部13に渡す。
シーン指定部19は、各種シーンの中から、利用者の操作に応じてシーンを指定する。シーン指定部19は、例えば、キーボードやマウス等のユーザインタフェース機器およびプログラムに従って動作するCPUによって実現されてもよい。
参照顔姿勢記憶部14は、第1の実施の形態と同様に、各種シーン毎に、シーンと対応させて参照顔姿勢データを予め記憶する。参照顔姿勢記憶部14に参照顔姿勢データを記憶させる態様も第1の実施の形態と同様である。すなわち、学習用映像入力手段(図示せず)が学習用映像を入力し、顔姿勢検出部12が、学習用映像から参照顔姿勢データを検出し、学習用映像のシーンと対応させて参照顔姿勢記憶部14に記憶させてもよい。また、予め人手によって各シーンに対応する参照顔姿勢データを決定し、シーンと対応させてその参照顔姿勢データを参照顔姿勢記憶部14に記憶させてもよい。参照顔姿勢記憶部14は、シーン指定部19が指定したシーンに対応する参照顔姿勢データを顔姿勢評価部13に渡す。この結果、顔姿勢評価部13はシーン指定部19が指定したシーンに対応する参照顔姿勢データを読み込む。
顔姿勢評価部13は、各検索対象映像から検出された各顔姿勢データ毎に、参照顔姿勢記憶部14からの参照顔姿勢データとの類似度を計算する。顔姿勢評価部13による類似度の計算は、例えば、第1の実施の形態で示した類似度の計算と同様に行えばよい。ただし、既に説明したように、類似度の計算に用いる式は特定の式に限定されるわけではない。顔姿勢評価部13は、算出した類似度が予め定めた閾値以上の場合には、顔姿勢データが検出された映像のシーンは、指定されたシーンと同種のシーンであると判定する。また、算出した類似度が閾値未満の場合には、顔姿勢データが検出された映像のシーンは、指定されたシーンとは異なるシーンであると判定する。顔姿勢評価部13は、各検索対象映像から検出された各顔姿勢データ毎に参照顔姿勢データとの類似度の判定を行い、指定されたシーンと同種のシーンと判定されたシーンを検索結果52として出力する。検索結果52の出力態様として、例えば、検索したシーンをディスプレイ装置に表示してもよい。また、例えば、検索したシーンを記憶装置に記憶させてもよい。この場合、記憶させたシーンを後で再生してディスプレイ装置に表示させてもよい。
本実施形態では、映像データベース18に蓄積されている多種多様な映像から、利用者の指定した映像シーンについて予め設定された参照顔姿勢データと登場人物の顔の位置や姿勢が類似した映像を抽出するように構成されている。従って、映像シーンの内容が類似している映像を検索することができる。
なお、第1の実施形態と同様に、顔姿勢検出部12は、映像が動画像である場合には、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータ、またはこれらのデータのうちの一部の時間経過に伴う変化量を顔姿勢データとして顔姿勢評価部13に渡してもよい。
また、登場人物が複数存在する場合、顔姿勢検出部12は、ある一人の登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算してもよい。例えば、二人の顔が互いに向き合っている場合、一人の顔から、もう一人の顔に向かうベクトルを、顔の向きとして計算してもよい。登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算する場合、第1の実施形態と同様に計算すればよい。
既に説明したように、顔の位置、大きさ、および向きまたはこれらデータの一部を、他の登場人物の顔に対する相対的な値として計算する場合には、計算される値は、カメラの位置や向きに依らない。従って、撮影される登場人物の位置関係が同様のシーンならば、そのシーンを撮影するカメラの位置等に依らず、同種のシーンとして検索することができる。顔姿勢データを他の登場人物に対する相対的な値として計算しない場合には、撮影される登場人物の位置関係が同様のシーンであったとしても、カメラの位置や向きによって、異なるシーンと判定され、検索対象から外される場合がある。
次に、第2の実施形態の変形例について説明する。図9は、第2の実施形態の第1の変形例を示すブロック図である。図8に示す構成では、映像データベース18が各検索対象映像を記憶し、顔姿勢検出部12がその各検索対象映像から顔姿勢データを検出する。これに対し、図9に示す変形例では、映像データベース18は、各検索対象映像と対応させて、予め各索対象映像における顔姿勢データを記憶しておく。データ入力部30は、映像データベース18から、各検索対象映像に対応する顔姿勢データ(顔姿勢データ群)を読み取り、顔姿勢評価部13に渡す。顔姿勢評価部13は、データ入力部30を介して、映像データベース18に記憶されている顔姿勢データ群を読み込む。また、顔姿勢評価部13は、既に説明した場合と同様に、シーン指定部19が指定したシーンに対応する参照顔姿勢データを参照顔姿勢記憶部14から読み込む。顔姿勢評価部13は、各顔姿勢データ毎に、参照顔姿勢記憶部14からの参照顔姿勢データとの類似度を計算する。以降の動作は、図8に示す実施形態の場合と同様である。また、シーン指定部19および参照顔姿勢記憶部14の動作も、図8に示す構成の場合と同様である。
図10は、第2の実施形態の第2の変形例を示すブロック図である。図10に示す変形例は、図8に示すシーン指定部19および参照顔姿勢記憶部14の代わりに参照条件記憶部31を備える。本変形例における参照条件記憶部31は、特定のシーンと対応させて、その特定のシーンでの顔姿勢データが満たす条件を記憶する記憶装置である。この構成の場合、顔姿勢評価部13は、図8に示す構成の場合と同様に、顔姿勢検出部12から顔姿勢データ群を渡される。また、顔姿勢評価部13は、参照条件記憶部31から特定のシーンで顔姿勢データが満たす条件を読み込む。そして、顔姿勢評価部13は、顔姿勢検出部12から渡された顔姿勢データのうち、参照条件記憶部31から読み込んだ条件を満足する顔姿勢データを抽出する。顔姿勢評価部13は、その顔姿勢データが検出された映像のシーンを検索結果52として出力する。
図11は、第2の実施形態の第3の変形例を示すブロック図である。本変形例は、図10に示す変形例にシーン指定部19を追加した構成となっている。本変形例における参照条件記憶部31は、各種シーン毎に、シーンと対応させて、そのシーンでの顔姿勢データが満たす条件を記憶する記憶装置である。シーン指定部19は、各種シーンの中から、利用者の操作に応じてシーンを指定する。参照条件記憶部31は、シーン指定部19が指定したシーンに対応する条件を顔姿勢評価部13に渡す。この結果、顔姿勢評価部13は、シーン指定部19が指定したシーンに対応する条件を読み込む。顔姿勢評価部13は、顔姿勢検出部12から渡された顔姿勢データのうち、参照条件記憶部31から渡された条件を満足する顔姿勢データを抽出する。顔姿勢評価部13は、その顔姿勢データが検出された映像のシーンを検索結果52として出力する。
図10、図11に示す変形例において、映像データベース18、映像入力部11および顔姿勢検出部12の動作は、図8に示す構成の場合と同様である。また、図10、図11に示す変形例において、映像データベース18が各検索対象映像と対応させて、予め各索対象映像の顔姿勢データを記憶していてもよい。そして、映像入力部11および顔姿勢検出部12の代わりに、図9に示す構成と同様のデータ入力部30を備えていてもよい。この場合、顔姿勢評価部13は、データ入力部30を介して、映像データベース18に記憶されている顔姿勢データ群を読み込めばよい。
第3の実施形態
第3の実施形態は、入力した参照映像のシーンと同種のシーンを写す映像を映像データベースから検索する映像検索装置で、図12に示すように、図8に示す第2の実施の形態におけるシーン指定部19および参照顔姿勢記憶部14の代わりに、参照映像入力部41と参照顔姿勢検出部42とを備える。映像データベース18、映像入力部11、顔姿勢検出部12および顔姿勢評価部13の動作は、第2の実施の形態と同様である。
参照映像入力部41は、特定のシーンを写し出す参照映像を入力する。参照映像入力部41に入力される参照映像は利用者によって選択される。すなわち、利用者が検索したいと考える特定のシーンを写す映像が利用者に選択され、参照映像入力部41には、利用者によってその参照映像が入力される。
参照顔姿勢検出部42は、参照映像入力部41が入力した参照映像から、その参照映像における登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータ、またはこれらのデータうちの一部のデータを参照顔姿勢データとして検出する。参照顔姿勢検出部42が参照顔姿勢データを検出する処理は、顔姿勢検出部12が顔姿勢データを検出する処理と同様である。参照顔姿勢検出部42は、検出した参照顔姿勢データを顔姿勢評価部13に渡す。
映像入力部11は、映像データベース18に記憶されている検索対象となる各映像(映像群)を読み取り、顔姿勢検出部12に渡す。顔姿勢検出部12は、映像入力部11を介して、映像データベース18に記憶されている映像群を読み込む。そして、顔姿勢検出部12は、読み込んだ各検索対象映像から、登場人物の顔姿勢データを検出し、各顔姿勢データ(顔姿勢データ群)を顔姿勢評価部13に渡す。
顔姿勢評価部13は、各検索対象映像から検出された顔姿勢データ毎に、参照顔姿勢検出部21からの参照顔姿勢データとの類似度を計算する。この類似度の計算は、第2の実施形態と同様である。顔姿勢評価部13は、算出した類似度が予め定めた閾値以上の場合には、顔姿勢データが検出された映像のシーンは、参照映像が写し出す特定のシーンと同種のシーンであると判定する。また、算出した類似度が閾値未満の場合には、顔姿勢データが検出された映像のシーンは、参照映像が写し出す特定のシーンとは異なるシーンであると判定する。顔姿勢評価部13は、各検索対象映像から検出された各顔姿勢データ毎に参照顔姿勢データとの類似度の判定を行い、参照映像が写し出す特定のシーンと同種のシーンと判定されたシーンを検索結果52として出力する。検索結果52の出力態様は、第2の実施形態と同様である。
本実施形態では、利用者がある参照映像を装置に入力すると、それと同じシーンに相当する映像をデータベースから検索するように構成されている。従って、予め、検索対象となるシーン分類を定義し、それぞれについて参照顔姿勢データを設定しておく必要がなく、利用者は検索したい映像シーンに相当する映像を入力するだけで、同様のシーン内容の映像を検索することができる。
なお、第1の実施形態と同様に、顔姿勢検出部12は、映像が動画像である場合には、登場人物の顔の数、各登場人物の顔の位置、大きさおよび向きのデータ、またはこれらのデータうちの一部の時間経過に伴う変化量を顔姿勢データとして顔姿勢評価部13に渡してもよい。
また、登場人物が複数存在する場合、顔姿勢検出部12は、ある一人の登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算してもよい。例えば、二人の顔が互いに向き合っている場合、一人の顔から、もう一人の顔に向かうベクトルを、顔の向きとして計算してもよい。登場人物の顔姿勢データを、他の登場人物に対する相対的な値として計算する場合、第1の実施形態と同様に計算すればよい。第2の実施形態と同様に、顔姿勢データを他の登場人物に対する相対的な値として計算した場合には、撮影される登場人物の位置関係が同様のシーンならば、そのシーンを撮影するカメラの位置等に依らず、同種のシーンとして検索することができる。
次に、第3の実施形態の変形例について説明する。図13は、第3の実施形態の変形例を示すブロック図である。図12に示す構成では、映像データベース18が各検索対象映像を記憶し、顔姿勢検出部12がその各検索対象映像から顔姿勢データを検出する。これに対し、図13に示す変形例では、映像データベース18は、各検索対象映像と対応させて、予め各索対象映像の顔姿勢データを記憶しておく。データ入力部30は、映像データベース18から、各検索対象映像に対応する顔姿勢データ(顔姿勢データ群)を読み取り、顔姿勢評価部13に渡す。顔姿勢評価部13は、データ入力部30を介して、映像データベース18に記憶されている顔姿勢データ群を読み込む。顔姿勢評価部13は、顔姿勢データ毎に、参照顔姿勢検出部42からの参照顔姿勢データとの類似度を計算する。以降の動作は、図12に示す構成の場合と同様である。また、参照映像入力部41および参照顔姿勢検出部42の動作も、図12に示す構成の場合と同様である。
第4の実施形態
第4の実施形態として、テレビジョン放送で受信する番組映像を、シーンに応じて分類する映像分類装置について説明する。本実施形態は、図6に示す第1の実施形態の変形例に相当する。図14を参照すると、第4の実施形態の映像分類装置は、テレビジョン放送を受信する受信装置61と、処理を行うコンピュータ71と、参照条件記憶装置81とを備える。
受信装置61は、図6の映像入力部11に相当する。参照条件記憶装置81は、図6の参照条件記憶部15に相当する。
コンピュータ71は、CPU72と、記憶装置73と、受信装置61とのインタフェース74と、参照条件記憶装置81とのインタフェース75と、ディスプレイ装置76とを備える。なお、ユーザが操作するユーザインタフェースとなるキーボードやマウス等を備えていてもよい。CPU72は、記憶装置73が記憶する映像分類プログラムに従って動作する。インタフェース74は、受信装置61から映像信号を受信する。インタフェース75は、参照条件記憶装置81との間でデータを送受信する。映像分類プログラムに従って動作する。
なお、図14に示す構成は、映像分類装置の構成の一例であり、映像分類装置は他の構成であってもよい。例えば、受信した映像を処理するのではなく、映像記憶装置(不図示)に記憶(例えば録画)されている映像に対してシーン毎の分類処理を行う構成であってもよい。この場合、映像記憶装置が、映像入力部11として機能し、記憶されている映像を読み込み、その映像をコンピュータ71に送信する。このような構成の場合には、受信装置61は不要である。また、映像記憶装置と参照条件記憶装置81とを同一の装置として実現してもよい。
受信装置61は、テレビ放送信号を受信し、その信号をコンピュータで処理可能な映像のデジタルデータに変換し、コンピュータ71に送信する。CPU72は、その映像のデジタルデータを受信し、入力された映像のデジタルデータから顔姿勢データを検出する。
本例では、顔姿勢データを次のパラメータで記述する。ただし、顔姿勢データの記述の仕方は、以下に示す場合に限定されるわけではない。登場人物の顔の数をnとする。登場人物jの顔の位置を座標により(xj,yj)と表す。同様に、登場人物jの顔の大きさをzjと表す。また、登場人物jの顔の向きベクトルをRjと表す。他の登場人物(例えばjとする)のパラメータも添え字jを用いて同様に表す。
例えば、CPU72は、映像の中で顔姿勢データのフレーム間変化量が予め定めた閾値を超えるフレームをカット点として検出し、シーン毎に映像を分割する。向きベクトルの変化量は、一例として2つのベクトルのなす角度で評価する。それぞれの変化量の閾値の一例として、nの変化量は1、位置を表すx,yおよび顔の大きさを表すzの変化量はそれぞれ画像の大きさの10%、顔の向きベクトルの変化量は20°等のように定めておく。この場合、登場人物の顔の数nが1変化したならば、その時点で映像を分割する。また、x座標であるxjが、ディスプレイ装置76の表示領域の横幅の10%以上変化したならば、その時点で映像を分割する。同様に、y座標であるyjが、ディスプレイ装置76の表示領域の縦方向の長さの10%以上変化したならば、その時点で映像を分割する。また、顔の大きさを表すzjが、ディスプレイ装置76の表示領域の面積の10%以上変化したならば、その時点で映像を分割する。なお、顔の大きさとして、顔の幅を用いてもよい。この場合、顔の幅zjが、ディスプレイ装置76の表示領域の横幅の10%以上変化したならば、その時点で映像を分割する。また、顔の向きベクトルが20°以上変化したならば、その時点で映像を分割する。ここで挙げた分割の仕方は例示であり、映像の内容により、他の基準で映像を分割してもよい。
参照条件記憶装置81は、各シーンでの顔姿勢データが満たす条件を記憶する。本例では、「キャスターがニュースを読み上げているシーン(以下、シーンAと記す。)」、「レポータによる現場からの報告シーン(以下、シーンBと記す。)」、「キャスターとニュース解説者とのやりとりのシーン(以下、シーンCと記す。)」それぞれに対応させて、シーンA、シーンB、シーンCでの顔姿勢データが満たす条件を記憶しているものとする。
図15(a)、15(b)、15(c)はそれぞれシーンA、シーンB、シーンCの例を示している。これらのシーンの映像は、出演者が誰であるかにかかわらず、それぞれ典型的な顔の位置(大きさがほぼ同じとなることもある。)と向きで画面に写っている。従って、映像から登場人物の顔の位置と向きを抽出し(大きさも抽出してもよい)、これを用いて映像を分類することにより、それぞれのシーンの内容に応じた分類が可能となる。顔姿勢データの満たす条件の一例を以下に示す。シーンAは、登場人物が一人で顔がほぼ中央付近にあり顔の大きさは相対的に大きいという特徴がある。シーンBは、顔が正面向きであるが大きさがシーンAの場合に比べ半分程度であり画面の中央にないという特徴がある。シーンCは、複数名の登場人物がおり顔の向きは互いに向き合っているという特徴がある。参照条件記憶装置81は、これらの特徴を表す顔姿勢データの条件を記憶する。このような条件を表す条件式の一例として、例えば次式の条件を使用する。ただし、正面向きの向きベクトルをFとする。また、顔の大きさは、顔の幅によって表し、ディスプレイ装置76の表示領域の横幅をsと表すものとする。
シーンAに対応する条件は、例えば、以下のように表される。なお、登場人物は一人なので、顔の向きのベクトルRや顔の大きさを表すzは、添え字を付けずに表している。また、cos−1は逆余弦関数(アークコサイン)である。
n=1 かつ cos−1(F・R)<20° かつ z>0.2・s
シーンBに対応する条件は、例えば、以下のように表される。
n=1 かつ cos−1(F・R)<20° かつ z<0.2・s
シーンCに対応する条件は、例えば、以下のように表される。なお、登場人物のうちの一人を登場人物iとし、他の一人を登場人物jとする。
n≧2 かつ ある登場人物i,jの組についてcos−1(Ri・Rj)<20°
参照条件記憶装置81が記憶する他の条件の例について説明する。上記のシーンA〜シーンCの例において、映像が動画像の場合には、映像のシーンの各時刻での顔姿勢データが、シーンA〜シーンCの条件を満たすか否かを判定することになる。映像が動画像の場合、各時刻毎の顔姿勢データについて判定するのではなく、各フレーム間での顔姿勢データの変動量に基づいてシーンを分類することもできる。以下、この場合について説明する。本例では、ボクシング等の格闘技の試合映像において、「膠着状態のシーン(以下、シーンDと記す。)」、「KOシーンや決定的パンチが当たったシーン(以下、シーンEと記す。)」、「距離をつめての打ち合いシーン(以下、シーンFと記す。)」それぞれに対応させて、シーンD、シーンE、シーンFにおける条件を記憶する。この条件は、時間経過に伴う登場人物の顔姿勢データの変化量が満たす条件である。
シーンDは、2名の対戦者が互いに向き合って一定の距離を保っているシーンであり、両者の相対的な顔の向きが正反対で顔の大きさに対する両者の顔の距離がほぼ一定であるという特徴がある。シーンEは、顔の向きが激しく変化し、お互いに向き合った状態ではなくなるという特徴がある。シーンFは、顔の大きさに対する両者の顔の距離が極めて小さくなるという特徴がある。以上のような条件を表す条件式の一例として、例えば次式の条件を使用する。ただし、シーン中で顔の大きい順に2名の登場人物を抽出した場合における、時刻tでの2名の顔の距離をd(t)とする。また、顔の大きさの平均値をf(t)とし、2名の登場人物の顔の向きの単位ベクトルをそれぞれR1(t),R2(t)とする。また、処理するフレーム間の時刻の差をpとする。例えば、NTSCの規格に従う場合、各フレームについて条件を満たすかどうかを判定する場合には、p=1/30秒となる。また、いくつかのフレームを間引いて、数フレーム毎に条件を満たすかどうかを判定する場合には、pは1/30秒よりも大きくなる。ここでは、NTSCの規格に従う場合を例示したが、動画像はNTSCの規格に従っていなくてもよい。
シーンDに対応する条件は、例えば、以下のように表される。
任意の時刻t>pにおいて |d(t)−d(t−p)|<f(t)かつd(t)>3.0・f(t)かつR1(t)・R2(t)<−cos20°
シーンEに対応する条件は、例えば、以下のように表される。ただし、max(m,n)はmとnのうち大きい方の値を表すものとする。
ある時刻tについて、max(|cos−1(R1(t)・R1(t−p))|,|cos−1(R2(t)・R2(t−p))|)>45°かつ|cos−1(R1(t),R2(t))|>30°
シーンFに対応する条件は、例えば、以下のように表される。
任意の時刻t>pにおいて |d(t)−d(t−p)|<f(t)かつd(t)<3.0・f(t)
以上に示したシーンA〜シーンCにおける条件やシーンD〜シーンFにおける条件は例示であり、上記の条件に限定されるわけではない。より高精度な分類のために上記以外の条件を用いてもよい。
CPU72は次に、入力された映像の各フレームの顔姿勢データが、上記に例示した各条件のうち、どの条件を満足しているかを判定し、各フレームがどのシーンに分類されるかを判定する。本実施形態では動画像を対象としているので、映像の各フレーム画像から検出された顔姿勢データに対し、例示した各条件のいずれかが成立するかどうかを判定し、映像に含まれる全フレームの90%以上のフレーム画像の顔姿勢データが同一の条件を満たしている場合に、その映像全体を、その条件に応じたシーンに該当すると判定してもよい。ここで説明した条件式や判定基準となる全フレームに対する割合(90%)は例示であり、様々に変更可能である。
本実施形態では、例えば、一日に放送される全ニュース番組映像に対して上述したシーン分類を自動的に行って、シーンの区分毎に各シーンを記憶装置に記憶させておいてもよい。そして、一日に起きたニュースに関する様々な解説者のコメントを視聴したい場合には、シーンCとした分類したシーンを再生してディスプレイ装置に表示させればよい。この結果、視聴者は、その日に放送される多数のニュース番組をすべて見る必要がなく、キャスターとニュース解説者とが話しているシーンのみを抜粋して効率的に視聴できるという効果が得られる。このとき、従来技術と異なり、その日の様々な番組に出演するアナウンサーや解説者が誰であるかを知る必要がなく、任意の解説者のコメント映像を視聴することができる。
第5の実施の形態
次に、第5の実施形態として、録画されている映像から特定のシーンを検索する映像検索装置について説明する。本実施形態の構成は、図8の第2の実施形態に相当する。図16を参照すると、本実施形態による映像検索装置は、検索対象となる様々な映像を録画してある映像記憶装置91と、処理を行うコンピュータ71と、シーン毎に参照顔姿勢データを記憶している参照顔姿勢記憶装置82とを備える。
映像記憶装置91は、映像記憶部92と、映像読み取り部93と、コンピュータ71とのインタフェース94とを備える。映像記憶部92は、検索対象となる各種映像を記憶する。映像読み取り部93は、映像記憶部92が記憶する各種映像を読み取り、インタフェース94を介して、読み取った映像の信号をコンピュータ71に送信する。
コンピュータ71は、CPU72と、記憶装置73と、映像記憶装置91とのインタフェース74と、参照顔姿勢記憶装置82とのインタフェース75と、ディスプレイ装置76と、ユーザが操作するユーザインタフェースとなる操作部(例えば、キーボードやマウス等)77とを備える。CPU72は、記憶装置73が記憶する映像検索プログラムに従って動作する。インタフェース74は、映像記憶装置91から映像信号を受信する。インタフェース75は、参照顔姿勢記憶装置82との間でデータを送受信する。
本実施形態において、映像記憶部92は、図8中の映像データベース18に相当する。映像読み取り部93は、図8中の映像入力部11に相当する。参照顔姿勢記憶装置82は、図8中の参照顔姿勢記憶部14に相当する。映像検索プログラムに従って動作するCPU72は、図8中の顔姿勢検出部12および顔姿勢評価部13の処理を実行する。また、操作部77およびCPU72は、シーン指定部19に相当する。
なお、図16に示す構成は、映像検索装置の構成の一例であり、映像検索装置は他の構成であってもよい。例えば、コンピュータ71が映像記憶装置91に内蔵される構成であってもよい。
まず、準備処理として、予め参照顔姿勢記憶装置82に分類対象となるシーンそれぞれの基準となる参照顔姿勢データを記憶させる処理を行っておく。本実施形態では、分類する各シーンに属する映像群を学習用映像群として予め収集し、この学習用映像群から検出した顔姿勢データを参照顔姿勢データとして記憶しておく方法の一例について説明する。ここでは、映像記憶装置91が備える学習用映像入力部(図16に図示せず。)が、外部から学習用映像を入力するものとする。図17は、準備処理における学習用映像や参照顔姿勢データの流れを示す説明図である。図18は、準備処理の処理経過の例を示すフローチャートである。
映像記憶装置91の学習用映像入力部97は、あるシーン(シーンSkとする。)を写す学習用映像を入力し、その学習用映像の信号を、インタフェース94を介して、コンピュータ71に送信する。CPU72は、インタフェース74を介してその学習用映像の信号を受信する。このようにCPU72は、学習用映像入力部97からの信号を受信することにより、学習用映像を読み込む(ステップ107)。
顔姿勢検出部12の処理を実行するCPU72は、学習用映像から参照顔姿勢データを検出する(ステップ108)。ここで、学習用映像中の登場人物の顔の数をnkとする。また、ある登場人物iの顔の位置を座標(xki,yki)とする。また、この登場人物iの顔の大きさをzkiとする。さらに、この登場人物の顔の向きをRkiとする。CPU72は、例えば、シーンSkでの参照顔姿勢データをDk={nk,xki,yki,zki,Rki}と表して、参照顔姿勢記憶装置82に記憶させる(ステップ109)。対象映像が動画像である場合、顔姿勢検出部12として動作するCPU72は、各フレームまたは数フレームおきに顔姿勢データを検出し、時系列の参照顔姿勢データDk(t)を得る。そして、この参照顔姿勢データを参照顔姿勢記憶部14に記憶させる。
ここでは、シーンSkを写す学習用映像から参照顔姿勢データを検出して記憶させる場合について説明したが、他のシーンを写す学習用映像からも同様に参照顔姿勢データを検出して、参照顔姿勢データを参照顔姿勢記憶装置82に記憶させる。
以上の準備処理を予め行うことで、シーンSk等の各種シーンに属する映像を、映像記憶部92が記憶する様々な映像から検索できるようになる。
シーン指定部19の処理を実行するCPU72は、利用者による操作部77の操作に応じてシーンを指定する。例えば、CPU72は、検索可能なシーンの区分の一覧をディスプレイ装置76に表示させ、操作77の操作に応じて、一覧表示した区分の中から視聴者が検索しようとするシーンに応じた区分を指定してもよい。ここでは、シーンSiが指定されたものとして説明する。
シーン指定部19の処理を実行するCPU72は、シーンSiを指定して、参照顔姿勢記憶装置82にシーンSiに対応する参照顔姿勢データを要求する。参照顔姿勢記憶装置82は、この要求に応じて、シーンSiに対応する参照顔姿勢データをコンピュータ71に送信する。顔姿勢評価部13の処理を実行するCPU72は、このシーンSiに対応する参照顔姿勢データを参照顔姿勢記憶装置82から受信する。
映像入力部11として動作する映像読み取り部93は、映像記憶部92に記憶されている検索対象となる映像群をそれぞれ読み込み、コンピュータ71に送信する。このとき、コンピュータ71のCPU72は、第4の実施の形態で示したのと同様に、映像記憶装置91から受信する映像群における各カット点を検出し、映像群をそれぞれシーン毎に分割する。また、映像群をシーン毎に分割する処理を映像記憶装置91が行い、映像記憶装置91が、シーン毎に分割された各映像をコンピュータ71に送信する構成であってもよい。
顔姿勢検出部12の処理を実行するCPU72は、映像記憶装置91から読み込んだ各検索対象映像から、登場人物の顔姿勢データ(登場人物の人数(顔の数)とそれぞれの顔の位置、大きさ、向き)を検出する。この顔姿勢データをQと表す。検索対象映像が動画像である場合には、各フレーム又は数フレームおきに顔姿勢データを検出し、時系列の顔姿勢データQ(t)を得る。
顔姿勢評価部13の処理を実行するCPU72は、検索対象映像から検出された顔姿勢データQ(t)と指定されたシーンSiの参照顔姿勢データDi(t)との類似度を計算する。計算した類似度が予め定めた閾値以上の場合、CPU72は、顔姿勢データQ(t)を検出した映像のシーンがシーンSiと同じ内容であると判定する。また、類似度が閾値未満の場合、CPU72は、顔姿勢データQ(t)を検出した映像のシーンがシーンSiと異なる内容であると判定し、検索候補から外す。
類似度の計算には様々なパターン認識の手法が利用可能である。例えば、式1によって得られる重み付き和の逆数を類似度として求めてもよい。式1におけるTq(t)は、顔姿勢データQ(t)における顔の位置と大きさを表す3次元ベクトルである。式1におけるTi(t)は、参照顔姿勢データDi(t)における顔の位置と大きさを表す3次元ベクトルである。Rq(t)は、顔姿勢データQ(t)における顔の向きを表す3次元ベクトルである。Ri(t)は、参照顔姿勢データDi(t)における顔の向きを表す3次元ベクトルである。a,bは、それぞれ顔の位置および大きさと、顔の向きのどちらをどの程度重視して類似度を決定するのかを定める重み定数であり、ともに任意に定めることができる。なお、登場人物が複数存在する場合には、式1の値を各登場人物の顔姿勢データ毎に計算し、その結果を加算すればよい。ただし、式1は、類似度を算出するための式の一例であり、類似度の算出に用いる式は特定の式に限定されない。
他の類似度の計算方法の例を次に説明する。登場人物が複数である場合には、式1の値を各登場人物の顔姿勢データについて加算することで類似度を計算してもよいが、複数の人物の顔の相対的な位置や向き、顔の大きさの関係を用いるとより高性能な検索が行える場合がある。このような場合の一例として、ニュース番組中でキャスターと解説者がコメントを話し合うシーンの検索が挙げられる。このようなシーンでは、発言者の座る位置によって顔の位置や大きさは変化するが、互いに顔を向き合って話すので、相対的な顔の向きは反対向き(向かい合う)であるから相対的な顔の向きが反対向きのシーンとして検索できる。また、ドラマや映画のキスシーンなどでは、登場人物の絶対的な顔の位置や向きに関係なく、2名の人物の顔の向きが反対向きで相対的な距離が極めて小さいシーンとして検索できる。
このような場合に用いる類似度の計算の一例を示す。まず、検索対象映像の登場人物のうちから2名を選択する。選択方法の一例としては、顔の大きさが最も大きい2名の人物を選択する方法が挙げられる。顔姿勢データQ(t)における、この2名の顔の間の距離をdQ(t)とする。顔姿勢データQ(t)における、この2名の顔の大きさの平均値をfQ(t)とする。また、登場人物1に対する登場人物2の顔の向きをベクトルRQ(t)とする。また、参照顔姿勢データにおける、2名(顔の大きさが最も大きい2名)の顔の間の距離をdD(t)とする。参照顔姿勢データにおける、この2名の顔の大きさの平均値をfD(t)とする。また、参照顔姿勢データにおける登場人物1に対する登場人物2の顔の向きをベクトルRD(t)とする。この場合、以下に示す式2の値の逆数を類似度として利用可能である。
以上に示した類似度の計算式はあくまで一例で、顔姿勢データQ(t)や参照顔姿勢データD(t)の特徴量の選び方や類似度の計算式は様々に変更可能であり、様々な距離関数やパターン認識手法を利用可能である。また、複数の類似度の計算式を組み合わせて計算を行うことももちろん可能である。
顔姿勢評価部13の処理を実行するCPU72は、映像記憶装置91に記憶されている全ての映像(映像記憶装置91から受信した全ての映像)に対して、顔姿勢データと参照顔姿勢データとの類似度を判定する処理を行う。そして、映像記憶装置91から受信した映像のうち、類似度が高いと判定されるシーンの映像を検索結果とする。
本実施形態では、映像記憶部92(映像データベース18に相当)に蓄積されている多種多様な映像から、利用者の指定した映像シーンについて予め設定された参照顔姿勢データと登場人物の顔の位置や姿勢が類似した映像を抽出するように構成されている。従って、映像シーンの内容が類似している映像を検索することができる。
本実施形態では、参照顔姿勢記憶装置82を備え、参照顔姿勢記憶装置82が記憶する参照顔姿勢データに基づいてシーンを検索する場合を示した。参照顔姿勢記憶装置82の代わりに図11に示す参照条件記憶部31に相当する参照条件記憶装置を備えていてもよい。すなわち、各種シーンにおいて顔姿勢データが満たす条件を記憶する参照条件記憶部を備え、CPU72は、指定されたシーンに対応する条件を満足する顔姿勢データを検索することにより、指定されたシーンと同様のシーンを検索してもよい。
第6の実施の形態
次に、第6の実施形態として、予め定めたシーンを指定するのではなく、ある映像を入力して、その映像のシーンと類似のシーン内容の映像を検索する映像検索装置の例を説明する。本実施形態の構成は、図12に示す第3の実施形態の構成に相当する。図19を参照すると、本発明の第3の実施形態による映像検索装置は、検索対象となる様々な映像を録画してある映像記憶装置91と、処理を行うコンピュータ71と、検索するシーンを指定するための参照映像を録画した映像記憶媒体87が装着される参照映像入力装置84とを備える。
映像記憶装置91の構成および動作は、図16の第5の実施形態における映像記憶装置91と同様であるのでその説明を省略する。
参照映像入力装置84は、映像記憶媒体87が装着される記憶媒体装着部86と、映像読み取り部88と、コンピュータ71とのインタフェース85とを備える。映像記憶媒体87は、記憶媒体装着部86に着脱可能な映像記憶媒体であり、例えば、ビデオカセットやDVD(Digital Versatile Disk)等を映像記憶媒体87とすることができる。記憶媒体装着部86には、視聴者が検索したいと考えるシーンを写す映像(参照映像)を記憶した映像記憶媒体87が装着される。映像読み取り部88は、記憶媒体装着部86に装着された映像記憶媒体87が記憶する参照映像を読み取り、インタフェース85を介して、参照映像の信号をコンピュータ71に送信する。
コンピュータ71は、CPU72と、記憶装置73と、映像記憶装置91とのインタフェース74と、参照映像入力装置84とのインタフェース75と、ディスプレイ装置76とを備える。なお、ユーザが操作するユーザインタフェースとなるキーボードやマウス等を備えていてもよい。CPU72は、記憶装置73が記憶する映像検索プログラムに従って動作する。インタフェース74は、映像記憶装置91から映像信号を受信する。インタフェース75は、参照映像入力装置84から参照映像の映像信号を受信する。
本例において、映像記憶部92は、図12の映像データベース18に相当する。映像読み取り部93は、図12の映像入力部11に相当する。参照映像入力装置84は、図12の参照映像入力部16に相当する。映像検索プログラムに従って動作するCPU72は、図12の顔姿勢検出部12、参照顔姿勢検出部42、および顔姿勢評価部13の処理を行う。
なお、図19に示す構成は、映像検索装置の構成の一例であり、映像検索装置は他の構成であってもよい。例えば、コンピュータ71が映像記憶装置91に内蔵される構成であってもよい。また、例えば、参照映像入力装置84が映像記憶装置91の一部として構成されていてもよい。
記憶媒体装着部86には、利用者が検索したい映像シーンの参照映像を記憶した映像記憶媒体87が利用者によって装着される。映像読み取り部88は、映像記憶媒体87が記憶する参照映像を読み取り、インタフェース85を介してコンピュータ71に送信する。
参照顔姿勢検出部42の処理を実行するCPU72は、参照映像入力装置84から読み込んだ参照映像から、その参照映像における登場人物の数(顔の数)、各登場人物の顔の位置と大きさ、向きを時系列で検出し、参照顔姿勢データD(t)として検出する。
顔姿勢検出部12の処理を実行するCPU72は、第5の実施形態におけるCPU72と同様に、映像記憶装置91から読み込んだ各検索対象映像から、登場人物の数(顔の数)、各登場人物の顔の位置と大きさ、向きを表す顔姿勢データQ(t)を読み込む。
顔姿勢評価部13の処理を実行するCPU72は、参照顔姿勢データD(t)と、検索対象映像から検出された顔姿勢データQ(t)の類似度を計算する。類似度の計算方法として、例えば、既に説明した計算方法を適用すればよい。また、既に説明したように、類似度の計算方法は、特定の計算方法に限定されない。CPU72は、この類似度が予め定めた閾値以上の場合に検索対象映像が利用者の入力した参照映像と同一シーン内容の映像であると判定し、類似度が低い場合は検索対象映像を検索候補から外す。
顔姿勢評価部13の処理を実行するCPU72は、映像記憶装置91に記憶されている全ての映像(映像記憶装置91から受信した全ての映像)に対して、顔姿勢データと参照顔姿勢データとの類似度を判定する処理を行う。そして、映像記憶装置91から受信した映像のうち、類似度が高いと判定されるシーンの映像を検索結果とする。
本実施形態は、ある参照映像を記憶した映像記憶媒体87が利用者によって参照映像入力装置84に装着されると、その参照映像と同じシーンに相当する映像を映像記憶装置91から検索するように構成されている。従って、予め、検索対象となるシーン分類を定義し、それぞれについて予め参照顔姿勢データを設定しておく必要がなく、利用者は検索したい映像シーンに相当する映像を入力するだけで、同様のシーン内容の映像を検索することができる。