(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】モバイルデバイスによる顔認識のなりすまし検知
(51)【国際特許分類】
G06T 7/00 20170101AFI20240402BHJP
G06F 21/32 20130101ALI20240402BHJP
G06F 21/31 20130101ALI20240402BHJP
【FI】
G06T7/00 510F
G06F21/32
G06F21/31
(21)【出願番号】P 2021555104
(86)(22)【出願日】2020-03-11
(86)【国際出願番号】 US2020022168
(87)【国際公開番号】W WO2020185948
(87)【国際公開日】2020-09-17
【審査請求日】2023-03-08
(32)【優先日】2019-03-12
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】521414841
【氏名又は名称】エレメント インク.
(74)【復代理人】
【識別番号】110003797
【氏名又は名称】弁理士法人清原国際特許事務所
(74)【代理人】
【識別番号】100082072
【氏名又は名称】清原 義博
(72)【発明者】
【氏名】エルブイ,フェンジュン
(72)【発明者】
【氏名】ゴーヤル,ドゥシャント
(72)【発明者】
【氏名】ワン,ヤン
(72)【発明者】
【氏名】ペロルド,アダム
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2008-015800(JP,A)
【文献】川又 泰介,外1名,e-Testingにおける時系列画像推定による顔認証の検討,電子情報通信学会技術研究報告 Vol.118 No.294 [online],日本,一般社団法人電子情報通信学会,2018年,第118巻
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06F 21/31 - 21/32
(57)【特許請求の範囲】
【請求項1】
モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するための、コンピュータに実装される方法であって
、
a)第1の距離において、ユーザーの顔の画像または画像のセットを
前記カメラにより記録する工程と、
b)
前記ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて
前記第1の距離における
前記ユーザーの顔の画像または画像のセットを処理する工程と、
c)
前記第1のデータ表現を処理する工程であって、それにより、
前記ユーザーの顔と
前記カメラとの間の他の距離または配向における
前記ユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程であって、前記予測モデルは機械学習アルゴリズムによって、画像解析アルゴリズムによって、または、それらの組合わせによって生成され、複数のユーザー画像と複数のなりすましのユーザー画像を使用して訓練される、工程と、
d)
前記ユーザーの顔と
前記カメラとの間の距離を変更する工程であって、ここで距離を変更する工程は、
前記ユーザーの顔と
前記カメラとの間の距離を増加させること、
前記ユーザーの顔と
前記カメラとの間の距離を減少させること、
前記ユーザーの顔に対する
前記カメラの配向を変更すること、
前記カメラに対する
前記ユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、工程と、
e)第2の距離において、
前記ユーザーの顔の画像または画像のセットを
前記カメラにより記録する工程と、
f)
前記ユーザーの第2の画像または画像のセットの第2のデータ表現を生成するために、アルゴリズムを用いて
前記第2の距離における
前記ユーザーの顔の画像または画像のセットを処理する工程と、
g)
前記第2のデータ表現を
前記第1のデータ表現から生成された
前記予測モデルと比較する工程であって、それにより、両者がマッチするかどうかを判定する、工程と、
h)
前記第2のデータ表現が、
前記第1のデータ表現から生成された
前記予測モデルにマッチする場合、アイデンティティ認識のマッチを確証する工程と、
i)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチしない場合に、
前記第1の距離において顔の画像または画像のセットを提示する
前記ユーザーが、
前記第2の距離において顔の画像または画像のセットを提示する
前記ユーザーに一致するかどうかを判定するための付加的なデータを比較する工程と、
j)前記第1の距離または前記第2の距離からの前記ユーザーの顔の画像または画像のセットから、1つ以上の付加的なデータ表現をキャプチャーする工程と、キャプチャーされた前記1つ以上の付加的なデータ表現を、前記第1のデータ表現から生成された前記予測モデルと比較する工程であって、それにより、前記第2のデータ表現を前記第1のデータ表現から生成された前記予測モデルと比較した後に前記第2のデータ表現が前記第1のデータ表現から生成された前記予測モデルにマッチしない場合に、前記1つ以上の付加的なデータ表現と前記第1のデータ表現から生成された前記予測モデルとがマッチするかどうかを判定する、工程と、
を含む、方法。
【請求項2】
前記第2のデータ表現を
前記第1のデータ表現から生成された
前記予測モデルと比較した後、
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチしない場合、
前記アイデンティティ認識のマッチを拒絶する工程をさらに含む、請求項1に記載の方法。
【請求項3】
前記1つ以上の付加的なデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチする場合に、
前記付加的なデータ表現の
前記アイデンティティ認識のマッチを確証する工程をさらに含む、請求項
1に記載の方法。
【請求項4】
前記方法は、
前記1つ以上の付加的なデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチしない場合に、
前記付加的なデータ表現の
前記アイデンティティ認識のマッチを拒絶する工程をさらに含む、請求項
1に記載の方法。
【請求項5】
前記付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおける
前記ユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル
、またはそれらの任意の組合せを含むことを特徴とする、請求項1に記載の方法。
【請求項6】
前記方法は、
a)
前記第2のデータ表現を処理する工程であって、それにより、
前記ユーザーの顔と
前記カメラとの間の、他の距離または配向における
前記ユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程と、
b)
前記第1のデータ表現を
前記第2のデータ表現から生成された
前記予測モデルと比較する工程であって、それにより、両者がマッチするかどうかを判定する、工程と、
c)
前記第1のデータ表現が
前記第2のデータ表現から生成された
前記予測モデルにマッチする場合に、アイデンティティ認識のマッチを確証する工程と、をさらに含む、請求項1に記載の方法。
【請求項7】
前記方法は予測モデルをデータ表現と比較する工程を含み、マッチングアーキテクチャを構成する工程をさらに含むことを特徴とする、請求項
6に記載の方法。
【請求項8】
前記方法は予測モデルをデータ表現と比較する工程を含み、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較する工程、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較する工程、またはそれらの任意の組合せをさらに含むことを特徴とする、請求項
6に記載の方法。
【請求項9】
前記マッチングアーキテクチャの構成は、連続するマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化しないことを特徴とする、請求項
7に記載の方法。
【請求項10】
前記マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせであることを特徴とする、請求項
9に記載の方法。
【請求項11】
前記マッチングアーキテクチャの構成は変化しないことを特徴とする、請求項
7に記載の方法。
【請求項12】
ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするために使用されることを特徴とする、請求項1に記載の方法。
【請求項13】
前記ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用されることを特徴とする、請求項
12に記載の方法。
【請求項14】
前記方法は、
a)
前記モバイルデバイスにおける1つ以上のセンサーからの、
前記ユーザーの顔の画像または画像のセットが
前記第1の距離において
前記カメラによって記録された時の、運動および/または位置データを記録する工程と、
b)
前記モバイルデバイスにおける1つ以上のセンサーからの、
前記ユーザーの顔の画像または画像のセットが
前記第2の距離において
前記カメラによって記録された時の、運動および/または位置データを記録する工程と、
c)
前記第1の距離において記録された
前記運動および/または位置データ、および、
前記第2の距離から記録された
前記運動および/または位置データを、
前記第1のデータ表現から生成された
前記予測モデル、および
前記第2のデータ表現と比較する工程と、
d)(I)
前記第2のデータ表現が
前記第1のデータ表現予測モデリングから生成された
前記予測モデルにマッチする場合、および、(II)
前記運動および/または位置データが、
前記ユーザーの顔に対する
前記モバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する、工程と、をさらに含む、請求項1に記載の方法。
【請求項15】
前記運動および/または位置データは、
前記第1のデータ表現を記録する時間と
前記第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録されることを特徴とする、請求項
14に記載の方法。
【請求項16】
(I)
前記第1のデータ表現を記録する時間と
前記第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録された
前記運動および/または位置データを、(II)
前記第1のデータ表現から生成された
前記予測モデル、および、
前記第2のデータ表現と比較する工程をさらに含む、請求項
15に記載の方法。
【請求項17】
(I)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルにマッチする場合、および、(II)連続的に又は複数の間隔をおいて記録された
前記運動および/または位置データが、
前記ユーザーの顔に対する
前記モバイルデバイスのポジションに起因する
前記期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む、請求項
16に記載の方法。
【請求項18】
前記方法は、
a)
前記モバイルデバイスにおける1つ以上のセンサーからの、
前記ユーザーの顔の画像または画像のセットが
前記第1の距離において
前記カメラによって記録された時の、運動および/または位置データを記録する工程と、
b)
前記モバイルデバイスにおける1つ以上のセンサーからの、
前記ユーザーの顔の画像または画像のセットが
前記第2の距離において
前記カメラによって記録された時の、運動および/または位置データを記録する工程と、
c)
前記第1の距離において記録された
前記運動および/または位置データ、および、
前記第2の距離からの
前記運動および/または位置データを、
前記第2のデータ表現から生成された
前記予測モデル、および、
前記第1のデータ表現と比較する工程と、
d)(I)
前記第1のデータ表現が
前記第2のデータ表現の予測モデリングから生成された
前記予測モデルにマッチする場合、および、(II)
前記運動および/または位置データが、
前記ユーザーの顔に対する
前記モバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程と、をさらに含む、請求項
6に記載の方法。
【請求項19】
前記運動および/または位置データは、
前記第1のデータ表現を記録する時間と
前記第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録されることを特徴とする、請求項
18に記載の方法。
【請求項20】
(I)
前記第1のデータ表現を記録する時間と
前記第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される
前記運動および/または位置データを、(II)
前記第2のデータ表現から生成された
前記予測モデル、および
前記第1のデータ表現と比較する工程をさらに含む、請求項
19に記載の方法。
【請求項21】
(I)
前記第1のデータ表現が、
前記第2のデータ表現から生成された
前記予測モデルにマッチする場合、および、(II)連続的に又は複数の間隔をおいて記録された
前記運動および/または位置データが、
前記ユーザーの顔に対する
前記モバイルデバイスのポジションに起因する
前記期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む、請求項
20に記載の方法。
【請求項22】
コンピュータに実装されるシステムであって、該システムは、少なくとも1つのプロセッサを含むコンピューティングデバイスと、実行可能命令を実行するように構成されたオペレーティングシステムと、メモリと、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、コンピューティングデバイスによって実行可能な命令を含むコンピュータプログラムと、を含み、前記アプリケーションは、
a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、
b)
前記ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて
前記第1の距離における
前記ユーザーの顔の画像または画像のセットを処理するように構成されたソフトウェアモジュールと、
c)
前記第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、
前記ユーザーの顔と
前記カメラとの間の他の距離または配向における
前記ユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールであって、前記予測モデルは機械学習アルゴリズムによって、画像解析アルゴリズムによって、または、それらの組合わせによって生成され、複数のユーザー画像と複数のなりすましのユーザー画像を使用して訓練される、ソフトウェアモジュールと、
d)
前記ユーザーの顔と
前記カメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、ここで距離を変更することは、
前記ユーザーの顔と
前記カメラとの間の距離を増加させること、
前記ユーザーの顔と
前記カメラとの間の距離を減少させること、
前記ユーザーの顔に対する
前記カメラの配向を変更すること、
前記カメラに対する
前記ユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、
e)第2の距離において、
前記ユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、
f)
前記ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、
前記第2の距離における
前記ユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成されたソフトウェアモジュールと、
g)
前記第2のデータ表現を
前記第1のデータ表現から生成された
前記予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、
h)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、
i)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチしない場合に、
前記第1の距離において顔の画像または画像のセットを提示する
前記ユーザーが、
前記第2の距離において顔の画像または画像のセットを提示する
前記ユーザーに一致するかどうかを判定するための付加的なデータを比較するように構成されたソフトウェアモジュールと、
j)前記第1の距離または前記第2の距離からの前記ユーザーの顔の画像または画像のセットから、1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、前記第2のデータ表現を前記第1のデータ表現から生成された前記予測モデルと比較した後に前記第2のデータ表現が前記第1のデータ表現から生成された前記予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を前記第1のデータ表現から生成された前記予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、
を含む、システム。
【請求項23】
コンピュータプログラムによって符号化された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、1つ以上のプロセッサによって実行可能な命令を含み、前記アプリケーションは、
a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、
b)
前記ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて
前記第1の距離における
前記ユーザーの顔の画像または画像のセットを処理するように構成されたソフトウェアモジュールと、
c)
前記第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、
前記ユーザーの顔と
前記カメラとの間の他の距離または配向における
前記ユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールであって、前記予測モデルは機械学習アルゴリズムによって、画像解析アルゴリズムによって、または、それらの組合わせによって生成され、複数のユーザー画像と複数のなりすましのユーザー画像を使用して訓練される、ソフトウェアモジュールと、
d)
前記ユーザーの顔と
前記カメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、
ここで距離を変更することは、
前記ユーザーの顔と
前記カメラとの間の距離を増加させること、
前記ユーザーの顔と
前記カメラとの間の距離を減少させること、
前記ユーザーの顔に対する
前記カメラの配向を変更すること、
前記カメラに対する
前記ユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、
e)第2の距離において
前記ユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、
f)
前記ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、
前記第2の距離における
前記ユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成されたソフトウェアモジュールと、
g)
前記第2のデータ表現を
前記第1のデータ表現から生成された
前記予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、
h)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、
i)
前記第2のデータ表現が
前記第1のデータ表現から生成された
前記予測モデルとマッチしない場合に、
前記第1の距離において顔の画像または画像のセットを提示する
前記ユーザーが、
前記第2の距離において顔の画像または画像のセットを提示する
前記ユーザーに一致するかどうかを判定するための付加的なデータを比較するように構成されたソフトウェアモジュールと、
j)前記第1の距離または前記第2の距離からの前記ユーザーの顔の画像または画像のセットから、1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、前記第2のデータ表現を前記第1のデータ表現から生成された前記予測モデルと比較した後に前記第2のデータ表現が前記第1のデータ表現から生成された前記予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を前記第1のデータ表現から生成された前記予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、
を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本出願は、2019年3月12日に出願された米国仮特許出願第62/817、554号の利益を主張し、該仮出願は、その全体において引用により本明細書に組み込まれる。
【背景技術】
【0002】
セキュリティーシステムへの「なりすまし」とは、偽データを送信することにより、認証されたユーザーを装う行為として一般的に定義される。この場合、死活検知の方法は、顔、手のひら(掌紋)、指(指紋)、または耳などの生体認証のモダリティが本人の三次元の生体測定のモダリティの固有の構造品質を持つか、それとも二次元の複製かどうかを判断するために使用され得る。
【発明の概要】
【0003】
1つの態様において、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するための、コンピュータに実装される方法が本明細書に開示され、該方法は:
(a)第1の距離において、ユーザーの顔の画像または画像のセットをカメラにより記録する工程と、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理する工程と、(c)第1のデータ表現を処理する工程であって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程と、(d)ユーザーの顔とカメラとの間の距離を変更する工程であって、ここで距離を変更する工程は、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、工程と、(e)カメラによって、第2の距離においてユーザーの顔の画像または画像のセットを記録する工程と、(f)ユーザーの第2の画像または画像のセットの第2のデータ表現を生成するために、アルゴリズムを用いて第2の距離におけるユーザーの顔の画像または画像のセットを処理する工程と、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較する工程であって、それにより、第2のデータ表現と第1のデータ表現から生成された予測モデルとがマッチするかどうかを判定する、工程と、(h)第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証する工程と、を含む。いくつかの実施形態では、方法は、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後、第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合、アイデンティティ認識のマッチを拒絶する工程をさらに含む。いくつかの実施形態では、方法は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチした場合に付加的なデータ表現のアイデンティティ認識のマッチを確証する工程をさらに含む。いくつかの実施形態では、方法は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に付加的なデータ表現アイデンティティ認識のマッチを拒絶する工程をさらに含む。いくつかの実施形態では、方法は、第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合、第1の距離において顔の画像または画像のセットを提示するユーザーが、第2の距離において顔の画像または画像のセットを提示するユーザーに一致するかどうかを判定するための付加的なデータを比較する工程をさらに含む。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、方法は、(a)第2のデータ表現を処理する工程であって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程と、(B)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較する工程であって、それにより、両者がマッチするかどうかを判定する、工程と、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証する工程と、をさらに含む。いくつかの実施形態では、予測モデルの、データ表現に対する比較は、マッチングアーキテクチャを構成することを含む。いくつかの実施形態では、予測モデルの、データ表現に対する比較は、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較することを含む、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、またはそれらの任意の組合せを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするために使用される。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、方法は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータと比較する工程と、(d)(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程とをさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、前記方法は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および、第2のデータ表現と比較する工程をさらに含む。いくつかの実施形態では、前記方法は、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む。いくつかの実施形態では、方法は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および第1のデータ表現と比較する工程と、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程とをさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、方法は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較する工程をさらに含む。いくつかの実施形態では、方法は、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む。
【0004】
他の態様では、本明細書においてコンピュータに実装されるシステムが開示され、該システムは、少なくとも1つのプロセッサを含むコンピューティングデバイスと、実行可能命令を実行するように構成されたオペレーティングシステムと、メモリと、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、コンピューティングデバイスによって実行可能な命令を含むコンピュータプログラムと、を含み、前記アプリケーションは、(a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成された、ソフトウェアモジュールと、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理するように構成された、ソフトウェアモジュールと、(c)第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(d)ユーザーの顔とカメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、ここで距離を変更することは、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、(e)第2の距離においてユーザーの顔の画像または画像のセットを記録するように構成された、ソフトウェアモジュールと、(f)ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、第2の距離におけるユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成された、ソフトウェアモジュールと、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較ように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(h)第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、を含む。いくつかの実施形態では、システムは、ソフトウェアモジュールであって、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、アイデンティティ認識のマッチを拒絶するように構成される、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第1の距離または第2の距離からのユーザーの顔の画像または画像のセットから1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後に第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチした場合に付加的なデータ表現アイデンティティ認識のマッチを確証するように構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、1つ以上の付加的なデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に付加的なデータ表現のアイデンティティ認識のマッチを拒絶するように構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合に、第1の距離において顔の画像または画像のセットを提示するユーザーが第2の距離において顔の画像または画像のセットを提示するユーザーにマッチするかどうかを判定するための付加的なデータを比較するように構成される。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、システムは、(a)第2のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(b)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、を含む。いくつかの実施形態では、第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールは、マッチングアーキテクチャの構成を含む。いくつかの実施形態では、予測モデルをデータ表現と比較するように構成された、ソフトウェアモジュールはいずれも、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、または、それらの任意の組合わせを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、システムは、ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするように構成される。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、システムは、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成された、ソフトウェアモジュールと、(d)(I)第2のデータ表現が第1のデータ表現予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように、構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成される。いくつかの実施形態では、システムは、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成された、ソフトウェアモジュールと、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように、構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動
および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように、構成される。
【0005】
さらに別の態様では、本明細書において、コンピュータプログラムによって符号化された非一時的なコンピュータ可読記憶媒体が開示され、前記コンピュータプログラムは、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、1つ以上のプロセッサによって実行可能な命令を含み、前記アプリケーションは、(a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成された、ソフトウェアモジュールと、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理するように構成された、ソフトウェアモジュールと、(c)第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(d)ユーザーの顔とカメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、ここで距離を変更することは、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、(e)第2の距離においてユーザーの顔の画像または画像のセットを記録するように構成された、ソフトウェアモジュールと、(b)ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、第2の距離におけるユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成された、ソフトウェアモジュールと、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較ように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(h)第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、を含む。いくつかの実施形態では、コンピュータ可読記憶媒体は、ソフトウェアモジュールであって、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成された後、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、アイデンティティ認識のマッチを拒絶するように構成される、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第1の距離または第2の距離からのユーザーの顔の画像または画像のセットから1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後に第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する。いくつかの実施形態では、記憶媒体は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチした場合に、付加的なデータ表現のマッチを確証するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合に、付加的なデータ表現のアイデンティティ認識のマッチを拒絶するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、第1の距離において顔の画像または画像のセットを提示するユーザーが第2の距離において顔の画像または画像のセットを提示するユーザーにマッチするかどうかを判定するための付加的なデータを比較するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、記憶媒体は、(a)第2のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(b)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールは、マッチングアーキテクチャの構成を含む。いくつかの実施形態では、予測モデルをデータ表現と比較するように構成された、ソフトウェアモジュールは、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、またはそれらの任意の組合せを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、記憶媒体は、第1の、および/または第2のデータ表現をキャプチャーするために使用されるガイド機能付きユーザーインターフェースをさらに含む。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、記憶媒体は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成された、ソフトウェアモジュールと、(d)(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、ソフトウェアモジュールであって、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成された、ソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成された、ソフトウェアモジュールと、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成された、ソフトウェアモジュールをさらに含む。
【図面の簡単な説明】
【0006】
本発明の特定事項の特徴と利点のより良い理解は、例証的な実施形態を説明する以下の詳細な記載と添付の図面を参照することによって得られる。
【
図1】
図1は、コンピューティングデバイスの非限定的な例を示し、この場合、本明細書における実施形態にかかる、1つ以上のプロセッサ、メモリ、記憶装置、およびネットワークインターフェースを備えた、デバイスを示す。
【
図2】
図2は、ウェブ/モバイルアプリケーション提供システムの非限定的な例を示し、この場合、本明細書における実施形態にかかる、ブラウザベースの、および/または元々モバイルの、ユーザーインターフェースを提供する、システムを示す。
【
図3】
図3は、クラウドベースのウェブ/モバイルアプリケーション提供システムの非限定的な例を示し、この場合、本明細書における実施形態にかかる、弾力的にロードバランスされ、自動スケール機能があるウェブサーバおよびアプリケーションサーバーのリソース、ならびに、同期的に複製されるデータベースを含む、システムを示す。
【
図4】
図4は、本明細書における実施形態にかかる、第1の、および第2のデータ予測マッチングアーキテクチャの非限定的な例を示す。
【
図5】
図5は、本明細書における実施形態にかかる、連続データ予測マッチングアーキテクチャの非限定的な例を示す。
【
図6】
図6は、連続データ予測マッチングアーキテクチャの非限定的な例を示し、この場合、本明細書における実施形態にかかる、複数の過去のフレームを使用するアーキテクチャを示す。
【発明を実施するための形態】
【0007】
一態様において、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するための、コンピュータに実装される方法が本明細書に開示され、該方法は:(a)第1の距離において、ユーザーの顔の画像または画像のセットをカメラにより記録する工程と、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理する工程と、(c)第1のデータ表現を処理する工程であって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程と、(d)ユーザーの顔とカメラとの間の距離を変更する工程であって、ここで距離を変更する工程は、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、工程と、(e)カメラによって、第2の距離においてユーザーの顔の画像または画像のセットを記録する工程と、(f)ユーザーの顔の画像または画像のセットの第2のデータ表現を生成するために、アルゴリズムを用いて第2の距離におけるユーザーの顔の画像または画像のセットを処理する工程と、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較する工程であって、それにより、両者がマッチするかどうかを判定する、工程と、(h)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証する工程と、を含む。いくつかの実施形態では、方法は、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、アイデンティティ認識のマッチを拒絶する工程をさらに含む。いくつかの実施形態では、方法は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチする場合に付加的なデータ表現のアイデンティティ認識のマッチを確証する工程をさらに含む。いくつかの実施形態では、方法は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に、付加的なデータ表現のアイデンティティ認識のマッチを拒絶する工程をさらに含む。いくつかの実施形態では、方法は、第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合、第1の距離において顔の画像または画像のセットを提示するユーザーが、第2の距離において顔の画像または画像のセットを提示するユーザーに一致するかどうかを判定するための付加的なデータを比較する工程をさらに含む。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、前記方法は、(a)第2のデータ表現を処理する工程であって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、工程と、(b)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較する工程であって、それにより、両者がマッチするかどうかを判定する、工程と、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合に、アイデンティティ認識のマッチを確証する工程と、をさらに含む。いくつかの実施形態では、予測モデルの、データ表現に対する比較は、マッチングアーキテクチャを構成することを含む。いくつかの実施形態では、予測モデルの、データ表現に対する比較は、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、またはそれらの任意の組合せを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、特定の連続するマッチング演習で変化して他では変化せず、ここで、変化は、マッチング演習間で無作為化されるか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするために使用される。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、方法は、(a)モバイルデバイスにおける1つ以上のセンサーから、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(b)モバイルデバイスにおける1つ以上のセンサーから、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較する工程と、(d)アイデンティティ認識のマッチを確証する工程であって、(I)第2のデータ表現が第1のデータ表現予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程と、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、方法は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および、第2のデータ表現と比較する工程をさらに含む。いくつかの実施形態では、方法は、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む。いくつかの実施形態では、方法は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較する工程と、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程と、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、方法は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較する工程をさらに含む。いくつかの実施形態では、方法は、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的に又は複数の間隔をおいて記録された運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証する工程をさらに含む。
【0008】
他の態様では、本明細書においてコンピュータに実装されるシステムが開示され、該システムは、少なくとも1つのプロセッサを含むコンピューティングデバイスと、実行可能命令を実行するように構成されたオペレーティングシステムと、メモリと、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、コンピューティングデバイスによって実行可能な命令を含むコンピュータプログラムと、を含み、前記アプリケーションは、(a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理するように構成されたソフトウェアモジュールと、(c)第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(d)ユーザーの顔とカメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、ここで距離を変更することは、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、(e)第2の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、(f)ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、第2の距離におけるユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成されたソフトウェアモジュールと、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(h)第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、を含む。いくつかの実施形態では、システムは、ソフトウェアモジュールであって、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成された後、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、アイデンティティ認識のマッチを拒絶するように構成されたソフトウェアモジュールをさらに含む。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第1の距離または第2の距離からのユーザーの顔の画像または画像のセットから1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後に第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、1つ以上のされた付加的なデータ表現が第1のデータの表現から生成された予測モデルとマッチする場合に、付加的なデータ表現のアイデンティティ認識を確証するように構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、1つ以上の付加的なデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、付加的なデータ表現のアイデンティティ認識のマッチを拒絶するように構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、第1の距離において顔の画像または画像のセットを提示するユーザーが第2の距離において顔の画像または画像のセットを提示するユーザーにマッチするかどうかを判定するための付加的なデータを比較するように、構成される。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、システムは、(a)第2のデータ表現を予測モデルへと処理するように構成されたソフトウェアモジュールであって、前記予測モデルはユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する、ソフトウェアモジュールと、(b)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールは、マッチングアーキテクチャの構成を含む。いくつかの実施形態では、予測モデルをデータ表現と比較するように構成されたソフトウェアモジュールはいずれも、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、またはそれらの任意の組合せを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、それ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、システムは、ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするように構成される。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、システムは、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録する工程と、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成されたソフトウェアモジュールと、(d)(I)第2のデータ表現が第1のデータ表現予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように、構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように、構成される。いくつかの実施形態では、システムは、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成されたソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成されたソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成されたソフトウェアモジュールと、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように、構成される。いくつかの実施形態では、システムは、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスの位置に起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識
のマッチを確証するように、構成される。
【0009】
さらに別の態様では、本明細書において、非一時的なコンピュータ可読記憶媒体が開示され、該非一時的なコンピュータ可読記憶媒体は、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するためのアプリケーションを作り出すための、1つ以上のプロセッサによって実行可能な命令を含むコンピュータプログラムによって符号化され、前記アプリケーションは、(a)第1の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、(b)ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて第1の距離におけるユーザーの顔の画像または画像のセットを処理するように構成されたソフトウェアモジュールと、(c)第1のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(d)ユーザーの顔とカメラとの間の距離を変更するように構成されたソフトウェアモジュールであって、ここで距離を変更することは、ユーザーの顔とカメラとの間の距離を増加させること、ユーザーの顔とカメラとの間の距離を減少させること、ユーザーの顔に対するカメラの配向を変更すること、カメラに対するユーザーの顔の配向を変更すること、または、これらの任意の組合わせを含む、ソフトウェアモジュールと、(e)第2の距離においてユーザーの顔の画像または画像のセットを記録するように構成されたソフトウェアモジュールと、(f)ユーザーの第2の顔の画像または画像のセットの第2のデータ表現を生成するために、第2の距離におけるユーザーの顔の画像または画像のセットをアルゴリズムを用いて処理するように構成されたソフトウェアモジュールと、(g)第2のデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(h)第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、を含む。いくつかの実施形態では、前記コンピュータ可読記憶媒体は、ソフトウェアモジュールであって、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成された後、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、アイデンティティ認識のマッチを拒絶する。いくつかの実施形態では、記憶媒体は、ソフトウェアモジュールをさらに含み、該ソフトウェアモジュールは、第1の距離または第2の距離からのユーザーの顔の画像または画像のセットから1つ以上の付加的なデータ表現をキャプチャーするように構成され、および、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較した後に第2のデータ表現が第1のデータ表現から生成された予測モデルとマッチしない場合に、キャプチャーされた前記1つ以上の付加的なデータ表現を第1のデータ表現から生成された予測モデルと比較するように構成され、それにより、両者がマッチするかどうかを判定する。いくつかの実施形態では、記憶媒体は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合に、付加的なデータ表現のアイデンティティ認識のマッチを確証するように構成される。いくつかの実施形態では、記憶媒体は、1つ以上の付加的なデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合に、付加的なデータ表現のアイデンティティ認識のマッチを拒絶するように構成された、ソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合に、第1の距離において顔の画像または画像のセットを提示するユーザーが第2の距離において顔の画像または画像のセットを提示するユーザーにマッチするかどうかを判定するための付加的なデータを比較するように構成されたソフトウェアモジュールをさらに含む。いくつかの実施形態では、付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、他のデータ、またはそれらの任意の組合せを含む。いくつかの実施形態では、記憶媒体は、(a)第2のデータ表現を処理するように構成されたソフトウェアモジュールであって、それにより、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する予測モデルを作成する、ソフトウェアモジュールと、(b)第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールであって、それにより、両者がマッチするかどうかを判定する、ソフトウェアモジュールと、(c)第1のデータ表現が第2のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、第1のデータ表現を第2のデータ表現から生成された予測モデルと比較するように構成されたソフトウェアモジュールは、マッチングアーキテクチャの構成を含む。いくつかの実施形態では、予測モデルをデータ表現と比較するように構成されたソフトウェアモジュールは、第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、第2のデータ表現から生成された予測モデルを第1のデータ表現と比較すること、またはそれらの任意の組合せを含む。いくつかの実施形態では、マッチングアーキテクチャの構成は、連続する複数のマッチング演習で変化するか、あるいは、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。いくつかの実施形態では、マッチングアーキテクチャの構成に対する変化は、マッチング演習間で無作為化されている変化に基づく変化であるか、無作為化されていない確定的なデータあるいはプロトコルに基づく変化であるか、または、それらの組合わせである。いくつかの実施形態では、マッチングアーキテクチャの構成は変化しない。いくつかの実施形態では、記憶媒体は、第1の、および/または第2のデータ表現をキャプチャーするために使用されるガイド機能付きユーザーインターフェースをさらに含む。いくつかの実施形態では、ガイド機能付きユーザーインターフェースからキャプチャーされた情報は、マッチング演習の中で使用される。いくつかの実施形態では、記憶媒体は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成されたソフトウェアモジュールと、(d)(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較するように構成されたソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、(I)第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、(a)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成されたソフトウェアモジュールと、(b)モバイルデバイスにおける1つ以上のセンサーからの、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録された時の、運動および/または位置データを記録するように構成されたソフトウェアモジュールと、(c)第1の距離において記録された運動および/または位置データ、および第2の距離からの運動および/または位置データを、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成されたソフトウェアモジュールと、(d)(I)第1のデータ表現が第2のデータ表現の予測モデリングから生成された予測モデルにマッチする場合、および、(II)運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールと、をさらに含む。いくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録される運動および/または位置データを、(II)第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較するように構成されたソフトウェアモジュールをさらに含む。いくつかの実施形態では、記憶媒体は、(I)第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、(II)連続的にまたは複数の間隔をおいて記録した運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチを確証するように構成されたソフトウェアモジュールをさらに含む。
【0010】
本明細書において、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するための方法が開示され、ここで:ユーザーの顔の画像または画像のセットは、第1の距離においてカメラによって記録され;第1の距離におけるユーザーの顔の画像または画像のセットは、ユーザーの顔の画像または画像のセットの第1のデータ表現を生成するために、アルゴリズムを用いて処理され;第1のデータ表現は、予測モデルであって、ユーザーの顔とカメラとの間の他の距離または配向におけるユーザーの顔の画像または画像のセットのデータ表現を推定する、予測モデルへと処理され;ユーザーの顔とカメラとの間の距離は、互いにより近くなるように、あるいはより遠く離れるように、および/または、カメラに対する顔の配向を変化させるように、動いて変化し、ユーザーの顔の画像または画像のセットは、第2の距離においてカメラによって記録され、第2の距離におけるユーザーの第2の顔の画像または画像のセットは、ユーザーの顔の画像または画像のセットの第2のデータ表現を生成するために、アルゴリズムを用いて処理され、第2のデータ表現は、第1のデータ表現から生成された予測モデルと比較され、それにより、両者がマッチするかどうかが判定され、および、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチが確証される。
【0011】
方法のいくつかの実施形態では、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較して、第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合、アイデンティティ認識のマッチは拒絶される。
【0012】
方法のいくつかの実施形態では、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較して、第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合、ユーザーの顔の画像または画像のセットからの付加的なデータ表現をキャプチャーし、および、前記付加的なデータ表現を、第1のデータ表現から生成された予測モデルと比較して、それにより、両者がマッチするかどうかを判定し、および、付加的なデータ表現が第1のデータ表現から生成された予測モデルにマッチする場合、アイデンティティ認識のマッチを確証し、付加的なデータ表現が、第1のデータ表現から生成された予測モデルにマッチしない場合、アイデンティティ認識のマッチを拒絶する。
【0013】
方法のいくつかの実施形態では、第2のデータ表現を第1のデータ表現から生成された予測モデルと比較して、第2のデータ表現が第1のデータ表現から生成された予測モデルにマッチしない場合、第1の距離における顔の画像または画像のセットを提供するユーザーが第2の距離における顔の画像または画像のセットを提供するユーザーにマッチするかどうかを判定するために、名前、パスワード、識別番号、住所、地理的位置、デバイスID、ユーザーのモバイルデバイス上のソフトウェア環境の固有のデータ特性、他の生体測定データ、ユーザデータまたは生体測定データの予測モデル、または他のデータ、などの付加的なデータを比較する。
【0014】
方法のいくつかの実施形態では、予測モデルは第2のデータ表現から生成される、および、アイデンティティ認識のマッチを確証することは、第2のデータ表現と第1のデータ表現から生成された予測モデルとの比較によって判定される。
【0015】
データとマッチングのためのソフトウェアアーキテクチャとを変更することは、セキュリティ上の利点をもたらし、ここで、システムに侵入してソフトウェアおよび/またはデータの何らかの部分または全てへのアクセスを手に入れようとする悪意のある攻撃者が、情報あるいはリソースにアクセスするための又は情報あるいはリソースを改ざんするための努力の一部として行なうように、マッチングがどのように実行されているかを理解しようとしても、より少ししか理解できないか、またはまったく理解できず、また、システムに侵入、および/またはユーザー(複数可)に代わってユーザー・アイデンティティのマッチング演習をリプレーアタックしようとしても、より難しいか、または不可能となる。
【0016】
方法のいくつかの実施形態では、マッチングアーキテクチャの構成は、(a)第1のデータ表現から生成された予測モデルを第2のデータ表現と比較すること、または(b)第2のデータ表現から生成された予測モデルを第1のデータ表現と比較することによるが、それは連続するマッチング演習で変化するか、または、ある特定の連続するマッチング演習で変化し、かつそれ以外では変化せず、ここで変化は、マッチング演習間で無作為化されているか、あるいは、無作為化されていない確定的なデータもしくはプロトコルに基づき、または、マッチングアーキテクチャの構成は変化しない場合がある。
【0017】
方法のいくつかの実施形態では、ガイド機能付きユーザーインターフェースは、第1の、および/または第2のデータ表現をキャプチャーするために使用される。ガイダンス情報はマッチング演習の中で使用される。
【0018】
方法のいくつかの実施形態では、予測モデリングのアーキテクチャの構成は、(a)所与のデータあるいはデータ表現から予測モデリングを生成し、他のデータあるいはデータ表現とマッチさせること、または、(b)2つ以上のキャプチャーされたデータまたはデータ表現から複数の予測モデリングを生成し、他の複数のデータまたはデータ表現とマッチさせることによる場合があり、他のデータまたはデータ表現とマッチングするための予測モデリングに使用される第1のデータ、第2のデータ、および/または付加的なデータを用い得る。
【0019】
方法のいくつかの実施形態では、予測モデリングのアーキテクチャの構成は、セキュリティレベルおよび実行の速度に基づいて、例えば、データ消費、ファイルサイズ、処理工程、および、実行速度を変化させるデータとソフトウェアアーキテクチャの他の特徴に対処するように最適化することができ、いくつかの場合において、関係する実装のセキュリティ仕様との関連において決定され得る。
【0020】
方法のいくつかの実施形態では、1つ以上の予測データを生成するための予測モデルは、機械学習、画像解析、深層学習、および他の方法を含む方法を使用して訓練される。予測モデルは、ユーザーから収集された現実のデータ、および/または画像レンダリングあるいは当該技術分野で公知のイメージデータ表現の他の技術によって生成された合成データの両方について訓練される。
【0021】
方法のいくつかの実施形態では、運動および/または位置データは、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録される時に、モバイルデバイス上のセンサーから記録され;運動および/または位置データは、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録される時に、モバイルデバイス上のセンサーから記録され;第1の距離において記録された運動および/または位置データ、および、第2の距離において記録された運動および/または位置データは、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較され;第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間に、前記位置がモバイルデバイスの動きおよび/またはユーザーの顔の動きに伴って変化しても、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチが確証される。
【0022】
方法のいくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録され、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録された運動および/または位置データは、第1のデータ表現から生成された予測モデル、および第2のデータ表現と比較され;第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間に、前記位置がモバイルデバイスの動きおよび/またはユーザーの顔の動きに伴って変化しても、第2のデータ表現が、第1のデータ表現から生成された予測モデルにマッチする場合、および、連続的あるいは多数の間隔において記録された運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチが確証される。
【0023】
方法のいくつかの実施形態では、運動および/または位置データは、ユーザーの顔の画像または画像のセットが第1の距離においてカメラによって記録される時に、モバイルデバイス上のセンサーから記録され;運動および/または位置データは、ユーザーの顔の画像または画像のセットが第2の距離においてカメラによって記録される時に、モバイルデバイス上のセンサーから記録され;第1の距離において記録された運動および/または位置データ、および、第2の距離において記録された運動および/または位置データは、第2のデータ表現から生成された予測モデル、および第1のデータ表現と比較され;第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間に、前記位置がモバイルデバイスの動きおよび/またはユーザーの顔の動きに伴って変化しても、第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチが確証される。
【0024】
方法のいくつかの実施形態では、運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録され、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に又は複数の間隔をおいて記録された運動および/または位置データは、第2のデータ表現から生成された予測モデル、および、第1のデータ表現と比較され;第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間に、前記位置がモバイルデバイスの動きおよび/またはユーザーの顔の動きに伴って変化しても、第1のデータ表現が、第2のデータ表現から生成された予測モデルにマッチする場合、および、連続的に、または多数の間隔において記録された運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、アイデンティティ認識のマッチが確証される。
【0025】
用語および定義
特に定義されていない限り、本明細書で使用されるすべての専門用語、この本開示が属する技術分野の普通の当業者によって一般に理解されるものと同じ意味を有する。
【0026】
特に定義されていない限り、本明細書で使用されるすべての専門用語、この発明が属する技術分野の普通の当業者によって一般に理解されるものと同じ意味を有する。明細書および添付の請求項内で用いられる通り、単数形「a」、「an」、および「the」は、文脈が他に明確に指示していない限り、複数の言及を含む。本明細書の「または」へのあらゆる言及は、特に他に明記のない限り、「および/または」を包含することを意図している。
【0027】
本明細書に使用されるとき、用語「約」は、明示された量に10%、5%、または1%だけ近い量に言及し、その間の変動分も含む。
【0028】
本明細書に使用されるとき、用語「約」はパーセンテージに言及するとき、明示されたパーセンテージよりも10%、5%、または1%だけ大きい又は少ない量に言及し、その間の変動分も含む。
【0029】
本明細書に使用されるとき、句「少なくとも1つ」、「1つ以上」、および「および/または」は、作用において接続的と離接的の両方である広い解釈を認める表現である。例えば、表現「A、B、およびCの少なくとも1つ」、「A、B、またはCの少なくとも1つ」、「A、B、およびCの1つ以上」、「A、BまたはCの1つ以上」、および「A、B、および/またはC」の各々は、Aだけ、Bだけ、Cだけ、AとB共に、AとC共に、BとC、共に、または、AとBとC共に、を意味する。
【0030】
コンピュータシステム
図1には、コンピュータシステム(100)(例えば、処理または計算システム)を含む典型的な機械を描写するブロック図が示されており、この中で、本開示の静的コードスケジューリングのための、1つ以上のいずれかの態様および/または方法論をデバイスに遂行または実行させるために、一組の命令が実行され得る。
図1における構成要素は、ただの例であって、いかなるハードウェア、ソフトウェア、組み込みロジック構成要素、または特定の実施形態を実装する2つ以上のそのような構成要素の組合せの使用または機能の範囲をも制限するものではない。
【0031】
コンピュータシステム(100)は、バス(140)を介して、互いに、および他の構成要素と通信する1つ以上のプロセッサ(101)、メモリ(103)、および記憶装置(108)を含み得る。バス(140)は、また、ディスプレイ(132)、1つ以上の入力装置(133)(例えば、キーパッド、キーボード、マウス、スタイラスなどを含み得る)、1つ以上の出力デバイス(134)、1つ以上の記憶デバイス(135)、および様々な有形の記憶媒体(136)をリンクさせ得る。これらの要素はすべて、バス(140)に対して、直接インターフェースするか、または、1つ以上のインターフェースあるいはアダプターを介してインターフェースし得る。例えば、様々な有形の記憶媒体(136)は記憶媒体インターフェース(126)を介してバス(140)にインターフェースすることができる。コンピュータシステム(100)は、任意の適切な物理的形態を有してもよく、限定されないが、1つ以上の集積回路(IC)、プリント回路基板(PCB)、モバイルのハンドヘルド装置(携帯電話またはPDAなど)、ラップトップもしくはノート型コンピュータ、分散コンピュータシステム、コンピューティンググリッド、またはサーバーを含み得る。
【0032】
コンピュータシステム(100)は、機能を実行する1つ以上のプロセッサ(複数可)(101)(例えば、中央処理装置(CPU)または汎用グラフィック処理装置(GPGPU))を含む。プロセッサ(101)は、随意に、命令、データ、またはコンピュータ・アドレスの一時的ローカル記憶のためのキャッシュメモリー・ユニット(102)を含む。プロセッサ(101)は、コンピュータ可読命令の実行を支援するように構成される。コンピュータシステム(100)は、メモリ(103)、記憶装置(108)、記憶デバイス(135)、および/または記憶媒体(136)などの、1つ以上の有形のコンピュータ可読記憶媒体で具現化された、非一時的な、プロセッサ実行が可能な命令をプロセッサ(101)が実行した結果として、
図1に描かれた構成要素のための機能性を提供し得る。コンピュータ可読媒体は、特定の実施形態を実装するソフトウェアを記憶する場合があり、および、プロセッサ(101)はソフトウェアを実行し得る。メモリ(103)は、1つ以上の他のコンピュータ可読媒体(大量貯蔵装置(135、136)など)または1つ以上の他のソースから、ネットワークインターフェース(120)などの適切なインターフェースを介して、ソフトウェアを読み込み得る。ソフトウェアは、本明細書に記載または例示された1つ以上のプロセス、または1つ以上のプロセスの1つ以上の工程をプロセッサ(101)に実施させ得る。そのようなプロセスまたは工程を実施することは、メモリ(103)に保存されるデータ構造を定義すること、およびソフトウェアによって導かれるようにデータ構造を修正することを含み得る。
【0033】
メモリ(103)は、ランダムアクセス記憶装置構成要素(例えば、RAM(104)(例えば、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、強誘電体ランダムアクセスメモリ(FRAM)、相変化式ランダムアクセスメモリ(PRAM)など)、読み取り専用メモリ構成要素(例えば、ROM(105))、およびそれらの任意の組合せを含むがこれらに限定されない、様々な構成要素(例えば、機械可読媒体)を含み得る。ROM(105)は、プロセッサ(101)にデータと命令を一方向的に通信するように振る舞ってもよく、および、RAM(104)は、プロセッサ(101)にデータと命令を双方向的に通信するように振る舞ってもよい。ROM(105)およびRAM(104)は、下記に述べられる任意の適切な有形のコンピュータ可読媒体を含み得る。一例において、始動中などに、コンピュータシステム(100)内の要素間で情報を転送するのを支援する基本的なルーチンを含む基本入出力システム(106)(BIOS)は、メモリ(103)に記憶され得る。
【0034】
固定された記憶装置(108)は、随意に記憶制御ユニット(107)を介して、プロセッサ(101)に双方向的に接続される。固定された記憶装置(108)は、付加的なデータ記憶容量を提供し、および本明細書に記載のいかなる適切な有形のコンピュータ可読媒体を含んでもよい。記憶装置(108)は、オペレーティングシステム(109、実行可能命令(110)、データ(111)、アプリケーション(112)(アプリケーション・プログラム)などを保存するために使用され得る。記憶装置(108)は、また、光ディスクドライブ、ソリッドステート記憶デバイス(例えばフラッシュ・ベースのシステム)、または上記のもののうちのいずれかの組合せを含むことができる。記憶装置(108)内の情報は、適切な場合、仮想記憶としてメモリ(103)に組み込まれ得る。
【0035】
一例では、記憶装置(135)は、(例えば、外部ポート・コネクター(図示せず)を介して)記憶装置インターフェース(125)を介して、コンピュータシステム(100)と取り外し可能にインターフェースされ得る。特に、記憶装置(135)および組み合わされる機械可読媒体は、機械可読な命令、データ構造、プログラムモジュール、および/またはコンピュータシステム(100)のための他のデータの、非一時的な、および/または一時的な記憶装置を提供し得る。一例では、ソフトウェアは、完全に又は部分的に、記憶装置(135)上の機械可読媒体内に存在し得る。別の例では、ソフトウェアは、完全に又は部分的に、プロセッサ(101)内に存在し得る。
【0036】
バス(140)は様々なサブシステムを接続する。本明細書では、バスへの言及は、適切である場合、共通機能に使用される1本以上のデジタル信号線を包含し得る。バス(140)は、任意のいくつかのタイプのバス構造であり得、様々なバス方式のうちのどれを使用してもよく、メモリーバス、メモリーコントローラー、周辺バス、ローカルバス、およびそれらの任意の組合せを含み、これらに限定されない。そのようなアーキテクチャの例には、限定することなく、産業標準アーキテクチャ(ISA)バス、エンハンスドISA(EISA)バス、マイクロチャネル・アーキテクチャ(MCA)バス、Video Electronics Standards Association ローカルバス(VLB)、Peripheral Component Interconnect(PCI)バス、PCI-Express(PCI-X)バス、Accelerated Graphics Port (AGP)バス、ハイパートランスポート(HTX)バス、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)バス、およびそれらの任意の組合せが含まれる。
【0037】
コンピュータシステム(100)は、また、入力装置(133)を含み得る。一例では、コンピュータシステム(100)のユーザーは、コマンドおよび/または他の情報を入力装置(133)を介してコンピュータシステム(100)へ入力し得る。入力装置(133)の例は、限定されないが、アルファベット数字式の入力装置(例えばキーボード)、ポインティングデバイス(例えば、マウスまたはタッチパッド)、タッチパッド、タッチスクリーン、マルチタッチスクリーン、ジョイスティック、スタイラス、ゲームパッド(gamepad)、オーディオ入力デバイス(例えば、マイクロフォン、音声応答システムなど)、光学式スキャナー、ビデオまたはスチル画像キャプチャー・デバイス(例えばカメラ)、および、それらの任意の組合せ、を含む。いくつかの実施形態では、入力装置はKinect、Leap Motionなどである。入力装置(133)は、シリアル、パラレル、ゲームポート、USB、FIREWIRE、THUNDERBOLT、または上記のもの任意の組合せを含むが、これらに限定されない、どんな様々な入力インターフェース123(例えば、入力インターフェース123)を介してバス(140)にインターフェースされてもよい。
【0038】
特定の実施形態では、コンピュータシステム(100)がネットワーク(130)に接続される時、コンピュータシステム(100)は、特にモバイルデバイスとエンタープライズシステム、分散コンピューティングシステム、クラウド・ストレージ・システム、クラウドコンピューティングシステム、などの、ネットワーク(130)に接続された他のデバイスと通信し得る。コンピュータシステム(100)への、およびコンピュータシステムからの、通信は、ネットワークインターフェース(120)を通して送信され得る。例えば、ネットワークインターフェース(120)は、ネットワーク(130)からの1つ以上のパケット形式(インターネット・プロトコル(IP)パケットなど)の、入り方向の通信(他のデバイスからのリクエストまたはレスポンスなど)を受信する場合があり、および、コンピュータシステム(100)は処理するために、入り方向の通信をメモリ(103)に記憶する場合がある。コンピュータシステム(100)は、同様に、1つ以上のパケットの形式の、および、ネットワークインターフェース(120)からネットワーク(130)へと通信される、出方向の通信(他のデバイスへのリクエストまたはレスポンス)を、メモリ(103)内に記憶する場合がある。プロセッサ(複数可)101は、メモリ(103)に記憶されたこれらの通信パケットに、処理を行なうために、アクセスし得る。
【0039】
ネットワークインターフェース(120)の例は、限定されないが、LAN接続カード、モデム、およびそれらの任意の組合せを含む。ネットワーク(130)またはネットワークセグメント(130)の例は、限定されないが、分散コンピューティングシステム、クラウドコンピューティングシステム、広域ネットワーク(WAN)(例えば、インターネット、エンタープライズ・ネットワークなど)、ローカルエリアネットワーク(LAN)(例えば、オフィス、ビルディング、キャンパス、または他の比較的小さな地理的空間に組み合わされるネットワーク)、電話回線網、2台のコンピューティングデバイス間の直接接続、ピアツーピア・ネットワーク、およびその任意の組合せを含む。ネットワーク(130)などのネットワークは、通信の有線モードおよび/または無線モードを使用し得る。一般的に、どんなネットワークトポロジが使用されてもよい。
【0040】
情報とデータはディスプレイ(132)によって表示することができる。ディスプレイ(132)の例は、限定されないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、薄膜トランジスター液晶ディスプレイ(TFT-LCD)、パッシブマトリクスOLED(PMOLED)またはアクチブマトリックスOLED(AMOLED)ディスプレイなどの有機液晶ディスプレイ(OLED)、プラズマディスプレイ、および、それらの任意の組合せを含む。ディスプレイ(132)は、バス(140)を介して、プロセッサ(101)、メモリ(103)、および固定された記憶装置(108)、ならびに、入力装置(133)などの他のデバイスにインターフェースすることができる。ディスプレイ(132)は、ビデオインタフェース(122)を介してバス(140)にリンクされ、ディスプレイ(132)とバス(140)との間のデータ転送は、グラフィックス制御ユニット(121)を介して制御され得る。いくつかの実施形態では、前記ディスプレイはビデオプロジェクターである。いくつかの実施形態では、ディスプレイは、VRヘッドセットなどのデジタル処理装置と通信する頭部装着型ディスプレイ(head-mounted display/HMD)である。さらなる実施形態では、適切なVRヘッドセットとしては、非限定的な例として、HTC Vive、Oculus Rift、Samsung Gear VR、マイクロソフトHoloLens、Razer OSVR、FOVE VR、Zeiss VR One、Avegant Glyph、Freefly VRヘッドセットなどが挙げられる。また更なる実施形態において、ディスプレイは、本明細書に開示されるものなどのデバイスの組合わせである。
【0041】
ディスプレイ(132)に加えて、コンピュータシステム(100)は、オーディオ・スピーカー、プリンター、記憶デバイス、およびその任意の組合せを含むがこれらに限定されない1つ以上の他の周辺的な出力デバイス(134)を含み得る。そのような周辺的出力デバイスは、出力インタフェース(124)を介してバス(140)に接続され得る。出力インタフェース(124)の例は、限定されないが、シリアルポート、パラレル接続、USBポート、FIREWIREポート、THUNDERBOLTポート、およびそれらの任意の組合せを含む。
【0042】
加えて、または代替として、コンピュータシステム(100)は、ハードワイヤードか、そうでなければ回路で具現化されたロジックの結果として機能を提供する場合があり、それらの機能は、本明細書に記載または例示された1つ以上のプロセスまたは1つ以上のプロセスの1つ以上の工程を実行するためのソフトウェアと同様に、またはソフトウェアと共に作動し得る。本開示におけるソフトウェアへの言及は、ロジックを包含する場合があり、また、ロジックへの言及は、ソフトウェアを包含する場合がある。さらに、コンピュータ可読媒体への言及は、適切な場合、実行するためのソフトウェアを記憶する回路(ICなど)、実行するためのロジックを具現化する回路、または両方を包含し得る。本開示は、ハードウェア、ソフトウェア、または両方の、あらゆる適切な組合せを包含する。
【0043】
当業者は、本明細書に開示される実施形態との関連において記載される様々な例証的な論理ブロック、モジュール、回路、およびアルゴリズムの工程は、電子ハードウェアとして、コンピューター・ソフトウェアとして、またはその両方の組合せとして実装され得ることを認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明白に例証するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、および工程が、一般的にそれらの機能性の点から上に記載されてきた。
【0044】
例えば、本明細書に開示される実施形態に関して記載される、様々な例示となる論理的なブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書に記載される機能を実行するように設計されたそれらの任意の組合わせで実施または実行され得る。汎用プロセッサは、マイクロプロセッサであってもよいが、代案として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合わせ、例えば、DSPとマイクロプロセッサ、多数のマイクロプロセッサ、DSPコアと連動する1以上のマイクロプロセッサの組合わせ、あるいはいかなる他のそのような構成との組合わせとして、実装され得る。
【0045】
ここに開示される実施形態に関して記載された方法またはアルゴリズムの工程は、ハードウェア、1つ以上のプロセッサによって実行されたソフトウェアモジュール、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスター、ハードディスク、リムーバブルディスク、CD-ROMに、あるいは当該技術分野で既知の記憶媒体の他の適切な形態で存在し得る。典型的な記憶媒体は、プロセッサが、記憶媒体から情報を読み取ることができ、記憶媒体に情報を書き込むことができるように、プロセッサに接続される。代替的に、記憶媒体は、プロセッサに不可欠であり得る。プロセッサおよび記憶媒体は、ASICに存在し得る。ASICは、ユーザー端末において存在し得る。代替において、プロセッサと記憶媒体は、ユーザー端末において、別々の構成要素として存在し得る。
【0046】
本明細書に開示される記載によれば、適切なコンピューティングデバイスは、非限定的な例として、サーバー・コンピューター、デスクトップ・コンピュータ、ラップトップ・コンピューター、ノート型コンピュータ、サブノート型コンピュータ、ネットブックコンピュータ、ネットパッドコンピューター、セット・トップ・コンピューター、ハンドヘルドコンピュータ、インターネット・アプライアンス、モバイル・スマートフォン、タブレットコンピュータ、携帯情報端末、ビデオゲーム機および車両を含む。当業者はまた、随意のコンピュータネットワーク接続を有する、選択したテレビ、ビデオプレーヤー、及びデジタル音楽プレーヤーが、本明細書に記載されるシステムにおける使用に適していることを認識するであろう。適切なタブレットコンピュータは、様々な実施形態において、当業者に既知のブックレット、スレート、及び変換可能な構成を有するものを含む。
【0047】
いくつかの実施形態では、コンピューティングデバイスは、実行可能な命令を実行するように構成されたオペレーティングシステムを含む。オペレーティングシステムは、例えば、デバイスのハードウェアを管理し、アプリケーションの遂行のためのサービスを提供する、プログラムおよびデータを含むソフトウェアである。当業者は、適切なサーバー・オペレーティングシステムが、非限定的な例として、FreeBSD、OpenBSD、NetBSD(登録商標)、Linux、 Apple(登録商標)MacOS X Server(登録商標)、Oracle(登録商標)、Solaris(登録商標)、Windows Server(登録商標)、および、Novell(登録商標)、NetWare(登録商標)を含むことを認識するであろう。当業者は、適切なパーソナルコンピュータ運用システムが、限定されないが、Microsoft(登録商標)、Windows(登録商標)、Apple(登録商標)Mac OS X(登録商標)、UNIX(登録商標)、および、GNU/Linux(登録商標)などのUNIX式のオペレーティングシステムを含むことを認識するであろう。いくつかの実施形態において、運用システムは、クラウドコンピューティングによって提供される。当業者は、また、適切なモバイルのスマートフォン・オペレーティングシステムが、非限定的な例として、Nokia(登録商標)Symbian(登録商標)OS、Apple(登録商標)iOS(登録商標)、Research In Motion(登録商標)BlackBerry OS(登録商標)、Google(登録商標)Android(登録商標)、Microsoft(登録商標)Windows Phone(登録商標)OS、Microsoft(登録商標)Windows Mobile(登録商標)OS、Linux(登録商標)、および Palm(登録商標)WebOS(登録商標)を含むことを認識するであろう。当業者は、また、適切なメディア・ストリーミングデバイス・オペレーティングシステムが、非限定的な例として、Apple TV(登録商標)、Roku(登録商標)、Boxee(登録商標)、Google TV(登録商標)、Google Chromecast(登録商標)、Amazon Fire(登録商標)、および Samsung(登録商標)HomeSync(登録商標)を含むことを認識するであろう。当業者は、また、非限定的な例として、適切なビデオゲーム機オペレーティングシステムが、Sony(登録商標)PS3(登録商標)、Sony(登録商標)PS4(登録商標)、Microsoft(登録商標)Xbox 360(登録商標)、Microsoft Xbox One、Nintendo(登録商標)Wii(登録商標)、Nintendo(登録商標)Wii U(登録商標)、およびOuya(登録商標)を含むことを認識するであろう。
【0048】
非一時的なコンピュータ可読記憶媒体
いくつかの実施例では、本明細書に開示されるプラットフォーム、システム、記憶媒体、および方法は、随意にネットワーク化されたコンピューティングデバイスのオペレーティングシステムによって実行可能な命令を含むプログラムでエンコードされた1つ以上の非一時的なコンピュータ可読記憶媒体を含む。更なる実施形態において、コンピュータ可読記憶媒体はコンピューティングデバイスの有形の構成要素である。またさらなる実施形態において、コンピュータ可読記憶媒体は、コンピューティングデバイスから任意に取外し可能である。いくつかの実施形態では、コンピュータ可読記憶媒体は、非限定的な例として、CD-ROM、DVD、フラッシュメモリ素子、固形メモリ、磁気ディスクドライブ、磁気テープドライブ、光ディスクドライブ、クラウドコンピューティングシステムおよびクラウドサービスなどを含む分散型コンピューティングシステムを含む。いくつかの場合において、プログラムおよび命令は、記憶媒体上で、恒久的に、ほぼ恒久的に、半恒久的に、または非恒久的に符号化される。
【0049】
コンピュータプログラム
いくつかの実施形態では、本明細書で開示されるプラットフォーム、システム、記憶媒体、および方法は、少なくとも1つのコンピュータプログラム、あるいはその使用を含む。コンピュータプログラムは、指定されたタスクを行なうために書かれた、コンピューティングデバイスのCPUの1つ以上のプロセッサにおいて実行可能な一連の命令を含み得る。コンピュータ読み取り可能な命令は、特定のタスクを行うか、または特定の抽出データタイプを実行する、機能、オブジェクト、アプリケーションプログラミングインターフェース(API)、コンピューティングデータ構造などのプログラムモジュールとして実行され得る。本明細書で提供される開示に照らして、当業者は、コンピュータプログラムが様々な言語の様々なバージョンで書かれ得ることを認識するであろう。
【0050】
コンピュータ読み取り可能命令の機能は、様々な環境における所望のものとして組合わせられる、または分散されてもよい。いくつかの実施形態では、コンピュータプログラムは指示の1つの順序を含む。いくつかの実施形態では、コンピュータプログラムは指示の複数の順序を含む。いくつかの実施形態では、コンピュータプログラムは、1つの位置から提供される。他の実施形態では、コンピュータプログラムは複数の位置から提供される。様々な実施形態において、コンピュータプログラムは、1つ以上のソフトウェアモジュールを含む。様々な実施形態において、コンピュータプログラムは、一部または全体的に、1つ以上のウェブアプリケーション、1つ以上のモバイルアプリケーション、1つ以上の独立型アプリケーション、1つ以上のウェブブラウザ・プラグイン、拡張、アドインもしくはアドオン、または、それらの組合わせを含む。
【0051】
ウェブアプリケーション
いくつかの実施形態では、コンピュータプログラムは、ウェブアプリケーションを含む。本明細書で提供される開示に照らして、当業者は、ウェブアプリケーションが、様々な実施形態において、1つ以上のソフトウェアフレームワーク及び1つ以上のデータベースシステムを利用することを認識するであろう。いくつかの実施形態において、ウェブアプリケーションは、Microsoft(登録商標).NETまたはRuby on Rails(RoR)などのソフトウェアフレームワーク上で作られる。いくつかの実施形態において、ウェブアプリケーションは、限定されないが、相関的、非相関的、オブジェクト指向の、結合的な、およびXMLのデータベースシステムを含む、1以上のデータベースシステムを利用する。さらなる実施形態において、適切なリレーショナルデータベースシステムは、限定されないが、Microsoft(登録商標)SQL Server、mySQL(商標)、およびOracle(登録商標)を含む。当業者はまた、ウェブアプリケーションは、様々な実施形態において、1つ以上の言語の1つ以上のバージョンで書かれることを認識するであろう。ウェブアプリケーションは、1つ以上のマークアップ言語、プレゼンテーション定義言語(presentation definition language)、クライアント側スクリプト言語、サーバー側符号化言語、データベース照会言語、又はそれらの組合わせで書かれ得る。いくつかの実施形態において、ウェブアプリケーションは、Hypertext Markup Language(HTML)、Extensible Hypertext Markup Language(XHTML)、又はeXtensible Markup Language(XML)などのマークアップ言語で、ある程度まで書かれる。いくつかの実施形態では、ウェブアプリケーションは、Cascading Style Sheets(CSS)などのプレゼンテーション定義言語で、ある程度まで書かれる。いくつかの実施形態において、ウェブアプリケーションは、Asynchronous Javascript and XML(AJAX)、Flash(登録商標)、ActionScript、Javascript、またはSilverlight(登録商標)などのクライアント側スクリプトで、ある程度まで書かれる。いくつかの実施形態において、ウェブアプリケーションは、Active Server Pages(ASP)、ColdFusion(登録商標)、Perl、Java(商標)、JavaServer Pages(JSP)、Hypertext Preprocessor(PHP)、Python(商標)、Ruby、Tcl、Smalltalk、WebDNA(登録商標)、またはGroovyなどのサーバー側符号化言語で、ある程度まで書かれる。いくつかの実施形態において、ウェブアプリケーションは、Structured Query Language(SQL)などのデータベース照会言語で、ある程度まで書かれる。いくつかの実施形態において、ウェブアプリケーションは、IBM(登録商標)Lotus Domino(登録商標)などのエンタープライズサーバー製品を統合する。いくつかの実施形態では、ウェブアプリケーションはメディアプレイヤー要素を含んでいる。様々な、さらなる実施形態において、メディアプレイヤー要素は、非限定的な例として、Adobe(登録商標)Flash(登録商標)、HTML 5、Apple(登録商標)QuickTime(登録商標)、 Microsoft(登録商標)Silverlight(登録商標)、 Java(商標)、 およびUnity(登録商標)を含む多くの適切なマルチメディア技術の1つ以上を利用する。
【0052】
図2を参照すると、特定の実施形態において、アプリケーション提供システムは、リレーショナルデータベース管理システム(RDBMS)(210)によってアクセスされる1つ以上のデータベース(200)を含む。適切なRDBMSは、Firebird、MySQL、PostgreSQL、SQLite、Oracle Database、Microsoft SQL Server、IBM DB2、IBM Informix、SAP Sybase、SAP Sybase、Teradataなどを含む。この実施形態において、アプリケーション提供システムは、1つ以上のアプリケーションサーバー220(Javaサーバー、.NETサーバー、PHPサーバーなど)、および、1つ以上の、ウェブサーバ(230)(Apache、IIS、GWSなど)をさらに含む。ウェブサーバは、随意にappアプリケーションプログラミングインターフェース(API)240を介して、1つ以上のウェブサービスを公開する。インターネットなどのネットワークを介して、本発明のシステムは、ブラウザベースの、および/またはモバイル・ネイティブのユーザーインターフェースを提供する。
【0053】
図3を参照すると、特定の実施形態において、アプリケーション提供システムは、代替的に、分散型の、クラウドベースのアーキテクチャ(300)を有し、および、弾力的にロードバランスされた、自動スケール機能がある、ウェブサーバー・リソース(310)およびアプリケーションサーバー・リソース(320)、ならびに同期的にレプリケートされるデータベース(330)を含む。
【0054】
モバイルアプリケーション
いくつかの実施形態では、コンピュータプログラムは、モバイルのコンピューティングデバイスに提供されるモバイルアプリケーションを含む。いくつかの実施形態において、モバイルアプリケーションは、製造される時にモバイルのコンピューティングデバイスに提供される。他の実施形態において、モバイルアプリケーションは、本明細書に記載されるコンピュータネットワークを介してモバイルのコンピューティングデバイスに提供される。
【0055】
本明細書に提供される開示を考慮して、モバイルアプリケーションは、当該技術分野で既知のハードウェア、言語、開発環境を使用して、当業者に既知の技術によって作成される。当業者は、モバイルアプリケーションがいくつかの言語で書かれることを認識するであろう。適切なプログラミング言語は、限定されないが、C、C++、C#、Objective-C、Java(商標)、Javascript、Pascal、Object Pascal、Python(商標)、Ruby、VB.NET、WML、およびCSSを伴う又は伴わないXHTML/HTML、またはそれらの組合わせを含む。
【0056】
適切なモバイルアプリケーション開発環境は、いくつかのソースから入手可能である。市販の開発環境は、限定されないが、AirplaySDK、alcheMo、Appcelerator(登録商標)、Celsius、Bedrock、Flash Lite、.NET Compact Framework、Rhomobile、およびWorkLight Mobile Platformを含む。他の開発環境は、コストを伴わずに利用可能であり、限定されないが、Lazarus、MobiFlex、MoSync、及びPhonegapを含む。また、モバイルデバイスメーカーは、限定されないが、iPhone(登録商標)およびiPad(登録商標)(iOS)SDK、Android(商標)SDK、BlackBerry(登録商標)SDK、BREW SDK、Palm(登録商標)OS SDK、Symbian SDK、webOS SDK、およびWindows(登録商標)Mobile SDKを含む、ソフトウェア開発キットを流通させる。
【0057】
当業者は、非限定的な例として、Apple(登録商標)App Store、Google(登録商標)Play、Chrome WebStore、BlackBerry(登録商標)App World、 App Store for Palm devices、Catalog for webOS、Windows(登録商標)Marketplace for Mobile、Ovi Store for Nokia(登録商標)devices、Samsung(登録商標)Apps、および、Nintendo(登録商標)DSi Shopを含む、いくつかの商業的フォーラムが、モバイルアプリケーションの配布のために利用可能である認識するであろう。
【0058】
スタンドアロンアプリケーション
いくつかの実施形態では、コンピュータプログラムは、独立したコンピュータプロセスとして実行され既存のプロセスへのアドオンではない、例えばプラグインではない、プログラムであるスタンドアロンのアプリケーションを含む。当業者は、独立型アプリケーションが頻繁にコンパイルされることを認識するであろう。コンパイラーは、プログラミング言語で書いたソースコードを、アセンブリ言語又はマシンコードなどの2進法のオブジェクトコードに変更するコンピュータプログラムである。適切なコンパイルされたプログラミング言語は、限定されないが、C、C++、Objective-C、COBOL、Delphi、Eiffel、Java(商標)、Lisp、Python(商標)、Visual Basic、およびVB.NET、またはそれらの組合わせを含む。編集は、実行可能なプログラムを作るために少なくとも部分的に、頻繁に実行される。いくつかの実施形態において、コンピュータプログラムは、1つ以上の実行可能なコンパイルされたアプリケーションを含む。
【0059】
ウェブブラウザ・プラグイン
いくつかの実施形態において、コンピュータプログラムはウェブブラウザ・プラグイン(例えば、エクステンションなど)を含む。演算において、プラグインは、より大きなソフトウェアアプリケーションに具体的な機能性を加える、1つ以上のソフトウェア構成部品である。ソフトウェアアプリケーションのメーカーは、第三者の開発者が、アプリケーションを拡張する能力を作り出し、新機能の容易な追加を支持し、およびアプリケーションのサイズを少なくすることを可能にするようにプラグインを支持する。支持されると、プラグインはソフトウェアアプリケーションの機能性のカスタマイズを可能にする。例えば、ビデオを再生し、対話機能を生じさせ、ウィルスのスキャンを行い、および特定のファイルの種類を表示するために、プラグインは、ウェブブラウザにおいて共通して使用される。当業者は、Adobe(登録商標)Flash(登録商標)Player、Microsoft(登録商標)Silverlight(登録商標)、およびApple(登録商標)QuickTime(登録商標)を含む、いくつかのウェブブラウザ・プラグインよく知っているであろう。いくつかの実施形態において、ツールバーは、1つ以上のウェブブラウザ拡張、アドイン、またはアドオンを含む。いくつかの実施形態において、ツールバーは、1以上のエクスプローラーバー、ツールバンド、またはデスクバンドを含む。
【0060】
本明細書で提供される開示の観点から、当業者は、非限定的な例として、C++、Delphi、Java(商標)、PHP、Python(商標)、およびVB.NET、またはその組合わせを含む、様々なプログラミング言語でのプラグインの開発を可能にするいくつかのプラグインフレームワークが利用可能であることを認識するだろう。
【0061】
ウェブブラウザ(インターネットブラウザとも呼ばれる)は、World Wide Web上の情報資源を検索、提示、および横断するための、ネットワーク接続されたコンピューティングデバイスで使用するために設計された、ソフトウェアアプリケーションである。ウェブブラウザは、非限定的な例として、Microsoft(登録商標)Internet Explorer(登録商標)、Mozilla(登録商標)Firefox(登録商標)、Google(登録商標)Chrome、Apple(登録商標)Safari(登録商標)、Opera Software(登録商標)Opera(登録商標)、およびKDE Konquerorを含む。いくつかの実施形態において、ウェブブラウザはモバイルウェブブラウザである。モバイルのウェブブラウザ(マイクロブラウザ、ミニブラウザ、およびワイヤレスブラウザとも呼ばれる)は、非限定的な例として、ハンドヘルドコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、サブノートブックコンピュータ、スマートフォン、ニュージックプレーヤー、携帯情報端末(PDA)およびハンドヘルドビデオゲームシステムを含む、モバイルのコンピューティングデバイス上で使用するために設計されている。適切なモバイルのウェブブラウザは、非限定的な例として、Google(登録商標)Android(登録商標)browser、RIM BlackBerry(登録商標)Browser、Apple(登録商標)Safari(登録商標)、Palm(登録商標)Blazer、Palm(登録商標)WebOS(登録商標)Browser、Mozilla(登録商標)Firefox(登録商標)for mobile、Microsoft(登録商標)Internet Explorer(登録商標)Mobile、Amazon(登録商標)Kindle(登録商標)Basic Web、Nokia(登録商標)Browser、Opera Software(登録商標)Opera(登録商標)Mobile、および、Sony(登録商標)PSP(商標)ブラウザを含む。
【0062】
ソフトウェアモジュール
いくつかの実施形態では、本明細書で開示されるプラットフォーム、システム、記憶媒体、および方法は、ソフトウェア、サーバー、および/またはデータベースモジュール、あるいはこれらの使用を含む。本明細書で提供される開示を考慮して、ソフトウェアモジュールは、当該技術分野で既知のマシン、ソフトウェア、および言語を使用する、当業者に既知の技術によって作り出される。本明細書に開示されるソフトウェアモジュールは多くの方法で実施される。様々な実施形態において、ソフトウェアモジュールは、ファイル、コードのセクション、プログラムする対象、プログラムする構造、またはそれらの組合わせを含む。さらなる様々な実施形態において、ソフトウェアモジュールは、複数のファイル、コードの複数のセクション、複数のプログラミングオブジェクト、複数のプログラミング構造、またはそれらの組合わせを含む。様々な実施形態において、1つ以上のソフトウェアモジュールは、限定されないが、ウェブアプリケーション、モバイルアプリケーション、およびスタンドアロンアプリケーションを含む。いくつかの実施形態において、ソフトウェアモジュールは、1つのコンピュータプログラムまたはアプリケーションにある。他の実施形態において、ソフトウェアモジュールは、1より多くのコンピュータプログラムまたはアプリケーションにある。いくつかの実施形態において、ソフトウェアモジュールは1つのマシン上でホストされる。他の実施形態において、ソフトウェアモジュールは1より多くのマシン上でホストされる。さらなる実施形態において、ソフトウェアモジュールは、クラウドコンピューティングプラットフォームなどの分散型コンピューティングプラットフォーム上でホストされる。いくつかの実施形態において、ソフトウェアモジュールは1つの位置にある1つ以上のマシン上でホストされる。他の実施形態において、ソフトウェアモジュールは、1より多くの位置にある1つ以上のマシン上でホストされる。
【0063】
データベース
いくつかの実施形態では、本明細書に記載のプラットフォーム、記憶媒体、および方法は、1つ以上のデータベース、またはその使用を含む。本明細書で提供される本開示を考慮して、当業者は、多くのデータベースが情報の保管と検索に適していることを認識するであろう。様々な実施形態では、適切なデータベースは、非限定的な例として、リレーショナルデータベース、非リレーショナルデータベース、オブジェクト指向型データベース、オブジェクトデータベース、エンティティ関係モデルデータベース、結合性データベース、およびXMLデータベースを含む。さらに非限定的な例としては、SQL、PostgreSQL、MySQL、Oracle、DB2、およびSybaseが挙げられる。いくつかの実施形態では、データベースはインターネットを利用したものである。さらなる実施形態では、データベースはウェブを利用したものである。またさらなる実施形態では、データベースはクラウドコンピューティングを利用したものである。特定の実施形態において、データベースは、分散型データベースである。他の実施形態では、データベースは1つ以上のローカルコンピュータ記憶媒体を利用したものである。
【0064】
モバイルデバイスに関する、顔認識のなりすましを検知するための方法およびシステム
「なりすまし」の試みを検知するための新規かつ独特のデータおよびソフトウェアアーキテクチャは、例えば、専門的な攻撃者を思いとどまらせるといった、セキュリティ上の利点を提供し得る。本明細書におけるそのようなシステムおよび方法は、特定の個人識別のマッチングおよび認証のアルゴリズムを含み、該アルゴリズムは、セキュリティソフトおよび/またはデータの少なくとも一部へのアクセスを取得した攻撃者によってさえ、直接アクセス、および/または不正に変更することができない。
【0065】
本明細書において、
図4~
図6では、モバイルデバイスのカメラを使用して生体測定のアイデンティティ認識のなりすましを検知するための、方法が開示される。いくつかの実施形態では、方法は:モバイルデバイスのカメラによって、ユーザーの顔の第1の画像を記録する工程と、第1の画像から、ユーザーの顔の第1のデータ表現(401A)を生成する工程と、第1のデータ表現(401A)から、予測モデル(402A)を形成する工程(403)と、モバイルデバイスのカメラによって、ユーザーの顔の第2の画像を記録する工程と、第2の画像から、ユーザーの顔の第2のデータ表現(401B)を生成する工程と、第2のデータ表現(401B)が予測モデル(402A)とマッチするかどうかを判定する工程(404)と、を含む。
【0066】
ユーザーの顔の第1の画像は、カメラがユーザーから第1の距離にある時、キャプチャーされ得る。ユーザーの顔の第2の画像は、カメラがユーザーから第2の距離にある時、キャプチャーされ得る。第1の距離は、第2の距離より大きい場合がある。第2の距離が第1の距離より大きくてもよい。第1の距離は、第2の距離よりも約5%、10%、15%、20%、25%、30%、35%、40%、45%、50%、60%、70%、80%、90%、100%だけ、またはそれ以上、大きくてもよく、その間の変動を含んでもよい。第2の距離は、第1の距離よりも約5%、10%、15%、20%、25%、30%、35%、40%、45%、50%、60%、70%、80%、90%、100%だけ、またはそれ以上、大きくてもよく、その間の変動を含んでもよい。第1の距離および第2の距離の少なくとも1つは、ユーザーの顔への最短距離、ユーザーの顔への普通の距離、ユーザーの鼻への最短距離、またはユーザーの鼻への普通の距離として測定され得る。
【0067】
ユーザーの顔の第1の画像は、カメラがユーザーに対して第1の配向にある時、キャプチャーされ得る。ユーザーの顔の第2の画像は、カメラがユーザーに対して第2の配向にある時、キャプチャーされ得る。第1の配向は、ユーザーに対して、第1のピッチ角、第1のヨー角、第1のロール角、またはその任意の組合せを含み得る。第2の配向は、ユーザーに対して、第2のピッチ角、第2のヨー角、第2のロール角、またはその任意の組合せを含み得る。第1のピッチ角、第2のピッチ角、またはその両方は、地面に平行かつユーザーの順方向に平行な軸について測定され得る。第1のヨー角、第2のヨー角、またはその両方は、地面に垂直な軸について測定され得る。第1のロール角、第2のロール角、またはその両方は、地面に平行かつユーザーの順方向に垂直な軸について測定され得る。第1のピッチ角、第1のヨー角、および第1のロール角の少なくとも1つは、第2のピッチ角、第2のヨー角、および第2のロール角のうちの1つ以上より大きい場合がある。第1のピッチ角、第1のヨー角、および第1のロール角の少なくとも1つは、第2のピッチ角、第2のヨー角、および第2のロール角の1つ以上より、5%、10%、15%、20%、25%、30%、35%、40%、45%、50%、60%、70%、80%、90%、100%だけ、またはそれ以上、大きくてもよく、その間の変動を含んでもよい。第2のピッチ角、第2のヨー角、および第1のロール角の少なくとも1つは、第1のピッチ角、第1のヨー角、および第1のロール角のうちの1つ以上より大きい場合がある。第2のピッチ角、第2のヨー角、および第2のロール角の少なくとも1つは、第1のピッチ角、第1のヨー角、および第1のロール角の1つ以上より、5%、10%、15%、20%、25%、30%、35%、40%、45%、50%、60%、70%、80%、90%、100%だけ、またはそれ以上、大きくてもよく、その間の変動を含んでもよい。
【0068】
第2のデータ表現(401B)が予測モデル(402A)とマッチするかどうかを判定する工程(404)は、第2のデータ表現(401B)を予測モデル(402A)と比較することにより実行することができる。第2のデータ表現(401B)が予測モデル(402A)とマッチしない場合、ユーザーのアイデンティティのマッチは拒絶され得る。拒絶されたアイデンティティのマッチは、なりすましの試みを指摘し得る。第2のデータ表現(401B)が予測モデル(402A)とマッチする場合、ユーザーのアイデンティティのマッチは認証され得る。認証されたアイデンティティのマッチは、なりすましの試みがないことを指摘し得る。
【0069】
付加的に、または代替的に、前記方法は、ユーザーの顔の第3の画像をキャプチャーする工程と、第3の画像から、ユーザーの顔の第3のデータ表現(401C)を生成する工程と、第3のデータ表現(401C)が予測モデル(402A)とマッチするかどうかを判定する工程(404)と、をさらに含む。付加的に、または代替的に、第2のデータ表現(401B)が予測モデル(402A)とマッチしない場合、前記方法は、ユーザーの顔の第3の画像をキャプチャーする工程と、第3の画像から、ユーザーの顔の第3のデータ表現(401C)を生成する工程と、第3のデータ表現(401C)が予測モデル(402A)とマッチするかどうかを判定する工程(404)と、をさらに含む。
【0070】
付加的に、または代替的に、第2のデータ表現(401B)が予測モデル(402A)とマッチしない場合、前記方法は、ユーザーに関連付けられる付加的なデータとマッチするユーザーによって提供される入力を受け付ける工程をさらに含み得る。付加的に、または代替的に、第3のデータ表現(401C)が予測モデル(402A)とマッチしない場合、前記方法は、ユーザーに関連付けられる付加的なデータとマッチするユーザーによって提供される入力を受け付ける工程をさらに含み得る。
【0071】
前記方法は、ユーザーの運動データ、ユーザーの位置データ、またはその両方をキャプチャーする工程をさらに含み得る。そのような場合、前記方法は、ユーザーの運動データが設定された運動から所定範囲内にある場合、ユーザーを受け付ける工程、ユーザーの位置データが設定された位置から所定範囲内にある場合、ユーザーを受け付ける工程、または、その両方をさらに含み得る。そのような場合、前記方法は、ユーザーの運動データが設定された運動から所定範囲内にない場合、ユーザーを拒絶する工程、ユーザーの位置データが設定された位置から所定範囲内にない場合、ユーザーを拒絶する工程、または、その両方をさらに含み得る。
【0072】
ユーザーは、モバイルデバイスにおけるガイド機能付きユーザーインターフェースを介して、第1の画像、第2の画像、第3の画像、またはその任意の組合せをキャプチャーし得る。
【0073】
アイデンティティ認識のマッチを確証する工程は、第2のデータ表現(401B)が第1のデータ表現から生成された予測モデル(402A)とマッチする場合、および/または、 運動および/または位置データが、ユーザーの顔に対するモバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、実行され得る。前記ポジションは、第1のデータ表現(401A)を記録する時間と第2のデータ表現(401B)を記録する時間との間で、モバイルデバイスの動き、および/またはユーザーの顔の動きに伴って、変化し得る。
【0074】
付加的に、または代替的に、第2のデータ表現(401B)が予測モデル(402A)とマッチしない場合、前記方法は、ユーザーによって提供される付加的なデータを受け付ける工程、および、付加的なデータがユーザーに関連付けられる付加的なデータとマッチするかどうかを判定する工程(404)をさらに含み得る。付加的に、または代替的に、第3のデータ表現(401C)が予測モデル(402A)とマッチしない場合、前記方法は、ユーザーによって提供される付加的なデータを受け付ける工程、および、付加的なデータがユーザーに関連付けられる付加的なデータとマッチするかどうかを判定する工程(404)をさらに含み得る。
【0075】
付加的に、または代替的に、アイデンティティ認識のマッチを確証する工程は、第1のデータ表現(401A)が第2のデータ表現(401B)から生成された予測モデル(402A)とマッチする場合、および、運動および/または位置データが、モバイルデバイスのポジションに起因する期待される運動および/または位置データにマッチする場合に、発生し得る。前記ポジションは、第1のデータ表現(401A)を記録する時間と第2のデータ表現(401B)を記録する時間との間で、モバイルデバイスの動き、および/またはユーザーの顔の動きに伴って、変化し得る。
【0076】
第1のデータ表現
いくつかの実施形態では、本明細書の方法とシステムは、モバイルデバイスのカメラによって、ユーザーの顔の第1の画像を記録し、および、第1の画像から、ユーザーの顔の第1のデータ表現を生成する。
【0077】
第1のデータ表現は:ユーザーの顔の少なくとも一部の3次元マップ、ユーザーの顔の第1の特徴と第2の特徴との間の距離、顔における多数の特徴の位置、ユーザーの顔の少なくとも一部の算定された体積、ユーザーの顔の一部のプロフィール曲線、ユーザーの顔の少なくとも一部の表面のスロープ・マップ、または、それらの任意の組合わせを含み得る。
【0078】
第2のデータ表現
いくつかの実施形態では、前記方法とシステムは、モバイルデバイスのカメラによって、ユーザーの顔の第2の画像を記録し、および第2の画像から、ユーザーの顔の第2のデータ表現を生成する。
【0079】
第2のデータ表現は:ユーザーの顔の少なくとも一部の3次元マップ、ユーザーの顔の第2の特徴と第2の特徴との間の距離、顔における多数の特徴の位置、ユーザーの顔の少なくとも一部の算定された体積、ユーザーの顔の一部のプロフィール曲線、ユーザーの顔の少なくとも一部の表面のスロープ・マップ、または、それらの任意の組合わせを含み得る。
【0080】
運動および位置データ
運動データ、位置データ、またはその両方は、第1の画像を記録する時、第2の画像を記録する時、またはその両方で、モバイルデバイスにおけるセンサーから記録することができる。
【0081】
運動データ、位置データ、またはその両方は、単一の時点において記録され得る。運動データ、位置データ、またはその両方は、連続的に記録され得る。一連の運動データ、位置データ、またはその両方が、記録され得る。反復的な一連の運動データ、位置データ、またはその両方は、設定された反復間隔で記録され得る。一連の運動データ、位置データ、またはその両方は、第1の画像を記録する時、第2の画像を記録する時、または、その両方から始まり得る。設定された反復間隔は、0.1秒、0.5秒、1秒、2秒、3秒、4秒、5秒、またはそれ以上でもよく、その間の変動を含んでもよい。
【0082】
予測モデル
いくつかの場合では、予測モデルは第1のデータ表現から生成される。いくつかの場合では、予測モデルは第2のデータ表現から生成される。いくつかの場合では、予測モデルは、第1のデータ表現および第2のデータ表現から生成される。
【0083】
予測モデルは、機械学習アルゴリズムによって、画像解析アルゴリズムによって、深層学習アルゴリズムによって、または、それらの任意の組合わせによって、生成され得る。機械学習アルゴリズム、画像解析アルゴリズム、または深層学習アルゴリズムの少なくとも1つは、多数のユーザー画像を使用して訓練され得る。機械学習アルゴリズム、画像解析アルゴリズム、または深層学習アルゴリズムの少なくとも1つは、多数のユーザー画像と多数のなりすましのユーザー画像を使用して訓練され得る。ユーザー画像は、公開のユーザー画像を含み得る。予測モデルは、ユーザーから集められた現実のデータおよび/または画像レンダリングによって生成された合成データの両方で、または当該技術分野で公知の他の画像データ表現技術で訓練され得る。
【0084】
予測モデルは、第1データの表現、および位置データと運動データの少なくとも1つから形成され得る。
【0085】
運動および/または位置データは、第1のデータ表現を記録する時間と第2のデータ表現を記録する時間との間で、連続的に、または複数の時間間隔において記録される。
【0086】
マッチングアーキテクチャ
予測モデリングのアーキテクチャの構成は、(a)別のデータまたはデータ表現を生成するための、所与のデータセットあるいはデータ表現セットに由来する、予測モデリングアーキテクチャ、または、(b)他の複数のデータまたはデータ表現とマッチする複数の予想を生成するための、2つ以上のキャプチャーされたデータまたはデータ表現に由来する、予測モデリングのアーキテクチャを含み得る。どちらのアーキテクチャにおいても、多数のデータセットが、マッチするデータまたはデータ表現とマッチさせるための予測モデリングのために使用され得る。
【0087】
代替的に、または付加的に、予測モデリングのアーキテクチャの構成は、(a)第1のデータ表現から生成された予測モデルと、第2のデータ表現から生成された予測モデルの間の比較、または、(b)第2のデータ表現から生成された予測モデルと第1のデータ表現から生成された予測モデルとの比較を含み得る。どちらのアーキテクチャでも、連続するマッチング演習の間での変化、または特定の連続するマッチング演習の間の変化であって、それ以外では変化しない、変化は、マッチング演習の間で無作為化され得る。どちらのアーキテクチャでも、連続するマッチング演習の間での変化、または特定の連続するマッチング演習の間の変化であって、それ以外では変化しない、変化は、無作為化されていない確定的なデータもしくはプロトコルに基づく場合があり、または、マッチングアーキテクチャの構成は変化しない場合がある。
【0088】
予測モデリングのアーキテクチャの構成は、セキュリティのレベルおよび実行速度に基づいて最適化することができる。例えば、予測モデリングのアーキテクチャは、データ消費、ファイルサイズ、処理工程、またはその任意の組合せに基づいて、最適化することができる。そのようなアーキテクチャの特徴は、関連するセキュリティ仕様に依存して、実行速度を変化させることができる。
【0089】
付加的なデータ表現
本発明の方法は、付加的なデータをユーザーによってモバイルデバイスへ送信されたデータと比較することをさらに含み得る。付加的なデータは、名前、パスワード、識別番号、住所、地理的位置、デバイスID、モバイルデバイスにおけるユーザーのソフトウェア環境の固有のデータ特性、生体測定データ、予測生体測定データ、またはそれらの任意の組合せを含み得る。
【0090】
付加的に、または代替的に、第2のデータ表現が予測モデルとマッチしない場合、前記方法は、ユーザーに関連付けられる付加的なデータとマッチするユーザーによって提供される入力を受け付ける工程をさらに含み得る。付加的に、または代替的に、第3のデータ表現が予測モデルとマッチしない場合、前記方法は、ユーザーに関連付けられる付加的なデータとマッチするユーザーによって提供される入力を受け付ける工程をさらに含み得る。