PS2-24

Web画像マイニングを用いた

Conditional CycleGANによる食事カテゴリ変換
堀田大地, 丹野良介, 下田和, 柳井 啓司 (電気通信大学)

背景

手法２ : Multi Style Transfer[4]近年, 深層学習を用いた画像生成・変換に関する研究が熱い，しかし…

Neural Style Transfer[Gatys+ CVPR2016]
形状を保持したまま画風を転写

文字，顔，居住がメイン

順伝搬及び誤差逆伝播を繰り返す

ファッション画像への応用も 2014 2015 2016 2017

GPUで画像の生成に数十秒程度
Fast Style Transfer[Johnson+ ECCV2016]
特定の画風変換を準伝搬で行う CNN を学習

食事画像研究にも応用したい…!

M

1 つのモデルで単一の画風変換のみ学習

目的 : 敵対的生成ネットワーク(GAN)による食事画像変換

消費メモリの増大，学習に時間要
単一モデルで複数のスタイルを任意重みで合成可能に

食事領域のみのImage-to-Image変換手法検討

デモ動画１

𝐶1 = 1𝐺𝐶

𝐶2 = 1𝐶𝑛

C [0, 0, 1, …, 0]
Domain Select 𝐶𝑛 = 1
One-hot Verctor signal

Content・・・

𝐶0 𝐶1 𝐶2

Style

1. GAN
𝐶0 = 1
2. Neural Style Transfer

実験[データセット]

手法１ : StarGAN[1]学習データに多様性が有りす

Generative Adversarial Network(GAN)[1]: 深層学習+生成モデル
用意したサンプルデータ群に似たデータを生成
Input

Generator

出力することで，Dを騙すことを目的

D

noisevector

Discriminator

Trainingset

受取ったデータが，サンプル群のデータ(real)か，カレー炒飯

34,216枚 27,854枚

冷やし
牛丼
ミートスパ
中華18,396枚 13,499枚 7,138枚

fakeorreal「丼」という制約を付けてrealimageGにより生成されたデータ(fake) か識別することを目的☺

☹

fakeimageG

ランダム生成ベクトルを入力，サンプル群に似たデータをぎると学習が難しい…

データを収集(From Twitter)

GとDを競争させることで訓練データと似たデータを生成できるように最適化

ノイズ除去

CNN

Related work ① : pix2pix [CVPR2017]

ラーメン

白飯

74,007枚 24,760枚 3,350枚

認識率が高い順にリランキング

GANを用いたImage-to-Image変換手法
手法: Conditional Adversarial Net

keyword = `牛丼’で収集

変換前と変換後のペア画像を学習データに用いる
解決: ペア画像さえあれば変換可能

蕎麦

うなぎ重

焼きそば

5,329枚

24,760枚

Food 10 categories.
Total 230,053 images.
形状が似た画像群が得られる

牛丼(93.7%)[結果]StarGAN(☺食事領域のみ別のカテゴリへと変換できた)

課題: ペア画像が必須

Related work ② : CycleGAN[2] [ICCV2017]
ドメインXからドメインYへ画像を変換する
Image-to-Image変換手法
手法: Cycle Consistency Lossto push F(G(X)) ≈ X (and vice versa)[元の画像]と，その画像を[変換 -> 逆変換]してもとに戻したものの間の誤差で学習
課題: 1:1変換しか出来ない

解決: ペア画像な無くても学習可能に

Related work ③ : ACGAN[3] [ICML2017]

AdversarialLoss

fake
image

識別器(D)に識別タスクを付与することで画像クオリティの向上

D

手法: Auxiliary Classifier Lossto make high quality imagereal
識別器(D)に真偽判定(Adversarial Loss)だけではなく， image
クラスの識別をさせる補助的なタスクを追加[結果]合計画像枚数の違いによるクオリティの変化
Input

10k / 230k

100k / 230k

FULL

10k / 230k

fake or real

Auxiliary ClassifierLoss
class[0, 1, …, 0][ ネットワーク全体]
Cycle Consistency Loss

𝐺𝐶Real ∈A
C[1, 0]
Image カテゴリ選択信号

D𝐺𝐶
Fake ∈B
Image

C[0, 1]
カテゴリ選択信号

CycleImage[ 損失関数]
識別器(D)の損失関数

Real ∈B
クエリImage: ラーメン

インスタン
トラーメン

0.8358ちゃんぽん

0.82850.7935AdversarialらーめんAuxiliary
中華麺 Classifier
0.77899
LossLossfake orreal
class[1, 0]

変換器(G)の損失関数

𝐿𝐷 = 𝐿𝑎𝑑𝑣𝑒𝑟𝑠𝑎𝑟𝑖𝑎𝑙 + 𝜆𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑒𝑟𝐿𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑒𝑟

𝐿𝐺 = 𝐿𝑎𝑑𝑣𝑒𝑟𝑠𝑎𝑟𝑖𝑎𝑙 + 𝜆𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑒𝑟𝐿𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑒𝑟 + 𝜆𝑐𝑦𝑐𝑙𝑒𝐿𝑐𝑦𝑐𝑙𝑒[結果]丼以外の画像を含む場合の変換結果
☺成功例

☹失敗例

•Style

まとめと今後の課題
CycleGANの拡張による1対多変換器(cCycleGAN)の作成

今後の課題•
より多くの手法との比較比較と定量的比較•「丼」制約の緩和•

任意カテゴリ(学習済みカテゴリ以外)への拡張

Content𝐺𝐶

E

C[1, 0, …][1] C.Yunjey et al. StarGAN:Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation. CVPR, 2018.
[2] J. Y. Zhu, T.Park, P. Isola, A.A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. In Proc. ofICCV2017.
[3] A. Odena, C. Olah, and J. Shlens. Conditional Image Synthesis With Auxiliary Classifier GANs. In Proc. of ICML2017.
[4] R. Tanno and K. Yanai, DeepStyleCam: A Real-time Style Transfer App on iOS. In Proc. of The 24th International Conference on Multimedia Modeling, 2017.

GANvsStyleTransfer

100k / 230k

FULL