最新AI論文をキャッチアップ

重複画像が顔認識の性能に与える影響は?顔画像データセットにおける重複排除の重要性

重複画像が顔認識の性能に与える影響は?顔画像データセットにおける重複排除の重要性

Face Recognition

3つの要点
✔️ 重複検出手法:ハッシュを用いて「完全一致」と「ほぼ一致」の顔画像の重複を効率的に検出する手法を提案
✔️ 重複排除の影響分析:顔認識に対する重複除去の微小な影響を実証
✔️ データセットクリーニングの重要性:重複フィルターの実装することで将来の顔画像データセットの品質向上を提案

Double Trouble? Impact and Detection of Duplicates in Face Image Datasets
written by Torsten SchlettChristian RathgebJuan TapiaChristoph Busch
(Submitted on 25 Jan 2024)
Comments: Accepted at the 13th International Conference on Pattern Recognition Applications and Methods (ICPRAM 2024)
Subjects: Computer Vision and Pattern Recognition (cs.CV)

code:  

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。  

概要

顔認識の研究では、ウェブから収集した顔画像のデータセットがよく使用されていますが、これらのデータセットには重複した顔画像が含まれていることがあります。この問題に対処するため、顔画像のデータセットに含まれる重複を検出し、品質を向上させる方法が必要です。この論文では、顔画像のデータセットの重複を検出する手法を紹介しています。また、ウェブから顔画像を収集した5つのデータセット(LFW、TinyFace、Adience (aligned)、CASIA-WebFace、C-MS-Celeb (aligned)に適用しています。重複除去されたデータセットは公開されています。また、顔認識モデルに関する実験を行い、重複除去の影響も検討しています。

重複検出の方法

この論文では、完全に一致している重複する画像「Exact Duplicate」と、完全に一致しているわけではないが、重複していると見なされるべき画像「Near Duplicate」を対象に検出方法を検討しています。

「Exact Duplicate」は、データの比較することで特定できるもので、2つのデータが完全に一致しているものです。計算効率を考慮し、BLAKE3ハッシュを利用してデータの初期セットを収集し、重複を検出しています。同じデータは常に同じハッシュ値を生成するため、ハッシュによる偽陰性は発生しませんが、偽陽性(ハッシュの衝突)は発生する可能性があります。そこで、ハッシュによって見つかった重複セットのうち、ファイルデータが完全に一致するかどうかを確認する追加のステップを導入しています。非常にシンプルなチェックですが、これによってすべてのデータセットで「Exact Duplicate」を検出することができています(なお、この結果は、今回適用した5つのデータセットでは、作成時にこのようなチェックが行われていないことを表しています)。

次に、「Near Duplicate」ですが、これは、わずかに異なっているが、例えば顔認証研究などで重複とみなされるべき類似画像のことです。下図がサンプルです。

この「Near Duplicate」の定義は様々です。この論文では「ImageHash」と呼ばれるPythonパッケージのデフォルト設定に基づいた2つの画像ハッシュ手法「pHash(perceptual hashing)」と「crop-resistant hashing」を用いています。

「pHash」は、「crop-resistant hashing」よりも多くの重複を検出しましたが、これは特定の使用例において「crop-resistant hashing」がうまく適用できていない可能性があることを示唆しています。画像ハッシュ関数によって検出された重複画像のセットは重なる可能性があるため、偽陽性の修正と重複画像のセットの統合(除去)が最終的な重複除去プロセスの一部として重要になります。

顔認識や顔画像品質評価モデルは、顔画像の前処理に依存しています。これらのモデルでは、検出された顔のランドマークに基づいて元の顔画像をトリミングし、整列させます。この論文で紹介する重複検出の手法は、このような前処理された顔画像に対しても有効です。

これは前処理に必要な顔のランドマーク検出が一部の画像に対して失敗する可能性があり、前処理された/元の画像のバリエーションが、それぞれが持たない重複画像のセットを生み出してしまう可能性があるためです。そのため、変更されていない元の画像に対する重複検出の後に追加のステップとして行うべきとしています。

この論文では、ArcFaceに使用される類似性変換が顔画像の前処理に使用されています。複数の顔が検出された画像では、検出のバウンディングボックスの幅と高さ、画像中心への近さ、および検出器の信頼度スコアに基づいて主要な顔が選択されます。前処理された画像はすべて同じ112×112の幅と高さを持っています。下図は前処理のサンプルを示しています。

ランドマーク検出に失敗した顔画像は、LFWでは0枚、TinyFaceでは859枚(元の画像上の検出に基づいて重複しているのは4枚のみ)、Adienceでは79枚(9枚が重複)、CASIA-WebFaceでは129枚(2枚が重複)、C-MS-Celebでは6,179枚(351枚が重複)です。これらの画像は、この追加の重複検出のステップでは考慮されないため、元画像の検証後に追加のステップとして行うことを推奨しています。

下表は、調査されたデータセットの概要を示しており、総画像数と重複数を表しています。「Intra」は、被験者内の重複 (1つの被験者のみに属する重複セット内のすべての画像)、「Subjects-w.-intra」は、少なくとも1 つの被験者内重複を持つ被験者、「Inter」は、被験者間の重複 (複数の被験者に属する重複セット内のすべての画像)、「Subjects-w.-inter」は、少なくとも1つの被験者間の重複を持つ被験者を表しています。

LFW、TinyFace、Adienceはそれぞれ20,000枚未満の顔画像を含んでいます。CASIA-WebFaceは494,414枚、C-MS-Celebは6,464,016枚の顔画像を含んでいます。LFWだけが非常に少ない重複数を持っています。TinyFaceには、153,428枚の顔画像以外の画像も含まれていますが、この論文では検討されていません。残りの15,975枚の顔画像のみを考慮しています。Adienceについては、顔画像のalignedバージョンを使用しています。CASIA-WebFaceの重複の絶対数は、小規模のデータセットよりも高いですが、顔画像総数に対する重複の割合は比較的低くなっています(LFWを除く)。

C-MS-Celebは、MS-Celeb1Mのサブセットで、クリーンな被験者ラベルを持っています。この論文ではalignedバージョンを使用しています。調査されたすべてのデータセットの中で、重複の絶対数および顔画像総数に対する重複の割合が最も高くなっています。このデータセットについては、33,918の被験者間重複が同時に被験者内重複でもあります。したがって、いくつかの重複セットの一部である画像の合計数は885,476です。この被験者内/被験者間の重複の重複は、他のデータセットでは発生せず、これらのそれぞれの合計数は単純に被験者内および被験者間の数の合計です。 

重複検出のアプローチは、単一のデータセット内だけでなく、複数のデータセット間での重複を識別するためにも適用可能です。この方法により、異なるソースから収集されたデータセット間での意図しない重複を除去できます。前処理された画像を使用した場合、データセット間で新たな重複が見つかり、これらは手動で真の陽性として確認されました(主にCASIA-WebFaceとC-MS-Celeb間ですが、その他でも見つかっています)。

重複排除の方法

ここでは、データセットから重複する画像を効率的に識別し、削除する方法を説明しています。まず最初に、重複する画像群から代表画像を選択し保存する手法を紹介しています。これにより、データセット内の重要な情報は保持しつつ、不要な重複を排除します。完全に同一の画像を含むセットからランダムではなく、辞書順にソートして最初の画像を選ぶことで再現性を担保しています。

異なるカテゴリ間で重複が見られる場合は、より複雑な手順を通じて適切なカテゴリに画像を割り当て直します。重複排除された画像を、関連するすべてのカテゴリの非重複画像と比較し、最も類似性の高いカテゴリに割り当てます。しかし、平均類似性スコアが低い、または候補間のスコア差が小さい場合、誤った割り当てを避けるために画像はデータセットから除外されます。

また、誤検出の訂正も行います。近似画像の検出に使用される画像ハッシュ技術は、誤って異なる画像を重複と判断することがあります。このような誤検出を訂正するため、顔認識技術を用いて、実際に異なる画像を識別し、排除から除外します。このステップでは、類似性スコアが一定の閾値以下の画像ペアをフィルタリングすることで、誤検出を減らします。

誤検出の訂正後、画像は品質スコアに基づき再度ソートされます。ここでは、最高の品質スコアを持つ画像が重複セットの代表として選ばれます。品質スコアが計算できない画像は、自動的に最下位に位置づけられ、計算されたスコアを持つ画像が優先されます。

実験

ここでは、重複排除が顔認識モデルにどのような変化をもたらすかを調査しています。顔認識では、マッチしたペアとマッチしないペアの顔画像の選択が必要です。

マッチしたペアについては、各対象について可能なすべてのペアを選択する方法があります。しかし、これは、データセット内で比較的多くの画像を持つ対象に対して、マッチしたペアの数が大幅に増加する可能性があります(N枚の画像を持つ対象は(N·(N−1))/2のマッチしたペアを生み出し、それぞれの画像は結果としてN−1のマッチしたペアに関与します)。

しかしながら、これらの実験は重複があるかないかのデータセットでの結果を比較することが目的なので、画像ごとにバランスの取れた数のマッチしたペアが好ましいと言えます。そこで、この論文では、マッチしたペアはデータセット内の各対象について「円形」に選択しています。これは、単にインデックスiの画像が次のインデックスi+1の画像とマッチしたペアを形成することをになります。最後の画像も、対象が2枚以上の画像を持つ場合、最初の画像とペアを作ります。

したがって、2枚以上の画像を持つ対象は、画像の数と等しい数のマッチしたペアを持ち、正確に2枚の画像を持つ対象は1つのマッチしたペアを持つことになります。画像の順序としては、画像パスの辞書順に昇順が使用されます。この「円形」によるマッチしたペアを選ぶ方法は、比較的少ない計算リソースで実現することができます。

以下は、データセットごとのマッチしたペアの数、単一の画像のみを含むため除外された対象の数です。

  • TinyFace:11,881(除外された対象153)
  • Adience:18,093(除外された対象815)
  • CASIA-WebFace:494,284(除外された対象0)
  • C-MS-Celeb:6,457,562(除外された対象123)

データセットごとに、マッチしたペアの数と同じ数の非マッチしたペアがランダムに選択されます。顔認識にはMagFaceモデルが使用されています。その後、類似性スコアを使用して、偽非マッチ率(FNMR)、偽マッチ率(FMR)、等誤差率(EER)の観点から顔認識の性能を評価しています。

下表に結果が示されています。重複がある場合とない場合のバリアント間で主に小さな違いがあり、重複の削除は異なるケースでエラー率を増加させることも減少させることもあることがわかります。

まとめ

この論文では、ハッシュ関数に基づく顔画像の重複検出手法を紹介しています。また、この処理を元画像だけでなく、前処理された顔画像に対して使用する方法も提案しています。これらの手法によって、ウェブスクレイピングでデータ収集された5つの代表的な顔画像のデータセットに対して、重複画像を検出しています。

LFWデータセットを除き、各データセットの全画像の1%以上が重複とされる画像であり、その数は数百から数十万に及んでいます。ほとんどの重複画像は単一のデータセット対象に属しています(対象内重複)、しかし、特にC-MS-Celebデータセットでは、複数の対象に属するものもあります(対象間重複)。

また、データセットから重複する画像を効率的に識別し、削除する方法も紹介しています。誤検出された重複の軽減、重複セットごとの最高品質の顔画像の選択、対象間重複セット内で最も適合する対象への重複排除された顔画像の割り当て(不確実な場合は割り当てない)が提案されています。さらに、顔認識モデルにおいて、重複削除が影響を与えることも示しています。

この論文で示したように代表的な顔認識の顔画像データセットに相当の重複が含まれていることは、ウェブスクレイピングされた顔画像データセットでは重複画像のリスクが高く、今後データセットを構築する際には、重複フィルターの実装を検討すべきであることを示唆しています。

なお、この論文で対象となった5つのデータセットから重複排除したデータセットはGitHubで公開されています。
https://github.com/dasec/dataset-duplicates

Takumu avatar
インターネット広告企業(DSP、DMP etc)や機械学習スタートアップで、プロジェクトマネージャー/プロダクトマネージャー、リサーチャーとして働き、現在はIT企業で新規事業のプロダクトマネージャーをしています。データや機械学習を活用したサービス企画や、機械学習・数学関連のセミナー講師なども行っています。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする