Style Transferとはl 画⾵を変換するアルゴリズムのこと(2015年8⽉に公開)– 2枚の画像を⼊⼒として，⽚⽅をコンテンツ画像，⽚⽅をスタイル画像とする– コンテンツ画像に書かれた物体の配置をそのままにして，画⾵をスタイル画像に変換した画像を⽣成

コンテンツ画像

スタイル画像⽣成画像1

本研究の⽬的「Neural Style Transferをモバイル上に実装」
l 既存⼿法– 1つのモデルで1つのスタイル– 学習に時間を要する– 消費メモリの増⼤

l 提案⼿法– 1つのモデルで複数のスタイルを変換可能– モバイル上でのリアルタイム画⾵変換
2

関連研究
l Neural Style Transferを提案 [Gatys+ 2015]– 画像のコンテンツ(形状)を保持したまま，スタイル(画⾵)を変化– AIによる芸術的画像の⽣成

3

各レイヤの特徴マップから画像を再構築
conv1conv2 conv3 conv4 conv5
StyleReconstructions

ContentReconstructions
conv1conv2 conv3 conv4 conv5

4

コンテンツ画像の特徴マップ再構築

浅いレイヤ
・正確な元画像の情報を保持

深いレイヤ
・空間的な位置関係はそのまま→画像が持つ重要な情報を保持．
・正確な形などの情報は弱まる 5スタイル画像の特徴マップ再構築
浅いレイヤ
・画像の細かなパターン情報を保持深いレイヤ
・画像の⼤きめの空間パターンを保持

6

Gatysらの⼿法のポイント
l 情報が弱まっている部分を，別の画像の画⾵(スタイル)に変換すれば，コンテンツ画像の形状を保持したまま，別のスタイルに画像を変換できるのでは？

スタイル画像コンテンツ画像
⼊⼒画像

スタイル画像深いレイヤ・浅いレイヤ
どちらも利⽤
コンテンツ画像CNNの深いレイヤの特徴量から復元した画像

7

損失関数

スタイル画像深いレイヤ・浅いレイヤ
どちらも利⽤スタイル画像コンテンツ画像CNNの深いレイヤの特徴量から復元した画像コンテンツ画像
⼊⼒画像

損失関数

コンテンツ画像の外形を保持しつつ，スタイルを変換したい…

最⼩化

8

Gatysらの⼿法まとめl 損失関数に学習済みCNNを利⽤
l ⽣成画像は⼀様乱数で初期化l 順伝搬＆逆伝搬を反復

l 問題点𝐿/*0)10)
コンテンツ・順伝搬・逆伝搬– ⽣成に時間がかかる

⽣成画像– GPU利⽤で数⼗秒程度

Pre-trained𝐿)*)+,
VGG-16
逆伝搬𝐿4)5,1

スタイルargmin 𝐿)*)+, = 𝛼𝐿/*0)10) + 𝛽𝐿4)5,1

9

関連研究
l 順伝搬でスタイル変換できる⼿法を提案 [Johnson+
2016]– ⼊⼒画像のスタイルを変換するNN (𝒇𝒘) を学習– ⽣成時は順伝搬のみなので⾼速順伝搬

⼊⼒画像

画像変換NN

𝒇𝒘

⽣成画像

10

Johnsonらの⼿法
l MSCOCO 8万枚 + スタイル画像で𝑓9 を学習

𝒇𝒘

MS COCO
Dataset 8万枚𝑦;
MS COCO
Dataset 8万枚

画像変換NN

逆伝搬𝐿/*0)10)Pre-trained
VGG-16
𝐿4)5,1

スタイル

arg𝑚𝑖𝑛 𝑦; = 𝛼𝐿/*0)10) + 𝛽𝐿4)5,1 + 正則化項

11

Johnsonらの⼿法まとめl 特定スタイルを変換可能なCNNを学習
l 順伝搬でスタイル変換可能– ⾮常に⾼速に画像⽣成可能に

l 問題点– 1つのモデルで1つのスタイル– 学習に時間を要する– 消費メモリの増⼤12

Johnsonらの⼿法の問題点
l 1つのモデルで1つのスタイル

𝒇𝒘

MS COCO
Dataset 8万枚

𝑦;
逆伝搬
MS COCO
Dataset 8万枚

𝐿/*0)10)

画像変換NNスタイル

MS COCO
Dataset 8万枚

ContetPre-trained
VGG-16

𝒇𝒘𝐿4)5,1MS COCO
Dataset 8万枚
Style

Johnson’s
NN 𝐿𝑦;

画像変換NN

逆伝搬

𝑚𝑜𝑑𝑒𝑙 1/*0)10)Pre-trained
VGG-16
𝐿4)5,1

スタイル

13

Johnsonらの⼿法の問題点
l 1つのモデルで1つのスタイル
ContetStyle 1Style 2・・・

Style nJohnson’sNN𝑚𝑜𝑑𝑒𝑙 𝑛𝑚𝑜𝑑𝑒𝑙 1𝑚𝑜𝑑𝑒𝑙 2・・・

𝑚𝑜𝑑𝑒𝑙 𝑛

問題点

・学習に時間がかかる
・消費メモリの増⼤・変換の質が画像の質に依存
14Johnsonらの⼿法まとめ(再掲)l 特定スタイルを変換可能なCNNを学習
l 順伝搬でスタイル変換可能– ⾮常に⾼速に画像⽣成可能に

l 問題点– 1つのモデルで1つのスタイル– 学習に時間を要する

モバイル
実装困難…

– 消費メモリの増⼤

15

⽬的l Johnsonらの⼿法を拡張し，1つのモデルで複数のスタイルの同時学習を可能に– 学習時間の削減– 消費メモリの削減
従来⼿法

1対1
提案⼿法

1対複数
16

本研究の貢献① 単⼀のモデルで複数のスタイルを任意の重みで合成② リアルタイムで合成したスタイルを画像に転送③ モバイルアプリとして実装

17

提案⼿法
① 複数のスタイルを同時に学習できるように拡張② モバイル実装のためにConvDeconvNetを縮⼩③ モバイル上での効率的なCNN実装及び⼯夫
𝑚𝑜𝑑𝑒𝑙18

提案⼿法①l 複数のスタイルを同時に学習できるように拡張– Fusion Layerの追加– 複数の任意重みを合成可能
Fusion layer
Content

StyleRes block
Output19

提案⼿法①l 複数のスタイルを同時に学習できるように拡張
Fusion Layer
Content

Res block
Output① ConvDeconvNetにスタイル変換
ネットワークを追加② スタイルベクトルの線形重ね合せを⼊⼒してスタイル混合

Style 1

Style 2

③ 混合したスタイルベクトルを
Fusion Layerで結合20提案⼿法①l 複数のスタイルを同時に学習できるように拡張
Fusion Layer
Content

Style 1

Style 2Res block
Outputl Global Average Pooling(GAP)– 各チャネルの平均分散を出⼒が表現– 変換後の質が向上[Li+ 2017]21

提案⼿法②l モバイル実装のためにConvDeconvNetを縮⼩– Down Sampling Layer と Up Sampling Layer を追加– 最初と最後のConv Layerのカーネルを 9x9 -> 5x5 に変更– Residual Elementsを 5 -> 3 に変更

9x95 Res block

9x93 Res block

5x55x522

提案⼿法③l モバイル上での効率的なCNN実装及び⼯夫
𝑚𝑜𝑑𝑒𝑙

Cコードに変換

① DNNを直接Cコードに変換(コンパイラ的に実⾏)② Multithread化によるNEON / BLAS の効率的な利⽤③ CNNに掛かる演算の可能な限りの事前計算の実⾏④ Unpooling+Conv -> 1/2 strideを実現üDeconvolutional layerの代替
23

Unpooling + Conv -> 1/2 strideを実現
l Convの逆演算を⾏うDeconvをConvで表現したい…
– ⾼速GEMM演算(BLAS)を利⽤したい

l Unpoolingで縦横2倍に拡⼤ -> Conv
patch
1

kernel 132✕kernel 2
1kernel 3

patch 1
patch 2
patch 3
patch 4
patch 5

4

patch2

patch3

patch4

patch5

Unpooling =1/2 stride Conv

im2colkernel 4

conv. kernels

input feature maps
matrix multiplication (=conv. layer computation)

Core1✕Core2kernel 3✕

Core3kernel 4✕

patch 1
patch 2
patch 3
patch 4
patch 5kernel 2

patch 1
patch 2
patch 3
patch 4
patch 5✕patch 1
patch 2
patch 3
patch 4
patch 5kernel 1

patch 1
patch 2
patch 3
patch 4
patch 5NEON or BLASを使ってマルチスレッド処理

Core424

デモ動画25

考察l 変換ネットワーク

skip connection– Res block 3個は過剰？
– skip connectionの追加– artifactの対策

l モバイル実装– 画像の解像度を上げたい -> Conv処理を⾼速化必須– 明⽰的にGPUを利⽤？

26

まとめl ⽬的– 「Neural Style Transferのモバイル上への実装」

l 既存⼿法– 1つのモデルで1つのスタイル– 学習に時間を要する– 消費メモリの増⼤

l 提案⼿法– 1つのモデルで複数のスタイルを変換可能– モバイル上でのリアルタイム画⾵変換

l 今後の課題– 線画のモバイル上でのリアルタイム着⾊27