顔認証、マスクをつけたらどうなるの?

素顔とマスク姿
素顔とマスク姿

コロナウィルスの世界的流行によって、殆どの方がマスクを常時装着するようになりました。
東海顔認証ではマスクをつけた顔画像の検出・解析には特別のアプリケーションを用意しています。
今回は Face01 シリーズの中の Face01_CNN をご紹介します。

マスクをつけた顔の検出・解析

通常顔認証を行う場合、顔の 68 の特徴点を検出→特徴量として数値化→比較…の順で認証を行います。
たとえば下のような感じです。

dlib C++ Library: Correctly Mirroring Datasets
dlib C++ Library: Correctly Mirroring Datasets

ところがマスクをかけてしまうとこの 68 箇所がうまく測れなくなります。
勿論、登録画像そのものにマスクをつけた顔画像を登録しておけばよいのですが、計算自体にはある程度のムリが生じます。

ですのでマスクを常時つけた人々のみを顔認証する場合は「鼻筋から上のみ」の特徴点の特徴量を計測するようにしています。
図で表すと下のような感じです。

 5-point face landmarking model
5-point face landmarking model
68 points 方と 5 points 方
68 points 方と 5 points 方

実際の動作の様子

検証環境として

  • CUDA 環境設定が終わっていること
  • NVIDIA 製 GTX1660 以上のグラフィックカード

が必要です。

今回は小池都知事と加藤厚労大臣の会見の様子を Face01_CNN で動作させました。

マスクをはめた複数人物の顔認証検証動画
マスクをはめた複数人物の顔認証検証動画
マスクをはめた小池都知事と加藤厚労大臣の顔認証動作の様子

上の動画で分かるように、極めてスムーズにマスクをはめた異なる人物を認証することが出来ます。

まとめ

68 points method と 5 points method では勿論 68 points の方が正確性に長けています。また速度も段違いに速いです。そして動作環境も CPU のみである程度のスピードが出ます。
しかしながらこれだけマスクをしている人が増えてしまうとそういうわけにも行かなくなります。

FNN: マスク姿でも顔認証OK 中国で開発 その実力は?
FNN: マスク姿でも顔認証OK 中国で開発 その実力は?

世界に先駆けて、中国ではマスクによる顔認証システム開発を迅速に行ったことで一躍ニュースになりました。この時の認識率は「90% 程度」とのことです。顔の6割から7割の情報が鼻筋から下にかけて存在するためです。

Face01_CNN でも同じことが言えます。特徴点を絞っているため、全ての特徴点を扱える 68 points method に比べ若干の精度は落ちます。
それでもマスク着用が常態化している現在ではこういったシステムの必要性が益々高まっていくことでしょう。

以上です。
今回はマスクをしたまま顔認証が出来る Face01_CNN について解説いたしました。

Follow me!