599 Views
December 23, 24
スライド概要
自動運転AI開発を加速させるCo-MLOps MEETUP発表資料を公開しました!
アーカイブ映像はこちら
https://www.youtube.com/live/JpPbhA4wpgQ?si=eeVv7i0SdPDLaFJG
5. 生成AIを活用した画像匿名化技術とEdge環境に向けた最適化
発表概要
画像データに映り込む個人情報(顔やナンバープレートなど)を匿名化する技術として、最も典型的なものはモザイク処理です。しかし、モザイク処理は画像データの一部を損ない、現実世界には存在しない視覚的・統計的特徴(アーティファクト)を生むため、そのまま学習データとして使用すると、いくつかのビジョンタスクにおいて精度が低下することが知られています。本発表では、個人情報保護と学習データの品質維持を両立する手法において効果的な生成AIを用いた匿名化技術について解説します。また、現在開発中のCo-MLOpsプラットフォーム向けエッジ生成匿名化システムの実機評価とリアルタイムデモも行います。
講演者: 塚田 峰登(ティアフォー)
2023年慶大大学院理工学研究科開放環境科学専攻後期博士課程を修了し、博士(工学)取得。2020~2023年にかけて学術振興会特別研究員DC1。2024年よりティアフォーに入社し、同社が開発する自動運転AI向けデータ共有プラットフォーム(Co-MLOps Platform)の匿名化パイプラインの研究開発に従事。専門はFPGAを用いた機械学習アクセラレータ、On Device Learning、Deep Neural Network等。
生成AIを活用した画像匿名化技術と Edge環境に向けた最適化 株式会社ティアフォー 塚田 峰登 1
TIER IV Speaker 経歴 2020年 - 2023年: 学術振興会特別研究員DC1 ● “オンデバイス学習による環境適応型異常検知手法の提案と AIハードウェア化 ” 研究代表 2023年: 博士(工学) ● ● ● 塚田 峰登 (Mineto Tsukada) 慶大大学院 理工学研究科 情報工学専修 後期博士課程 修了 当時の所属研究室 : 松谷研究室 専門領域: Comp Arch、FPGAベースのAIアクセラレータ、エッジ学習 2024年 - 現職 ● Co-MLOpsプラットフォームにおける匿名化パイプラインの開発に従事 エッジAIエンジニア github@otenim 2
TIER IV Agenda 01 / 匿名化によるDNNの精度への影響 02 / 生成AIを用いた匿名化手法 03 / FastFaceSwapper - 生成AIを用いたエッジ匿名化システム 04 / エッジデバイスを用いた性能評価 05 / リアルタイムデモ 3
匿名化によるDNNの精度への影響 01 4
TIER IV 匿名化が必要な理由 世界でデータ収集するには、各国の個人情報保護法に則り個人情報を匿名化する必要 ※以下、EU一般データ保護規則(GDPR)を基準に説明 ● 「個人情報」の定義 ○ “識別された又は識別され得る自然人(データ主体)に関するあらゆる情報 ”(第4条) ○ 顔写真・ナンバープレート・氏名・住所 等 ● 個人情報がデータに含まれる場合 , 各個人から同意を得る必要がある(第 6条) ○ 全ての個人から同意を得るのは非現実的 ○ 個人を識別できないように匿名化された個人データに対しては GDPRが適用されない(第 26条) ● GDPRの適用を回避するには、データの匿名化は不可欠と考えられる 5
TIER IV 一般的な匿名化手法 匿名化の厳格さと情報量にはトレードオフが存在 Original Blur(ぼかす) 情報量 Mask(ゼロ値化) 匿名化の厳格さ 匿名化を厳しくするとより多くの情報が失われる 6
TIER IV 一般的な匿名化手法 匿名化の厳格さと情報量にはトレードオフが存在 Original Blur(ぼかす) Mask(ゼロ値化) 匿名化したデータで DNNを学習して精度は劣化しないのか? 情報量 匿名化の厳格さ 匿名化を厳しくするとより多くの情報が失われる 7
TIER IV 匿名化の領域が重要でないタスクは劣化が小さい Cityscapes[a]に匿名化を適用 → YOLOv8[b]でObject Detectionに適用した結果 [c] mAP50-95の精度劣化 Class 匿名化の領域 Blur Mask Human 顔 -0.14 -0.23 Vehicle ナンバープレート -0.02 -0.06 検出対象 匿名化 顔/ナンバープレートが隠れていても人 /車両は検出できる → 精度劣化小 [a] Cordts, Marius, et al. "The cityscapes dataset for semantic urban scene understanding", CVPR, 2016. [b] “Ultralytics YOLOv8” [c] Table 1. from Lee et al., “Balancing Privacy and Accuracy: Exploring the Impact of Data Anonymization on Deep Learning Models in Computer Vision”, IEEE Access, 2024 8
TIER IV 精度劣化について社内で追加検証 CrowdHuman[a]に顔の匿名化を適用 → YOLOXでObject Detectionに適用した結果 検出対象: Head、Personの2クラス YOLOXのサイズ / mAP50-95 Baseline Blur Mask S 49.83 +0.05 +0.04 M 52.86 +0.09 +0.05 L 54.18 -0.08 +0.04 論文の報告通り、顔を匿名化しても頭( Head)や全身(Person)の検出に特に影響は見られない [a] CrowdHuman 9
TIER IV 匿名化の領域が重要なタスクは劣化が顕著 MSCOCOʼ17[a]に匿名化を適用 → Mask R-CNN[b]でPose Estimationに適用した結果 [c] 顔を匿名化した場合の精度劣化 KP mAP50-95 Blur -11.7 Mask -13.2 Pose Estimationでは顔の情報が重要 → 顔を匿名化すると精度劣化 大 [a] "COCO 2017 Keypoint Detection Task" [b] He et al., “Mask R-CNN”, ICCV, 2017 [c] Table 3. from Hukkelas et al., “Does Image Anonymization Impact Computer Vision Training?”, CVPR Workshop (WAD), 2023 10
TIER IV 生成ベースの匿名化手法 情報量と匿名性を両立する新たなアプローチ Raw 情報量 匿名性 Blur Mask 11
TIER IV 生成ベースの匿名化手法 情報量と匿名性を両立する新たなアプローチ Raw 情報量 Generative 顔を生成することで、匿名性を保 ちつつ顔の情報を付与 匿名性 Blur Mask 12
TIER IV 匿名化領域が重要なタスクで精度劣化を抑える 従来手法が苦手なPose Estimationタスクで大幅に改善[a] KP mAP50-95 生成AIベースの手法で匿 名化した場合 Generative -4.4 Blur -11.7 Mask -13.2 [a] Table 3. from Hukkelas et al., “Does Image Anonymization Impact Computer Vision Training?”, CVPR Workshop (WAD), 2023 13
生成AIを用いた匿名化手法 02 14
TIER IV 関連研究 「顔」に関する生成ベースの匿名化モデルに注目 徐々にGANからDiffusion Modelベースの手法が増加 手法 提案年 特徴 Jourabloo et al. 2015 顔画像のDBを構築し、元の顔と似た画像を加重平均ベースの手法で合成(頑健 性に非常に難がある) Ren et al. 2018 GANベース、顔のBBox +「特徴的な領域」を推論し、その部分だけ生成(元の顔 が部分的に残る) AnonymousNet 2019 GANベース、説明を加える DeepPrivacy1 2019 GANベース、顔のBBox(BBox内のピクセルはゼロ値化) + Facial Key Pointsから新しい顔を生成 DeepPrivacy2 2023 GANベース、顔のBBox(BBox内のピクセルはゼロ値化) から新しい顔を生成 LDFA 2023 DeepPrivacy2の生成器の部分をDiffusion Modelベースのネットワークに入れ替 えたものにほぼ等しい Kuang et al. 2024 Diffusion Modelベース、CLIPを用いて画像を識別情報と非識別情報に分け、推 論ステップ毎に識別情報の割合を少なくしていき、匿名性を維持 15
TIER IV Diffusion Model vs. GAN 発表年 生成できる画像のバリエーション 推論速度 GAN 2014 小 (ドメインを限定しないと学習が不安定に) 高速 (1ステップ推論) Diffusion Model 2020 大 (多様なドメインの画像を生成可) 低速 (複数ステップ推論) from DDPM: Denoising Diffusion Probabilistic Models 以下の理由から GANベースの手法を採用 ● ● エッジ実装を考慮すると計算量はできるだけ小さくしたい ○ Diffusion Modelの複数ステップ推論はエッジ実装への親和性が低い 顔だけ生成できればいい ○ ドメインを限定すれば GANは~100Mパラムで高品質に生成可能 [a] [a] Figure 11. from Karras et al., “Analyzing and Improving the Image Quality of StyleGAN”, CVPR, 2020 16
TIER IV DeepPrivacy2 GANベースの「顔」匿名化モデルとして最先端な手法の一つ DeepPrivacy2[a] (UNet[b] + StyleGAN[c]のCNNアーキ) 顔の検出 (通常の Object Detectionモデルを使用) 顔面領域をMask Mask領域を生成 Co-MLOps Platformのエッジ匿名化システムに対する DeepPrivacy2の利点 ● ● ● 匿名化領域を完全に削除する - 逆推定が困難・厳格な匿名性を実現 シンプルな畳み込み層で構成 - エッジ実装への親和性が高い 実は人の顔に特化した処理がない - ナンバープレート等にも拡張可能と考えられる [a] Hukkelas et al., “DeepPrivacy2: Towards Realistic Full-Body Anonymization”, WACV, 2023 [b] Ronneberger et al., “U-Net: Convolutional Networks for Biomedical Image Segmentation”, MICCAI, 2015 [c] Kerras et al., “A Style-Based Generator Architecture for Generative Adversarial Networks”, CVPR, 2019 17
TIER IV 現状のDeepPrivacy2の問題点 ● 推論ランタイムがPython + PyTorchで実装されているため低速 ○ C/C++でTensorRTやその他NPU向けに実装し最適化すべき ● パラメータ数(42.5M params)がやや多い ○ 計算資源の限られたエッジ環境にはデプロイし辛い ● Instance Normなど計算量が大きいレイヤが大量に存在 ○ 実行時計算の必要なInstance Normはエッジデプロイに不向き エッジデバイス上で高速な顔匿名化を実現するため FastFaceSwapperを開発 18
FastFaceSwapper 生成AIを用いたエッジ匿名化システム 03 19
TIER IV DeepPrivacy2 vs. FastFaceSwapper DeepPrivacy2 FastFaceSwapper(FFS) クラウド エッジ 対応デバイス NVIDIA GPU NVIDIA GPU、Hailo-8[a] モデルの構造 StyleGAN + UNet 計算量・パラメータ削減のため 一部変更あり (詳細は後述) 入力解像度 128x128 128x128 パラメータ数 42.3M 10.5M(約1/4) FPS* 1秒間で生成できる顔 の数 FP16: 66 TensorRT-FP16: 821(x12.4) TensorRT-INT8+FP16の混合精度 : 1124(x17.0) HailoRT-INT8+INT16の混合精度 : 280(x4.2) Python、PyTorch C++、TensorRT、HailoRT[b] 想定する動作環境 言語・ライブラリ * DeepPrivacy2とFFSのTensorRT実装はRTX3060M、FFSのHailoRT実装はHailo-8を用いて計測 [a] “Hailo-8 AI Processor” [b] “HailoRT - An open source light-weight and high performance inference framework for Hailo devices” 20
TIER IV FastFaceSwapperの推論パイプライン Input Output 2. Crop & Resize (to 128x128) 3. Mask (Drop pixels) 4. Generate Face 128 128 4. Resize (to original size) & Replace 1. Detect ※ 128 FastFace Swapper 128 21
TIER IV FastFaceSwapperのネットワーク構造 ● ● メタアーキテクチャは DeepPrivacy2を踏襲 UNet構造を取り入れた Encoder/Decoderアーキテクチャ ○ EncoderとDecoderの中間層をスキップ接続し、出力画像の解像度と視覚的な品質を改善 x½ Down Sample Conv x 4 x2 Up Sample Conv x 4 3x128x128 3x128x128 Point Conv Equal Conv Encoder D S D S … U S D S Point Conv … U S U S Equal Conv Point Conv Decoder Point Conv Point Conv 23
TIER IV FastFaceSwapperの最適化 DeepPrivacy2からの主な4つの改善点 1. Convレイヤの入力・出力チャネル数を半減 ○ 全体のパラメータ数が1/4に縮小 2. Instance Norm を Batch Norm に変更 ○ Batch Norm Foldingの適用で実行時の正規化処理を削除 3. Upsample Conv、Downsample Convの残差ブランチを削除 ○ 計算量の削減 4. 感度分析を用いた INT8量子化の最適化 ○ 量子化の影響が大きい層を高精度化することで 最小限のコストで生成品質の劣化を防止 本日は2点に焦点 を絞ります 23
TIER IV Instance NormのBatch Normへの置き換え 計算視点で両者を比較 正規化の粒度 推論時の平均・分散 計算量 Instance Norm[a] サンプル毎 入力毎に計算 大(平均分散を都度計算) Batch Norm バッチ毎 固定値 (学習で得た値を使用) 小(平均分散は固定値を流用) a. Ulyanov et al.,“Instance Normalization: The Missing Ingredient for Fast Stylization”, arxiv, 2016 平均 Batch Normの方がエッジ環境への親和性が高い From Fig.2 of Yin et al., “LocalNorm: Robust Image Classification through Dynamically Regularized Normalization”, ICANN, 2021 分散 24
TIER IV Batch Normの最適化 Batch Norm Folding[a]で推論時の正規化処理を削除し更に高速化 Folding無しの場合 Foldingを適用した場合 活性化値zに対し正規化を適用 学習で得た平均・分散を用 いて重みの書き換え out = wfold * x + bfold 正規化処理をした場合と 同じ出力が得られる 推論の高速化に寄与 a. Nathan Hubens, “Speed-up inference with Batch Normalization Folding”, medium, 2020 25
TIER IV Instance Norm vs. Batch Norm 推論FPSの比較 x2.5 ● ● 評価マシン: ThinkPad X1 Extreme Gen 4 ○ GPU: RTX3060M ○ CPU: Core i7-11800H 2.3GHz trtexecで実行速度を計測 ○ TensorRT 8.6.1 + CUDA 11.8 + cuDNN 9.0.7 x1.9 ❏ ❏ Instance NormはFP16へのFallbackが発生 Batch NormはINT8のまま変換が発生しないた めより高速に TensorRTでそれぞれFP16、INT8版の推論エンジンを作成 26
TIER IV Instance Norm vs. Batch Norm 生成品質面での定量評価 ● ● FID(Frechet Inception Distance)[a] ○ ○ 本物のデータと生成したデータの 「統計的な類似度」を定量化 低ければ低いほど分布的として見たときに 自然な顔が生成できている 実際のデータ LPIPS(Learned Perceptual Image Patch Similarity)[b] ○ ○ 本物の画像と生成した画像の 「視覚的な類似度」の定量化 低ければ低いほど視覚的に違和感の無い顔が生成できている ■ 匿名性の観点では低すぎるのはよくない(全く同じ顔が生成されたら LPIPS = 0)が、DP2の場合は元の顔の情報を削除するため全く同じ画像が生成さ れるケースは非常に稀であり、基本的には低ければ低いほどより視覚的に 自然な顔が生成されていると捉えてよいと考えられる 分布の距離を計算 生成したデータ FP32でそれぞれ評価指標を計算 FID LPIPS a. Instance Norm(Original) Batch Norm(Ours) 1.38 1.40 0.163 0.164 b. 僅かに劣化 (値が小さい方が良い) Heusel et al., “GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium” (NIPS 2017) Zhang et al., “The Unreasonable Effectiveness of Deep Features as a Perceptual Metric” (CVPR 2018) 27
TIER IV 感度分析を用いたINT8量子化の最適化 各Convレイヤを量子化・その他はFP16で実行し評価指標の劣化を分析[a] LPIPS 入力レイヤ 入出力レイヤ付近に指標の劣化が著しいレイヤが集中 → これらをFP16で実行し生成品質の劣化を抑える a. Wu et al.,“Integer Quantization for Deep Learning Inference: Principles and Empirical Evaluation”, arxiv, 2020 出力レイヤ 28
品質に影響が大きいレイヤを高精度化 評価指標が悪い順にソートし、上位N個をFP16・その他はINT8量子化 LPIPS Full FP16 上位6個のみFP16で実行することで95%評価指標を維持 29
Full FP16 vs. Full INT8 vs. Mixed (INT8 + FP16) 生成品質の比較 Baseline Full FP16 Naive Full INT8 Ours Mixed (INT8 + FP16) ● 量子化キャリブレーションの設定 ○ アルゴリズム: Entropy2[a] ○ データ数: 1,024 a. LPIPS = 0.163 LPIPS = 0.183 LPIPS = 0.170 顕著に品質劣化 Full FP16と同等な品質 梅田弾, “量子化アルゴリズム毎の精 度評価”, 2023
Full INT8 vs. Full FP16 vs. Mixed Precision (INT8 + FP16) 推論FPSの比較 最速だが視覚的な品質の 低下が顕著 FP16と同等の品質 でより高速な推論を実現 ● x1.37 ● 評価マシン: ThinkPad X1 Extreme Gen 4 ○ GPU: RTX3060M ○ CPU: Core i7-11800H 2.3GHz trtexecで実行速度を計測 ○ TensorRT 8.6.1 + CUDA 11.8 + cuDNN 9.0.7 31
TIER IV DeepPrivacy2 vs. FastFaceSwapper ラップトップを用いた推論FPSの比較 x17.0 ● x12.4 ● ● 評価マシン: ThinkPad X1 Extreme Gen 4 ○ GPU: RTX3060M ○ CPU: Core i7-11800H 2.3GHz DP2(Baseline) ○ Python 3.10.12 ○ Pytorch 2.5.1 + CUDA 11.8 + cuDNN 9.0.7 ○ torch.backends.cudnn.benchmark = True ○ torch.compileのreduce-overheadを適用 FFS(Ours) ○ trtexecで計測 ○ CUDA 11.8 + TensorRT 8.6.1 + cuDNN 9.0.7 32 32
エッジデバイスを用いた 性能評価 04 33
TIER IV Jetson Orin NXを用いた実行時間の評価 DP2はarm非対応のため、より高速な x86のラップトップ (第11世代 Core i7 2.3GHz + RTX3060M)の結果を掲載 ● x4.8 x4.5 ● x3.9 x3.3 x3.2 評価マシン: Jetson Orin NX 16GB ○ GPU: 1,024 CUDA cores + 32 Tensor cores ○ CPU: ARM A78AE 8 cores ~2.0GHz FFS-TRT (Ours) ○ trtexecで計測 ○ CUDA 11.8 + TensorRT 8.6.1 + cuDNN 9.0.7 x3.3 34
TIER IV Hailo-8を用いた実行時間・消費電力の評価 DP2はarm非対応のため、より高速な x86のラップトップ (第11世代 Core i7 2.3GHz + RTX3060M)の結果を掲載 ● ● Hailoは入力サンプル毎にパイプライン実行するため バッチサイズに関わらずスループットは一定 x5.4 x4.2 x3.9 評価マシン: Jetson Orin AGX 64GB ○ CPU: ARM A78AE 12 cores ~2.2GHz ○ Hailo-8をNVME M.2スロットに接続 FFS-Hailo (Ours) ○ FPS: hailortcli benchmarkで計測 ○ 電力: hailortcli measure-powerで計測 ○ ライブラリ: HailoRT 4.19.0 ベンチマーク時の消費電力[W] (Hailo-8単体) Min Max Average 5.71 5.81 5.77 35
リアルタイムデモ 05 36
TIER IV まとめ ご清聴いただきありがとうございました 匿名化したデータでDNNを訓練した場合の精度への影響 ● 単純なObject Detectionでは精度劣化は無視できるレベル(顔を匿名化しても全身は検出できる) ● Pose Estimationなどでは精度劣化が顕著(顔を匿名化すると特徴点を検出できない) 生成AIを用いた匿名化手法 ● 生成AIで顔の部分を生成することで匿名性を維持しつつPose Estimation等で精度劣化を大幅に抑える FastFaceSwapper ● GANベースの最先端の顔匿名化モデルの一つであるDeepPrivacy2をエッジ環境向けに最適化 ● 1/4のモデルサイズ、TensorRT(INT8+FP16の混合精度)で17倍、HailoRT(INT8 + INT16の混合精度)で4.2倍の高速化を実現 Edge環境への最適化 ● ● Instance NormをBatch Normに変更する ○ Instance Normは推論時に細粒度で平均・分散を計算する必要があり、エッジ環境に不適当 ○ Batch Normに変更した結果、僅かな生成品質の劣化に対し最大2.5倍の高速化 感度分析を用いたINT8量子化の最適化 ○ 各畳み込み層を一つずつINT8量子化し、各ケースの評価指標をプロット -> 最も評価指標が悪化した上位n個の畳み込み層のみ高 精度化することで、最小限のコストで評価指標の劣化を抑えることができる 37
TIER IV FastFaceSwapper TensorRT版 公開中 https://github.com/tier4/fastfaceswapper-tensorrt 38
TIER IV CONTACT US https://tier4.jp/ Thanks Again ! 39