CONFIDENTIAL EXTENDED ABSTRACT.
DO NOT DISTRIBUTE ANYWHERE.

第 21 回 画像の認識・理解シンポジウム

Web 画像マイニングを用いた
Conditional Cycle GAN による食事画像カテゴリ変換
堀田 大地1,a)

丹野 良介2,3,b)

下田 和2,c)

柳井 啓司2,d)

本研究では，深層学習技術を用いて，自動的に食事画像を変換するという新しい問題に焦点を当てる．食事画像と変換先のカテゴリ情報を入力すると，リアルタイムに特定のカテゴリに変換された食事画像を生成することを目指す．
深層学習による画像変換手法の 1 つである CycleGAN [11]の手法を拡張し，1 つの変換ネットワークで複数のカテゴリへと変換可能とする conditional CycleGAN を用いた食図 1

conditional CycleGAN のネットワーク全体

事画像変換手法を提案し，10 種類 23 万枚の Web 上から収集した食事画像に適用することで，きわめて自然な 10

概要
本研究では，5 年以上の期間 Twitter から収集した食事画

種類食事での食事カテゴリの相互変換が可能であることを示す．

2. 関連研究

像データを用い食事画像の変換を行う Conditional CycleGAN(cCycle GAN) を用いた 食事画像変換 を提案す

GAN は一様分布や正規分布などからノイズベクトル zる．実験によって提案手法では 23 万枚 10 カテゴリの食をサンプリングするため，生成される画像のコントロール

事画像の間で自然な食事画像の変換が可能であることを示をすることができない．そこで，GAN の構造に条件付き信した．

号 conditional vector を付与することで，条件付き確立分

1. はじめに布を学習するモデルに拡張したものが [7] である．一方で，[7] には入力画像を潜在表現に落とし込む機構 (Encoder)

近年，生成モデルと深層学習を組合せた深層生成モデルが欠けているため，画像の変換は行うことができない．

Generative Adversarial Networks(GAN)[3] が従来手法とpix2pix [4] は Adversarial Loss と ConvDeconvNet を組合比べてより本物らしい画像を生成できるとして注目を集めせることで，画像のペア集合間の変換方法を学習することている．訓練データの分布に近似するよう最適化することが可能となり，線画彩色や白黒画像のカラー化などの変換で本物らしい画像の生成に成功している．GAN の研究にを学習させることができる． [11] では学習データ間 X,Yおいて用いられるデータセットは CelebA データセットのの写像を学習する方法が提案された．通常の GAN [3] で用顔画像や MNIST の数字文字画像，LSUN の居住画像など，いられる損失関数に再構築誤差である Cycle Consistency

ある程度パターンが限られる画像群が通常用いられる．まLoss を追加することで，「集合 X,Y に共通する構造を保った，最近では， [5] のように衣服画像へのデザイン転送タて」変換する写像関数の学習に成功している．よって，本スクといった新しい課題を提案し，GAN や Neural Style

研究においても Cycle Consistency Loss による制約を設けTransfer のような深層学習技術を応用する研究がでてきてることで，「集合 X, Y に共通する構造を保って」，つまりいる．一方で，本研究のような食事に限定した食事画像生

は，食事画像であるならば，食事の部分のみ別のカテゴリ成・変換に関する研究は未だ存在しないのが現状である．の食事に変換し，それ以外は，元の形状を保ったまま変換

12
3a)
b)
c)
d)

電気通信大学 情報理工学域
電気通信大学 大学院情報理工学研究科 情報学専攻
現在，NTT コミュニケーションズ株式会社勤務．
horita-d@mm.cs.uec.ac.jp
r.tanno@ntt.com
shimoda-r@mm.cs.uec.ac.jp
yanai@cs.uec.ac.jp

されることが可能になると考えた．

3. conditional CycleGAN による画像変換
本節では，まず関連する画像変換技術である [4], [11] について説明し，その後，本研究で用いる conditional Cycle-1第 21 回 画像の認識・理解シンポジウム

LGAN (G, DY , X, Y ) = Ey∼pdata (y) [log DY (y)]GAN(cCycleGAN) について説明を行う．

(4)+ Ex∼pdata (x) [log (1 − DY (G(x)))]
3.1 pix2pix[4] は conditional GAN [7] の一種であるが，通常の GAN

Lcyc (G, F ) = Ex∼pdata (x) [∥F (G(x) − x)∥1 ] (5)+ Ey∼pdata (y) [∥G(F (y) − y)∥1 ]では，一様分布や正規分布からサンプリングしたノイズベクトル z を Generator への入力とするが， [4] や後述すL(G, F, DX , DY ) = LGAN (G, DY , X, Y )る [11] では，画像 x を Generator の入力とする点が大きく+ LGAN (F, DY , Y, X)異なる点である．入力に用いていた乱数 z は直接サンプリ(6)+ λLcyc (G, F )ングする代わりに Generator の複数の層に Dropout でノイズを加えるように代替されている． [4] では，式 (1) で表さ

3.3 conditional CycleGAN

れる [7] の損失関数に加えて，より本物らしい画像を生成

図 (1) として conditional CycleGAN(cCycleGAN) の模するために，式 (2) の L1 正則化項の追加と Discriminator

式図を示す． [11] を conditional 化することで，1 つの Gen-のベース構造に [8] で提案された PatchGAN を組合せた

erator で複数のカテゴリへと変換可能とする Conditional

式 (3) が最終的な [4] の損失関数となる．入力には変換前

CycleGAN に拡張してある． [11] の conditional 化には，と変換後の画像のペアを必要とし，(変換元画像，変換先[2] と同様に [1] で提案されている分類誤差項 Auxiliary画像)or(変換元画像，Generator が生成した画像) のいずれClassifier Loss を Discriminator に追加することで実現すのペアであるかを Discriminator に判断させるように学習る．本物か偽物かの判断をさせるだけでなく，Discrimina-する．

tor にどのカテゴリに属する画像かの識別も同時に学習させ

LcGAN (G, D) = Ex,y [log D(x, y)](1)

行った．こうすることで，Generator は単に Discriminator+ Ex,y [log (1 − D(x, G(x, z)))]
LL1 = Ex,y,z [∥y − G(x, z)∥1 ]ることで，複数のカテゴリに変換可能な Generator の学習をを欺くように画像を生成するだけでなく，Discriminator(2)の識別エラーを最小限に抑えるように偽物のサンプルをG = arg min max LGAN (G, D) + λLL1 (3)生成できるようになる．つまり，各カテゴリのサンプル∗GDを生成できるように最適化されることを意味する．よっ3.2 CycleGANて，最終的な損失関数は，Adversarial Loss Ladv に式 (7)[4] では，変換前と変換後の画像の 1 対 1 ペアを必要とで表される Cycle Consistency Loss と式 (8)，式 (9) で表さする制限があったが，[11] ではドメイン間の写像を学習でれる Auxiliary Classifier Loss にそれぞれの重みバイアスきるように拡張することで，1 対 1 に対応せずとも学習が項 λccl 及び λacl を追加した式 (10)，式 (11) を conditional行えるのが特徴である．ここで，ドメイン X とドメインCycleGAN の損失関数として用いた．

Y があるとして，X → Y への写像を G，その逆写像 Y →X を F と定義する．また，入力が G によって生成された

Lccl = Ex,c,c′ [∥x − G(G(x, c), c′ )∥1 ](7)

偽物の X か元の X のデータかを判別する DY ，入力が Y′Lrealacl = E [− log Dacl (c |x)](8)

によって生成された偽物の Y か元の Y のデータかを判別

akeLfacl= Ex,c [− log Dacl (c|G(x, c))](9)

する DX をそれぞれ定義する．この G, F , DX , DY を式(4) と式 (5) の 3 つの損失の和で表される式 (6) を用いて学習する．式 (4) は Vanilla GAN で用いられる Adversarial

Loss そのままであるが，式 (5) は Cycle Consistency Lossと呼ばれるもので，ドメイン X に属する x から生成された Ŷ を再度，ドメイン X に属する x̂ に戻しても元のドメ

LD = Ladv + λacl Lrealacl

(10)

ake
LG = Ladv + λacl Lfacl+ λccl Lccl

(11)

4. 実験
4.1 学習データ

イン X に一致するように制約をかけるものである．このCycle Consistency Loss を追加することで，「集合 X,YCycle Consistency Loss を小さくすることは，G(F (x)) にに共通する構造を保って」変換することが可能である．そより変換した結果がそれぞれ元のデータを再構築できるだのため，学習データに「共通する構造」がある方が変換がけの情報を保持することを意味する．よって，学習に成功上手くいくと推測される．よって今回は，「丼」という制約した場合は，G(F (x)) とした場合，「ドメイン X とドメイを設けて UECFOOD-100 [10] の 100 カテゴリの食事の中

ン Y に共通する構造を保ったまま，一方のドメインに属すから「丼」の構造をもつ 10 個のカテゴリを選出した．そるデータをもう一方のドメインのデータに変換する」写像の 10 カテゴリについて高品質な食事画像の選別のために，関数が得られることになる．

2011 年より継続的に Twitter Stream より収集している食事画像データベース [9], [12] の中から [10] で学習した食事

2

第 21 回 画像の認識・理解シンポジウム

図 3

図 2

多様性があるカテゴリに対するクラスタの構築

多様性があるカテゴリに対するクラスタの構築

画像を学習に用いた．なお，conditional signal は one-hot

vector で表現し，入力画像サイズにブロードキャストした

表 1 学習データ
カテゴリ
学習枚数

後に，入力画像とチャネル方向に結合して，Generator に冷やし中華

PatchGAN を採用してある．重みの更新頻度は Discrimi-炒飯

13,4997,138
3,530
74,007
24,76021,32434,216
18,396
5,329
27,854

合計

230,053

ミートスパゲティ
蕎麦
ラーメン
焼きそば
白飯
カレーライス
牛丼
うな重

入力している．また，Discriminator には [8] で提案された

nator を 5 回更新した後に Generator を 1 回更新するようにした．学習はバッチサイズ 32，最適化手法には Adam を用いて 20epoch 繰り返した．テスト時は 512 × 512 の画像を生成するようにした．

4.3 食事画像変換結果
本手法により変換した結果を図 3 に示す．最左列を入力画像として，最上部の 10 カテゴリのドメインへ同時に変換した例を示してある．食事が複数品目ある場合に対して認識エンジンを用いて，各カテゴリ毎に認識精度が高い順も正確に食事領域のみ対象のドメインへと変換できているにリランキングした結果から表 1 にある枚数分を学習デーことがわかる．再構築誤差 Cycle Consistency Loss によりタとした．この中で「ラーメン」のカテゴリにおいてはそ変換すべきドメインの写像関数の学習に成功し，「共通構の種類の多様性が他のカテゴリと比べて高かったため（例

造=丼，器」の概念を Generator が獲得していることを意

えば，「二郎系のラーメン」は基本的に「丼」からはみ出味する．また，分類誤差 Auxiliary Classifier Loss を導入るほどの具材が乗っているため，他のラーメンと比べて差することで Generator は単に Discriminator を欺くようにが大きい．つまり，「共通する構造」が同カテゴリである

画像を生成するだけでなく，Discriminator の分類エラーが，差が大きくなってしまい，学習が難しくなる恐れがあを最小限に抑えるように偽物のサンプルを生成できるようる．），図 2 の処理を行った．8 万枚の「ラーメン」画像にになり，各ドメインのサンプルを生成できるように最適化

対して，ImageNet で学習済みの VGG16 を特徴抽出器とされることで，歪みや GAN に特有のブラーが掛かっていして用い，224 × 224 × 3(150,528 次元) を fc6 層 (4,096 次ない高いクオリティで変換できていることがみてとれる．

元) まで特徴量を圧縮して k-means により k 個のクラスタ(今回は，k=8 に設定した) に分割を行った．想定していた通り，「二郎系ラーメン」が大部分を占めるクラスタを得ら

4.4 学習に用いるデータ数の変化による変換結果のクオリティへの影響れたため，そのクラスタを除外した画像を「ラーメン」カ

1 カテゴリあたりの画像枚数，総画像枚数がどのようにテゴリの画像とした．全ての学習において，訓練 9 割，テクオリティに影響するのか考察するために，(1)1 カテゴリ

スト 1 割となるように配分した．

1 千枚 (合計 1 万枚) ，(2)1 カテゴリ 1 万枚 (合計 10 万枚)，(3) 表 1 の合計約 23 万枚のデータセットの 3 種類を用い4.2 学習モデル構造
conditional CycleGAN のネットワークは，基本的に [11]て実験を行なった．また，カテゴリとして「白飯」「冷やし中華」「牛丼」「カレー」を用いた．と同一である．変換ネットワーク (Generator) は [6] で提各条件により学習したモデルで変換した画像を総学習枚案された ConvDeconvNet の中間層に Residual Block を何数が少ない順に左から並べたものを図 4，図 5 に示す．各層も積層する FastStyleNet の構造を用いて 256 × 256 のカテゴリ千枚の比較的小規模なデータセットでも変換先ド3

第 21 回 画像の認識・理解シンポジウム

図 4

学習に用いるデータ枚数のクオリティへの影響結果 (1)．左か

図 5

学習に用いるデータ枚数のクオリティへの影響結果 (2)．左から入力画像，「白飯」の 1 ，10，23 万枚学習モデル結果，「冷ら入力画像，「牛丼」の 1，10，23 万枚モデル結果．
「カレー」

やし中華」の 1， 10，23 万枚モデル結果．の 1，10，23 万枚結果．

メインの大域的特徴を捉えることには成功しているが，局所的にみると細かいディテールまでは再現できていないよ
うにみえる．つまり，画像枚数が多ければ多いほど，大域的特徴に加えて局所的な特徴をもった細部の細かい部分まで正確に変換先のドメインに変換可能な写像関数の学習ができている結果となった．また，図 4 のカテゴリ「冷やし中華」の変換結果に着目すると，1 列目は 1 千枚，2 列目は像が期待するターゲットドメインへと変換できているかについて，食事画像分類問題を解くことで定量評価としたい．
謝 辞: 本 研 究 は JSPS 科 研 費 17H01745/15H05915/
17H05972/17H06026/17H06100 の助成を受けたものです．
参考文献
[1]

1 万枚，3 列目は表 1 にある通り，1.3 万枚と 2 列目と 3 列目で画像枚数は 3 千枚ほどしか変わらない．しかし，2 列[2]目より 3 列目の方が細かい部分まで変換できていることがわかる．一方で，「冷やし中華」以外の画像枚数も考慮すると，2 列目は総学習枚数 10 万枚に対し，3 列目は 23 万枚[3]の大規模データセットを用いている．他カテゴリの画像から得られた特徴も上手く変換結果に反映されていることが[4]

この結果から伺えるが，これは，1 つの Generator で複数のカテゴリに変換可能にすることで，「食事変換」という共通特徴を Generator が獲得していることを意味する．つまり，1 つの生成器が複数のカテゴリへの変換を担うことで，

[5]
[6]

画像枚数が少ない特定のカテゴリが存在した場合でも，どのカテゴリへも一定の質を保って変換することが可能としていることになる．

[7]
[8]

5. まとめ と 今後の課題[9]

本研究では，深層学習技術を用いて，自動的に食事画像を生成・変換するという新しい問題に取り組み， [11] の手法を拡張した conditional CycleGAN を用いることで，[10]( 1 ) 変換前と変換後で共通構造を保ったままの変換( 2 ) 複数のカテゴリへの変換を行うことで，変換カテゴ[11]

リの共通特徴の獲得による変換クオリティの向上を実現し，実験により実際に高品質に食事画像が変換可能であることを示した．今後の課題としては，現状，学習し[12]Augustus Odena, C. O. and Shlens, J.: Conditional Image Synthesis with Auxiliary Classifier GANs, ICML
(2017).
Choi, Y., Choi, M., Kim, M., Ha, J.-W., Kim, S.
and Choo, J.: StarGAN: Unified Generative Adversarial
Networks for Multi-Domain Image-to-Image Translation,
arXiv preprint arXiv:1711.09020 (2017).
Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B.,
Warde-Farley, D., Ozair, S., Courville, A. and Bengio,
Y.: Generative Adversarial Nets, NIPS (2014).
Isola, P., Zhu, J.-Y., Zhou, T. and Efros, A. A.: Imageto-Image Translation with Conditional Adversarial Networks, CVPR (2017).
Jiang, S. and Fu, Y.: Fashion Style Generator, IJCAI(2017).
Justin Johnson, A. A. and Fei-Fei, L.: Perceptual Losses
for Real-Time Style Transfer and Super-Resolution.,
CVPR (2016).
Mirza, M. and Osindero, S.: Conditional Generative Adversarial Nets, CoRR (2014).
Pathak, D., Krähenbühl, P., Donahue, J., Darrell, T.
and Efros, A.: Context Encoders: Feature Learning byInpainting, CVPR (2016).
Yanai, K. and Kawano., Y.: Twitter food image mining and analysis for one hundred kinds of foods., PCM(2014).
Yuji Matsuda, H. H. and Yanai, K.: Recognition ofMultiple-Food Images by Detecting Candidate Regions,
ICME (2012).
Zhu, J.-Y., Park, T., Isola, P. and Efros, A. A.: Unpaired
Image-to-Image Translation using Cycle-Consistent Adversarial Networkss, ICCV (2017).
柳生啓司，河野憲之： ラーメン vs カレー：２年分のログ
データと高速食事画像認識エンジンを用いた twitter 食事
画像分析とデータセット自動構築.，PRMU (2013).

たモデルの有効性を示すために，主観的な定性評価しか行っていないため，他者による客観評価実験や変換した画

4