(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024021805
(43)【公開日】2024-02-16
(54)【発明の名称】判定プログラム、判定方法および判定装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240208BHJP
G06T 7/20 20170101ALI20240208BHJP
【FI】
G06T7/00 660B
G06T7/20 300Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022124896
(22)【出願日】2022-08-04
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(71)【出願人】
【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】鄭 明燮
(72)【発明者】
【氏名】高橋 潤
(72)【発明者】
【氏名】吉武 敏幸
(72)【発明者】
【氏名】清水 雅芳
(72)【発明者】
【氏名】越前 功
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA18
5L096CA02
5L096GA51
5L096HA02
5L096JA13
(57)【要約】
【課題】画像上の人物が本人であるかを高精度に判定する。
【解決手段】判定装置1は、各人物の挙動を示すデータが登録されたデータ群3に基づき、複数の種類の挙動のそれぞれについて、人物の間での基準挙動を示す基準挙動データを算出し、データ群3から、人物Aについての挙動を示す第1の挙動データを複数の種類のそれぞれについて取得し、第1の挙動データと基準挙動データとの差分を複数の種類のそれぞれについて算出し、複数の種類の中から差分が第1の閾値以上である1以上の第1の種類を特定して、1以上の第1の種類のそれぞれについての人物Aの挙動を示す第2の挙動データをデータ群4に登録し、入力画像2から人物の挙動を示す第3の挙動データを抽出し、第3の挙動データと第2の挙動データとの比較結果に基づいて、その人物が人物Aと同一であるか否かを判定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、前記複数の人物の間での基準挙動を示す基準挙動データを算出し、
前記第1のデータ群から、前記複数の人物のうち第1の人物についての挙動を示す第1の挙動データを前記複数の種類のそれぞれについて取得し、
前記第1の挙動データと前記基準挙動データとの差分を前記複数の種類のそれぞれについて算出し、
前記複数の種類の中から前記差分が第1の閾値以上である1以上の第1の種類を特定して、前記1以上の第1の種類のそれぞれについての前記第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、
入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、
前記第3の挙動データと前記第2の挙動データとの比較結果に基づいて、前記第2の人物が前記第1の人物と同一であるか否かを判定する、
処理を実行させる判定プログラム。
【請求項2】
前記第1の挙動データは、前記複数の種類のそれぞれについて複数取得され、
前記コンピュータに、前記複数の種類の中から、複数の前記第1の挙動データの変動幅が第2の閾値以下である1以上の第2の種類を特定する処理をさらに実行させ、
前記1以上の第1の種類は、前記1以上の第2の種類の中から特定される、
請求項1記載の判定プログラム。
【請求項3】
前記複数の種類のうち一の種類についての前記基準挙動データは、前記第1のデータ群に登録された、前記複数の人物のそれぞれについての前記一の種類の挙動を示すデータの中間値または平均値として算出される、
請求項1または2記載の判定プログラム。
【請求項4】
前記判定では、前記入力画像から、前記1以上の第1の種類のうちのいずれの種類の挙動も検出されなかった場合には、前記第2の人物が前記第1の人物とは異なると判定する、
請求項1または2記載の判定プログラム。
【請求項5】
前記コンピュータに、前記1以上の第1の種類の各挙動をとるように前記第2の人物に指示する指示情報を出力する処理をさらに実行させ、
前記第3の挙動データは、前記指示情報の出力後に撮影された前記入力画像から抽出される、
請求項1または2記載の判定プログラム。
【請求項6】
コンピュータに、
入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、
挙動を分類する複数の種類のうち、1以上の第1の種類のそれぞれについての第1の人物の挙動を示す第2の挙動データが登録された第2のデータ群を参照して、前記第3の挙動データと前記第2の挙動データとを比較し、
前記比較の結果に基づいて、前記第2の人物が前記第1の人物と同一であるか否かを判定する、
処理を実行させる判定プログラムであって、
前記第2のデータ群は、
前記第1の人物を含む複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、前記複数の種類の挙動のそれぞれについて、前記複数の人物の間での基準挙動を示す基準挙動データを算出し、
前記第1のデータ群から、前記第1の人物についての挙動を示す第1の挙動データを前記複数の種類のそれぞれについて取得し、
前記第1の挙動データと前記基準挙動データとの差分を前記複数の種類のそれぞれについて算出し、
前記複数の種類の中から前記差分が所定の閾値以上である1以上の第1の種類を特定して、前記1以上の第1の種類のそれぞれについての前記第1の人物の挙動を示すデータを前記第2の挙動データとして前記第2のデータ群に登録することによって生成される、
判定プログラム。
【請求項7】
第1のコンピュータが、
複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、前記複数の人物の間での基準挙動を示す基準挙動データを算出し、
前記第1のデータ群から、前記複数の人物のうち第1の人物についての挙動を示す第1の挙動データを前記複数の種類のそれぞれについて取得し、
前記第1の挙動データと前記基準挙動データとの差分を前記複数の種類のそれぞれについて算出し、
前記複数の種類の中から前記差分が所定の閾値以上である1以上の第1の種類を特定して、前記1以上の第1の種類のそれぞれについての前記第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、
前記第1のコンピュータまたは第2のコンピュータが、
入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、
前記第3の挙動データと前記第2のデータ群に登録された前記第2の挙動データとの比較結果に基づいて、前記第2の人物が前記第1の人物と同一であるか否かを判定する、
判定方法。
【請求項8】
複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、前記複数の人物の間での基準挙動を示す基準挙動データを算出し、
前記第1のデータ群から、前記複数の人物のうち第1の人物についての挙動を示す第1の挙動データを前記複数の種類のそれぞれについて取得し、
前記第1の挙動データと前記基準挙動データとの差分を前記複数の種類のそれぞれについて算出し、
前記複数の種類の中から前記差分が第1の閾値以上である1以上の第1の種類を特定して、前記1以上の第1の種類のそれぞれについての前記第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、
入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、
前記第3の挙動データと前記第2の挙動データとの比較結果に基づいて、前記第2の人物が前記第1の人物と同一であるか否かを判定する、処理部、
を有する判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定プログラム、判定方法および判定装置に関する。
【背景技術】
【0002】
近年、深層学習の手法を利用して生成された偽画像、特に人物の偽画像の悪用が問題となっている。このような偽画像は非常に高品質であり、一見しただけでは偽物と判別することが難しい。
【0003】
そこで、過去に撮影された画像から検出された人物の挙動と、新たに入力された画像から検出された人物の挙動とを比較して、これらの人物の同一性を判定する技術が考えられている。例えば、遠隔対話システムの参加者の過去の特徴的挙動に基づく基準挙動情報と、現対話時における参加者の特徴的挙動に基づく現在挙動情報とを比較して、その比較結果に基づいて参加者の同一性を判定する遠隔対話システムが提案されている。
【0004】
また、画像認識に関しては次のような提案もある。例えば、撮影された複数の画像から認識対象者の顔の各部位の状態を示す情報を検出して部位ごとに時系列に並べ、それらの情報が実在する人の顔における各部位の動きとして認められるかを、あらかじめ登録された各部位の動きパターンに基づいて判定する人物認識システムが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6901190号公報
【特許文献2】特開2008-71179号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記のように人物の同一性を判定する方法としては、あらかじめ決められた複数種類の挙動に関して、人物の過去の挙動の特徴量と、その人物の現在の挙動の特徴量とを比較する方法が考えられる。この方法では、人物本人に特有の挙動だけでなく、他人との差異が小さい挙動についても比較の対象となり得るので、例えば本人になりすました他人を本人と誤判定する可能性がある。
【0007】
1つの側面では、本発明は、画像上の人物が本人であるかを高精度に判定可能な判定プログラム、判定方法および判定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、コンピュータに、複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、複数の人物の間での基準挙動を示す基準挙動データを算出し、第1のデータ群から、複数の人物のうち第1の人物についての挙動を示す第1の挙動データを複数の種類のそれぞれについて取得し、第1の挙動データと基準挙動データとの差分を複数の種類のそれぞれについて算出し、複数の種類の中から差分が第1の閾値以上である1以上の第1の種類を特定して、1以上の第1の種類のそれぞれについての第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、第3の挙動データと第2の挙動データとの比較結果に基づいて、第2の人物が第1の人物と同一であるか否かを判定する、処理を実行させる判定プログラムが提供される。
【0009】
また、1つの案では、コンピュータに、入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、挙動を分類する複数の種類のうち、1以上の第1の種類のそれぞれについての第1の人物の挙動を示す第2の挙動データが登録された第2のデータ群を参照して、第3の挙動データと第2の挙動データとを比較し、比較の結果に基づいて、第2の人物が第1の人物と同一であるか否かを判定する、処理を実行させる判定プログラムが提供される。ここで、第2のデータ群は、第1の人物を含む複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、複数の人物の間での基準挙動を示す基準挙動データを算出し、第1のデータ群から、第1の人物についての挙動を示す第1の挙動データを複数の種類のそれぞれについて取得し、第1の挙動データと基準挙動データとの差分を複数の種類のそれぞれについて算出し、複数の種類の中から差分が所定の閾値以上である1以上の第1の種類を特定して、1以上の第1の種類のそれぞれについての第1の人物の挙動を示すデータを第2の挙動データとして第2のデータ群に登録することによって生成される。
【0010】
さらに、1つの案では、第1のコンピュータが、複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、複数の人物の間での基準挙動を示す基準挙動データを算出し、第1のデータ群から、複数の人物のうち第1の人物についての挙動を示す第1の挙動データを複数の種類のそれぞれについて取得し、第1の挙動データと基準挙動データとの差分を複数の種類のそれぞれについて算出し、複数の種類の中から差分が所定の閾値以上である1以上の第1の種類を特定して、1以上の第1の種類のそれぞれについての第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、第1のコンピュータまたは第2のコンピュータが、入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、第3の挙動データと第2のデータ群に登録された第2の挙動データとの比較結果に基づいて、第2の人物が第1の人物と同一であるか否かを判定する、判定方法が提供される。
【0011】
また、1つの案では、複数の人物のそれぞれの挙動を示すデータが登録された第1のデータ群に基づき、複数の種類の挙動のそれぞれについて、複数の人物の間での基準挙動を示す基準挙動データを算出し、第1のデータ群から、複数の人物のうち第1の人物についての挙動を示す第1の挙動データを複数の種類のそれぞれについて取得し、第1の挙動データと基準挙動データとの差分を複数の種類のそれぞれについて算出し、複数の種類の中から差分が第1の閾値以上である1以上の第1の種類を特定して、1以上の第1の種類のそれぞれについての第1の人物の挙動を示す第2の挙動データを第2のデータ群に登録し、入力画像から第2の人物の挙動を示す第3の挙動データを抽出し、第3の挙動データと第2の挙動データとの比較結果に基づいて、第2の人物が第1の人物と同一であるか否かを判定する、処理部を有する判定装置が提供される。
【発明の効果】
【0012】
1つの側面では、画像上の人物が本人であるかを高精度に判定できる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施の形態に係る判定装置の処理例を示す図である。
【
図2】第2の実施の形態に係るビデオ通話システムの構成例を示す図である。
【
図3】制御サーバのハードウェア構成例を示す図である。
【
図4】制御サーバが備える基本的な処理機能の構成例を示す図である。
【
図5】なりすまし判定方法の比較例を示す図である。
【
図6】本人らしい挙動について説明するための図である。
【
図7】実施形態2-1に係る制御サーバが備える処理機能の構成例を示す図である。
【
図8】挙動抽出部による挙動抽出処理の手順を示すフローチャートの例である。
【
図9】時系列特徴量のデータ構成例を示す図である。
【
図10】挙動判定部による挙動判定処理の手順を示すフローチャートの例である。
【
図12】基準挙動定義部による基準挙動定義処理の手順を示すフローチャートの例である。
【
図13】基準挙動DBのデータ構成例を示す図である。
【
図14】挙動差異算出部による挙動差異算出処理の手順を示すフローチャートの例である。
【
図15】挙動差異DBのデータ構成例を示す図である。
【
図16】判定用特徴量算出部による判定用特徴量算出処理の手順を示すフローチャートの例である。
【
図17】判定用特徴量DBのデータ構成例を示す図である。
【
図18】なりすまし判定部によるなりすまし判定処理の手順を示すフローチャートの例(その1)である。
【
図19】なりすまし判定部によるなりすまし判定処理の手順を示すフローチャートの例(その2)である。
【
図21】実施形態2-2に係る制御サーバが備える処理機能の構成例を示す図である。
【
図22】実施形態2-2におけるなりすまし判定方法について説明するための図である。
【
図23】本人が決まってとる挙動の判定処理を概念的に説明するための図である。
【
図25】判定用特徴量の選別処理を概念的に説明するための図である。
【
図27】個人挙動判定部による個人挙動判定処理の手順を示すフローチャートの例である。
【
図28】個人挙動DBのデータ構成例を示す図である。
【
図29】実施形態2-2における基準挙動定義処理の手順を示すフローチャートの例である。
【
図30】実施形態2-2における挙動差異算出処理の手順を示すフローチャートの例である。
【
図31】実施形態2-3に係る制御サーバが備える処理機能の構成例を示す図である。
【
図32】実施形態2-3におけるなりすまし判定処理の手順を示すフローチャートの例である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る判定装置の処理例を示す図である。
図1に示す判定装置1は、入力画像2に写っている人物が、所定の人物と同一か(本人であるか)を判定する装置である。判定装置1は、例えば、プロセッサやメモリを備えるコンピュータである。この場合、判定装置1の処理の少なくとも一部は、プロセッサが所定のプログラムを実行することで実現される。
【0015】
以下の説明では、入力画像2に写っている人物が人物Aか否かを判定するための処理を例示する。判定装置1は、まず、判定に用いるデータを次のような手順で生成する。
判定装置1は、人物Aを含む複数の人物のそれぞれの挙動を示すデータが登録されたデータ群3に基づき、複数の種類の挙動のそれぞれについて、複数の人物の間での基準挙動を示す基準挙動データを算出する(ステップS1)。
図1の例では、挙動が8つの種類TP1~TP8に分類されており、データ群3には、各人物について、種類TP1~TP8のそれぞれの挙動についての挙動データが登録されている。挙動データは、例えば、挙動の種類ごとに決められた1つ以上の画像特徴量を含む。なお、
図1では説明をわかりやすくするために、挙動データを0以上100以下の整数で示している。基準挙動データは、同一種類の挙動についての複数の人物の間での平均的な特徴量を示し、例えば、複数の人物の挙動データの中間値または平均値として算出される。
【0016】
次に、判定装置1は、データ群3から、人物Aの挙動データを種類TP1~TP8のそれぞれについて取得する(ステップS2)。そして、判定装置1は、人物Aの挙動データと基準挙動データとの差分を、種類TP1~TP8のそれぞれについて算出する(ステップS3)。例えば、種類TP1に対応する人物Aの挙動データ「80」と、種類TP1に対応する基準挙動データ「70」との差分「10」が算出される。また、種類TP2に対応する人物Aの挙動データ「55」と、種類TP2に対応する基準挙動データ「60」との差分「5」が算出される。
【0017】
次に、判定装置1は、種類TP1~TP8の中から、差分が所定の閾値以上である種類を特定し、特定された種類に対応する人物Aの挙動データを判定用挙動データとしてデータ群4に登録する(ステップS4)。
図1では例として、閾値が「15」であり、該当する種類として種類TP4,TP7,TP8が特定されたとする。この場合、判定装置1は、種類TP4に対応する人物Aの挙動データ「34」と、種類TP7に対応する人物Aの挙動データ「30」と、種類TP8に対応する人物Aの挙動データ「50」とが、判定用挙動データとしてデータ群4に登録される。これらの挙動データは、種類の識別番号を対応付けて登録される。
【0018】
このようにして、人物Aに対応する判定用挙動データがデータ群4に登録され、このデータ群4を参照して判定処理が実行される。判定装置1は、入力画像2から人物の挙動を示す挙動データを抽出する(ステップS5)。この処理では、種類TP1~TP8のうちの少なくとも1つの種類の挙動を示す挙動データが抽出される。次に、判定装置1は、抽出された挙動データと、データ群4に登録された種類ごとの判定用挙動データとを比較し、それらの比較結果に基づいて、入力画像2上の人物が人物Aと同一であるか否かを判定する(ステップS6)。
【0019】
例えば、ステップS5において、種類TP2,TP3,TP4,TP7の各挙動を示す挙動データが抽出されたとする。ただし、種類TP2,TP3に対応する判定用挙動データはデータ群4に登録されていない。このため、ステップS6では、種類TP4,TP7についての比較のみが実行される。
【0020】
ここで、種類TP4,TP7に対応する挙動データがそれぞれ「40」、「35」であったとする。この場合、例えば、種類TP4については挙動データ「40」と判定用挙動データ「34」との差分「6」が算出され、種類TP7については挙動データ「35」と判定用挙動データ「30」との差分「5」が算出される。閾値を「10」とすると、これらの差分はいずれも閾値以下であるので、種類TP4,TP7については判定用挙動データが示す挙動と一致したと判定される。例えば2種類以上の挙動が一致した場合に同一人物と判定されるとすると、上記の例では入力画像2上の人物は人物Aと同一であると判定される。
【0021】
ここで、挙動の種類の中には、複数の人物の間で挙動の差異が生じにくいものがある。例えば、手を挙げる、頷くといった挙動は、どの人物でも似たような挙動となる。このため、各人物の挙動データと基準挙動データとの差異が生じにくい。したがって、人物間で差異が生じにくい種類の挙動データをステップS6での比較で用いると、本人になりすました他人を本人と誤判定する可能性が高まってしまう。一方、ある人物の過去の挙動データと基準挙動データとの差異が大きい種類の挙動は、その人物に特有の挙動(本人らしい挙動)であるといえる。このため、このような種類の挙動データだけをステップS6の比較で用いることで、誤判定の可能性を抑制できる。
【0022】
データ群4に登録される判定用挙動データは、人物Aの過去の挙動データと基準挙動データとの差異が大きい種類の挙動(すなわち、人物Aとその他の人物との間で差異が大きい種類の挙動)を示す。このため、上記のように、入力画像2から抽出された挙動データのうち、データ群4に登録されている種類の挙動データだけを用いてステップS6の比較を実行することで、入力画像2上の人物が人物Aであるか否かを高精度に判定できる。
【0023】
〔第2の実施の形態〕
次に、
図1の判定装置1の処理機能を、ビデオ通話システムにおけるなりすましの判定に用いたシステムについて説明する。
【0024】
図2は、第2の実施の形態に係るビデオ通話システムの構成例を示す図である。
図2に示すビデオ通話システムは、制御サーバ100と通話端末200,200a,200b,・・・を含む。
【0025】
制御サーバ100は、
図1に示した判定装置1の一例である。この制御サーバ100は、通話端末間のビデオ通話を制御する。例えば、通話端末200a,200bの間でビデオ通話が行われる場合、制御サーバ100は、通話端末200aで収音された音声と通話端末200aで撮影された画像とを受信して、通話端末200bに送信する。これとともに、制御サーバ100は、通話端末200bで収音された音声と通話端末200bで撮影された画像とを受信して、通話端末200aに送信する。
【0026】
また、制御サーバ100は、通話端末から送信された画像に写っている人物が、その人物本人であるかを判定するなりすまし判定処理を実行する。このなりすまし判定処理を実行するために、制御サーバ100は、通話端末200,200a,200b,・・・から受信した通話時の画像を蓄積し、蓄積された画像を基になりすまし判定処理時に参照するデータを作成する。
【0027】
通話端末200,200a,200b,・・・は、ビデオ通話する人物が使用する端末装置であり、例えば、ノート型やデスクトップ型のパーソナルコンピュータ、スマートフォンなどである。通話端末200,200a,200b,・・・のそれぞれには、マイクロフォン、カメラ、スピーカ、ディスプレイなどが搭載または接続されている。ビデオ通話が行われる一方の通話端末は、マイクロフォンで収音された音声とカメラで撮影された画像とを制御サーバ100に送信する。これとともに、一方の通話端末は、他方の通話端末で収音された音声とこの通話端末で撮影された画像とを制御サーバ100から受信し、受信した音声をスピーカから出力し、受信した画像をディスプレイに表示させる。
【0028】
なお、ビデオ通話システムは、3台以上の通話端末の間でビデオ通話が可能なシステムであってもよい。
図3は、制御サーバのハードウェア構成例を示す図である。制御サーバ100は、例えば、
図3に示すようなコンピュータとして実現される。
図3に示す制御サーバ100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、GPU(Graphics Processing Unit)104、入力インタフェース(I/F)105、読み取り装置106および通信インタフェース(I/F)107を備える。
【0029】
プロセッサ101は、制御サーバ100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0030】
RAM102は、制御サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
【0031】
HDD103は、制御サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
【0032】
GPU104には、表示装置104aが接続されている。GPU104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置104aとしては、例えば、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどが使用される。
【0033】
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどが使用される。
【0034】
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、半導体メモリなどがある。
【0035】
通信インタフェース107は、ネットワーク107aを介して、通話端末200,200a,200b,・・・などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、制御サーバ100の処理機能を実現することができる。なお、通話端末200,200a,200b,・・・についても、プロセッサや主記憶装置、補助記憶装置などを含むコンピュータとして実現可能である。
【0036】
図4は、制御サーバが備える基本的な処理機能の構成例を示す図である。
図4に示すように、制御サーバ100は、記憶部110、ビデオ通話制御部120、DB(データベース)作成部130およびなりすまし判定部140を備える。
【0037】
記憶部110は、RAM102やHDD103などの制御サーバ100が備える記憶装置に確保される記憶領域である。記憶部110には、ビデオ通話時に撮影された画像が人物ごとに蓄積される画像DB(データベース)111と、なりすまし判定の際に参照されるデータが登録された判定用特徴量DB(データベース)112が記憶される。
【0038】
ビデオ通話制御部120、DB作成部130およびなりすまし判定部140の処理は、例えば、プロセッサ101が所定のアプリケーションプログラムを実行することで実現される。
【0039】
ビデオ通話制御部120は、通話端末間のビデオ通話を制御する。また、ビデオ通話制御部120は、ビデオ通話中において、通話端末から送信された動画像のデータを、通話している人物を識別する人物IDに対応付けて画像DB111に保存する。これにより、画像DB111には、各人物の過去の挙動を示す動画像データが蓄積される。さらに、ビデオ通話制御部120は、なりすまし判定部140による判定処理中において、ビデオ通話中の通話端末から送信された動画像のデータを、通話中の人物を示す人物IDとともになりすまし判定部140に入力する。
【0040】
DB作成部130は、画像DB111に蓄積された動画像データを基に各人物の過去の挙動を分析することによって、判定用特徴量DB112を作成する。判定用特徴量DB112には、人物IDごとに、本人らしい挙動(本人に特有の挙動)を示す特徴量(判定用特徴量)が登録される。この特徴量としては、例えば、手、顔、頭部の位置や動きを示すデータが登録される。
【0041】
なりすまし判定部140は、ビデオ通話中の通話端末から送信された動画像のデータをビデオ通話制御部120から取得する。なりすまし判定部140は、取得した動画像に写っている人物の挙動の特徴量を、判定用特徴量DB112に登録された、その人物に対応する判定用特徴量とを比較することで、通話中の人物が人物IDに対応する人物本人であるか否かを判定する。本人でないと判定された場合、例えば、画像に写っている人物が本人になりすました他者である、あるいは本人に似せて作成された合成画像(フェイク画像)であると判定されることになる。
【0042】
なお、なりすまし判定部140は、通話端末200,200a,200b,・・・が備えていてもよい。この場合、通話端末200,200a,200b,・・・の記憶装置に判定用特徴量DB112が記憶される。そして、通話端末200,200a,200b,・・・は、ビデオ通話先である他方の通話端末で撮影された動画像を制御サーバ100を介して受信し、なりすまし判定部140に入力することで、通話相手の人物が本人であるか否かを判定する。
【0043】
ところで、上記のように、人物の過去の挙動の特徴量と現在の挙動の特徴量とを比較することでなりすましを判定する方法としては、次の
図5に示すような方法が考えられる。
図5は、なりすまし判定方法の比較例を示す図である。この比較例では、挙動が複数の挙動パターンにあらかじめ分類される。そして、制御サーバ100は、入力された動画像から、そこに写っている人物の挙動がどの挙動パターンに該当するかを判定できるようになっている。
図5では例として、挙動が20パターンに分類され、各挙動パターンには識別のための挙動パターンIDが付与されている。
【0044】
判定用特徴量DB112には、画像DB111に蓄積された、ある人物を写した動画像から、挙動パターンごとにその人物の挙動の特徴量が登録される。すなわち、判定用特徴量DB112には、ある人物について、すべての挙動パターンに対応する特徴量が登録される。
【0045】
なりすまし判定の際には、制御サーバ100は、ビデオ通話中の人物の動画像を取得すると、その動画像から上記の挙動パターンのそれぞれに対応する挙動を検知し、検知された各挙動についての特徴量を算出する。そして、制御サーバ100は、挙動パターンごとに、判定用特徴量DB112に登録された特徴量と、取得した動画像に基づく特徴量とを比較して、特徴量の差分を算出する。
図5に示した「過去と現在との差分」は、このようにして挙動パターンごとに算出された特徴量の差分を示す。制御サーバ100は、算出された差分が所定の閾値以上の場合に、なりすましであると判定する。
【0046】
このような比較例において、判定用特徴量DB112に登録された挙動パターンごとの特徴量は、それぞれ人物の挙動の特徴を示しているものの、これらの挙動パターンの中には、本人以外の他人の動きと似ている挙動パターンも含まれる。このため、なりすましの検知に失敗したり、あるいは本人をなりすましと誤判定する可能性がある。
【0047】
図5の例では、ビデオ通話中の人物が本人になりすました他人である場合に、挙動パターンID「03」、「04」の挙動に関して特徴量の差分「0.2」が算出されている。閾値を「0.2」とすると、これらの差分の加算値「0.4」は閾値以上であるので、なりすましであると正しく判定される。一方、ビデオ通話中の人物が本人である場合に、挙動パターン「02」、「05」の挙動に関して特徴量の差分「0.2」が算出されている。これらの差分の加算値「0.4」は閾値以上であるので、本人であるにもかかわらず、なりすましであると誤判定される。
【0048】
このような誤判定の発生を抑制するためには、判定用特徴量DB112に登録される特徴量として、あらかじめ決められた複数の挙動パターンについての特徴量ではなく、人物本人に特有な挙動である「本人らしい挙動」の特徴量を用いた方がよいと考えられる。
【0049】
ここで、挙動の比較には、「本人の過去と現在の挙動の比較」と、「本人と他人の挙動の比較」の2種類が考えられる。前者では、比較対象となる挙動は、本人の過去と現在との間で一致しやすい挙動と一致しにくい挙動とに分類できる。また、後者では、比較対象となる挙動は、本人と他人との間で一致しやすい挙動と一致しにくい挙動とに分類できる。
【0050】
上記の比較例では、本人の過去と現在の挙動の比較において、本人の過去と現在との間で一致しにくい挙動だけでなく、一致しやすい挙動も比較対象となっていたことが、誤判定が発生しやすい要因であると考えられる。判定精度を上げるには、本人の過去と現在との間で一致しにくい挙動だけを比較対象にする必要がある。また、本人と他人の挙動の比較」においても、本人と他人との間で一致しにくい挙動だけを比較対象にする必要がある。
【0051】
図6は、本人らしい挙動について説明するための図である。
図6(A)は、本人の過去と現在の挙動を比較する場合を示し、
図6(B)は、本人と他人の挙動を比較する場合を示す。
【0052】
挙動の中には、大脳辺縁系による反応で、個人の成長環境などによって生成された本人固有の挙動がある。このような挙動については、本人が同様の挙動を決まって行う。このため、
図6(A)に示すように、本人の過去の挙動を分析した場合に、それらの挙動は、その本人が決まってとる挙動と一時的にとる挙動とに分類される。前者の挙動は、なりすまし判定時に取得された本人の挙動と一致しやすく、「本人らしい挙動」といえるが、後者の挙動は一致しにくい。したがって、なりすまし判定の際には前者の挙動についてのみ比較することが望ましい。
【0053】
一方、本人と他人の挙動の比較に関しては、
図6(B)に示すように、挙動は他人との差異が小さい挙動と大きい挙動とに分類される。前者の挙動は、なりすまし判定時に取得された他人の挙動と一致しやすいが、後者の挙動は、他人の挙動と一致しにくいので「本人らしい挙動」といえる。例えば、手を挙げる挙動は人によってほとんど差異がないので、なりすまし判定時に他人の挙動と一致しやすい。一方、頭を掻く挙動では、人によって頭を手のひらで掻く場合や指で掻く場合などがある。このため、頭を掻く挙動は人によって差異が大きい可能性が高く、なりすまし判定時に他人の挙動と一致しにくい。したがって、なりすまし判定の際には後者の挙動についてのみ比較することが望ましい。
【0054】
そこで、下記に示す実施形態2-1では、他人との差異が大きい挙動の特徴量が判定用特徴量DB112に登録され、なりすまし判定の際にはこれらの挙動の特徴量のみが比較されるようにする。また、実施形態2-2では、本人が決まってとる挙動のうち、他人との差異が大きい挙動の特徴量が判定用特徴量DB112に登録され、なりすまし判定の際にはこれらの挙動の特徴量のみが比較されるようにする。
【0055】
<実施形態2-1>
図7は、実施形態2-1に係る制御サーバが備える処理機能の構成例を示す図である。
図7に示すように、実施形態2-1に係る制御サーバ100において、記憶部110は、前述の画像DB111および判定用特徴量DB112に加えて、定義挙動DB(データベース)113、挙動DB(データベース)114、基準挙動DB(データベース)115および挙動差異DB(データベース)116を記憶する。
【0056】
定義挙動DB113には、挙動パターンごとに、対応する挙動を定義した特徴量(定義挙動特徴量)が登録される。定義挙動DB113は、画像に写っている人物の挙動がどの挙動パターンに該当するかを判定するために参照される。
【0057】
挙動DB114には、各人物について、過去に行われた挙動を示す特徴量が挙動パターンごとに登録される。これらの特徴量は、画像DB111に記憶された動画像に基づいて算出される。
【0058】
基準挙動DB115には、挙動パターンごとに、複数の人物の間で基準となる特徴量が基準挙動特徴量として登録される。基準挙動特徴量は、同一の挙動パターンについて複数の人物が過去に行った挙動のうち平均的な挙動を示す特徴量を示し、人物それぞれについての判定用特徴量(本人らしい挙動を示す特徴量)を算出するための基準となる。
【0059】
挙動差異DB116には、人物ごとの挙動の特徴量と基準挙動特徴量との差分値が登録される。挙動差異DB116は、判定用特徴量を算出する際に一時的に作成される。
また、
図7に示すように、DB作成部130は、挙動抽出部131、挙動判定部132、基準挙動定義部133、挙動差異算出部134および判定用特徴量算出部135を備える。
【0060】
挙動抽出部131は、画像DB111から取得した動画像データから画像認識によって特徴量を抽出し、抽出された特徴量から所定の身体部位の動きを示す特徴量を算出する。算出される特徴量は、動画像上で時間的に連続して算出され、時系列特徴量として人物の人物IDと対応付けて記憶装置(RAM102など)に記録される。
【0061】
挙動判定部132は、記録された時系列特徴量を、定義挙動DB113に挙動パターンごとに定義された定義挙動特徴量と比較することで、時系列特徴量が示す挙動がどの挙動パターンに該当するかを判定する。挙動判定部132は、いずれかの挙動パターンに該当すると判定した場合、時系列特徴量を基に該当する挙動パターンの挙動を示す挙動特徴量を生成し、生成された挙動特徴量を人物IDおよび挙動パターンIDと対応付けて挙動DB114に登録する。これにより、挙動DB114には、各人物が過去に行った挙動を示す特徴量が、挙動パターンごとに分類して登録される。
【0062】
基準挙動定義部133は、挙動DB114から挙動パターンごとに挙動特徴量を取得し、取得した挙動特徴量に基づいて該当する挙動パターンについての基準となる特徴量(基準挙動特徴量)を算出し、基準挙動DB115に登録する。
【0063】
挙動差異算出部134は、挙動DB114に登録された特徴量に基づき、人物ごとに過去の挙動の特徴量と基準挙動特徴量との差異を算出する。具体的には、人物ごとに次のような処理が実行される。挙動差異算出部134は、挙動DB114から特徴量を挙動パターンごとに取得するとともに、該当する挙動パターンの基準挙動特徴量を基準挙動DB115から取得し、これらの特徴量間の差分を示す特徴量差分値を算出する。挙動差異算出部134は、挙動パターンごとに算出された特徴量差分値を、挙動差異DB116に登録する。
【0064】
判定用特徴量算出部135は、挙動差異DB116に登録された特徴量差分値を所定の閾値と比較する。ある人物についてのある挙動パターンの挙動差分値が閾値以上の場合、その挙動パターンは他人との差異が大きく、本人らしい挙動を示すと考えられるので、この挙動パターンの特徴量が判定用特徴量として判定用特徴量DB112に登録される。このようにして、判定用特徴量DB112には、人物ごとに、本人らしい挙動を示す挙動パターンの挙動特徴量が登録される。
【0065】
また、
図7に示すように、なりすまし判定部140は、挙動抽出部141、挙動判定部142、挙動比較部143および判定結果出力部144を備える。
挙動抽出部141は、ビデオ通話中の通話端末から送信された動画像のデータをビデオ通話制御部120から取得し、取得した動画像データから画像認識によって時系列特徴量を抽出する。
【0066】
挙動判定部142は、抽出された時系列特徴量を、定義挙動DB113に挙動パターンごとに定義された定義挙動特徴量と比較することで、時系列特徴量が示す挙動がどの挙動パターンに該当するかを判定する。挙動判定部142は、いずれかの挙動パターンに該当すると判定した場合、時系列特徴量を基に該当する挙動パターンの挙動を示す挙動特徴量を生成する。
【0067】
挙動抽出部141および挙動判定部142の処理は、例えば一定時間が経過するまで継続され、生成された挙動特徴量が挙動パターンIDに対応付けて記憶装置(RAM102など)に記録される。
【0068】
挙動比較部143は、記録された挙動特徴量を取得するとともに、その挙動特徴量に対応する挙動パターンの判定用特徴量を判定用特徴量DB112から取得して、これらの特徴量間の差分と所定の閾値とを比較する。挙動比較部143は、差分が閾値以内の場合に、挙動特徴量が示す挙動(通話中の人物の挙動)が、判定用特徴量が示す挙動(本人らしい挙動)と一致すると判定する。挙動比較部143は、挙動パターンのうち、通話中の人物の挙動が本人らしい挙動と一致すると判定されたパターン数が所定の閾値以上である場合に、通話中の人物が本人であると判定する。一方、挙動比較部143は、判定されたパターン数が閾値未満の場合、なりすましと判定する。
【0069】
判定結果出力部144は、なりすましの判定結果を出力する。例えば、判定結果出力部144は、判定結果を、判定対象の人物の通話先である通話端末の表示装置に表示させる。
【0070】
以下、実施形態2-1に係る制御サーバ100の処理を、フローチャートを用いて説明する。
図8は、挙動抽出部による挙動抽出処理の手順を示すフローチャートの例である。
【0071】
[ステップS11]挙動抽出部131は、画像DB111から動画像データを取得する。取得した動画像データには、撮影時に通話していた人物の人物IDが付加されている。
[ステップS12]挙動抽出部131は、取得した動画像データの各フレームから、画像認識によって特徴量を抽出する。特徴量としては、例えば、所定の身体部位の座標が抽出される。
【0072】
[ステップS13]挙動抽出部131は、抽出された特徴量に基づいて頭部の動きを検出する。
[ステップS14]挙動抽出部131は、抽出された特徴量に基づいて手の動きを検出する。
【0073】
[ステップS15]挙動抽出部131は、抽出された特徴量に基づいて瞬きを検出する。
[ステップS16]挙動抽出部131は、抽出された特徴量に基づいて視線の動きを検出する。
【0074】
以上のステップS13~S16の処理は、並列に実行されてもよいし、順に実行されてもよい。後者の場合、処理順は特に限定されない。
[ステップS17]挙動抽出部131は、ステップS13~S16での検出結果に基づいて時系列特徴量を記憶装置に記録する。
【0075】
[ステップS18]挙動抽出部131は、画像DB111に記憶されたすべての動画像データについて処理済みかを判定する。未処理の動画像データがある場合、処理がステップS11に進められ、未処理の動画像データのうちの1つが取得される。一方、すべての動画像データについて処理済みの場合、挙動抽出処理が終了する。
【0076】
図9は、時系列特徴量のデータ構成例を示す図である。
図8のステップS17では、例えば、
図9に示すような時系列特徴量151が記録される。
時系列特徴量151には、人物IDに対応付けて、日時と特徴量とが複数組登録される。日時は、フレームの撮影日時を示す。特徴量は、フレームから抽出された特徴量を示す。この特徴量としては、身体部位を識別するIDと、その身体部位のフレーム上の座標とが、フレームから抽出された身体部位ごとに登録される。
【0077】
図10は、挙動判定部による挙動判定処理の手順を示すフローチャートの例である。
[ステップS21]挙動判定部132は、
図8の処理によって記録された時系列特徴量の中から1つを取得する。
【0078】
[ステップS22]挙動判定部132は、取得した時系列特徴量と、定義挙動DB113に登録された挙動パターンごとの定義挙動特徴量とを比較する。
[ステップS23]挙動判定部132は、時系列特徴量が、いずれかの挙動パターンの定義挙動特徴量と一致したかを判定する。一致した場合、処理がステップS24に進められ、いずれの挙動パターンの定義挙動特徴量とも一致しなかった場合、処理がステップS25に進められる。
【0079】
[ステップS24]挙動判定部132は、ステップS21で取得した時系列特徴量に基づき、一致した挙動パターンに対応する挙動特徴量を算出する。挙動判定部132は、算出された挙動特徴量を、少なくとも人物IDおよび挙動パターンIDに対応付けて挙動DB114に登録する。
【0080】
[ステップS25]挙動判定部132は、
図8の処理によって記録されたすべての時系列特徴量について処理済みかを判定する。未処理の時系列特徴量がある場合、処理がステップS21に進められ、未処理の時系列特徴量のうちの1つが取得される。一方、すべての時系列特徴量について処理済みの場合、挙動判定処理が終了する。
【0081】
以上の処理により、各人物が過去に行った挙動を示す特徴量が挙動パターンごとに挙動DB114に登録される。
図11は、挙動DBのデータ構成例を示す図である。
図11に示すように、挙動DB114には人物ごとのテーブル114aが登録される。
【0082】
テーブル114aには、人物IDと、検出された挙動パターンの数とが対応付けられる。また、テーブル114aには、日時、挙動パターンIDおよび挙動特徴量を含むレコードが登録される。日時は、挙動パターンの挙動が検出された時系列特徴量に付加された日時のうち、先頭の日時(すなわち、該当する挙動の検出が開始された日時)を示す。挙動パターンIDは、検出された挙動の挙動パターンを示す。挙動特徴量は、
図10のステップS24で算出された特徴量である。
【0083】
挙動特徴量として登録されるデータは、挙動パターンIDごとにあらかじめ決められている。例えば、挙動パターンID「4」が「頭を手で掻く」という挙動を示す場合、挙動特徴量としては、頭および手のそれぞれについての向き、位置および座標が登録される。また、挙動パターンID「8」が「両手を頭の後ろで組む」という挙動を示す場合、挙動特徴量としては、頭、右手および左手のそれぞれについての向き、位置および座標が登録される。ここで、例えば、挙動特徴量に含まれる「座標」は、対応する身体部位上の1以上の特徴点の座標を示し、「位置」は、これらの特徴点の座標の中央値を示す。
【0084】
なお、挙動DB114には、同一の挙動パターンについて複数の挙動特徴量が登録されることが望ましい。換言すると、画像DB111には、各人物について、同じ挙動パターンの挙動が複数回写るように動画像データが蓄積されることが望ましい。また、挙動特徴量は、複数フレームにわたる時系列特徴量であってもよい。
【0085】
図12は、基準挙動定義部による基準挙動定義処理の手順を示すフローチャートの例である。
[ステップS31]基準挙動定義部133は、すべての挙動パターンの中から1つを選択する。
【0086】
[ステップS32]基準挙動定義部133は、挙動DB114から、選択された挙動パターンについての挙動特徴量を取得する。この処理では、人物IDに関係なく、該当する挙動パターンについての挙動特徴量が取得される。
【0087】
[ステップS33]基準挙動定義部133は、挙動DB114から該当する挙動パターンについてのすべての挙動特徴量を取得済みかを判定する。未取得の挙動特徴量がある場合、処理がステップS32に進められ、該当する挙動パターンについての挙動特徴量のうち、未取得の挙動特徴量の1つが取得される。一方、すべての挙動特徴量を取得済みの場合、処理がステップS34に進められる。
【0088】
[ステップS34]基準挙動定義部133は、ステップS32で取得された挙動特徴量に基づいて、該当する挙動パターンに対応する基準挙動特徴量を算出する。基準挙動特徴量は、例えば、ステップS32で取得された挙動特徴量の、パラメータごとの中央値または平均値として算出される。また、挙動特徴量が時系列特徴量である場合には、例えば、各時系列特徴量をベクトルとして表し、それらのベクトルの平均を算出することで、時系列の基準挙動特徴量を算出することができる。基準挙動定義部133は、算出された基準挙動特徴量を、挙動パターンIDに対応付けて基準挙動DB115に登録する。
【0089】
[ステップS35]基準挙動定義部133は、すべての挙動パターンについて処理済みかを判定する。未処理の挙動パターンがある場合、処理がステップS31に進められ、未処理の挙動パターンの1つが選択される。一方、すべての挙動パターンについて処理済みの場合、基準挙動定義処理が終了する。
【0090】
以上の処理により、他人との比較によって本人らしい挙動の特徴量を算出するための基準となる基準挙動特徴量が、挙動パターンごとに算出される。
図13は、基準挙動DBのデータ構成例を示す図である。
図13に示すように、基準挙動DB115には、挙動パターンIDごとに基準挙動特徴量が登録されている。基準特徴量のデータ形式は、各挙動パターンIDに対応する挙動特徴量と同じである。また、挙動特徴量が時系列特徴量である場合、基準挙動特徴量も時系列特徴量となる。
【0091】
図14は、挙動差異算出部による挙動差異算出処理の手順を示すフローチャートの例である。
[ステップS41]挙動差異算出部134は、処理対象とする人物を選択する。
【0092】
[ステップS42]挙動差異算出部134は、挙動DB114を参照し、選択された人物の人物IDに対応付けられた挙動パターンの中から1つを選択する。
[ステップS43]挙動差異算出部134は、挙動DB114から、選択された挙動パターンに対応する挙動特徴量を取得する。
【0093】
[ステップS44]挙動差異算出部134は、ステップS42で選択された挙動パターンに対応する基準挙動特徴量を基準挙動DB115から取得し、ステップS43で取得した挙動特徴量との差分を、特徴量差分値として算出する。ステップS43で複数の挙動特徴量が取得された場合、例えば、各挙動特徴量と基準挙動特徴量との差分の中央値または平均値が、特徴量差分値として算出される。
【0094】
なお、挙動特徴量が時系列特徴量である場合、特徴量差分値は、例えば、特徴量内のパラメータごとに、ベクトルの差分(例えば角度差)やユークリッド距離として算出される。
【0095】
[ステップS45]挙動差異算出部134は、算出された特徴量差分値を、ステップS41で選択された人物を示す人物IDと、ステップS42で選択された挙動パターンを示す挙動パターンIDとに対応付けて挙動差異DB116に登録する。
【0096】
[ステップS46]挙動差異算出部134は、すべての挙動パターンについて処理済みかを判定する。未処理の挙動パターンがある場合、処理がステップS42に進められ、未処理の挙動パターンの1つが選択される。一方、すべての挙動パターンについて処理済みの場合、処理がステップS47に進められる。
【0097】
[ステップS47]挙動差異算出部134は、すべての人物について処理済みかを判定する。未処理の人物がある場合、処理がステップS41に進められ、未処理の人物の1人が選択される。一方、すべての人物について処理済みの場合、挙動差異算出処理が終了する。
【0098】
以上の処理により、各人物について、基準パターンごとの過去の本人の挙動と他人の挙動との差異を示す特徴量差分値が算出される。
図15は、挙動差異DBのデータ構成例を示す図である。
図15に示すように、挙動差異DB116には、人物ごとのテーブル116aが登録される。テーブル116aには、人物IDと、検出された挙動パターンの数とが対応付けられる。また、テーブル116aには、挙動パターンIDごとに特徴量差分値が登録される。特徴量差分値としては、対応する挙動特徴量に含まれるパラメータごとの差分値が登録される。
【0099】
例えば、挙動パターンID「01」は「頭を横に傾ける」という挙動を示すとし、この挙動に対応する挙動特徴量には顔の向き、位置および座標が登録されるとする。この場合、特徴量差分値としては、顔の向きについての差分値(向き差分値)と顔の位置についての差分値(位置差分値)とが登録される。また、挙動パターンID「04」は前述のように「頭を手で掻く」という挙動を示し、この挙動に対応する挙動特徴量には頭および手のそれぞれについての向き、位置および座標が登録されるとする。この場合、特徴量差分値としては、頭および手についての向き差分値および位置差分値が登録される。
【0100】
図16は、判定用特徴量算出部による判定用特徴量算出処理の手順を示すフローチャートの例である。
[ステップS51]判定用特徴量算出部135は、処理対象とする人物を選択する。
【0101】
[ステップS52]判定用特徴量算出部135は、挙動差異DB116を参照し、選択された人物の人物IDに対応付けられた挙動パターンの中から1つを選択する。
[ステップS53]判定用特徴量算出部135は、挙動差異DB116から、選択された挙動パターンに対応する特徴量差分値を取得する。
【0102】
[ステップS54]判定用特徴量算出部135は、取得した特徴量差分値が所定の閾値以上かを判定する。特徴量差分値が閾値以上の場合、処理がステップS55に進められ、特徴量差分値が閾値未満の場合、処理がステップS56に進められる。
【0103】
[ステップS55]判定用特徴量算出部135は、ステップS51で選択された人物とステップS52で選択された挙動パターンとに対応付けられた挙動特徴量を挙動DB114から取得する。判定用特徴量算出部135は、取得した挙動特徴量は、上記人物の人物IDおよび上記挙動パターンの挙動パターンIDに対応付けて、判定用特徴量として判定用特徴量DB112に登録する。
【0104】
なお、実際には、特徴量内のパラメータごとに閾値が設定され、例えば、すべてのパラメータについての差分の絶対値が対応する閾値以上の場合に、処理がステップS55に進められる。また、挙動DB114に該当する挙動特徴量が複数登録されている場合、例えば、それらの挙動特徴量の中央値または平均値が判定用特徴量として登録される。また、挙動特徴量が時系列特徴量である場合、例えば、各時系列特徴量をベクトルとして表し、それらのベクトルの平均を算出することで、時系列の判定用特徴量を算出することができる。
【0105】
[ステップS56]判定用特徴量算出部135は、すべての挙動パターンについて処理済みかを判定する。未処理の挙動パターンがある場合、処理がステップS52に進められ、未処理の挙動パターンの1つが選択される。一方、すべての挙動パターンについて処理済みの場合、処理がステップS57に進められる。
【0106】
[ステップS57]判定用特徴量算出部135は、すべての人物について処理済みかを判定する。未処理の人物がある場合、処理がステップS51に進められ、未処理の人物の1人が選択される。一方、すべての人物について処理済みの場合、判定用特徴量算出処理が終了する。
【0107】
以上の処理により、各人物について、本人らしい挙動として他人との差異が大きい挙動の挙動パターンが判定され、その挙動パターンについての判定用特徴量が判定用特徴量DB112に登録される。
【0108】
なお、
図16の処理では、特徴量差分値が閾値以上となったすべての挙動パターンの挙動特徴量を、判定用特徴量として登録していた。しかし、他の例として、特徴量差分値が閾値以上となった挙動パターンのうち、特徴量差分値が大きい順に所定数の挙動パターンの挙動特徴量だけを、判定用特徴量として登録してもよい。
【0109】
図17は、判定用特徴量DBのデータ構成例を示す図である。
図17に示すように、判定用特徴量DB112には、人物ごとのテーブル112aが登録される。テーブル112aには、人物IDと、本人らしい挙動を示す挙動パターンの数とが対応付けられる。また、テーブル112aには、本人らしい挙動を示す挙動パターンの挙動パターンIDごとに、
図16のステップS55で算出された判定用特徴量が登録される。判定用特徴量のデータ形式は、各挙動パターンIDに対応する挙動特徴量と同じである。また、挙動特徴量が時系列特徴量である場合、判定用特徴量も時系列特徴量となる。
【0110】
次に、判定用特徴量DB112を用いたなりすまし判定処理について説明する。
図18、
図19は、なりすまし判定部によるなりすまし判定処理の手順を示すフローチャートの例である。
【0111】
[ステップS61]なりすまし判定部140の挙動抽出部141は、ビデオ通話制御部120からの動画像データの取得を開始する。この動画像データは、通話中の通話端末において撮影され、制御サーバ100に送信された動画像データである。また、動画像データには、通話中の本来の人物を示す人物IDが付加されており、この人物IDが判定対象の人物を識別する番号となる。
【0112】
[ステップS62]挙動抽出部141は、
図8のステップS12~S17と同様の手順で、動画像データの各フレームから画像認識によって特徴量を抽出し、特徴量を基に時系列特徴量を算出して、記憶装置(RAM102など)に記録する。
【0113】
[ステップS63]なりすまし判定部140の挙動判定部142は、
図10と同様の手順で、記録された時系列特徴量を定義挙動DB113内の定義挙動特徴量と比較することで、いずれかの挙動パターンに合致する挙動を検出する。挙動判定部142は、時系列特徴量がいずれかの挙動パターンの定義挙動特徴量と一致した場合に、時系列特徴量を基にその挙動パターンに対応する挙動特徴量を算出し、挙動パターンIDに対応付けて記憶装置に記録する。
【0114】
[ステップS64]なりすまし判定部140は、挙動比較処理の実行条件を満たすかを判定する。実行条件としては、例えば、
図18の処理開始から一定時間が経過した、あるいはステップS63の処理により一定数の挙動特徴量が記録された等の条件が適用される。実行条件を満たさない場合、処理がステップS62に進められ、取得される動画像データを用いたステップS62,S63の処理が継続して実行される。一方、実行条件を満たす場合、処理がステップS65に進められ、挙動比較処理が開始される。
【0115】
[ステップS65]なりすまし判定部140の挙動比較部143は、判定用特徴量DB112から、判定対象の人物の人物IDに対応付けられた挙動パターンID(すなわち、本人らしい挙動を示す挙動パターンの挙動パターンID)をすべて取得する。挙動比較部143は、取得した挙動パターンIDと、ステップS63で記録された挙動パターンID(すなわち、判定対象の人物について検出された挙動の挙動パターンID)とを比較する。
【0116】
[ステップS66]挙動比較部143は、ステップS65で判定用特徴量DB112から取得した挙動パターンIDの少なくとも1つが、ステップS63で記録された挙動パターンIDの中に含まれているかを判定する。前者の挙動パターンIDの少なくとも1つが後者の挙動パターンに含まれている場合、処理がステップS67に進められる。一方、前者の挙動パターンIDのいずれも、後者の挙動パターンIDに含まれていない場合、処理がステップS74に進められる。このケースとしては、判定対象の人物に対応する挙動が検出されたものの、本人らしい挙動が1つも検出されなかったケースや、その人物が何の挙動もしなかったケース(例えば静止しているケース)などが考えられる。
【0117】
[ステップS67]挙動比較部143は、ステップS63で記録された挙動パターンIDに含まれ、かつ、ステップS65で判定用特徴量DB112から取得した挙動パターンIDに含まれる挙動パターンの中から1つを選択する。
【0118】
[ステップS68]挙動比較部143は、ステップS63で記録された挙動特徴量のうち、ステップS67で選択された挙動パターンIDに対応する挙動特徴量を取得する。また、挙動比較部143は、ステップS67で選択された挙動パターンIDに対応する判定用特徴量を判定用特徴量DB112から取得する。そして、挙動比較部143は、これらの特徴量の間の差分を算出する。なお、ステップS63において該当挙動パターンIDに対応する挙動特徴量が複数記録された場合には、例えば、それらの挙動特徴量の中央値または平均値が算出され、その算出結果と判定用特徴量との差分が算出される。
【0119】
なお、挙動特徴量が時系列特徴量である場合、特徴量差分値は、例えば、特徴量内のパラメータごとに、ベクトルの差分(例えば角度差)やユークリッド距離として算出される。
【0120】
[ステップS69]挙動比較部143は、算出された差分の絶対値が所定の閾値以下かを判定する。差分の絶対値が閾値以下の場合、処理がステップS70に進められ、差分の絶対値が閾値を超える場合、処理がステップS71に進められる。なお、実際には、特徴量内のパラメータごとに閾値が設定され、例えば、すべてのパラメータについての差分の絶対値が対応する閾値以下の場合に、処理がステップS70に進められる。
【0121】
[ステップS70]挙動比較部143は、ステップS67で選択された挙動パターンIDを、本人らしい挙動と一致した挙動の挙動パターンIDとして記憶装置に記録する。
[ステップS71]挙動比較部143は、ステップS67において条件に合致する挙動パターンIDをすべて選択済みかを判定する。未選択の挙動パターンIDがある場合、処理がステップS67に進められ、未選択の挙動パターンIDが1つ選択される。一方、該当する挙動パターンをすべて選択済みの場合、処理がステップS72に進められる。
【0122】
[ステップS72]挙動比較部143は、ステップS70で記録された挙動パターンIDの数、すなわち本人らしい挙動と一致した挙動数が、所定の閾値以上かを判定する。挙動数が閾値以上の場合、処理がステップS73に進められ、挙動数が閾値未満の場合、処理がステップS74に進められる。なお、閾値としては、挙動パターンごとに異なる値が用いられてもよい。
【0123】
[ステップS73]挙動比較部143は、判定対象の人物が本人であると判定する。判定結果出力部144は、その判定結果を示す情報を出力する。
[ステップS74]挙動比較部143は、判定対象の人物が本人でないと判定する。判定結果出力部144は、その判定結果を示す情報を出力する。
【0124】
ステップS73,S74では、例えば、判定結果出力部144は、判定結果を判定対象の人物の通話先である通話端末の表示装置に表示させる。また、ステップS74では、判定結果として、例えば、なりすましであることを示す情報が表示される。
【0125】
以上の処理では、通話中の動画像から複数の挙動パターンの挙動が検出された場合に、それらの挙動のうち、他人との差異が大きい挙動についてのみ判定用特徴量の比較が実行される。そして、検出された所定数以上の挙動が他人との差異が大きい挙動(すなわち、本人らしい挙動)と一致した場合に、判定対象の人物が本人であると判定される。これにより、
図5に示した比較例の場合より本人であるか否か(なりすましか否か)の判定精度を向上させることができる。
【0126】
図20は、判定結果の表示画面の例を示す図である。
図20に示す表示画面210は、ステップS73,S74で通話先の通話端末の表示装置に表示される画面の例である。
この表示画面210には、なりすましの判定結果を示す判定結果表示部211が表示される。
図20は、ステップS74が実行された場合を例示しており、判定結果表示部211にはなりすましと判定されたことが表示される。
【0127】
また、表示画面210にはさらに、挙動の検出結果を示す挙動検出結果表示部212が表示されている。挙動検出結果表示部212には、該当する人物についての本人らしい挙動ごとにレコードが表示される。各レコードには、挙動パターンを識別するID(挙動パターンID)と、挙動の説明文と、差異とが表示される。差異としては、
図19のステップS68で算出された特徴量間の差分の絶対値が表示される。
【0128】
なお、判定結果を示す情報としては、本人であるか否か(なりすましか否か)を示す情報の他に、例えば、ステップS68で算出された差分絶対値の加算値などに応じて、本人である可能性やなりすましである可能性を示す数値が表示されてもよい。
【0129】
<実施形態2-2>
実施形態2-2は、上記の実施形態2-1における制御サーバ100の処理の一部を変形したものである。実施形態2-1では、他人との差異が大きい挙動特徴量が判定用特徴量DB112に登録された。これに対して、実施形態2-2では、まず、人物本人の過去の挙動に基づいて、本人が決まってとる挙動が特定される。その後、本人が決まってとる挙動のうち、他人との差異が大きい挙動の特徴量が判定用特徴量DB112に登録される。
【0130】
図6(A)に示したように、本人が決まってとる挙動は、なりすまし判定時に取得された本人の挙動と一致しやすい。しかし、他人の挙動と一致しにくいとはいえない。一方、
図6(B)に示したように、他人との差異が大きい挙動は、なりすまし判定時に他人の挙動と一致しにくい。このため、本人が決まってとる挙動の中から、他人との差異が大きい挙動を選別してそれらの挙動の特徴量を判定用特徴量DB112に登録することで、なりすまし判定時に本人の挙動と一致しやすく、他人の挙動とは一致しにくい挙動の特徴量を判定時に用いることができる。その結果、本人か否かの判定精度を高めることができる。
【0131】
図21は、実施形態2-2に係る制御サーバが備える処理機能の構成例を示す図である。
図21に示すように、実施形態2-2に係る制御サーバ100において、記憶部110にはさらに個人挙動DB117が記憶される。また、DB作成部130はさらに個人挙動判定部136を備える。
【0132】
個人挙動判定部136は、各人物について、挙動パターンごとに挙動DB114に登録された挙動特徴量の変動幅(最大値から最小値までの差分)を算出し、算出された変動幅が、挙動パターンごとに設定された許容値以下かを判定する。個人挙動判定部136は、変動幅が許容値以下の場合、挙動パターンに対応する挙動を本人が決まってとる挙動であると判定し、その挙動パターンに対応する挙動特徴量(個人挙動特徴量)を挙動パターンIDに対応付けて個人挙動DB117に登録する。したがって、個人挙動DB117には、人物ごとに少なくとも、その人物の本人が決まってとる挙動の挙動パターンIDと、その挙動を示す個人挙動特徴量とが対応付けて登録される。
【0133】
なお、基準挙動定義部133は、挙動DB114の代わりに個人挙動DB117から挙動特徴量を取得することで、挙動パターンごとの基準挙動特徴量を算出して基準挙動DB115に登録する。また、挙動差異算出部134は、挙動DB114の代わりに個人挙動DB117から取得した挙動特徴量を基準挙動特徴量と比較することで、挙動パターンごとの特徴量差分値を挙動差異DB116に登録する。
【0134】
図22は、実施形態2-2におけるなりすまし判定方法について説明するための図である。
図22では、挙動が20個の挙動パターンに分類されているとする。
上記のように、個人挙動判定部136は、ある人物について、挙動DB114から挙動パターンごとに挙動特徴量の変動幅を算出し、変動幅が許容値以下かを判定する。
図22では、変動幅が許容値以下の場合を変動幅「小」と示し、許容を超える場合を変動幅「大」と示している。
図22では例として、挙動パターンID「03」、「04」についての変動幅が「小」となっており、これらに対応する挙動が、本人が決まってとる挙動と判定されている。
【0135】
また、例えば、挙動パターン「03」、「04」、「06」の挙動が、他人の挙動との差異が大きいとする。判定用特徴量算出部135は、これらの挙動パターンのうち、変動幅「小」と判定された挙動パターン「03」、「04」の挙動を示す判定用特徴量を、判定用特徴量DB112に登録する。
【0136】
この場合、なりすまし判定部140は、通話端末で撮影された動画像から検出された挙動のうち、挙動パターン「03」、「04」の挙動の特徴量だけを、判定用特徴量と比較する。例えば、人物本人が写る動画像が入力されたとき、挙動パターンID「03」、「04」の挙動に関していずれも特徴量の差分「0.0」が算出されたとする。この場合、差分の加算値「0.0」は閾値「0.2」以下であるので、人物が本人であると正しく判定される。一方、本人になりすました他人が写る動画像が入力されたとき、挙動パターンID「03」、「04」の挙動に関していずれも特徴量の差分「0.2」が算出されたとする。この場合、差分の加算値「0.4」は閾値「0.2」を超えるので、人物が本人でない(なりすましである)と正しく判定される。
【0137】
図23は、本人が決まってとる挙動の判定処理を概念的に説明するための図である。
図23では、挙動特徴量のパラメータ(特徴パラメータ)が2種類あるとし、一方の値がx軸にプロットされ、他方の値がy軸にプロットされている。また、挙動パターンはM個あるものとし、ある人物について、画像DB111の動画像データから挙動パターンごとにN回の挙動が検出されたとする。さらに、x軸のパラメータに対して許容値W1が設定され、y軸のパラメータに対して許容値W2が設定されているとする。
【0138】
図23の例では、挙動パターン1については変動幅が許容値を超えているが、挙動パターンMについては変動幅が許容値以内に収まっている。この場合、挙動パターン1の挙動特徴量は個人挙動特徴量として個人挙動DB117に登録されないが、挙動パターンMの挙動特徴量は個人挙動特徴量として個人挙動DB117に登録される。すなわち、挙動パターンMの挙動が、該当人物についての本人が決まってとる挙動であると判定される。
【0139】
図24は、挙動の変動幅の算出例を示す図である。
図24では、ある挙動パターンについてのある人物の挙動特徴量がベクトルで表された場合について例示している。1回目に検出された挙動の挙動特徴量がベクトルVA1で表され、2回目に検出された挙動の挙動特徴量がベクトルVA2で表され、N回目に検出された挙動の挙動特徴量がベクトルVAnで表されている。
【0140】
この場合、挙動特徴量の変動幅W3は、例えば、ベクトルVA1,VA2,・・・,VAnのうちの最小角度と最大角度との差分によって表される。そして、変動幅W3が許容値以下の場合に、該当する挙動パターンの挙動が、本人が決まってとる挙動であると判定される。
【0141】
図25は、判定用特徴量の選別処理を概念的に説明するための図である。
図25では、同一人物についての挙動特徴量の変動幅(個人の変動幅)がx軸にプロットされ、各人物の特徴量差分値(挙動特徴量と基準挙動特徴量との差分値)がy軸にプロットされている。許容値W4は、同一人物についての挙動特徴量の変動幅の許容値である。閾値TH1は、特徴量差分値と比較するための判定閾値である。
【0142】
図25の例では、挙動パターン1については、人物A~Cのいずれも挙動特徴量の変動幅が許容値W4以内に収まっているが、これらのうち人物Bのみが、特徴量差分値が閾値TH1を超えている。このため、人物Bについては挙動パターン1の挙動特徴量が判定用特徴量として判定用特徴量DB112に登録される。また、挙動パターン5については、人物A~Cのいずれも挙動特徴量の変動幅が許容値W4以内に収まっているが、これらのうち人物Aのみが、特徴量差分値が閾値TH1を超えている。このため、人物Aについては挙動パターン5の挙動特徴量が判定用特徴量として判定用特徴量DB112に登録される。
【0143】
図26は、特徴量差分値の算出例を示す図である。
図26では、各人物についての挙動特徴量や基準挙動特徴量がベクトルで表された場合について例示している。ベクトルVB1,VB2,・・・,VBmは、それぞれ挙動パターン1,2,・・・,Mの基準挙動特徴量を示すベクトルである。ベクトルVC1,VC2,・・・,VCmは、それぞれある人物についての挙動パターン1,2,・・・,Mの挙動特徴量を示すベクトルである。
【0144】
挙動特徴量と基準挙動特徴量との差分、すなわち特徴量差分値は、例えば、ベクトルの角度差として表される。
図26の例では、挙動パターン1,2,・・・,Mについての特徴量差分値は、それぞれ角度D1,D2,・・・,Dmで表される。
【0145】
次に、実施形態2-2の処理のうち、実施形態2-1とは異なる処理について、フローチャートを用いて説明する。
図27は、個人挙動判定部による個人挙動判定処理の手順を示すフローチャートの例である。
【0146】
[ステップS81]個人挙動判定部136は、処理対象とする人物を選択する。
[ステップS82]個人挙動判定部136は、挙動DB114を参照し、選択された人物の人物IDに対応付けられた挙動パターンの中から1つを選択する。
【0147】
[ステップS83]個人挙動判定部136は、挙動DB114から、選択された挙動パターンに対応する挙動特徴量をすべて取得する。
[ステップS84]個人挙動判定部136は、ステップS83で取得した挙動特徴量の変動幅を算出する。
【0148】
[ステップS85]個人挙動判定部136は、算出された変動幅が所定の許容値以下かを判定する。変動幅が許容値以下の場合、処理がステップS86に進められ、変動幅が許容値を超える場合、処理がステップS87に進められる。
【0149】
[ステップS86]個人挙動判定部136は、ステップS83で取得した挙動特徴量の中央値または平均値を算出し、算出された値を、ステップS81で選択された人物の人物IDとステップS82で選択された挙動パターンの挙動パターンIDとに対応付けて、個人挙動特徴量として個人挙動DB117に登録する。
【0150】
[ステップS87]個人挙動判定部136は、すべての挙動パターンについて処理済みかを判定する。未処理の挙動パターンがある場合、処理がステップS82に進められ、未処理の挙動パターンの1つが選択される。一方、すべての挙動パターンについて処理済みの場合、処理がステップS88に進められる。
【0151】
[ステップS88]個人挙動判定部136は、すべての人物について処理済みかを判定する。未処理の人物がある場合、処理がステップS81に進められ、未処理の人物の1人が選択される。一方、すべての人物について処理済みの場合、個人挙動判定処理が終了する。
【0152】
以上の処理により、各人物について、本人が決まってとる挙動の挙動パターンについての挙動特徴量が個人挙動特徴量として個人挙動DB117に登録される。
図28は、個人挙動DBのデータ構成例を示す図である。
図28に示すように、個人挙動DB117には、人物ごとのテーブル117aが登録される。テーブル117aには、人物IDと、本人が決まってとる挙動に対応する挙動パターンの数とが対応付けられる。また、テーブル117aには、日時、挙動パターンIDおよび個人挙動特徴量を含むレコードが登録される。このレコードには、挙動DB114の対応するレコードの内容がそのまま登録される。
【0153】
図29は、実施形態2-2における基準挙動定義処理の手順を示すフローチャートの例である。この
図29では、
図12と同様の処理には同じステップ番号を記載している。
図29に示す基準挙動定義処理では、
図12のステップS32,S33の代わりにそれぞれステップS32a,S33aが実行される。
【0154】
[ステップS32a]基準挙動定義部133は、個人挙動DB117から、選択された挙動パターンについての個人挙動特徴量を取得する。この処理では、人物IDに関係なく、該当する挙動パターンについての個人挙動特徴量が取得される。
【0155】
[ステップS33a]基準挙動定義部133は、個人挙動DB117から該当する挙動パターンについてのすべての個人挙動特徴量を取得済みかを判定する。未取得の個人挙動特徴量がある場合、処理がステップS32aに進められ、該当する挙動パターンについての個人挙動特徴量のうち、未取得の個人挙動特徴量の1つが取得される。一方、すべての個人挙動特徴量を取得済みの場合、処理がステップS34に進められる。
【0156】
なお、ステップS34では、ステップS32aで個人挙動DB117から取得された個人挙動特徴量に基づいて基準挙動特徴量が算出される。
図30は、実施形態2-2における挙動差異算出処理の手順を示すフローチャートの例である。この
図30では、
図14と同様の処理には同じステップ番号を記載している。
図30に示す挙動差異算出処理では、
図14のステップS42,S43の代わりにそれぞれステップS42a,S43aが実行される。
【0157】
[ステップS42a]挙動差異算出部134は、個人挙動DB117を参照し、ステップS41で選択された人物の人物IDに対応付けられた挙動パターンの中から1つを選択する。
【0158】
[ステップS43a]挙動差異算出部134は、個人挙動DB117から、ステップS42aで選択された挙動パターンに対応する個人挙動特徴量を取得する。
なお、ステップS44では、ステップS43aで個人挙動DB117から取得された個人挙動特徴量と、基準挙動特徴量との差分が、特徴量差分値として算出される。
【0159】
また、判定用特徴量算出部135の処理手順は
図16と同様であるが、ステップS52で選択される挙動パターンの数は実施形態2-1より少なくなる可能性があり、その結果として、判定用特徴量DB112に登録される判定用特徴量が実施形態2-1の場合とは異なるものになり得る。すなわち、実施形態2-2では、実施の形態2-1で登録された判定用特徴量のうち、本人が決まってとる挙動にも該当する判定用特徴量のみが判定用特徴量DB112に登録される。
【0160】
また、判定用特徴量算出部135の処理では、
図16のステップS55において、挙動DB114の代わりに個人挙動DB117から挙動特徴量が取得されてもよい。これにより、DBからの該当特徴量の検索対象のレコード数が少なくなり、処理時間が短縮される。
【0161】
以上の
図30の処理により、挙動差異DB116には、本人が決まってとる挙動に対応する挙動パターンについてのみ、特徴量差分値が算出される。したがって、判定用特徴量DB112は、本人が決まってとる挙動のうち、他人との差異が大きい挙動に対応する挙動パターンを閾値判定によって特定し、特定された挙動パターンの挙動特徴量を判定用特徴量として判定用特徴量DB112に登録することになる。
【0162】
<実施の形態2-3>
実施形態2-3は、上記の実施形態2-1または実施形態2-2における制御サーバ100の処理の一部を変形したものである。
【0163】
図31は、実施形態2-3に係る制御サーバが備える処理機能の構成例を示す図である。
図31に示すように、実施形態2-3に係る制御サーバ100において、なりすまし判定部140は、挙動提示部145をさらに備える。挙動提示部145は、判定対象の人物が通話中の通話端末に対して、挙動比較部143で比較される各挙動パターンの挙動を行うように人物に指示する指示情報を出力する。
【0164】
なお、
図31では、
図21に示した実施形態2-2におけるなりすまし判定部140に挙動提示部145を追加した構成を示したが、
図7に示した実施形態2-1におけるなりすまし判定部140に挙動提示部145を追加することもできる。
【0165】
図32は、実施形態2-3におけるなりすまし判定処理の手順を示すフローチャートの例である。実施形態2-3におけるなりすまし判定処理では、
図18のステップS61~S64の代わりに
図32のステップS91~S95の処理が実行される。
【0166】
[ステップS91]挙動提示部145は、判定用特徴量DB112から、判定対象の人物の人物IDに対応付けられた挙動パターンID(すなわち、本人らしい挙動を示す挙動パターンの挙動パターンID)をすべて取得する。また、挙動抽出部141は、ビデオ通話制御部120からの動画像データの取得を開始する。
【0167】
[ステップS92]挙動提示部145は、ステップS91で取得した挙動パターンの1つを選択する。挙動提示部145は、選択された挙動パターンの挙動を行うように判定対象の人物に指示する指示情報を、動画像データの送信元の通話端末に送信する。この指示情報により、通話端末は、例えば、画像表示や音声出力によって、選択された挙動パターンの挙動を行うように通話中の人物に促す。一例として、「頭を横に傾ける」という挙動を促す場合、「頭を横に傾けてください」という音声を出力する。また、通話端末は、その人物が該当する挙動をとるように、画像表示や音声出力によって誘導してもよい。例えば、通話端末は、該当する挙動が行われるような質問を出力することで、その挙動をとるように誘導する。
【0168】
[ステップS93]挙動抽出部141は、
図8のステップS12~S17と同様の手順で、入力された動画像データの各フレームから画像認識によって特徴量を抽出し、特徴量を基に時系列特徴量を算出する。
【0169】
[ステップS94]挙動判定部142は、算出された時系列特徴量を基に、定義挙動DB113内の定義挙動特徴量と比較することで、いずれかの挙動パターンに合致する挙動を検出する。挙動判定部142は、時系列特徴量がステップS92で選択された挙動パターンの定義挙動特徴量と一致した場合に、時系列特徴量を基にその挙動パターンに対応する挙動特徴量を算出し、挙動パターンIDに対応付けて記憶装置(RAM102など)に記録する。
【0170】
[ステップS95]挙動提示部145は、ステップS91で取得したすべての挙動パターンについての挙動特徴量を記憶装置に記録したかを判定する。挙動特徴量が未記録の挙動パターンがある場合、処理がステップS92に進められ、該当する挙動パターンの中から1つが選択される。一方、該当するすべての挙動パターンについての挙動特徴量を記録済みの場合、処理が
図19のステップS65に進められ、記憶された挙動特徴量を用いて処理が実行される。
【0171】
以上の実施形態2-3では、挙動比較部143で比較される各挙動パターンの挙動を行うように人物に指示する指示情報が出力されることで、判定のために必要な挙動パターンの挙動特徴量をより確実に取得できるようになる。その結果、なりすまし判定精度を高めることが可能となる。
【0172】
なお、上記の第2の実施の形態(実施形態2-1~2-3)では、本人らしい挙動との差異に基づいて「判定対象の人物が本人か否か」を判定していた。しかし、本人らしい挙動との差異が大きい場合としては、本人が通常時とは異なる異常な挙動を行っている場合もあり得る。このような異常な挙動は、例えば、本人が病気である場合や、本人が脅迫されている場合、本人が隠し事をしている場合などに見られる可能性がある。このため、上記の判定処理手順を、本人の挙動が正常か異常かの判定に用いることも可能である。また、例えば、挙動パターンごとに異なる判定基準(
図19のステップS69での閾値)を用いることで、異常な挙動の種類を判定することもできる。
【0173】
また、上記の第2の実施の形態では、通話端末で撮影された動画像データから画像認識によって身体部位の動きが検出され、その検出結果を用いて人物が本人か否かを判定していた。しかし、例えば、通話端末で収音された音声データから、音声認識によって話し方の癖や会話のレスポンスなどを検出し、その検出結果を上記の動画像データに基づく検出結果と組み合わせて、人物が本人か否かの判定処理が行われてもよい。
【0174】
また、第2の実施の形態で示した処理による判定結果と、動画像データからフェイクの顔画像を検出する既存の処理による判定結果とを組み合わせて、人物が本人か否かを示す最終的な判定結果が出力されてもよい。
【0175】
また、上記の第2の実施の形態では、通話中の通話端末からの動画像データを用いてリアルタイムで判定処理を行ったが、他の例として、判定対象の動画像データを記憶装置にあらかじめ記憶しておき、その記憶装置から取得した動画像データに対して上記の判定処理が実行されてもよい。
【0176】
なお、上記の各実施の形態に示した装置(例えば、判定装置1、制御サーバ100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
【0177】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0178】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【0179】
1 判定装置
2 入力画像
3,4 データ群
S1~S6 ステップ
TP1~TP8 種類