解説!? 顔認証の精度とNISTについて
FaceMe®
< All Articles

解説!? 顔認証の精度とNISTについて

2022/09/05

最高性能の顔認証って何?

さて、このコラムを読んでいるという事は、皆さんは少なからず「顔認証」の「精度」や「性能」に関して興味を持って頂いていると思いますが、現在の世界最高性能の顔認証は何処だと思いますか? 実際のところ市場には「世界最高峰」とか「顔認証精度評価で第1位」、「日本1位、世界トップクラスの精度」など、我こそが第1位みたいなベンダーさんが沢山ありますよね?これって一体どういう事なんでしょうか?

ところでそもそもの話ですが、「世界最高性能の顔認証」って具体的に何が「最高性能」なんでしょうか? 認証精度が高い? 顔認証の精度って何でしょうか?本人識別率99.9%?本人認証率ってどういう意味です? NISTランキング1位? それってすごいのですか?

本コラムでは、分かっているようであまり理解されていない。「顔認証の精度とNIST」そして、実際の意味での「顔認証の性能」ついて解説したいと思います。

face-recognition-and-NIST-accuracy

「本人認証率」の定義とその闇

顔認証など生体認証では「本人認証率」として「本人受入率」(TAR/True Accept Rate)という数字を使います。「本人受入率」とは、認証処理においてユーザーを正しく確認できた比率となります。ここまで聞くと精度の高い顔認証とは「本人受入率」の数字が高い顔認証エンジンだと理解できます。

では「本人受入率」が96%と99%の2つの顔認証エンジンがあった場合、より100%に近い99%の方がエンジンの精度が高いと思いますよね?しかし、実際のところでは2つのエンジンのどちらが高性能なのか?実はこの「本人受入率」数値の比較だけでは判断できません。

何故なら、この「本人受入率」の比較には以下の問題があります。

テストの条件がベンダー毎に異なる

正面画像のバストアップによる積極認証比較なのか?はたまた監視カメラ画像による正面ではない非積極認証なのか?どのようなシナリオで顔認証のテストを行ったのか?という条件定義が定義されていません。

テストで使用するエラー率の設定がベンダー毎に異なる

顔認証の「本人受入率」を計測する上で重要なパラメータは「他人受入率」(FAR/False Accept Rate)というエラー率の設定です。他人受入率とは通常1e-4/1e-6 等で表記しますが、1e-4は1万回に1回他人を本人と間違えて認証する可能性があるエラー確率の設定で、同様に1e-6は100万回に1回他人を本人として誤認証する可能性があるというエラー確率の設定です。 顔認証は通常2枚の画像を比較して特徴量が何%一致するかにより本人かどうかを識別しますが、100万分の1のエラー率(1e-6)で厳しく判定する場合と、1万分の1(1e-4)のエラー率で緩く判定した場合では、同じテストセットを使用したとしても「本人受入率」の値は大きく異なります。

上記の3点から分かる事は、「本人受入率」は顔認証ベンダーが独自の基準で選定したテスト結果の数値であって、使用するテストの内容・コンテンツ・実際のテストケースは各社別々のテスト結果を並べてカタログやWebに記載している訳なのです。結果として各社の数字はイコールコンディションではなく、比較に意味が無いという事になってしまいます。

それでは、実際の顔認証エンジンの実力を知る為にはどうすれば良いのでしょう?

face-recognition-and-NIST-accuracy

顔認証エンジンの実力を知る上で重要なNIST FRVTとは?

それでは本題のNISTって何?という話ですが、National Institute of Standards and Technologyの頭文字で、アメリカ合衆国商務省配下の技術部門であり、科学技術に関連する標準についての研究などを行う機関です。NISTのビジョンは【測定ソリューションを作成し、公平な基準を推進することで世界のリーダーになり、NISTの努力がイノベーションを刺激し、産業の競争力を促進し、そして生活の質を改善すること】という事ですが…。

要するに【公平なテストの基準策定を行う事によって技術革新を促しましょう】というアメリカの政府機関であり、このNISTで開催されているFRVT (Face Recognition Vendor Test)が顔認証エンジンの最も有名なコンペティションで、最新のFRVT1:1テストでは200社以上の顔認証ベンダーが合計440ものアルゴリズムで参加、各社の顔認証エンジン性能をイコールコンディションで比較する事が可能な非常に重要なテストとなっています。

顔認証エンジンを用意するベンダーは、NIST側の定義するインターフェースを使用したプログラムを作成します。実際のテストはブラインドで行われるので、具体的なテストコンテンツはベンダーに開示されないという仕組みとなっています。このような公平なテストによって、全ベンダーのアルゴリズムの実力の比較が可能となり、顔認証ベンダーの実力を知る事ができるのがNISTのFRVTテストなのです。

face-recognition-and-NIST-accuracy

NIST1位が乱立するワケとは?

NISTのFRVTテスト結果はWebサイトで公開されています。それでは誰でもページを見れば顔認証ベンダーの実力を比較できると思いますよね?ところが、実際のページを開いてみると結果の検索はできるのですが、実際のところはどのベンダーが1位なのか良く分かりません。その理由として以下の点が上げられます。

テスト項目が多すぎる

NIST FRVT 1:1のテストでは1つのAIアルゴリズムに対して複数のシナリオでテストを行います。実際のところ顔認証のアルゴリズムには開発方針によってシナリオ毎に得意不得意があり、全てのテスト項目で上位を取るという事は非常に困難な状況なため、単純にテスト結果を検索してもどのベンダーが総合的に上位なのか分かりにくいです。

参加アルゴリズムの謎

NIST FRVT1:1の参加しているAIアルゴリズムは最新のテストでは440程あります。各ベンダーは複数のAIアルゴリズムを提出して、どのアルゴリズムが上位にランキングしてくるか検証をしている状況ですが、より多くのアルゴリズムを登録する為にダミーの会社を通してアルゴリズムを登録している所もあるようです。テスト結果はアルゴリズム名で表示されますが、この名前だけ見て参加ベンダーを判断するのはなかなか困難です。

テスト結果が僅差すぎる

最新の状況では、各社の実力は僅差となっており、大体0.01%の精度勝負となっています。ジャンルにもよりますが、上位10位の結果は0.1%の間に収まっており、同順も多い事からその性能差は非常に僅差であると言えます。

テスト更新が多すぎる

NIST FRVT1:1テストは年に何回もアップデートされます。それに合わせて顔認証ベンダーは多くのアルゴリズムを登録しますが、年に4-5回テストが行われるので、上位陣の入れ替わりペースも非常に早く、ランキング上位を維持し続けるにはアップデートを繰り返す必要があります。

FVRT 1:1とFVRT 1:Nは別ジャンルのテスト

参加AIアルゴリズム数から見るNIST主戦場はFRVT 1:1のテストですが、FVRT 1:Nにしか参加していない顔認証ベンダーも多くあります。FRVT 1:Nはテスト頻度も異なり年に1回程度、参加AIアルゴリズム数も少ないです。またFRVT 1:1はシンプルな顔認証の精度比較ですが、FRVT 1:Nは大規模なデータベース検索向けの精度比較です。

このようにテスト項目が多くあり更新頻度も高く、上位ベンダー間の実力差は僅差であり、全ての項目で1位を取り維持し続ける事は現実的に不可能な状況です。実際のところ顔認証ベンダーでは、テスト結果から上位を取得したタイミングで都合の良いデータをピックアップしてリリースを出しているようです。このような理由から「NIST1位」や「NIST上位入賞」を掲げたベンダーが多く発生する原因となっているように見受けられます。

この状況は、いわゆる「からあげグランプリ」に似た現象で、どこを見ても「〇〇年〇〇部門金賞」といった宣伝文句のお店が乱立している状況に近いのかもしれません。「NIST上位」という宣伝文句は、顔認証ベンダーにとっては既に「マーケティング戦略の一部」や高性能な顔認証ベンダーを判断する1つの指標である、程度に認識したほうが良いです。実際からあげグランプリ金賞受賞のからあげは、どこで食べてもある程度美味しいですよね?

face-recognition-and-NIST-accuracy

NISTの結果も重要ですが… ユーザーシナリオにあった顔認証の選択が重要

上記のように、NISTで上位入賞をしている顔認証ベンダーは、顔認証技術において優れたアルゴリズムを開発しているベンダーであると言えますが、NISTに参加したアルゴリズムは製品の研究開発を行う上での重要な指標であっても、実際の製品にそのまま採用されるかは別の話となっています。

NISTで上位入賞するAIアルゴリズムは、GPU上での動作を想定した非常に高性能なAIネットワークで構成されており、サーバーやワークステーション上で動作する事を前提とした性能設計です。つまり顔認証システムは高価であり、ハードウェア柔軟性にも欠けています。このようなハイスペックな顔認証アルゴリズムは、現在主流のARMベースの省電力なエッジ端末による顔認証システムでは使用する事が出来ない場合が殆どです。

また、実際の顔認証性能とは「カメラ性能」「設置環境」「使用シナリオ」に大きく左右される場合が多いため、単純に「NIST上位アルゴリズム」を用意しただけで実用的な顔認証を実現できる訳ではなく、実際のユーザーシナリオに合わせた最適な顔認証エンジンを選択する必要があります。

face-recognition-and-NIST-accuracy

弊社が提供する顔認証エンジンFaceMeは、NISTのFRVTテストに挑戦し続けトップグループに入る成績を記録・更新し続けておりますが、他方で各種エッジ端末上での動作やクロスプラットフォームでの動作など、実際のユーザーシナリオに合わせ柔軟に設計が可能な開発環境を実現しており、世界最高水準の顔認証機能をユーザーのサービスや製品に組み込む事が可能となっております。

また、顔認証の精度に大きく影響する「カメラ」などの入力画像の補正やエラー判定等々、実際に顔認証機能を実装する上での「ノウハウ」をツール機能で提供しており、シナリオが画一化されたテストだけではなく、様々なシナリオで使用が可能な顔認証エンジンとなっております。

FaceMe®はNISTで証明された世界最高水準の顔認証を、より身近なサービスに利用できるよう今後もパートナー様とソリューションを展開していきます。

※FaceMeが公表する「本人認証率」99.73%という数字ですが、こちらはNIST FRVT 1:Nテスト結果からの抜粋で、160万人分のデータベースを使用したVISA Border (証明写真画像と正面カメラ画像の比較)という条件での本人認証率の結果99.73%という数値を使用しており、2021年9月2日のテスト結果において世界6位、中国とロシアを除外すると1位の結果となっております。

FaceMe®: サイバーリンクの顔認証トータルソリューション

FaceMe について
のお問い合わせ

お問い合わせはこちら