プライバシーに配慮、画像に写る人物を匿名化する「DeepPrivacy2」
3つの要点
✔️ DeepPrivacyと比較して顔の匿名化を高精度化
✔️ DeepPrivacyの顔匿名化だけでなく、全身匿名化も導入
✔️ 全身の匿名化に有用な新しい大規模データセット「FDH」を導入
DeepPrivacy2: Towards Realistic Full-Body Anonymization
written by Håkon Hukkelås, Frank Lindseth
(Submitted on 17 Nov 2022)
Comments: Accepted at WACV2023
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
画像の収集と保存は、さまざまな用途で行われています。しかし、画像には、プライバシーに関わる対象が写っていることもあるため、配慮が必要です。最近では、EUのGDPRなど世界各国でプライバシーに関する法律が制定され、匿名化や同意なしにデータを収集することが難しくなっています。この傾向は、年々強まっています。
現在は、画像を匿名化するためにぼかし等が広く採用されています。しかし、この方法ではデータが著しく歪められてしまうため、その後、アプリケーションで利用できなくなってしまいます。近年、急速に進歩している生成モデルを利用した匿名化の手法が増えており、コンテキストに合わせたリアルな顔を生成することができます。しかし、顔の匿名化だけでは、耳や歩き方、性別など顔以外の識別子によって、個人が特定されてしまうようなケースを妨ぐことができません。そこで、これらを克服するため、全身の匿名化の研究も進められています。
この論文では、同著者が以前報告した、顔を匿名化するDeepPrivacyに対して、顔匿名化の性能を改善し、全身の匿名化を追加したDeepPrivacy2を提案しています。
特に新しく追加される全身匿名化では、Flickr Diverse Humans (FDH) という大規模なデータセットを導入しています。これは、YFCC100M データセットから抽出した、さまざまなコンテキストの人物画像が150万枚含まれており、この論文でも、生成された人物の視覚的品質の向上に大きな貢献しています。
さらに、人物の検出と匿名化をアンサンブルで行うフレームワークを提案しています。人物の検出と匿名化を(1)CSE(密な姿勢推定)ありで検出した人物(2)CSEなしで検出した人物(3)そのほか顔の身を検出し人物の3つに分けて処理しています。これによって、画像内の人物に対して、抜け漏れを極力減らした上で細やかな匿名化対応を実現しています。
全身の匿名化については、これまでもSurface Guided GANs(SG-GAN)等の手法がありましたが、DeepPrivacy2では、大規模データセットの利用や、アンサンブルによる検出・合成(匿名化)のネットワークの導入によって、画質と匿名化保証のいずれにおいても、より高い性能を示しています。
FDH(Flicker Diverse Humans)データセット
FDH(Flickr Diverse Humans) データセットは、YFCC100M(Yahoo Flickr Creative Commons 100 Million)データセットから取得した約155万枚の人物画像で構成されています。下図はデータセットのサンプルです。
それぞれの画像には人物が1人写っており、CSE(Continuous Surface Embeddings)で取得したピクセルレベルの高密度なポーズ推定、Mask R-CNNで取得した17個のキーポイントとセグメンテーションマスクの情報が付与されています。セグメンテーションマスクは、CSEから取得するマスクとMask R-CNNで取得したマスクの共通部分を利用しています。また、各画像の解像度は288×160で、学習用の1,524,845枚の画像と検証用の 30,000の画像に分割されています。
FDHは、これまで利用されている全身を合成(匿名化)するためのデータセット(DeepFashionなど)と比較すると、遥に大規模で多様なIn-the-wildの画像で構成されています。また、生成モデルの一般的なデータセットよりも選別はされておらず、変わったポーズ、視点、照明条件、コンテキストを含む人物の画像が多数含まれています。
DeepPrivacy2の匿名化処理
ここでは、DeepPrivacy2の処理について説明します。3つの検出および合成ネットワークのアンサンブルによって、画像内の人物を検出、匿名化しています(下図)。
まず検出で画像内のすべての人物が検出されるようにします。これは上図の「Detection」の処理です。(1)高密度ポーズ推定(CSEあり)を用いた人物の検出(2)Mask R-CNNによるインスタンスセグメンテーション(CSEなし)を用いた検出(3)残りの人物のDSFDによる顔の検出を行っています。上図中央の画像において、色が着いている人物が(1)による検出、色が着いていない人物が(2)による検出、顔に赤いBoxが付いている顔が(3)による検出です。
人物の検出では(1)高密度ポーズ推定(CSEあり)を用いた人物の検出(2)Mask R-CNNによるインスタンスセグメンテーション(CSEなし)を用いた検出の和集合を匿名化しており、アクセサリーや髪も匿名化されるように工夫されています。これは、以前に同じく全身匿名化として提案されたSurface Guided GANs(SG-GAN)のように、アクセサリーや髪が匿名化されず、画像の品質を低下させていた問題を改善しています。下図でわかるように、中央の画像では、髪や耳が不自然に取り付けられているように見えます。高密度ポーズ推定(CES)はプライバシーの観点では必須ではありませんが、合成された画像の品質が大幅に向上させていることがわかります。
また、DeepPrivacy2は、CSEによる検出が失敗した場合でもMask R-CNNやDSFDが利用されているため、従来のSG-GANと比較して、検出の抜け漏れが大幅に改善されています。
次に、それぞれの検出結果に対して、3つの独立した学習済みのジェネレーターが適用されています。全身匿名化のジェネレーターと顔匿名化のジェネレーターがあり、全身匿名化のジェネレーターは、CSEを利用して検出した人物に適用するものと、CSEを利用せずに検出した人物に適用するもので2つあります。これは上図の「CSE Guided Full-Body Generator」「Unconditional Full-Body Generator」「Face Generator」の処理です。
顔匿名化のジェネレーターは、従来とは対照的に、合成(匿名化)にキーポイントを使用しないジェネレーターを提案しています。そのため、キーポイントの検出が難しい場合での検出の再現率が向上しています。なお、データセットは、FDFデータセットを更新したものが利用されています。
最後に、合成(匿名化)した画像を元の画像につなぎ合わせます。これは上図の「Image Stitching」の処理です。特に、全身の匿名化は、顔の匿名化とは異なり、検出に多くの重複があります。そのため、正しく処理しないと、これらの重なりによって、人物間の境界に視覚的に不自然なアーティファクトが生成されてしまいます。
この論文では、人物がカバーするピクセル数に応じて、Ascending Orderingで各人物を再帰的にスティッチしています。再帰的なスティッチでは、各人物を生成する際に、合成手法が重なりによるアーティファクトを処理することを前提としています。また、順序付けでは、前景オブジェクトがより広い領域をカバーし、前景オブジェクトが最後にスティッチされることを前提としています。逆の順序(最初に前景オブジェクトが最初)では、検出が重なる可能性があるため、背景オブジェクトが前景オブジェクトを「上書き」します。この単純な順序付けにより、人物間の境界での視覚的なアーティファクトが大幅に減少しています。
下図は、この論文による画像スティッチ手法をDecending orderingおよびAscending orderingで匿名化した結果を比較したものです。Ascending orderingでは、前景オブジェクトが最後にスティッチされ、(赤でマークされている箇所など)検出境界での画質が向上していることがわかります。
実験
DeepPrivacy2の合成の品質を確認しています。ただし、データの匿名化を比較するための標準的なベースラインはないため、顔匿名化については、広く採用されている顔匿名化技術「DeepPrivacy」と比較し、全身匿名化については、Surface Guided GANs(SG-GAN)と比較しています。学習データは、全身匿名化ジェネレーターではFDHデータセット、顔匿名化ジェネレーターでは、 FDF256を使用します。FDF256データセットはFDFを更新したものです。また、評価データには、Market1501、Cityscapes、COCOを使用しています。
下図は全身匿名化ジェネレーターによるFDHでの合成(匿名化)の結果です。(a)は、元画像とそれに対する検出結果です。(b)は、CSEを利用しない「Unconditional Full-Body Generator」による合成(匿名化)の結果です。(c)〜(e)は、CSEを利用する「CSE Guided Full-Body Generator」による合成(匿名化)の結果です。
DeepPrivacy2は、さまざまな背景のコンテキスト、ポーズ、重なりに対して、高品質の人物を生成することがわかります。また、高品質な匿名化にはCSEが必要であることがわかります。CSEを利用しない「Unconditional Full-Body Generator」では、腕や足などがやや不自然になっています。
下図は顔匿名化ジェネレーターによるFDF256での合成(匿名化)の結果です。最初の列は元画像とそれに対する顔の検出結果です。2列目から5列目は、DeepPrivacy2で合成(匿名化)した顔です。
ここでは、DeepPrivacy2の顔匿名化ジェネレーターの性能を、DeepPrivacyと比較しています。しかし、DeepPrivacy2はFDFを更新したFDF256を利用しており、画像の解像度は256×256です。一方で、DeepPrivacyはFDFを利用しており、画像の解像度は128×128とより低解像度になっているため、直接比較することができません。そのため、この検証では、FDF(128×128)で再学習した上で比較しています。その結果、DeepPrivacy2はFID=0.56を達成し、DeepPrivacyのFID=0.68と比較して大幅に改善されていることが確認されています。なお、FID(Frechet Inception Distance)は、画像の再現度を表す指標であり、値が小さいほど良いものです。
下図は、DeepPrivacy(b)とDeepPrivacy2(c)の顔匿名化ジェネレーターの結果を比較したものです。DeepPrivacy2(c)がDeepPrivacy(b)より高品質の顔を生成し、検出されたオブジェクト間の重複もより適切に処理していることがわかります。
また、DeepPrivacyは、キーポイントを利用しており、キーポイントが検出できない人物がいると顔を匿名化できていません。従って、匿名化処理が漏れてしまう人物もでてきます。一方で、DeepPrivacy2は、前述の通り、合成にキーポイントを使用しないため、キーポイントが検出できなくても匿名化処理がされていることがわかります。
まとめ
DeepPrivacy2は、画像の品質を下げることなく、顔と全身を匿名化する実用的なツールだと思います。従来の匿名化手法と比べると、画像の品質や匿名化保証が著しく向上しています。また、全身匿名化に有用な、多種多少なポーズやコンテキストを含む大規模なデータセット「FDH」も紹介しています。
近年、多くの国や地域でプライバシーに関する法律が導入され、データの収集・保存が複雑になっています。これは、コンピュータービジョンモデルなど高品質の画像に依存するアプリケーションを開発する際の障壁となる可能性があります。そんな中、DeepPraivacy2は、これらの問題を解消する非常に役立つツールになると考えられます。
しかし一方で、DeepPraivacy2はリアルな人間を合成する技術であるため、DeepFakeなどと同様に誤用される可能性があります。そのため、世界各国のコミュニティでチャレンジされているDeepFake Detection Challengeなどによる偽物検知の技術開発も同時に進めていく必要がありそうです。なお、DeepPrivacy2のコード、学習済みモデル、FDHデータセットは、https://github.com/hukkelas/deep_privacy2 で入手できます。
この記事に関するカテゴリー