WO2023012967A1 - 生成方法、情報処理装置および生成プログラム - Google Patents

生成方法、情報処理装置および生成プログラム Download PDF

Info

Publication number
WO2023012967A1
WO2023012967A1 PCT/JP2021/029117 JP2021029117W WO2023012967A1 WO 2023012967 A1 WO2023012967 A1 WO 2023012967A1 JP 2021029117 W JP2021029117 W JP 2021029117W WO 2023012967 A1 WO2023012967 A1 WO 2023012967A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
layer
layers
image data
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/029117
Other languages
English (en)
French (fr)
Inventor
リナ セプティアナ
秀継 内田
智明 松濤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to EP21952792.6A priority Critical patent/EP4383188A4/en
Priority to JP2023539481A priority patent/JP7688289B2/ja
Priority to PCT/JP2021/029117 priority patent/WO2023012967A1/ja
Priority to CN202180100743.4A priority patent/CN117751380A/zh
Publication of WO2023012967A1 publication Critical patent/WO2023012967A1/ja
Priority to US18/405,358 priority patent/US20240144729A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/40Spoof detection, e.g. liveness detection

Definitions

  • an object of the present invention is to reduce the computational cost of determination.
  • an information processing device having a storage unit and a processing unit is provided. Also, in one aspect, a generating program for execution by a computer is provided.
  • the information processing device 10 has a storage unit 11 and a processing unit 12 .
  • the storage unit 11 may be a volatile semiconductor memory such as a RAM (Random Access Memory), or may be a non-volatile storage such as a HDD (Hard Disk Drive) or flash memory.
  • the processing unit 12 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). However, the processing unit 12 may include a specific application electronic circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the processor executes programs stored in a memory such as a RAM (which may be the storage unit 11), for example.
  • a collection of processors may be called a multiprocessor or simply a "processor.”
  • the processing unit 12 calculates parameters for each of multiple layers included in the neural network 13 .
  • the processing unit 12 may calculate the parameters by error backpropagation. For example, the processing unit 12 inputs image data to the neural network 13 and calculates the error between the output of the neural network 13 and the teacher label.
  • the processing unit 12 propagates the error information in the reverse direction from the rear to the front of the neural network 13, calculates the gradient of the error with respect to the weight of each edge, and updates the weight based on the gradient.
  • the neural network 14 includes layer 15 and does not include layer 16.
  • Neural network 14 may include fewer layers than neural network 13 or may be a subset of the layers included in neural network 13 .
  • the processing unit 12 sets the parameter 18 calculated for the layer 15 of the neural network 13 to the layer 15 of the neural network 14 . Thereby, the processing unit 12 generates a judgment model for judging the authenticity of the biometric image of the person included in the received image data.
  • the layer 15 may be placed before the layer 16.
  • the neural network 13 may also include First Layers, Middle Layers, and Last Layers, each of which includes a plurality of layers.
  • the central layer group is arranged behind the front layer group, and the rear layer group is arranged behind the central layer group.
  • layer 15 belongs to the central layer group and layer 16 belongs to the rear layer group.
  • Neural network 14 may include all layers belonging to the central group of layers and none of the layers belonging to the rear group of layers. Also, the neural network 14 may include some layers belonging to the front layer group.
  • the processing unit 12 divides the moving image read by the image sensor by a specific number of frames to generate a plurality of image data each including a plurality of continuous frames (for example, 3 continuous frames). good too.
  • the processing unit 12 may use a plurality of image data generated from the same moving image as training data for calculating the parameters 18 .
  • the processing unit 12 may generate one piece of image data by extracting only a specific number of frames from the head of the moving image read by the image sensor.
  • the processing unit 12 may use this image data during a test for evaluating the determination accuracy of the neural network 14, or may use this image data during operation of the biometric authentication system.
  • the information processing device 10 calculates the parameters of each of the multiple layers included in the neural network 13 by machine learning, and inherits the parameters of some of the layers to the neural network 14 to generate a judgment model.
  • the information processing apparatus 10 can reduce the size of the judgment model, and can reduce the calculation cost for judging whether or not there is a presentation attack.
  • the neural network 14 takes over the role of some layers in the neural network 13 . For this reason, compared to generating a judgment model with few layers from the beginning, a judgment model with many layers (deep) can enjoy the advantage of a multi-layered structure that makes it easier to extract essential features from image data. A decrease in model accuracy is suppressed.
  • the neural network 14 takes over the parameters of a certain layer and does not take over the parameters of the layers behind it, thereby suppressing the deterioration of the accuracy of the judgment model.
  • the neural network 14 does not include a backward layer group, the dependence on training data is reduced and the judgment accuracy is improved.
  • the neural network 14 includes a central layer group, the highly versatile essential pattern information learned under the multi-layer structure is inherited, and the judgment accuracy is improved.
  • neural network 14 does not include some of the forward layers, further reducing computational costs.
  • FIG. 3 is a block diagram showing an example of software of the information processing device.
  • the information processing apparatus 100 has a face image storage section 121 and a model storage section 122 . These storage units are implemented using the RAM 102 or the HDD 103, for example.
  • the information processing device 100 also has a training data generation unit 123 , a machine learning unit 124 , a test data generation unit 125 and an attack detection unit 126 . These processing units are implemented using, for example, the CPU 101 or GPU 104 and programs.
  • the machine learning unit 124 generates a judgment model by transfer learning.
  • the machine learning unit 124 generates a certain three-dimensional convolutional neural network, and uses the parameters optimized here to generate another three-dimensional convolutional neural network as a judgment model.
  • the latter three-dimensional convolutional neural network is a compact decision model with fewer layers than the former three-dimensional convolutional neural network.
  • the attack detection unit 126 reads the determination model from the model storage unit 122.
  • the attack detection unit 126 uses the test data generated by the test data generation unit 125 to evaluate the accuracy of the judgment model.
  • the attack detection unit 126 inputs the input data included in the test data to the determination model, and calculates the error between the output of the determination model and the teacher label included in the test data.
  • the attack detection unit 126 may store the accuracy of the judgment model in a non-volatile storage, display it on the display device 111, or transmit it to another information processing device.
  • Each of the pooling layers 141 and 150 performs pooling that combines multiple adjacent elements in the tensor into one element. Thus, pooling layers 141 and 150 each reduce the height and width of the tensor. Pooling layers 141 and 150 combine, for example, 3 ⁇ 3 or 5 ⁇ 5 subregions into one element.
  • the pooling is, for example, maximum value pooling that selects the maximum value element from among the small regions, or average pooling that calculates the average of a plurality of elements included in the small region.
  • the front layer group is learned to have basic pattern information for extracting various basic features from facial images.
  • the central layer group is trained to have essential pattern information for extracting the essential features of the face image from the basic features extracted in the front layer group.
  • the rear layer group is learned to have abstract pattern information for further abstracting the essential features extracted in the central layer group for class determination.
  • the central layer group sandwiched between the front layer group and the rear layer group will have general-purpose, high-quality essential pattern information. This is because the central layer group is far from the input data and the error information indicating the error with the teacher label, and is not greatly affected by the bias and noise contained in the training data.
  • increasing the number of layers in the three-dimensional convolutional neural network increases the computational cost during class determination.
  • Convolutional blocks 172-174 correspond to convolutional blocks 144-146 in FIG.
  • the machine learning unit 124 copies the parameters of the convolution blocks 144-146 as initial values of the parameters of the convolution blocks 172-174.
  • convolutional blocks 172-174 are expected to have essential pattern information for extracting essential features from the basic features extracted by convolutional block 171.
  • the convolution block 140 is configured so that the tensor 181 a 12 , a 13 , a 14 , a 22 , a 23 , a 24 , a 32 , a 33 , a 34 and the kernel 182 k 11 , k 12 , k 13 , k 21 , k 22 , k 23 , k 31 , k 32 , and k 33 are calculated to calculate c 12 of the feature map 183 .
  • the training data generator 123 normalizes each frame. Frame normalization includes facial region extraction, resizing, and pixel value normalization.
  • the training data generation unit 123 generates training data including a plurality of records by combining three consecutive frames of input data and teacher labels assigned to moving images.
  • the information processing apparatus 100 generates, through machine learning, a judgment model for judging whether or not a presentation attack is appropriate from an accepted face image. This improves the accuracy of determination and improves the security of the biometric authentication system. In addition, it becomes possible to flexibly deal with various presentation attack methods and various electronic devices.
  • the detection model can accurately determine presentation attacks by taking into consideration biological-like movements, changes in reflected light, and changes over time such as changes in the environment. can. Moreover, by dividing the moving image into three frames and using them as training data, a diverse and sufficient amount of training data can be secured. In addition, by using the first three frames of the moving image as test data, the accuracy of the determination model can be appropriately evaluated assuming actual biometric authentication operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

判定の計算コストを削減する。 情報処理装置(10)は、人の生体画像をそれぞれ含む複数の画像データを用いた機械学習により、ニューラルネットワーク(13)に含まれる複数のレイヤーそれぞれのパラメータを算出する。情報処理装置(10)は、レイヤー(15)を含みレイヤー(16)を含まないニューラルネットワーク(14)の中のレイヤー(15)に、ニューラルネットワーク(13)のレイヤー(15)に対して算出されたパラメータ(18)を設定することで、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する。

Description

生成方法、情報処理装置および生成プログラム
 本発明は生成方法、情報処理装置および生成プログラムに関する。
 個人認証技術の1つとして、顔、指紋、静脈、虹彩などの生体情報に基づいて、認証対象者が登録者本人であるか判定する生体認証がある。生体認証システムに対するセキュリティ攻撃の1つとして、プレゼンテーション攻撃がある。
 プレゼンテーション攻撃は、攻撃者が、登録者の生体情報を偽造した人工物を用意し、人工物をセンサーに対して提示することで登録者になりすます攻撃である。例えば、攻撃者は、スマートフォンなどの携帯撮像装置を用いて登録者の生体画像を取得し、生体画像が表示された表示装置を画像センサーにかざす。撮像素子や表示装置の高性能化に伴い、プレゼンテーション攻撃を検知するタスクの難易度が上がっている。
 そこで、機械学習によって検知精度の高いモデルを生成する試みが行われている。例えば、訓練用画像データから特徴量を抽出し、抽出された特徴量に基づいて、プレゼンテーション攻撃を検知するためのモデルを生成し、生成されたモデルを用いてプレゼンテーション攻撃を検知する異常検知システムが提案されている。
米国特許出願公開第2019/0057268号明細書
 しかし、機械学習によって検知精度を向上させる従来技術は、層が非常に多い多層ニューラルネットワークのような複雑なモデルを生成することがある。複雑なモデルは、入力が攻撃であるか判定するための計算コストが大きく、実行時間が長いことがある。そこで、1つの側面では、本発明は、判定の計算コストを削減することを目的とする。
 1つの態様では、以下の処理をコンピュータが実行する生成方法が提供される。人の生体画像をそれぞれ含む複数の画像データを用いた第1の機械学習により、第1のニューラルネットワークに含まれる複数のレイヤーそれぞれのパラメータを算出する。複数のレイヤーのうちの第1のレイヤーを含み第2のレイヤーを含まない第2のニューラルネットワークの中の第1のレイヤーに、第1のニューラルネットワークの第1のレイヤーに対して算出されたパラメータを設定することで、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する。
 また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。また、1つの態様では、コンピュータに実行させる生成プログラムが提供される。
 1つの側面では、判定の計算コストが削減される。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を説明するための図である。 情報処理装置のハードウェア例を示すブロック図である。 情報処理装置のソフトウェア例を示すブロック図である。 訓練データ用およびテストデータ用の入力データの生成例を示す図である。 第1の畳み込みニューラルネットワークの構造例を示す図である。 畳み込みブロックの構造例を示す図である。 第2の畳み込みニューラルネットワークの構造例を示す図である。 転移学習におけるパラメータの引き継ぎ例を示す図である。 機械学習の手順例を示すフローチャートである。 モデルテストの手順例を示すフローチャートである。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 第1の実施の形態を説明する。
 図1は、第1の実施の形態の情報処理装置を説明するための図である。
 第1の実施の形態の情報処理装置10は、生体認証システムに対するプレゼンテーション攻撃の検知に用いられる判定モデルを、機械学習によって生成する。情報処理装置10は、生成された判定モデルを用いてプレゼンテーション攻撃を検知してもよい。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、機械学習装置または生成装置と呼ばれてもよい。
 情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、例えば、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 記憶部11は、画像データ17を含む複数の画像データを記憶する。複数の画像データは、それぞれ人の生体画像を含む。生体画像は、生体認証の際に画像センサーによって読み込まれる認証対象者の画像である。例えば、生体画像は、顔認証に用いられる顔画像や、指紋認証に用いられる指紋画像などである。
 ただし、複数の画像データの中に、認証対象者自身の生体ではなく偽造物を画像センサーにかざすことで生成される不正な画像データが含まれていてもよい。すなわち、複数の画像データの中に、攻撃者が登録者になりすますプレゼンテーション攻撃に相当する画像データが含まれていてもよい。攻撃者は、例えば、スマートフォンなどの携帯撮像装置を用いて登録者の生体を撮像し、その画像を表示装置に表示させて画像センサーにかざす。複数の画像データには、真正か否かを示す教師ラベルが付与されていてもよい。
 処理部12は、上記の画像データを用いて機械学習により判定モデルを生成する。処理部12は、まず、ニューラルネットワーク13を生成する。ニューラルネットワーク13は、レイヤー15,16を含む多層ニューラルネットワークである。ニューラルネットワーク13は、複数のノードとノード間を接続する複数のエッジとを含む。各エッジは、機械学習を通じて値が算出される重みをパラメータとしてもつ。
 処理部12は、ニューラルネットワーク13に含まれる複数のレイヤーそれぞれのパラメータを算出する。処理部12は、誤差逆伝播法によってパラメータを算出してもよい。例えば、処理部12は、画像データをニューラルネットワーク13に入力し、ニューラルネットワーク13の出力と教師ラベルとの間の誤差を算出する。処理部12は、誤差情報をニューラルネットワーク13の後方から前方に向かって逆方向に伝播し、各エッジの重みに対する誤差の勾配を算出し、勾配に基づいて重みを更新する。
 ニューラルネットワーク13は、入力された画像データに対して畳み込み演算を行う畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってもよい。畳み込み演算は、例えば、生体画像の上でカーネルと呼ばれる行列をスライドさせながら積和演算を繰り返す。カーネルに含まれる係数は、上記のパラメータに相当する。
 ニューラルネットワーク13は、例えば、入力された画像データが真正であるかプレゼンテーション攻撃であるか判定するように生成される。ニューラルネットワーク13は、攻撃クラスを表す「1」と真正クラスを表す「2」の何れか一方を出力してもよい。また、ニューラルネットワーク13に入力される画像データは、同一物を異なるタイミングで写した複数のフレームを含む時系列データであってもよい。ニューラルネットワーク13の入力は、テンソルと呼ばれてもよい。入力データが時間軸をもつ畳み込みニューラルネットワークは、三次元畳み込みニューラルネットワークと呼ばれてもよい。
 処理部12は、ニューラルネットワーク13に基づいてニューラルネットワーク14を生成する。ニューラルネットワーク13からニューラルネットワーク14を生成することが、転移学習と呼ばれてもよい。ニューラルネットワーク14は、畳み込みニューラルネットワークであってもよい。ニューラルネットワーク14は、入力された画像データが真正であるかプレゼンテーション攻撃であるか判定するように生成されてもよい。また、ニューラルネットワーク14は、三次元畳み込みニューラルネットワークであってもよい。
 ニューラルネットワーク14は、ニューラルネットワーク13に含まれる複数のレイヤーのうち、レイヤー15を含みレイヤー16を含まない。ニューラルネットワーク14に含まれるレイヤーは、ニューラルネットワーク13より少なくてもよく、ニューラルネットワーク13に含まれる複数のレイヤーのサブセットであってもよい。処理部12は、ニューラルネットワーク14のレイヤー15に、ニューラルネットワーク13のレイヤー15に対して算出されたパラメータ18を設定する。これにより、処理部12は、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する。
 ニューラルネットワーク14が判定モデルであってもよい。また、処理部12は、ニューラルネットワーク13で算出されたパラメータ18をニューラルネットワーク14の初期値として設定し、複数の画像データを用いた機械学習をニューラルネットワーク14に対して更に実行してもよい。このようにして更新されたニューラルネットワーク14が、生体画像の真正性を判定する判定モデルであってもよい。
 ニューラルネットワーク13の中で、レイヤー15はレイヤー16よりも前方に配置されていてもよい。また、ニューラルネットワーク13は、それぞれ複数のレイヤーを含む前方レイヤー群(First Layers)、中央レイヤー群(Middle Layers)および後方レイヤー群(Last Layers)を含んでもよい。中央レイヤー群は前方レイヤー群よりも後方に配置されており、後方レイヤー群は中央レイヤー群よりも後方に配置されている。
 その場合、例えば、レイヤー15は中央レイヤー群に属し、レイヤー16は後方レイヤー群に属する。ニューラルネットワーク14は、中央レイヤー群に属する全てのレイヤーを含んでもよく、後方レイヤー群に属する何れのレイヤーを含まなくてもよい。また、ニューラルネットワーク14は、前方レイヤー群に属する一部のレイヤーを含んでもよい。
 なお、処理部12は、画像センサーによって読み込まれた動画像を特定のフレーム数ずつ分割することで、それぞれ連続する複数のフレーム(例えば、連続する3フレーム)を含む複数の画像データを生成してもよい。処理部12は、同一の動画像から生成された複数の画像データを、パラメータ18を算出するための訓練データとして使用してもよい。一方、処理部12は、画像センサーによって読み込まれた動画像の先頭から特定のフレーム数のフレームだけ抽出することで、1つの画像データを生成してもよい。処理部12は、ニューラルネットワーク14の判定精度を評価するテストの際にこの画像データを使用してもよく、生体認証システムの運用の際にこの画像データを使用してもよい。
 以上説明したように、第1の実施の形態の情報処理装置10は、受け付けた画像データからプレゼンテーション攻撃の当否を判定する判定モデルを、機械学習を通じて生成する。撮像装置や表示装置の高性能化に伴って、プレゼンテーション攻撃を検知するタスクの難易度が上がっている。この点、生成された判定モデルを用いることで、判定精度を向上させて生体認証システムのセキュリティを向上させることが可能である。
 また、情報処理装置10は、ニューラルネットワーク13に含まれる複数のレイヤーそれぞれのパラメータを機械学習によって算出し、そのうちの一部のレイヤーのパラメータをニューラルネットワーク14に引き継ぐことで、判定モデルを生成する。これにより、情報処理装置10は、判定モデルのサイズを削減することが可能となり、プレゼンテーション攻撃の有無を判定するための計算コストを削減し得る。また、ニューラルネットワーク14は、ニューラルネットワーク13の中の一部のレイヤーの役割を引き継ぐ。このため、最初からレイヤーの少ない判定モデルを生成する場合と比べて、レイヤーが多い(深い)判定モデルは画像データから本質的特徴を抽出しやすいという多層構造の利点を享受することができ、判定モデルの精度低下が抑制される。
 例えば、ニューラルネットワーク13の前方レイヤー群のパラメータは、画像データから基本的特徴を抽出するための基本的パターン情報をもつように算出されることがある。ニューラルネットワーク13の中央レイヤー群のパラメータは、基本的特徴から本質的特徴を抽出するための本質的パターン情報をもつように算出されることがある。ニューラルネットワーク14の後方レイヤー群のパラメータは、本質的特徴を更に抽象化するための抽象的パターン情報をもつように算出されることがある。ただし、後方レイヤー群のパラメータは、機械学習に使用した訓練データの影響を受けやすい。
 そこで、ニューラルネットワーク14が、あるレイヤーのパラメータを引き継ぎ、それより後方のレイヤーのパラメータを引き継がないことで、判定モデルの精度低下が抑制される。また、ニューラルネットワーク14が後方レイヤー群を含まないことで、訓練データへの依存性が低下し、判定精度が向上する。また、ニューラルネットワーク14が中央レイヤー群を含むことで、多層構造のもとで学習される汎用性の高い本質的パターン情報が引き継がれ、判定精度が向上する。また、ニューラルネットワーク14が前方レイヤー群の一部レイヤーを含まないことで、計算コストが更に削減される。
 また、ニューラルネットワーク13からニューラルネットワーク14にパラメータを引き継いだ後、転移学習として更にニューラルネットワーク14のパラメータを更新することで、判定モデルの判定精度が向上する。また、判定モデルの精度向上によって、プレゼンテーション攻撃に相当する生体画像を誤って真正と判定するリスクや、真正な生体画像をプレゼンテーション攻撃であると誤って判定するリスクが低下する。
 また、入力データが時系列の複数のフレームを含むことで、判定モデルは、生物らしい動きや反射光の変化や環境変化などの時間変化を考慮して、高精度にプレゼンテーション攻撃を判定することができる。また、同一の動画像から分割された複数の画像データを訓練データとして使用することで、多様かつ十分な量の訓練データが確保される。また、動画像の先頭から抽出される画像データをテストデータとして使用することで、実際の生体認証の運用を想定して判定モデルの精度が適切に評価される。
 [第2の実施の形態]
 次に、第2の実施の形態を説明する。
 第2の実施の形態の情報処理装置100は、機械学習によって、生体認証システムに対するプレゼンテーション攻撃を検知するための判定モデルを生成する。第2の実施の形態の生体認証は、顔画像に基づいてユーザを認証する顔認証である。第2の実施の形態の判定モデルは、連続する複数フレーム分の顔画像を攻撃クラスまたは真正クラスに分類する三次元畳み込みニューラルネットワーク(3D_CNN)である。
 第2の実施の形態の判定モデルは、生体情報登録装置に組み込まれてもよい。例えば、生体情報登録装置は、登録用の顔画像から判定モデルがプレゼンテーション攻撃を検知した場合、生体情報の登録を拒否する。また、第2の実施の形態の判定モデルは、生体認証装置に組み込まれてもよい。例えば、生体認証装置は、認証用の顔画像から判定モデルがプレゼンテーション攻撃を検知した場合、登録時の顔画像と認証時の顔画像との間の類似度に関係なく認証失敗と判定する。生体認証システムは、プレゼンテーション攻撃が検知されたことをシステム管理者に警告してもよく、警告メッセージを保存してもよい。第2の実施の形態の生体認証システムは、IC(Integrated Circuit)認証、入退出管理、キャッシュレス決済、システムログインなどに利用されてもよい。
 情報処理装置100は、生成された判定モデルの精度を評価するテストを行ってもよい。また、情報処理装置100は、判定モデルを利用して生体情報登録または生体認証を行ってもよい。また、他の情報処理装置が、判定モデルのテスト、生体情報登録および生体認証を行ってもよい。情報処理装置100は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置100が、コンピュータ、機械学習装置または生体認証装置と呼ばれてもよい。情報処理装置100は、第1の実施の形態の情報処理装置10に対応する。
 図2は、情報処理装置のハードウェア例を示すブロック図である。
 情報処理装置100は、バスに接続されたCPU101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
 CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムおよびデータの少なくとも一部をRAM102にロードし、プログラムを実行する。情報処理装置100は、複数のプロセッサを有してもよい。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 RAM102は、CPU101で実行されるプログラムおよびCPU101で演算に使用されるデータを一時的に記憶する揮発性半導体メモリである。情報処理装置100は、RAM以外の種類の揮発性メモリを有してもよい。
 HDD103は、OS(Operating System)、ミドルウェア、アプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の不揮発性ストレージを有してもよい。
 GPU104は、CPU101と連携して画像を生成し、情報処理装置100に接続された表示装置111に画像を出力する。表示装置111は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイまたはプロジェクタである。なお、情報処理装置100に、プリンタなどの他の種類の出力デバイスが接続されてもよい。
 入力インタフェース105は、情報処理装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112は、マウス、タッチパネルまたはキーボードであってもよい。また、入力デバイス112は、顔画像を撮像する画像センサーであってもよい。後述する訓練データに使用される顔画像とテストデータに使用される顔画像の少なくとも一方は、入力デバイス112によって撮像されたものであってもよい。情報処理装置100に複数の入力デバイスが接続されてもよい。
 媒体リーダ106は、記録媒体113に記録されたプログラムおよびデータを読み取る読み取り装置である。記録媒体113は、例えば、磁気ディスク、光ディスクまたは半導体メモリである。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれる。媒体リーダ106は、記録媒体113から読み取られたプログラムおよびデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、CPU101によって実行されることがある。
 記録媒体113は、可搬型記録媒体であってもよい。記録媒体113は、プログラムおよびデータの配布に用いられることがある。また、記録媒体113およびHDD103が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。
 通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
 図3は、情報処理装置のソフトウェア例を示すブロック図である。
 情報処理装置100は、顔画像記憶部121およびモデル記憶部122を有する。これらの記憶部は、例えば、RAM102またはHDD103を用いて実装される。また、情報処理装置100は、訓練データ生成部123、機械学習部124、テストデータ生成部125および攻撃検知部126を有する。これらの処理部は、例えば、CPU101またはGPU104とプログラムとを用いて実装される。
 顔画像記憶部121は、複数の動画像を記憶する。複数の動画像はそれぞれ、人の顔を写した顔画像であり、時系列に並んだ複数のフレームを含む。動画像のフレームレートは、例えば、30fps(frames per second)や60fpsなどである。
 ただし、複数の動画像の中には、真正な動画像と不正な動画像とが含まれる。真正な動画像は、生体認証用の画像センサーが人の顔を直接撮像した画像である。不正な動画像は、生体認証用の画像センサーに、スマートフォンなどの携帯撮像装置によって事前に撮像された顔画像を提示することで読み込まれる画像である。不正な動画像は、プレゼーテーション攻撃を表す。複数の動画像にはそれぞれ、教師ラベルが付与されている。教師ラベルは、攻撃クラスを示す「1」または真正クラスを示す「2」である。
 モデル記憶部122は、情報処理装置100によって生成された判定モデルを記憶する。前述の通り、第2の実施の形態の判定モデルは、三次元畳み込みニューラルネットワークである。この判定モデルは、高さ120ピクセル、幅120ピクセル、3フレーム(H120×W120×C3)のテンソルを入力データとして受け付ける。
 判定モデルは、入力されたテンソルに対して畳み込み演算を行い、入力されたテンソルが属するクラスとして、攻撃クラスを示す「1」または真正クラスを示す「2」を出力する。畳み込み演算は、カーネルと呼ばれる行列をテンソル上でスライドさせながら積和演算を行って、特徴マップと呼ばれる別のテンソルを生成する。カーネルに含まれる係数は、多層ニューラルネットワークに含まれるノード間のエッジの重みに相当し、機械学習を通じて最適化されるパラメータである。判定モデルは多層ニューラルネットワークであり、複数のレイヤーを通じて畳み込み演算を複数回行う。
 訓練データ生成部123は、顔画像記憶部121の中から訓練データ用の1以上の動画像を選択し、訓練データを生成する。訓練データは、入力データと教師ラベルとをそれぞれ組み合わせた複数のレコードを含む。入力データは、判定モデルに入力されるテンソルである。教師ラベルは、判定モデルの出力の正解である。訓練データ生成部123は、動画像に含まれる時系列のフレームを3フレームずつに分割して入力データを生成し、その動画像に付与された教師ラベルを入力データに対応付ける。
 機械学習部124は、訓練データ生成部123によって生成された訓練データを用いて判定モデルのパラメータを最適化する。機械学習部124は、誤差逆伝播法によってパラメータを最適化してもよい。例えば、機械学習部124は、訓練データから1つまたは少数のレコードを選択し、判定モデルにテンソルを入力し、判定モデルの出力と教師ラベルとの間の誤差を算出する。機械学習部124は、誤差情報を判定モデルの後方から前方に向かって逆方向に伝播し、各エッジの重みに対する誤差の勾配を算出し、勾配に基づいて重みを更新する。機械学習部124は、訓練データの中から選択するレコードを変えながらエッジの重みの更新を繰り返して、重みを最適化する。
 後述するように、機械学習部124は、転移学習によって判定モデルを生成する。機械学習部124は、ある三次元畳み込みニューラルネットワークを生成し、ここで最適化されたパラメータを用いて、別の三次元畳み込みニューラルネットワークを判定モデルとして生成する。後者の三次元畳み込みニューラルネットワークは、前者の三次元畳み込みニューラルネットワークよりレイヤーの少ないコンパクトな判定モデルである。
 テストデータ生成部125は、顔画像記憶部121の中からテストデータ用の1以上の動画像を選択し、テストデータを生成する。テストデータは、訓練データと同様、入力データと教師ラベルとを組み合わせたレコードを含む。入力データは、判定モデルに入力されるテンソルである。教師ラベルは、判定モデルの出力の正解である。ただし、テストデータ生成部125は、選択された動画像から先頭の3フレームを抽出して入力データとして使用する。先頭3フレーム以外のフレームはテストデータに使用されない。
 攻撃検知部126は、モデル記憶部122から判定モデルを読み出す。攻撃検知部126は、テストデータ生成部125によって生成されたテストデータを用いて判定モデルの精度を評価する。攻撃検知部126は、テストデータに含まれる入力データを判定モデルに入力し、判定モデルの出力とテストデータに含まれる教師ラベルとの間の誤差を算出する。攻撃検知部126は、判定モデルの精度を、不揮発性ストレージに保存してもよいし、表示装置111に表示してもよいし、他の情報処理装置に送信してもよい。
 なお、実際の生体認証では、生体認証システムは、画像センサーによって取得された動画像からテストデータ生成部125と同様の方法で入力データを生成し、入力データが属するクラスを攻撃検知部126と同様の方法で判定する。テストデータ生成部125および攻撃検知部126を、他の情報処理装置が有していてもよい。
 次に、判定モデルの構造について説明する。
 図4は、訓練データ用およびテストデータ用の入力データの生成例を示す図である。
 前述の通り、訓練データ生成部123は、複数のフレームを含む動画像を分割して、3フレームずつの入力データを生成する。訓練データ生成部123は、フレーム#1,#2,#3を含む入力データ131と、フレーム#4,#5,#6を含む入力データ132と、フレーム#7,#8,#9を含む入力データ133と、フレーム#10,#11,#12を含む入力データ134を生成する。入力データ131,132,133,134は、訓練データの中の異なるレコードに含まれるテンソルを形成する。
 一方、テストデータ生成部125は、複数のフレームを含む動画像の中から、先頭3フレームを抽出して入力データを生成する。通常、訓練データ用の動画像とテストデータ用の動画像は、異なる動画像である。テストデータ生成部125は、フレーム#1,#2,#3を含む入力データ135を生成する。入力データ135は、テストデータの中の1つのレコードに含まれるテンソルを形成する。
 入力データ131,132,133,134を生成するにあたり、訓練データ生成部123は、動画像を正規化する。訓練データ生成部123は、画像認識によって動画像から人の顔を検出し、検出された顔を囲む矩形領域を抽出する。訓練データ生成部123は、抽出された矩形領域のサイズを、判定モデルの入力サイズに変換する。例えば、訓練データ生成部123は、抽出された矩形領域のサイズを120×120に変換する。また、訓練データ生成部123は、各画素値を補正して画素値の分布を正規化する。入力データ135を生成するにあたり、テストデータ生成部125も同様の正規化を行う。
 図5は、第1の畳み込みニューラルネットワークの構造例を示す図である。
 前述の通り、機械学習部124は、ある三次元畳み込みニューラルネットワークを生成し、転移学習によって別の三次元畳み込みニューラルネットワークを生成する。1つ目の三次元畳み込みニューラルネットワークは、図5に示すように、先頭から順に畳み込みブロック140、プーリング層141、畳み込みブロック142~149、プーリング層150、全結合層151および活性化層152を含む。
 畳み込みブロック140は、H120×W120×C3のテンソルを受け付ける。畳み込みブロック140,142~149はそれぞれ、入力のテンソルにカーネルを適用して別のテンソルを生成する畳み込み演算を実行する。畳み込みブロック140,142~149の内部構造については後述する。畳み込みブロック140,142~149のストライドは、例えば、1である。ストライドは、テンソル上でカーネルをスライドさせる際の1回のシフト量である。ストライドが1である場合、畳み込みブロック140,142~149それぞれでは、テンソルの高さおよび幅が変化しない。
 プーリング層141,150はそれぞれ、テンソルの中の隣接する複数の要素を1つの要素に合成するプーリングを実行する。よって、プーリング層141,150それぞれでは、テンソルの高さおよび幅が減少する。プーリング層141,150は、例えば、3×3または5×5の小領域を1つの要素に合成する。プーリングは、例えば、小領域の中から最大値の要素を選択する最大値プーリング、または、小領域に含まれる複数の要素の平均を算出する平均プーリングである。
 全結合層151は、プーリング層150が出力する全ての要素を使用して、2つのクラスに対応する2つの数値を算出する。2つのクラスは、プレゼンテーション攻撃であることを示す攻撃クラスおよびプレゼンテーション攻撃でないことを示す真正クラスである。活性化層152は、活性化関数としてソフトマックス関数を使用して、全結合層151が出力する2つの数値をそれぞれ0以上1以下の数値に変換する。この2つの数値は、2つのクラスの確率を示す。三次元畳み込みニューラルネットワークは、2つの数値のうち大きい方の数値に対応するクラスを判定結果として出力する。
 三次元畳み込みニューラルネットワークは、10個のブロックを含む。畳み込みブロック140は、第1ブロック(A1)に相当する。プーリング層141は、第2ブロック(A2)に相当する。畳み込みブロック142~149は、第3ブロックから第9ブロック(A3~A9)に相当する。全結合層151は、第10ブロック(A10)に相当する。
 10個のブロックのうち9個のブロックは、概ね以下のような役割をもつ。畳み込みブロック140、プーリング層141および畳み込みブロック142,143は、前方レイヤー群に属する。畳み込みブロック144~146は、中央レイヤー群に属する。畳み込みブロック147~149は、後方レイヤー群に属する。
 前方レイヤー群は、顔画像から様々な基本的特徴を抽出するための基本的パターン情報をもつように学習される。中央レイヤー群は、前方レイヤー群で抽出された基本的特徴から顔画像の本質的特徴を抽出するための本質的パターン情報をもつように学習される。後方レイヤー群は、中央レイヤー群で抽出された本質的特徴を更に抽象化してクラス判定を行うための抽象的パターン情報をもつように学習される。
 三次元畳み込みニューラルネットワークのレイヤー数を増やすことで、前方レイヤー群と後方レイヤー群とに挟まれた中央レイヤー群が、汎用的かつ良質な本質的パターン情報をもつようになる。これは、中央レイヤー群が、入力データから離れており、教師ラベルとの誤差を示す誤差情報からも離れており、訓練データに含まれるバイアスやノイズの影響を大きく受けないためである。しかし、三次元畳み込みニューラルネットワークのレイヤー数を増やすことは、クラス判定時の計算コストを増大させる。
 また、中央レイヤー群のパラメータが最適化される間に、後方レイヤー群のパラメータが訓練データに過度に適合してしまう過学習が発生することがある。これは、後方レイヤー群は、教師ラベルとの誤差を示す誤差情報に近く、訓練データに含まれるバイアスやノイズの影響を大きく受けるためである。その結果、判定モデルが、プレゼンテーション攻撃のサンプルを作成するために使用された特定の撮像装置とは異なる機種によるプレゼンテーション攻撃を、誤って真正と判定するリスクがある。また、判定モデルが、真正な顔画像をプレゼンテーション攻撃と誤って判定するリスクがある。
 そこで、機械学習部124は、図5の三次元畳み込みニューラルネットワークをそのまま判定モデルとして使用せず、転移学習によって別の三次元畳み込みニューラルネットワークを生成して判定モデルとして使用する。
 図6は、畳み込みブロックの構造例を示す図である。
 畳み込みブロック140は、先頭から順に畳み込み層161、バッチ正規化層162、活性化層163、畳み込み層164、バッチ正規化層165および活性化層166を含む。畳み込みブロック142~149などの他の畳み込みブロックが、畳み込みブロック140と同様のレイヤー構造を有してもよい。
 畳み込み層161,164はそれぞれ、入力されたテンソルに対して畳み込み演算を実行し、別のテンソルを生成する。バッチ正規化層162,165はそれぞれ、入力されたテンソルに対してバッチ正規化を実行する。バッチ正規化は、同一のミニバッチに属する複数のテンソルの間で、テンソルに含まれる要素の分布を平均0かつ分散1に正規化する。活性化層163,166はそれぞれ、活性化関数として正規化線形ユニット(ReLU)を用いて、入力されたテンソルに含まれる数値を変換する。正規化線形ユニットは、負数を0にクリップすることで各数値を非負数に変換する。
 ここで、畳み込みブロック140は、バッチ正規化層165の出力と畳み込みブロック140の入力とを加算し、加算されたテンソルを活性化層166に入力する。これにより、畳み込み層161からバッチ正規化層165までのレイヤー群のパラメータは、当初の入力テンソルとの差分を最適化するように算出される。このような畳み込みブロック140は、残差ニューラルネットワークと呼ばれてもよい。なお、畳み込み層、バッチ正規化層および活性化層の個数は、1つずつであってもよい。
 図7は、第2の畳み込みニューラルネットワークの構造例を示す図である。
 転移学習によって生成される2つ目の三次元畳み込みニューラルネットワークは、図7に示すように、先頭から順に畳み込みブロック171~174、プーリング層175、全結合層176および活性化層177を含む。
 畳み込みブロック171は、H120×W120×C3のテンソルを受け付ける。畳み込みブロック171~174はそれぞれ、入力のテンソルにカーネルを適用して別のテンソルを生成する畳み込み演算を実行する。プーリング層175は、テンソルの中の隣接する複数の要素を1つの要素に合成するプーリングを実行する。
 全結合層176は、プーリング層175が出力する全ての要素を使用して、2つのクラスに対応する2つの数値を算出する。活性化層177は、活性化関数としてソフトマックス関数を使用して、全結合層176が出力する2つの数値をそれぞれ0以上1以下の数値に変換する。三次元畳み込みニューラルネットワークは、2つの数値のうち大きい方の数値に対応するクラスを判定結果として出力する。
 転移学習によって生成される2つ目の三次元畳み込みニューラルネットワークは、5個のブロックを含む。畳み込みブロック171は、第1ブロック(B1)に相当する。畳み込みブロック172は、第2ブロック(B2)に相当する。畳み込みブロック173は、第3ブロック(B3)に相当する。畳み込みブロック174は、第4ブロック(B4)に相当する。全結合層176は、第5ブロック(B5)に相当する。
 畳み込みブロック171は、図5の畳み込みブロック140に対応する。機械学習部124は、畳み込みブロック140のパラメータを、畳み込みブロック171のパラメータの初期値として複写する。よって、畳み込みブロック171は、顔画像から基本的特徴を抽出するための基本的パターン情報をもつことが期待される。
 一方、機械学習部124は、前方レイヤー群に含まれる畳み込みブロック142,143のパラメータを複写しない。プーリング層141および畳み込みブロック142,143を省略することで、計算コストが削減されてクラス判定の実行時間が短縮される。ただし、2つ目の三次元畳み込みニューラルネットワークが、畳み込みブロック142,143に相当する畳み込みブロックを含んでもよい。
 畳み込みブロック172~174は、図5の畳み込みブロック144~146に対応する。機械学習部124は、畳み込みブロック144~146のパラメータを、畳み込みブロック172~174のパラメータの初期値として複写する。よって、畳み込みブロック172~174は、畳み込みブロック171によって抽出された基本的特徴から本質的特徴を抽出するための本質的パターン情報をもつことが期待される。
 ここで、畳み込みブロック172~174それぞれの入力サイズおよび出力サイズは、畳み込みブロック144~146と同じである。また、畳み込みブロック171の入力サイズは、畳み込みブロック140と同じである。一方、1つ目の三次元畳み込みニューラルネットワークと異なり、畳み込みブロック171と畳み込みブロック172との間にはプーリング層が存在しない。そこで、機械学習部124は、畳み込みブロック171の出力サイズと畳み込みブロック172の入力サイズとを一致させる調整を行う。
 具体的には、機械学習部124は、畳み込みブロック171で行われる畳み込み演算のストライドを、畳み込みブロック140よりも大きくする。ストライドが2である場合、ストライドが1である場合と比べて、出力されるテンソルの高さおよび幅がそれぞれ2分の1になる。ストライドが3である場合、ストライドが1である場合と比べて、出力されるテンソルの高さおよび幅がそれぞれ3分の1になる。
 また、機械学習部124は、後方レイヤー群に含まれる畳み込みブロック147~149のパラメータを複写しない。畳み込みブロック147~149を省略することで、計算コストが削減されてクラス判定の実行時間が短縮される。また、訓練データへの依存性が高いパラメータを除去することで、クラス判定能力が汎化されて判定精度が向上する。
 全結合層176は、図5の全結合層151に対応する。ただし、全結合層151から全結合層176には、パラメータは複写されない。機械学習部124は、畳み込みブロック171~174に上記の初期値を設定した後、訓練データを用いて、2つ目の三次元畳み込みニューラルネットワークのパラメータを更新する。転移学習に使用する訓練データは、1つ目の機械学習と同じでもよいし異なってもよい。
 図8は、転移学習におけるパラメータの引き継ぎ例を示す図である。
 畳み込みブロック140は、テンソル181を受け付ける。テンソル181は、例えば、高さ120かつ幅120のサイズをもつ。また、畳み込みブロック140は、ニューラルネットワークのエッジの重みの集合に相当するカーネル182をもつ。カーネル182は、例えば、高さ3かつ幅3、または、高さ5かつ幅5のサイズをもつ。機械学習部124は、機械学習によってカーネル182の係数を算出する。畳み込みブロック140は、テンソル181の上でカーネル182をスライドさせながら積和演算を行い、特徴マップ183を生成する。この畳み込み演算のストライドは、例えば、1である。特徴マップ183は、例えば、高さ120かつ幅120のサイズをもつ。
 例えば、畳み込みブロック140は、テンソル181のa11,a12,a13,a21,a22,a23,a31,a32,a33とカーネル182のk11,k12,k13,k21,k22,k23,k31,k32,k33との積和演算を行い、特徴マップ183のc11を算出する。また、畳み込みブロック140は、テンソル181のa12,a13,a14,a22,a23,a24,a32,a33,a34とカーネル182のk11,k12,k13,k21,k22,k23,k31,k32,k33との積和演算を行い、特徴マップ183のc12を算出する。
 畳み込みブロック171は、テンソル184を受け付ける。テンソル184のサイズは、テンソル181と同じである。また、畳み込みブロック171は、カーネル185をもつ。カーネル185のサイズは、カーネル182と同じである。機械学習部124は、カーネル182をカーネル185に複写して転移学習を行い、カーネル185を更新する。畳み込みブロック171は、テンソル184とカーネル185から特徴マップ186を生成する。この畳み込み演算のストライドは、例えば、2または3である。特徴マップ186は、例えば、高さ60かつ幅60、または、高さ40かつ幅40のサイズをもつ。
 例えば、畳み込みブロック171は、テンソル184のb11,b12,b13,b21,b22,b23,b31,b32,b33とカーネル185のk 11,k 12,k 13,k 21,k 22,k 23,k 31,k 32,k 33との積和演算を行い、特徴マップ186のd11を算出する。また、畳み込みブロック171は、テンソル184のb13,b14,b15,b23,b24,b25,b33,b34,b35とカーネル185のk 11,k 12,k 13,k 21,k 22,k 23,k 31,k 32,k 33との積和演算を行い、特徴マップ186のd12を算出する。カーネル185のシフト量が、カーネル182とは異なる。
 次に、情報処理装置100の処理手順について説明する。
 図9は、機械学習の手順例を示すフローチャートである。
 (S10)訓練データ生成部123は、顔の動画像を3フレーム毎に分割する。
 (S11)訓練データ生成部123は、各フレームを正規化する。フレームの正規化は、顔領域の抽出、サイズ変更および画素値の正規化を含む。
 (S12)訓練データ生成部123は、連続する3フレームの入力データと動画像に付与された教師ラベルとを組み合わせて、複数のレコードを含む訓練データを生成する。
 (S13)機械学習部124は、ブロックA1~A10を含む三次元畳み込みニューラルネットワーク(モデルA)を生成する。
 (S14)機械学習部124は、ステップS12で生成された訓練データのうちの少なくとも一部のレコードを用いて、機械学習によりモデルAのパラメータを最適化する。
 (S15)機械学習部124は、モデルAとは別に、ブロックB1~B5を含む三次元畳み込みニューラルネットワーク(モデルB)を生成する。
 (S16)機械学習部124は、モデルAのブロックA1,A4,A5,A6のパラメータを、モデルBのブロックB1~B4に初期値として複写する。
 (S17)機械学習部124は、ステップS12で生成された訓練データのうちの少なくとも一部のレコードを用いて、機械学習によりモデルBのパラメータを最適化する。この機械学習は、ステップS16で複写されたパラメータから開始する転移学習である。
 (S18)機械学習部124は、生成されたモデルBを判定モデルとして保存する。
 図10は、モデルテストの手順例を示すフローチャートである。
 (S20)テストデータ生成部125は、顔の動画像の先頭3フレームを抽出する。
 (S21)テストデータ生成部125は、各フレームを正規化する。フレームの正規化は、顔領域の抽出、サイズ変更および画素値の正規化を含む。
 (S22)攻撃検知部126は、判定モデルである三次元畳み込みニューラルネットワークを読み出す。攻撃検知部126は、ステップS20で抽出された3フレームの顔画像を含む入力データを判定モデルに入力する。
 (S23)攻撃検知部126は、判定モデルによって判定されたクラスの情報を出力する。クラスは、顔画像がプレゼンテーション攻撃の偽造物であることを示す攻撃クラス、または、顔画像が真正であることを示す真正クラスである。攻撃検知部126は、判定されたクラスの情報を不揮発性ストレージに保存してもよいし、表示装置111に表示してもよいし、他の情報処理装置に送信してもよい。
 以上説明したように、第2の実施の形態の情報処理装置100は、受け付けた顔画像からプレゼンテーション攻撃の当否を判定する判定モデルを、機械学習を通じて生成する。これにより、判定精度が向上して生体認証システムのセキュリティが向上する。また、様々なプレゼンテーション攻撃方法や様々な電子機器に柔軟に対応することが可能となる。
 また、情報処理装置100は、レイヤーの多いニューラルネットワークを生成し、一部のレイヤーのパラメータを複写してレイヤーの少ないニューラルネットワークを生成する転移学習を行う。これにより、最終的な判定モデルのサイズが小さくなり、プレゼンテーション攻撃の判定のための計算コストが削減されて実行時間が短縮される。また、レイヤーの多いニューラルネットワークでは、顔画像の本質的特徴を抽出するための本質的パターン情報が形成されやすい。このため、最終的な判定モデルは、転移学習を通じて多層構造の利点を享受することができ、判定精度が向上する。
 また、情報処理装置100は、転移学習の際に、当初のニューラルネットワークから後方レイヤー群を除去する。後方レイヤー群のパラメータは、訓練データに大きく依存することがある。よって、訓練データへの依存度が低下し、訓練データとは異なるプレゼンテーション攻撃方法や異なる電子機器の使用に対して判定精度が向上する。一方、情報処理装置100は、転移学習の際に、当初のニューラルネットワークから中央レイヤー群のパラメータを複写する。中央レイヤー群では、訓練データへの依存度が低い汎用的な本質的パターン情報が形成されやすい。よって、判定モデルの判定精度が向上する。
 また、情報処理装置100は、転移学習の際に、当初のニューラルネットワークに含まれる前方レイヤー群のうち先頭のブロックのパラメータを複写する。前方レイヤー群のうち先頭のブロックでは、顔画像から基本的特徴を抽出するために特に重要となる基本的パターン情報が形成されやすい。よって、判定モデルの判定精度が向上する。一方、情報処理装置100は、転移学習の際に、前方レイヤー群に含まれる他のブロックを除去する。これにより、最終的な判定モデルのサイズが小さくなり、プレゼンテーション攻撃の判定のための計算コストが削減されて実行時間が短縮される。
 また、パラメータの複写後に、レイヤーの少ないニューラルネットワークのパラメータを更新する機械学習を更に行うことで、判定精度が向上する。また、入力データが時系列の複数のフレームを含むことで、判定モデルは、生物らしい動きや反射光の変化や環境変化などの時間変化を考慮して、高精度にプレゼンテーション攻撃を判定することができる。また、動画像を3フレームずつ分割して訓練データに使用することで、多様かつ十分な量の訓練データが確保される。また、動画像の先頭3フレームをテストデータに使用することで、実際の生体認証の運用を想定して判定モデルの精度が適切に評価される。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 10 情報処理装置
 11 記憶部
 12 処理部
 13,14 ニューラルネットワーク
 15,16 レイヤー
 17 画像データ
 18 パラメータ

Claims (8)

  1.  人の生体画像をそれぞれ含む複数の画像データを用いた第1の機械学習により、第1のニューラルネットワークに含まれる複数のレイヤーそれぞれのパラメータを算出し、
     前記複数のレイヤーのうちの第1のレイヤーを含み第2のレイヤーを含まない第2のニューラルネットワークの中の前記第1のレイヤーに、前記第1のニューラルネットワークの前記第1のレイヤーに対して算出された前記パラメータを設定することで、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する、
     処理をコンピュータが実行する生成方法。
  2.  前記判定モデルの生成は、設定された前記パラメータを初期値として用いて、前記第2のニューラルネットワークを更新する第2の機械学習を実行することを含み、
     前記判定モデルは、更新された前記第2のニューラルネットワークである、
     請求項1記載の生成方法。
  3.  前記第2のレイヤーは、前記第1のレイヤーよりも後方のレイヤーである、
     請求項1記載の生成方法。
  4.  前記複数のレイヤーは、前記第1のレイヤーを含む複数の第1のレイヤーと、前記第2のレイヤーを含み前記複数の第1のレイヤーよりも後方にある複数の第2レイヤーと、前記複数の第1のレイヤーよりも前方にある複数の第3のレイヤーとを含み、
     前記第2のニューラルネットワークは、前記複数のレイヤーのうち、前記複数の第1のレイヤーを含み前記複数の第2のレイヤーを含まない、
     請求項1記載の生成方法。
  5.  前記第2のニューラルネットワークは、前記複数の第3のレイヤーのうち、一部の第3のレイヤーを含み他の第3のレイヤーを含まない、
     請求項4記載の生成方法。
  6.  前記第1の機械学習に用いられる前記複数の画像データは、複数のフレームを含む第1の動画像データを特定のフレーム数ずつ分割することで生成され、
     前記判定モデルが受け付ける前記画像データは、第2の動画像データの先頭から前記特定のフレーム数のフレームを抽出することで生成される、
     請求項1記載の生成方法。
  7.  人の生体画像をそれぞれ含む複数の画像データを記憶する記憶部と、
     前記複数の画像データを用いた第1の機械学習により、第1のニューラルネットワークに含まれる複数のレイヤーそれぞれのパラメータを算出し、前記複数のレイヤーのうちの第1のレイヤーを含み第2のレイヤーを含まない第2のニューラルネットワークの中の前記第1のレイヤーに、前記第1のニューラルネットワークの前記第1のレイヤーに対して算出された前記パラメータを設定することで、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する処理部と、
     を有する情報処理装置。
  8.  人の生体画像をそれぞれ含む複数の画像データを用いた第1の機械学習により、第1のニューラルネットワークに含まれる複数のレイヤーそれぞれのパラメータを算出し、
     前記複数のレイヤーのうちの第1のレイヤーを含み第2のレイヤーを含まない第2のニューラルネットワークの中の前記第1のレイヤーに、前記第1のニューラルネットワークの前記第1のレイヤーに対して算出された前記パラメータを設定することで、受け付けた画像データに含まれる人の生体画像の真正性を判定する判定モデルを生成する、
     処理をコンピュータに実行させる生成プログラム。
PCT/JP2021/029117 2021-08-05 2021-08-05 生成方法、情報処理装置および生成プログラム Ceased WO2023012967A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21952792.6A EP4383188A4 (en) 2021-08-05 2021-08-05 GENERATION METHOD, INFORMATION PROCESSING DEVICE AND GENERATION PROGRAM
JP2023539481A JP7688289B2 (ja) 2021-08-05 2021-08-05 判定モデル生成方法、情報処理装置および判定モデル生成プログラム
PCT/JP2021/029117 WO2023012967A1 (ja) 2021-08-05 2021-08-05 生成方法、情報処理装置および生成プログラム
CN202180100743.4A CN117751380A (zh) 2021-08-05 2021-08-05 生成方法、信息处理装置以及生成程序
US18/405,358 US20240144729A1 (en) 2021-08-05 2024-01-05 Generation method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/029117 WO2023012967A1 (ja) 2021-08-05 2021-08-05 生成方法、情報処理装置および生成プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/405,358 Continuation US20240144729A1 (en) 2021-08-05 2024-01-05 Generation method and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2023012967A1 true WO2023012967A1 (ja) 2023-02-09

Family

ID=85154329

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/029117 Ceased WO2023012967A1 (ja) 2021-08-05 2021-08-05 生成方法、情報処理装置および生成プログラム

Country Status (5)

Country Link
US (1) US20240144729A1 (ja)
EP (1) EP4383188A4 (ja)
JP (1) JP7688289B2 (ja)
CN (1) CN117751380A (ja)
WO (1) WO2023012967A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025041253A1 (ja) * 2023-08-22 2025-02-27 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及び記録媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4266260B1 (en) * 2022-04-20 2026-01-07 Axis AB Encoding of training data for training of a neural network
US12505334B1 (en) * 2024-06-20 2025-12-23 Autobrains Technologies Ltd Shared representation of neural network resources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019500110A (ja) * 2015-12-18 2019-01-10 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 頭部コンピュータ断層撮影における緊急性の特徴の解釈及び定量化
US20190057268A1 (en) 2017-08-15 2019-02-21 Noblis, Inc. Multispectral anomaly detection
WO2020158217A1 (ja) * 2019-02-01 2020-08-06 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2020201243A (ja) * 2019-06-05 2020-12-17 国立大学法人電気通信大学 センシングシステム、及びセンシング方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106170800A (zh) * 2014-09-12 2016-11-30 微软技术许可有限责任公司 经由输出分布来学习学生dnn
KR102276339B1 (ko) * 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
US20170161591A1 (en) * 2015-12-04 2017-06-08 Pilot Ai Labs, Inc. System and method for deep-learning based object tracking
US10990808B2 (en) * 2016-02-09 2021-04-27 Aware, Inc. Face liveness detection using background/foreground motion analysis
CN114386567B (zh) * 2016-02-18 2026-01-09 谷歌有限责任公司 图像分类神经网络
US10579860B2 (en) * 2016-06-06 2020-03-03 Samsung Electronics Co., Ltd. Learning model for salient facial region detection
US10289823B2 (en) * 2016-07-22 2019-05-14 Nec Corporation Camera system for traffic enforcement
KR102483642B1 (ko) * 2016-08-23 2023-01-02 삼성전자주식회사 라이브니스 검사 방법 및 장치
WO2018052586A1 (en) * 2016-09-14 2018-03-22 Konica Minolta Laboratory U.S.A., Inc. Method and system for multi-scale cell image segmentation using multiple parallel convolutional neural networks
US10467458B2 (en) * 2017-07-21 2019-11-05 Altumview Systems Inc. Joint face-detection and head-pose-angle-estimation using small-scale convolutional neural network (CNN) modules for embedded systems
US10360494B2 (en) * 2016-11-30 2019-07-23 Altumview Systems Inc. Convolutional neural network (CNN) system based on resolution-limited small-scale CNN modules
US10726244B2 (en) * 2016-12-07 2020-07-28 Samsung Electronics Co., Ltd. Method and apparatus detecting a target
KR102370063B1 (ko) * 2017-03-28 2022-03-04 삼성전자주식회사 얼굴 인증 방법 및 장치
US10552663B2 (en) * 2017-05-02 2020-02-04 Techcyte, Inc. Machine learning classification and training for digital microscopy cytology images
CN107358157B (zh) * 2017-06-07 2020-10-02 创新先进技术有限公司 一种人脸活体检测方法、装置以及电子设备
US20190197395A1 (en) * 2017-12-21 2019-06-27 Fujitsu Limited Model ensemble generation
CN111712830B (zh) * 2018-02-21 2024-02-09 罗伯特·博世有限公司 使用深度传感器的实时对象检测
ES2828358T3 (es) * 2018-03-16 2021-05-26 Identy Inc Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
JP7257756B2 (ja) * 2018-08-20 2023-04-14 キヤノン株式会社 画像識別装置、画像識別方法、学習装置、及びニューラルネットワーク
KR102140340B1 (ko) * 2018-10-18 2020-07-31 엔에이치엔 주식회사 컨볼루션 뉴럴 네트워크를 통해 이미지 위변조를 탐지하는 시스템 및 이를 이용하여 무보정 탐지 서비스를 제공하는 방법
US11972630B2 (en) * 2019-06-03 2024-04-30 West Virginia University Cross-matching contactless fingerprints against legacy contact-based fingerprints
WO2021064787A1 (ja) * 2019-09-30 2021-04-08 日本電気株式会社 学習システム、学習装置、および学習方法
KR20210060146A (ko) * 2019-11-18 2021-05-26 삼성전자주식회사 딥 뉴럴 네트워크 모델을 이용한 데이터 처리 방법 및 장치, 딥 뉴럴 네트워크 모델을 학습시키는 학습 방법 및 장치
KR102748555B1 (ko) * 2019-12-12 2025-01-02 삼성전자주식회사 라이브니스 검사 방법 및 라이브니스 검사 장치
US11620516B2 (en) * 2019-12-23 2023-04-04 Arm Limited Specializing neural networks for heterogeneous systems
JP7461485B2 (ja) * 2020-02-03 2024-04-03 グーグル エルエルシー 復号ニューラルネットワークを使用した画像の真正性の検証
KR20210155179A (ko) * 2020-06-15 2021-12-22 삼성전자주식회사 전자 장치 및 그 제어 방법
EP3940604A1 (en) * 2020-07-09 2022-01-19 Nokia Technologies Oy Federated teacher-student machine learning
WO2022098207A1 (ko) * 2020-11-09 2022-05-12 삼성전자 주식회사 인공지능 부호화 및 인공지능 복호화를 수행하기 위한 방법 및 장치
CN116584093A (zh) * 2020-12-09 2023-08-11 三星电子株式会社 Ai编码装置及其操作方法和ai解码装置及其操作方法
US11960572B2 (en) * 2020-12-16 2024-04-16 Fractal Analytics Private Limited System and method for identifying object information in image or video data
US11934958B2 (en) * 2021-01-13 2024-03-19 Adobe Inc. Compressing generative adversarial neural networks
US11842485B2 (en) * 2021-03-04 2023-12-12 GE Precision Healthcare LLC System and methods for inferring thickness of anatomical classes of interest in two-dimensional medical images using deep neural networks
US12080054B2 (en) * 2021-03-10 2024-09-03 Acronis International Gmbh Systems and methods for detecting small objects in an image using a neural network
US12087096B2 (en) * 2021-03-31 2024-09-10 Samsung Electronics Co., Ltd. Method and apparatus with biometric spoofing consideration
US11875494B2 (en) * 2021-06-23 2024-01-16 Lendbuzz, Inc. Artificial intelligence architectures for determining image authenticity
EP4421692A4 (en) * 2021-10-21 2025-01-08 Fujitsu Limited Machine learning program, machine learning method, and information processing device
EP4235508B1 (en) * 2022-02-28 2025-02-26 Fujitsu Limited Knowledge transfer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019500110A (ja) * 2015-12-18 2019-01-10 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア 頭部コンピュータ断層撮影における緊急性の特徴の解釈及び定量化
US20190057268A1 (en) 2017-08-15 2019-02-21 Noblis, Inc. Multispectral anomaly detection
WO2020158217A1 (ja) * 2019-02-01 2020-08-06 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2020201243A (ja) * 2019-06-05 2020-12-17 国立大学法人電気通信大学 センシングシステム、及びセンシング方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4383188A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025041253A1 (ja) * 2023-08-22 2025-02-27 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及び記録媒体

Also Published As

Publication number Publication date
JP7688289B2 (ja) 2025-06-04
EP4383188A4 (en) 2024-09-18
US20240144729A1 (en) 2024-05-02
EP4383188A1 (en) 2024-06-12
JPWO2023012967A1 (ja) 2023-02-09
CN117751380A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
US11971924B2 (en) Liveness test method and apparatus
Elangovan et al. Glaucoma assessment from color fundus images using convolutional neural network
US20250191403A1 (en) Forgery detection of face image
CN110136224B (zh) 图像融合方法和设备
US20240144729A1 (en) Generation method and information processing apparatus
CN108629168A (zh) 脸部验证方法、设备以及计算设备
WO2021144943A1 (ja) 制御方法、情報処理装置および制御プログラム
CN115147875A (zh) 防欺骗方法和设备
CN111104925A (zh) 图像处理方法、装置、存储介质和电子设备
CN109934083A (zh) 对象识别方法和设备
US20230030937A1 (en) Method and apparatus with image preprocessing
CN111898561A (zh) 一种人脸认证方法、装置、设备及介质
Chakraborty PRNU-based image manipulation localization with discriminative random fields
CN114707572B (zh) 一种基于损失函数敏感度的深度学习样本测试方法与装置
EP4116928A1 (en) Control method, control program, and information processing device
WO2022190301A1 (ja) 学習装置、学習方法、及びコンピュータ可読媒体
TW202223839A (zh) 血管偵測裝置及基於影像的血管偵測方法
CN116959124A (zh) 活体检测模型训练方法、活体检测方法和装置
Chhikara et al. Exploring deepfake detection: a comparative study of CNN models
Prasad et al. Influence of standalone and ensemble classifiers in face spoofing detection using lbp and cnn models
Gupta et al. Texture, Quality, and Motion-Based Analysis for Face Spoofing Detection System: A Review
CN117037244A (zh) 人脸安全检测方法、装置、计算机设备和存储介质
Jayabharathi et al. POC-net: pelican optimization-based convolutional neural network for recognizing large pose variation from video
JP7838677B2 (ja) 情報処理装置、情報処理方法及び記録媒体
US20250238907A1 (en) Body pose tracking of players from sports broadcast video feed

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21952792

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023539481

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202180100743.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021952792

Country of ref document: EP

Effective date: 20240305