[論文メモ] SketchEdit: Mask-Free Local Image Manipulation with Partial Sketches
マスクを使用しない線画による画像操作を提案。
skech-basedな手法による画像操作系は補完する部分のマスクとターゲットとなる線画を入力とするが、マスクと線画の2つを書くユーザーの手間、マスクからうまく線画を書くユーザーの能力、マスクすることで補完対象の重要な情報が落ちる等の問題があるのでマスクを使用したくない。
手法
Model
提案手法は3つのコンポーネントからなる。
1) Mask Estimator
2) Structure Agnostic Style Encoder
3) Generator
アーキテクチャの全体像は図3を参照。
Mask estimator
画像とスケッチを入力として受け取りマスクを出力するencoder-decoder ()
マスクはsigmoidで[0, 1]にする。
編集したい周辺のスタイルが必要なので、スタイル用の画像の一部を、変更しない部分をとする。はアダマール積。
Structure agnostic style encoder
style encoder は編集したい部分の構造を無視しつつスタイルを取り出すこと。
そのためにconvolutionしてglobal max poolingし1次元のベクトルを出力する。入力はマスクと部分スタイル画像。
得られたベクトルを空間方向にリピートしてスタイルマップ を得る。がスタイルの次元、が空間の次元。
Learning by reconstruction
既存手法と違ってマスクを予測する必要がある。自己教師ありで普通にやると当然マスクが画像全体になり、mask estimatorは恒等写像になる。
それを避けるために、モデルに画像を入力する前にランダムなlocal warpingとregion dropoutを施し画像を劣化させる。
Local warping
ランダムにサンプリングした領域内の境界(エッジ)部分に頂点を配置して三角メッシュを生成し画像を変形させる。顔画像に関してはlandmarkを頂点とする。
変形することでもとの画像のテクスチャや色を維持したまま構造が異なる画像を生成できる。
この変形した画像を使って元の画像を復元するタスクを学習することで、構造を無視した生成が可能になる。
Bi-directional mask regularization
変形した画像を使って学習するためmask estimatorは変形によるアーティファクトの検出を学習してしまう(図6の3列目)。
これを解決するためにbi-directional maskを使ったlossと正則化を追加する。
変形のフローを、スケッチ画像を、変形後の画像を、同じ変形フローを適用したスケッチをとする。
mask estimator にdecoderを追加し、とから元画像を復元するタスクととからを復元するタスクを学習させる。
追加したdecoderに画像とスケッチから生成した画像を、これをマスクに基づいてブレンドした画像をとして bi-directional mask regularization (BMR) loss は
BMRを適用した結果が図6の4列目。
Regional dropout
変形した画像は元画像と視覚的に似た要素を持っているが、実際に利用するときにはそうではなく、Generatorが新規に生成する必要もある。
そこでサンプリングした領域をランダムにdropoutしてとの相関を減らす。
loss
lossは先程のBMRlossとL1のreconstruction loss、adversarial lossに似たhinge loss。
hinge lossはmask estimatorとGeneratorの出力を組み合わせてDiscriminatorを騙そうとするので2つのモデルの強調を促進する。