はじめに
こんにちは、Liquid CTOの大岩です。
顔認証の精度はディープラーニングの登場によって格段に上がり、手軽な生体認証としての市民権を確立しつつあります。同時に顔認証に使用する顔画像はフォトショップでの修正やDeepfakeによって容易に改ざんできてしまいます。これを見分けられないと、デジタル加工した顔で新しい身分証を作成して不正な用途で使用するなど、様々な問題が生じてしまいます。
人間の目でそれらの改ざん画像を見分けることができるのでしょうか。仮に画像を人の目で見分ける運用としてシステムを作るとしたら、どんなことに注意する必要があるのでしょうか。
ダルムシュタット応用科学大学のChristoph Busch研究室は、デジタル加工された顔を人が見分けられるかの実験を行い、2つの論文を出しています。 まず、Psychophysical Evaluation of Human Performance in Detecting Digital Face Image Manipulationsにて、精神物理学の観点から実験をどのように実施したかを解説し、Crowd–powered Face Manipulation Detection: Fusing Human Examiner Decisionsにて、複数人の判断をどう合算すればよいかを調査しています。
後者は人の判断を評価するにおいて、経験、判断にかかった時間、判断の自信などの要素の重要性を検証しており、システムを考えるうえでヒントになるものがありそうです。本記事では、その論文を紹介しながら、人間の判断をどう扱えばいいかを考えていきます。
実験
実験は、下記の条件で行われました。
- データセット
- テスト方法
- オンライン上でwebアプリを通じて実施。
- 精神物理学に則った2つの手法で行われる。
- ABX - 23問
- 加工顔Aと非加工顔Bを見せられ、問題XがABどちら側かを選ぶ方法。
- S2AFC - 27問
- 加工顔が紛れ込んだA, Bの2枚を見せられて、どちらが加工顔かを選ぶ方法。
- ABX - 23問
- 被験者は、回答時にどのくらい自信があるかを5段階(very unsure/unsure/neutral/sure/very sure)で入力する。
- 被験者が回答にかかった秒数も記録される。
- 被験者
- 生体認証関連のニュースレターなどでオンラインで募集され、年齢、性別、経験に偏りがないように選ばれる。
- 経験は、5段階(none/basic/intermediate/expert/specialised professional)で自己申告により入力される。
- 評価方法
- 223人のテスト結果から、1,3,5,7人のグループを仮想的に作り、スコアが合算される。
- スコア合算時には、下記の要素が考慮される。
- experience - 自己申告の5段階の経験
- confidence - 回答時の5段階の自信
- time - 回答にかかった秒数。
論文では、
- 1人よりも、複数人の判断を合算したほうが、精度は高まるのか。
- 合算時に、経験(Experience)、自信(Confidence)、時間(Time)は有効に使えるだろうか。
の疑問を掲げており、5つの合算方法が提案されました。
- Majority Voting (MV)
- 多数決。
- 他の手法を評価する上でのベースラインとなる。
- Confidence-weighted Fusion (CF)
- 多数決に、Confidenceを重みとしてかけたもの。
- Confidenceが高いほうが、正解に近いという仮説に沿う。
- Experience-weighted Fusion (EF)
- 多数決に、Experienceを重みとしてかけたもの。
- 経験がある人の判断のほうが、正解に近いという仮説に沿う。
- Time-based Fusion (TF)
- 多数決に、Timeを重みとしてかけたもの。
- 時間がかかった回答ほど精度が高いという仮説に沿う。
- Overall Fusion (OF)
- Confidence-weighted, Experience-weighted, Time-based のfusionをすべて加算したもの。
結果
結果は、7人までであれば、人数が多くなればなるほど、精度は高くなりました。
またここから、
- Confidenceを考慮すると正答率は高くなる。が、多数決に比べてその差は僅かである。
- Experience、Timeを考慮するのは逆効果だった。
などが言えそうです。詳しく見ていきましょう。
- Specialized Professionalは他に比べて低い正答率となりましたが、概ねExperienceのレベルと正答率にはあまり関係がないと言えそうです。
- Confidenceと正答率には、正の相関があるみたいです。
- Timeと正答率には、負の相関があるみたいです。"時間がかかった回答ほど精度が高い"という仮説は間違っており、"すぐ回答された回答ほど正答率は高い"という解釈が正しそうです。
- 高い正答率を示したMVとCVにおいては、人数ごとにはこのような分布となっていました。人数を1人から3人に増やしたほうがインパクトは大きそうです。
さて、ではそれを踏まえてどう我々は考えていくべきなのでしょうか?
Timeと正答率は、負の相関があるみたいでした。でしたら、回答に時間があまりかからなかったものは1-2人の回答でよしとし、回答に時間がかかったものを5-7人で判断することも考えられます。
Experienceは残念ながら回答率に効果がありませんでした。 一方で著者は、
Nevertheless, we found individual participants who performed exceptionally well, with classification accuracy reaching 96.30% and hit rates (TPR) of 96.43%.
とも述べており、このタスクに習熟した人というのは存在するようです。
先にテストを行い、上位成績者に重みをつけていくのが効果があるのでしょうか。 また一方で、新しいデジタル加工の手法がどんどん生まれているこの世界で、経験をあてにするのはやめたほうがいいのでしょうか。 いずれにせよ、今回の実験はあくまでデータセットと手法を限定したものです。画像を人の目で見分けるシステムを考える上では、実際の不正のパターンや、取得画像の画質や数で判断する必要がありそうです。
おわりに
Liquidでは、様々な不正を防止するため、機械と人間あわせて取り組んでいます。 今回読んだ論文には、複数人の判断をどう扱うかという観点でヒントがありました。 その上で、実際の傾向を見て試行錯誤を繰り返すことになります。
このようなことに一緒に取り組む仲間をLiquidでは探しています。興味のある人は、ぜひ一度話を聞きに来て下さい!