238 Views
April 22, 19
スライド概要
2019/03/29
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Seminar] EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning Tomoki Tanimura, Keio University
書誌情報 • タイトル • EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning • 著者 • Kamyar Nazeri, Eric Ng, Tony Joseph, Faisal Z. Qureshi, MhranEbrahimi • CanadaのOntario大学 • 投稿 • 2月にArxivに投稿されたもの !2
概要 • 既存のInpainting手法は構造的な情報を過度なスムージングで失ってしまっている • 画像のEdge MapをImage Inpaintingに利用した手法を提案 • CelebA, Places2, Paris StreeView datasetにおいて,SoTA !3
モチベーション • 前提 • 人間は画像を見たときに,一部だけ異なる部分がある(一貫性が保てていない部分がある)と, そこに意識が集中してしまう • 既存手法の問題点 • Inpaintingした部分だけが,過度に平滑化されて,ぼやけてしまっている • →何とかしたい • 仮説 • Lines First, Color Next • 画像のEdge Mapを利用すれば,はっきりした画像が再構成できるのではないか? !4
提案手法 • Edge Mapを利用したImage Inpainting手法を提案 • 手法の概要 • Edge Generator: Edge Mapにおけるマスク部分をInpainting • Image Completion Network: InpaintingされたEdge Mapを利用して,元画像をInpainting もっとわかりやすい画像に変更する !5
Image Inpaintingとは • 画像の欠損部分を自然に埋めるタスク !6
既存手法 • 拡散ベース (Diffusion based) • パッチベース (Patch based) • 学習ベース (Learning based) • ネットワークの工夫 !7
拡散ベース (Diffusion based) • 特徴 • 周辺ピクセルの加重平均をとったりする手法 • OpenCVにデフォルトで実装されているような手法 • 限界 • 画像の意味的な情報を考慮できない • 大きな範囲を再構成することには限界がある !8
パッチベース • 特徴 • マスク領域周辺に類似している領域を同じ画像ないから検索し貼り付ける • マスク領域に類似する領域が画像内に存在することが前提 • 限界 • 顔画像において口を再構成するケースのように 画像にないものを再構成することはできない • 出現頻度が低いものを再構成が難しい • PatchMatch • 類似パッチの検索をランダムに行うアルゴリズムを提案し, 計算時間を圧倒的に短縮した !9 PatchMatch
学習ベース • 特徴 • GANのGeneratorをImage Inpainting Networkにして学習する • 入力は元画像とマスク画像,再構成したものと元画像をDiscriminatorにかける • 限界 • 過度に平滑化されてぼやけた出力になってしまう • GLCIC • Dilated Conv & 2つのGlobalとLoaclの Discriminatorによって高精度のInpaintingを実現 !10 GLCIC
ネットワークの工夫 • 特徴 • 基本は学習ベースの手法で,様々なCV系のタスクで使われるテクニックを盛り込んだ • 限界 • そもそもCoarse resultが正しい構造を持っているとは 限らない • マスクの形が限られる • CA (with Contextual Attention) • Coarse-to-Fine構造の導入 • Coarse Resultと元々の入力画像との 類似度を計算するAttention機構を導入 !11 CA (Generative Image Inpainting with Contextual Attention)
EdgeConnect • G1 (Edge Generator)とG2 (Image Completion Network)で構成される • Edge Generater (G1) • 入力: グレースケール画像,Edge画像,マスク画像 • 出力: 再構成されたEdge画像 学習 • G1とG2を,D1, D2を用いて それぞれ別々に学習 • Image Completion Network (G2) • D1を抜いて,G1とG2を • 入力: 元画像,再構成されたEdge画像 End-to-Endで学習 • 出力: 再構成画像 Edge Generater !12 Image Completion Net
Edge Generator • Generater • Dilated Residual Blocks • 各層: Convolution - Spectral Norm - Instance Norm - ReLU • Loss • Adversarial Loss + Feature-Matching Loss • Adversarial Loss (SNGAN) • Feature Matching Loss !13
Adversarial Loss • Generater • ノイズから何らかの画像を生成する • Discriminater • 生成された画像とデータセットにあるリアル な画像を見て,どちらが本物の画像かを見分 ける • イメージ • Discriminaterの見分ける能力が高まる • Generaterは見分ける能力が高まった Discriminaterをだますように学習する • 結果的にGeneraterが本物のような画像を生 成できるようになる !14
Image Inpaintingにおける敵対的学習 • 入力画像と,入力画像にマスクをかけた画像 を用意 • Generater • マスクを含む入力画像からマスクを再構成 した画像を生成 • Discriminater • 元々の入力画像とマスク部分が再構成され た入力画像を識別す • 目的関数 • • C: Completion Network (Generater) D: Discriminater, M: Mask !15
Edge GeneraterのAdversarial Loss 元画像から作成したエッジ画像 再構成されたエッジ画像 マスクがかかる前の白黒画像 !16
Feature Matching Loss • Discriminaterの中間層のFeature Map比較する • 再構成画像を入力した時のDのFeature Map • 元画像を入力した時のDのFeature Mapを比較 • 各Feature MapのL1 Lossの期待値を最小化する 各Feature Mapの 差分の期待値 リアル画像の Feature Map 生成画像の Feature Map • Perceptual Lossに似ているが,今回はEdge画像であるため,Perceptual Lossによる学習は難 しいため,Feature Matching Lossにした !17
Image Completion Network • GeneraterはEdge Generaterと同じ • Loss • L1 Loss + Adversarial Loss + Perceptual Loss + Style Loss • Perceptual Loss • Style Loss • Adversarial Loss (without SN) • Loss関数による制約が多いため,SNを入れると学習が極端に遅くなるため,抜いた !18
Perceptual Loss • 単純な生成結果とリアル画像の結果の差分を測るの ではなく,生成結果とリアル画像が類似した特徴量 を持つように学習する(画像のコンテンツ近づける) Perceptual Lossの論文の図 • 生成画像とリアル画像をLoss Network (VGG pertained by Image Netなど)に入力した際の Feature Mapの差分 • 9 各Feature Mapの 差分の期待値 リアル画像の Feature Map 生成画像の Feature Map !19
Style Loss • 生成画像とリアル画像のスタイル(色,テクスチャ, 視覚的なパターン)が似るように学習 • Perceptual Lossで利用するFeature Mapのペア(生 Style Lossの論文の図 成とリアル)のグラムマトリックスの差分 • リアル画像の 生成画像の Feature Mapの Feature Mapの Gram Matirx Gram Matrix 9 Gram Matrix チャンネルcとc’におけるFeature Mapの要素席の和 !20
実験 • Edgeの検出 • 正解データの作成も含め,Cannyエッジ検出を利用した • 他のEdge検出手法を使用した時の精度比較も行なっている • Mask画像 • Regular HoleとIrregular holeどちらも使用して実験した • 画像データセット CelebA • CelebA, Places2, Paris StreetView • サイズ: 256x256 !21 Regular Hole Irregular Hole Places2 Paris Street View
実験内容 • 定性評価 • • Inpaintingの結果とEdge画像のInpaintingの結果 GLCIC, CAの結果との比較 • 定量評価 • L1, PSNR, SSIM, FID • ユーザー評価 • • 画像を見せてリアルか否かを答えるテスト リアル画像と再構成結果の画像を見せてどちらがリアルかを答えるテスト • Edgeを利用することによる精度向上に関する検証 !22
定性評価 • 画像の広範囲にマスクがかかっていてもリアルな再構成が可能 • Style LossによってCheckerboard模様がなく,綺麗に生成されている. Original Input (Inpainted) Inpainted Edge !23 Original Input (Inpainted) Inpainted Edge
他の手法との比較 • 他の手法よりもGTに近い結果を得られた. • Edgeの情報を利用することで,Inpaintingの際に色の分布だけを学習すれば良いため,精度が 高いらしい CA GLCIC !24 EdgeのGTを使用して Inpainting
定量評価指標 • PSNR(ピーク信号ノイズ比) • 2つの画像間のノイズ比率を表す. M AXI2 P SN R = 10 ⇥ log10 M SE M AXI = 20 ⇥ log10 p M SE • SSIM(Structual Similarity) • 画素値の変化,コントラストの変化,構造の変化を表す SSIM = (2µx µy + c1 )(2 xy + c2) (µ2x + µ2y + c1 )( x2 + y2 + c2 ) !25
定量評価指標 • FID (Frechet Inception Distance) • 画像間の特徴を比較するスコア(ピクセル依存じゃない) • Inception-V3にリアル画像を入力した時と生成された画像を入力した時の中間層のベクトルhを 比較 • 各ベクトルhが多次元のガウス分布に従っていると仮定し,分布間のWasserstein距離を測る !26
定量評価の結果 • 画像に対するマスクの比率を変えながら,各 指標を測定 • だいたい勝ってる • L1 LossがPconvに負けているのは測定に公平 さがないためだと主張 • Pconvは著者実装が公開されていなかったった め,論文内にある値のみ !27
ユーザー評価 • 2AFC: ランダムで選択された画像を見せて,リアルかリアルじゃないか答える • JND: リアル画像と生成画像を見せて,どっちがリアルか答えさせる • 結果 • 従来手法に比べて,かなりスコアは高くなっている • を考えると,結構高い !28
Edgeの効果 • Edgeありとなしで同じネットワークで学習した結果 • Edge無しの場合は,Image Completion Networkの方だけを学習した • Edgeが効いていることがわかった !29
Edgeの検出方法によるInpaintingへの影響 • Canny Edge検出のガウシアンフィルターの標準偏差 (σ)をいろんな値に変化させた • σが低いとあまりsmoothingされないため細かいEdgeまで検出される • 高いと逆に検出されない !30
他の検出手法を試した • Cannyによるエッジ検出とNNベースのHEDという手法を組み合わせた • HEDはEdgeごとに強度や太さも出る • 仮説 • Cannyとの要素席をとれば,より手書きっぽいEdge画像が生成できる • 手書きっぽいほどうまくInpaintできるのでは • 結果無理だった !31
アプリケーション 片方を別の画像のEdgeにして生成 不要なオブジェクトを除去するために使用 !32
まとめ • 画像のEdge情報を利用することで,自然な再構成を実現した • 従来手法よりも高い精度を達成した • EdgeがInpaintingに効いていることがわかった • Edge Generaterがうまく再構成できないといけないので,その改良が必要 • 高解像度の画像に対してはEdgeの再構成が難しい !33