マスクの着用が顔認識モデルに与える影響とは!?
3つの要点
✔️ 顔認識におけるマスクの影響の調査を、従来に比べて網羅的に実施した研究
✔️ 3つのデータセットと6つの機械学習モデルを使用
✔️ マスクを着用した顔画像と着用していない顔画像を半々で含めたデータセットを利用したユニークな研究
An Exploratory Study of Masked Face Recognition with Machine Learning Algorithms
written by Megh Pudyel, Mustafa Atay
(Submitted on 14 Jun 2023)
Comments: Published in IEEE SoutheastCon 2023
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
顔認識は、入出国管理、電子機器へのセキュアログイン、コミュニティ監視、学校の出欠管理、職場の出退勤管理、犯罪捜査など、さまざまな用途で広く利用されている機械学習技術です。しかし、COVID-19によって世界的なパンデミックが起こると、日常生活においてマスクの着用が不可欠になりました。広範囲で利用されていた顔認識技術は、大きな影響を受け、従来の顔認識技術の性能は大幅に低下しました。ここ数年で、マスクに対応した顔認識モデルは報告されており、一定の精度を達成しているものの、マスクの着用が顔認識に与える影響はまだ十分に研究されているとはいえません。
そこで、この論文では、複数の顔認識モデルを利用して「マスクを着用した顔画像」「マスクを着用していない顔画像」を識別する性能を比較評価しています。この論文では、サポートベクターマシン(SVC)、K近傍法(KNN)、線形判別分析(LDA)、決定木(DT)、ロジスティック回帰(LR)、ナイーブベイズ(NB)という6つの従来の機械学習アルゴリズムを使用しています。(ディープラーニングモデルは検証していません。)
マスクを着用した顔画像に対して最も性能が高いモデル、最も性能が低いモデルを調査しています。また、この論文では、マスクを着用している顔画像のデータセット、マスクを着用していない顔画像のデータセットだけではなく、半分がマスクを着用した顔画像のデータセットに対しても性能評価をしています。
従来の研究と比べて、広範囲なマスク着用データ、機械学習モデルを対象に調査をしている点でユニークな論文です。
機械学習モデルとデータセット
冒頭でも述べたように、この論文では、サポートベクターマシン(SVC/Support Vector Classifier)、線形判別分析(LDA/Linear Discriminant Analysis)、K近傍法(KNN/K-Nearest Neighbors)、決定木(DT/Decision Trees)、ロジスティック回帰(LR/Logistic Regression)、ナイーブベイズ(NB/Naïve Bayes)の6つのモデルを評価しています。
また、データセットには、ORL(Our Database of Faces)を使用しています。ORLには41人の被験者と、被験者ごとに10枚の画像、合計410枚のマスクを着用していない顔画像が含まれています。下図がORLのサンプルデータです。
この論文では、ORLの顔画像に対して、MaskTheFaceというオープンソースソフトウェアを使用して、顔画像にマスクを付加し、マスクを着用した顔画像を用意しています。また、着用するマスクは、6つのマスクのテンプレートからランダムに選択して付加しています。下図がマスクを付加したサンプルデータです。
実験内容
この論文では、上述の機械学習モデルとデータセットを用いて6つの実験を行っています。なお、すべての実験において、特徴抽出には、ローカルバイナリパターン(LBP)というアルゴリズムを使用しています。
(実験1)41人の被験者ごとに用意された10枚の画像のうち、9枚をマスクを着用していない顔画像として使用し、6つの機械学習モデルを学習しています。そして、41人の被験者ごとに用意された10枚の画像のうち、残りの1枚もマスクを着用していない顔画像として使用し、各機械学習モデルをテストしています。
(実験2)41人の被験者ごとに用意された10枚の画像のうち、9枚をマスクを着用していない顔画像として使用し、6つの機械学習モデルを学習しています。そして、41人の被験者ごとに用意された10枚の画像のうち、残りの1枚は、MaskTheFaceを使用して、マスクを着用した顔画像として各モデルをテストしています。図3
(実験3)41人の被験者ごとに用意された10枚の画像のうち、9枚をマスクを着用した顔画像として使用し、6つの機械学習モデルを学習しています。その後、41人の被験者ごとに用意された10枚の画像のうち、残りの1枚もマスクを着用していない顔画像として使用し、各機械学習モデルをテストしています。
(実験4)41人の被験者ごとに用意された10枚の画像のうち、9枚をマスクを着用した顔画像として使用し、6つの機械学習モデルを学習しています。その後、41人の被験者ごとに用意された10枚の画像のうち、残りの1枚は、MaskTheFaceを使用して、マスクを着用した顔画像として各モデルをテストしています。図4
(実験5)41人の被験者ごとに用意された10枚の画像から1枚をテスト用に取り置き、残りの9枚から4枚をMaskTheFaceソフトウェアでマスクを着用した顔画像とし、4枚をマスクを着用していない顔画像とした上で組み合わせて、合計8枚の顔画像を作成しています。これにより、半分がマスクを着用した顔画像のデータセットを作成しています。このデータセットを使用して6つの機械学習モデルを学習し、取り置いておいたマスクを着用していない顔画像1枚で各モデルをテストしています。
(実験6)実験5で作成した半分がマスクを着用した顔画像で構成されたデータセットを使用して6つの機械学習モデルを学習し、マスクを着用した顔画像1枚で各モデルをテストしています。図5
実験結果
下表は、6つのすべての実験における、6つの機械学習モデルのAccuracyを示しています。マスクを着用していない顔画像(UM)で学習され、マスクを着用した顔画像(M)でテストした機械学習モデル(UM/M)では、LDAが61%の精度で最も低下が少なく、KNNが24%の精度で最も大きく低下しています。また、マスクを着用した顔画像(M)で学習され、マスクを着用した画像(M)でテストした機械学習モデルでは、LRが80%の最高精度を示し、KNNが37%の最低精度を示していることがわかります。
下表は、6つのすべての実験における、6つの機械学習モデルのF1スコアを示しています。マスクを着用していない顔画像(UM)で学習され、マスクを着用した顔画像(M)でテストした機械学習モデルでは、LDAが76%の最も高いF1スコアを示し、KNNが39%の最も低いスコアを示しています。また、半分がマスクを着用した顔画像(HM)で学習され、マスクを着用した画像(M)でテストしたモデルでは、LRが89%の最も高いF1スコアを示し、KNNが54%の最も低いスコアを示しています。マスクを着用した画像(M)で学習され、マスクを着用した画像(M)でテストしたモデルでは、LRが89%の最も高いF1スコアを示し、DTが54%の最も低いスコアを示しています。
下表(再掲)をあらためて確認すると、マスクを着用していない顔画像(UM)で学習され、マスクを着用していない顔画像(UM)でテストされた場合の平均パフォーマンスが最高の81%であることがわかります。これは、機械学習モデルが、マスクを着用していない顔画像を前提で構築されているため、当然の結果といえます。一方で、マスクを着用していない顔で学習され、マスクを着用した顔画像でテストした場合の平均パフォーマンスが最も低い45%であることがわかります。これは、コロナ禍に報告されたように、マスクを着用していない顔画像で学習したモデルが、マスクを着用した顔画像の認識には適していないことを示しています。すでに報告されている結果と再現性のあるものといえます。
また、マスクを着用していない顔画像、または、半分がマスクを着用した顔画像で構成されたデータセットで学習した場合、機械学習モデルの平均精度がマスクを着用した顔画像のテストにおいて、減少することがわかります。マスクを着用した顔画像で機械学習モデルを学習した場合、マスクを着用した顔の画像のテストにおける精度が向上することがわかります。
また、上表に示されているように、LRは3種類の学習データのすべてにおいて、マスクを着用していない顔画像の識別において、他のモデルを上回っていることがわかります。LDAは、マスクを着用していない顔画像で学習した場合、マスクを着用した顔画像の識別において、他のモデルを上回っています。LRは、マスクを着用した画像、または、半分がマスクを着用した画像によるデータセットで学習した場合、マスクを着用した画像の識別において、他のモデルを上回っています。
マスクを着用した顔画像とマスクを着用していない顔画像の両方を認識する必要があるシステムでは、上表に示されているように、半分がマスクを着用した顔画像で構成されるデータセットで学習し、LRを使用することが良いといえます。
まとめ
この論文では、マスクの着用が機械学習モデルに与える影響を調べるために、「マスクを着用した顔画像のデータセット」「マスクを着用していない顔画像のデータセット」「半分がマスクを着用し、半分がマスクを着用していない顔画像のデータセット」と、サポートベクターマシン(SVC/Support Vector Classifier)、線形判別分析(LDA/Linear Discriminant Analysis)、K近傍法(KNN/K-Nearest Neighbors)、決定木(DT/Decision Trees)、ロジスティック回帰(LR/Logistic Regression)、ナイーブベイズ(NB/Naïve Bayes)の6つの機械学習モデルを用いて、網羅的な実験をしています。
実験の結果、LRを「半分がマスクを着用し、半分がマスクを着用していない顔画像のデータセット」で学習した場合、マスクを着用した顔画像と、マスクを着用していない顔画像の両方を認識するシステムにとして、最も高い性能を示すことを報告しています。
マスクを着用した顔画像を識別する際、より多くのマスクを着用した顔画像で学習したモデルの精度が上昇する傾向がありますが、同時にマスクを着用していない画像の識別においては、減少する傾向が観察されています。
この記事に関するカテゴリー