(57)【要約】  手の指等の三次元実物体と当該実物体の二次元のスプーフとを区別するための方法であって、モバイル装置の光学センサによって、前記スプーフ又は前記実物体のいずれかを含む画像を取得することと、前記画像をニューラルネットワークへ供給することと、前記画像を前記ニューラルネットワークによって処理することと、を含み、処理は、前記画像内の物体の少なくとも一部に該当する複数の画素から前記光学センサまでの距離を表す距離マップと、前記画像内の前記物体の少なくとも一部に該当する複数の画素に関連付けられる光反射を表す反射パターンと、のうち少なくとも１つを計算することを含み、処理はさらに、計算された前記距離マップ又は計算された前記反射パターンのうち少なくとも１つと、学習済みの距離マップ又は学習済みの反射パターンとを比較し、前記比較の結果に基づいて、前記画像が前記スプーフ又は前記実物体のいずれかを含むことを判断することを含むことを特徴とする方法。【選択図】図１
2021522591.tif 000002
【特許請求の範囲】
【請求項１】
手の指等の三次元実物体と当該実物体の二次元のスプーフとを区別するための方法であって、
モバイル装置の光学センサによって、前記スプーフ又は前記実物体のいずれかを含む画像を取得することと、
前記画像をニューラルネットワークへ供給することと、
前記画像を前記ニューラルネットワークによって処理することと、
を含み、
処理は、
前記画像内の物体の少なくとも一部に該当する複数の画素から前記光学センサまでの距離を表す距離マップと、
前記画像内の前記物体の少なくとも一部に該当する複数の画素に関連付けられる光反射を表す反射パターンと、
のうち少なくとも１つを計算することを含み、
処理はさらに、好適には前記ニューラルネットワークを用いて、計算された前記距離マップ又は計算された前記反射パターンのうち少なくとも１つと、学習済みの距離マップ又は学習済みの反射パターンとを比較し、前記比較の結果に基づいて、前記画像が前記スプーフ又は前記実物体のいずれかを含むことを判断することを含む
ことを特徴とする方法。
【請求項２】
前記距離マップ及び前記反射パターンを計算して前記学習済みの距離マップ及び前記学習済みの反射パターンと比較し、前記比較の結果に基づいて、前記画像が前記スプーフ又は前記実物体のいずれかを含むことを判断する、
請求項１記載の方法。
【請求項３】
カメラである前記光学センサに関連付けられたフラッシュを使用しながら、前記画像を前記光学センサによって取得する、
請求項１又は２記載の方法。
【請求項４】
前記ニューラルネットワークは複数の層を備えており、最後の層は、前記処理中に判断される実物体に関する出力を供給する第１のノードと、前記処理中に判断されるスプーフに関する出力を供給する第２のノードの、２つのノードを有する、
請求項１から３までのいずれか１項記載の方法。
【請求項５】
前記各ノードは前記画像の処理に応じて−∞〜＋∞の範囲の出力を供給し、前記各ノードの前記出力は出力正規化部に通され、前記出力正規化部は最初に前記各ノードの出力ｘｉを取り、Ｓ（ｘ）＝ｅｘ／（１＋ｅｘ）によって、削減された値Ｓ（ｘｉ）を算出し、ここで、前記第１ノードの場合にはｉ＝１であり、前記第２ノードの場合にはｉ＝２であり、前記出力正規化部は正規化関数
【数１】
2021522591.tif 000021
へ値Ｓ（ｘｉ）を供給することにより、正規化値σ（Ｓ（ｘ１））≡σ１及びσ（Ｓ（ｘ２））≡σ２を得る、
請求項４記載の方法。
【請求項６】
σ１＞０．５である場合、前記画像は前記実物体を含むと判断し、σ２＞０．５である場合、前記画像は前記スプーフを含むと判断する、
請求項５記載の方法。
【請求項７】
前記ニューラルネットワークは複数の層を有し、
前記画像を前記ニューラルネットワークによって処理することは、当該ニューラルネットワークの第１層によって、入力された前記画像を処理することにより第１の中間出力を生成するステップと、各先行層の出力を各後続層によって処理するステップと、を有し、
前記複数の各層は、各層における前記入力の処理順に、深度畳み込み層と、第１のバッチ正規化部と、第１の整流線形ユニットと、点畳み込み層と、第２のバッチ正規化部と、第２の整流線形ユニットとをそれぞれ有する、深度で分離可能な畳み込みであり、
前記複数の層を用いて前記画像を処理することにより、前記ニューラルネットワークは出力として、前記画像が前記実物体又は前記スプーフのいずれかを含むとの判断結果を得る、
請求項１から６までのいずれか１項記載の方法。
【請求項８】
前記画像を前記ニューラルネットワークにより処理することは、前記画像から少なくとも１つのマトリクスＩを生成するステップと、前記マトリクスを前記ニューラルネットワークへ入力として供給するステップと、を含み、
前記画像はＮ×Ｍ個の画素を有し、
前記マトリクスＩはＮ×Ｍ個の値を有するマトリクスであり、
前記マトリクスＩの成分はＩｉｊによって与えられ、ここでｉ及びｊは整数であり、ｉ＝１・・・Ｎかつｊ＝１・・・Ｍである、
請求項７記載の方法。
【請求項９】
各深度畳み込み層は、サイズＳ×Ｔのマトリクスである予め定められたカーネルＫであって成分Ｓａｂを有するカーネルＫを、前記マトリクスＩに適用し、ここでＳ，Ｔ＜Ｎ、Ｓ，Ｔ＜Ｍであり、
前記カーネルを前記マトリクスに適用することは、サイズ（Ｎ＋２Ｐｗ）×（Ｍ＋２Ｐｈ）を有するマトリクスＺのサイズ（Ｎ×Ｍ）Ｓ，Ｔの各削減マトリクスＲと前記マトリクスＫとの内積を算出することを含み、
前記マトリクスＲは前記カーネルＫと同一サイズであり、
前記マトリクスＺの成分Ｚｃｄは、
【数２】
2021522591.tif 000022
により与えられ、
【数３】
2021522591.tif 000023
であり、
出力として、
【数４】
2021522591.tif 000024
のサイズを有するマトリクスＰが供給され、
ここでＷｗ及びＷｈはストライド幅を定義し、前記マトリクスＰの各成分Ｐｉｊは、ｉｊ番目の前記削減マトリクスＲと前記カーネルＫとの内積の値であり、
前記マトリクスＰは前記深度畳み込み層から出力として前記第１のバッチ正規化部へ供給される、
請求項８記載の方法。
【請求項１０】
前記カーネルのサイズＳ及びＴは全ての深度畳み込み層において等しく、又は、少なくとも１つの深度畳み込み層及び／若しくは前記カーネルＫの少なくとも１つの成分について異なっており、Ｓａ’ｂ’≠Ｓａ≠ａ’，ｂ≠ｂ’である、
請求項９記載の方法。
【請求項１１】
前記バッチ正規化部は、正規化された削減マトリクスＰ’を前記整流線形ユニットへ供給し、前記整流線形ユニットは整流関数を各成分Ｐ’ｉｊに適用し、前記整流関数は、
【数４】
2021522591.tif 000025
を有する
2021522591.tif 000026
を算出し、
2021522591.tif 000027
は、前記整流線形ユニットが第１の整流線形ユニットである場合には前記点畳み込み層へ出力として供給され、若しくは、前記整流線形ユニットが前記第２の整流線形ユニットである場合には前記ニューラルネットワークの次の層へ供給され、及び／又は、
前記点畳み込み層は、先行層から受け取った
2021522591.tif 000028
の各成分に重みαを乗じることにより、
2021522591.tif 000029
に前記重みαを適用する、
請求項８から１０までのいずれか１項記載の方法。
【請求項１２】
前記方法の各ステップを前記モバイル装置上で実施する、
請求項１から１１までのいずれか１項記載の方法。
【請求項１３】
光学センサと、プロセッサと、実行可能な指令を記憶する記憶ユニットと、を備えたモバイル装置であって、
前記指令は、前記モバイル装置の前記プロセッサによって実行されたときに前記プロセッサに請求項１から１２までのいずれか１項記載の方法を実行させる
ことを特徴とするモバイル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１に記載の例えば手の指等の三次元実物体を当該実物体の二次元のスプーフ（spoof、なりすまし）と区別するためのコンピュータ実装された方法と、請求項１５に記載の当該方法を実施するモバイル装置と、に関する。
【背景技術】
【０００２】
従来技術では、画像又は画像から得られた情報を分類するための技術が既に知られている。例えば、２０１２年にImageNet Large Scale Visual Recognition Challenge等で発表されたいわゆるAlexNetは、分類精度に関して改善された結果を示している。
【０００３】
しかしこれらの方法は、物体自体とそのスプーフとを区別するように設計されていないか、又は未だそのために適用されていない。それゆえ、取得された画像内にて識別された物体を、例えば手続のログイン等のセキュリティ関連の事項に使用することは危険である。というのも、その物体は実物体のスプーフでしかない可能性があるからである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この従来技術を背景として本発明の課題は、必要とする計算リソースをごく最小限に抑えつつ、実物体と当該実物体の二次元スプーフとを効率的に区別できるようにすることによって、スマートフォン等のモバイル装置内にて又はモバイル装置を用いて実施を完結できる、コンピュータ実装された方法を提供することである。
【課題を解決するための手段】
【０００５】
上記課題は、請求項１に記載の手の指等の三次元実物体を当該実物体の二次元のスプーフと区別するためのコンピュータ実装された方法と、請求項１５に記載の発明の、光学センサを備え上記方法を実施するモバイル装置と、によって解決される。本発明の好適な実施形態は、従属請求項に記載されている。
【０００６】
手の指等の三次元実物体を当該実物体の二次元のスプーフと区別するためのコンピュータ実装された方法は、
モバイル装置の光学センサによって、スプーフ又は実物体を含む画像を取得することと、
画像をニューラルネットワークへ供給することと、
ニューラルネットワークによって画像を処理することと、
を含み、
処理は、
画像内の物体の少なくとも一部に該当する複数の画素から光学センサまでの距離を表す距離マップと、
画像内の物体の少なくとも一部に該当する複数の画素に関連付けられる光反射を表す反射パターンと、
のうち少なくとも１つを計算することを含み、
処理はさらに、好適にはニューラルネットワークを用いて、計算された距離マップ又は計算された反射パターンのうち少なくとも１つと、学習済みの距離マップ又は学習済みの反射パターンとを比較することを含み、
比較の結果に基づいて、画像がスプーフ又は実物体のいずれかを含むことを判断する。
【０００７】
原則的に、三次元実物体の画像が人間の本当の指等の意図された物体のスプーフである場合もあり得るかもしれないが、本発明では、三次元の物体は実物体であろうと想定する。実物体の二次元のスプーフは何でも良いが、通常は実物体を撮影した当初の画像となるであろうし、ここではそのことを予定している（例えば、光学センサに対する紙又は他のあらゆる平坦な表面８であり、この画像をさらに光学センサが撮影する）。しかし、実物体の（ほとんど二次元の扁平な）模型等の二次元のスプーフの他の実現態様もあり得る。いずれの場合においても、本発明でいうところのスプーフは、実物体の三次元の再現ではないことを意図している。
【０００８】
距離マップとは、光学センサによって取得された当初の画像中の特定の画素と、当該特定の画素から光学センサまでの推定距離又は算定距離とを関連付ける、例えばマトリクス又は表又は他の構造等のデータ構造を構成するものを意味する。画素はデータ構造に過ぎないため、画素そのものが光学センサまでの距離を有するものではないことが明らかである。その意味するところは、光学センサによって画像を撮影することにより取得された物体が、元々は光学センサまでの距離を有していた、ということである。よって、取得された画像中の各画素は実世界における一点を表し、よって、画像が撮影された時点での実世界における当該一点から光学センサまでの距離に依然として関連付けられている、ということになる。
【０００９】
画像内の物体の少なくとも一部に該当する複数の画素に関連付けられた光反射を表す反射パターンについても、同様のことが当てはまる。ここで、画素そのものが反射パターンを実現するものではなく、元の物体（又はこの実物体の二次元のスプーフ）が、光反射を表す反射パターンを有していたことが明らかである。この反射パターンは、光学センサによって取得された画像情報に基づいて算出することができる。距離マップと同様、反射パターンもマトリクス又は二次元の表等のデータ構造の形態を有することを意図している。
【００１０】
計算された距離マップは学習済みの距離マップと比較され、又は、計算された反射パターンは学習済みの反射パターンと比較される。ここで、学習済みの距離マップ及び学習済みの反射パターンは、実物体の距離マップ又は実物体の二次元のスプーフの距離マップに該当することがニューラルネットワークに既知となっている距離マップと、実物体の反射パターン又は実物体の二次元のスプーフの反射パターンに該当することがニューラルネットワークに既知となっている反射パターンと、に相当する。計算された距離マップと学習済みの距離マップとの比較又は計算された反射パターンと学習済みの反射パターンとの比較により、実物体と当該物体のスプーフとを区別するために使用できる結果が得られ、この区別は例えば、得られた距離マップ又は反射パターンが、スプーフに該当する学習済みの距離マップ又は反射パターンと一致する可能性の方が、実物体に該当する学習済みの距離マップ又は反射パターンと一致する可能性より高いと判断することにより行われる。
【００１１】
本発明の方法により、実物体と実物体のスプーフとを効率的に区別することができる。というのも、使用されるニューラルネットワークは、画像内の物体に関する固有の特性を求めるため、撮影された画像と学習済みの情報（学習済みの距離マップ及び学習済みの反射パターン等）との類似度を高信頼性で判断できるからである。よって本方法は、実物体に関する画像中の情報が、ユーザを識別するために使用される指先を有する指等のセキュリティ上繊細な情報である場合にも適用可能であり、かかる物体を撮影した画像の悪用を防止することができる。
【００１２】
一実施形態では、距離マップ及び反射パターンを計算して学習済みの距離マップ及び学習済みの反射パターンと比較することにより、この比較結果に基づいて、画像がスプーフ又は実物体のいずれかを含むことを判断する。計算された距離マップと計算された反射パターンの両方を使用することにより、物体の画像が示しているのがスプーフであるか実物体であるかの判断の信頼性を向上することができ、これによって、識別がセキュリティ関連の事項のためにさらに使用される場合の識別の信頼性及びセキュリティをさらに向上することができる。
【００１３】
一実施形態では、カメラである光学センサに関連付けられたフラッシュを使用しながら、画像を光学センサによって取得する。カメラのフラッシュを使用することによって、画像の取得元の領域の部分が強調され、これにより、より高信頼性で反射パターンを高精度で計算することができ、また、実物体のスプーフと実物体とをより容易に区別することができる。
【００１４】
さらに、ニューラルネットワークは複数の層を備えることができ、最後の層は、処理中に判断された実物体に関する出力を供給する第１のノードと、処理中に判断されたスプーフに関する出力を供給する第２のノードの、２つのノードを有する。
【００１５】
本発明では、画像上で取得されたものが実物体であるか実物体のスプーフであるかにかかわらず、これら両ノードは、画像が撮影されるごとに出力を供給するように構成されている。この出力は後で、画像上で取得された物体が実物体であるか又はスプーフであるかの確率論的な判断を行うために、さらに処理されることができる。
【００１６】
本実施形態のより具体的な一態様では、各ノードは画像の処理に応じて−∞〜＋∞の範囲の出力を供給し、各ノードの出力は出力正規化部に通され、出力正規化部は最初に各ノードの出力ｘｉを取り、Ｓ（ｘ）＝ｅｘ／（１＋ｅｘ）によって、削減された値Ｓ（ｘｉ）を算出する。ここで、第１ノードの場合にはｉ＝１であり、第２ノードの場合にはｉ＝２であり、出力正規化部は正規化関数
【数１】
2021522591.tif 000003
へ値Ｓ（ｘｉ）を供給し、これにより正規化値σ（Ｓ（ｘ１））≡σ１及びσ（Ｓ（ｘ２））≡σ２が得られる。第１ノード及び第２ノードの出力をこのようにさらに処理することにより、第１ノード及び第２ノードに基づいて計算された正規化値が得られ、これにより、画像中にあるのがスプーフであるか又は実物体であるかを判断するための第１及び第２ノードの当該出力の統計的評価を行うことができる。
【００１７】
一実施形態では、σ１＞０．５である場合には画像は実物体を含むと判断し、σ２＞０．５である場合には画像はスプーフを含むと判断する。第１及び第２ノードの出力の正規化値を使用することにより、実物体とスプーフとを高信頼性で区別することができる。
【００１８】
ここで留意すべき点は、本実施形態が好適である理由は、その指数関数をコンピューティングシステムで容易に実装することができ、これにより必要な処理労力を削減できることである。さらに、指数関数はコンピューティングシステムによって容易に処理することができ、これにより、結果を計算するために必要な処理性能や他の計算リソースを削減することができる。
【００１９】
一実施形態では、画像を入力としてニューラルネットワークにより処理することは、当該ニューラルネットワークの第１層によって入力画像を処理することにより第１の中間出力を生成することと、各層における入力の処理順に深度畳み込み層（depthwise convolutional layer）と、第１のバッチ正規化部と、第１の整流線形ユニット（正規化線形ユニット、rectified linear unit）と、点畳み込み層（pointwise convolutional layer）と、第２のバッチ正規化部と、第２の整流線形ユニットとをそれぞれ有する深度で分離可能な畳み込みである複数の層をニューラルネットワークが有し、各先行層の出力を各後続層によって処理し、前記複数の層を用いて入力を処理することにより、ニューラルネットワークは出力として、画像が実物体又はスプーフのいずれかを含むとの判断結果を得ることと、を含む。
【００２０】
深度畳み込み層は意図されているところによれば、元の画像に相当するマトリクス又は距離マップに相当するマトリクス又は反射パターンに相当するマトリクスのいずれかのマトリクスと、例えば３×３のサイズのマトリクスであるカーネルと、の乗算又は内積を使用して、別のマトリクスを算出する。かかる層を用いることは、処理効率の面でより効率的である。この点において、上記実施形態にて提案する深度畳み込み層は、そのパラメータ感度に関して一般に使用されている畳み込み層より高効率となる。
【００２１】
深度畳み込み層及び点畳み込み層は、「深度畳み込みサブレイヤ」及び「点畳み込みサブレイヤ」とも称され得る。実際、これらはニューラルネットワークの「層の中の層」であるから、サブレイヤとなる。
【００２２】
この特殊な実施態様の深度畳み込み層を、上記実施形態における点畳み込み層、バッチ正規化部及び整流線形ユニットと共に適用することにより、ニューラルネットワークが画像中のスプーフのリアルタイム判定を行うために必要とされるコンピュータリソースは、現在公知の技術と比較して有意に削減される。
【００２３】
他の一実施形態では、画像をニューラルネットワークによって処理することは、少なくとも１つのマトリクスＩを当該画像から作成して、当該マトリクスを入力としてニューラルネットワークへ供給するステップを含み、ここで画像はＮ×Ｍ個の画素を有し、マトリクスＩはＮ×Ｍ個の値を有するマトリクスであり、マトリクスＩの成分はＩｉｊによって与えられ、ここでｉ及びｊは整数であり、ｉ＝１・・・Ｎ、ｊ＝１・・・Ｍである。
【００２４】
ここで留意すべき点は、マトリクスＩは、元の画像のＲＧＢ色値のうち１つに相当するマトリクスとすることができることである。しかし好適なのは、マトリクスＩを作成する前に元の画像をＨＳＶ色空間に変換することにより、元の画像からマトリクスＩを得ることである。ＨＳＶ色空間とは、色相−彩度−明度（Hue-Saturation-Value）の色空間のことである。取得当初の画像をＨＳＶ色空間に変換することは、元の画像に含まれる画素数がＮ×Ｍである場合、変換後の画像がそれぞれＮ×Ｍ個の画素又はデータ成分を含むことができる。よってマトリクスＩは、変換後の画像中のＮ×Ｍ個の要素から得ることができる。
【００２５】
取得当初の画像の画素数はＮ×Ｍより多くすることができると解すべきである。この画素数は、色相−彩度−明度変換を適用する前又は適用した後にＮ×Ｍに削減することができる。この変換が特に有利である理由は、ＨＳＶ変換は、各画素に関連付けられた色情報（すなわちＲＧＢ値）から各画素のluma情報を分離するからである。このようにして、距離マップ及び反射パターンをより効率的に計算することができる。
【００２６】
より具体的には、各深度畳み込み層はマトリクスＩに、サイズＳ×Ｔのマトリクスである予め定義されたカーネルＫを適用し、ここでＳ，Ｔ＜Ｎ、Ｓ，Ｔ＜Ｍであり、成分Ｓａｂを含み、マトリクスにカーネルを適用することは、マトリクスＫと、マトリクスＺのサイズ（Ｎ×Ｍ）Ｓ，Ｔの各削減マトリクスＲと、の内積を算出することを含み、ここで、マトリクスＲはカーネルＫと等しいサイズを有し、マトリクスＺはサイズ（（Ｎ＋２Ｐｗ）×（Ｍ＋２Ｐｈ））を有し、
【数２】
2021522591.tif 000004
であるマトリクスＺｃｄの成分は、
【数３】
2021522591.tif 000005
によって与えられ、出力として、
【数４】
2021522591.tif 000006
のサイズを有するマトリクスＰを提供し、ここで、Ｗｗ及びＷｈはストライド幅を定義し、マトリクスＰの各成分Ｐｉｊはｉｊ番目の削減マトリクスＲとカーネルＫとの内積の値であり、マトリクスＰは深度畳み込み層から出力として第１のバッチ正規化部へ供給される。
【００２７】
かかるカーネルにより、導入されたマトリクスにおいて隣り合う画素から得られた情報を適切に重み付けすることができると共に如何なる情報も失われることがなくなり、このことによって、ニューラルネットワークにおいて複数の連続する層がスプーフであるか又は実物体であるかを判断するための処理をサポートする効率を向上することができる。こうするためにカーネルは、画像を受け取る前すなわちニューラルネットワークの訓練中に得られた特定の重み又はパラメータに相当する成分を含む。
【００２８】
本発明の一認識は、上記実施形態の各方法を実施できるアプリケーション又は他のプログラムが実際にモバイル装置に装備される前に上記の訓練が行われる場合、このモバイル装置上で必要とされるコンピュータリソースを削減できるという利点が得られることである。
【００２９】
深度畳み込み層と点畳み込み層とを用いて分離可能な畳み込みを実装することは、この組み合わせが識別及び所要コンピュータリソースの観点で性能改善を示すという理由により最も有利であるというのが本発明の認識であるが、深度畳み込み層を指又は指先の識別に特化した畳み込み層に置き換えることも可能である。よって、本発明の説明は深度畳み込み層の使用に着目してなされているが、畳み込み層を用いて本発明を実装することも可能である。
【００３０】
さらに、全ての畳み込み層においてカーネルのサイズＳ及びＴを等しくすることができ、又は、少なくとも１つの畳み込み層及び／若しくはカーネルＫの少なくとも１つの成分Ｓａ’ｂ’≠Ｓａ≠ａ’，ｂ≠ｂ’についてカーネルのサイズＳ及びＴが異なることができる。
【００３１】
各畳み込み層（すなわち複数の各深度畳み込み層）について同一のカーネルを選択することにより、これにより得られる、対応するモバイル装置にインストールされるプログラムのサイズを削減することができる。一方、畳み込み層のうち少なくとも１つについて異なるカーネルを使用すると、カーネルが適切に構成されていれば、識別失敗に関する公知の問題を回避することができる。例えば、識別プロシージャの開始の際に大きなカーネル（サイズＳ及びＴが大きいことに相当する）を用いると、画像のより重要な部分を取り出して照準を当てることができ、これにより識別効率を向上することができる。
【００３２】
また、本発明の一認識は、対応するカーネルは当該カーネルのサイズと、識別効率と、各方法を実装するために必要なコンピュータリソースと、の間で最良のトレードオフとなり、これによって識別精度及び所要コンピュータリソースの面で全体的な効率を向上することができる。
【００３３】
他の一実施形態では、バッチ正規化部は正規化された削減マトリクスＰ’を整流線形ユニットへ供給し、整流線形ユニットは各成分Ｐ’ｉｊに、
【数５】
2021522591.tif 000007
を有する
2021522591.tif 000008
を計算する整流関数（正規化線形関数、rectification function）を適用する。この
2021522591.tif 000009
は、整流線形ユニットが第１の整流線形ユニットである場合には点畳み込み層へ出力として供給され、若しくは、整流線形ユニットが第２の整流線形ユニットである場合にはニューラルネットワークの次の層へ供給され、及び／又は、
点畳み込み層が、
2021522591.tif 000010
の各成分に重みαを乗算することにより、先行層から受け取った
2021522591.tif 000011
に重みαを付与する。
【００３４】
この整流関数によって、ニューラルネットワークの各層の後に、スプーフ及び実物体の判断精度に悪影響を与える可能性のある画像中の部分をフィルタリング除去することができる。
【００３５】
2021522591.tif 000012
内の各点に同一の重みαを付与した場合でも、本実施形態は画像中の一部（識別に有意な影響を及ぼさないマトリクス中の成分に相当する一部）を効率的に減衰することができる。この減衰は、マトリクス中のかかる一部の絶対的な寄与度を低減し、整流線形ユニットと共に次のサイクルで当該一部を除外することにより達成される。
【００３６】
好適な一実施形態では、上記で説明した方法の各ステップはモバイル装置上で実施される。これは少なくとも、画像の処理と実物体及びスプーフの判断とを含む上記の方法のステップを含むことができる。ここでも、画像の記憶、又は、物体が実物体であってスプーフではないと判断された場合に画像から抽出されたバイオメトリック特徴若しくはバイオメトリック特性を用いてユーザを識別する等の以降行われるいずれのステップも、任意の記憶装置によって、画像をモバイル装置の内部又は外部にて処理することにより行うことができる。さらに、実物体から取得された情報を用いて以降行われるユーザを識別する識別ステップは、例えば会社のサーバ等のモバイル装置とは別の装置上で行うことも可能である。
【００３７】
各ステップを専らモバイル装置上でのみ行うことにより、例えば、実際の識別プロセスを実行するサーバ等へのデータ伝送のためにチャネルを空けておく必要が無くなる。よって物体識別は、モバイルネットワーク又はローカルエリアネットワークへアクセスできない領域でも用いることができる。
【００３８】
本発明のモバイル装置は、光学センサと、プロセッサと、実行可能な指令を記憶する記憶ユニットと、を備えており、当該指令は、モバイル装置のプロセッサによって実行されたときにプロセッサに上記のいずれかの実施形態の方法を実行させるものである。
【図面の簡単な説明】
【００３９】
【図１】取得された画像の処理の概略図である。
【図２】画像内の画素と実物体から光学センサまでの距離との関係を示す概略図である。
【図３】光反射パターンをどのようにして求めるかを示す概略図である。
【図４】一実施形態のニューラルネットワーク内の一層の構造と、当該一層におけるデータの処理とを概略的に示す図である。
【図５】ニューラルネットワークを訓練するプロセスを示す図である。
【図６】一実施形態の画像を取得して当該画像中の物体を識別するためのモバイル装置を示す図である。
【発明を実施するための形態】
【００４０】
図１は、画像の撮影を含めた取得画像の処理のフローチャートである。
【００４１】
最初のステップ１０１において、例えばスマートフォン又はタブレットコンピュータ等のモバイル装置の光学センサによって画像を取得する。任意の状況の画像を撮影することができるが、本発明の方法では撮影された画像は、当該画像を撮影した状況における物体が実物体すなわち三次元物体であるか、又は当該物体のスプーフすなわち実物体の二次元表現（写真等）であるかを判断する対象となる物体を含むことを意図している。しかしステップ１０１では、撮影された画像がスプーフであるか又は実物体であるかは、モバイル装置にも他のいずれのエンティティにも分かっていない。
【００４２】
その後、撮影された画像はステップ１０２においてニューラルネットワークへ供給される。具体的には、例えば画素に関連付けられた色値等を有する複数の画素等の画像に相当するデータ構造が、ニューラルネットワークへ供給される。このニューラルネットワークは、画像を撮影したモバイル装置上に存在するか、又は、当該画像の転送先である他の計算主体上に存在することができる。例えば、ユーザは自己のスマートフォンを用いて画像を撮影することができ、この画像の情報は（完全な状態又は削減された状態又は他の変更態様のいずれかの状態で）、会社のサーバ上に存在するニューラルネットワークであって例えば実物体の画像を用いてユーザを識別するためのツールを提供するニューラルネットワークへ供給される。
【００４３】
よって、以降の処理はモバイル装置内部で行われるか、又は以降の処理の一部若しくは全部がモバイル装置外部において他の計算主体で行われる。この点については本発明は限定されないが、好適なのは、全世界のモバイルインターネットへのアクセスが制限される地域でも使用できるように、図１に記載されている方法の全部をモバイル装置上で実施することである。
【００４４】
次のステップ１０３において、画像はニューラルネットワークによって処理される。具体的には、完全な状態の画像を処理するか、又は当該画像を削減し若しくは他の態様で操作若しくは変更したバージョンを処理することができる。例えば、画像が高精細（ＨＤ）画質で撮影されたものである場合、最初に、画像がスプーフ又は三次元実物体のいずれを示しているかの正確な識別を判断するために必要な画素数に応じて、画像をより少ない画素数（例えば５１２×５１２又は２５６×２５６又は２２４×２２４の画素数）に削減することができる。これに関して、ステップ１０３は画像の「前処理」を含むことができ、この前処理には例えば、画素数の削減又は必要と考えられる他の任意の前処理（例えば画像の照明条件の変更等）が含まれる。
【００４５】
しかしこのステップは、画像を撮影するステップ１０１と、画像を処理するステップ１０３との間の任意の適切な時期に、ニューラルネットワークによって行うこともできる。例えば、ステップ１０２において画像をニューラルネットワークへ供給する前に画像の撮影直後に画像の操作若しくは画像の前処理を行うことができ、又は、ステップ１０２におけるニューラルネットワークへの画像の供給と、ステップ１３１〜１３４及び最後のステップ１０４を含めたステップ１０３におけるニューラルネットワークによる画像の処理の実際の開始と、の間に、画像の操作若しくは画像の前処理を設けることができる。
【００４６】
いずれの場合においても、元の画像に相当するデータ構造はステップ１０３と後続のステップ１３１〜１３４とにおいて処理される。
【００４７】
ステップ１０３におけるニューラルネットワークによる画像の処理は、当該画像の２つの別々の処理に分割することができる。これら２つのうち一方の処理は距離マップの計算及び処理（ステップ１３１及び１３２）に関わるものであり、他方の処理は反射パターンの計算及び以降の使用に関わるものである。
【００４８】
まず距離マップについて述べる。ステップ１３１において距離マップを計算する。この距離マップは、モバイル装置の光学センサの画像中の各画素が該当し又は表現する実世界の部分の算出された距離と当該各画素とを関連付けるものである。例えば、ユーザが手の画像を撮影するために自己の手を光学センサの手前にかざしていると仮定すると、距離マップは少なくとも一部の画素について、手から光学センサまでの距離に相当する計算された距離を含むこととなり、また、画像中の他の物体の計算された他の距離、例えば撮影された画像の背景中に配置されているＴＶ、又は撮影された画像中の背景を構成する風景中の家屋等の距離も含み得る。したがって、画像を撮影した実世界の中の様々な物体に該当し又は表す画素の様々な距離が存在することとなる。
【００４９】
その後、計算された距離マップはステップ１３２において、ニューラルネットワークの学習済みの距離マップと比較される。この学習済みの距離マップは、一部の実施形態では少なくとも２つの距離マップに分割することができ、これら少なくとも２つの距離マップのうち第１の学習済みの距離マップは、撮影された実物体の画像に関する距離マップに相当し、第２の学習済みの距離マップは、当該物体の二次元のスプーフを撮影した画像の距離マップに相当する。第１の学習済みの距離マップが第２の学習済みの距離マップと相違する点は、第１の学習済みの距離マップは画像の全範囲にわたって様々な距離を示すものであるのに対し、第２の学習済みの距離マップでは、第１画素から第２画素へ移動すると、各画素に関連付けられた距離の変化が滑らかであることである。その理由は、二次元スプーフ（具体的には例えば、実物体の画像の紙）を撮影の際に光学センサの手前にかざした場合、画素から光学センサまでの距離は、特定の点（光学センサ）から光学センサに対して任意の相対配置（アンギュレーション）がなされている平面までの距離に従って計算され得るので、如何なる不連続性も有しないからである。
【００５０】
比較は好適には、その全部がニューラルネットワークにおいて行われ、例えばニューラルネットワークにおける画像の処理の一部として行われるが、他の実施態様も可能である場合があり、比較の全部をニューラルネットワーク外部で、又は、得られた距離マップと計算された距離マップとを比較する際、及び得られた反射パターンと計算された反射パターンとを比較する際にニューラルネットワークと共に追加のソフトウェア若しくはハードウェアを併用して行う実施態様もあり得る。
【００５１】
この比較から結果が得られ、この結果は後でステップ１０４において使用される。
【００５２】
他方のフローでは、まずステップ１３３が、画像中の物体の少なくとも一部に該当する複数の画素に関連付けられた光反射を表す反射パターンを計算することを含む。この光反射パターンは例えば、取得された画像中の各画素に輝度の値を関連付けるものとすることができる。この輝度の値も（距離マップと）同様に、画素の輝度ではなく、画像を撮影した実際の状況の実際の輝度に相当する。というのも、画素は実際の状況を表すデータ構造でしかないからである。反射パターンを適切に計算するためには、ステップ１０１においてモバイル装置のカメラにより、当該カメラのフラッシュを用いて画像を撮影することが好適となり得る。かかる撮影により、画像が撮影された実際の状況のうち光学センサ付近の部分は比較的明るくなり、入射したフラッシュの相当量を反射するのに対し、実際の状況におけるより遠距離の部分、又は光学センサに対して斜めになっている物体の部分はより少ないフラッシュを反射することとなり、これにより比較的暗く見える。フラッシュは近似的に点の形態の光源であるから、フラッシュを用いる場合の反射パターンの計算は、実際の周辺光条件のみを用いる場合に取得できる反射パターンと比較して格段に正確になる。というのも、周辺光は点の形態の光源ではないからである。
【００５３】
次のステップ１３４において、ステップ１３２と同様に、計算された反射パターンとニューラルネットワークの学習済みの反射パターンとを比較する。ステップ１３２と同様に、ニューラルネットワークは好適には２つの学習済みの反射パターンを有し、そのうち第１の学習済みの反射パターンは撮影された実物体の画像に相当し、第２の学習済みの反射パターンは二次元のスプーフの反射パターンに関するものである。この比較によって結果が得られ、この結果は後でステップ１０４において使用される。
【００５４】
画像の処理がステップ１３１及び１３２又はステップ１３３及び１３４に従って行われたか、又はこれらの全てのステップを行うことにより行われたかにかかわらず、最後にステップ１０４において、光学センサにより撮影された画像が実物体の二次元のスプーフを含み若しくは写したものであるか否か、又は実物体を含むか否かを判断する。この判断は本発明では、ステップ１３２及び／又はステップ１３４のいずれかの比較の結果に基づいて行われる。よって、これらのステップの結果は好適には、画像中に示されているものがスプーフであるか又は実物体であるかを後で判断するために使用できる複数の情報又は任意の他の情報であるか、又はこれを含む。
【００５５】
下記にて説明するように、ニューラルネットワークは１つの最後の層を含む複数の層を有する。好適な一実施形態では、本発明の最後の層は、ステップ１３２又は１３４の比較ステップの際に判断される実物体について−∞〜＋∞の範囲の出力を供給する第１ノードと、ステップ１３２及び／又は１３４において識別されるスプーフについて−∞〜＋∞の範囲の出力を供給する第２ノードと、を含むことができる。
【００５６】
例えばこれらの出力値は、得られた距離マップと学習済みの距離マトリクスとを構成する差分の総和を表すことができる。得られた距離マップは、各個別の画素ｉｊ（画像のｉ番目の行、ｊ番目の列）に対応する複数の距離Ｏとして表すことができ、学習済みの距離マップはＬであり、各距離マップはそれぞれ成分Ｏｉｊ及びＬｉｊを有すると仮定する。この場合、結果Ｄ＝Ｌ−Ｏは成分ｄｉｊを有することとなる。総和Σｉｊｄｉｊを計算することにより、最後の層におけるノードの一例として出力を供給することができる。第１の出力は例えば、実物体の学習済みの距離マップの構造Ｌに相当し、第２ノードによる第２の出力は、スプーフに対応する学習済みの距離マップの構造Ｌに相当する。もちろん、反射パターンについても同様のことが当てはまる。
【００５７】
上記の説明は、Ｏ，Ｌ及びＤは各自成分を有する通常知られているマトリクス等の構造となり得るかのような印象を与えるものであったが、通常は距離マップ及び反射パターンは、（学習済みのものであっても、得られたものであっても）規則的なマトリクスの形態で表現することはできないだろう。その理由は、距離マップはニューラルネットワーク自体において画像を処理しながら得られるものであるから、単純にマトリクスの形態で表現できないからである。しかしながら、説明を分かりやすくする観点から、より容易に視覚化できるコンテキストを当該手順に与えるため、Ｏ，Ｌ及びＤをマトリクスの形態で表現されたものであると仮定する。
【００５８】
上述の値（例えば総和Σｉｊｄｉｊ等）では、第１ノード又は第２ノードの出力が実物体に該当するのか又は実物体のスプーフに該当するのかを容易に判断することができない。よって本実施形態では、画像に示されているのが実物体であるか又は物体のスプーフであるかを判断できるようにするため、何らかの正規化を行うのが好適である。
【００５９】
このことを遂行するためには、ｘｉによって表される第１ノード及び第２ノードの出力値を、最初に値Ｓ（ｘｉ）に削減する。ここで、ｉ＝１は第１ノードを表し、ｉ＝２は第２ノードを表し、Ｓ（ｘ）＝ｅｘ／（１＋ｅｘ）である。
【００６０】
これらの値は既に１より小さいが、必ずしも最大１である必要はなく、よって、必ずしも統計的又は確率的な判定を行えるようにする必要はない。
【００６１】
かかる判定を行えるようにするため、取得された画像中にて物体のスプーフ又は実物体を発見する確率は最大１であることを前提とする。というのも、画像上にはスプーフ又は実物体のいずれかが必ず存在するからである。次に、この仮定に鑑みて、計算された値Ｓ（ｘｉ）を下記の正規化関数によってさらに処理して、値σ（Ｓ（ｘｉ））を得る：
【数６】
2021522591.tif 000013
【００６２】
値σ（Ｓ（ｘｊ））は常に最大１である。というのも、上記の関数はベクトルのノルムの計算であるからであり、ソフトマックス関数として知られている。
【００６３】
値σ（Ｓ（ｘ１））≡σ１及びσ（Ｓ（ｘ２））≡σ２により、統計的で確率的な評価が可能である。
【００６４】
よって、この計算の結果σ１及びσ２は、図１の判断ステップ１０４に使用することができる。画像が実物体である確率であるσ１が０．５より大きい場合（σ２＜０．５に相当する）、画像は実物体であるという判断結果になり、σ２＞０．５の場合には（σ１＜０．５に相当する）、画像は実物体のスプーフであるとの判断が下される。
【００６５】
図１には明示的に示されていないが、判断ステップ１０４の後に他のステップが続くことができる。例えば、画像上に示されているのが実物体であるか又は実物体のスプーフであるかの判断は、撮影された画像が実物体のスプーフであるから例えばログイン手続又は銀行送金等の他のセキュリティ関連のプロセスにおいてユーザを識別するために用いることができない旨のユーザ又は他のエンティティに対する表示等の他のステップをトリガするために使用することができる。他方、肯定的な判断となった場合、すなわち画像が実物体である場合には、当該実物体から得られるユーザ固有の情報に基づきユーザを識別する他のプロセスをトリガすることができる。これは例えば、実物体の画像をさらに処理することを含むことができる。例えば実物体が手又は指先である場合、画像から指紋等のバイオメトリック特性を取得して、ユーザの識別と、例えばログイン手続又はバイオメトリック特性を用いる他のプロセス等と、に使用することができる。
【００６６】
図２及び図３は、実物体を撮影した画像と当該実物体のスプーフを撮影した画像の場合、距離マップがどのようなものになるかの一例を示す概略図である。上記にて説明したように、距離マップ及び反射パターンは、通常はマトリクスの形態で表現することができない。しかしながら距離マップ及び反射パターンを得るコンセプトを説明するため、各画素とこれらに対応する距離／反射特性との間で一対一の対応関係が可能であると仮定する。説明のため、これは距離マップ及び反射パターンのマトリクスの形態の表現についての話であると捉えることができる。
【００６７】
これについては図２に、画像が撮影される視野２１１を有する光学センサ２０１を備えたモバイル装置２００を使用して画像を実物体から取得する状況を示している。図２は、実世界において光学センサにより捉えられる実際の三次元状況の二次元断面である。画像の撮影対象である実物体は物体１２０であり、場合によっては、光学センサの視野２１１内には物体２２１等の他の物体が存在し得る。図示の二次元配置から得られる画像は画素の一次元配列であり（実際の三次元の状況を撮影した二次元画像である画像に相当する）、これらの画素は図示の方向ｘに配列されている。画像中の画素ごと、例えば１，２，３及び４の表示が与えられた画素ごとに、距離を計算する。実際の状況については、これにより距離マップが得られ、これは図２にも示されている。図から分かるように、実物体の距離は任意の態様でばらつき、限られた数のパラメータのみに依存する関数では、この距離を容易に計算することができない。というのも、光学センサに対する実物体の配置及び当該物体の三次元構造（図２ａでは二次元構造）は、通常は未知だからである。
【００６８】
これに対して図３は、光学センサの手前に実物体の画像（すなわち二次元のスプーフ）が掲げられている場合を示している。この図示の例でも、光学センサにより取得される状況は二次元の状況によって表されるので、取得された「画像」は、図２の事例に関して既に説明したように一次元であると仮定する。
【００６９】
説明を簡単化するため、さらに、光学センサが取り付けられているモバイル装置３００に対して平行になるように画像が光学センサ３０１に対して掲げられていると仮定する。また、これも説明の簡単化のため、スプーフの（二次元の）画像３３０は光学センサの手前に完全な平面となると仮定する。
【００７０】
この場合、光学センサ３０１の視野３１１内には、当該光学センサからの距離が最短距離ｄ０である点が存在する。この画像内の他の点は全て、
【数７】
2021522591.tif 000014
によって与えられる距離ｄｘを有することとなり、これにより、ｘ方向に関して座標系の原点が、光学センサまでの距離が最小距離ｄ０である点であると仮定した場合、図３の距離マップのグラフ表現を得ることができる。
【００７１】
図３を見ると分かるように、取得された（一次元の）画像の画素に相当するこの距離マップは、画像内の特定の点から原点までの距離にのみ依存するので、上記の数式を用いて最短距離ｄ０を求めることができる。
【００７２】
よって、光学センサにより取得された実物体又は実際の状況の距離マップは二次元のスプーフの距離マップと有意に異なることが明らかである。というのも、二次元のスプーフの距離マップは、パラメータの数が限られている関数の値を計算することによって得られるものだからである。
【００７３】
計算された反射パターンについても上記と同様のことが当てはまるが、反射パターンは、距離マップと同様のやり方では容易に撮影することができない。
【００７４】
しかし、計算された距離マップについての上記説明を参酌すれば、撮影された画像の画素ごとに実際の状況に対応する反射値又は輝度値又は照明条件に関連付けられた他の任意の値を計算できることも明らかとなる。この実際の状況も、図３にて説明したような実物体の二次元のスプーフである場合、反射パターン（光強度を参照してより容易に説明される）も上記数式に従って、又は少なくとも上記数式に依存して変化することとなる。というのも、特定の一点から得られる光の強度は一次近似では、距離の２乗に相互依存するからである。
【００７５】
よって、複数の他の物体の中に実物体が示されている状況（図２のような状況）では、反射パターンは非常に複雑な構造になるのに対し、光学センサに対して二次元のスプーフを示した場合、その反射パターンは、パラメータの数が限られている関数を用いて容易に計算することができる。
【００７６】
実物体に相当する学習済みの距離マップ（又は反射パターン）と、物体の二次元のスプーフに相当する学習済みの距離マップについても同様である。というのも、これらはニューラルネットワークに既知であるからである。したがって、ニューラルネットワークは学習済みの距離マップと（そしてもちろん反射パターンも）得られた距離マップ及び反射パターンとを比較することにより、取得された画像が実物体であるか又は当該実物体のスプーフであるかを合理的に判断することができる。
【００７７】
距離マップ及び反射パターンの各計算を簡略化するため、及び、判断ステップ１０４に必要なコンピュータリソースを削減するためには、学習済みの距離マップ及び学習済みの反射パターンは通常、各要素が距離の学習済みの振舞い又は対応する反射パターンの学習済みの振舞いを構成するデータ構造の形態で、ニューラルネットワークに設けられることとなる。
【００７８】
得られた又は計算された距離マップ及び得られた反射パターンも同様に、各要素が取得された画像における距離（又は各反射パターン）を構成するデータ構造の形態で提供することができる。
【００７９】
このことは、学習済み及び計算された距離マップ及び反射パターンの両方とも、画素ごとに該当し得る。すなわち、各データ構造内の各要素は、特定の一画素の学習済み／計算された距離又は反射パターンに相当する。
【００８０】
これはもちろん、取得された画像における画素の位置とデータ構造内の要素との間に関連付けが存在することを要する。この関連付けは、データ構造を計算する基礎として画像内の画素自体の配置を使用して行われる。具体的には、取得された画像に即して、距離マップ（例えば名称「Ｌ」）及び反射パターン（例えば名称「Ｙ」）に使用される各データ構造を構築する。例えば画像が１色値あたり５１２×５１２個の画素（すなわち５１２×５１２×３）を含む場合、距離マップ及び反射パターンは、（１色値あたり）各成分が取得された画像中の一画素にそれぞれ相当する成分数５１２×５１２のサイズのデータ構造となる（必ずしも要素数５１２×５１２個のマトリクスとして表現可能なものであるとは限らない）。画像の他のどのような解像度であっても、同様のことが当てはまる。
【００８１】
図４は、本発明の一実施形態のニューラルネットワークの一層２００において受け取った入力画像の内部処理を示す。この入力画像は元の画像か、又は元の画像からＨＳＶ変換により得られたＨＳＶ変換データ構造のいずれかとすることができる。実際には、ニューラルネットワークへ供給されるデータ構造は、ＨＳＶ色空間への変換後の入力画像に相当するマトリクスであることが多い。というのもこれは、色値よりも画素のluma値をより的確に示すからである。これにより、距離マップ及び反射パターンの計算をより効率的にすることができる。
【００８２】
この層２００は、ニューラルネットワークによる元の入力画像の処理順で、上述のステップ１０２の後に元の入力画像を受け取る最初の層、若しくは、ニューラルネットワークの他の２つの層２４０と２５０との間に配されたいずれかの中間層とすることができ、又は、層２００は最終的に、図１を参照して説明したステップ１０４に従って出力を供給するニューラルネットワークの最後の層とすることもできる。最後の場合、層は、画像内のスプーフ識別及び実物体の識別のための対応する出力を供給するために上述の２つの出力ノードを有することとなる。
【００８３】
いかなる場合においても層２００は、少なくとも何らかの形で取得当初の画像に対応する入力２３０を受け取る。この入力は好適には、次元Ｎ×Ｍを有する少なくとも１つのマトリクスの形態であり、ここでＮ及びＭは、０より大きい整数である。マトリクスは例えば、少なくとも１つの色値（例えば赤）又はＨＳＶ変換画像について画像中の画素を表すものとすることができる。よって、このマトリクスの成分は、当該特定の画素の当該色（本事例では赤）の値に相当する値又はそのluma値を有することができる。以下の記載から明らかであるように、入力は取得された画像と同一でなくてもよく、ニューラルネットワーク内の層による何らかの処理によって、又は何らかの前処理（例えば上述の解像度低減処理等）によって元の画像を表すマトリクスから得られたマトリクスＰとすることができる。
【００８４】
しかし説明の簡素化のため、入力２３０は、取得当初の画像を表すＮ×Ｍマトリクスに相当し、当該Ｎ×Ｍマトリクスの各成分は当該画像中の各画素の一色（例えば赤）の値に相当すると仮定する。この考え方は、元のＮ×Ｍマトリクスをニューラルネットワークの各層で処理した変換後のどのような他のマトリクスにも、容易に適用することができる。
【００８５】
ここで、図４に例示した処理によれば、入力２３０は処理のために深度畳み込み層２１１によって受け取られる。下記では、深度畳み込み層によって入力マトリクス２３０をどのように処理できるかに関する比較的簡単な例を提示する。これは、カーネルＫを用いて当該マトリクスとの内積を算出することを含む。このカーネルは、いわゆる「ストライド」でマトリクス全体で実行される。下記の例は値１の水平方向ストライド幅及び垂直方向ストライド幅を用いているが、ストライド幅が０より大きい整数であれば、１より大きい他の任意の値を使用することができる。カーネルＫはサイズがＳ×Ｔであり、ここでＳ及びＴは整数であり、かつＮ及びＭより小さい。
【００８６】
さらに、サイズＮ×Ｍの元の入力マトリクスＩ（すなわち入力マトリクス２３０）のみがカーネルとの内積を算出するために使用されると仮定する。しかし、カーネルとの内積を算出するために、拡張されたマトリクスＺを用いることも可能である。この拡張されたマトリクスＺは、元のマトリクスＩの最初の行の上と最後の行の下とに行を「付加」し、最初の列の左側と最後の列の右側とに列を「付加」することによって得られるものである。
【００８７】
これは「パディング」と称される。パディングは通常、行方向に数Ｐｗの行を追加し、列方向に数Ｐｈの列を追加することを含む。数ＰｗはＳ−１に等しくすることができ、数ＰｈはＴ−１に等しくすることができ、これにより、Ｚとカーネルとで算出されたいかなる内積も、元のマトリクスＩの少なくとも１つの成分を含むこととなる。よって、これにより得られるマトリクスＺのサイズは（Ｎ＋２Ｐｗ）×（Ｍ＋２Ｐｈ）となる。このことから、マトリクスＺは以下の成分を有することとなる：
【数８】
2021522591.tif 000015
【００８８】
ここで、全ての内積を算出してこれらを行及び列に従って適切に配列することによって得られる新たなマトリクスは、一般的に
【数９】
2021522591.tif 000016
のサイズとなる。ここで、Ｗｗは行方向のストライド幅であり、Ｗｈは列方向のストライド幅である。サイズＳ×Ｔの所与のカーネルＫを得るためには、新たなマトリクスのサイズが整数となるパディング及びストライド幅のみが許容されることが明らかである。さらに、ストライド幅ＷｗはＳより小さく、かつストライド幅ＷｈはＴより小さいことが好適である。その理由は、そうしないとマトリクスＩにおけるカーネルの動きが、元のマトリクスのうち新たなマトリクスの算出で除外されてしまう行又は列が出てきてしまうものになってしまうからである。
【００８９】
以下では説明の簡素化のため、元のマトリクスＩに対してはパディングを行わず、水平方向及び垂直方向のストライドのストライド幅は１であると仮定する。さらに、カーネルはサイズＳ×Ｓのマトリクスであると仮定する。すなわち、Ｓ＝Ｔである特殊な事例を想定する。任意のパディング及びストライド幅及び任意のカーネルサイズに対して以下の説明を適用することは、以下の思想により容易に行える。
【００９０】
深度畳み込み層２１１では、受け取った入力マトリクス２３０を使用して、サイズＳ×ＳのカーネルＫとの内積を求める。ここで、Ｓ＜Ｎ，Ｍである。この内積は、元のＮ×Ｍマトリクスの各削減マトリクスごとに計算され、削減マトリクスのサイズはＳ×Ｓであり、元のＮ×Ｍマトリクスのコヒーレントな成分を含む。一例としてＳ＝３の場合を考察すると、元のＮ×Ｍマトリクスの第１の削減マトリクスＲは成分ｉ＝１，２，３；ｊ＝１，２，３を有し、９個の成分から構成され、カーネルＫとの内積を計算するとその結果は単一の数となる。元のＮ×Ｍマトリクスの行方向における次の削減マトリクスは、ｉを１増分したマトリクスであり、これにより当該方向における次のマトリクスは、元のＮ×Ｍマトリクスのｉ＝２，３，４；ｊ＝１，２，３の要素から構成されることとなる。その後、このマトリクスはカーネルとの次の内積を算出するために使用される。なお、ここで提示した一例のＳ＝３であるＳ×Ｓマトリクスは単なる一例であり、他のカーネルを使用することも可能である。
【００９１】
列／カラム方向において次のサイズ（Ｎ×Ｍ）ｓの削減マトリクスＲを算出するためには、元のＮ×Ｍマトリクスの要素の添え字ｊを１増分する。これは、行方向において最後の削減マトリクスまで行われ、この最後の削減マトリクスは、Ｓ＝３の場合にはｉ＝Ｎ−Ｓ＋１，Ｎ−Ｓ＋２，Ｎ−Ｓ＋３となる。上述のことは列についても同様に行われ、ｊ＝Ｍ−Ｓ＋１，Ｍ−Ｓ＋２，Ｍ−Ｓ＋３となる。これらの内積を計算することにより、サイズが（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）の新たなマトリクスであるマトリクスＰが算出される。その成分Ｐｉｊは、元のＮ×Ｍマトリクスの各削減マトリクスとカーネルＫとから計算された各内積に相当する。なお、実際にはこのサイズのマトリクスが層２００の点畳み込み層へ転送される。
【００９２】
カーネルＫは、意図されている物体を適切に識別するため、すなわち物体のスプーフと実物体とを区別するためにニューラルネットワークを訓練する学習プロセスによって得られた成分である。ニューラルネットワークの層２００において使用されるこのカーネルＫは、各ニューラルネットワークの他の層において使用されるカーネルと同一のサイズ及び成分である必要はない。また、カーネルの各成分は互いに同一である必要はなく、少なくとも０以上の数である。かかる成分は、ニューラルネットワークの学習を通じて得られる「重み」を表すものとみなすことができる。
【００９３】
深度畳み込み層によるマトリクス２３０の処理の結果は、行方向ではΔｉ＝１の距離と列方向ではΔｊ＝１の距離とを有するストライドでカーネルを元のＮ×Ｍマトリクス上で移動させる場合、上述のように、サイズ（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）のマトリクス２３１となる。しかし、このストライドがΔｉ＝２やΔｊ＝３のようなより大きな距離を有する場合（これは列についても同様にあり得る）、これに応じて結果２３１の次元が上述のように変化することとなる。
【００９４】
後続の処理において、この結果２３１は第１のバッチ正規化部２１２へ転送される。この第１のバッチ正規化部２１２は、図４中の矢印で示されている処理順において深度畳み込み層２１１の次である。このバッチ正規化部は、受け取った結果マトリクス２３１の正規化を試行する。この正規化は、（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）マトリクスの各成分の総和を算出し、これを（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）マトリクスの成分の数によって除算することにより達成される。要素Ｐｉｊを有する（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）マトリクス（以下「Ｐ」で示す）の平均値Ｖは、次のように与えられる：
【数１０】
2021522591.tif 000017
ここでｎ及びｍは、Ｎ×Ｍマトリクスの行数及びカラム／列数、又はマトリクスＰの行数及び列数を表す。要素ＰｉｊはマトリクスＰの成分であり、所与の要素Ｐｉｊは、当該マトリクスの第ｉ番目の行かつ第ｊ番目の列の要素である。
【００９５】
その後、バッチ正規化部は元のマトリクスの各成分Ｐｉｊから平均値Ｖを差し引くことにより削減マトリクスＰ’を算出し、Ｐ’ｉｊ＝Ｐｉｊ−Ｖとなる。これによって削減マトリクスＰ’内の値は正規化され、一方向又は他方向における変則値（anomalies、極端に大きい値又は極端に小さい値）がフィルタリング除去される。また、項Ｐｉｊ−Ｖを平均値Ｖに相当する標準偏差によって除算することにより項Ｐ’ｉｊを計算することもできる。
【００９６】
第１のバッチ正規化部２１２によって生成された結果２３２は、（図４の例では）未だサイズが（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）であるマトリクスとなる。というのもこれ以前では、マトリクスの次元削減が行われていないからである。
【００９７】
結果２３２はその後、第１のバッチ正規化部２１２の次の第１の整流線形ユニット２１３へ供給される。
【００９８】
この整流線形ユニットは、
2021522591.tif 000018
を算出することによって、マトリクス２３２の各成分をさらに修正する。ここで、
【数１１】
2021522591.tif 000019
である。
【００９９】
これにより、０より小さい値はバッチ正規化部を通過した後は０に設定され、これにより、以下説明する深度畳み込み層における更なる処理に影響を及ぼさなくなる。このことは、具体的には例えば、バッチ正規化部において算出された平均値を下回る色値はこれ以降考慮されず、平均値Ｖと少なくとも一致する値のみが計算の次のステップの結果に影響を及ぼす、ということである。
【０１００】
よって、第１の整流線形ユニット２１３によって出力される結果２３３は依然として（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）の形状／サイズのマトリクスであり、このマトリクスは点畳み込み層２２１へ転送される。
【０１０１】
点畳み込み層２２１は結果２３４を生成する。この結果２３４は、点畳み込み層２２１が（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）マトリクス２３３の各成分をとって当該各成分に重みαを乗じることによって生成される。αは好適には、常に０より大きい数であり、この数は（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）マトリクスの各成分に対して同一である。よって、点畳み込み層２２１から得られる結果２３４は、同一サイズの（Ｎ−Ｓ＋１）×（Ｍ−Ｓ＋１）であるが各成分に重みαを乗じたマトリクスとなる。
【０１０２】
その後、結果２３４は第２のバッチ正規化部２２２へ供給され、この第２のバッチ正規化部２２２において第１のバッチ正規化部２１２について説明した態様で正規化されて、同じ次元の正規化マトリクスＰ’が結果２３５として算出される。このマトリクス／結果２３５は第２の整流線形ユニット２２３へ転送され、第２の整流線形ユニット２２３において
2021522591.tif 000020
を得るために整流関数が適用され、この結果／マトリクスはニューラルネットワークにおける次の層へ転送され、又は、ニューラルネットワークにおいて次の層がもはや無い場合には、結果２３６は出力として供給される。
【０１０３】
これより図５において、図４を参照して説明したカーネルＫの重み及び重みαと、実際に実物体又は実物体のスプーフを識別するパターンと、をニューラルネットワークが学習するために、ニューラルネットワークをどのようにして適切に訓練できるかを説明する。
【０１０４】
図５の方法は、訓練データ４０１の準備から開始する。この訓練データは、実物体の複数の画像と実物体のスプーフの複数の画像とにより構成することができる。この訓練データを構成する画像は例えば、本物の手又は指等の複数の画像と、これら物体の画像（すなわちスプーフ）の画像とを含むことができる。これら複数の画像は、同一画像を回転、強調、暗色化、拡大、又は他の修正を施した複製を用いて増加したものとすることができ、このような複製を訓練データとして導入する。好適には、より多数の訓練画像を得るため、画像フリップ、画像回転及び直線移動、シェアリング（shear）、トリミング、輝度及びガウスブラーを増加するための乗算を含む修正を使用することができる。上掲の技術の任意の組み合わせを用いることもできる。項目４０８で提供される値σ１及びσ２は、ニューラルネットワークの最後の層の第１ノード及び第２ノードであって、画像が物体のスプーフである確率又は実物体である確率を供給する第１ノード及び第２ノードの出力が「正しい」ことを示す値となる。これらの値は、訓練データの各画像ごとに与えられる。
【０１０５】
次のステップにおいて、ニューラルネットワークの他に最適化部４０７及び損失関数計算部４０６がさらに設けられた訓練環境下で、ニューラルネットワークに１つの特定の入力画像４０２が供給される。
【０１０６】
この入力画像は、第１段階において、深度畳み込み層と第１のバッチ正規化部と第１の整流線形ユニット４０３（これら３つは「ＤＣＢＲ」としてまとめられている）を用いて処理され、その後、点畳み込み層と第２のバッチ正規化部と第２の整流線形ユニット（これら３つはＰＣＢＲとしてまとめられている）へ転送され、図４での説明に従い処理される。これは具体的には、各セクション４０３及び４０４それぞれにおいて点畳み込み層（ＰＣ）及び深度畳み込み層（ＤＣ）のカーネルＫに係る対応する重みを用いて、図５に示されているステップ又はセクション４０３及び４０４を図４にて説明したように、好適には１３回等の回数で実行する、ということである。項目４０３及び４０４の第１及び第２のバッチ正規化部並びに整流線形ユニットは、上記にて図４を参照して説明したように動作する。
【０１０７】
その結果、上記の説明によれば値σ１及びσ２が得られる。この結果はその後、損失関数に供給され、損失関数では当該結果と、４０８において設けられた事前設定済みの値σ１及びσ２とが比較されることにより、結果４０５と、正しい値σ１及びσ２との差が特定される。損失関数４０６により得られたこの差はその後、最適化部４０７へ供給され、最適化部４０７の方は、各点畳み込み層及び各深度畳み込み層の重み、すなわちαとカーネルＫの成分を修正する。これは具体的には、ネットワークの全ての層に対して同時に、又は各層ごとに別個に、点畳み込み層の重みαと深度畳み込み層のカーネルＫの成分を操作する、ということになる。
【０１０８】
これらの新たな値を用いて、まさに同一の画像について上記サイクルが繰り返され、その結果得られる値σ１及びσ２が損失関数へ供給されて正しい値σ１及びσ２と比較され、この比較の結果が最適化部４０７へ供給されて、最適化部４０７は再び重みを修正する。
【０１０９】
この手順は、上記の結果の値σ１（ｎ）及びσ２（ｎ）（ｎは、これらの値のｎ回目の繰り返しである）と、項目４０８の値σ１及びσ２との差が、意図された実物体及びスプーフの判断精度に実質的に相当する所与の閾値を超える限り行われる。
【０１１０】
そのあと、訓練データ４０１から次の入力画像４０２が取られて、対応する値σ１及びσ２が損失関数に供給される。その後、この新たな画像について上記のプロセスを再び繰り返し、点畳み込み層及び深度畳み込み層に係る最適な重みが求められる。これは、重みの特定の組み合わせによって全ての入力画像の識別精度が適切になるまで繰り返される。このようにして得られた重みの組み合わせは、最終的な重み４１０として出力される。
【０１１１】
この最終的な重みはその後、モバイル装置上で本発明の方法を実行するアプリケーションに導入される。実際には本方法により、実物体又は実物体のスプーフを示す特定の距離マップ及び反射パターンをニューラルネットワークが学習することが可能である。よって、図５に記載されている方法は、距離マップ又は反射パターンを学習するために使用された入力によって同様に実施することができる。
【０１１２】
また、値σ１及びσ２の他に追加して、又は組み合わせで、画像に相当する正しい距離マップ及び反射パターンを供給することも可能である。この場合、ステップ４０５におけるニューラルネットワークの出力は各値σ１（ｎ）及びσ２（ｎ）だけでなく、入力４０８によって得られた事前設定された距離マップ及び／又は反射パターンと比較される距離マップ及び／又は反射パターンでもある。
【０１１３】
このようにして本発明のコンセプトでは、モバイル装置に供給されるニューラルネットワークは既に、画像が実物体であるか又は実物体の二次元のスプーフでしかないかの判断に完全に適したものとなっている。
【０１１４】
総合的に、上記にて図４を参照して説明した点畳み込み層と深度畳み込み層とバッチ正規化部と整流線形ユニットとを使用することにより、１メガバイト未満のアプリケーションを提供することができ、これによりインターネット等を介して他のデータソースに何らアクセスしなくても、モバイル装置単独で使用することができる。これにより、無線ネットワーク等へのアクセスが不可能である環境下での適用に適したものとなる。さらに、この用途を実行するために必要なプロセッサ性能を最小限に抑えつつ、例えば、識別された実物体からバイオメトリック特性を抽出して後続のセキュリティ関連のプロセスに使用すること等により行われるユーザの識別に後で使用できる、実物体の適切な判断結果を得ることができる。
【０１１５】
本発明の方法を実施できる場面を提示するため、図６に、本発明の一実施形態のスマートフォンの形態のモバイル装置を示す。
【０１１６】
モバイル装置５００は、現在公知のスマートフォンとして構成されている。モバイル装置５００は光学センサ５２０を備えており、これは好適には、モバイル装置５００におけるディスプレイ５３０の設置場所である側とは反対側のカメラの裏面に設けられている。カメラは、１ＭＰ又は２ＭＰ以上の解像度を有するカメラとすることができ、例えばＨＤカメラとすることができる。カメラにはフラッシュライトを備え付けることができるが、これは必須ではない。カメラはまた、解像度を低くしたリアルタイム画像を撮影するよう構成することもでき、カメラが起動されるとディスプレイ５３０は、カメラが実際に「見ている」ものを表示することができる。これは例えば手５１０とすることができる。
【図１】
2021522591.tif 000030
【図２】
2021522591.tif 000031
【図３】
2021522591.tif 000032
【図４】
2021522591.tif 000033
【図５】
2021522591.tif 000034
【図６】
2021522591.tif 000035
【国際調査報告】
2021522591.tif 000036
2021522591.tif 000037
2021522591.tif 000038