顔認証入門 #5 FPIR・FNIR

f:id:takahashi51:20190323211007p:plain:w280

 前回は1:1認証の評価指標に関する用語を解説しました。今回は、1:N認証の性能を見る指標である『FPIR』『FNIR』について説明します。これらの評価指標は、顔認証システムが大規模な登録人数での運用に耐えうるか否かを判断するのに必須です。AIや機械学習を学んだことがある方でも、FAR・FRR・EERは説明できても、FPIR・FNIRを説明できる人はなかなかいないのではないでしょうか。

1:N認証 再訪

f:id:takahashi51:20190404000510p:plain:w260
1:N認証は顔の画像検索といったイメージです

 生体認証には1:1認証と1:N認証があるという話を#3でしましたね。ここで、1:N認証についてもう少し詳しく説明しましょう。

 顔認証における1:N認証は、防犯カメラに映った犯人の特定が代表例です。まず再犯であるという当たりをつけて、同様の犯罪歴のある人物を顔認証システムに登録しておきます。この事件が再犯だった場合は登録リストの中に犯人が含まれていますが、初犯だった場合は登録リストの中に犯人は存在しません。すなわち、再犯の場合に犯人とだけ合致し、初犯の場合に誰とも合致しない、というのが顔認証システムの理想的な結果です。

 この例のように、1:N認証の性能評価を行う場合、『登録リストに含まれる人物の顔』と『登録リストに存在しない人物の顔』の2通りを入力してみて、所望の結果が出てくるかどうかをテストします。

候補リスト

f:id:takahashi51:20190404000037p:plain:w280
双子で1:N認証をする場合、だいたい両方が候補リストに引っ掛かります

 もっと具体的に考えてみましょう。まず、N名の顔画像を顔認証システムに登録します*1。そして、認証したい人物の顔を入力して、既に登録されている人物の中に同一人物がいるかどうかを検索します。(事前に登録しておく人物(DB側)のことを"Gallery"、認証したい人物(検索側)のことを"Probe"と呼ぶことがあります。)

 #3の解説の中で、1:1認証より1:N認証のほうが困難なタスク設定であると話しました。そこで1:N認証では、認証結果としてGalleryの中から似ている順にK名の候補リスト(英語では"Candidate list")とスコアを出力します*2Google類似画像検索で、探したい画像を検索にかけると、似ている順に類似画像が出力されるのと似たイメージですね。

FPIRとFNIR

 さて、1:N認証での認証失敗のパターンも大きく3種類に分けられます。1:1認証とだいたい同じで、①登録失敗、②別人を本人だと間違えてしまう失敗、③本人を別人だと間違えてしまう失敗、の3つです。なお、登録失敗に関する評価指標は#4で説明したFTEと同じなので、解説を割愛します。

 1:N認証での『別人を本人だと間違えてしまう失敗』に関する評価指標はFPIR(False-positive identification-error rate)です。DB側に登録していない人物を入力して返ってきた候補リストの中に、スコアが閾値Tを超えてしまった人物が存在する割合を意味します。

 1:N認証での『本人を他人だと間違えてしまう失敗』に関する評価指標はFNIR(False-negative identification-error rate)です。DB側に登録している人物を入力して返ってきた候補リストの中に、本人がそもそも存在しないか、存在していてもスコアが閾値Tを超えていない割合を意味します。(逆に言えば、候補リストの中に閾値T以上の状態で本人が存在していたら成功になります。)

 ちなみに、1:1認証の性能評価を行うとき、横軸をFAR、縦軸をFRRとするDET曲線を描きましたね。1:N認証のときは、横軸をFPIR、縦軸をFNIRとするDET曲線を描きます。登録失敗がない場合、1:1認証ではFAR=100%のときにFRR=0%となります*3。一方で、登録失敗がなかったとしても、候補リストに本人が出現しなければ、閾値をいくら下げても1:N認証は成功しません。FPIR=100%であっても、FNIR=0%とは限らないことに注意しましょう。

 参考までに、候補リストに本人が出現しない試行が1%あった場合のDET曲線の例は、以下の図のようになります。

f:id:takahashi51:20190406003137p:plain
図1 1:N認証のDET曲線の例

 また、一般的に1:1認証のDET曲線より1:N認証のDET曲線のほうが各種エラーの値が大きい傾向にあることにも注意が必要です。したがって、1:1認証での精度99%と1:N認証での精度99%には大きな差があります。その辺の区別は、1:1認証と1:N認証の違い、FAR/FRRとFPIR/FNIRの違いをきちんと認識しなければなりません。

まとめ

 本記事のまとめは以下の通りです。今回もおつかれさまでした。

・1:N認証では、K件の候補リストが認証結果として返ってくる
・1:N認証の性能評価指標として、FPIR・FNIRがある
・1:1認証と1:N認証で、DET曲線の傾向が異なるので注意する

*1:Nは100程度のときもあれば、100万以上の場合もあります

*2:Kは10~100程度の場合が多いです

*3:閾値を-∞にすればこうなります