(57)【要約】  暗号化バイオメトリック入力レコードを少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するためのコンピュータ実装システムおよび方法であって、上記入力レコードおよび上記少なくとも１つの記憶されたレコードのデータ復号がないコンピュータ実装システムおよび方法。
2020520509.tif 000002
【特許請求の範囲】
【請求項１】
暗号化バイオメトリック入力レコードと少なくとも１つの記憶された暗号化バイオメトリックレコードとを、前記入力レコードおよび前記少なくとも１つの記憶されたレコードのデータ復号を行わずに照合するためのコンピュータ実装方法であって、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
前記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から前記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
前記現在のバイオメトリックベクトルを前記ニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
前記現在のユークリッド可測特徴ベクトルを使用して前記データ記憶部の一部における前記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含み、
前記暗号化バイオメトリック入力レコードが、前記現在のユークリッド可測特徴ベクトルと前記記憶部の前記一部における前記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される、コンピュータ実装方法。
【請求項２】
前記ユークリッド可測特徴ベクトルを分類するステップ、および／または、
前記現在のユークリッド可測特徴ベクトルを分類するステップをさらに含み、
前記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、請求項１に記載の方法。
【請求項３】
前記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの前記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、請求項２に記載の方法。
【請求項４】
前記検索はオーダｌｏｇ（ｎ）時間で行われる、請求項２に記載の方法。
【請求項５】
フロベニウスアルゴリズムを使用して前記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された前記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査する（traversing）ステップと、
それぞれのユークリッド可測バイオメトリックベクトルが前記現在のユークリッド可測特徴ベクトルであることを特定するステップとをさらに含む、請求項２に記載の方法。
【請求項６】
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、前記複数の値のいずれかを除去するステップとをさらに含む、請求項１に記載の方法。
【請求項７】
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
前記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとをさらに含む、請求項１に記載の方法。
【請求項８】
前記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、請求項１に記載の方法。
【請求項９】
前記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、前記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、請求項１に記載の方法。
【請求項１０】
複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと前記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
前記相対位置の差を２乗するステップと、
前記２乗した値を合計するステップと、
平方根を計算するステップとをさらに含む、請求項８に記載の方法。
【請求項１１】
前記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、前記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、請求項１に記載の方法。
【請求項１２】
前記ニューロンネットワークが、前記初期バイオメトリックベクトルと前記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、請求項１に記載の方法。
【請求項１３】
暗号化バイオメトリック入力レコードおよび少なくとも１つの記憶された暗号化バイオメトリックレコードのデータ復号なしに、前記暗号化バイオメトリック入力レコードを前記少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するためのコンピュータ実装システムであって、
１つまたは複数のプロセッサとコンピュータ可読媒体とを含み、前記１つまたは複数のプロセッサは、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
前記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から前記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
前記現在のバイオメトリックベクトルを前記ニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
前記現在のユークリッド可測特徴ベクトルを使用して前記データ記憶部の一部における前記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成され、
前記暗号化バイオメトリック入力レコードが、前記現在のユークリッド可測特徴ベクトルと前記記憶部の前記一部における前記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される、コンピュータ実装システム。
【請求項１４】
前記１つまたは複数のプロセッサは、
前記ユークリッド可測特徴ベクトルを分類するステップ、および／または、
前記現在のユークリッド可測特徴ベクトルを分類するステップを含む動作を実行するために前記コンピュータ可読媒体と対話するようにさらに構成され、
前記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、請求項１３に記載のシステム。
【請求項１５】
前記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの前記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、請求項１４に記載のシステム。
【請求項１６】
前記検索はオーダｌｏｇ（ｎ）時間で行われる、請求項１４に記載のシステム。
【請求項１７】
前記１つまたは複数のプロセッサは、
フロベニウスアルゴリズムを使用して前記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された前記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査するステップと、
それぞれのユークリッド可測バイオメトリックベクトルが前記現在のユークリッド可測特徴ベクトルであることを特定するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１４に記載のシステム。
【請求項１８】
前記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、前記複数の値のいずれかを除去するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１３に記載のシステム。
【請求項１９】
前記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
前記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１３に記載のシステム。
【請求項２０】
前記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、請求項１３に記載のシステム。
【請求項２１】
前記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、前記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、請求項１３に記載のシステム。
【請求項２２】
前記１つまたは複数のプロセッサは、
複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと前記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
前記相対位置の差を２乗するステップと、
前記２乗した値を合計するステップと、
平方根を計算するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項２０に記載のシステム。
【請求項２３】
前記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、前記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、請求項１３に記載のシステム。
【請求項２４】
前記ニューロンネットワークが、前記初期バイオメトリックベクトルと前記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、バイオメトリック特徴の取得および特性評価のためのシステムおよび方法に関し、特に、ユーザの識別または認証を目的とするバイオメトリック特徴の取得と特性評価のためのシステムおよび方法に関する。
【背景技術】
【０００２】
あらゆる種類の情報が、データ通信ネットワークを介してアクセス可能な記憶装置上などのリモートで記憶され、アクセスされ続けている。例えば、多くの人々や企業が、インターネットまたはその他の通信ネットワークを介して、金融情報、健康および医療情報、商品およびサービス情報、購買情報、娯楽情報、マルチメディア情報を記憶し、アクセスする。情報へのアクセスに加えて、ユーザは金銭のやり取り（例えば購買、振替、販売など）を行うことができる。典型的な事例では、ユーザは情報へのアクセスのために登録をし、その後、ユーザ名とパスワードを提示して「ログイン」し、情報にアクセスする。このような情報への（およびこのような情報からの）アクセスと、データ／通信ネットワーク上に記憶されているデータの安全を確保することは、依然として最重要の問題として残っている。
【０００３】
便利さが、消費者をバイオメトリックのアクセス管理ソリューションに向かわせている。スマートフォンのユーザの大多数がパスワードの代わりに指紋を使用することを好み、多くのユーザが指紋認識の代わりに目の認識を好むと考えられている。バイオメトリックは、本人検出および本人確認のためと、認証のための好ましく便利な方法である。
【０００４】
トランスポートレベルの暗号化技術は、バイオメトリックデータを含む様々な種類のデータの送信に比較的強力な保護を与え、機密性、保証、および否認防止の要件に対応する。ＩＥＥＥ２４１０−２０１６などの規格は、通信における敵対的盗聴からの保護を与え、事前登録装置と、暗号化された形態のバイオメトリックを記憶することによるなどの、事前本人情報とに基づいて認証する、きめ細かい仕組みを提供する。これは、１対１の事例とみなされており、既存の暗号化バイオメトリックサンプルと比較する暗号化バイオメトリックデータの送信と受信のためのステップを含む。したがって、このような１対１の事例は、与えられたバイオメトリックベクトルと本人情報とを入力として使用し、そのバイオメトリックベクトルがそれぞれの本人情報に対応する既存のバイオメトリックベクトルと一致する場合に認証を行うことができるため、認証使用事例とみなされる。
【発明の概要】
【課題を解決するための手段】
【０００５】
１つまたは複数の実装形態では、本出願は、暗号化バイオメトリック入力レコードを、少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するコンピュータ実装システムおよび方法であって、入力レコードと少なくとも１つの記憶されたレコードのデータ復号を行わない、コンピュータ実装システムおよび方法を提供する。初期バイオメトリックベクトルがニューラルネットワークに提供され、ニューラルネットワークは初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する。ユークリッド可測特徴ベクトルは、他のユークリッド可測特徴ベクトルとともに記憶部に記憶される。また、暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルが、データ通信ネットワークを介してモバイルコンピューティング装置から受信され、現在のバイオメトリックベクトルはニューラルネットワークに提供される。ニューラルネットワークは、現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する。また、現在のユークリッド可測特徴ベクトルを使用してデータ記憶部の一部において記憶されているユークリッド可測特徴ベクトルのうちの少なくとも一部の検索が行われる。暗号化バイオメトリック入力レコードは、現在のユークリッド可測特徴ベクトルと記憶部の上記一部におけるそれぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される。
【０００６】
１つまたは複数の実装形態では、本出願はさらに、ユークリッド可測特徴ベクトルを分類すること、および／または、現在のユークリッド可測特徴ベクトルを分類することをさらに提供し、分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる。
【０００７】
１つまたは複数の実装形態では、ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの分類が浮動小数点値を返し、各浮動小数点値とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される。
【０００８】
１つまたは複数の実装形態では、検索はオーダｌｏｇ（ｎ）時間で行われる。フロベニウスアルゴリズムを使用してユークリッド可測バイオメトリックベクトルを分類し、分類されたユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査（traverse）し、それぞれのユークリッド可測バイオメトリックベクトルが現在のユークリッド可測特徴ベクトルであることを特定する。
【０００９】
１つまたは複数の実装形態では、本出願は、それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定することと、ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、複数の値のいずれかを除去することとを提供する。
【００１０】
１つまたは複数の実装形態では、本出願は、それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定することと、ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、複数の値のいずれかを除去することとを提供する。
【００１１】
１つまたは複数の実装形態では、本出願は、それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定することと、浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定することとを提供する。
【００１２】
１つまたは複数の実装形態では、ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される。
【００１３】
１つまたは複数の実装形態では、ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、さらに、１つまたは複数のプーリングノードが、ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する。
【００１４】
１つまたは複数の実装形態では、複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルとそれぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算することを特定することと、相対位置の差を２乗することと、その値を合計することと、平方根を計算することとを提供する。
【００１５】
１つまたは複数の実装形態では、ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される。
【００１６】
上記およびその他の態様、特徴および利点は、添付されている本発明の特定の実施形態の説明と、添付図面および特許請求の範囲からわかる。
【図面の簡単な説明】
【００１７】
【図１】１つまたは複数の実施形態による、ユーザを識別するための例示のシステムを示す図である。
【図２Ａ】例示のユーザコンピューティング装置の構成要素および特徴を示すブロック図であって、システムの動作を可能にする機能を果たす様々なハードウェア構成要素およびソフトウェア構成要素を含む図である。
【図２Ｂ−Ｃ】［図２Ｂ］１つまたは複数の実施形態による、記憶部および／またはメモリにおける符号化されたモジュールなどの複数の例示のモジュールを示す図である。［図２Ｃ］システムサーバの例示の構成を示すブロック図である。
【図３】１つまたは複数の実施形態による健康管理および追跡システムの様々な態様を示すシステム図である。
【図４Ａ】本出願の例示の実装形態による、動作時の例示のニューラルネットワークの一例を示す図である。
【図４Ｂ】本出願の例示の実装形態による、動作時の例示のニューラルネットワークの一例を示す図である。
【図５−１】ニューラルネットワークによる例示のプロセスを示す図である。
【図５−２】ニューラルネットワークによる例示のプロセスを示す図である。
【図５−３】ニューラルネットワークによる例示のプロセスを示す図である。
【図６】一実装形態による例示のプロセスステップを示すフローチャートである。
【発明を実施するための形態】
【００１８】
暗号化は、依然として、情報の伝送中に情報を保護する広く普及している有効な方法である。情報を保護するため、特に情報の送信中に危険にさらされるのを防ぐために使用される暗号化のレベルと種類は、情報の性質によって決まることが多い。残念ながら、これまでは、例えばデータを検索する必要のため、アプリケーションレベルですべての記憶データを暗号化することは不可能または実際的ではなかった。少なくともパフォーマンスの観点から、データをレコードごとに復号することを含む徹底的な検索プロセスを必要とせずに暗号化データを有効に検索することは実行不可能であった。
【００１９】
個人識別情報（「ＰＩＩ」）は特に、閲覧および編集のためにデータに対する様々な操作がデータの復号を必要とするため、暗号化機構と、データ保護のための追加のポリシーおよびプロセスとを必要とする。例えば、米国における医療保険の相互運用性と説明責任に関する法令（Ｈｅａｌｔｈ  Ｉｎｓｕｒａｎｃｅ  Ｐｏｒｔａｂｉｌｉｔｙ  ａｎｄ  Ａｃｃｏｕｎｔａｂｉｌｉｔｙ  Ａｃｔ：「ＨＩＰＡＡ」）は、送信時のデータの暗号化を要求しており、そのデータの公開と配布に関するポリシーを示している。暗号強度に関するポリシーは、ＰＩＩデータベースを盗難の場合などに危険にさらさないように保護することを意図している。復号せずに検索などの操作を実行することで、データは潜在的危険にさらされずに済む。バイオメトリックデータは、視覚暗号法などのより高度な暗号化スキームを含む追加の機構を導入するプロセスおよびポリシーによる、さらなる保護を必要とする。
【００２０】
本出願は、参照バイオメトリックと新たな入力レコードとを与えられると、１対１レコード照合の他に、暗号化検索を提供するための特徴と機能とを含む。また、本出願は、データベース、ファイルシステム、またはその他の持続的機構など、記憶媒体においてデータ復号を必要とせずに暗号化バイオメトリックデータを検索する新規な方法およびシステムを提供する。１対１実装形態に加えて、暗号化バイオメトリックレコードの検索を新たに受信したバイオメトリックレコードの関数として行うことができる１対多実装形態が本明細書の技術によってサポートされる。この場合、各レコードが復号されて比較される直交群Ｏ（ｎ）しらみつぶし検索を行うことができる。本出願の１つまたは複数の実装形態によると、復号を必要とせず、復号なしでレコードを探索することをサポートする、Ｏ（ｌｏｇｎ）ソリューションが提供される。本明細書で一般に言及する本人識別の使用事例として、所与のバイオメトリックベクトルが入力として与えられ、それぞれのバイオメトリックを検索してそのバイオメトリックがデータベース内にあるか否かを判断することができる。
【００２１】
１つまたは複数の実装形態では、本出願は、バイオメトリックの大規模な暗号化データストアにおける識別のための多項式に基づくソリューションを提供し、それによってプライバシーを保護するためのシステムおよび機構を提供する。また、低エントロピーで初期バイオメトリックの選択が行われる。その後、データ構造の選択により、検索のためのオーダｌｏｇ（ｎ）が提供される。その後、バイオメトリックを発見することができないように、またはハッシングアルゴリズムを元のバイオメトリックに戻すことができないように、中間ノードのためのアルゴリズムの選択が行われる。このようにして、本出願による一実施形態は、数千（またはそれ以上）の対象からなるデータベース全体にわたる識別を提供するために使用されるバイオメトリックのためのエンドツーエンド技法を提供する。
【００２２】
１つまたは複数の実装形態では、画像を処理するためと、ニューラルネットワークのパフォーマンスの質を表すためなど正しいコスト関数を求めるために、ニューラルネットワークが使用され、これには畳み込みニューラルネットワークが含まれ得る。１つまたは複数の実装形態では、人物の声の録音または表現など、音声コンテンツを含む他のデータを処理するためにニューラルネットワークが使用される。本明細書で図示し、説明する例示の実装形態の多くは１つまたは複数の画像ファイルの処理に関するが、本出願は好ましくは特定のバイオメトリックに依存しないこと、および、本明細書の教示により任意の適合するバイオメトリックを使用することができることが、当業者にはわかるであろう。様々な形式の情報を受け取り、特徴ベクトルを生成するために、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ（「ＲＮＮ」））、または深層機械学習システムなど、様々な種類のニューラルネットワークが適合する。
【００２３】
１つまたは複数の実装形態では、画像を処理するためと、ニューラルネットワークのパフォーマンスの質を表すためなど正しいコスト関数を求めるために、ニューラルネットワークが使用され、これには畳み込みニューラルネットワークが含まれ得る。１つまたは複数の実装形態では、人物の声の録音または表現など、音声コンテンツを含む他のデータを処理するために、ニューラルネットワークが使用される。本明細書で図示し、説明する例示の実装形態の多くは１つまたは複数の画像ファイルの処理に関するが、本出願は好ましくは特定のバイオメトリックに依存しないこと、および、本明細書の教示により任意の適合するバイオメトリックを使用することができることが、当業者にはわかるであろう。様々な形式の情報を受け取り、特徴ベクトルを生成するために、再帰型ニューラルネットワーク（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ（「ＲＮＮ」））、または深層機械学習など、他の種類のニューラルネットワークが適合する。
【００２４】
ニューラルネットワーク（図示せず）とインターフェースするように構成可能な、ユーザを識別するための例示のシステムを、図１にブロック図として示す。例示の構成では、システムサーバ１０５と、リモートコンピューティング装置１０２と、ユーザコンピューティング装置１０１ａおよび１０１ｂとを備えることができる。システムサーバ１０５は、本明細書でさらに詳細に説明するように電子情報を受信、送信および記憶し、要求を処理することを含む、装置１０１ａ、１０１ｂおよびその他のリモートコンピューティング装置１０２と通信可能な、実質的に任意のコンピューティング装置および／またはデータ処理装置とすることができる。システムサーバ１０５と、リモートコンピューティング装置１０２と、ユーザ装置１０１ａおよび１０１ｂとは、ラップトップコンピュータ、デスクトップコンピュータ、コンピュータワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよびその他のコンピュータおよび／またはネットワーク化コンピューティングシステムまたはクラウドベースのコンピューティングシステムなど、様々な形態のコンピュータを表すことを意図している。
【００２５】
１つまたは複数の実装形態では、リモートコンピューティング装置１０２は、企業組織、例えば金融機関、保険会社、またはユーザエンタープライズアカウント（「トランザクションアカウント」とも呼ぶ）を維持する任意の事業体に関連付けることができる。このような企業組織は、アカウント保有者にサービスを提供し、企業システムおよびサービスへのアクセスを認める前にユーザの認証を必要とする。他の例として、当業者にはわかるように、リモートコンピューティング装置１０２は、金銭取引の処理のための、決済ネットワークおよび／または銀行業務ネットワークを備えることができる。
【００２６】
ユーザコンピューティング装置１０１ａ、１０１ｂは、パーソナルコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント、モバイル電子装置、携帯電話、またはスマートフォン装置などを含むがこれらには限定されない、本明細書に記載のシステムおよび／または方法を実施可能な任意のコンピューティング装置および／またはデータ処理装置とすることができる。トランザクション端末１０１ｂは、ワークステーション、専用ポイントオブセールスシステム、ＡＴＭ端末、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン装置、パーソナルデジタルアシスタント、または電子取引を行うために使用可能なその他の適切なコンピュータなど、様々な形態のコンピューティング装置を表すことを意図している。装置１０１ａ、１０１ｂは、ユーザ入力を受信するとともに、本明細書でさらに詳述するように例えばユーザのデジタル画像など、バイオメトリック情報を取り込み、処理するように構成することもできる。
【００２７】
１つまたは複数の実装形態では、システムサーバ１０５は、情報へのアクセス、および／または、ユーザが対話するコンピューティング装置（例えば装置１０１ａ、１０１ｂ）と１つまたは複数の信頼されているバックエンドサーバ（例えばリモートコンピューティング装置１０２）との間の情報の送信を規定する規則を実装する。
【００２８】
本明細書でさらに詳述するように、ユーザの識別および／または認証のためのシステムおよび方法は、既存のシステム（例えば金融機関のトランザクション処理およびデータ管理システム）に組み込まれるようにＡＰＩを使用することによって、企業システムによって要求されるセキュリティレベルを満たすことができる。したがって、システムサーバ１０５は、基礎となるシステム（例えばリモートコンピューティング装置１０２）がリレーショナルデータベース管理システム（ＲＤＢＭＳ）、サーチエンジン、金銭取引処理システムなどであるか否かを知る必要がない。したがって、安全な認証を容易にするこれらのシステムおよび方法は、既存の企業システムと、開発中のシステムとに適切なセキュリティを付加するための「ポイントアンドカット」機構を提供する。ある実施形態では、システムアーキテクチャは言語に依存せず、それによって、ＲＥＳＴ、ＪＳＯＮおよびセキュアソケット層が様々なコンピューティング装置（例えば１０１ａ、１０１ｂ、１０２および１０５）間の通信インターフェースを提供することができる。また、１つまたは複数の実装形態では、アーキテクチャは、サーブレット仕様、オープンセキュアソケット層、Ｊａｖａ（登録商標）、ＪＳＯＮ、ＲＥＳＴおよび／またはＡｐａｃｈｅ  Ｓｏｌｒ上に構築される。したがって、ユーザを認証する開示のシステムは、オープンスタンダードを実装することができ、それによって有意な相互運用性を可能にする。
【００２９】
さらに、ユーザ装置１０１ａおよび１０１ｂ、システムサーバ１０５およびリモートコンピューティング装置１０２を含むがこれらには限定されない、本明細書で言及している様々なコンピューティング装置およびマシンを、本明細書では個別／単一装置および／またはマシンと呼ぶことも理解されたい。特定の実装形態では、言及している装置およびマシンおよびそれらに関連付けられた、および／または付随する、動作、特徴および／または機能は、当業者に知られているように、ネットワーク接続または有線接続などを介して、任意の数の装置および／またはマシンにわたって、組合せ、配置またはその他の方法で採用可能である。
【００３０】
図２Ａは、ユーザコンピューティング装置１０１ａの構成要素および特徴を示すブロック図であり、１つまたは複数のプロセッサ１１０と、メモリ１２０と、マイクロフォン１２５と、ディスプレイ１４０と、カメラ１４５と、音声出力１５５と、記憶部１９０と、通信インターフェース１５０とを含むシステムの動作を可能にする機能を果たす、様々なハードウェア構成要素およびソフトウェア構成要素を含む。プロセッサ１１０は、メモリ１２０にロード可能なソフトウェア命令の形態のクライアントアプリケーションを実行する機能を果たす。プロセッサ１１０は、特定の実装形態に応じて、いくつかのプロセッサ、中央処理装置ＣＰＵ、グラフィクス処理装置ＧＰＵ、マルチプロセッサコア、または任意のその他の種類のプロセッサとすることができる。
【００３１】
好ましくは、メモリ１２０および／または記憶部１９０にはプロセッサ１１０がアクセス可能であり、それによってプロセッサは、装置およびその様々なハードウェア構成要素に本明細書で開示されている例示のシステムおよび方法の態様のための動作を行わせるように、メモリおよび／または記憶部において符号化されている命令を受け取り、実行することができる。メモリは、例えば、ランダムアクセスメモリ（ＲＡＭ）または任意のその他の適合する揮発性または不揮発性のコンピュータ可読記憶媒体とすることができる。記憶部１９０は、特定の実装形態に応じて様々な形態をとることができる。例えば、記憶部は、ハードドライブ、フラッシュメモリ、書き換え可能光ディスク、書き換え可能磁気テープ、またはこれらの何らかの組合せなど、１つまたは複数の構成要素または装置を含むことができる。さらに、メモリおよび／または記憶部は、固定または取り外し可能とすることができる。
【００３２】
１つまたは複数のソフトウェアモジュール１３０が記憶部１９０および／またはメモリ１２０において符号化されている。ソフトウェアモジュール１３０は、プロセッサ１１０で実行されるコンピュータプログラムコードまたは命令のセットを有する１つまたは複数のソフトウェアプログラムまたはアプリケーションを含むことができる。図２Ｂに示すように、ユーザインターフェースモジュール１７０と、バイオメトリック取り込みモジュール１７２と、解析モジュール１７４と、登録モジュール１７６と、データベースモジュール１７８と、認証モジュール１８０と、通信モジュール１８２とのうちの１つまたは複数を、プロセッサ１１０によって実行されるソフトウェアモジュール１３０のうちに含めることができる。このようなコンピュータプログラムコードまたは命令は、プロセッサ１１０を、本明細書で開示されているシステムおよび方法の動作を実行するように構成し、１つまたは複数のプログラミング言語の任意の組合せで書くことができる。
【００３３】
プログラムコードは、全体がスタンドアロン装置としてのユーザコンピュータ装置１０１上で、一部がユーザコンピューティング装置１０１上で、一部がシステムサーバ１０５上で、または全体がシステムサーバ１０５または別のリモートコンピュータ／装置１０２上で実行可能である。後者の場合、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）、移動体通信ネットワーク、セルラネットワークを含む、任意の種類のネットワークを介してユーザコンピューティング装置１０１に接続することができ、または接続は外部コンピュータ（例えば、インターネットサービスプロバイダを使用してインターネットを介して）に対して行ってもよい。
【００３４】
また、ソフトウェアモジュール１３０のプログラムコードと１つまたは複数のコンピュータ可読記憶装置（メモリ１２０および／または記憶部１９０など）は、当業者に周知のように、本発明により製造および／または配布可能なコンピュータプログラム製品を形成するものとすることができる。
【００３５】
なお、ある例示の実施形態では、ソフトウェアモジュール１３０のうちの１つまたは複数のソフトウェアモジュール１３０は、通信インターフェース１５０を介して別の装置またはシステムからネットワークで記憶部１９０にダウンロードすることができることを理解されたい。さらに、本システムおよび方法の動作に関係する他の情報および／またはデータ（データベース１８５など）も記憶部に記憶可能であることに留意されたい。ある実施形態では、このような情報は、ソフトウェアモジュール１３０を実行するプロセッサ１１０によって収集され、または生成された情報を安全に記憶するように特別に割り当てられた暗号化データストア上に記憶される。好ましくは、ユーザコンピューティング装置の記憶部に情報をローカルで記憶し、システムサーバ１０５に情報を送信するために、暗号化手段が使用される。例えば、そのようなデータは１０２４ビットのポリモーフィック暗号、またはエクスポート制御によっては、ＡＥＳ２５６ビット暗号化法を使用して暗号化することができる。また、暗号化はリモート鍵（シード）またはローカル鍵（シード）を使用して行うことができる。当業者にはわかるように、他の暗号化方法、例えばＳＨＡ２５６も使用可能である。
【００３６】
さらに、ユーザコンピューティング装置１０１ａおよび／またはシステムサーバ１０５に記憶されるデータは、本明細書でさらに詳述するように、ユーザのバイオメトリック情報、生命活動情報、またはユーザコンピューティング装置情報から生成された暗号鍵を使用して暗号化することができる。実装形態によっては、上記の情報の組合せを使用して、好ましくは少なくとも３８４ビット長の、楕円曲線暗号法を使用してユーザコンピューティング装置上で暗号化可能な、ユーザの複合固有鍵を作成することができる。さらに、その鍵は、ユーザコンピューティング装置および／またはシステムサーバ上に記憶されたユーザデータを安全にするために使用することができる。
【００３７】
また好ましくは、記憶部１９０にデータベース１８５が記憶される。以下でさらに詳述するように、データベースは、トランザクション端末で金銭取引を行うユーザを認証するためのシステムおよび方法の様々な動作全体を通じて使用される様々なデータ項目および要素を含み、および／または、維持する。データベース１８５に記憶される情報には、本明細書でさらに詳述するようにユーザプロファイルが含まれるがこれには限定されない。データベース１８５はユーザコンピューティング装置１０１ａにローカルに構成されているように図示されているが、特定の実装形態では、データベースおよび／またはデータベースに記憶される様々なデータ要素は、これに加えて、またはこれに代えて、当業者に知られている方式でリモートに（図示しないリモート装置１０２またはシステムサーバ１０５など）に配置されてネットワークを介してユーザコンピューティング装置に接続されてもよいことに留意されたい。
【００３８】
プロセッサにはユーザインターフェース１１５も動作可能に接続される。このインターフェースは、電子コンピューティング装置の分野で理解されるように、スイッチ、ボタン、キー、タッチスクリーン、マイクロフォンなどの１つまたは複数の入力装置または出力装置とすることができる。ユーザインターフェース１１５は、オン／オフコマンドなどのユーザからのコマンド、またはユーザ情報およびユーザを認証するためのシステムの動作に関する設定の取り込みを容易にする機能を果たす。例えば、インターフェースは、ユーザプロファイルを作成するために、ユーザコンピューティング装置１０１から、システムに登録するための個人ユーザ情報などの特定の情報の取り込みを容易にする機能を果たす。
【００３９】
コンピューティング装置１０１ａは、プロセッサ１１０に動作可能に接続されたディスプレイ１４０も含むことができる。ディスプレイは、ユーザコンピューティング装置がユーザにシステム１００の操作に関して指示を与えるか、またはその他のフィードバックを提供することができるようにする画面または任意の他の類似の提示装置を含む。一例として、ディスプレイはドットマトリックスディスプレイまたはその他の２次元ディスプレイなどのデジタルディスプレイとすることができる。
【００４０】
他の例として、インターフェースとディスプレイを統合してタッチスクリーンディスプレイとすることができる。したがって、ディスプレイは、様々なデータを表示し、ユーザによる情報の入力を可能にするフィールドを含む「フォーム」を提供することができる、グラフィカルユーザインターフェースを表示するためにも使用される。タッチスクリーンのグラフィカルユーザインターフェースのディスプレイに対応する場所に触れると、ユーザは装置と対話してデータの入力、設定の変更、機能の制御などを行うことができる。したがって、タッチスクリーンに触れられると、ユーザインターフェース１１５は、その変更をプロセッサ１１０に伝達し、設定を変更することができるか、またはユーザ入力情報を取り込んでメモリ１２０および／または記憶部１９０に記憶することができる。
【００４１】
装置１０１ａ、１０１ｂは、デジタル画像を撮像可能なカメラ１４５も含み得る。カメラは、ユーザコンピューティング装置１０１ａを利用しているときに、ユーザの目および／または顔を含む、ユーザの身体の少なくとも一部の画像を取り込むことができる１つまたは複数の撮像装置とすることができる。カメラは、画像からユーザを（生体認証により）認証するためのバイオメトリック特徴の識別を含む、構成されたユーザコンピューティング装置のプロセッサによる画像解析の目的で、ユーザの画像の取り込みを容易にする機能を果たす。ユーザコンピューティング装置１０１ａおよび／またはカメラ１４５は、１つまたは複数の発光器または信号発信器（図示せず）、例えば可視光発光器および／または赤外線発光器なども含むことができる。カメラは、センサ、例えばＣＣＤまたはＣＭＯＳセンサであるがこれらには限定されないセンサを組み込んだ、フロントカメラまたはリアカメラなど、ユーザコンピューティング装置に組み込むことができる。あるいは、カメラはユーザコンピューティング装置１０１ａの外部にあってもよい。カメラおよび発光器の考えられる変形は、当業者にはわかるであろう。さらに、ユーザコンピューティング装置は、当業者にはわかるように、録音取り込みのための１つまたは複数のマイクロフォン１２５も含み得る。
【００４２】
音声出力１５５も、プロセッサ１１０に動作可能に接続することができる。音声出力は、ユーザコンピューティング装置１０１に組み込まれるかまたはユーザコンピューティング装置の外部にあってもよく、当業者にはわかるように電子音声ファイルを再生するように構成された任意の種類のスピーカシステムとすることができる。
【００４３】
様々なハードウェア装置／センサ１６０をプロセッサに動作可能に接続することができる。センサ１６０は、時刻を追跡するためのオンボードクロック、ユーザコンピューティング装置の位置を特定するためのＧＰＳ対応装置、ユーザコンピューティング装置の向きと加速度とを追跡するための加速度計、地磁場を測定するための重力磁力計、ユーザコンピューティング装置から対象物までの距離を測定するための近接センサ、放射を測定するための高周波センサ、および、当業者にはわかるように、ユーザコンピューティング装置の環境に関する情報を取り込むためのその他の類似の装置を含むことができる。
【００４４】
通信インターフェース１５０もプロセッサ１１０に動作可能に接続することができ、ユーザコンピューティング装置１０１ａと外部装置、マシンおよび／または要素との間の通信を可能にする任意のインターフェースとすることができる。好ましくは、通信インターフェースは、モデム、ネットワークインターフェースカード（ＮＩＣ）、統合ネットワークインターフェース、無線送信器／受信器（例えばＢｌｕｅｔｏｏｔｈ（登録商標）、セルラ、ＮＦＣ）、衛星通信送信器／受信器、赤外線ポート、ＵＳＢ接続、および／または、ユーザコンピューティング装置を他のコンピューティング装置および／またはプライベートネットワークおよびインターネットなどの通信ネットワークに接続するための、任意のその他の類似のインターフェースを含み得るが、これらには限定されない。このような接続には、有線接続、または（例えば８０２．１１規格を使用する）無線接続が含まれ得るが、通信インターフェースは、ユーザコンピューティング装置との間の通信を可能にする実質的に任意のインターフェースとすることができるものと理解されたい。
【００４５】
図２Ｃは、システムサーバ１０５の例示の構成を示すブロック図である。システムサーバ１０５は、例えばトランザクション端末でトランザクションに接続するユーザを認証するためのシステムの動作を可能にする機能を果たす、様々なハードウェア構成要素およびソフトウェア構成要素に動作可能に接続されたプロセッサ２１０を含み得る。プロセッサ２１０は、ユーザ認証およびトランザクション処理／許可に関する動作を含む様々な動作を行うための命令を実行する機能を果たす。プロセッサ２１０は、特定の実装形態に応じて、いくつかのプロセッサ、マルチプロセッサコア、または他の何らかの種類のプロセッサとすることができる。
【００４６】
特定の実装形態では、メモリ２２０および／または記憶媒体２９０にプロセッサ２１０がアクセスすることができ、それによってプロセッサ２１０はメモリ２２０および／または記憶部２９０上に記憶された命令を受け取り、実行することができる。メモリ２２０は、例えば、ランダムアクセスメモリ（ＲＡＭ）または任意の他の適合する揮発性または不揮発性のコンピュータ可読記憶媒体とすることができる。さらに、メモリ２２０は、固定または取り外し可能とすることができる。記憶部２９０は、特定の実装形態に応じて様々な形態をとることができる。例えば、記憶部２９０は、ハードドライブ、フラッシュメモリ、書き換え可能光ディスク、書き換え可能磁気テープ、またはこれらの何らかの組合せなど、１つまたは複数の構成要素または装置を含み得る。記憶部２９０は、固定または取り外し可能とすることができる。
【００４７】
１つまたは複数のソフトウェアモジュール１３０（図２Ｂに図示する）を記憶部２９０および／またはメモリ２２０において符号化することができる。ソフトウェアモジュール１３０は、プロセッサ２１０で実行されるコンピュータプログラムコードまたは命令のセットを有する１つまたは複数のソフトウェアプログラムまたはアプリケーション（「セキュア認証サーバアプリケーション」と総称する）を含み得る。本明細書で開示されているシステムおよび方法の態様のための動作を行うためのこのようなコンピュータプログラムコードまたは命令は、当業者にはわかるように、１つまたは複数のプログラミング言語の任意の組合せで書くことができる。プログラムコードは、全体がスタンドアロンソフトウェアパッケージとしてシステムサーバ１０５で、一部がシステムサーバ１０５で、一部がリモートコンピューティング装置１０２、ユーザコンピューティング装置１０１ａおよび／またはユーザコンピューティング装置１０１ｂなどのリモートコンピューティング装置で、または全体がそのようなリモートコンピューティング装置で実行することができる。
【００４８】
また好ましくは、記憶部２９０上にデータベース２８０が記憶される。以下でさらに詳述するように、データベース２８０は、本明細書でより詳細に説明するようにユーザプロファイルを含むがこれには限定されない、システム１００の様々な動作全体を通じて利用される様々なデータ項目および要素を含み、および／または、維持する。データベース２８０はコンピューティング装置１０５にローカルに構成されているように図示されているが、特定の実装形態では、データベース２８０および／またはデータベースに記憶される様々なデータ要素は、当業者に知られている方式でリモートに配置されてネットワーク（図示せず）を介してシステムサーバ１０５に接続されているコンピュータ可読メモリまたは記憶媒体であってもよいことに留意されたい。
【００４９】
通信インターフェース２５０もプロセッサ２１０に動作可能に接続される。通信インターフェースは、システムサーバ１０５と外部装置、マシンおよび／または要素との間の通信を可能にする任意のインターフェースとすることができる。特定の実装形態では、通信インターフェースは、モデム、ネットワークインターフェースカード（ＮＩＣ）、統合ネットワークインターフェース、無線送信器／受信器（例えばＢｌｕｅｔｏｏｔｈ（登録商標）、セルラ、ＮＦＣ）、衛星通信送信器／受信器、赤外線ポート、ＵＳＢ接続、および／または、ユーザコンピューティング装置１０５を他のコンピューティング装置および／またはプライベートネットワークおよびインターネットなどの通信ネットワークに接続するための任意のその他の類似のインターフェースを含むことができる。このような接続には、有線接続、または（例えば８０２．１１規格を使用する）無線接続が含まれ得るが、通信インターフェース２５５は、プロセッサ２１０との間の通信を可能にする実質的に任意のインターフェースとすることができるものと理解されたい。
【００５０】
ユーザを認証するためのシステムの動作と、上記の様々な要素および構成要素については、図３ないし図４Ｂを参照し、図１および図２Ａ、２Ｂを続けて参照すればよりよくわかるであろう。図３および図４に示すプロセスは、ユーザコンピューティング装置１０１ａとシステムサーバ１０５の観点から示されているが、これらのプロセスは全体または一部がユーザコンピューティング装置１０１ａ、システムサーバ１０５および／または他のコンピューティング装置（例えばリモートコンピューティング装置１０２）またはこれらの任意の組合せによって実行されてもよいものと理解されたい。
【００５１】
図３は、ニューラルネットワークにおける一連のノードＸ１、Ｘ２およびＸ３を示す簡略図であり、重みとＸ値との積の行列の和としての活性化関数をさらに示し、これによりＹ値が得られる。目的は、ニューラルネットワークにおける理想的なニューロン数と層数を求めることである。所与のボリュームに「フィット」するニューロン数を計算するための式は、（Ｗ−Ｋ＋２Ｐ）／Ｓ＋１によって与えられる。例えば、コスト関数はユークリッド関数であり、出力ボリュームの空間サイズとして与えられる層数は、入力ボリュームサイズＷと、畳み込み層ニューロンのカーネルフィールドサイズＫと、それらを適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算することができる。
【００５２】
例えば、ニューラルネットワークは、最初、標識付きバイオメトリックデータを使用して分類器としてトレーニングされる。トレーニングプロセスの一部として、各人物が記憶され、トレーニングに基づく画像が提示される。初期バイオメトリックベクトル（ｉｎｉｔｉａｌ  ｂｉｏｍｅｔｒｉｃ  ｖｅｃｔｏｒ（「ＩＢＶ」））がニューラルネットワークに導入された後、その初期バイオメトリックベクトルを識別するためにｎ−１層で使用されたベクトルを、準同型暗号化空間においてではあるが、固有特徴ベクトルとして使用することができる。この特徴ベクトルは、ユークリッド可測な暗号化ベクトルである。また、この特徴ベクトルはバイオメトリックベクトルを置き換える。１つまたは複数の実装形態では、特徴ベクトルは２５６個の浮動小数点数のリストであり、バイオメトリックは、この２５６個の浮動小数点数のリストから再構築される。したがって、特徴ベクトルは、一方向暗号化である。特徴ベクトルは、ユークリッド可測であるという特性を有する。
【００５３】
本出願は、バイオメトリック入力を使用した識別のための暗号化検索を必要とする場合がある様々なバーティカルマーケットにおいて適用可能であるものと認められる。例えば、保険会社および銀行は、口座番号を紛失した口座名義人を識別する仕組みが欲しいと考える。本出願により提供されるソリューションは、Ｏ（ｌｏｇ（ｎ））時間で実行可能であり、これは暗号化バイオメトリックレコードのデータベースの暗号化検索のための既存のＯ（ｎ）アルゴリズムを改善すると考えられる。
【００５４】
１つまたは複数の実装形態では、例えば、線形検索の区分化を行うために数学的変換が採用される。このような場合、この変換はバイオメトリックベクトルを受け取り、特徴ベクトルを返す。特徴ベクトルは、その後、ノードへの直接アクセスのために使用可能である。アクセスされたノードは、次に、それぞれの身元を判断するために線形に走査されることができる。例えば、個人ユーザを、特徴ベクトルの関数としてアクセスされるノードの関数として識別することができる。
【００５５】
１つまたは複数の実装形態では、Ｂ＋木などの木構造に対応するためにバイオメトリックに関連付けられた情報（例えばベクトル）を区分化する数学関数を採用することができる。これに代えて、またはこれに加えて、バイオメトリックに関連付けられた情報（例えばバイオメトリックベクトル）を、一致または近接を求めるための非可逆的バイオメトリックを作成するように動作可能なニューラルネットワークに配置することができる。
【００５６】
ニューラルネットワークを採用する実装形態と関連して、ユークリッド距離アルゴリズムが、顔バイオメトリックベクトルまたはその他の値を、比較可能なものに変換するように機能する。ニューラルネットワークを通して初期バイオメトリック値（テンプレート）が処理され、その結果、特徴ベクトルが得られる。このような実装形態は、例えば、「１対１」使用事例または１対多事例に関して有用である。いずれの場合も、暗号化空間での比較を行うためにニューラルネットワークと特徴ベクトルを使用することができる。さらに、１対１事例の後で、ニューラルネットワークは、ニューラルネットワークの複数のレベルを適用後に、特定のバイオメトリックまたは１つまたは複数のバイオメトリックのグループにアクセスするためのユークリッドコスト関数を実行するように動作することができる。その結果のベクトルは、それぞれの層の行列乗算に続いて、ユークリッドコスト関数に基づきユークリッド距離アルゴリズムを使用することができ、このベクトルを本明細書では一般に特徴ベクトルと呼んでいる。
【００５７】
コンピューティングシステムは、クライアントとサーバを含むことができる。クライアントとサーバは、一般に互いに遠隔にあり、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータで稼働する、互いにクライアント−サーバの関係を有するコンピュータプログラムにより生じる。
【００５８】
図４Ａおよび図４Ｂに、本出願の例示の実装形態による、動作時の例示のニューラルネットワークの一例を示す。このニューラルネットワークに初期画像が適用される。その画像がどの定義済み「バケット」に属するかを示す、結果のソフトマックスが与えられる。示されているそれぞれのバケットに、この与えられた個人の画像が提供される。例えば、２５６個の値としての人物Ｘの特徴ベクトルが分類関数に適用されると、浮動小数点数Ｙが得られる。Ｙに近いすべての値の場合、特徴ベクトルがユークリッド可測であり分類関数が安定であることを条件として、この個人を識別することができる。
【００５９】
図４Ａおよび図４Ｂを続けて参照すると、結果のソフトマックス関数が、トレーニングセット内の対象人物の画像を示している。その後に、ソフトマックスを生成するための行列計算が示されている。ソフトマックスの前の２つの畳み込みステップが、畳み込み層７からの出力を有するｆｃ７−ｃｏｎｖである。この出力が特徴ベクトルである。
【００６０】
図５に、ニューラルネットワークによる例示のプロセスを示す。様々な畳み込み層が修正子（ＲｅＬｕ）およびプーリングノードとともに設けられる。図５に示す実施例では、修正子は深層ニューラルネットワークの適合する活性化関数であり、ｆ（ｘ）＝ｍａｘ（０，ｘ）として定義される活性化関数である。
【００６１】
ＲｅＬｕの他に、本出願のニューラルネットワークは、非線形ダウンサンプリングの形態としてプーリングを使用するように構成することができる。より具体的には、本明細書でｍａｘプーリングと一般的に呼ぶプーリングアルゴリズムの種類は、入力画像を１組の重なり合わない矩形に区分化し、それぞれのこのような小区画について最大値を出力する。特徴が見つかると、その厳密な位置はその特徴と他の特徴との関係よりも重要ではない場合がある。プーリング層の機能は、この表現の空間サイズを縮小してネットワークにおけるパラメータおよび計算の量を削減する。したがって、畳み込みとＲｅＬｕとｍａｘプーリングの使用により、２５６という適度なサイズのベクトルが、照合、分類および比較での使用のために与えられる。また、ニューラルネットワークからの結果の暗号化ユークリッド可測特徴ベクトル（ＥＭＦＶ）は、後で他のバイオメトリックからの特徴ベクトルと比較することができるスカラ値を受け取るために分類アルゴリズムで使用することができる。１つまたは複数の実装形態では、本出願は、顔の画像に関連付けられたデータでトレーニングされた深層学習モデルなどの事前トレーニングされたモデルを利用する。
【００６２】
図５を続けて参照すると、特徴ベクトルは記憶のために使用されるインデックスである。インデックス付けのために、入力特徴ベクトルが与えられると記憶のためのインデックスとして使用可能な浮動小数点数を返す分類アルゴリズムが採用される。分類アルゴリズムは、人物間の距離の生成を支援する高品質平均ベクトルへの依存性を有する。分類アルゴリズムは、多項式時間での登録人物の検索と検出を可能にする。
【００６３】
前述の浮動小数点数は、前に記憶されたバイオメトリックのインデックス検索を可能にする。また、本出願は、入力特徴ベクトルに基づいて意図された人物を提供するために分類アルゴリズムを採用する。
【００６４】
１つまたは複数の実装形態では、学習済みモデルを提供するためにデータと行列とが記憶されるアルゴリズムが使用される。この場合、平均顔ベクトルがそれぞれのＩＢＶと比較され、平均顔ベクトルとＩＢＶとの差が計算される。例えば、各浮動小数点とその平均との間の絶対距離が計算されるフロベニウスアルゴリズムを利用することができる。また、平均顔ベクトルとそれぞれのＩＢＶとの相対位置の差が計算され、その後、２乗される。次に、それらの値がすべて合計され、平方根が計算される。この結果、比較的近い値が得られ、すなわち、計算されたフロベニウス距離のすべてが比較的近いクラスタとなる。
【００６５】
１つまたは複数の実装形態では、登録時にいくつかの顔ベクトル（０−１２）が取得される。これらのベクトルはニューラルネットワークを通して処理され、処理された特徴ベクトルのいずれかが値０を有する場合、その値はすべての特徴ベクトルに存在しないために重要でないため、その値は低下する（０に近づくかまたは０になる）。
【００６６】
動作時、画像が使用されるたびに、その画像は劣化し、それによって特徴ベクトルにおいてさらに分離がもたらされる。２５６個の非負整数からなる特徴ベクトルが与えられると、本明細書に記載の手続はそのベクトルを適切なプールに分類し、各プールはただ１人の他と異なる人物のためのプールである。その人物が検出されない場合、アルゴリズムは検索を完了させるために近隣の人物を探すものとする。
【００６７】
したがって、本出願は、ｘ＝（ｘ０，ｘ１，．．．，ｘ２５５）の形態の未知のベクトルを分類するためにユークリッド距離を使用する。特に明記しない限り、ｘｉはすべてのｉ∈｛０，１，．．．，２５５｝について非負整数である。２つのベクトル間の距離は、
【００６８】
【数１】
2020520509.tif 000003
と定義される。ベクトルｘが与えられる場合に、
【００６９】
【数２】
2020520509.tif 000004
とする。
【００７０】
動作時、Ｕが既知のベクトルの組として定義され、｜Ｕ｜はＵ内のベクトルの数である。｜Ｕ｜は∞とする。すると、Ｕ内のすべてのベクトルの平均はｍＵ＝１／｜Ｕ｜Σｘ∈Ｕｘによって与えられ、｜Ｕ｜が十分に小さい場合に明示的に求められる。｜Ｕ｜が十分に小さくない場合、ｍＵを近似することができる。なお、ｍＵの座標は必ずしも非負整数ではない。
【００７１】
次に、
【００７２】
【数３】
2020520509.tif 000005
のときのＵの区分を考える。実験により、各Ｐｊについて、すべてのｙ∈Ｐｊに対して
【００７３】
【数４】
2020520509.tif 000006
となるａｊ，ｂｊ∈（０，∞）が存在する。また、ｊ≠ｋの場合に［ａｊ，ｂｊ］と［ａｋ，ｂｋ］とは互いに素である。言い換えると、平均ベクトルからの距離の帯域を使用して未知のベクトルを分類することができる。
【００７４】
ベクトル
【００７５】
【数５】
2020520509.tif 000007
が与えられる場合、Ｕの区分をどのようにしてＶ＝∪｛ｙ｝の区分に一意に拡張するかを判断するために、
【００７６】
【数６】
2020520509.tif 000008
が計算される。すべてのｊについて
【００７７】
【数７】
2020520509.tif 000009
である場合、ｙに最も近い区間［ａｊ，ｂｊ］が選択され、元の区分のＶの区分への拡張部分にｙを含めるように、この区間に関連付けられた部分集合Ｐｊが選択される。ｙが２つの異なる区分に対して等距離となる場合は、ｙをＶの区分に含める部分集合は明確ではない。この場合、数値結果を再検討し、ｙに対して等距離な２つの区間のうちの少なくとも一方にとってよりよい選択を行う必要がある。
【００７８】
例示の動作では、トレーニングのために２５７個の画像が使用される。この例示のトレーニング動作では、ニューラルネットワークは３２のノードと８層の畳み込み層からなるネットワークである。トレーニングにより、ネットワークに適切な重みを割り当てる。このトレーニングされたネットワークにより、記憶または探索のために新たな顔を適用した。いずれの場合も、この顔をニューラルネットワークに通し、畳み込み層７で特徴ベクトルを受け取った。
【００７９】
１組の画像を使用し、このニューラルネットワークを適用することにより、畳み込み層７で以下のＥＭＦＶを受け取った。このような１つの出力の例は以下の通りである。
3 0 0 0 7 12 4 0 2 2 0 0 0 2 0 2 0 0 1 0 1 3 4 7 0 4 1 4 8
2 0 2 6 0 8 7 5 0 0 0 4 7 0 3 2 0 1 2 3 4 0 0 0 0 0 0 2 0
0 2 1 6 3 0 2 1 1 0 0 4 0 8 3 5 0 5 3 1 4 0 9 0 3 1 6 1 0
2 8 1 0 2 0 2 2 3 1 0 4 2 0 2 5 2 1 0 2 2 0 0 1 0 1 3 2 1
1 0 1 9 5 5 3 0 1 0 4 0 0 4 2 1 5 4 1 0 5 1 3 1 5 8 1 7 4
7 0 0 2 4 1 4 4 0 3 0 0 4 0 9 4 0 0 3 1 1 4 0 5 0 1 2 1 6
7 0 5 5 0 4 6 0 2 3 7 0 0 4 1 3 0 3 0 0 6 1 0 1 0 0 1 0 0
7 3 0 5 0 0 0 3 0 1 0 2 3 0 0 1 11 0 6 0 1 8 1 0 1 1 0 0 0
0 3 9 2 0 7 2 5 0 0 0 1 0 0 3 5 3 0 0 0 5 3 4 2
【００８０】
この特徴ベクトルは、実行時Ｏ（１）内に特定の人物に分類される。本明細書に記載のアルゴリズムを使用して、３人の個人の範囲が判断された。正規化ベクトルを使用すると、画像の結果の範囲は以下のようになる。人物１の場合、正規化距離は０．８５から１．１２の範囲である。人物２の場合、範囲は１．１８から１．３２である。人物３の場合、正規化距離は０．３９から０．６８の範囲である。
【００８１】
実際的な例として、人物１のその後のＩＶＢは、ニューラルネットワークと分類アルゴリズムに与えられると、０．８５と１．１２の間の結果を出す。同様に、人物３のその後のＩＢＶは０．３９と０．６８の間の結果を出す。これらの受容可能な範囲は、それぞれの人物について帯域化を提供する。したがって、人物間に帯域化が観察され、人物間には帯域の衝突が観察されないということである。小規模なデータの組の場合、結果は厳密である。
【００８２】
したがって、本出願は、（１）バイオメトリックの取得と、（２）平文バイオメトリック照合と、（３）バイオメトリックの暗号化と、（４）ユークリッド可測照合の実行と、（５）１対多インデックス付けスキームを使用した検索とのための技術を提供する。これらは、バイオメトリックに依存しない、機械学習の関数として実行されるプライバシー保護された、多項式時間ベースの方式で提供される。本出願は、畳み込みニューラルネットワークの関数としてのものを含む、ユークリッド可測なバイオメトリック暗号文を生成する汎用ソリューションを提供する。これは、さらに、プライバシーを最大化し、Ｏ（１）とＯ（ｌｏｇ（ｎ））の間の時間で実行される、１対多識別のために採用される分類アルゴリズムの関数として提供される。
【００８３】
初期バイオメトリックベクトル（ＩＢＶ）が受け取られ、１つまたは複数のモジュールがＩＶＢにニューラルネットワークを適用する。ＩＢＶはユーザコンピューティング装置上またはサーバ上で１組の行列演算により処理されて、特徴ベクトルを生成する。特徴ベクトルの一部または全体をクライアントまたはサーバ上で記憶することができる。いくつかの層にわたる行列乗算の後、ＩＢＶはユークリッド可測ベクトルとして返される。１つまたは複数の実装形態では、同じ動作を現在のバイオメトリックベクトル（ＣＢＶ）について行うことができ、２つのベクトルが照合される。
【００８４】
図６は、一実装形態による例示のプロセスステップ６００を示すフローチャートである。本明細書に記載の論理演算のいくつかは、（１）通信装置上で実行される一連のコンピュータ実装動作またはプログラムモジュールとして、および／または、（２）通信装置内の相互接続されたマシン論理回路または回路モジュールとして実装される。実装形態は装置の要件（例えばサイズ、エネルギー、消費、性能など）に応じて選択できる事項である。したがって、本明細書に記載の論理演算は、演算、構造的装置、動作またはモジュールと様々に呼ばれる。様々なこれらの演算、構造的装置、動作およびモジュールは、ソフトウェア、ファームウェア、特殊目的デジタルロジック、およびこれらの任意の組合せで実装可能である。また、図面に示され、本明細書に記載されているものよりも多いかまたは少ない動作も実行可能であることにも留意されたい。これらの動作は、本明細書に記載されている順序とは異なる順序で実行することもできる。図６に示す例示のステップ６００は、暗号化バイオメトリック入力レコードと、少なくとも１つの記憶されている暗号化バイオメトリックレコードとを、当該入力レコードおよび当該少なくとも１つの記憶されているレコードのデータ復号をせずに、照合するためのコンピュータ実装方法を提供する。
【００８５】
このプロセスはステップ６０２で開始し、初期バイオメトリックベクトルがニューラルネットワークに提供され、ニューラルネットワークはその初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する（ステップ６０４）。ユークリッド可測特徴ベクトルは他のユークリッド可測特徴ベクトルとともに記憶部に記憶される（ステップ６０６）。さらに、暗号化されたバイオメトリック入力レコードを表す現在のバイオメトリックベクトルが、データ通信ネットワークを介してモバイルコンピューティング装置から受信され、現在のバイオメトリックベクトルがニューラルネットワークに提供される（ステップ６０８）。ニューラルネットワークは、現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する（ステップ６１０）。さらに、現在のユークリッド可測特徴ベクトルを使用してデータ記憶部の一部において、記憶されているユークリッド可測特徴ベクトルの少なくとも一部の検索が行われる（ステップ６１４）。暗号化バイオメトリック入力レコードは、現在のユークリッド可測特徴ベクトルと、記憶部の上記一部におけるそれぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される（ステップ６１６）。
【００８６】
上記の主題は、例示ためにのみ示すものであり、限定的であるものと解釈すべきではない。図示され、説明されている例示の実施形態および適用例に従うことなく、かつ以下の特許請求の範囲のそれぞれに記載されているものを含む本発明の趣旨および範囲から逸脱することなく、本明細書に記載の主題に様々な修正および変更を加えることができる。
【符号の説明】
【００８７】
１０１ａ  ユーザコンピューティング装置
１０１ｂ  ユーザコンピューティング装置
１０２  リモートコンピューティング装置
１０５  システムサーバ
１１０  プロセッサ
１１５  ユーザインターフェース
１２０  メモリ
１２５  マイクロフォン
１３０  ソフトウェアモジュール
１４０  ディスプレイ
１４５  カメラ
１５０  通信インターフェース
１５５  音声出力
１６０  センサ
１７０  ユーザインターフェースモジュール
１７２  取り込みモジュール
１７４  解析モジュール
１７６  登録モジュール
１７８  データベースモジュール
１８０  認証モジュール
１８２  通信モジュール
１８５  データベース
１９０  記憶部
２１０  プロセッサ
２２０  メモリ
２３０  通信インターフェース
２８０  データベース
２９０  記憶部
【図１】
2020520509.tif 000010
【図２Ａ】
2020520509.tif 000011
【図２Ｂ−Ｃ】
2020520509.tif 000012
【図３】
2020520509.tif 000013
【図４Ａ】
2020520509.tif 000014
【図４Ｂ】
2020520509.tif 000015
【図５−１】
2020520509.tif 000016
【図５−２】
2020520509.tif 000017
【図５−３】
2020520509.tif 000018
【図６】
2020520509.tif 000019
【手続補正書】
【提出日】令和2年2月14日(2020.2.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号化バイオメトリック入力レコードと少なくとも１つの記憶された暗号化バイオメトリックレコードとを、前記入力レコードおよび前記少なくとも１つの記憶されたレコードのデータ復号を行わずに照合するためのコンピュータ実装方法であって、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
前記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
前記ユークリッド可測特徴ベクトルを分類するステップ、および／または前記現在のユークリッド可測特徴ベクトルを分類するステップであって、前記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、ステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から前記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
前記現在のバイオメトリックベクトルを前記ニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
前記現在のユークリッド可測特徴ベクトルを使用して前記データ記憶部の一部における前記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含み、
前記暗号化バイオメトリック入力レコードが、前記現在のユークリッド可測特徴ベクトルと前記記憶部の前記一部における前記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合され、
前記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの前記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、コンピュータ実装方法。
【請求項２】
前記検索はオーダｌｏｇ（ｎ）時間で行われる、請求項１に記載の方法。
【請求項３】
フロベニウスアルゴリズムを使用して前記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された前記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査する（traversing）ステップと、
それぞれのユークリッド可測バイオメトリックベクトルが前記現在のユークリッド可測特徴ベクトルであることを特定するステップとをさらに含む、請求項１に記載の方法。
【請求項４】
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、前記複数の値のいずれかを除去するステップとをさらに含む、請求項１に記載の方法。
【請求項５】
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
前記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、請求項１に記載の方法。
【請求項７】
前記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、前記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、請求項１に記載の方法。
【請求項８】
複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと前記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
前記相対位置の差を２乗するステップと、
前記２乗した値を合計するステップと、
平方根を計算するステップとをさらに含む、請求項６に記載の方法。
【請求項９】
前記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、前記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、請求項１に記載の方法。
【請求項１０】
前記ニューロンネットワークが、前記初期バイオメトリックベクトルと前記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、請求項１に記載の方法。
【請求項１１】
暗号化バイオメトリック入力レコードおよび少なくとも１つの記憶された暗号化バイオメトリックレコードのデータ復号なしに、前記暗号化バイオメトリック入力レコードを前記少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するためのコンピュータ実装システムであって、
１つまたは複数のプロセッサとコンピュータ可読媒体とを含み、前記１つまたは複数のプロセッサは、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
前記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から前記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
前記ユークリッド可測特徴ベクトルを分類するステップ、および／または前記現在のユークリッド可測特徴ベクトルを分類するステップであって、前記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、ステップと、
前記現在のバイオメトリックベクトルを前記ニューラルネットワークに提供するステップであって、前記ニューラルネットワークが前記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
前記現在のユークリッド可測特徴ベクトルを使用して前記データ記憶部の一部における前記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成され、
前記暗号化バイオメトリック入力レコードが、前記現在のユークリッド可測特徴ベクトルと前記記憶部の前記一部における前記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合され、
前記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの前記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、コンピュータ実装システム。
【請求項１２】
前記検索はオーダｌｏｇ（ｎ）時間で行われる、請求項１１に記載のシステム。
【請求項１３】
前記１つまたは複数のプロセッサは、
フロベニウスアルゴリズムを使用して前記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された前記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査するステップと、
それぞれのユークリッド可測バイオメトリックベクトルが前記現在のユークリッド可測特徴ベクトルであることを特定するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１１に記載のシステム。
【請求項１４】
前記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、前記複数の値のいずれかを除去するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１１に記載のシステム。
【請求項１５】
前記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
前記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１１に記載のシステム。
【請求項１６】
前記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、請求項１１に記載のシステム。
【請求項１７】
前記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、前記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、請求項１１に記載のシステム。
【請求項１８】
前記１つまたは複数のプロセッサは、
複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと前記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
前記相対位置の差を２乗するステップと、
前記２乗した値を合計するステップと、
平方根を計算するステップとを含む動作を実行するために前記コンピュータ可読媒体と対話するように構成された、請求項１５に記載のシステム。
【請求項１９】
前記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、前記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、請求項１１に記載のシステム。
【請求項２０】
前記ニューロンネットワークが、前記初期バイオメトリックベクトルと前記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、請求項１１に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本開示は以下の［１］から［２４］を含む。
［１］暗号化バイオメトリック入力レコードと少なくとも１つの記憶された暗号化バイオメトリックレコードとを、上記入力レコードおよび上記少なくとも１つの記憶されたレコードのデータ復号を行わずに照合するためのコンピュータ実装方法であって、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、上記ニューラルネットワークが上記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
上記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から上記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
上記現在のバイオメトリックベクトルを上記ニューラルネットワークに提供するステップであって、上記ニューラルネットワークが上記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
上記現在のユークリッド可測特徴ベクトルを使用して上記データ記憶部の一部における上記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含み、
上記暗号化バイオメトリック入力レコードが、上記現在のユークリッド可測特徴ベクトルと上記記憶部の上記一部における上記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される、コンピュータ実装方法。
［２］上記ユークリッド可測特徴ベクトルを分類するステップ、および／または、
上記現在のユークリッド可測特徴ベクトルを分類するステップをさらに含み、
上記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、上記［１］に記載の方法。
［３］上記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの上記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、上記［２］に記載の方法。
［４］上記検索はオーダｌｏｇ（ｎ）時間で行われる、上記［２］に記載の方法。
［５］フロベニウスアルゴリズムを使用して上記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された上記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査する（traversing）ステップと、
それぞれのユークリッド可測バイオメトリックベクトルが上記現在のユークリッド可測特徴ベクトルであることを特定するステップとをさらに含む、上記［２］に記載の方法。
［６］それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、上記複数の値のいずれかを除去するステップとをさらに含む、上記［１］に記載の方法。
［７］それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
上記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとをさらに含む、上記［１］に記載の方法。
［８］上記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、上記［１］に記載の方法。
［９］上記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、上記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、上記［１］に記載の方法。
［１０］複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと上記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
上記相対位置の差を２乗するステップと、
上記２乗した値を合計するステップと、
平方根を計算するステップとをさらに含む、上記［８］に記載の方法。
［１１］上記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、上記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、上記［１］に記載の方法。
［１２］上記ニューロンネットワークが、上記初期バイオメトリックベクトルと上記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、上記［１］に記載の方法。
［１３］暗号化バイオメトリック入力レコードおよび少なくとも１つの記憶された暗号化バイオメトリックレコードのデータ復号なしに、上記暗号化バイオメトリック入力レコードを上記少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するためのコンピュータ実装システムであって、
１つまたは複数のプロセッサとコンピュータ可読媒体とを含み、上記１つまたは複数のプロセッサは、
初期バイオメトリックベクトルをニューラルネットワークに提供するステップであって、上記ニューラルネットワークが上記初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する、ステップと、
上記ユークリッド可測特徴ベクトルを他のユークリッド可測特徴ベクトルとともに記憶部に記憶するステップと、
データ通信ネットワークを介してモバイルコンピューティング装置から上記暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルを受信するステップと、
上記現在のバイオメトリックベクトルを上記ニューラルネットワークに提供するステップであって、上記ニューラルネットワークが上記現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する、ステップと、
上記現在のユークリッド可測特徴ベクトルを使用して上記データ記憶部の一部における上記記憶されたユークリッド可測特徴ベクトルの少なくとも一部の検索を行うステップとを含む動作を実行するために上記コンピュータ可読媒体と対話するように構成され、
上記暗号化バイオメトリック入力レコードが、上記現在のユークリッド可測特徴ベクトルと上記記憶部の上記一部における上記それぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される、コンピュータ実装システム。
［１４］上記１つまたは複数のプロセッサは、
上記ユークリッド可測特徴ベクトルを分類するステップ、および／または、
上記現在のユークリッド可測特徴ベクトルを分類するステップを含む動作を実行するために上記コンピュータ可読媒体と対話するようにさらに構成され、
上記分類は、少なくとも部分的に、１つまたは複数の距離関数を使用して行われる、上記［１３］に記載のシステム。
［１５］上記ユークリッド可測特徴ベクトルおよび／または現在のユークリッド可測特徴ベクトルの上記分類が浮動小数点値を返し、各浮動小数点とその平均との間の絶対距離を計算するためにフロベニウスアルゴリズムが使用される、上記［１４］に記載のシステム。
［１６］上記検索はオーダｌｏｇ（ｎ）時間で行われる、上記［１４］に記載のシステム。
［１７］上記１つまたは複数のプロセッサは、
フロベニウスアルゴリズムを使用して上記ユークリッド可測バイオメトリックベクトルを分類するステップと、
分類された上記ユークリッド可測バイオメトリックベクトルの階層をオーダｌｏｇ（ｎ）時間で走査するステップと、
それぞれのユークリッド可測バイオメトリックベクトルが上記現在のユークリッド可測特徴ベクトルであることを特定するステップとを含む動作を実行するために上記コンピュータ可読媒体と対話するように構成された、上記［１４］に記載のシステム。
［１８］上記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
ビットマップを使用して絶対距離計算値から、すべてのベクトルに存在しない、上記複数の値のいずれかを除去するステップとを含む動作を実行するために上記コンピュータ可読媒体と対話するように構成された、上記［１３］に記載のシステム。
［１９］上記１つまたは複数のプロセッサは、
それぞれのユークリッド可測バイオメトリックベクトルについて、複数の浮動小数点値を特定するステップと、
上記浮動小数点値のうちのそれぞれの１つが現れるベクトルの数に基づいて重要度のスライディングスケールを規定するステップとを含む動作を実行するために上記コンピュータ可読媒体と対話するように構成された、上記［１３］に記載のシステム。
［２０］上記ニューラルネットワークは、修正子（ＲｅＬｕ）およびプーリングノードとともに様々な畳み込み層を備えて構成される、上記［１３］に記載のシステム。
［２１］上記ニューラルネットワークは、プーリングを非線形ダウンサンプリングの一形態として使用するように構成され、
さらに、１つまたは複数のプーリングノードが、上記ニューラルネットワークにおけるパラメータおよび計算の量を低減するように、表されたユークリッド可測特徴ベクトルの空間サイズを漸進的に縮小する、上記［１３］に記載のシステム。
［２２］上記１つまたは複数のプロセッサは、
複数の記憶されたユークリッド可測特徴ベクトルのそれぞれについて、平均顔ベクトルと上記それぞれのユークリッド可測特徴ベクトルとの間の相対位置の差を計算するステップと、
上記相対位置の差を２乗するステップと、
上記２乗した値を合計するステップと、
平方根を計算するステップとを含む動作を実行するために上記コンピュータ可読媒体と対話するように構成された、上記［２０］に記載のシステム。
［２３］上記ニューラルネットワークのパフォーマンスがコスト関数の関数として求められ、出力ボリュームの空間サイズとして与えられる層数が、入力ボリュームサイズＷと、層ニューロンのカーネルフィールドサイズＫと、上記層を適用するのに使用されるストライドＳと、境界で使用されるゼロパディングの量Ｐとの関数として計算される、上記［１３］に記載のシステム。
［２４］上記ニューロンネットワークが、上記初期バイオメトリックベクトルと上記現在のバイオメトリックベクトルとをそれぞれの層の行列乗算の関数として変換し、ユークリッドコスト関数に基づくユークリッド距離アルゴリズムを使用する、上記［１３］に記載のシステム。
１つまたは複数の実装形態では、本出願は、暗号化バイオメトリック入力レコードを、少なくとも１つの記憶された暗号化バイオメトリックレコードと照合するコンピュータ実装システムおよび方法であって、入力レコードと少なくとも１つの記憶されたレコードのデータ復号を行わない、コンピュータ実装システムおよび方法を提供する。初期バイオメトリックベクトルがニューラルネットワークに提供され、ニューラルネットワークは初期バイオメトリックベクトルをユークリッド可測特徴ベクトルに変換する。ユークリッド可測特徴ベクトルは、他のユークリッド可測特徴ベクトルとともに記憶部に記憶される。また、暗号化バイオメトリック入力レコードを表す現在のバイオメトリックベクトルが、データ通信ネットワークを介してモバイルコンピューティング装置から受信され、現在のバイオメトリックベクトルはニューラルネットワークに提供される。ニューラルネットワークは、現在のバイオメトリックベクトルを現在のユークリッド可測特徴ベクトルに変換する。また、現在のユークリッド可測特徴ベクトルを使用してデータ記憶部の一部において記憶されているユークリッド可測特徴ベクトルのうちの少なくとも一部の検索が行われる。暗号化バイオメトリック入力レコードは、現在のユークリッド可測特徴ベクトルと記憶部の上記一部におけるそれぞれのユークリッド可測特徴ベクトルのそれぞれの計算値との間の計算された絶対距離の関数として、暗号化空間において少なくとも１つの暗号化バイオメトリックレコードと照合される。
【国際調査報告】
2020520509.tif 000020
2020520509.tif 000021