説明

情報処理装置、および情報処理方法、並びにプログラム

【課題】カメラやマイクを介する入力情報の解析により、発話者の特定処理を行う構成を実現する。
【解決手段】音声ベースの発話認識処理と画像ベース発話認識処理を実行する。さらに、音声ベース発話認識処理部において発話可能性が高いと判定した単語情報を入力し、画像ベース発話認識処理において解析されたユーザ単位の口の動き情報である口形素情報を入力して、単語を構成する音素単位で各音素の発話の口の動きに近い場合に高いスコアを設定してユーザ単位のスコアを設定する。さらに、ユーザ単位のスコアを適用してスコアに基づく発話者特定処理を実行する。この処理により発話内容に近い口の動きを示すユーザを発話源として特定可能となり、精度の高い発話者特定が実現される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法、並びにプログラムに関する。さらに詳細には、外界からの入力情報、例えば画像、音声などの情報を入力し、入力情報に基づく外界環境の解析、具体的には言葉を発している人物の位置や誰であるか等の解析処理を実行する情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
人とPCやロボットなどの情報処理装置との相互間の処理、例えばコミュニケーションやインタラクティブ処理を行うシステムはマン−マシン インタラクション システムと呼ばれる。このマン−マシン インタラクション システムにおいて、PCやロボット等の情報処理装置は、人のアクション例えば人の動作や言葉を認識するために画像情報や音声情報を入力して入力情報に基づく解析を行う。
【0003】
人が情報を伝達する場合、言葉のみならずしぐさ、視線、表情など様々なチャネルを情報伝達チャネルとして利用する。このようなすべてのチャネルの解析をマシンにおいて行うことができれば、人とマシンとのコミュニケーションも人と人とのコミュニケーションと同レベルに到達することができる。このような複数のチャネル(モダリティ、モーダルとも呼ばれる)からの入力情報の解析を行うインタフェースは、マルチモーダルインタフェースと呼ばれ、近年、開発、研究が盛んに行われている。
【0004】
例えばカメラによって撮影された画像情報、マイクによって取得された音声情報を入力して解析を行う場合、より詳細な解析を行うためには、様々なポイントに設置した複数のカメラおよび複数のマイクから多くの情報を入力することが有効である。
【0005】
具体的なシステムとしては、例えば以下のようなシステムが想定される。情報処理装置(テレビ)が、カメラおよびマイクを介して、テレビの前のユーザ(父、母、姉、弟)の画像および音声を入力し、それぞれのユーザの位置やどのユーザが発した言葉であるか等を解析し、テレビが解析情報に応じた処理、例えば会話を行ったユーザに対するカメラのズームアップや、会話を行ったユーザに対する的確な応答を行うなどのシステムが実現可能となる。
【0006】
従来の一般的なマン−マシン インタラクション システムの多くは、複数チャネル(モーダル)からの情報を決定論的に統合して、複数のユーザが、それぞれどこにいて、それらは誰で、誰がシグナルを発したのかを決定するという処理を行っていた。このようなシステムを開示した従来技術として、例えば特許文献1(特開2005−271137号公報)、特許文献2(特開2002−264051号公報)がある。
【0007】
しかし、従来のシステムにおいて行われるマイクやカメラから入力される不確実かつ非同期なデータを利用した決定論的な統合処理方法ではロバスト性にかけ、精度の低いデータしか得られないという問題がある。実際のシステムにおいて、実環境で取得可能なセンサ情報、すなわちカメラからの入力画像やマイクから入力される音声情報には様々な余分な情報、例えばノイズや不要な情報が含まれる不確実なデータであり、画像解析や音声解析処理を行う場合には、このようなセンサ情報から有効な情報を効率的に統合する処理が重要となる。
【0008】
本出願人は、これらの問題を解決する構成として、特許文献3(特開2009−140366)を出願した。この特許文献3に記載の構成は、音声および画像イベント検出情報に基づくパーティクルフィルタリング処理を行い、ユーザの位置やユーザ識別処理を行う構成である。この構成により、ノイズや不要な情報が含まれる不確実なデータから精度の高い信頼できるデータを選択しユーザの位置の特定やユーザ識別を実現している。
【0009】
上記特許文献3の装置は、さらに画像データから得られる口の動きを検出して発話者の特定処理を行っている。例えば口の動きの大きいユーザが発話者である可能性が高いと推定する処理である。口の動きに応じたスコアを算出し、大きなスコアが設定されたユーザを発話者として特定している。しかし、この処理では、口の動きのみを評価対象とするため、例えばガムをかんでいるユーザなども発話者であると認識してしまうといった問題がある。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2005−271137号公報
【特許文献2】特開2002−264051号公報
【特許文献3】特開2009−140366号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
本発明は、例えば、上述の問題点に鑑みてなされたものであり、発話者の推定処理に際して音声ベースの発話認識処理と、画像ベースの発話認識処理を併用して、具体的に言葉を発しているユーザを発話者であると推定する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の第1の側面は、
実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成する音声ベース発話認識処理部と、
前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成する画像ベース発話認識処理部と、
前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行する音声画像併用発話認識スコア算出部と、
前記スコアを入力して、入力スコアに基づく発話者特定処理を実行する情報統合処理部を有する情報処理装置にある。
【0013】
さらに、本発明の情報処理装置の一実施態様において、前記音声ベース発話認識処理部は、音声ベースの発話認識処理であるASR(Audio Speech Recognition)を実行して発話可能性が高いと判定した単語情報の音素列をASR情報として生成し、前記画像ベース発話認識処理部は、画像ベースの発話認識処理であるVSR(Visual Speech Recognition)を実行して、少なくとも前記単語発声期間の口の形を示す口形素情報を含むVSR情報を生成し、前記音声画像併用発話認識スコア算出部は、前記ASR情報に含まれる単語情報を構成する音素単位で、前記VSR情報に含まれるユーザ単位の口形素情報と登録口形素情報とを比較して、類似度の高い口形素を高いスコアとする口形素スコア設定処理を行ない、さらに単語を構成する全音素に対応する口形素スコアの相加平均値または相乗平均値算出処理によってユーザ対応のスコアであるAVSRスコアを算出する。
【0014】
さらに、本発明の情報処理装置の一実施態様において、前記音声画像併用発話認識スコア算出部は、前記ASR情報に含まれる単語情報の前後の無音時間に対応する口形素スコア設定処理を行ない、単語を構成する全音素に対応する口形素スコアと無音時間対応の口形素スコアを含むスコアの相加平均値または相乗平均値算出処理によってユーザ対応のスコアであるAVSRスコアを算出する。
【0015】
さらに、本発明の情報処理装置の一実施態様において、前記音声画像併用発話認識スコア算出部は、前記単語発声期間の口の形を示す口形素情報が入力されない期間についての口形素スコアとして、予め設定された事前知識の値を用いることを特徴とする。
【0016】
さらに、本発明の情報処理装置の一実施態様において、前記情報統合処理部は、前記実空間のユーザ情報についての仮説(Hypothesis)の確率分布データを設定し、前記AVSRスコアに基づく仮説の更新および取捨選択により、発話者特定処理を実行する。
【0017】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記実空間の観測情報として音声情報を入力し、前記実空間に存在するユーザの推定位置情報および推定識別情報を含む音声イベント情報を生成する音声イベント検出部と、前記実空間の観測情報として画像情報を入力し、前記実空間に存在するユーザの推定位置情報および推定識別情報を含む画像イベント情報を生成する画像イベント検出部を有し、前記情報統合処理部は、ユーザの位置および識別情報についての仮説(Hypothesis)の確率分布データを設定し、前記イベント情報に基づく仮説の更新および取捨選択により、前記実空間に存在するユーザの位置情報を含む解析情報を生成する処理を実行する構成である。
【0018】
さらに、本発明の情報処理装置の一実施態様において、前記情報統合処理部は、仮想的なユーザに対応する複数のターゲットデータを設定した複数のパーティクルを適用したパーティクルフィルタリング処理を実行して前記実空間に存在するユーザの位置情報を含む解析情報を生成する構成であり、前記パーティクルに設定するターゲットデータの各々を前記音声および画像イベント検出部から入力するイベント各々に対応付けて設定し、入力イベント識別子に応じて各パーティクルから選択されるイベント対応ターゲットデータの更新を行う構成を有することを特徴とする。
【0019】
さらに、本発明の情報処理装置の一実施態様において、前記情報統合処理部は、前記イベント検出部において検出された顔画像単位のイベント各々にターゲットを対応付けて処理を行なう構成を有することを特徴とする。
【0020】
さらに、本発明の第2の側面は、
情報処理装置において実行する情報処理方法であり、
音声ベース発話認識処理部が、実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成する音声ベース発話認識処理ステップと、
画像ベース発話認識処理部が、前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成する画像ベース発話認識処理ステップと、
音声画像併用発話認識スコア算出部が、前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行する音声画像併用発話認識スコア算出ステップと、
情報統合処理部が、前記スコアを入力して、入力スコアに基づく発話者特定処理を実行する情報統合処理ステップを実行する情報処理方法にある。
【0021】
さらに、本発明の第3の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
音声ベース発話認識処理部に、実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成させる音声ベース発話認識処理ステップと、
画像ベース発話認識処理部に、前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成させる画像ベース発話認識処理ステップと、
音声画像併用発話認識スコア算出部に、前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行させる音声画像併用発話認識スコア算出ステップと、
情報統合処理部に、前記スコアを入力して、入力スコアに基づく発話者特定処理を実行させる情報統合処理ステップを実行させるプログラムにある。
【0022】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【0023】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0024】
本発明の一実施例の構成によれば、カメラやマイクを介する入力情報の解析により、発話者の特定処理を行う構成が実現される。音声ベースの発話認識処理と画像ベース発話認識処理を実行する。さらに、音声ベース発話認識処理部において発話可能性が高いと判定した単語情報を入力し、画像ベース発話認識処理において解析されたユーザ単位の口の動き情報である口形素情報を入力して、単語を構成する音素単位で各音素の発話の口の動きに近い場合に高いスコアを設定してユーザ単位のスコアを設定する。さらに、ユーザ単位のスコアを適用してスコアに基づく発話者特定処理を実行する。この処理により発話内容に近い口の動きを示すユーザを発話源として特定可能となり、精度の高い発話者特定が実現される。
【図面の簡単な説明】
【0025】
【図1】本発明に係る情報処理装置の実行する処理の概要について説明する図である。
【図2】ユーザ解析処理を行う情報処理装置の構成および処理について説明する図である。
【図3】音声イベント検出部122および画像イベント検出部112が生成し音声・画像統合処理部131に入力する情報の例について説明する図である。
【図4】パーティクル・フィルタ(Particle Filter)を適用した基本的な処理例について説明する図である。
【図5】本処理例で設定するパーティクルの構成について説明する図である。
【図6】各パーティクルに含まれるターゲット各々が有するターゲットデータの構成について説明する図である。
【図7】ターゲット情報の構成および生成処理について説明する図である。
【図8】ターゲット情報の構成および生成処理について説明する図である。
【図9】ターゲット情報の構成および生成処理について説明する図である。
【図10】音声・画像統合処理部131の実行する処理シーケンスを説明するフローチャートを示す図である。
【図11】パーティクル重み[WpID]の算出処理の詳細について説明する図である。
【図12】発話源の特定処理を行う情報処理装置の構成および処理について説明する図である。
【図13】発話源の特定処理のためのAVSRスコアの算出処理例について説明する図である。
【図14】発話源の特定処理のためのAVSRスコアの算出処理例について説明する図である。
【図15】発話源の特定処理のためのAVSRスコアの算出処理例について説明する図である。
【図16】発話源の特定処理のためのAVSRスコアの算出処理例について説明する図である。
【図17】発話源の特定処理のためのAVSRスコアの算出処理のシーケンスについて説明するフローチャートを示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。以下の項目に従って説明する。
1.音声および画像イベント検出情報に基づくパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について
2.音声および画像ベースの発話認識によるスコア(AVSRスコア)算出処理を伴う発話者の特定処理について
なお、本発明は、前述した特許文献3として紹介した本出願人の先の出願である特願2007−317711(特開2009−140366)の技術をベースとした発明であり、まず、上記項目1において、この特願2007−317711(特開2009−140366)に開示した構成の概要を説明する。その後、上記項目2において、本発明の主題である音声および画像ベースの発話認識によるスコア(AVSRスコア)算出処理を伴う発話者の特定処理について説明する。
【0027】
[1.音声および画像イベント検出情報に基づくパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について]
まず、音声イベントおよび画像イベントの検出情報を利用したパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について説明する。図1は、この処理の概要を説明する図である。
【0028】
情報処理装置100は、実空間における観測情報を入力するセンサから各種の情報を入力する。本例では、情報処理装置100は、センサとしてカメラ21と、複数のマイク31〜34から画像情報、音声情報を入力し、これらの入力情報に基づいて環境の解析を行う。情報処理装置100は、複数のユーザ1,11〜4,14の位置の解析、およびその位置にいるユーザの識別を行う。
【0029】
図に示す例において、例えばユーザ1,11〜ユーザ4,14が家族である父、母、姉、弟であるとき、情報処理装置100は、カメラ21と、複数のマイク31〜34から入力する画像情報、音声情報の解析を行い、4人のユーザ1〜4の存在する位置、各位置にいるユーザが父、母、姉、弟のいずれであるかを識別する。識別処理結果は様々な処理に利用される。例えば、例えば会話を行ったユーザに対するカメラのズームアップや、会話を行ったユーザに対してテレビから応答を行うなどの処理に利用される。
【0030】
情報処理装置100は、複数の情報入力部(カメラ21,マイク31〜34)からの入力情報に基づいて、ユーザの位置識別およびユーザの特定処理としてのユーザ識別処理を行う。この識別結果の利用処理については特に限定するものではない。カメラ21と、複数のマイク31〜34から入力する画像情報、音声情報には様々な不確実な情報が含まれる。情報処理装置100では、これらの入力情報に含まれる不確実な情報に対する確率的な処理を行って、精度の高いと推定される情報に統合する処理を行う。この推定処理によりロバスト性を向上させ、精度の高い解析を行う。
【0031】
図2に情報処理装置100の構成例を示す。情報処理装置100は、入力デバイスとして画像入力部(カメラ)111、複数の音声入力部(マイク)121a〜dを有する。画像入力部(カメラ)111から画像情報を入力し、音声入力部(マイク)121から音声情報を入力し、これらの入力情報に基づいて解析を行う。複数の音声入力部(マイク)121a〜dの各々は、図1に示すように様々な位置に配置されている。
【0032】
複数のマイク121a〜dから入力された音声情報は、音声イベント検出部122を介して音声・画像統合処理部131に入力される。音声イベント検出部122は、複数の異なるポジションに配置された複数の音声入力部(マイク)121a〜dから入力する音声情報を解析し統合する。具体的には、音声入力部(マイク)121a〜dから入力する音声情報に基づいて、発生した音の位置およびどのユーザの発生させた音であるかのユーザ識別情報を生成して音声・画像統合処理部131に入力する。
【0033】
なお、情報処理装置100の実行する具体的な処理は、例えば図1に示すように複数のユーザが存在する環境で、ユーザ1〜4がどの位置にいて、会話を行ったユーザがどのユーザであるかを識別すること、すなわち、ユーザ位置およびユーザ識別を行うことであり、さらに声を発した人物(発話者)などのイベント発生源を特定する処理である。
【0034】
音声イベント検出部122は、複数の異なるポジションに配置された複数の音声入力部(マイク)121a〜dから入力する音声情報を解析し、音声の発生源の位置情報を確率分布データとして生成する。具体的には、音源方向に関する期待値と分散データN(m,σ)を生成する。また、予め登録されたユーザの声の特徴情報との比較処理に基づいてユーザ識別情報を生成する。この識別情報も確率的な推定値として生成する。音声イベント検出部122には、予め検証すべき複数のユーザの声についての特徴情報が登録されており、入力音声と登録音声との比較処理を実行して、どのユーザの声である確率が高いかを判定する処理を行い、全登録ユーザに対する事後確率、あるいはスコアを算出する。
【0035】
このように、音声イベント検出部122は、複数の異なるポジションに配置された複数の音声入力部(マイク)121a〜dから入力する音声情報を解析し、音声の発生源の位置情報を確率分布データと、確率的な推定値からなるユーザ識別情報とによって構成される[統合音声イベント情報]を生成して音声・画像統合処理部131に入力する。
【0036】
一方、画像入力部(カメラ)111から入力された画像情報は、画像イベント検出部112を介して音声・画像統合処理部131に入力される。画像イベント検出部112は、画像入力部(カメラ)111から入力する画像情報を解析し、画像に含まれる人物の顔を抽出し、顔の位置情報を確率分布データとして生成する。具体的には、顔の位置や方向に関する期待値と分散データN(m,σ)を生成する。
【0037】
また、画像イベント検出部112は、予め登録されたユーザの顔の特徴情報との比較処理に基づいて顔を識別してユーザ識別情報を生成する。この識別情報も確率的な推定値として生成する。画像イベント検出部112には、予め検証すべき複数のユーザの顔についての特徴情報が登録されており、入力画像から抽出した顔領域の画像の特徴情報と登録された顔画像の特徴情報との比較処理を実行して、どのユーザの顔である確率が高いかを判定する処理を行い、全登録ユーザに対する事後確率、あるいはスコアを算出する。
【0038】
さらに、画像イベント検出部112は、画像入力部(カメラ)111から入力された画像に含まれる顔に対応する属性スコア、例えば口領域の動きに基づいて生成される顔属性スコアを算出する。
【0039】
顔属性スコアは、例えば、
(a)画像に含まれる顔の口領域の動きの大きさに応じたスコア、
(b)画像に含まれる顔の口領域の動きと発話認識との対応関係に応じたスコア
このような顔属性スコアを算出する設定が可能である。その他にも、笑顔か否か、男であるか女であるか、大人であるかこどもであるかなどの属性スコアを算出する設定としてもよい。
【0040】
以下では、まず、
(a)画像に含まれる顔の口領域の動きのレベルに対応するスコアを顔属性スコアとして算出して利用する例について説明する。すなわち、顔の口領域の動きの大きさに対応するスコアを顔属性スコアとして算出し、この顔属性スコアに基づいて発話者の特定を行なう処理である。
ただし、先に簡単に説明したように、口の動きの大きさからスコアを算出した処理では、ガムをかんでいるユーザやシステムに対する発話と無関係な発話や口の動きなどを区別できないため、システムに対する要求を行っているユーザの発話を特定しにくいという問題がある。
【0041】
後段の項目2、すなわち、「2.音声および画像ベースの発話認識によるスコア(AVSRスコア)算出処理を伴う発話者の特定処理について」では、このような欠点を解決した手法として、上記の(b)画像に含まれる顔の口領域の動きと発話認識との対応関係に応じたスコアの算出処理と発話者特定処理について説明する。
【0042】
まず、この項目1では、(a)画像に含まれる顔の口領域の動きの大きさに対応するスコアを顔属性スコアとして算出して利用する例について説明する。
画像イベント検出部112は、画像入力部(カメラ)111から入力された画像に含まれる顔領域から口領域を識別して、口領域の動き検出を行い、口領域の動き検出結果に対応したスコア、例えば口の動きがあると判定された場合に高いスコアとする処理を行う。
【0043】
なお、口領域の動き検出処理は、例えばVSD(Visual Speech Detection)を適用した処理として実行する。本発明の出願人と同一の出願に係る特開2005−157679に開示の方法を適用することができる。具体的には、例えば、画像入力部(カメラ)111からの入力画像から検出された顔画像から唇の左右端点を検出し、N番目のフレームとN+1番目のフレームにおいて唇の左右端点をそれぞれそろえてから輝度の差分を算出し、この差分値を閾値処理することで、口の動きを検出することができる。
【0044】
なお、音声イベント検出部122や画像イベント検出部112において実行する音声識別や、顔検出、顔識別処理は従来から知られる技術を適用する。例えば顔検出、顔識別処理としては以下の文献に開示された技術の適用が可能である。
佐部 浩太郎,日台 健一,"ピクセル差分特徴を用いた実時間任意姿勢顔検出器の学習",第10回画像センシングシンポジウム講演論文集,pp.547−552,2004
特開2004−302644(P2004−302644A)[発明の名称:顔識別装置、顔識別方法、記録媒体、及びロボット装置]
【0045】
音声・画像統合処理部131は、音声イベント検出部122や画像イベント検出部112からの入力情報に基づいて、複数のユーザが、それぞれどこにいて、それらは誰で、誰が音声等のシグナルを発したのかを確率的に推定する処理を実行する。この処理については後段で詳細に説明する。音声・画像統合処理部131は、音声・画像統合処理部131は、音声イベント検出部122や画像イベント検出部112からの入力情報に基づいて、
(a)複数のユーザが、それぞれどこにいて、それらは誰であるかの推定情報としての[ターゲット情報]
(b)例えば話しをしたユーザなどのイベント発生源を[シグナル情報]として、処理決定部132に出力する。
【0046】
これらの識別処理結果を受領した処理決定部132は、識別処理結果を利用した処理を実行する、例えば、会話を行ったユーザに対するカメラのズームアップや、会話を行ったユーザに対してテレビから応答を行うなどの処理を行う。
【0047】
上述したように、音声イベント検出部122は、音声の発生源の位置情報の確率分布データ、具体的には、音源方向に関する期待値と分散データN(m,σ)を生成する。また、予め登録されたユーザの声の特徴情報との比較処理に基づいてユーザ識別情報を生成して音声・画像統合処理部131に入力する。
【0048】
また、画像イベント検出部112は、画像に含まれる人物の顔を抽出し、顔の位置情報を確率分布データとして生成する。具体的には、顔の位置や方向に関する期待値と分散データN(m,σ)を生成する。また、予め登録されたユーザの顔の特徴情報との比較処理に基づいてユーザ識別情報を生成して音声・画像統合処理部131に入力する。さらに、画像入力部(カメラ)111から入力された画像中の顔領域から顔属性情報としての顔属性スコア、例えば口領域の動き検出を行い、口領域の動き検出結果に対応したスコア、具体的には口の動きが大きいと判定された場合に高いスコアとする顔属性スコアを算出して音声・画像統合処理部131に入力する。
【0049】
図3を参照して、音声イベント検出部122および画像イベント検出部112が生成し音声・画像統合処理部131に入力する情報の例について説明する。
【0050】
本発明の構成では、画像イベント検出部112は、
(Va)顔の位置や方向に関する期待値と分散データN(m,σ)、
(Vb)顔画像の特徴情報に基づくユーザ識別情報、
(Vc)検出された顔の属性に対応するスコア、例えば口領域の動きに基づいて生成される顔属性スコア、
これらのデータを生成して音声・画像統合処理部131に入力し、
音声イベント検出部122が、
(Aa)音源方向に関する期待値と分散データN(m,σ)、
(Ab)声の特徴情報に基づくユーザ識別情報、
これらのデータを音声・画像統合処理部131に入力する。
【0051】
図3(A)は図1を参照して説明したと同様のカメラやマイクが備えられた実環境の例を示し、複数のユーザ1〜k,201〜20kが存在する。この環境で、あるユーザが話しをしたとすると、マイクで音声が入力される。また、カメラは連続的に画像を撮影している。
【0052】
音声イベント検出部122および画像イベント検出部112が生成して、音声・画像統合処理部131に入力する情報は、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これら3種類に大別できる。
【0053】
すなわち、
(a)ユーザ位置情報は、
画像イベント検出部112の生成する
(Va)顔の位置や方向に関する期待値と分散データN(m,σ)と、
音声イベント検出部122の生成する
(Aa)音源方向に関する期待値と分散データN(m,σ)、
これらの統合データである。
【0054】
また、
(b)ユーザ識別情報(顔識別情報または話者識別情報)は、
画像イベント検出部112の生成する
(Vb)顔画像の特徴情報に基づくユーザ識別情報と、
音声イベント検出部122の生成する
(Ab)声の特徴情報に基づくユーザ識別情報、
これらの統合データである。
【0055】
(c)顔属性情報(顔属性スコア)は、
画像イベント検出部112の生成する
(Vc)検出された顔の属性に対応するスコア、例えば口領域の動きに基づいて生成される顔属性スコア、
に対応する。
【0056】
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)、
これらの3つの情報は、イベントの発生毎に生成される。音声イベント検出部122は、音声入力部(マイク)121a〜dから音声情報が入力された場合に、その音声情報に基づいて上記の(a)ユーザ位置情報、(b)ユーザ識別情報を生成して音声・画像統合処理部131に入力する。画像イベント検出部112は、例えば予め定めた一定のフレーム間隔で、画像入力部(カメラ)111から入力された画像情報に基づいて(a)ユーザ位置情報、(b)ユーザ識別情報、(c)顔属性情報(顔属性スコア)を生成して音声・画像統合処理部131に入力する。なお、本例では、画像入力部(カメラ)111は1台のカメラを設定した例を示しており、1つのカメラに複数のユーザの画像が撮影される設定であり、この場合、1つの画像に含まれる複数の顔の各々について(a)ユーザ位置情報、(b)ユーザ識別情報を生成して音声・画像統合処理部131に入力する。
【0057】
音声イベント検出部122が音声入力部(マイク)121a〜dから入力する音声情報に基づいて、
(a)ユーザ位置情報
(b)ユーザ識別情報(話者識別情報)
これらの情報を生成する処理について説明する。
【0058】
[音声イベント検出部122による(a)ユーザ位置情報の生成処理]
音声イベント検出部122は、音声入力部(マイク)121a〜dから入力された音声情報に基づいて解析された声を発したユーザ、すなわち[話者]の位置の推定情報を生成する。すなわち、話者が存在すると推定される位置を、期待値(平均)[m]と分散情報[σ]からなるガウス分布(正規分布)データN(m,σe)として生成する。
【0059】
[音声イベント検出部122による(b)ユーザ識別情報(話者識別情報)の生成処理]
音声イベント検出部122は、音声入力部(マイク)121a〜dから入力された音声情報に基づいて話者が誰であるかを、入力音声と予め登録されたユーザ1〜kの声の特徴情報との比較処理により推定する。具体的には話者が各ユーザ1〜kである確率を算出する。この算出値を(b)ユーザ識別情報(話者識別情報)とする。例えば入力音声の特徴と最も近い登録された音声特徴を有するユーザに最も高いスコアを配分し、最も異なる特徴を持つユーザに最低のスコア(例えば0)を配分する処理によって各ユーザである確率を設定したデータを生成して、これを(b)ユーザ識別情報(話者識別情報)とする。
【0060】
次に、画像イベント検出部112が画像入力部(カメラ)111から入力する画像情報に基づいて、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報)
(c)顔属性情報(顔属性スコア)
これらの情報を生成する処理について説明する。
【0061】
[画像イベント検出部112による(a)ユーザ位置情報の生成処理]
画像イベント検出部112は、画像入力部(カメラ)111から入力された画像情報に含まれる顔の各々について顔の位置の推定情報を生成する。すなわち、画像から検出された顔が存在すると推定される位置を、期待値(平均)[m]と分散情報[σ]からなるガウス分布(正規分布)データN(m,σ)として生成する。
【0062】
[画像イベント検出部112による(b)ユーザ識別情報(顔識別情報)の生成処理]
画像イベント検出部112は、画像入力部(カメラ)111から入力された画像情報に基づいて、画像情報に含まれる顔を検出し、各顔が誰であるかを、入力画像情報と予め登録されたユーザ1〜kの顔の特徴情報との比較処理により推定する。具体的には抽出された各顔が各ユーザ1〜kである確率を算出する。この算出値を(b)ユーザ識別情報(顔識別情報)とする。例えば入力画像に含まれる顔の特徴と最も近い登録された顔の特徴を有するユーザに最も高いスコアを配分し、最も異なる特徴を持つユーザに最低のスコア(例えば0)を配分する処理によって各ユーザである確率を設定したデータを生成して、これを(b)ユーザ識別情報(顔識別情報)とする。
【0063】
[画像イベント検出部112による(c)顔属性情報(顔属性スコア)の生成処理]
画像イベント検出部112は、画像入力部(カメラ)111から入力された画像情報に基づいて、画像情報に含まれる顔領域を検出し、検出された各顔の属性、具体的には先に説明したように顔の口領域の動き、笑顔か否か、男であるか女であるか、大人であるかこどもであるかなどの属性スコアを算出することが可能であるが、本処理例では、画像に含まれる顔の口領域の動きに対応するスコアを顔属性スコアとして算出して利用する例について説明する。
【0064】
顔の口領域の動きに対応するスコアを算出する処理として、前述したように画像イベント検出部112は、例えば、画像入力部(カメラ)111からの入力画像から検出された顔画像から唇の左右端点を検出し、N番目のフレームとN+1番目のフレームにおいて唇の左右端点をそれぞれそろえてから輝度の差分を算出し、この差分値を閾値処理する。この処理により、口の動きを検出し、口の動きが大きいほど高いスコアとする顔属性スコアを設定する。
【0065】
なお、カメラの撮影画像から複数の顔が検出された場合、画像イベント検出部112は、各検出顔に応じてそれぞれ個別のイベントとして、各顔対応のイベント情報を生成する。すなわち、以下の情報を含むイベント情報を生成して音声・画像統合処理部131に入力する。
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報)
(c)顔属性情報(顔属性スコア)
これらの情報を生成して、音声・画像統合処理部131に入力する。
【0066】
本例では、画像入力部111として1台のカメラを利用した例を説明するが、複数のカメラの撮影画像を利用してもよく、その場合は、画像イベント検出部112は、各カメラの撮影画像の各々に含まれる各顔について、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報)
(c)顔属性情報(顔属性スコア)
これらの情報を生成して、音声・画像統合処理部131に入力する。
【0067】
次に、音声・画像統合処理部131の実行する処理について説明する。音声・画像統合処理部131は、上述したように、音声イベント検出部122および画像イベント検出部112から、図3(B)に示す3つの情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらの情報を逐次入力する。なお、これらの各情報の入力タイミングは様々な設定が可能であるが、例えば、音声イベント検出部122は新たな音声が入力された場合に上記(a),(b)の各情報を音声イベント情報として生成して入力し、画像イベント検出部112は、一定のフレーム周期単位で、上記(a),(b),(c)の各情報を画像イベント情報として生成して入力するといった設定が可能である。
【0068】
音声・画像統合処理部131の実行する処理について、図4以下を参照して説明する。音声・画像統合処理部131は、ユーザの位置および識別情報についての仮説(Hypothesis)の確率分布データを設定し、その仮説を入力情報に基づいて更新することで、より確からしい仮説のみを残す処理を行う。この処理手法として、パーティクル・フィルタ(Particle Filter)を適用した処理を実行する。
【0069】
パーティクル・フィルタ(Particle Filter)を適用した処理は、様々な仮説に対応するパーティクルを多数設定して行なわれる。本例では、ユーザの位置と誰であるかの仮説に対応するパーティクルを多数設定し、音声イベント検出部122および画像イベント検出部112から、図3(B)に示す3つの情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらの入力情報に基づいて、より確からしいパーティクルの重み(ウェイト)を高めていくという処理を行う。
【0070】
パーティクル・フィルタ(Particle Filter)を適用した基本的な処理例について図4を参照して説明する。例えば、図4に示す例は、あるユーザに対応する存在位置をパーティクル・フィルタにより推定する処理例を示している。図4に示す例は、ある直線上の1次元領域におけるユーザ301の存在する位置を推定する処理である。
【0071】
初期的な仮説(H)は、図4(a)に示すように均一なパーティクル分布データとなる。次に、画像データ302が取得され、取得画像に基づくユーザ301の存在確率分布データが図4(b)のデータとして取得される。この取得画像に基づく確率分布データに基づいて、図4(a)のパーティクル分布データが更新され、図4(c)の更新された仮説確率分布データが得られる。このような処理を、入力情報に基づいて繰り返し実行して、ユーザのより確からしい位置情報を得る。
【0072】
なお、パーティクル・フィルタを用いた処理の詳細については、例えば[D. Schulz, D. Fox, and J. Hightower. People Tracking with Anonymous and ID−sensors Using Rao−Blackwellised Particle Filters.Proc. of the International Joint Conference on Artificial Intelligence (IJCAI−03)]に記載されている。
【0073】
図4に示す処理例は、ユーザの存在位置のみについて、入力情報を画像データのみとした処理例として説明しており、パーティクルの各々は、ユーザ301の存在位置のみの情報を有している。
【0074】
一方、音声イベント検出部122および画像イベント検出部112から、図3(B)に示す2つの情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらの入力情報に基づいて、複数のユーザの位置と複数のユーザがそれぞれ誰であるかを判別する処理を行うことになる。従って、パーティクル・フィルタ(Particle Filter)を適用した処理では、音声・画像統合処理部131が、ユーザの位置と誰であるかの仮説に対応するパーティクルを多数設定して、音声イベント検出部122および画像イベント検出部112から、図3(B)に示す2つの情報に基づいて、パーティクル更新を行うことになる。
【0075】
音声・画像統合処理部131が、音声イベント検出部122および画像イベント検出部112から、図3(B)に示す3つの情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらを入力して実行するパーティクル更新処理例について図5を参照して説明する。
【0076】
パーティクルの構成について説明する。音声・画像統合処理部131は、予め設定した数=mのパーティクルを有する。図5に示すパーティクル1〜mである。各パーティクルには識別子としてのパーティクルID(PID=1〜m)が設定されている。
【0077】
各パーティクルに、仮想的なオブジェクトに対応する複数のターゲットtID=1,2,・・・nを設定する。本例では、例えば実空間に存在すると推定される人数以上の仮想のユーザに対応する複数(n個)のターゲットを各パーティクルに設定する。m個のパーティクルの各々はターゲット単位でデータをターゲット数分保持する。図5に示す例では、1つのパーティクルにn個のターゲットが含まれる。図にはn個中の2個(tID=1,2)のみの具体的データ例を示している。
【0078】
音声・画像統合処理部131は、音声イベント検出部122および画像イベント検出部112から、図3(B)に示すイベント情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア[SeID])
これらのイベント情報を入力してm個のパーティクル(pID=1〜m)の更新処理を行う。
【0079】
図5に示す音声・画像統合処理部131に設定される各パーティクル1〜mに含まれるターゲット1〜nの各々は、入力するイベント情報の各々(eID=1〜k)に予め対応付けられており、その対応に従って、入力イベントに対応する選択されたターゲットの更新が実行される。具体的には、例えば画像イベント検出部112において検出された顔画像を個別のイベントとして、この顔画像イベント各々にターゲットを対応付けて処理を行なう。
【0080】
具体的な更新処理について説明する。例えば、画像イベント検出部112は、予め定めた一定のフレーム間隔で、画像入力部(カメラ)111から入力された画像情報に基づいて(a)ユーザ位置情報、(b)ユーザ識別情報、(c)顔属性情報(顔属性スコア)を生成して音声・画像統合処理部131に入力する。
【0081】
このとき、図5に示す画像フレーム350がイベントの検出対象フレームである場合、画像フレームに含まれる顔画像の数に応じたイベントが検出される。すなわち、図5に示す第1顔画像351に対応するイベント1(eID=1)と、第2顔画像352に対応するイベント2(eID=2)である。
【0082】
画像イベント検出部112は、これらの各イベントの各々(eID=1,2,・・・)について、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらを生成して音声・画像統合処理部131に入力する。すなわち、図5に示すイベント対応情報361,362である。
【0083】
音声・画像統合処理部131に設定されたパーティクル1〜mの各々に含まれるターゲット1〜nの各々は、イベント(eID=1〜k)の各々に予め対応付けられており、それぞれのパーティクルに含まれるどのターゲットを更新するかを予め設定した構成としている。なお、イベント(eID=1〜k)各々に対するターゲット(tID)の対応付けは、重複しない設定とする。すなわち、各パーティクルで重複がないように取得イベント分のイベント発生源仮説を生成する。
図5に示す例では、
(1)パーティクル1(pID=1)は、
[イベントID=1(eID=1)]の対応ターゲット=[ターゲットID=1(tID=1)]、
[イベントID=2(eID=2)]の対応ターゲット=[ターゲットID=2(tID=2)]、
(2)パーティクル2(pID=2)は、
[イベントID=1(eID=1)]の対応ターゲット=[ターゲットID=1(tID=1)]、
[イベントID=2(eID=2)]の対応ターゲット=[ターゲットID=2(tID=2)]、

(m)パーティクルm(pID=m)は、
[イベントID=1(eID=1)]の対応ターゲット=[ターゲットID=2(tID=2)]、
[イベントID=2(eID=2)]の対応ターゲット=[ターゲットID=1(tID=1)]、
【0084】
このように、音声・画像統合処理部131に設定されたパーティクル1〜mの各々に含まれるターゲット1〜nの各々は、イベント(eID=1〜k)の各々に予め対応付けられており、各イベントIDに応じて各パーティクルに含まれるどのターゲットを更新するかが決定された構成を持つ。例えば、図5に示す[イベントID=1(eID=1)]のイベント対応情報361によって、パーティクル1(pID=1)では、ターゲットID=1(tID=1)のデータのみが選択的に更新される。
【0085】
同様に、図5に示す[イベントID=1(eID=1)]のイベント対応情報361によって、パーティクル2(pID=2)も、ターゲットID=1(tID=1)のデータのみが選択的に更新される。また、図5に示す[イベントID=1(eID=1)]のイベント対応情報361によって、パーティクルm(pID=m)では、ターゲットID=2(tID=2)のデータのみが選択的に更新される。
【0086】
図5に示すイベント発生源仮説データ371,372が、各パーティクルに設定されたイベント発生源仮説データであり、これらが各パーティクルに設定されており、この情報に従ってイベントIDに対応する更新ターゲットが決定される。
【0087】
各パーティクルに含まれる各ターゲットデータについて図6を参照して説明する。図6は、図5に示すパーティクル1(pID=1)に含まれる1つのターゲット(ターゲットID:tID=n)375のターゲットデータの構成である。ターゲット375のターゲットデータは、図6に示すように、以下のデータ、すなわち、
(a)各ターゲット各々に対応する存在位置の確率分布[ガウス分布:N(m1n,σ1n)]、
(b)各ターゲットが誰であるかを示すユーザ確信度情報(uID)
uID1n1=0.0
uID1n2=0.1

uID1nk=0.5
これらのデータによって構成される。
【0088】
なお、(a)に示すガウス分布:N(m1n,σ1n)における[m1n,σ1n]の(1n)は、パーティクルID:pID=1におけるターゲットID:tID=nに対応する存在確率分布としてのガウス分布であることを意味する。
また、(b)に示すユーザ確信度情報(uID)における、[uID1n1]に含まれる(1n1)は、パーティクルID:pID=1におけるターゲットID:tID=nの、ユーザ=ユーザ1である確率を意味する。すなわちターゲットID=nのデータは、
ユーザ1である確率が0.0、
ユーザ2である確率が0.1、

ユーザkである確率が0.5、
であることを意味している。
【0089】
図5に戻り、音声・画像統合処理部131の設定するパーティクルについての説明を続ける。図5に示すように、音声・画像統合処理部131は、予め決定した数=mのパーティクル(PID=1〜m)を設定し、各パーティクルは、実空間に存在すると推定されるターゲット(tID=1〜n)各々について、
(a)各ターゲット各々に対応する存在位置の確率分布[ガウス分布:N(m,σ)]、
(b)各ターゲットが誰であるかを示すユーザ確信度情報(uID)
これらのターゲットデータを有する。
【0090】
音声・画像統合処理部131は、音声イベント検出部122および画像イベント検出部112から、図3(B)に示すイベント情報、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア[SeID])
これらのイベント情報(eID=1,2・・・)を入力し、各パーティクルにおいて予め設定されたイベント対応のターゲットの更新を実行する。
【0091】
なお、更新対象は各ターゲットデータに含まれる以下のデータ、すなわち、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
これらのデータである。
【0092】
(c)顔属性情報(顔属性スコア[SeID])は、イベント発生源を示す[シグナル情報]として最終的に利用される。ある程度の数のイベントが入力されると、各パーティクルの重み(ウェイト)も更新され、実空間の情報に最も近いデータを持つパーティクルの重みが大きくなり、実空間の情報に適合しないデータを持つパーティクルの重みが小さくなっていく。このようにパーティクルの重みに偏りが発生し収束した段階で、顔属性情報(顔属性スコア)に基づくシグナル情報、すなわち、イベント発生源を示す[シグナル情報]が算出される。
【0093】
ある特定のターゲットy(tID=y)が、あるイベント(eID=x)の発生源である確率を、
eID=x(tID=y)
として示す。例えば、図5に示すようにm個のパーティクル(pID=1〜m)が設定され、各パーティクルに2つのターゲット(tID=1,2)が設定されている場合、
第1ターゲット(tID=1)が第1イベント(eID=1)の発生源である確率は、
eID=1(tID=1)
第2ターゲット(tID=2)が第1イベント(eID=1)の発生源である確率は、
eID=1(tID=2)
である。
また、
第1ターゲット(tID=1)が第2イベント(eID=2)の発生源である確率は、
eID=2(tID=1)
第2ターゲット(tID=2)が第2イベント(eID=2)の発生源である確率は、
eID=2(tID=2)
である。
【0094】
イベント発生源を示す[シグナル情報]は、あるイベント(eID=x)の発生源が特定のターゲットy(tID=y)である確率、
eID=x(tID=y)
であり、これは、音声・画像統合処理部131に設定されたパーティクル数:mと、各イベントに対するターゲットの割り当て数との比に相当し、図5に示す例では、
eID=1(tID=1)=[第1イベント(eID=1)にtID=1を割り当てたパーティクル数)/(m)]
eID=1(tID=2)=[第1イベント(eID=1)にtID=2を割り当てたパーティクル数)/(m)]
eID=2(tID=1)=[第2イベント(eID=2)にtID=1を割り当てたパーティクル数)/(m)]
eID=2(tID=2)=[第2イベント(eID=2)にtID=2を割り当てたパーティクル数)/(m)]
このような対応関係となる。
このデータがイベント発生源を示す[シグナル情報]として最終的に利用される。
【0095】
さらに、あるイベント(eID=x)の発生源が特定のターゲットy(tID=y)である確率、
eID=x(tID=y)
このデータは、ターゲット情報に含まれる顔属性情報の算出にも適用される。すなわち、
顔属性情報StID=1〜nの算出の際に利用される。顔属性情報StID=yは、ターゲットID=yのターゲットの最終的な顔属性の期待値、すなわち、発話者である可能性を示す値に相当する。
【0096】
音声・画像統合処理部131は、音声イベント検出部122および画像イベント検出部112から、イベント情報(eID=1,2・・・)を入力し、各パーティクルにおいて予め設定されたイベント対応のターゲットの更新を実行して、
(a)複数のユーザが、それぞれどこにいるかを示す位置推定情報と、誰であるかの推定情報(uID推定情報)、さらに、顔属性情報(StID)の期待値、例えば口を動かして話しをしていることを示す顔属性期待値を含む[ターゲット情報]、
(b)例えば話をしたユーザなどのイベント発生源を示す[シグナル情報]、
これらを生成して処理決定部132に出力する。
【0097】
[ターゲット情報]は、図7の右端のターゲット情報380に示すように、各パーティクル(PID=1〜m)に含まれる各ターゲット(tID=1〜n)対応データの重み付き総和データとして生成される。図7には、音声・画像統合処理部131の有するm個のパーティクル(pID=1〜m)と、これらのm個のパーティクル(pID=1〜m)から生成されるターゲット情報380を示している。各パーティクルの重みについては後述する。
【0098】
ターゲット情報380は、音声・画像統合処理部131が予め設定した仮想的なユーザに対応するターゲット(tID=1〜n)の
(a)存在位置
(b)誰であるか(uID1〜uIDkのいずれであるか)
(c)顔属性の期待値(本処理例では発話者である期待値(確率))
これらを示す情報である。
【0099】
各ターゲットの(c)顔属性の期待値(本処理例では発話者である期待値(確率))は、前述したようにイベント発生源を示す[シグナル情報]に相当する確率、
eID=x(tID=y)
と、各イベントに対応する顔属性スコアSeID=iに基づいて算出される。iはイベントIDである。
例えばターゲットID=1の顔属性の期待値:StID=1は、以下の式で算出される。
tID=1=ΣeIDeID=i(tID=1)×SeID=i
一般化して示すと、
ターゲットの顔属性の期待値:StIDは、以下の式で算出される。
tID=ΣeIDeID=i(tID)×SeID
・・・(式1)
として示される。
【0100】
例えば、図5に示すように、システム内部にターゲットが2つ存在する場合、画像1フレーム内の画像イベント検出部112から、顔画像イベント2つ(eID=1,2)が音声・画像統合処理部131に入力された際の各ターゲット(tID=1,2)顔属性の期待値計算例を図8に示す。
【0101】
図8に示す右端のデータは、図7に示すターゲット情報380に相当するターゲット情報390であり、各パーティクル(PID=1〜m)に含まれる各ターゲット(tID=1〜n)対応データの重み付き総和データとして生成される情報に相当する。
【0102】
このターゲット情報390における各ターゲットの顔属性は、前述したようにイベント発生源を示す[シグナル情報]に相当する確率[PeID=x(tID=y)]と、各イベントに対応する顔属性スコア[SeID=i]に基づいて算出される。iはイベントIDである。
ターゲットID=1の顔属性の期待値:StID=1は、
tID=1=ΣeIDeID=i(tID=1)×SeID=i
ターゲットID=2の顔属性の期待値:StID=2は、
tID=2=ΣeIDeID=i(tID=2)×SeID=i
このように示される。
これら各ターゲットの顔属性の期待値:StIDの全ターゲットの総和は[1]になる。本処理例では、各ターゲットについて1〜0の顔属性の期待値:StIDが設定され、期待値が高いターゲットは発話者である確率が高いと判定される。
【0103】
なお、顔画像イベントeIDに(顔属性スコア[SeID])が存在しない場合(例えば、顔検出できても口が手で覆われていて口の動き検出ができない場合)は顔属性スコア[SeID]に事前知識の値[Sprior]等を用いる。事前知識の値としては、各ターゲット毎に直前に取得した値が存在する場合はその値を用いたり、事前にオフラインで所得した顔画像イベントから顔属性の平均値を計算しておきその値を用いたりする構成が可能である。
【0104】
ターゲット数と画像1フレーム内の顔画像イベントは常に同数とは限らない。ターゲット数が顔画像イベント数よりも多いときには、前述したイベント発生源を示す[シグナル情報]に相当する確率[PeID(tID)]の総和が[1]にならないため、前述した各ターゲットの顔属性の期待値算出式、すなわち、
tID=ΣeIDeID=i(tID)×SeID
・・・(式1)
上記式の各ターゲットについての期待値総和も[1]にならず、精度の高い期待値が計算できない。
【0105】
図9に示すように、画像フレーム350に前の処理フレームには存在していた第3イベント対応の第3顔画像395が検出されなくなった場合には、上記式(式1)の各ターゲットについての期待値総和も[1]にならず、精度の高い期待値が計算できない。このような場合、各ターゲットの顔属性の期待値算出式を変更する。すなわち、各ターゲットの顔属性の期待値[StID]の総和を[1]にするために、補数[1−ΣeIDeID(tID)]と事前知識の値[Sprior]を用いて顔イベント属性の期待値StIDを次式(式2)で計算する。
tID=ΣeIDeID(tID)×SeID+(1−ΣeIDeID(tID))×Sprior
・・・(式2)
【0106】
図9は、システム内部にイベント対応のターゲットが3つ設定されているが、画像1フレーム内の顔画像イベントとして2つのみが画像イベント検出部112から、音声・画像統合処理部131に入力された際の顔属性の期待値計算例を示している。
【0107】
ターゲットID=1の顔属性の期待値:StID=1は、
tID=1=ΣeIDeID=i(tID=1)×SeID=i+(1−ΣeIDeID(tID=1)×Sprior
ターゲットID=2の顔属性の期待値:StID=2は、
tID=2=ΣeIDeID=i(tID=2)×SeID=i+(1−ΣeIDeID(tID=2)×Sprior
ターゲットID=3の顔属性の期待値:StID=3は、
tID=3=ΣeIDeID=i(tID=3)×SeID=i+(1−ΣeIDeID(tID=3)×Sprior
このように計算される。
【0108】
なお、逆に、ターゲット数が顔画像イベント数よりも少ないときは、イベント数と同数になるようにターゲットを生成して前述の(式1)を適用して各ターゲットの顔属性の期待値[StID=1]を算出する。
【0109】
なお、顔属性は、本処理例では、口の動きに対応するスコアに基づく顔属性期待値、すなわち各ターゲットが発話者である期待値を示すデータとして説明しているが、前述したように、顔属性スコアは、笑顔や年齢などのスコアとして算出することが可能であり、この場合の顔属性期待値は、そのスコアに対応する属性に対応するデータとして算出されることになる。
【0110】
また、後段の項目[2.音声および画像ベースの発話認識によるスコア(AVSRスコア)算出処理を伴う発話者の特定処理について]において説明するが、発話認識によるスコア(AVSRスコア)の算出も可能であり、この場合の顔属性期待値は、この発話認識によるスコアに対応する属性に対応するデータとして算出されることになる。
【0111】
ターゲット情報は、パーティクルの更新に伴い、順次更新されることになり、例えばユーザ1〜kが実環境内で移動しない場合、ユーザ1〜kの各々が、n個のターゲット(tID=1〜n)から選択されたk個にそれぞれ対応するデータとして収束することになる。
【0112】
例えば、図7に示すターゲット情報380中の最上段のターゲット1(tID=1)のデータ中に含まれるユーザ確信度情報(uID)は、ユーザ2(uID12=0.7)について最も高い確率を有している。従って、このターゲット1(tID=1)のデータは、ユーザ2に対応するものであると推定されることになる。なお、ユーザ確信度情報(uID)を示すデータ[uID12=0.7]中の(uID12)内の(12)は、ターゲットID=1のユーザ=2のユーザ確信度情報(uID)に対応する確率であることを示している。
【0113】
このターゲット情報380中の最上段のターゲット1(tID=1)のデータは、ユーザ2である確率が最も高く、このユーザ2は、その存在位置が、ターゲット情報380中の最上段のターゲット1(tID=1)のデータに含まれる存在確率分布データに示す範囲にいると推定されることなる。
【0114】
このように、ターゲット情報380は、初期的に仮想的なオブジェクト(仮想ユーザ)として設定した各ターゲット(tID=1〜n)の各々について、
(a)存在位置
(b)誰であるか(uID1〜uIDkのいずれであるか)
(c)顔属性期待値(本処理例では発話者である期待値(確率))
の各情報を示す。従って、各ターゲット(tID=1〜n)のk個のターゲット情報の各々は、ユーザが移動しない場合は、ユーザ1〜kに対応するように収束する。
【0115】
先に説明したように、音声・画像統合処理部131は、入力情報に基づくパーティクルの更新処理を実行して、
(a)複数のユーザが、それぞれどこにいて、それらは誰であるかの推定情報としての[ターゲット情報]、
(b)例えば話をしたユーザなどのイベント発生源を示す[シグナル情報]、
これらを生成して処理決定部132に出力する。
【0116】
このように、音声・画像統合処理部131は、仮想的なユーザに対応する複数のターゲットデータを設定した複数のパーティクルを適用したパーティクルフィルタリング処理を実行して実空間に存在するユーザの位置情報を含む解析情報を生成する。すなわち、パーティクルに設定するターゲットデータの各々をイベント検出部から入力するイベント各々に対応付けて設定し、入力イベント識別子に応じて各パーティクルから選択されるイベント対応ターゲットデータの更新を行う。
【0117】
また、音声・画像統合処理部131は、各パーティクルに設定したイベント発生源仮説ターゲットと、イベント検出部から入力するイベント情報との尤度を算出し、該尤度の大小に応じた値をパーティクル重みとして各パーティクルに設定し、パーティクル重みの大きいパーティクルを優先的に再選択するリサンプリング処理を実行して、パーティクルの更新処理を行う。この処理については後述する。さらに、各パーティクルに設定したターゲットについて、経過時間を考慮した更新処理を実行する。また、パーティクルの各々に設定したイベント発生源仮説ターゲットの数に応じて、イベント発生源の確率値としてのシグナル情報の生成を行う。
【0118】
音声・画像統合処理部131が、音声イベント検出部122および画像イベント検出部112から、図3(B)に示すイベント情報、すなわち、ユーザ位置情報と、ユーザ識別情報(顔識別情報または話者識別情報)、これらのイベント情報を入力して、
(a)複数のユーザが、それぞれどこにいて、それらは誰であるかの推定情報としての[ターゲット情報]、
(b)例えば話をしたユーザなどのイベント発生源を示す[シグナル情報]、
これらの情報を生成して処理決定部132に出力する処理シーケンスについて、図10に示すフローチャートを参照して説明する。
【0119】
まず、ステップS101において、音声・画像統合処理部131は、音声イベント検出部122および画像イベント検出部112から、
(a)ユーザ位置情報
(b)ユーザ識別情報(顔識別情報または話者識別情報)
(c)顔属性情報(顔属性スコア)
これらのイベント情報を入力する。
【0120】
イベント情報の取得に成功した場合は、ステップS102に進み、イベント情報の取得に失敗した場合は、ステップS121に進む。ステップS121の処理については後段で説明する。
【0121】
イベント情報の取得に成功した場合は、音声・画像統合処理部131は、ステップS102以下において、入力情報に基づくパーティクル更新処理を行うことになるが、パーティクル更新処理の前に、まずステップS102において、各パーティクルに対する新たなターゲットの設定が必要であるか否かを判定する。本発明の構成では、先に、図5を参照して説明したように、音声・画像統合処理部131に設定される各パーティクル1〜mに含まれるターゲット1〜nの各々は、入力するイベント情報の各々(eID=1〜k)に予め対応付けられており、その対応に従って、入力イベントに対応する選択されたターゲットの更新が実行する構成としている。
【0122】
従って、例えば画像イベント検出部112から入力するイベント数が、ターゲット数より多い場合には、新たなターゲットの設定を行なうことが必要となる。具体的には、例えば図5に示す画像フレーム350にこれまで存在しなかった顔が出現した場合などである。このような場合は、ステップS103に進み、各パーティクルに新たなターゲットを設定する。このターゲットはこの新たなイベントに対応して更新されるターゲットとして設定される。
【0123】
次に、ステップS104において、音声・画像統合処理部131に設定されたパーティクル1〜mのm個のパーティクル(pID=1〜m)の各々にイベントの発生源の仮説を設定する。イベント発生源とは、例えば、音声イベントであれば、話をしたユーザがイベント発生源であり、画像イベントであれば、抽出した顔を持つユーザがイベント発生源である。
【0124】
本発明の仮説設定処理は、先に図5等を参照して説明したように、各パーティクル1〜mに含まれるターゲット1〜nの各々に、入力するイベント情報の各々(eID=1〜k)を対応付けて設定する。
【0125】
すなわち、先に図5を参照して説明したように、パーティクル1〜mの各々に含まれるターゲット1〜nの各々は、イベント(eID=1〜k)の各々に対応付けて、それぞれのパーティクルに含まれるどのターゲットを更新するかが予め設定される。このように各パーティクルで、重複がないように取得イベント分のイベント発生源仮説を生成する。なお、初期的には例えば各イベントが均等に配分されるような設定としてよい。パーティクルの数:mは、ターゲットの数:nより大きく設定されるので、複数のパーティクルが同一のイベントID−ターゲットIDの対応をもつパーティクルとして設定される。例えば、ターゲットの数:nが10とした場合、パーティクル数:m=100〜1000程度に設定した処理などが行われる。
【0126】
ステップS104における仮説設定の後、ステップS105に進む。ステップS105では、各パーティクル対応の重み、すなわちパーティクル重み[WpID]の算出を行う。このパーティクル重み[WpID]は初期的には各パーティクルに均一な値が設定されるが、イベント入力に応じて更新される。
【0127】
図11を参照して、パーティクル重み[WpID]の算出処理の詳細について説明する。パーティクル重み[WpID]は、イベント発生源の仮説ターゲットを生成した各パーティクルの仮説の正しさの指標に相当する。パーティクル重み[WpID]は、m個のパーティクル(pID=1〜m)の各々において設定された複数のターゲット各々に対応付けられたイベント発生源の入力イベントとの類似度であるイベント−ターゲット間尤度として算出される。
【0128】
図11には、音声・画像統合処理部131が、音声イベント検出部122および画像イベント検出部112から入力する1つのイベント(eID=1)に対応するイベント情報401と、音声・画像統合処理部131が保持する1つのパーティクル421を示している。パーティクル421のターゲット(tID=2)は、イベント(eID=1)に対応付けられているターゲットである。
【0129】
図11下段には、イベント−ターゲット間尤度の算出処理例を示している。パーティクル重み[WpID]は、各パーティクルにおいて算出されるイベント−ターゲットとの類似度指標としてのイベント−ターゲット間尤度の総和に対応する値として算出される。
【0130】
図11の下段に示す尤度算出処理は、
(a)ユーザ位置情報についてのイベントと、ターゲットデータとの類似度データとしてのガウス分布間尤度[DL]、
(b)ユーザ識別情報(顔識別情報または話者識別情報)についてのイベントと、ターゲットデータとの類似度データとしてのユーザ確信度情報(uID)間尤度[UL]
これらを個別に算出する例を示している。
【0131】
(a)ユーザ位置情報についてのイベントと、仮説ターゲットとの類似度データとしてのガウス分布間尤度[DL]の算出処理は以下の処理となる。
入力イベント情報中の、ユーザ位置情報に対応するガウス分布をN(m,σ)、
パーティクルから選択された仮説ターゲットのユーザ位置情報に対応するガウス分布をN(m,σ)、
として、ガウス分布間尤度[DL]を、以下の式によって算出する。
DL=N(m,σ+σ)x|m
上記式は、中心mで分散σ+σのガウス分布においてx=mの位置の値を算出する式である。
【0132】
(b)ユーザ識別情報(顔識別情報または話者識別情報)についてのイベントと、仮説ターゲットとの類似度データとしてのユーザ確信度情報(uID)間尤度[UL]の算出処理は以下の処理となる。
入力イベント情報中の、ユーザ確信度情報(uID)の各ユーザ1〜kの確信度の値(スコア)をPe[i]とする。なお、iはユーザ識別子1〜kに対応する変数である。
パーティクルから選択された仮説ターゲットのユーザ確信度情報(uID)の各ユーザ1〜kの確信度の値(スコア)をPt[i]として、ユーザ確信度情報(uID)間尤度[UL]は、以下の式によって算出する。
UL=ΣP[i]×P[i]
上記式は、2つのデータのユーザ確信度情報(uID)に含まれる各対応ユーザの確信度の値(スコア)の積の総和を求める式であり、この値をユーザ確信度情報(uID)間尤度[UL]とする。
【0133】
パーティクル重み[WpID]は、上記の2つの尤度、すなわち、
ガウス分布間尤度[DL]と、
ユーザ確信度情報(uID)間尤度[UL]
これら2つの尤度を利用し、重みα(α=0〜1)を用いて下式によって算出する。
パーティクル重み[WpID]=ΣULα×DL1−α
nは、パーティクルに含まれるイベント対応ターゲットの数である。
上記式により、パーティクル重み[WpID]を算出する。
ただし、α=0〜1とする。
このパーティクル重み[WpID]は、各パーティクルについて各々算出する。
【0134】
なお、パーティクル重み[WpID]の算出に適用する重み[α]は、予め固定された値としてもよいし、入力イベントに応じて値を変更する設定としてもよい。例えば入力イベントが画像である場合において、顔検出に成功し位置情報は取得できたが顔識別に失敗した場合などは、α=0の設定として、ユーザ確信度情報(uID)間尤度:UL=1としてガウス分布間尤度[DL]のみに依存してパーティクル重み[WpID]を算出する構成としてもよい。また、入力イベントが音声である場合において、話者識別に成功し話者情報破取得できたが、位置情報の取得に失敗した場合などは、α=0の設定として、ガウス分布間尤度[DL]=1として、ユーザ確信度情報(uID)間尤度[UL]のみに依存してパーティクル重み[WpID]を算出する構成としてもよい。
【0135】
図10のフローにおけるステップS105の各パーティクル対応の重み[WpID]の算出は、このように図11を参照して説明した処理として実行される。次に、ステップS106において、ステップS105で設定した各パーティクルのパーティクル重み[WpID]に基づくパーティクルのリサンプリング処理を実行する。
【0136】
このパーティクルリサンプリング処理は、m個のパーティクルから、パーティクル重み[WpID]に応じてパーティクルを取捨選択する処理として実行される。具体的には、例えば、パーティクル数:m=5のとき、
パーティクル1:パーティクル重み[WpID]=0.40
パーティクル2:パーティクル重み[WpID]=0.10
パーティクル3:パーティクル重み[WpID]=0.25
パーティクル4:パーティクル重み[WpID]=0.05
パーティクル5:パーティクル重み[WpID]=0.20
これらのパーティクル重みが各々設定されていた場合、
パーティクル1は、40%の確率でリサンプリングされ、パーティクル2は10%の確率でリサンプリングされる。なお、実際にはm=100〜1000といった多数であり、リサンプリングされた結果は、パーティクルの重みに応じた配分比率のパーティクルによって構成されることになる。
【0137】
この処理によって、パーティクル重み[WpID]の大きなパーティクルがより多く残存することになる。なお、リサンプリング後もパーティクルの総数[m]は変更されない。また、リサンプリング後は、各パーティクルの重み[WpID]はリセットされ、新たなイベントの入力に応じてステップS101から処理が繰り返される。
【0138】
ステップS107では、各パーティクルに含まれるターゲットデータ(ユーザ位置およびユーザ確信度)の更新処理を実行する。各ターゲットは、先に図7等を参照して説明したように、
(a)ユーザ位置:各ターゲット各々に対応する存在位置の確率分布[ガウス分布:N(m,σ)]、
(b)ユーザ確信度:各ターゲットが誰であるかを示すユーザ確信度情報(uID)として各ユーザ1〜kである確率値(スコア):Pt[i](i=1〜k)、すなわち、
uIDt1=Pt[1]
uIDt2=Pt[2]

uIDtk=Pt[k]
さらに、
(c)顔属性の期待値(本処理例では発話者である期待値(確率))
これらのデータによって構成される。
【0139】
(c)顔属性の期待値(本処理例では発話者である期待値(確率))は、前述したようにイベント発生源を示す[シグナル情報]に相当する確率、
eID=x(tID=y)
と、各イベントに対応する顔属性スコアSeID=iに基づいて算出される。iはイベントIDである。
例えばターゲットID=1の顔属性の期待値:StID=1は、以下の式で算出される。
tID=1=ΣeIDeID=i(tID=1)×SeID=i
一般化して示すと、
ターゲットの顔属性の期待値:StIDは、以下の式で算出される。
tID=ΣeIDeID=i(tID)×SeID
・・・(式1)
として示される。
【0140】
なお、ターゲット数が顔画像イベント数よりも多いときには、各ターゲットの顔属性の期待値[StID]の総和を[1]にするために、補数[1−ΣeIDeID(tID)]と事前知識の値[Sprior]を用いて顔イベント属性の期待値[StID]は、を次式(式2)で計算される。
tID=ΣeIDeID(tID)×SeID+(1−ΣeIDeID(tID))×Sprior
・・・(式2)
【0141】
ステップS107におけるターゲットデータの更新は、(a)ユーザ位置、(b)ユーザ確信度、(c)顔属性の期待値(本処理例では発話者である期待値(確率))の各々について実行する。まず、(a)ユーザ位置の更新処理について説明する。
【0142】
ユーザ位置の更新は、
(a1)全パーティクルの全ターゲットを対象とする更新処理、
(a2)各パーティクルに設定されたイベント発生源仮説ターゲットを対象とした更新処理、
これらの2段階の更新処理として実行する。
【0143】
(a1)全パーティクルの全ターゲットを対象とする更新処理は、イベント発生源仮説ターゲットとして選択されたターゲットおよびその他のターゲットのすべてを対象として実行する。この処理は、時間経過に伴うユーザ位置の分散が拡大するという仮定に基づいて実行され、前回の更新処理からの経過時間とイベントの位置情報によってカルマン・フィルタ(Kalman Filter)を用い更新される。
【0144】
以下、位置情報が1次元の場合の更新処理例について説明する。まず、前回の更新処理時間からの経過時間[dt]とし、全ターゲットについての、dt後のユーザ位置の予測分布を計算する。すなわち、ユーザ位置の分布情報としてのガウス分布:N(m,σ)の期待値(平均):[m]、分散[σ]について、以下の更新を行う。
=m+xc×dt
σ=σ+σc×dt
なお、
:予測期待値(predicted state)
σ:予測共分散(predicted estimate covariance)
xc:移動情報(control model)
σc:ノイズ(process noise)
である。
なお、ユーザが移動しない条件の下で処理する場合は、xc=0として更新処理を行うことができる。
上記の算出処理により、全ターゲットに含まれるユーザ位置情報としてのガウス分布:N(m,σ)を更新する。
【0145】
(a2)各パーティクルに設定されたイベント発生源仮説ターゲットを対象とした更新処理、
次に、各パーティクルに設定されたイベント発生源仮説ターゲットを対象とした更新処理について説明する。
ステップS103において設定したイベントの発生源の仮説に従って選択されたターゲットを更新する。先に図5を参照して説明したように、パーティクル1〜mの各々に含まれるターゲット1〜nの各々は、イベント(eID=1〜k)の各々に対応付けられたターゲットとして設定されている。
【0146】
すなわち、イベントID(eID)に応じてそれぞれのパーティクルに含まれるどのターゲットを更新するかが予め設定されており、その設定に従って各入力イベントに対応付けられたターゲットのみを更新する。例えば、図5に示す[イベントID=1(eID=1)]のイベント対応情報361によって、パーティクル1(pID=1)では、ターゲットID=1(tID=1)のデータのみが選択的に更新される。
【0147】
このイベントの発生源の仮説に従った更新処理では、このようにイベントに対応付けられたターゲットの更新を行なう。音声イベント検出部122や画像イベント検出部112から入力するイベント情報に含まれるユーザ位置を示すガウス分布:N(m,σ)などを用いた更新処理を実行する。
例えば、
K:カルマンゲイン(Kalman Gain)
:入力イベント情報:N(m,σ)に含まれる観測値(Observed state)
σ:入力イベント情報:N(m,σ)に含まれる観測値(Observed covariance)
として、以下の更新処理を行う。
K=σ/(σ+σ
=m+K(xc−m
σ=(1−K)σ
【0148】
次に、ターゲットデータの更新処理として実行する(b)ユーザ確信度の更新処理について説明する。ターゲットデータには上記のユーザ位置情報の他に、各ターゲットが誰であるかを示すユーザ確信度情報(uID)として各ユーザ1〜kである確率値(スコア):Pt[i](i=1〜k)が含まれている。ステップS107では、このユーザ確信度情報(uID)についても更新処理を行う。
【0149】
各パーティクルに含まれるターゲットのユーザ確信度情報(uID):Pt[i](i=1〜k)についての更新は、登録ユーザ全員分の事後確率と、音声イベント検出部122や画像イベント検出部112から入力するイベント情報に含まれるユーザ確信度情報(uID):Pe[i](i=1〜k)によって、予め設定した0〜1の範囲の値を持つ更新率[β]を適用して更新する。
【0150】
ターゲットのユーザ確信度情報(uID):Pt[i](i=1〜k)についての更新は、以下の式によって実行する。
Pt[i]=(1−β)×Pt[i]+β*Pe[i]
ただし、
i=1〜k
β:0〜1
である。なお、更新率[β]は、0〜1の範囲の値であり予め設定する。
【0151】
ステップS107では、この更新されたターゲットデータに含まれる以下のデータ、すなわち、
(a)ユーザ位置:各ターゲット各々に対応する存在位置の確率分布[ガウス分布:N(m,σ)]、
(b)ユーザ確信度:各ターゲットが誰であるかを示すユーザ確信度情報(uID)として各ユーザ1〜kである確率値(スコア):Pt[i](i=1〜k)、すなわち、
uIDt1=Pt[1]
uIDt2=Pt[2]

uIDtk=Pt[k]
(c)顔属性の期待値(本処理例では発話者である期待値(確率))
これらのデータによって構成される。
これらのデータと、各パーティクル重み[WpID]とに基づいて、ターゲット情報を生成して、処理決定部132に出力する。
【0152】
なお、ターゲット情報は、各パーティクル(PID=1〜m)に含まれる各ターゲット(tID=1〜n)対応データの重み付き総和データとして生成される。図7の右端のターゲット情報380に示すデータである。ターゲット情報は、各ターゲット(tID=1〜n)各々の
(a)ユーザ位置情報、
(b)ユーザ確信度情報、
(c)顔属性の期待値(本処理例では発話者である期待値(確率))
これらの情報を含む情報として生成される。
【0153】
例えば、ターゲット(tID=1)に対応するターゲット情報中の、ユーザ位置情報は、
【数1】

【0154】
上記式で表される。上記式において、Wは、パーティクル重み[WpID]を示している。
【0155】
また、ターゲット(tID=1)に対応するターゲット情報中の、ユーザ確信度情報は、
【数2】

【0156】
上記式で表される。上記式において、Wは、パーティクル重み[WpID]を示している。
【0157】
また、ターゲット(tID=1)に対応するターゲット情報中の、顔属性の期待値(本処理例では発話者である期待値(確率))は、
tID=1=ΣeIDeID=i(tID=1)×SeID=i
上記式、または、
tID=1=ΣeIDeID=i(tID=1)×SeID=i+(1−ΣeIDeID(tID=1)×Sprior
で表される。
【0158】
音声・画像統合処理部131は、これらのターゲット情報をn個の各ターゲット(tID=1〜n)各々について算出し、算出したターゲット情報を処理決定部132に出力する。
【0159】
次に、図8に示すフローのステップS108の処理について説明する。音声・画像統合処理部131は、ステップS108において、n個のターゲット(tID=1〜n)の各々がイベントの発生源である確率を算出し、これをシグナル情報として処理決定部132に出力する。
【0160】
先に説明したように、イベント発生源を示す[シグナル情報]は、音声イベントについては、誰が話をしたか、すなわち[発話者]を示すデータであり、画像イベントについては、画像に含まれる顔が誰であるかおよび[発話者]を示すデータである。
【0161】
音声・画像統合処理部131は、各パーティクルに設定されたイベント発生源の仮説ターゲットの数に基づいて、各ターゲットがイベント発生源である確率を算出する。すなわち、ターゲット(tID=1〜n)の各々がイベント発生源である確率を[P(tID=i)とする。ただしi=1〜nである。例えば、あるイベント(eID=x)の発生源が特定のターゲットy(tID=y)である確率は、先に説明したように、
eID=x(tID=y)
として示され、これは、音声・画像統合処理部131に設定されたパーティクル数:mと、各イベントに対するターゲットの割り当て数との比に相当する。例えば、図5に示す例では、
eID=1(tID=1)=[第1イベント(eID=1)にtID=1を割り当てたパーティクル数)/(m)]
eID=1(tID=2)=[第1イベント(eID=1)にtID=2を割り当てたパーティクル数)/(m)]
eID=2(tID=1)=[第2イベント(eID=2)にtID=1を割り当てたパーティクル数)/(m)]
eID=2(tID=2)=[第2イベント(eID=2)にtID=2を割り当てたパーティクル数)/(m)]
このような対応関係となる。
このデータがイベント発生源を示す[シグナル情報]として、処理決定部132に出力される。
【0162】
ステップS108の処理が終了したら、ステップS101に戻り、音声イベント検出部122および画像イベント検出部112からのイベント情報の入力の待機状態に移行する。
【0163】
以上が、図10に示すフローのステップS101〜S108の説明である。ステップS101において、音声・画像統合処理部131が、音声イベント検出部122および画像イベント検出部112から、図3(B)に示すイベント情報を取得できなかった場合も、ステップS121において、各パーティクルに含まれるターゲットの構成データの更新が実行される。この更新は、時間経過に伴うユーザ位置の変化を考慮した処理である。
【0164】
このターゲット更新処理は、先のステップS107の説明における(a1)全パーティクルの全ターゲットを対象とする更新処理と同様の処理であり、時間経過に伴うユーザ位置の分散が拡大するという仮定に基づいて実行され、前回の更新処理からの経過時間とイベントの位置情報によってカルマン・フィルタ(Kalman Filter)を用い更新される。
【0165】
位置情報が1次元の場合の更新処理例について説明する。まず、前回の更新処理時間からの経過時間[dt]とし、全ターゲットについての、dt後のユーザ位置の予測分布を計算する。すなわち、ユーザ位置の分布情報としてのガウス分布:N(m,σ)の期待値(平均):[m]、分散[σ]について、以下の更新を行う。
=m+xc×dt
σ=σ+σc×dt
なお、
:予測期待値(predicted state)
σ:予測共分散(predicted estimate covariance)
xc:移動情報(control model)
σc:ノイズ(process noise)
である。
なお、ユーザが移動しない条件の下で処理する場合は、xc=0として更新処理を行うことができる。
上記の算出処理により、全ターゲットに含まれるユーザ位置情報としてのガウス分布:N(m,σ)を更新する。
【0166】
なお、各パーティクルのターゲットに含まれるユーザ確信度情報(uID)については、イベントの登録ユーザ全員分の事後確率、もしくはイベント情報からスコア[Pe]が取得できない限りは更新しない。
【0167】
ステップS121の処理が終了したら、ステップS122において、ターゲットの削除要否を判定し必要であればステップS123においてターゲットを削除する。ターゲット削除は、例えば、ターゲットに含まれるユーザ位置情報にピークが検出されない場合など、特定のユーザ位置が得られていないようなデータを削除する処理として実行される。このようなターゲットがない場合は削除処理は不要であるステップS122〜S123の処理後にステップS101に戻り、音声イベント検出部122および画像イベント検出部112からのイベント情報の入力の待機状態に移行する。
【0168】
以上、図10を参照して音声・画像統合処理部131の実行する処理について説明した。音声・画像統合処理部131は、図10に示すフローに従った処理を音声イベント検出部122および画像イベント検出部112からのイベント情報の入力ごとに繰り返し実行する。この繰り返し処理により、より信頼度の高いターゲットを仮説ターゲットとして設定したパーティクルの重みが大きくなり、パーティクル重みに基づくリサンプリング処理により、より重みの大きいパーティクルが残存することになる。結果として音声イベント検出部122および画像イベント検出部112から入力するイベント情報に類似する信頼度の高いデータが残存することになり、最終的に信頼度の高い以下の各情報、すなわち、
(a)複数のユーザが、それぞれどこにいて、それらは誰であるかの推定情報としての[ターゲット情報]、
(b)例えば話をしたユーザなどのイベント発生源を示す[シグナル情報]、
これらが生成されて処理決定部132に出力される。
【0169】
[2.音声および画像ベースの発話認識によるスコア(AVSRスコア)算出処理を伴う発話者の特定処理について]
上述した項目[1.音声および画像イベント検出情報に基づくパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について]の処理では、発話者の特定のために顔属性情報(顔属性スコア)を生成していた。
すなわち、図2に示す情報処理装置における画像イベント検出部112が入力画像に含まれる顔の口領域の動きの大きさに応じたスコアを算出し、このスコアを利用して発話者の特定を行なう処理である。ただし、先に簡単に説明したように、口の動きの大きさからスコアを算出した処理では、ガムをかんでいるユーザやシステムに対する発話と無関係な発話や口の動きなどを区別できないため、システムに対する要求を行っているユーザの発話を特定しにくいという問題がある。
【0170】
以下では、このような欠点を解決した手法として、画像に含まれる顔の口領域の動きと発話認識との対応関係に応じたスコアを算出して発話者を特定する処理を行う構成について説明する。
図12は、この処理を行う情報処理装置500の構成例を示す図である。図12に示す情報処理装置500は、入力デバイスとして画像入力部(カメラ)111、複数の音声入力部(マイク)121a〜dを有する。画像入力部(カメラ)111から画像情報を入力し、音声入力部(マイク)121から音声情報を入力し、これらの入力情報に基づいて解析を行う。複数の音声入力部(マイク)121a〜dの各々は、先に説明した図1に示すように様々な位置に配置されている。
【0171】
図12に示す情報処理装置500の画像イベント検出部112、音声イベント検出部122、音声・画像統合処理部131、処理決定部132は、基本的には図2に示す情報処理装置100の対応構成と同様の処理を実行する。
【0172】
すなわち、音声イベント検出部122は、複数の異なるポジションに配置された複数の音声入力部(マイク)121a〜dから入力する音声情報を解析し、音声の発生源の位置情報を確率分布データとして生成する。具体的には、音源方向に関する期待値と分散データN(m,σ)を生成する。また、予め登録されたユーザの声の特徴情報との比較処理に基づいてユーザ識別情報を生成する。
画像イベント検出部112は、画像入力部(カメラ)111から入力する画像情報を解析し、画像に含まれる人物の顔を抽出し、顔の位置情報を確率分布データとして生成する。具体的には、顔の位置や方向に関する期待値と分散データN(m,σ)を生成する。
【0173】
さらに、本実施例の情報処理装置500は、図12に示すように、
音声イベント検出部122は、音声ベース発話認識処理部522を有する。
画像イベント検出部112は、画像ベース発話認識処理部512を有する。
【0174】
音声イベント検出部122の音声ベース発話認識処理部522は、音声入力部(マイク)121a〜dから入力する音声情報を解析し、データベース510に格納された単語認識辞書に登録された単語に対応する音声情報との比較処理を行い、音声ベースの発話認識処理としてのASR(Audio Speech Recognition)を実行する。すなわち、どのような言葉を話したかを識別する音声認識処理を実行し、発話したと推定される可能性の高い単語の情報(ASR情報)を生成する。なお、この処理には、例えば、従来から知られる隠れマルコフモデル(HMM)を適用した音声認識処理が適用可能である。
【0175】
また、画像イベント検出部112の画像ベース発話認識処理部512は、画像入力部(カメラ)111から入力する画像情報を解析し、ユーザの口の動きを解析する。画像ベース発話認識処理部512は、画像入力部(カメラ)111から入力する画像情報を解析して画像に含まれるターゲット(tIOD=1〜n)対応の口の動き情報を生成する。すなわちVSR(Visual Speech Recognition)によりVSR情報を生成する。
【0176】
音声イベント検出部122の音声ベース発話認識処理部522は、音声ベースの発話認識処理としてのASR(Audio Speech Recognition)を実行して、発話したと推定される可能性の高い単語の情報(ASR情報)を音声画像併用発話認識スコア算出部(AVSRスコア算出部)530に入力する。
同様に、画像イベント検出部112の画像ベース発話認識処理部512は、画像ベースの発話認識処理としてのVSR(Visual Speech Recognition)を実行して、VSRの結果としての口の動きに関する情報(VSR情報)を生成して音声画像併用発話認識スコア算出部(AVSRスコア算出部)530に入力する。画像ベース発話認識処理部512は、少なくとも音声ベース発話認識処理部522の検出した単語の発声期間に対応する期間の口の形を示す口形素情報を含むVSR情報を生成する。
【0177】
音声画像併用発話認識スコア算出部(AVSRスコア算出部)530では、音声ベース発話認識処理部522から入力するASR情報と、画像ベース発話認識処理部512の生成したVSR情報を適用して、音声情報と画像情報の両者を適用したスコアであるAVSR(Audio Visual Speech Recognition)スコアを算出し、このスコアを音声・画像統合処理部131に入力する。
【0178】
すなわち、音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、音声ベース発話認識処理部522から単語情報を入力し、画像ベース発話認識処理部512からユーザ単位の口の動き情報を入力し、単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア(AVSRスコア)設定処理を実行する。
【0179】
具体的には、ASR情報に含まれる単語情報を構成する音素単位で、VSR情報に含まれるユーザ単位の口形素情報と登録口形素情報とを比較して、類似度の高い口形素を高いスコアとする口形素スコア設定処理を行ない、さらに単語を構成する全音素に対応する口形素スコアの相加平均値または相乗平均値算出処理によってユーザ対応のスコアであるAVSRスコアを算出する。なお、具体的な処理例については後段で図面を参照して説明する。
【0180】
なお、このAVSRスコアの算出処理には、ASR処理と同様の隠れマルコフモデル(HMM)を適用した音声認識処理が適用可能である。また、例えば[http://www.clsp.jhu.edu/ws2000/final_reports/avsr/ws00avsr.pdf]に記載の処理を適用することができる。
【0181】
音声画像併用発話認識スコア算出部(AVSRスコア算出部)530の算出したAVSRスコアが、先の項目[1.音声および画像イベント検出情報に基づくパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について]において説明した顔属性スコアに対応するスコアとして利用される。すなわち、発話者の特定処理に用いられる。
【0182】
図13を参照して、ASR情報、VSR情報、およびAVSRスコアの算出処理例について説明する。
図13に示す実環境601は、図1に示すようなマイクとカメラの設定された環境である。複数のユーザ(本例では3人)がカメラによって撮影され、さらに「こんにちわ」という言葉がマイクを介して取得される。
【0183】
マイクを介して取得された音声信号は、音声イベント検出部122内の音声ベース発話認識処理部522に入力される。音声ベース発話認識処理部522は、音声ベースの発話認識処理[ASR]を実行して、発話したと推定される可能性の高い単語の情報(ASR情報)を生成して、音声・画像統合処理部131に入力する。
この例では、特にノイズ等が多く含まれない限り「こんにちわ」という単語情報が、ASR情報として音声画像併用発話認識スコア算出部(AVSRスコア算出部)530に入力される。
【0184】
一方、カメラを介して取得された画像信号は、画像イベント検出部112内の画像ベース発話認識処理部512に入力される。画像ベース発話認識処理部512は、画像ベースの発話認識処理[VSR]を実行する。具体的には、図13に示すように、取得画像に複数のユーザ[ターゲット(tID=1〜3)]が含まれる場合、各ユーザ[ターゲット(tID=1〜3)]個別の口の動きを解析する。このユーザ単位の口の動きの解析情報がVSR情報として音声画像併用発話認識スコア算出部(AVSRスコア算出部)530に入力される。
【0185】
音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、音声ベース発話認識処理部522から入力するASR情報と、画像ベース発話認識処理部512の生成したVSR情報を適用して、音声情報と画像情報の両者を適用したスコアであるAVSR(Audio Visual Speech Recognition)スコアを算出し、このスコアを音声・画像統合処理部131に入力する。
AVSRスコアは各ユーザ[ターゲット(tID=1〜3)]に対応するスコアとして算出され、音声・画像統合処理部131に入力される。
【0186】
図14を参照して、音声画像併用発話認識スコア算出部(AVSRスコア算出部)530の実行するAVSRスコア算出処理例について説明する。
図14に示す例は、
音声ベース発話認識処理部522から入力するASR情報、すなわち音声解析の結果認識された単語が「こんにちわ」であり、
画像ベース発話認識処理部512から入力するVSR情報として2ユーザ[ターゲット(tID=1〜2)]に対応する個別の口の動きの情報(口形素)が得られている場合の処理例である。
【0187】
音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、以下の処理手順に従って、各ターゲット(tID=1,2)のAVSRスコアを算出する。
(手順1)各音素に対応する時刻(ti〜ti-1)での、各音素に対する口形素のスコアを計算する。
(手順2)全スコアの相加・相乗平均値などにより、AVSRスコアを算出する。
なお、上述の処理によって、複数のターゲットに対応するAVSRスコアを算出した後、正規化処理を行ってその正規化後のAVSRスコアデータを音声・画像統合処理部131に入力する。
【0188】
図14に示すように、画像ベース発話認識処理部512から入力するVSR情報は、ユーザ[ターゲット(tID=1〜2)]に対応する個別の口の動きの情報(口形素)である。
このVSR情報は、音声ベース発話認識処理部522から入力するASR情報の「こんにちわ」の発話がなされた時間(t1〜t6)内の各文字単位(各音素)に対応する時刻(ti〜ti-1)での口の形の情報である。
【0189】
音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、上記(手順1)において、これらの各音素に対応する口の形が、音声ベース発話認識処理部522から入力するASR情報の「こんにちわ」の各音素[こ][ん][に][ち][わ]を発声する口の形に近いか否かによって各音素対応の口形素のスコア(S(ti〜ti-1))を算出する。
さらに、上記(手順2)において、全スコアの相加・相乗平均値などにより、AVSRスコアを算出する。
図14に示す例では、
ターゲットID=1(tID=1)のユーザのAVSRスコアS(tID=1)は、
S(tID=1)=meanS(ti〜ti-1)
ターゲットID=2(tID=2)のユーザのAVSRスコアS(tID=2)は、
S(tID=2)=meanS(ti〜ti-1)
である。
【0190】
なお、図14に示す例において、画像ベース発話認識処理部512から入力するVSR情報には、音声ベース発話認識処理部522から入力するASR情報の「こんにちわ」の発話がなされた時間(t1〜t6)内の各文字単位(各音素)に対応する時刻(ti〜ti-1)での口の形の情報のみならず、その前後の無音(sil)状態にある時間(t0〜t1、およびt6〜t7)の口形素情報も含まれている例を示している。
【0191】
このように、各ターゲットのAVSRスコアは、「こんにちわ」の単語の発話時間の前後の無音状態の口形素スコアも含めた計算値としてもよい。
なお、実際の発話期間、すなわち、各音素[こ][ん][に][ち][わ]の発声期間のスコアは、各音素[こ][ん][に][ち][わ]を発声する口の形に近いか否かによって各音素対応の口形素のスコア(S(t〜ti−1))を算出する。一方、この無音状態の口形素スコアとしては、例えば、時間t0〜t1の口形素スコアは、[こ]の発声直前の口の形を登録情報としてデータベース501に格納しておき、この登録情報に近い形であるほど高いスコアとするといった設定が可能である。
データベース501には、各単語の口の形の登録情報として、例えば、
おはよう:o ha yo u
こんにちわ:ko n ni chi wa
・・・・
このような音素単位の口の形の登録情報(口形素情報)が記録されている。音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、この登録情報に近い形であるほど高いスコアを設定する。
【0192】
なお、口の形に基づくスコア算出のためのデータ生成処理としては、一般的な音声認識のアプローチとして知られる単語認識のための隠れマルコフモデル(HMM)の学習処理における音素HMMの学習処理が有効である。例えば、(IT テキスト 音声認識システム 2章、3章 ISBN4−274−13228−5)に記載された構成と同様のアプローチで、単語HMMを学習する際に口形素HMMを学習することが可能である。その際、ASRとVSRで下記のような共通の音素・口形素を定義しておけば、無音のVSRスコアを算出することが可能となる。
a: あ
ka: か

sp: 無音(文中)
q: 無音(促音)
silB:無音(文頭)
silE:無音(文末)
なお、隠れマルコフモデル(HMM)を学習させる際、音素に「音素1つ(モノフォン)」と「音素連続3つ(トライフォン)」があるように、口形素にも「口形素1つ」と「口形素連続3つ」などの対応関係も学習データとしてデータベースに記録して利用することが好ましい。
【0193】
図15を参照して、画像入力部(カメラ)111から入力する画像に3人のユーザ[ターゲット(tID=1〜3)]が含まれ、その中の1人(tID=1)が実際に「こんにちわ」と発声している場合のAVSRスコアの算出処理例について説明する。
【0194】
図15に示す例は、3人のターゲット(tID=1〜3)の各々が以下のような設定である。
tID=1が、「こんにちわ」と発声している。
tID=2が無言を継続している。
tID=3がガムを噛んでいる。
このような設定の場合、先に説明した項目[1.音声および画像イベント検出情報に基づくパーティクルフィルタリング処理によるユーザの位置およびユーザ識別処理の概要について]の処理では、口の動きの大きさによって顔属性情報(顔属性スコア)を決定しているため、ガムを噛んでいるtID=3のターゲットのスコアが高く設定される可能性がある。
【0195】
しかし、本処理例で算出するAVSRスコアは、音声ベース発話認識処理部522の検出した発話単語である「こんにちわ」により近い口の動きを持つターゲットのスコア(AVSRスコア)が高くなる。
【0196】
図15に示す例では、図14に示す例と同様、各音素[こ][ん][に][ち][わ]の発声期間のスコアは、各音素[こ][ん][に][ち][わ]を発声する口の形に近いか否かによって各音素対応の口形素のスコア(S(ti〜ti-1))を算出する。無音状態についても、前述した処理と同様、例えば、時間t0〜t1の口形素スコアは、[こ]の発声直前の口の形を登録情報としてデータベース501に格納しておき、この登録情報に近い形であるほど高いスコアとしている。
この結果、図15に示すように
実際に「こんにちわ」と発声しているtID=1のユーザの口形素スコア(S(ti〜ti-1))はすべての時間において、他のターゲット(tID=2,3)の口形素スコアを上回る結果となっている。
従って、最終的に算出されるAVSRスコアについても、ターゲーット(tID=1)のAVSRスコア:[S(tID=1)=meanS(ti〜ti-1)]が他のターゲットを上回る値となる。
【0197】
このターゲット対応のAVSRスコアが音声・画像統合処理部131に入力される。音声・画像統合処理部131においては、このAVSRスコアを前述の項目1において説明した顔属性スコアに代わるスコア値として利用して発話者の特定処理を実行する。この処理によって、実際に発話を行っているユーザを高精度に特定することが可能となる。
【0198】
なお、先の項目1においても説明したが、例えば、顔検出できても口が手で覆われていて口の動き検出ができない場合などがある。この場合、そのターゲットのVSR情報は取得することができない。このような場合は、その期間についてのみ口形素スコア(S(ti〜ti-1))の代わりに事前知識の値[Sprior]を適用する。
【0199】
この処理例について、図16を参照して説明する。
図16に示す例は、先に説明した図14の処理例と同様、
音声ベース発話認識処理部522から入力するASR情報、すなわち音声解析の結果認識された単語が「こんにちわ」であり、
画像ベース発話認識処理部512から入力するVSR情報として2ユーザ[ターゲット(tID=1〜2)]に対応する個別の口の動きの情報(口形素)が得られている場合の処理例である。
【0200】
ただし、tID=1のターゲットについては、時間t2〜t4の期間が口の動きを観測できなかった期間である。同様に、tID=2のターゲットについては、時間t5の前からt6の後の期間が口の動きを観測できなかった期間である。
すなわち、
ターゲット:tID=1は「んに」において、
ターゲット:tID=2は「ちわ」において、
口形素スコアが算出不可能である。
このような口形素スコアの算出不可能期間は、音素に対応する口形素の事前知識の値[Sprior(ti〜ti-1)]を代用する。
なお、この口形素の事前知識の値[Sprior(ti〜ti-1)]は、例えば、
a)任意の固定値(0.1,0.2等)、
b)全口形素(N)に対する一様の値(1/N)、
c)事前に測定した全口形素の出現頻度に応じて設定した出現確率値、
例えばこれらの値を適用することができる。なお、これらの値は予めデータベース501に登録しておく、
【0201】
次に、図17に示すフローチャートを参照してAVSRスコア算出処理の処理シーケンスについて説明する。なお、この図17に示すフローの実行主体は、音声ベース発話認識処理部522、画像ベース発話認識処理部512、および音声画像併用発話認識スコア算出部(AVSRスコア算出部)530である。
【0202】
まず、ステップS201において、図15に示す音声入力部(マイク)121a〜dと、画像入力部(カメラ)111を介して、音声情報、画像情報が入力される。
音声情報は音声イベント検出部122に入力され、画像情報は画像イベント検出部112に入力される。
【0203】
ステップS202は音声イベント検出部122の音声ベース発話認識処理部522の処理である。音声ベース発話認識処理部522は、音声入力部(マイク)121a〜dから入力する音声情報を解析し、データベース510に格納された単語認識辞書に登録された単語に対応する音声情報との比較処理を行い、音声ベースの発話認識処理としてのASR(Audio Speech Recognition)を実行する。すなわち、どのような言葉を話したかを識別する音声認識処理を実行し、発話したと推定される可能性の高い単語の情報(ASR情報)を生成する。
【0204】
ステップS203は画像イベント検出部112の画像ベース発話認識処理部5ぬ2の処理である。画像ベース発話認識処理部512は、画像入力部(カメラ)111から入力する画像情報を解析し、ユーザの口の動きを解析する。画像ベース発話認識処理部512は、画像入力部(カメラ)111から入力する画像情報を解析して画像に含まれるターゲット(tIOD=1〜n)対応の口の動き情報を生成する。すなわちVSR(Visual Speech Recognition)によりVSR情報を生成する。
【0205】
ステップS204は、音声画像併用発話認識スコア算出部(AVSRスコア算出部)530の処理である。音声画像併用発話認識スコア算出部(AVSRスコア算出部)530は、音声ベース発話認識処理部522から入力するASR情報と、画像ベース発話認識処理部512の生成したVSR情報を適用して、音声情報と画像情報の両者を適用したスコアであるAVSR(Audio Visual Speech Recognition)スコアを算出する。
【0206】
このスコア算出処理は、例えば先に図14〜図16を参照して説明した処理である。例えば、音声ベース発話認識処理部522から入力するASR情報の「こんにちわ」の各音素[こ][ん][に][ち][わ]を発声する口の形に近いか否かによって各音素対応の口形素のスコア(S(ti〜ti-1))を算出し、この口形素スコア(S(ti〜ti-1))の相加・相乗平均値などにより、AVSRスコアを算出する。さらに正規化処理を行った各ターゲット対応のAVSRスコアを算出する。
【0207】
なお、音声画像併用発話認識スコア算出部(AVSRスコア算出部)530の算出したAVSRスコアは、図12に示す音声・画像統合処理部131に入力され、発話者特定処理に適用される。
具体的には、先の項目1において説明した顔属性情報(顔属性スコア)の代わりに、このAVSRスコアが適用され、AVSRスコアに基づくパーティクル更新処理が実行される。
【0208】
AVSRスコアは、顔属性情報(顔属性スコア[SeID])と同様、イベント発生源を示す[シグナル情報]として最終的に利用される。ある程度の数のイベントが入力されると、各パーティクルの重み(ウェイト)も更新され、実空間の情報に最も近いデータを持つパーティクルの重みが大きくなり、実空間の情報に適合しないデータを持つパーティクルの重みが小さくなっていく。このようにパーティクルの重みに偏りが発生し収束した段階で、顔属性情報(顔属性スコア)に基づくシグナル情報、すなわち、イベント発生源を示す[シグナル情報]が算出される。
すなわち、パーティクル更新処理の後、図10に示すフローチャートのステップS108の処理におけるシグナル情報の生成処理に適用されることになる。
【0209】
図8に示すフローのステップS108の処理について説明する。音声・画像統合処理部131は、ステップS108において、n個のターゲット(tID=1〜n)の各々がイベントの発生源である確率を算出し、これをシグナル情報として処理決定部132に出力する。
【0210】
先に説明したように、イベント発生源を示す[シグナル情報]は、音声イベントについては、誰が話をしたか、すなわち[発話者]を示すデータであり、画像イベントについては、画像に含まれる顔が誰であるかおよび[発話者]を示すデータである。
【0211】
音声・画像統合処理部131は、各パーティクルに設定されたイベント発生源の仮説ターゲットの数に基づいて、各ターゲットがイベント発生源である確率を算出する。すなわち、ターゲット(tID=1〜n)の各々がイベント発生源である確率を[P(tID=i)とする。ただしi=1〜nである。例えば、あるイベント(eID=x)の発生源が特定のターゲットy(tID=y)である確率は、先に説明したように、
eID=x(tID=y)
として示され、これは、音声・画像統合処理部131に設定されたパーティクル数:mと、各イベントに対するターゲットの割り当て数との比に相当する。例えば、図5に示す例では、
eID=1(tID=1)=[第1イベント(eID=1)にtID=1を割り当てたパーティクル数)/(m)]
eID=1(tID=2)=[第1イベント(eID=1)にtID=2を割り当てたパーティクル数)/(m)]
eID=2(tID=1)=[第2イベント(eID=2)にtID=1を割り当てたパーティクル数)/(m)]
eID=2(tID=2)=[第2イベント(eID=2)にtID=2を割り当てたパーティクル数)/(m)]
このような対応関係となる。
このデータがイベント発生源を示す[シグナル情報]として、処理決定部132に出力される。
【0212】
このように本処理例では、音声ベースの発話認識処理と画像ベースの発話認識処理を併用した処理によって各ターゲットのAVSRスコアを算出し、AVSRスコアを適用して発話源の特定を実行しているので、実際の発話内容に応じた口の動きを示しているユーザ(ターゲット)を高精度に発話源であると判定することが可能となる。このような発話源の推定を行なうことで、発話者の特定処理としてのダイアリゼーションの性能を向上させることが可能となる。
【0213】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0214】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0215】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0216】
以上、説明したように、本発明の一実施例の構成によれば、カメラやマイクを介する入力情報の解析により、発話者の特定処理を行う構成が実現される。音声ベースの発話認識処理と画像ベース発話認識処理を実行する。さらに、音声ベース発話認識処理部において発話可能性が高いと判定した単語情報を入力し、画像ベース発話認識処理において解析されたユーザ単位の口の動き情報である口形素情報を入力して、単語を構成する音素単位で各音素の発話の口の動きに近い場合に高いスコアを設定してユーザ単位のスコアを設定する。さらに、ユーザ単位のスコアを適用してスコアに基づく発話者特定処理を実行する。この処理により発話内容に近い口の動きを示すユーザを発話源として特定可能となり、精度の高い発話者特定が実現される。
【符号の説明】
【0217】
11〜14 ユーザ
21 カメラ
31〜34 マイク
100 情報処理装置
111 画像入力部
112 画像イベント検出部
121 音声入力部
122 音声イベント検出部
131 音声・画像統合処理部
132 処理決定部
201〜20k ユーザ
301 ユーザ
302 画像データ
350 画像フレーム
351 第1顔画像
352 第2顔画像
361,362 イベント情報
371,372 イベント発生源仮説データ
375 ターゲットデータ
380 ターゲット情報
390 ターゲット情報
395 第3顔画像
401 イベント情報
421 パーティクル
500 情報処理装置
501 データベース
512 画像ベース発話認識処理部
522 音声ベース発話認識処理部
530 音声画像併用発話認識スコア算出部

【特許請求の範囲】
【請求項1】
実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成する音声ベース発話認識処理部と、
前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成する画像ベース発話認識処理部と、
前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行する音声画像併用発話認識スコア算出部と、
前記スコアを入力して、入力スコアに基づく発話者特定処理を実行する情報統合処理部を有する情報処理装置。
【請求項2】
前記音声ベース発話認識処理部は、音声ベースの発話認識処理であるASR(Audio Speech Recognition)を実行して発話可能性が高いと判定した単語情報の音素列をASR情報として生成し、
前記画像ベース発話認識処理部は、画像ベースの発話認識処理であるVSR(Visual Speech Recognition)を実行して、少なくとも前記単語発声期間の口の形を示す口形素情報を含むVSR情報を生成し、
前記音声画像併用発話認識スコア算出部は、前記ASR情報に含まれる単語情報を構成する音素単位で、前記VSR情報に含まれるユーザ単位の口形素情報と登録口形素情報とを比較して、類似度の高い口形素を高いスコアとする口形素スコア設定処理を行ない、さらに単語を構成する全音素に対応する口形素スコアの相加平均値または相乗平均値算出処理によってユーザ対応のスコアであるAVSRスコアを算出する請求項1に記載の情報処理装置。
【請求項3】
前記音声画像併用発話認識スコア算出部は、前記ASR情報に含まれる単語情報の前後の無音時間に対応する口形素スコア設定処理を行ない、単語を構成する全音素に対応する口形素スコアと無音時間対応の口形素スコアを含むスコアの相加平均値または相乗平均値算出処理によってユーザ対応のスコアであるAVSRスコアを算出する請求項2に記載の情報処理装置。
【請求項4】
前記音声画像併用発話認識スコア算出部は、前記単語発声期間の口の形を示す口形素情報が入力されない期間についての口形素スコアとして、予め設定された事前知識の値を用いることを特徴とする請求項2または3に記載の情報処理装置。
【請求項5】
前記情報統合処理部は、前記実空間のユーザ情報についての仮説(Hypothesis)の確率分布データを設定し、前記AVSRスコアに基づく仮説の更新および取捨選択により、発話者特定処理を実行する請求項1〜4いずれかに記載の情報処理装置。
【請求項6】
前記情報処理装置は、さらに、
前記実空間の観測情報として音声情報を入力し、前記実空間に存在するユーザの推定位置情報および推定識別情報を含む音声イベント情報を生成する音声イベント検出部と、
前記実空間の観測情報として画像情報を入力し、前記実空間に存在するユーザの推定位置情報および推定識別情報を含む画像イベント情報を生成する画像イベント検出部を有し、
前記情報統合処理部は、ユーザの位置および識別情報についての仮説(Hypothesis)の確率分布データを設定し、前記イベント情報に基づく仮説の更新および取捨選択により、前記実空間に存在するユーザの位置情報を含む解析情報を生成する処理を実行する構成である請求項1〜5いずれかに記載の情報処理装置。
【請求項7】
前記情報統合処理部は、
仮想的なユーザに対応する複数のターゲットデータを設定した複数のパーティクルを適用したパーティクルフィルタリング処理を実行して前記実空間に存在するユーザの位置情報を含む解析情報を生成する構成であり、
前記パーティクルに設定するターゲットデータの各々を前記音声および画像イベント検出部から入力するイベント各々に対応付けて設定し、入力イベント識別子に応じて各パーティクルから選択されるイベント対応ターゲットデータの更新を行う構成を有することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記情報統合処理部は、
前記イベント検出部において検出された顔画像単位のイベント各々にターゲットを対応付けて処理を行なう構成を有することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
情報処理装置において実行する情報処理方法であり、
音声ベース発話認識処理部が、実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成する音声ベース発話認識処理ステップと、
画像ベース発話認識処理部が、前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成する画像ベース発話認識処理ステップと、
音声画像併用発話認識スコア算出部が、前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行する音声画像併用発話認識スコア算出ステップと、
情報統合処理部が、前記スコアを入力して、入力スコアに基づく発話者特定処理を実行する情報統合処理ステップを実行する情報処理方法。
【請求項10】
情報処理装置において情報処理を実行させるプログラムであり、
音声ベース発話認識処理部に、実空間の観測情報としての音声情報を入力し、音声ベースの発話認識処理を実行して発話可能性が高いと判定した単語情報を生成させる音声ベース発話認識処理ステップと、
画像ベース発話認識処理部に、前記実空間の観測情報としての画像情報を入力し、入力画像に含まれる各ユーザの口の動きを解析してユーザ単位の口の動き情報を生成させる画像ベース発話認識処理ステップと、
音声画像併用発話認識スコア算出部に、前記音声ベース発話認識処理部から単語情報を入力し、前記画像ベース発話認識処理部からユーザ単位の口の動き情報を入力し、前記単語情報に近い口の動きに高いスコアを設定するスコア設定処理を実行してユーザ単位のスコア設定処理を実行させる音声画像併用発話認識スコア算出ステップと、
情報統合処理部に、前記スコアを入力して、入力スコアに基づく発話者特定処理を実行させる情報統合処理ステップを実行させるプログラム。

【図10】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−186351(P2011−186351A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−54016(P2010−54016)
【出願日】平成22年3月11日(2010.3.11)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】