(57)【特許請求の範囲】
【請求項１】
顔を含む画像が生体画像かまたは非生体画像かを判定するための顔認識方法であって、
複数の全体的な顔画像上での教師ありトレーニングによって第1の深層学習モデルをトレーニングするステップ(S301)であって、前記全体的な顔画像が、生体顔を撮影することによって収集され、かつ正のサンプルとしてラベリングされた生体顔画像と、顔ピクチャまたは顔モデルである非生体顔を撮影することによって収集され、かつ負のサンプルとしてラベリングされた非生体顔画像とを備える、ステップと、
前記全体的な顔画像からクロップされた複数の抽出された顔画像上での教師ありトレーニングによって複数の第2の深層学習モデルをトレーニングするステップ(S302)であって、前記第2の深層学習モデルが、それぞれ顔領域の眼タイプおよび鼻タイプに対応する眼深層学習モデルおよび鼻深層学習モデルを備え、前記抽出された顔画像が、正のサンプルとしてラベリングされた生体顔画像と負のサンプルとしてラベリングされた非生体顔画像とを備え、前記第1の深層学習モデルと前記第2の深層学習モデルの各々とが分類モデルであり、トレーニングの後に、前記モデルが、顔画像を生体顔画像カテゴリーまたは非生体顔画像カテゴリーに分類する、ステップと、
第1の予測スコアを取得するために前記トレーニングされた第1の深層学習モデルを使用し、かつ第2の予測スコアを取得するために前記複数のトレーニングされた第2の深層学習モデルを使用して、第1の全体的な顔画像上で顔活動検出を実施するステップ(S303)であって、
前記顔活動検出のために収集された前記第1の全体的な顔画像を取得するステップと、
前記第1の予測スコアを取得するために、処理のために前記第1の全体的な顔画像を前記トレーニングされた第1の深層学習モデルに入力するステップと、
前記第1の全体的な顔画像からクロップされた複数の抽出された顔画像を取得するステップであって、前記抽出された顔画像が眼画像領域画像と鼻画像領域画像とを備える、ステップ、および前記第2の予測スコアを取得するために、処理のために前記抽出された顔画像をそれぞれのトレーニングされた第2の深層学習モデルに入力するステップであって、前記第2の深層学習モデルが、前記眼深層学習モデルと前記鼻深層学習モデルとを備える、ステップと、
前記第1の予測スコアと前記第2の予測スコアとに基づいて予測スコア結果を生成するステップと、
前記第1の全体的な顔画像が生体画像かまたは非生体画像かを判定するために、前記予測スコア結果をしきい値と比較するステップと
を含む、ステップと
を含む、方法。
【請求項２】
前記第1の深層学習モデルと第2の深層学習モデルとが、異なる深層学習ネットワーク構造を使用する、請求項1に記載の方法。
【請求項３】
前記異なる深層学習ネットワーク構造が、隠れ可変層の量、隠れ可変層のタイプ、ニューロンノードの量、または畳み込みユニットの畳み込みカーネルのサイズのうちの少なくとも1つであるパラメータを備える、請求項2に記載の方法。
【請求項４】
前記第1の予測スコアと前記第2の予測スコアとに基づいて予測スコア結果を生成するステップが、前記第1の予測スコアと前記第2の予測スコアとの和として前記予測スコア結果を生成するステップを含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記第1の深層学習モデルと前記第2の深層学習モデルとが、畳み込みニューラルネットワークに基づき、
前記第1の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルが相対的に大きく、その結果前記第1の深層学習モデルが全体的な顔画像の画像構造特徴を抽出し、前記第2の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルが相対的に小さく、その結果前記第2の深層学習モデルが前記抽出された顔画像の画像素材特徴を抽出する、
請求項1から3のいずれか一項に記載の方法。
【請求項６】
前記予測スコアがすべて確率値またはブール値である、請求項1から5のいずれか一項に記載の方法。
【請求項７】
請求項1から6のいずれか一項の方法を実施するように構成される複数のモジュールを備える、顔認識のための装置。
【請求項８】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されるメモリであって、前記メモリは、前記少なくとも1つのプロセッサによって実行されることが可能である命令を記憶し、前記命令は、前記少なくとも1つのプロセッサが、請求項1から6のいずれか一項の方法を実施することを可能にするために、前記少なくとも1つのプロセッサによって実行される、メモリと
を備える、顔認識のための電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれる、2017年6月7日に出願された中国特許出願第201710421333.5号の優先権を主張する。
【０００２】
本出願は、コンピュータソフトウェア技術の分野に関し、特に顔活動(liveness)検出方法、装置、および電子デバイスに関する。
【背景技術】
【０００３】
顔活動検出技術は、スクリーンリプレイ攻撃、プリント写真攻撃、および3次元モデリング攻撃などのなりすまし攻撃(spoofing attack)を遮断するように、顔認識技法を使用することによって現在のユーザが真正のユーザであるかどうかを判定するために使用される。
【０００４】
現在、顔活動検出技術は、介入的な(intrusive)顔活動検出技術と非介入的な(non-intrusive)顔活動検出技術とに分類されることが可能である。介入的な顔活動検出技術では、ユーザは、まばたき、頭部の回転、または開口などのいくつかの特定の生体(live)行為を協働的に完了する必要がある。所与の命令に基づいて顔認識を実施するとき、活動検出モジュールは、オペレータが生体動作を正確に完了するかどうかと、オペレータが真正のユーザであるかどうかとを判定することができる。非介入的な顔活動検出技術では、ユーザは生体行為を協働的に完了する必要がなく、したがってユーザエクスペリエンスがより良くなるが、技術的複雑さはより高くなる。さらに、活動検出は、主に入力単一フレーム画像に関する情報または他のデバイスセンサに関する情報に応じて実施される。
【０００５】
既存の技術における説明された非介入的な顔活動検出技術では、通常生体および非生体(non-live)顔画像を使用することによって単一深層学習モデル上で教師ありトレーニングが実施され、次いでトレーニングされたモデルを使用することによって入力単一フレーム画像上で顔活動予測が実施される。
【０００６】
しかしながら、そのような技術的解決策は、顔なりすまし攻撃(spoofing face attack)タイプのトレーニングデータに大きく依存し、不十分なトレーニングデータの客観的条件によって制限される。生体顔画像特徴を完全に抽出することは困難である。その結果、このモデルは生体顔特徴を完全に表すことができるとは限らず、顔活動検出結果の精度が低減される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本出願の実施形態は、既存の技術における以下の技術的問題を解決するための顔活動検出方法、装置、および電子デバイスを提供する。単一深層学習モデルに基づく技術的解決策では、生体顔画像特徴を完全に抽出することは困難である。その結果、このモデルは生体顔特徴を完全に表すことができるとは限らず、顔活動検出結果の精度が低減される。
【課題を解決するための手段】
【０００８】
説明された技術的問題を解決するため、本出願の実施形態は以下のように実装される。
【０００９】
本出願の一実施形態は、全体的な顔画像(general facial image)に基づいて第1の深層学習モデルをトレーニングするステップと、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングするステップと、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施するステップとを含む、顔活動検出方法を提供する。
【００１０】
本出願の一実施形態は、全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることと、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることとを行うように構成される、トレーニングモジュールと、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施するように構成される、検出モジュールとを含む、顔活動検出装置を提供する。
【００１１】
本出願の実施形態において使用される少なくとも1つの技術的解決策は、以下の有益な効果を達成することができる。1つのそのような利益は、より多くの生体顔画像特徴が抽出されることである。既存の技術におけるモデルと比較して、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとは、共同で生体顔特徴をより良く表し、それにより顔活動検出結果の精度を改善する。したがって、既存の技術における問題の一部または全部が解決されることが可能である。
【００１２】
本出願の実施形態におけるまたは既存の技術における技術的解決策についてより明確に説明するために、以下は、実施形態または既存の技術について説明するために必要とされる添付の図面を手短に紹介する。明らかに、以下の説明における添付の図面は、本出願のいくつかの実施形態を示すにすぎず、当業者は、依然として創造的努力なしにこれらの添付の図面から他の図面を導出することができる。
【図面の簡単な説明】
【００１３】
【図１】本出願の解決策におけるモデルトレーニング段階の一例を示す概略フローチャートである。
【図２】本出願の解決策における活動検出段階の一例を示す概略フローチャートである。
【図３】本出願の一実施形態による、顔活動検出方法を示す概略フローチャートである。
【図４】本出願の一実施形態による、全体的な顔画像と抽出された顔画像との間の比較を示す概略図である。
【図５】本出願の一実施形態による、図3に対応する顔活動検出装置を示す概略構造図である。
【図６】本開示の一実装形態による、顔活動検出を用いてユーザ真正性を判定するためのコンピュータ実装方法の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本出願の実施形態は、顔活動検出方法、装置、および電子デバイスを提供する。
【００１５】
本出願における技術的解決策を当業者により良く理解させるために、以下は、本出願の実施形態における添付の図面を参照しながら、本出願の実施形態における技術的解決策について明確におよび完全に説明する。明らかに、説明される実施形態は、本出願の実施形態の全部ではなく一部であるにすぎない。創造的努力なしに本出願の実施形態に基づいて当業者によって取得されるすべての他の実施形態が、本出願の保護範囲内に入るものとする。
【００１６】
本出願の解決策におけるすべての深層学習モデルはニューラルネットワークに基づく。説明しやすいように、本出願の解決策の核となるアイデアが、一例に基づいて、ならびに図1および図2を参照しながら最初に説明される。
【００１７】
この例では、本出願の解決策は、モデルトレーニング段階と活動検出段階とに分類されることが可能である。
【００１８】
図1は、本出願の解決策におけるモデルトレーニング段階の一例を示す概略フローチャートである。モデルトレーニング段階では、顔画像における(トレーニングデータセットに属する)生体および非生体サンプルを使用することによって、2つの依存しない深層学習モデル、すなわち第1の深層学習モデルおよび第2の深層学習モデルがトレーニングされる。第1の深層学習モデルの入力画像は、収集された全体的な顔画像であり、第2の深層学習モデルの入力画像は、全体的な顔画像からクロップされた、抽出された顔画像であることが可能である。第1の深層学習モデルと第2の深層学習モデルとは、異なる深層学習ネットワーク構造(すなわち、モデルが基づくニューラルネットワークの構造)を使用することができる。異なるネットワーク構造は、異なる画像特徴に異なるように反応する。生体および非生体トレーニングデータセットは、深層学習方法に基づいて第1の深層学習モデルおよび第2の深層学習モデルのトレーニングを完了するために使用される。
【００１９】
図2は、本出願の解決策における活動検出段階の一例を示す概略フローチャートである。活動検出段階では、ユーザの顔スキャン画像がユーザの全体的な顔画像として収集され、第1の深層学習モデルが入力されて、予測スコアPAが取得される。さらに、顔検出がユーザの顔スキャン画像上で実施され、検出結果に基づいて、抽出された顔画像がユーザの顔スキャン画像からクロップされ、抽出された顔画像に第2の深層学習モデルが入力されて、予測スコアPBが取得される。その後、たとえば(PA+PB)の予測スコア結果は、ユーザの顔スキャン画像についての顔活動検出結果を判定するための共同決定を行うために、判定されたしきい値(たとえば、しきい値は1であることが可能である)と比較されることが可能である。
【００２０】
説明された核となるアイデアに基づいて、以下は、本出願の解決策について詳細に説明する。
【００２１】
図3は、本出願の一実施形態による、顔活動検出方法を示す概略フローチャートである。プログラムの観点から、プロシージャは、サーバまたは端末上のプログラム、たとえば識別情報認証プログラムまたはeコマースアプリケーションによって実行されることが可能である。デバイスの観点から、プロシージャは、サーバまたは端末として使用されることが可能である以下のデバイス、すなわちアクセス制御デバイス、パーソナルコンピュータ、媒体コンピュータ、コンピュータクラスタ、モバイルフォン、タブレットコンピュータ、インテリジェントウェアラブルデバイス、自動車機械、またはポイントオブセール(POS)のうちの少なくとも1つによって実行される。
【００２２】
図3中のプロシージャは、以下のステップを含むことができる。
【００２３】
S301。全体的な顔画像に基づいて第1の深層学習モデルをトレーニングする。
【００２４】
本出願のこの実施形態では、第1の深層学習モデルをトレーニングするために使用される全体的な顔画像は、複数のサンプルを含むことができる。複数のサンプルにおいて、いくつかは、生体顔を撮影することによって収集され、正のサンプルとして使用されることが可能である生体顔画像であり、いくつかは、顔ピクチャまたは顔モデルなどの非生体顔を撮影することによって収集され、負のサンプルとして使用されることが可能である非生体顔画像である。
【００２５】
本出願のこの実施形態では、第1の深層学習モデルは分類モデルであり、全体的な顔画像は、分類モデルの入力として使用される。モデル処理の後に、全体的な顔画像は、少なくとも生体顔画像カテゴリーまたは非生体顔画像カテゴリーに分類されることが可能である。第1の深層学習モデルをトレーニングする目的は、第1の深層学習モデルの分類精度を改善することである。
【００２６】
S302。全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングする。
【００２７】
本出願のこの実施形態では、顔領域全体に加えて、全体的な顔画像は、全体的に背景領域および顔を除く人体などのいくつかの無関係の領域を含む。抽出された顔画像は、無関係の領域を除外することができ、少なくとも抽出された顔領域、たとえば顔領域全体、眼領域、または鼻領域を含むことができる。1つまたは複数の第2の深層学習モデルがあることが可能であり、各第2の深層学習モデルは、顔領域のタイプに対応することができる。
【００２８】
図4は、本出願の一実施形態による、全体的な顔画像と抽出された顔画像との間の比較を示す概略図である。
【００２９】
図4では、(a)は全体的な顔画像である。理解しやすいように、抽出された顔画像が、破線を使用することによって(a)においてマークされ、(a)は、(b)に示される抽出された顔画像を取得するために、対応してクロップされることが可能である。
【００３０】
さらに、抽出された顔画像が部分的な顔領域のみを含む画像であるとき、全体的な顔画像もまた顔領域全体を含み、無関係の領域を基本的に除外する画像であることが可能である。
【００３１】
本出願のこの実施形態では、第2の深層学習モデルをトレーニングするために使用される抽出された顔画像もまた様々なサンプルを含むことができる。様々なサンプルにおいて、いくつかは、正のサンプルとして使用されることが可能である生体顔画像であり、いくつかは、負のサンプルとして使用されることが可能である非生体顔画像である。
【００３２】
本出願のこの実施形態では、第2の深層学習モデルも分類モデルであり、抽出された顔画像は、分類モデルの入力として使用される。モデル処理の後に、抽出された顔画像は、少なくとも生体顔画像カテゴリーまたは非生体顔画像カテゴリーに分類されることが可能である。第2の深層学習モデルをトレーニングする目的は、第2の深層学習モデルの分類精度を改善することである。
【００３３】
全体的な顔画像からクロップされることに加えて、抽出された顔画像は、全体的な顔画像に依存することなしに特殊な収集によって取得されることが可能である。
【００３４】
本出願のこの実施形態では、第1の深層学習モデルと第2の深層学習モデルとは、トレーニングの前に異なるモデルまたは同じモデルであることが可能である。
【００３５】
ステップS301およびステップS302の実行順序は本出願において制限されず、ステップS301とステップS302とは同時にまたは連続的に実施されることが可能である。
【００３６】
S303。トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施する。
【００３７】
図3中の各ステップは、同じデバイスまたは同じプログラムによって実施されることが可能であるか、あるいは異なるデバイスまたは異なるプログラムによって実施されることが可能である。たとえば、ステップS301〜ステップS303は、デバイス1によって実施される。別の例では、ステップS301とステップS302の両方はデバイス1によって実施され、ステップS303はデバイス2によって実施されるなどである。
【００３８】
図3中の方法によれば、より多くの生体顔画像特徴が抽出される。既存の技術におけるモデルと比較して、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとは、共同で生体顔特徴をより良く表し、それにより顔活動検出結果の精度を改善する。したがって、既存の技術における問題の一部または全部が解決されることが可能である。
【００３９】
図3中の方法に基づいて、本出願のこの実施形態は、以下で説明される方法のいくつかの特定の実装解決策と拡張解決策とをさらに提供する。
【００４０】
本出願のこの実施形態では、画像特徴に対する第1の深層学習モデルの感度と画像特徴に対する第2の深層学習モデルの感度との間の差を実装するために、第1の深層学習モデルと第2の深層学習モデルとは、好ましくは異なる深層学習ネットワーク構造を使用することができる。
【００４１】
2つの深層学習モデルの異なるネットワーク構造は、2つの深層学習モデルが1つまたは複数の異なるネットワーク構造パラメータを含むことを示すことができる。ネットワーク構造パラメータは、たとえば隠れ可変層(hidden variable layer)の量、隠れ可変層のタイプ、ニューロンノードの量、入力層ノードの量、または出力層ノードの量を含むことができる。
【００４２】
確実に、いくつかの特定の深層学習モデルはまた、対応する特定のパラメータを含むことができる。たとえば、画像分野において現在広く使用されている畳み込みニューラルネットワークに基づく深層学習モデルでは、畳み込みユニットの畳み込みカーネルのサイズもまたこの深層学習モデルの特定のネットワーク構造パラメータである。
【００４３】
本出願の解決策では、概して、異なる深層学習ネットワーク構造は、以下のパラメータ、すなわち隠れ可変層の量、隠れ可変層のタイプ、ニューロンノードの量、または畳み込みユニットの畳み込みカーネルのサイズのうちの少なくとも1つを含む。
【００４４】
本出願のこの実施形態では、モデルトレーニング効率とモデルトレーニング信頼性とを改善するために、モデルトレーニングは、教師ありトレーニング様式で実施されることが可能である。
【００４５】
たとえば、教師ありトレーニング様式では、ステップS301について、全体的な顔画像は第1のラベルを含み、第1のラベルは、第1のラベルに対応する全体的な顔画像が生体顔画像であるかどうかを示す。
【００４６】
全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることは、第1の深層学習モデルを全体的な顔画像に入力することであって、第1の深層学習モデルは、全体的な顔画像の特徴を抽出し、抽出された特徴に基づいて、全体的な顔画像が生体顔画像であるかどうかを予測する、入力することと、予測結果と全体的な顔画像の第1のラベルとに基づいて第1の深層学習モデルを調整することとを含むことができる。概して、予測結果が第1のラベルと矛盾するとき、第1の深層学習モデルは調整され、したがって調整された第1の深層学習モデルは、再予測によって、第1のラベルに矛盾しない予測結果を取得することができる。
【００４７】
トレーニングプロセスにおいて第1の深層学習モデルによって抽出された特徴は、好ましくは全体的な顔画像の画像構造特徴、たとえば全体的な顔画像におけるスクリーン写真エッジまたは顔歪みを含むことができる。
【００４８】
別の例では、同様に、教師ありトレーニング様式では、ステップS302について、抽出された顔画像は第2のラベルを含み、第2のラベルは、第2のラベルに対応する抽出された顔画像が生体顔画像であるかどうかを示す。
【００４９】
全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることは、全体的な顔画像からクロップされた、抽出された顔画像を取得することと、第2の深層学習モデルを取得された抽出された顔画像に適用することであって、第2の深層学習モデルは、抽出された顔画像の特徴を抽出し、抽出された特徴に基づいて、抽出された顔画像が生体顔画像であるかどうかを予測する、適用することと、予測結果と抽出された顔画像の第2のラベルとに基づいて第2の深層学習モデルを調整することとを含むことができる。概して、予測結果が第2のラベルと矛盾するとき、第2の深層学習モデルは調整され、したがって調整された第2の深層学習モデルは、再予測によって、第2のラベルに矛盾しない予測結果を取得することができる。
【００５０】
トレーニングプロセスにおいて第2の深層学習モデルによって抽出された特徴は、好ましくは抽出された顔画像の画像素材特徴、たとえば抽出された顔画像におけるぼけ、テクスチャ、または色歪みを含むことができる。
【００５１】
上記で説明された2つの例では、第1の深層学習モデルと第2の深層学習モデルとは、異なる画像特徴に異なるように反応する。第1の深層学習モデルは、画像構造特徴により反応し、第2の深層学習モデルは、画像素材特徴により反応する。顔画像では、画像構造特徴は、相対的に全般的で一般化された特徴であり、画像素材特徴は、相対的に局所的で微細な特徴である。
【００５２】
したがって、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとは、より正確な顔活動検出結果を取得するための共同決定を行うように、共同でより階層的におよび豊富に顔画像特徴を抽出することができる。
【００５３】
本出願のこの実施形態では、対応するトレーニングデータセットおよび/または対応する深層学習ネットワーク構造は異なり、したがって第1の深層学習モデルと第2の深層学習モデルとは、異なる画像特徴に異なるように反応することができる。
【００５４】
たとえば、第1の深層学習モデルと第2の深層学習モデルとが畳み込みニューラルネットワークに基づく場合、第1の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルは、相対的に大きくなることが可能であり、したがって第1の深層学習モデルは、全体的な顔画像の画像構造特徴を抽出する。対応して、第2の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルは、相対的に小さくなることが可能であり、したがって第2の深層学習モデルは、抽出された顔画像の画像素材特徴を抽出する。したがって、この例では、第1の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルは、第2の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルよりも大きい。
【００５５】
畳み込みカーネルのサイズは感度に影響を及ぼすことができるパラメータの一例にすぎず、別のネットワーク構造パラメータも感度に影響を及ぼすことができることに留意されたい。
【００５６】
本出願のこの実施形態では、ステップS303について、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとは、共同で顔活動検出を実施するための決定を行う。様々な特定の決定様式がある。たとえば、第1の深層学習モデルと第2の深層学習モデルとを別個に使用することによって別個の決定が行われ、次いですべての別個の決定結果を合成することによって最終決定結果が判定される。別の例では、最初に第1の深層学習モデルおよび第2の深層学習モデルのうちのいずれかを使用することによって別個の決定が行われることが可能である。別個の決定結果が特定の条件を満たすとき、別個の決定結果は、最終決定結果として直接使用されることが可能であり、他の場合、決定は別の残りのモデルと組み合わせて包括的に行われて最終決定結果が取得されるなどである。
【００５７】
前の段落において説明された第1の様式が使用される場合、一例は以下の通りである。
【００５８】
たとえば、ステップS303について、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施することは、顔活動検出のために収集された(概してユーザの顔スキャン画像である)全体的な顔画像を取得することと、対応する第1の予測データを取得するために、トレーニングされた第1の深層学習モデルを、処理のために、収集された全体的な顔画像に入力することと、収集された全体的な顔画像からクロップされた、抽出された顔画像を取得すること、および対応する第2の予測データを取得するために、トレーニングされた第2の深層学習モデルを処理のために入力することと、ユーザの顔スキャン画像についての顔活動検出結果を取得するために、第1の予測データと第2の予測データとに基づいて共同決定を行うこととを含むことができる。
【００５９】
第1の予測データは、たとえば説明された予測スコアPAであることが可能であり、第2の予測データは、たとえば説明された予測スコアPBであることが可能である。確実に、予測スコアが第1の予測データおよび第2の予測データの表現形式の一例にすぎず、あるいは別の表現形式、たとえば確率値またはブール値があることが可能である。
【００６０】
上記は、本出願のこの実施形態において提供される顔活動検出方法である。図5に示されるように、本開示の同じアイデアに基づいて、本出願の一実施形態は、対応する装置をさらに提供する。
【００６１】
図5は、本出願の一実施形態による、図3に対応する顔活動検出装置を示す概略構造図である。装置は、図3中のプロシージャの実行主体上にあることが可能であり、全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることと、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることとを行うように構成される、トレーニングモジュール501と、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施するように構成される、検出モジュール502とを含む。
【００６２】
オプションで、第1の深層学習モデルと第2の深層学習モデルとは、異なる深層学習ネットワーク構造を使用する。
【００６３】
オプションで、異なる深層学習ネットワーク構造は、以下のパラメータ、すなわち隠れ可変層の量、隠れ可変層のタイプ、ニューロンノードの量、または畳み込みユニットの畳み込みカーネルのサイズのうちの少なくとも1つを含む。
【００６４】
オプションで、全体的な顔画像は第1のラベルを含み、第1のラベルは、第1のラベルに対応する全体的な顔画像が生体顔画像であるかどうかを示す。
【００６５】
トレーニングモジュール501によって、全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることは、トレーニングモジュール501によって、第1の深層学習モデルを全体的な顔画像に入力することであって、第1の深層学習モデルは、全体的な顔画像の画像構造特徴に基づいて、全体的な顔画像が生体顔画像であるかどうかを予測する、入力することと、予測結果と全体的な顔画像の第1のラベルとに基づいて第1の深層学習モデルを調整することとを含む。
【００６６】
オプションで、抽出された顔画像は第2のラベルを含み、第2のラベルは、第2のラベルに対応する抽出された顔画像が生体顔画像であるかどうかを示す。
【００６７】
トレーニングモジュール501によって、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることは、トレーニングモジュール501によって、全体的な顔画像からクロップされた、抽出された顔画像を取得すること、および第2の深層学習モデルを抽出された顔画像に入力することであって、第2の深層学習モデルは、抽出された顔画像の画像素材特徴に基づいて、抽出された顔画像が生体顔画像であるかどうかを予測する、入力することと、予測結果と抽出された顔画像の第2のラベルとに基づいて第2の深層学習モデルを調整することとを含む。
【００６８】
オプションで、第1の深層学習モデルと第2の深層学習モデルとは、畳み込みニューラルネットワークに基づく。
【００６９】
第1の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルは、第2の深層学習モデルが基づく畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルよりも大きく、したがって第1の深層学習モデルは、全体的な顔画像の画像構造特徴を抽出し、第2の深層学習モデルは、抽出された顔画像の画像素材特徴を抽出する。
【００７０】
オプションで、検出モジュール502によって、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施することは、検出モジュール502によって、顔活動検出のために収集された全体的な顔画像を取得することと、対応する第1の予測データを取得するために、トレーニングされた第1の深層学習モデルを、処理のために、収集された全体的な顔画像に入力することと、収集された全体的な顔画像からクロップされた、抽出された顔画像を取得すること、および対応する第2の予測データを取得するために、トレーニングされた第2の深層学習モデルを処理のために入力することと、ユーザの顔スキャン画像についての顔活動検出結果を取得するために、第1の予測データと第2の予測データとに基づいて共同決定を行うこととを含む。
【００７１】
本開示の同じアイデアに基づいて、本出願の一実施形態は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に接続されるメモリとを含む、対応する電子デバイスをさらに提供する。
【００７２】
メモリは、少なくとも1つのプロセッサによって実行されることが可能である命令を記憶し、命令は、少なくとも1つのプロセッサが、全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることと、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることと、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施することとを可能にするために、少なくとも1つのプロセッサによって実行される。
【００７３】
本開示の同じアイデアに基づいて、本出願の一実施形態は、対応する不揮発性コンピュータ記憶媒体をさらに提供し、不揮発性コンピュータ記憶媒体はコンピュータ実行可能命令を記憶し、コンピュータ実行可能命令は、全体的な顔画像に基づいて第1の深層学習モデルをトレーニングすることと、全体的な顔画像からクロップされた、抽出された顔画像に基づいて第2の深層学習モデルをトレーニングすることと、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施することとを行うように設定される。
【００７４】
本明細書における実施形態はすべて漸進的な様式で説明され、実施形態における同じまたは同様の部分について、これらの実施形態が参照されることが可能であり、各実施形態は、他の実施形態との差異に焦点を当てる。特に、装置実施形態、電子デバイス実施形態、不揮発性コンピュータ記憶媒体実施形態は、基本的に方法実施形態と同様であり、したがって手短に説明され、関係する部分について、方法実施形態における部分的な説明が参照される。
【００７５】
本出願の実施形態において提供される装置、電子デバイス、および不揮発性コンピュータ記憶媒体は、方法に対応する。したがって、装置、電子デバイス、および不揮発性コンピュータ記憶媒体もまた、対応する方法の有益な技術的効果と同様の有益な技術的効果を有する。方法の有益な技術的効果は上記で詳細に説明され、したがって対応する装置、電子デバイス、および不揮発性コンピュータ記憶媒体の有益な技術的効果は、ここで再び説明されない。
【００７６】
1990年代には、技術改善がハードウェア改善(たとえば、ダイオード、トランジスタ、またはスイッチなどの回路構造の改善)であるのかソフトウェア改善(方法プロシージャの改善)であるのかは、はっきりと区別されることが可能である。しかしながら、技術が発達するにつれて、多くの現在の方法プロシージャの改善は、ハードウェア回路構造の直接的改善と見なされることが可能である。設計者は、通常改善された方法プロシージャをハードウェア回路にプログラムして、対応するハードウェア回路構造を取得する。したがって、方法プロシージャは、ハードウェアエンティティモジュールによって改善されることが可能である。たとえば、プログラマブル論理デバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))がそのような集積回路であり、プログラマブル論理デバイスの論理機能が、デバイスプログラミングによってユーザによって判定される。設計者は、特定用途向け集積回路チップを設計および製作することをチップ製造業者に要求することなしにデジタルシステムをPLDに「統合する」ためのプログラミングを実施する。さらに、プログラミングは、大部分が、集積回路チップを手作業で作る代わりに、「論理コンパイラ」ソフトウェアを修正することによって実装される。これは、プログラムを開発および構成するために使用されるソフトウェアコンパイラと同様である。しかしながら、コンパイルの前に取得された元のコードもまた、特定のプログラミング言語で書かれ、これは、ハードウェア記述言語(Hardware Description Language、HDL)と呼ばれる。しかしながら、ABEL(Advanced Boolean Expression Language:高度ブール表現言語)、AHDL(Alteraハードウェア記述言語)、Confluence、CUPL(コーネル大学プログラミング言語)、HDCal、JHDL(Java(登録商標)ハードウェア記述言語)、Lava、Lola、MyHDL、PALASM、およびRHDL(Rubyハードウェア記述言語)などの様々なHDLがある。現在、VHDL(超高速集積回路ハードウェア記述言語)およびVerilogが最も普及している。また、論理プログラミングのみが、説明されたいくつかのハードウェア記述言語を使用することによって方法プロシージャ上で実施される必要があり、いくつかのハードウェア記述言語は集積回路にプログラムされ、したがって論理方法プロシージャを実装するハードウェア回路が容易に取得されることが可能であることを、当業者は理解されよう。
【００７７】
コントローラが、任意の適切な様式で実装されることが可能である。たとえば、コントローラは、マイクロプロセッサまたはプロセッサを使用することができ、(マイクロ)プロセッサによって実行されることが可能であるコンピュータ可読プログラムコードのものである、コンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、および組込みマイクロコントローラの形態(たとえば、ソフトウェアまたはハードウェア)を記憶することができる。コントローラの例は、限定はしないが、以下のマイクロコントローラ、すなわちARC625D、Atmel AT91SAM、Microchip PIC18F26K20、またはSilicone Labs C8051F320を含む。また、メモリコントローラは、メモリの制御論理の一部として実装されることが可能である。当業者はまた、純粋なコンピュータ可読プログラムコード様式でコントローラを実装することに加えて、方法ステップを使用することによって論理プログラミングが完全に実施されることが可能であり、したがってコントローラが、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、組込みマイクロコントローラなどの形態で同じ機能を実装することを知っている。したがって、コントローラはハードウェア構成要素と見なされることが可能であり、コントローラにおいて様々な機能を実装するための装置もまた、ハードウェア構成要素における構造と見なされることが可能である。代替的に、様々な機能を実装するように構成される装置は、ソフトウェアモジュール、または方法を実装することができるハードウェア構成要素における構造と見なされることが可能である。
【００７８】
説明された実施形態において説明されたシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティによって実装されるか、あるいは機能をもつ製品によって実装されることが可能である。典型的な実装デバイスはコンピュータである。詳細には、コンピュータは、たとえばパーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレットコンピュータ、またはウェアラブルデバイス、あるいはこれらのデバイスのうちのいずれかの組合せであることが可能である。
【００７９】
説明しやすいように、説明された装置は、機能を様々なユニットに分割することによって説明される。確実に、本出願が実装されるとき、各ユニットの機能は、ソフトウェアおよび/またはハードウェアのうちの1つまたは複数において実装されることが可能である。
【００８０】
本開示の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されることが可能であることを、当業者は理解されよう。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せをもつ実施形態の形態を使用することができる。さらに、本開示は、コンピュータ使用可能プログラムコードを含む(限定はしないが、ディスクメモリ、CD-ROM、光メモリなどを含む)1つまたは複数のコンピュータ使用可能記憶媒体上で実装されるコンピュータプログラム製品の形態を使用することができる。
【００８１】
本開示は、本開示の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら説明される。コンピュータプログラム命令が、フローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組合せを実装するために使用されることが可能であることを理解されたい。これらのコンピュータプログラム命令は、機械を生成するために、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、または任意の他のプログラマブルデータ処理デバイスのプロセッサのために提供されることが可能であり、したがってコンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャート中の1つまたは複数のプロセスにおいて、またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実装するための装置を生成する。
【００８２】
コンピュータまたは任意の他のプログラマブルデータ処理デバイスに特定の様式で動作するように命令することができるこれらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶されることが可能であり、したがってコンピュータ可読メモリに記憶された命令は、命令装置を含むアーティファクトを生成する。命令装置は、フローチャート中の1つまたは複数のプロセスにおいて、および/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実装する。
【００８３】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされることが可能であり、したがって一連の動作およびステップが、コンピュータまたは別のプログラマブルデバイス上で実施され、それによりコンピュータ実装処理を生成する。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート中の1つまたは複数のプロセスにおいて、またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実装するためのステップを提供する。
【００８４】
典型的な構成では、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)と、入出力インターフェースと、ネットワークインターフェースと、メモリとを含む。
【００８５】
メモリは、読取り専用メモリ(ROM)またはフラッシュメモリ(フラッシュRAM)などのコンピュータ可読媒体における、揮発性メモリ、ランダムアクセスメモリ(RAM)および/または不揮発性メモリなどの形態を含むことができる。メモリはコンピュータ可読媒体の一例である。
【００８６】
コンピュータ可読媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、任意の方法または技術を使用することによって情報を記憶することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであることが可能である。コンピュータ記憶媒体の例は、限定はしないが、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリまたは別のメモリ技術、コンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)または別の光ストレージ、磁気テープ、磁気ディスクストレージ、別の磁気ストレージデバイス、あるいは任意の他の非伝送媒体を含む。コンピュータ記憶媒体は、コンピューティングデバイスによってアクセスされることが可能である情報を記憶するために使用されることが可能である。本明細書で説明されたように、コンピュータ可読媒体は、一時的媒体(一時的媒体)、たとえば変調データ信号および搬送波を含まない。
【００８７】
「含む(include)」、「含んでいる(contain)」という用語、またはそれらの任意の他の変形態は非排他的包含をカバーするものとし、したがって一連の要素を含むプロセス、方法、物品、またはデバイスがまた、まさにこれらの要素を含むだけでなく、明確にリストされない他の要素を含むか、あるいはそのようなプロセス、方法、物品、またはデバイスに固有の要素をさらに含むことにさらに留意されたい。「を含む(includes a ...)」の前にある要素は、さらなる制約がなければ、その要素を含むプロセス、方法、物品、またはデバイス中の追加の同等の要素の存在を妨げない。
【００８８】
本出願は、プログラムモジュールなどのコンピュータによって実行されるコンピュータ実行可能命令の共通のコンテキストにおいて説明されることが可能である。概して、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。本出願はまた、分散コンピューティング環境において実施されることが可能である。これらの分散コンピューティング環境では、タスクは、通信ネットワークを使用することによって接続されるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールは、ストレージデバイスを含むローカルおよびリモートコンピュータ記憶媒体中にあることが可能である。
【００８９】
本明細書における実施形態はすべて漸進的な様式で説明され、実施形態における同じまたは同様の部分について、これらの実施形態が参照されることが可能であり、各実施形態は、他の実施形態との差異に焦点を当てる。特に、システム実施形態は、基本的に方法実施形態と同様であり、したがって手短に説明され、関係する部分について、方法実施形態における部分的な説明が参照されることが可能である。
【００９０】
前述の説明は、本出願の実施形態にすぎず、本出願を限定するものではない。当業者のために、本出願は、様々な修正および変更を有することができる。本出願の趣旨および原理内で行われるいかなる修正、等価な置換、改善などもまた、本出願の保護範囲内に入るものとする。
【００９１】
図6は、本開示の一実装形態による、顔活動検出を用いてユーザ真正性を判定するためのコンピュータ実装方法600の一例を示すフローチャートである。提示を明快にするために、以下の説明は、概して、本明細書中の他の図のコンテキストにおいて方法600について説明する。ただし、方法600が、適宜に、たとえば任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実施されることが可能であることを理解されよう。いくつかの実装形態では、方法600の様々なステップは、並行して、組合せで、ループで、または任意の順序で実行されることが可能である。
【００９２】
602において、全体的な顔画像を分類するために第1の深層学習モデルをトレーニングする。全体的な顔画像は、少なくとも生体顔画像および非生体顔画像に分類される。いくつかの実装形態では、生体顔画像は正のサンプルであると見なされ、非生体顔画像は負のサンプルであると見なされる。いくつかの実装形態では、第1の深層学習モデルは分類モデルであり、全体的な顔画像は、第1の深層学習モデルの入力として使用される。第1の深層学習モデルをトレーニングすることは、全体的な顔画像に関する分類精度を改善する。
【００９３】
いくつかの実装形態では、特定の全体的な顔画像が、第1のラベルに対応する特定の全体的な顔画像が生体顔画像であるかどうかを示す第1のラベルを含む。いくつかの実装形態では、第1の深層学習モデルをトレーニングすることは、1)特定の全体的な顔画像の画像構造特徴に基づく、特定の全体的な顔画像が生体顔画像であるかどうかの第1の予測結果を生成するために、特定の全体的な顔画像を第1の深層学習モデルに入力することと、2)第1の予測結果と第1のラベルとに基づいて第1の深層学習モデルを調整することとを含む。602から、方法600は604に進む。
【００９４】
604において、全体的な顔画像から、クロップされた顔画像を抽出する。いくつかの実装形態では、特定のクロップされた顔画像は第2のラベルを含み、第2のラベルは、第2のラベルに対応する特定のクロップされた顔画像が生体顔画像であるかどうかを示す。いくつかの実装形態では、クロップされた顔画像に基づいて第2の深層学習モデルをトレーニングすることは、1)特定のクロップされた顔画像を取得することと、2)特定のクロップされた顔画像の画像素材特徴に基づく、特定のクロップされた顔画像が生体顔画像であるかどうかの第2の予測結果を生成するために、特定のクロップされた顔画像を第2の深層学習モデルに入力することと、3)第2の予測結果と第2のラベルとに基づいて第2の深層学習モデルを調整することとを含む。604から、方法600は606に進む。
【００９５】
606において、クロップされた顔画像に基づいて第2の深層学習モデルをトレーニングする。606から、方法600は608に進む。
【００９６】
608において、トレーニングされた第1の深層学習モデルとトレーニングされた第2の深層学習モデルとに基づいて顔活動検出を実施する。いくつかの実装形態では、第1の深層学習モデルと第2の深層学習モデルとが畳み込みニューラルネットワークに基づき、第1の深層学習モデルの畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルは、第2の深層学習モデルの畳み込みニューラルネットワークにおける畳み込みユニットの畳み込みカーネルよりも大きい。608の後、方法600は終了する。
【００９７】
いくつかの実装形態では、顔活動検出は、1)全体的な顔画像を取得することと、2)対応する第1の予測データを取得するために、全体的な顔画像をトレーニングされた第1の深層学習モデルに入力することと、3)全体的な顔画像から、クロップされた顔画像を取得することと、4)対応する第2の予測データを取得するために、クロップされた顔画像をトレーニングされた第2の深層学習モデルに入力することと、5)顔活動検出結果を取得するために、第1の予測データと第2の予測データとに基づいて共同決定を行うこととを含む。608から、方法600は610に進む。
【００９８】
本明細書において説明される主題の実装形態は、特定の利点または技術的効果を実現するように実装されることが可能である。説明された顔活動検出は、認証プロセスを向上させ、データセキュリティを保証するために使用されることが可能である。たとえば、説明された方法は、生体人間顔の画像と非生体人間顔の画像とを区別してセキュアなデータに関する不正および悪意のある挙動を回避するのを助けるために使用されることが可能である。説明された方法は、(モバイルコンピューティングデバイスおよびデジタルイメージングデバイスなどの)コンピューティングデバイスに組み込まれることが可能である。
【００９９】
顔活動結果は、グラフィカルユーザインターフェース上に表示されることが可能である。顔活動結果に基づいて、後続の行為(たとえば、セキュアなデータをロック解除すること、ソフトウェアアプリケーションを動作させること、データを記憶すること、ネットワークにわたってデータを送信すること、またはグラフィカルユーザインターフェース上にデータを表示すること)を実施すべきかどうかの判定が行われる。
【０１００】
説明された方法論は、様々なモバイルコンピューティングデバイストランザクションおよび全般的なトランザクション/データセキュリティの向上を可能にする。モバイルコンピューティングデバイスを使用するトランザクションの参加者は、モバイルコンピューティングデバイスをロック解除するかまたはトランザクションを許可するために使用される顔画像が有効であることと、それらが不正の被害にあわないこととを確信することができる。
【０１０１】
説明された方法論は、データ/トランザクションの効率的な検証を通して、コンピュータリソースの効率的な使用(たとえば、処理サイクル、ネットワーク帯域幅、およびメモリ使用)を保証することができる。少なくともこれらの行為は、望ましくない/不正なトランザクションを防ぐことによって、モバイルコンピューティングトランザクションにおける複数の当事者に関する利用可能なコンピュータリソースの浪費を最小限に抑えるかまたは防ぐことができる。ユーザが追加の調査またはトランザクションを用いてデータを検証することを必要とせずに、トランザクションが有効なものとして信頼されることが可能である。
【０１０２】
いくつかの実装形態では、グラフィカルユーザインターフェースは、顔活動検出動作(たとえば、モバイルコンピューティングデバイスを用いた人間の顔の活動のスキャンおよび検証)において使用されるグラフィカル要素が、ユーザにとってなるべく邪魔にならないように(たとえば、なるべく少ない量のデータを不明瞭にし、重要なまたはしばしば使用されるグラフィカルユーザインターフェース要素を隠すことを回避するように)グラフィカルユーザインターフェース上に配置されることが可能であることを保証するために分析されることが可能である。
【０１０３】
本明細書において説明された実施形態および動作は、本明細書において開示される構造を含む、デジタル電子回路において、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装されることが可能である。動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されたまたは他のソースから受信されたデータ上で、データ処理装置によって実施される動作として実装されることが可能である。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、あるいは上記のものの複数、または組合せを含む、データを処理するための装置、デバイス、およびマシンを包含してもよい。装置は、専用論理回路、たとえば中央処理ユニット(CPU)、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含むことができる。装置はまた、当該のコンピュータプログラムのための実行環境を作成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえば、オペレーティングシステムまたはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【０１０４】
(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られている)コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で書かれることが可能であり、それは、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに好適な他のユニットとしてを含む任意の形態において展開されることが可能である。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に、当該のプログラムに専用の単一のファイルに、あるいは複数の協調ファイル(coordinated file)(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶されることが可能である。コンピュータプログラムは、1つのコンピュータ上で実行されることが可能であり、あるいは1つのサイトに位置するかまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されることが可能である。
【０１０５】
コンピュータプログラムの実行のためのプロセッサは、例として汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサを含む。概して、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信することになる。コンピュータの必須の要素は、命令に従って行為を実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。概して、コンピュータはまた、データを記憶するための1つまたは複数の大容量ストレージデバイスを含むことになり、あるいはそれらからデータを受信するように、もしくはそれらにデータを転送するように、またはその両方を行うように動作可能に結合されることになる。コンピュータは、別のデバイス、たとえばモバイルデバイス、携帯情報端末(PDA)、ゲーム機、全地球測位システム(GPS)レシーバ、またはポータブルストレージデバイス中に埋め込まれることが可能である。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として半導体メモリデバイス、磁気ディスク、および光磁気ディスクを含む、不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって増補されるか、または専用論理回路に組み込まれることが可能である。
【０１０６】
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマート眼鏡)、人体内の移植されたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含むことができる。モバイルデバイスは、(以下で説明される)様々な通信ネットワークに(たとえば、無線周波数(RF)信号を使用して)ワイヤレス通信することができる。モバイルデバイスは、モバイルデバイスの現在の環境の特性を判定するためのセンサを含むことができる。センサは、カメラ、マイクロフォン、近接度センサ、GPSセンサ、動きセンサ、加速度計、周辺光センサ、湿度センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよびセルラー無線機)、熱センサ、または他のタイプのセンサを含むことができる。たとえば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサをもつ前面または後面カメラを含むことができる。カメラは、顔および/または虹彩認識のための細部をキャプチャすることが可能なメガピクセルカメラであることが可能である。カメラは、データプロセッサ、およびメモリに記憶されるかまたはリモートでアクセスされる認証情報とともに、顔認識システムを形成することができる。顔認識システム、あるいは1つまたは複数のセンサ、たとえばマイクロフォン、動きセンサ、加速度計、GPSセンサ、またはRFセンサは、ユーザ認証のために使用されることが可能である。
【０１０７】
ユーザとの対話を提供するために、実施形態は、ユーザに情報を表示するためのディスプレイデバイスおよび入力デバイス、たとえば液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびにユーザがそれによってコンピュータに入力を与えることができるタッチスクリーン、キーボード、およびポインティングデバイスを有するコンピュータ上に実装されることが可能である。他の種類のデバイスもまた、ユーザとの対話を提供するために使用されることが可能であり、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態において受信されることが可能である。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信することと、そのデバイスからドキュメントを受信することとによって、たとえばウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【０１０８】
実施形態は、任意の形態または媒体のワイヤラインデジタルデータ通信またはワイヤレスデジタルデータ通信(またはそれらの組合せ)、たとえば通信ネットワークによって相互接続されるコンピューティングデバイスを使用して実装されることが可能である。相互接続されるデバイスの例は、一般に通信ネットワークを通して対話する、概して互いからリモートにあるクライアントおよびサーバである。クライアント、たとえばモバイルデバイスは、それ自体で、サーバと、またはサーバを通してトランザクションを行うことができ、たとえば購入する、販売する、支払いをする、贈る、送信する、または貸すトランザクションを実施するか、あるいはそれを許可する。そのようなトランザクションはリアルタイムであってもよく、したがって行為と応答とは時間的に近接し、たとえば個人が、行為および応答が実質的に同時に行われていると知覚するか、個人の行為に続く応答についての時間差が1ミリ秒(ms)よりも小さいまたは1秒(s)よりも小さいか、あるいは応答はシステムの処理限界を考慮に入れた意図的な遅延がない。
【０１０９】
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せの全部または一部分を含むことができる。情報は、ロングタームエボリューション(LTE)、5Q IEEE 802、インターネットプロトコル(IP)、または他のプロトコル、あるいはプロトコルの組合せを含む様々なプロトコルおよび規格に従って通信ネットワーク上で伝送されることが可能である。通信ネットワークは、ボイス、ビデオ、バイオメトリック、または認証データ、あるいは他の情報を接続されるコンピューティングデバイス間で伝送することができる。別個の実装形態として説明された特徴は、組合せで、単一の実装形態で、実装されてもよく、単一の実装形態として説明された特徴は、複数の実装形態で、別個に、または任意の好適な部分組合せで、実装されてもよい。特定の順序で説明され、請求された動作は、特定の順序もすべての図示の動作も実施されなくてはならないことを必要とするものとして理解されるべきでない(いくつかの動作はオプションであることが可能である)。適宜に、マルチタスキングまたは並列処理(またはマルチタスキングおよび並列処理の組合せ)が実施されることが可能である。
【符号の説明】
【０１１０】
501  トレーニングモジュール
502  検出モジュール
【図１】
0006732317.tif 000002
【図２】
0006732317.tif 000003
【図３】
0006732317.tif 000004
【図４】
0006732317.tif 000005
【図５】
0006732317.tif 000006
【図６】
0006732317.tif 000007