ailia Tech BLOG

FaceAntiSpoofing : 本物の顔かどうかを判定する機械学習モデル

ailia SDKで使用できる機械学習モデルである「FaceAntiSpoofing」のご紹介です。エッジ向け推論フレームワークであるailia SDKailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。

FaceAntiSpoofingの概要

FaceAntiSpoofingは入力された顔が、本物か偽物かを判定する機械学習モデルです。実際の顔であればReal、印刷された顔など偽物の顔であればSpoofを返します。KYC(本人確認)などに利用することが可能です。

出典:https://github.com/kprokofi/light-weight-face-anti-spoofing

GitHub - kprokofi/light-weight-face-anti-spoofing: towards the solving spoofing problemTowards the solving anti-spoofing problem on RGB only data. This repository contains a training and evaluation pipeline…github.com

FaceAntiSpoofingのアーキテクチャ

FaceAntiSpoofingはMobileNetV3を使用して学習されています。データセットとして、CelebA Spoofを使用しています。

出典:https://github.com/Davidzhangyuanhan/CelebA-Spoof

CelebA Spoofには、紙に印刷された顔や、PC・タブレット・携帯電話に表示した顔がデータとして含まれます。

出典:https://github.com/Davidzhangyuanhan/CelebA-Spoof

CelebA Spoofには、紙に印刷された顔に関しては、PCやカメラ、携帯電話で撮影したデータが含まれます。また、AngleやShapeにも多様性があります。

出典:https://github.com/Davidzhangyuanhan/CelebA-Spoof

MobileNet3 LargeにおけるCelbA-Spoofの精度は99.8%となっています。

出典:https://github.com/kprokofi/light-weight-face-anti-spoofing

FaceAntiSpoofingの使用方法

ailia SDKでFaceAntiSpoofingを使用するには下記のコマンドを使用します。detectionオプションを付与することで、入力された画像から顔を検出し、顔に対してRealかSpoofかを判定します。

$ python3 face-anti-spoofing.py --input input.jpg --detection

ailia-models/face_recognition/face-anti-spoofing at master · ailia-ai/ailia-models(Image from https://search.creativecommons.org/photos/df3a19c2-47ca-4f58-8aed-0dc62e89e9e9) Shape: (1, 3, 128, 128) RGB…github.com


アイリア株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。アイリア株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。