敵対的データ拡張による自動線画化

シモセラ エドガー*, 飯塚里志*, 石川博   (*筆頭著者に相当)

Mastering Sketching

© 窪之内英策(@EISAKUSAKU)

本研究では、ラフスケッチの自動線画化を効果的に学習するための統合的なフレームワークを提案する。提案手法では、線画化ネットワークおよび線画識別ネットワークを構築し、線画識別ネットワークは本物の線画と線画化ネットワークによって作られた線画を区別するように、線画化ネットワークは出力した線画を識別ネットワークが区別できないように学習を行う。このアプローチには2つの利点がある。一つ目は、識別ネットワークは線画の「構造」を学習できるため、線画化ネットワークがより精細で本物に近い線画を出力できるようになる。二つ目は、対応関係のないラフスケッチと線画を学習に取り入れることができ、実世界の多様な教師なしデータを線画化ネットワークに学習させることができる点である。本学習フレームワークを用いることで、最新の線画化手法よりも精細で多様な線画化が可能となる。さらに、提案手法は入力画像のみをさらに学習することで、入力画像に対する線画化ネットワークの最適化を行うことができる。また、提案手法により、逆問題、すなわち線画から鉛筆画への変換も学習できることを示す。

アプローチ

Our training approach

提案手法では、畳み込みニューラルネットワークを用いてラフスケッチを綺麗な線画に変換する。そのため、既存の線画化手法を、補助識別ネットワークを用いた教師ありデータと教師なしデータの同時学習によって拡張する。この識別ネットワークは、本物の線画と線画化ネットワークによって作られた線画を区別するように学習し、線画化ネットワークは出力した線画を識別ネットワークが区別できないように学習を行う。

モデルは3種類のデータを使って学習を行う。すなわち、ラフスケッチ-線画の教師ありデータ、教師なしのラフスケッチ、教師なしの線画である。線画化ネットワークの学習のため、教師ありデータに対しては教師ロスと識別ネットワークを用い、教師なしラフスケッチには識別ネットワークのみを用いる。識別ネットワークはすべての線画を正例、すべてのラフスケッチを線画化ネットワークで変換した画像を負例として学習を行う。

図の2つのラフスケッチはDavid Revoy氏(www.davidrevoy.com)の作品でCC-by 4.0の下使用しています。

結果

Sketch Simplification Results

紙からスキャンされた複雑なラフスケッチを線画化した結果。1列目と3列目の入力画像は窪之内英策氏(@EISAKUSAKU)のイラスト、非商用・研究目的のみの使用で2列の画像はDavid Revoy氏(www.davidrevoy.com)の作品でCC-by 4.0の下使用している。

鉛筆画の生成

Pencil Drawing Generation Results

提案手法は線画化だけでなく、様々なタスクに応用することができる。上図では、線画から鉛筆画を生成するモデルを提案手法によって学習した結果を示している。異なるイラストレーターの鉛筆画をそれぞれのモデルで学習することで、それぞれ異なるスタイルの鉛筆画を学習できていることがわかる。

Single Image Optimization

Single Image Optimization Results

提案手法は教師なしデータを扱うことができるため、未知のデータに対する良好な線画化を学習させるだけでなく、テストデータが良好に線画化できるようにモデルを最適化することができる。この際、正解データは必要としない。上の結果では、学習したモデルそのままではうまく線画化できていないが、最適化後は良好な線画を出力できている。詳細は論文を参照してください。

図の2つのラフスケッチはDavid Revoy氏(www.davidrevoy.com)の作品でCC-by 4.0の下使用しています。

本研究は一部JST CREST (No. JPMJCR14D1)、JST ACT-I (No. JPMJPR16UD, No. JPMJPR16U3) の援助を受けている。

論文

2018年

Mastering Sketching: Adversarial Augmentation for Structured Prediction
Mastering Sketching: Adversarial Augmentation for Structured Prediction
Edgar Simo-Serra*, Satoshi Iizuka*, Hiroshi Ishikawa (* equal contribution)
ACM Transactions on Graphics (Presented at SIGGRAPH), 2018
We present an integral framework for training sketch simplification networks that convert challenging rough sketches into clean line drawings. Our approach augments a simplification network with a discriminator network, training both networks jointly so that the discriminator network discerns whether a line drawing is a real training data or the output of the simplification network, which in turn tries to fool it. This approach has two major advantages. First, because the discriminator network learns the structure in line drawings, it encourages the output sketches of the simplification network to be more similar in appearance to the training sketches. Second, we can also train the simplification network with additional unsupervised data, using the discriminator network as a substitute teacher. Thus, by adding only rough sketches without simplified line drawings, or only line drawings without the original rough sketches, we can improve the quality of the sketch simplification. We show how our framework can be used to train models that significantly outperform the state of the art in the sketch simplification task, despite using the same architecture for inference. We additionally present an approach to optimize for a single image, which improves accuracy at the cost of additional computation time. Finally, we show that, using the same framework, it is possible to train the network to perform the inverse problem, i.e., convert simple line sketches into pencil drawings, which is not possible using the standard mean squared error loss. We validate our framework with two user tests, where our approach is preferred to the state of the art in sketch simplification 92.3% of the time and obtains 1.2 more points on a scale of 1 to 5.
@Article{SimoSerraTOG2018,
   author    = {Edgar Simo-Serra and Satoshi Iizuka and Hiroshi Ishikawa},
   title     = {{Mastering Sketching: Adversarial Augmentation for Structured Prediction}},
   journal   = "Transactions on Graphics (Presented at SIGGRAPH)",
   year      = 2018,
   volume    = 37,
   number    = 1,
}

ソフトウェア

Sketch Simplification Network
Sketch Simplification Network, 1.0 (2017年12月)
Sketch Simplification Convolutional Neural Network
This code is the implementation of the "Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup" and "Mastering Sketching: Adversarial Augmentation for Structured Prediction" papers. It contains pre-trained models and example usage code.