[DL輪読会]Geometric Unsupervised Domain Adaptation for Semantic Segmentation

423 Views

January 21, 22

スライド概要

2022/01/21
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Geometric Unsupervised Domain Adaptation for Semantic Segmentation Yuting Lin, Kokusai Kogyo Co., Ltd.(国際航業) http://deeplearning.jp/ 1

2.

書誌情報 • タイトル – Geometric Unsupervised Domain Adaptation for Semantic Segmentation • 著者 – Vitor Guizilini, Jie Li Rares, Ambrus, Adrien Gaidon (TRI) • ICCV2021(poster)に採択 • Paper – https://openaccess.thecvf.com/content/ICCV2021/papers/Guizilini_Geometric_Uns upervised_Domain_Adaptation_for_Semantic_Segmentation_ICCV_2021_paper.pdf • Code – https://github.com/tri-ml/packnet-sfm(別のプロジェクト?) 2

3.

概要 • Unsupervised Domain Adaptation (UDA)の課題 • 多くの手法は、敵対的な学習を採用 • 識別器の学習が難しい • domainのsemanticに関するギャップを接近させにくい – proxy/pretext taskで性能を向上 • segmentation以外のタスクも同時に学習(回転角度を予測) • Global表現より、画素レベルの表現の学習が必要 • 本論文は、画素レベルの表現学習を実現するproxy taskを利用したUDA手 法を提案 3

4.

既往研究 - UDA • 基本は、self supervised learning (a.k.a pseudo label)で行う – pixel/feature/outputレベルで、sourceとtargetをalignment – 直接domainの分布に対した方法の効果は限定的 • proxy taskの活用 – – – – – source domainの他のmodalityを利用し、学習をガイド SPIGANは疑似的depth情報を追加の正則項で学習 GIO-Adaはdepthとnormal情報で、targetへのstyle transferを学習 DADAはdepthとsegmentationをshared encoderで推定 提案手法は、target domain(video)においても、depthを同時に推定することで (geometricな情報を利用)、性能を向上 4

5.

既往研究 - Self-supervised learning (SSL) • 主な流派 – pre-training + fine-tuning – multi-task learning: rotation, patch jigsaw puzzlesなど • domain-invariant & fine-grained特徴を学習できる • 汎化性能が高い – GUDAは後者を採用 5

6.

提案手法 • Preliminary ෡ – Depth: 𝑓𝐷 : 𝐼 → 𝐷 – Semantic: 𝑓𝑆 : 𝐼 → 𝑆መ (𝑓𝐷 , 𝑓𝑠 のencoderはshared) – Pose: 𝑓 : 𝐼 , 𝐼 → 𝑇෢𝑏 𝑇 𝑎 𝑏 𝑎 – 損失関数 ℒ = ℒ𝑅 + λ𝑉 ℒ𝑉 – Mixed batch: 𝐵𝑉 , 𝐵𝑅 – 連続3フレームで学習 𝐼𝑡−1 , 𝐼𝑡 , 𝐼𝑡+1 – 内部パラメータKを既知とする 6

7.

提案手法 • Real sample処理 – Loss関数 ℒ𝑅 = ℒ𝑃 + λ𝑃𝐿 ℒ𝑃𝐿 where ℒ𝑃 : self-supervised photometric loss ℒ𝑃𝐿 : optional pseudo-label loss 7

8.

提案手法 • Real sample処理:Self-Supervised Photometric Loss – Self-Supervised depthとpose推定は、view synthesis問題 𝑡′ ෢𝑡 , 𝑇෢ 𝐼෡𝑡 = 𝐼𝑡′ 𝜋 𝐷 𝑡 ,𝐾 𝑡′ ෢𝑡 =predicted depth map, 𝑇෢ where 𝐼෡𝑡 =predicted target image, 𝐼𝑡′ =reference image, 𝐷 𝑡 =relative transformation, 𝜋=projection operation – 再構築誤差は、structural similarity (SSIM) とL1 distance in pixel spaceで構成され るstandard photometric lossで求める 1 − 𝑆𝑆𝐼𝑀 𝐼𝑡 , 𝐼෡𝑡 ℒ𝑃 𝐼𝑡 , 𝐼෡𝑡 = 𝛼 + 1 − 𝛼 𝐼𝑡 − 𝐼෡𝑡 1 2 • SSIMは解像度が異なるoutputの平均を取る • auto-maskingと最小再投影誤差で、動物体とオクルージョンによる影響を抑える 8

9.

提案手法 • Real sample処理: Pseudo-Label Distillation – Pseudo-Labelを教師とし、Cross Entropy Lossでrealデータのセグメンテーションを学 習 መ 𝑆 𝑃𝐿 ℒ𝑃𝐿 = ℒ𝑆 𝑆, መ where 𝑆=predicted semantic map, 𝑆 𝑃𝐿 =Pseudo Label of same sample 9

10.

提案手法 • Virtual sample処理 – Loss関数 ℒ𝑉 = ℒ𝐷 + λ𝑆 ℒ𝑆 + λ𝑁 ℒ𝑁 + λ𝑃𝑃 ℒ𝑃𝑃 where ℒ𝐷 : supervised depth loss ℒ𝑆 : supervised semantic loss ℒ 𝑁 : surface normal regularization term ℒ 𝑃𝑃 : optional partially-supervised photometric loss 10

11.

提案手法 • Virtual sample処理: Supervised Semantic Loss – bootstrapped cross-entropy loss: scoreが低いK(0.3×H×W)の推定結果のみ逆伝 播に 𝐻 𝑊 𝐶 1 𝑐 ℒ𝑆 = − ෍ ෍ ෍ 𝕝 𝑐=𝑦𝑢,𝑣 ,𝑝𝑢,𝑣 𝑐 <𝑡 log 𝑝𝑢,𝑣 𝐾 𝑢=1 𝑣=1 𝑐=1 where t=run-time threshold 11

12.

提案手法 • Virtual sample処理: Supervised Depth Loss – Scale-Invariant Logarithmic loss (SILog) 1 𝜆 2 ℒ𝑆 = ෍ ∆𝑑 − 2 ෍ ∆𝑑 𝑃 𝑃 𝑑∈𝐷 2 𝑑∈𝐷 where ∆𝑑 = log 𝑑 − log 𝑑መ P: depthがvalidの画素数 12

13.

提案手法 • Virtual sample処理: Surface Normal Regularization – Depth推定は画素ごとに行うため、smoothingをかけた方が性能が良い – Depthから計算したNormalをsmoothing 𝒏 = 𝑷𝑢+1,𝑣 − 𝑷𝑢,𝑣 × 𝑷𝑢,𝑣+1 − 𝑷𝑢,𝑣 where 𝑷 = ∅ 𝒑, 𝑑, 𝐾 画像上の点pを3Dに投影した点P – Cosine類似度でnormal正則化を行う ෝ∙𝒏 1 𝒏 ℒ𝑁 = ෍ 1− ෝ 𝒏 2𝑃 𝒏 𝒑∈𝐷 – Geometricな情報を学習できるようになった • 境界の鮮明化 • 遠い物体の精度向上 13

14.

提案手法 • Virtual sample処理: Partially-Supervised Photometric Loss – Virtualデータも連続画像の場合、Self-Supervised Photometric Lossも適用できる – depth/poseごとの教師があるため、depth/poseにdecouple 𝑡′ ෢𝑡 , 𝑇෢ – Original: 𝐼෡𝑡 = 𝐼𝑡′ 𝜋 𝐷 𝑡 ,𝐾 𝐷 ෢𝑡′ , 𝐾 – Depth:𝐼෢ = 𝐼 𝜋 𝐷 , 𝑇 𝑡′ 𝑡 𝑡 𝑡 ෢𝑡 , 𝑇𝑡𝑡′ , 𝐾 – Pose: 𝐼෡𝑡𝑇 = 𝐼𝑡′ 𝜋 𝐷 ℒ𝑃𝑃 1 𝐷 ෡𝑇 = ℒ𝑃 𝐼𝑡 , 𝐼෡𝑡 + ℒ𝑃 𝐼𝑡 , 𝐼෢ 𝑡 + ℒ 𝑃 𝐼𝑡 , 𝐼𝑡 3 14

15.

実験の設定 • ネットワーク – – – – Shared backbone: ResNet101 w/ ImageNet pre-trained Depth/semantic decoder: [1] Pose encoder: ResNet18 w/ ImageNet pre-trained Pose decoder: conv layers数個 • Datasets – Real datasets: Cityscapes, KITTI, DDAD – Virtual datasets: SYNTHIA, VKITTI2, Parallel Domain, GTA5 [1] Digging Into Self-Supervised Monocular Depth Estimation. https://arxiv.org/pdf/1806.01260.pdf 15

16.

実験結果 • UDA Semantic Segmentation on Cityscapes – SOTAを達成 • 動画からのself-supervised geometric constraintsを用いたDepth推 定を2つドメインで行うことで、モデルの汎化性能を向上 • road, sidewalk, building等、境界が明確なクラスの精度が従来手法 より高い • Static環境を仮定するため、レアな動物体(motorcycle)が課題 • Pseudo labelで改善 16

17.

実験結果 • UDA Semantic Segmentation on other datasets – VKITTI2 to KITTI – Parallel Domain to DDAD – 初の検討 17

18.

実験結果 • データの量・質による影響 – 性能向上を線形とする場合、提案手法は、200kのvirtualデータでdomain gapを埋め られる(DANNは350k) 18

19.

実験結果 • Ablation Study – Geometric supervisionは性能向上に貢献 – 提案手法の有効性を確認 19

20.

実験結果 • Depth Estimation – Fine-tuneより精度が高い – GUDAはscale-aware情報を保持 – Encoderを大きいネットワークに変えると、更なる改善を見込める 20

21.

実験結果 • 定性評価 21

22.

まとめ • geometric taskをセグメンテーションとのmulti-task learningにすることがDAに 有効 • Self-supervised learningで、教師なしかつ、ドメイン情報を学習する必要がな いDAを実現 • 動画を対象になるため、単写真タスクは適用できない(?) 22