Blog
近年の画像のStyle変換とVector graphicsとの関連について
AI lab creative researchグループの下田です。今回のブログ記事では機械学習を活用した画像のスタイル変換について注目を集めてきた手法の変遷と近年のトレンドについて私見でまとめた内容をご紹介しようと思います。加えて、最近の自分の研究トピックと関連の深いText style transfer、Text editingの研究について合わせて紹介させていただければと思います。
Style transfer
機械学習を活用した画像のスタイル変換としてNeural style transferと関連研究について紹介します。Style transferは画像のスタイルを他の画像へと転送する手法です。画像からスタイル情報を抽出し、異なる画像にスタイル情報を転送する処理が必要になります。Style transferは困難なタスクであると考えられていましたが、2015年に提案されたGatysらによるNeural style transferはこれを可能にしCV界隈に留まらず広く注目を集めました。Gatysら[1]はImagenetでPre-trainingされたクラス分類モデルの中間特徴量の自己相関をスタイル情報として抽出し、画像間におけるスタイル情報の類似度を考慮した最適化を行うことでスタイル情報の転送を実現しています。
Style transfer関連研究
Gatysらの手法は、自然なスタイルの変換を可能にしましたが、スタイルの転送における計算コストが大きいという問題があります。この問題の解決に向けて、Johnsonら[2]はスタイルの転送を直接行うモデルの学習方法を提案しました。各モデルにつき一枚分のスタイル情報のみという制約はあるものの、提案モデルは大幅な速度改善を実現しました。その後、このアプローチの拡張として、一つのモデルでスタイル情報の抽出とスタイル情報の転送両方を行う試みがArbitrary style transferという枠組みで広く取り組まれています[3][4][5]。特に、Adain[5]ではNormalizationの重みとバイアスについての単純な計算のみでStyle transferが可能であるということが示され注目を集めました。また、FUnit[6]では生成モデルの成功から着想を得たアプローチにより意味的なスタイル特徴の抽出も可能であることが示されました。
Neural style transferの例。左上:入力画像、他:スタイル変換画像 [1]
スタイル変換+Vector graphics
Neural style transferをはじめとしたスタイルの変換手法は広く研究され様々な手法が提案されましたが、スタイルの変換結果をコントロールするのが困難という課題があります。こういった課題に対して、Zhuら[7]は領域ごとにスタイル特徴を抽出し転送するSEANという手法を提案しています。ちなみにこちらは自分の学生時代に所属していた柳井研究室でもラーメンのStyle transferという形で応用に取り組んでいた例があるのでぜひご覧ください[8]。このようにモデルの入力に何らかの条件を与え、変換結果を操作する研究は生成モデルの研究でも広く取り組まれています。ただし、こういったアプローチでさらに操作対象を拡張しようとすると、新しい条件を追加するたびに新しいモデルを考案、学習する必要が生じます。
このような条件付けとは異なるアプローチで操作性の向上を目指す研究としては、他にVector graphicsを活用したスタイル変換があります。Vector graphicsはWeb上で広く使われている画像表現の一つです。画像を幾何的な図形の集合として表現しており、スケールの変化を介しても解像度が落ちず編集しやすくなっています。パワーポイントの図形のようなものをイメージしてもらうとわかりやすいかもしれません。Vector graphicsについての研究はCGの分野で古くから取り組まれていますが、近年はCVの分野にもVector graphicsの要素を取り入れる動きが盛んになってきたように思います。そこで、今回はVector graphicsのフォーマットでスタイル変換を実現した論文としてStylized Neural Painting[9]を簡単に紹介します。
Stylized Neural Painting
Stylized Neural Paintingは筆による描画をモデリングすることで油絵風のスタイル変換をVector graphicsの問題として取り扱っています。Stylized Neural Paintingによるスタイルの変換結果画像はVector graphicsなので拡大縮小の際にジャギが発生せず、既存のスタイルトランスファーとの併用もスムーズに行うことが可能です。また、描画順序の再現なども可能でVisualに描画行程を確認できます。
Stylized Neural Paintingでは機械学習モデルで油絵のための筆のレンダリングエンジンを再現しています。入力として、Color、Shape、Alphaの数値によるパラメータを与えることで、これに対応する筆の描画結果をStrokeとして推定するモデルを学習しています。このStrokeの描画を繰り返し重ね合わせて画像を表現すると、油絵のように見えるという仕組みになっています。
基本的に世に出回っているレンダリングエンジンは微分できませんが、Stylized Neural Paintingではこれを微分可能なモデルで再現しているため、Backwardの計算が可能になっています。また、Backwardの計算が可能なのでStrokeの描画の繰り返しにより表現された画像と対象画像との損失を最小化するための勾配が計算可能になります。Stylized Neural Paintingではこの損失を最小化するようなStrokeのパラメータ:Color、Shape、Alphaを探索しています。以下の画像が最適化しながらストロークを描画している例です。
繰り返しになりますが、変換結果画像はVector graphicsなので拡大縮小の際にジャギが発生せず、既存のスタイルトランスファーとの併用もスムーズに行うことが可能です。複数の画像からスタイルを抽出すること自体は既存のアプローチでも可能でしたが、複数のスタイルを組み合わせるという処理は既存のStyle transferだと難しい問題であったように思います。Stylized Neural Paintingではこういった変換の組み合わせも自然に行えているようです。
Text style transfer
自然画像のスタイル変換について取り上げてきましたが、テキストのスタイル変換手法についても簡単に紹介します。画像中のテキストは構造がシンプルなので自然画像と異なり、モデリングしやすいという特徴があります。実際、自然画像のスタイル変換と比較してテキストのスタイル変換においてはモデリングの要素を取り入れたアプローチが多く提案されているように感じます。特に、テキストのグリフとスタイルはDisentangleするという考え方が広く取り入れられているように感じます。以下でいくつか研究の例を紹介します。
Awesome typography[10]は文字のグリフに対応するスタイルをPatch matchingにより転送するアルゴリズムです。こちらの研究はNeral style transferの流行に影響を受けているとは思うのですが、深層学習は用いずに綺麗にスタイルの転送を実現しています。
こちらの手法[11]ではスタイルの転送をする前にグリフを変換した後にテクスチャを転送するというアプローチを提案しています。グリフの変化とテクスチャの学習を分離することで自然画像を活用したテクスチャの学習が可能になっています。
Typography with Decor[12]では文字のデコレーションをOne shotで推定し他の文字に転送する手法を提案しています。以前自然画像の対応点をとってColor transferする論文を読みましたが、文字界隈ではそれより前にこういったアプローチが取り組まれていたようです。
いくつかText style transferの手法を紹介しましたが、次はText editingというスタイル特徴を維持しながらテキストを書き換える手法を紹介します。
Text editingはアプリケーションとしては翻訳アプリの一つであるWord lensなどが以前から存在しますが、研究界隈では比較的新しい分野になります。少なくとも深層学習を活用した手法としては2019年にWuらが提案したSRnet[13]が最初の取り組みのはずです。SRnetは文字ごとではなくテキスト単位でスタイルの情報を抽出し、書き換える対象のテキストに転送するモデルを提案しました。また、このモデルは背景情報を抽出するためにInpaintingタスクも内包しています。
Stefann[14]はテキストのスタイルをフォントモデル、カラーモデルとさらに細分化し、Text editingを行う手法です。InpaintingはOpenCVの関数で済ませてしまっていて、それぞれ問題を切り分けてシンプルな形式で文字の書き換えが可能であることを示しました。
このように、テキストのスタイルに関する研究では問題を切り分けてモデリングする方向性の研究が広く取り組まれてきています。テキストとVector graphicsを組み合わせたアプローチはまだないのですが、今後盛り上がっていくのではないかと期待しています。
最後に
今回はスタイル変換の変遷とテキストのスタイル変換について紹介しました。個人的に近年はスタイル変換においては変換のモデリングと機械学習を組み合わせるアプローチが増えてきているように感じています。一方で、モデリングベースのスタイル変換に関しては機械学習以前から長く取り組まれていた研究になります。現状はモデリングの困難なケースにも対応可能な機械学習ベースの手法が注目されていたところ、操作性の向上を目指すためにモデリングベースのアプローチを見直す必要が出てきているのかなと認識しています。ちなみに、鉛筆の画風への変換をVector graphicsの枠組みで行なった研究[15]からは、深層学習は用いずに丁寧なモデリングのみで問題が解決できましたという報告もあります。対応すべきパターンの数によってはモデリングを頑張ればそれで十分という事例は今後増えてきそうなので気をつけたいですね。
今後はモデリングとデータドリブンのトレードオフを探る研究が増えるのか、何か革新的なアプローチが出てくるかはわからないですが、操作性の向上はクリエイティブ関連の応用にも重要なので、これからの動向にも注目していきたいです。余談ですが、変換をモデリングしながら機械学習を組み合わせる問題としては他に弱教師あり領域分割があります。弱教師あり領域分割は学生時代自分が取り組んでいた課題ですがいまだに未解決の問題です。弱教師あり領域分割とスタイル変換は共通点がありそうでない状況ですが今後どこかで合流する可能性はありそうな気がします。
参考文献
[1] Image Style Transfer Using Convolutional Neural Networks, Gatys et al., CVPR2016
[2] Perceptual Losses for Real-Time Style Transfer and Super-Resolution, Johnson et al., ECCV 2016
[3] Fast Patch-based Style Transfer of Arbitrary Style, Chen et al., Chen et al., arXiv preprint arXiv:1612.04337
[4] Unseen Style Transfer based on a Conditional Fast Style Transfer Network, Keiji Yanai, ICLR 2017 workshop
[5] Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization, Huang et al., ICCV 2017
[6] Few-Shot Unsupervised Image-to-Image Translation, Liu et al., ICCV 2019
[7] SEAN: Image Synthesis with Semantic Region-Adaptive Normalization, Zhu et al, CVPR 2020
[8] https://mm.cs.uec.ac.jp/RamenAsYouLike/
[9] Stylized Neural Painting, Zou et al., CVPR 2021
[10] Awesome Typography: Statistics-Based Text Effects Transfer, Yang et al., CVPR 2017
[11] Controllable Artistic Text Style Transfer via Shape-Matching GAN, Yang et al., ICCV 2019
[12] Typography with Decor: Intelligent Text Style Transfer, Wang et al., CVPR 2019
[13] Editing Text in the Wild, Wu et al., ACMMM 2019
[14] STEFANN: Scene Text Editor using Font Adaptive Neural Network, Roy et al., CVPR 2020
[15] Sketch-Generation-with-Drawing-Process-Guided-by-Vector-Flow-and-Grayscale, Tong et al., AAAI 2021
Author