ラフスケッチの自動線画化

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

Sketch Simplification

本研究では、畳込みニューラルネットワークを用いてラフスケッチを線画に自動変換する手法を提案する。既存のスケッチ簡略化手法の多くは単純なラフスケッチのベクター画像のみを対象としており、スキャンした鉛筆画など、ラスター形式の複雑なラフスケッチを線画化するのは困難であった。これに対し提案手法では、3種類の畳込み層から構成されるニューラルネットワークモデルによって複雑なラフと線画の対応を学習することで、ラスター形式の様々なラフスケッチを良好に線画化することができる。提案モデルでは、任意のサイズやアスペクト比をもつ画像を入力として扱うことが可能であり、出力される線画は入力画像と同じサイズになる。また、このような多層構造をもつモデルを学習させるため、ラフスケッチと線画がペアになった新しいデータセットを構築し、モデルを効果的に学習させる方法を提案した。得られた結果についてユーザテストを行い、提案手法の性能が既存手法を大きく超えることを確認した。

モデル

線画化モデル

提案モデルはすべての層が畳込み層のみから構成される多層ニューラルネットワークであり、ラフスケッチが入力されるとその線画が出力される。このモデルはdown-convolution, flat-convolution, up-convolutionの3種類の畳込み層から構成されている。down-convolutionではフィルタのストライド数を2にすることでマップの解像度を半分にし、flat-convolutionではマップの解像度は変えず、up-convolutionではストライド数を1/2にしてマップの解像度を2倍にしている。これにより、最初は画像を小さな特徴マップに圧縮して処理していき、最後に元の解像度に戻してきれいな線画を出力することができる。

結果

線画化の結果

様々な種類のラフスケッチの線画化について実験を行い、良好な結果が得られることを示した。また、ユーザテストによって既存手法よりも良好な結果が得られていることを確認した。画像(a),(b),(d)はテストセットの一部であり、画像(c)と(e)はそれぞれFlickrユーザ”Anna Anjos”および”Yama Q”の作品をCreative Commonsライセンスのもとで使用している。

比較

既存のツールと提案手法の比較

既存のツールと提案手法の比較結果。ここでは、PotraceおよびAdobe Live Traceと比較している。提案手法は既存手法と比べ、自然な線画が生成されていることがわかる。

さらに詳しい内容については論文を参照。

本研究は一部 JST CREST の援助を受けている。

論文

2016年

Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup
Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup
Edgar Simo-Serra*, Satoshi Iizuka*, Kazuma Sasaki, Hiroshi Ishikawa (* equal contribution)
ACM Transactions on Graphics (SIGGRAPH) , 2016
In this paper, we present a novel technique to simplify sketch drawings based on learning a series of convolution operators. In contrast to existing approaches that require vector images as input, we allow the more general and challenging input of rough raster sketches such as those obtained from scanning pencil sketches. We convert the rough sketch into a simplified version which is then amendable for vectorization. This is all done in a fully automatic way without user intervention. Our model consists of a fully convolutional neural network which, unlike most existing convolutional neural networks, is able to process images of any dimensions and aspect ratio as input, and outputs a simplified sketch which has the same dimensions as the input image. In order to teach our model to simplify, we present a new dataset of pairs of rough and simplified sketch drawings. By leveraging convolution operators in combination with efficient use of our proposed dataset, we are able to train our sketch simplification model. Our approach naturally overcomes the limitations of existing methods, e.g., vector images as input and long computation time; and we show that meaningful simplifications can be obtained for many different test cases. Finally, we validate our results with a user study in which we greatly outperform similar approaches and establish the state of the art in sketch simplification of raster images.
@Article{SimoSerraSIGGRAPH2016,
   author    = {Edgar Simo-Serra and Satoshi Iizuka and Kazuma Sasaki and Hiroshi Ishikawa},
   title     = {{Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup}},
   journal   = "ACM Transactions on Graphics (SIGGRAPH)",
   year      = 2016,
   volume    = 35,
   number    = 4,
}

ソフトウェア

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.