More Related Content Similar to 【卒業論文】特徴付加型敵対的生成ネットワークによる ファッションデザイン画像生成(Fashion Design Generation based on Generative Adversarial Network with Feature Injection) (20) 【卒業論文】特徴付加型敵対的生成ネットワークによる ファッションデザイン画像生成(Fashion Design Generation based on Generative Adversarial Network with Feature Injection)4. 目次
第 1 章 序論 1
1.1 研究背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 研究目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 研究アプローチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 2 章 画像の自動生成 4
2.1 敵対的生成ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 深層畳み込み敵対的生成ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 条件付き敵対的生成ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 3 章 デザイン画像の自動生成 7
3.1 image-on-imageDCGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 image-labelDCGAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
第 4 章 結果とその検討 10
4.1 データセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 検討 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
第 5 章 関連研究 33
第 6 章 結論と今後の課題 35
参考文献 36
5. 第 1 章
序論
1.1 研究背景
ここ数年ファッション業界は不振といわれている.原因としては,業界のやり方と消費者のニー
ズの不一致が挙げられる.トレンドを作り出す業界にも関わらずトレンドを追う立場となり市場ば
かりが拡大した結果,消費者の目は肥え,売り手側が良いと思う物を作れば売れた時代から,買い
手側が欲しいと思う物しか売れない時代へとシフトしたのである.これにより在庫処理問題や人手
不足,利益縮小が起こっている.
これを解決するのに E コマース販売など IT の活用だけでなく,人工知能によるコーディネート
の組み合わせや好みに合わせたアイテム推奨検索システムなどの自動化の登場が大きくファッショ
ン業界を風靡している [13][12][15][10] [7][3][2] [16][11][14] .
そこで,個々の好みを機械が理解しているシステムの存在と商品に対してこだわりが強まってい
る消費者のニーズから,個々の好みに合わせつつ,かつ新しさとセンスのあるファッションデザイ
ンの自動生成は需要があると考える.
しかし,現時点で存在している画像の自動生成の手法でデザインを自動生成できる手法は私が知
る限りない.例えば,自分好みの服の画像を複数枚教えてあげると,” この服も好みですか” と提
案してくれることは可能であり存在している.しかしそれは,事前に何百何万枚もの洋服の画像が
取り込まれており,なんらかの機械学習を通して提案しているだけだ.つまり,全く新しい洋服の
画像を見せてきているわけではない.
複数の画像を学習し全く違う画像を作り出す手法や研究も存在している.これらの手法や研究は
それぞれ細かい処理や目的は異なるが,共通しているのは,元の画像の特徴を踏まえただけの出力
を期待することが前提である.
デザイン生成において最も重要なのは新しさとそれらしさである.人が新しい服を買う際,自分
らしい,自分好み,でもまだ持っていないものを買うだろう.デザイナーがデザインをする際,こ
のブランドらしい,でも昨シーズンとは違うデザインを描くだろう.これまでのデザインを見て,
らしいというなんらかの特徴を踏まえつつ,かつ新しくてはならない.
以上のことから本研究では,既存の特徴を捉えたらしさがあり,どこか新しいファッションデザ
インの自動生成方法を提案する.
1.2 研究目的
デザインの自動生成による課題はなにより,いかに特徴を捉え,らしさのあるデザインであるか
という点と,どれだけ新しいデザインであるかという点である.またそれが,ターゲットにする人
やブランドの好みであってほしい.
1
8. 第 2 章
画像の自動生成
2.1 敵対的生成ネットワーク
敵対的生成ネットワークとは、画像生成を行うニューラルネットワークのフレームワークであり
GAN とも呼ばれる(以下 GAN と呼ぶ).GAN は,Generator と呼ばれる画像生成を行うニュー
ラルネットワークと Discriminator と呼ばれる画像の判別を行うニューラルネットワークの二種類
から構成されている.Discriminator は入力された画像が本物画像 X であるか生成画像 G(Z) であ
るかを判別できるように学習させていく.出力は本物である確率を [0,1] で出力する.Generator
は Discriminator を欺くことのできるような画像を生成できるように生成する.Discriminator を
学習させたのち,Generator によって生成された画像が Discriminator を騙せるように Generator
のパラメーターを学習していく.生成画像 G(Z) に対して,Discriminator が本物の画像と判別す
る確率 D(G(Z)) が高くなるように Generator にフィードバックさせる.また,Generator を学
習させたのち,それの出力画像と本物の画像を判別できるように Discriminator を学習させてい
く.このように相互に Generator と Discriminator を学習させていくことで本物のような画像を
Generator が生成することを可能にしている.
Generator を G,Discriminator を D で以下表すとする.損失関数は以下であり,これを最小化
問題として解いた.
LG = log(1 − D(G(z)))
LD = log(D(x)) − log(1 − D(G(z)))
ここで z とは,G の入力のノイズであり,x は学習データである.G(x) とは,x を G に通して
出力された値で他も同様である.LG は,G の損失関数であり LD も同様である.
D(x) は,そのデータが学習データである確率を表す.D は学習データと偽物データに対して正
しくラベル付けを行う確率を最大化しようとする.一方 G は,log(1 − D(G(z))) を最小化しよう
とする.D がうまく分類できるようになると D(x) が大きくなり log(D(x)) が大きくなる.また
偽物だとばれた結果 D(G(z)) は小さくなるため,log(D(x)) − log(1 − D(G(z))) は大きくなる.
一方 G が学習データに似ているものを生成できるようになると D がうまく分類できなくなるため
D(G(z)) は大きくなり,log(1 − D(G(z))) は小さくなるという構造になっている.
アルゴリズム 1 に GAN のアルゴリズムを示す.
4
9. Algorithm 1 GAN training algorithm
for number of training iterations do
Sample minibatch of m noise samples[z(1)
,...,z(m)
]from noise prior pg(z).
Sample minibath of m examples[x(1)
,...,x(m)
]from data generating distribution pdata(x).
Update the discriminator by ascending its stochastic gradient:
∇θd
1
m
m∑
i=1
[log D(x(i)
) + log(1 − D(G(z(i)
)))].
Sample minibatch of m noise sample[z(1)
,...,z(m)
]from noise prior pg(z)].
Update the generator by descending its stochastic gradient:
∇θd
1
m
m∑
i=1
log(1 − D(G(z(i)
)))
end for
2.2 深層畳み込み敵対的生成ネットワーク
DCGAN と呼ばれ,GAN に畳み込みニューラルネットワークを用いて多層化することにより,
それよりもさらにリアルな画像生成を可能にしている [1].
2.3 条件付き敵対的生成ネットワーク
conditionalGAN と呼ばれ(以下 cGAN と呼ぶ),画像から画像への翻訳問題に対する一般的な
解決策として発表されたものである [9].学習方法は GAN の Generator に入力である Z に正解ラ
ベルを同付し学習を行い,Discriminator に入力する G(Z) と X にも正解ラベルを同付し学習を
行う.つまり Generator には,この画像を生成してほしいという答えを教えながら生成を行わせ,
Discriminator には,入力された画像が生成された G(Z) なのか本物画像 X なのかを教えながら
判別させる手法である.
構成を図 2.1 に示す.
図 2.1 conditionalGAN
損失関数を以下に示す.
LG = log(1 − D(x, G(x, z)))
LD = log(D(x, y)) − log(1 − D(x, G(x, z)))
5
10. 流れは GAN と同様であるが,x はラベルを表しており,ラベル付けの処理を意味している.
cGAN は入力画像から出力画像へのマッピングを学ぶだけでなく,このマッピングを訓練するた
めの損失関数も学んでいく.これは,伝統的に非常に異なる損失関数式化を必要とする問題に対し
て同じ一般的なアプローチを適応することを可能にした.この手法により,ラベルマップから写真
を合成したり,エッジマップからオブジェクトを再構成したり,画像を色付けしたりすることが効
果的になった.
6
11. 第 3 章
デザイン画像の自動生成
本研究では以下の 2 つのアプローチからデザイン画像生成を試みる.
• image-on-imageDCGAN:生成モデルは DCGAN を使用し,Generator に渡す初期画像に
画像を組み込むことで新しさを得る手法である.構成を図 3.1 に示す.
• imageLabelDCGAN:生成モデルは DCGAN を使用し,画像をラベル化することで新しさ
を得る手法である.構成を図 3.2 に示す.
図 3.1 image-on-imageDCGAN
図 3.2 image-labelDCGAN
3.1 image-on-imageDCGAN
一般的に Generator に最初に渡すデータは乱数で埋めたノイズ z である.その z を学習データ
とは違う画像にすり替える.画像と画像の足しあわせは新しい画像を可能にし,それぞれの特徴も
残せるのではないかと考える.
7
12. 具体的なイメージ画を図 3.3 に示す.
図 3.3 image-on-imageDCGAN イメージ画
実際に実験を行った学習データを図 3.4,z の画像を図 3.5,結果の画像を図 3.6 に示す.期待す
る出力は赤または赤と白ベースのユニフォームに黒がボーダーの形式でとりこまれたユニフォーム
画像である.
図 3.4 学習データ
図 3.5 z
図 3.6 出力結果
ここで Discriminator は,Generator が使用した情報を得ていないと正しく判別できないという
GAN の特徴がある.結果の画像からそれが確認できたので,この手法は失敗である.
8
13. 3.2 image-labelDCGAN
cGAN を拡張させた手法である.一般的に cGAN ではラベルを同付して学習を行う.そのラベ
ルの部分を画像にすり替える.(以下 imageLabel と呼ぶ)
例えば,画像 A の正解は画像 B であると教えることで,画像 B から新しさを得つつ,既存の画
像 A をも踏まえることが可能ではないかと考える.
具体的なイメージ画を図 3.7 に示す.
図 3.7 image-labelDCGAN イメージ画
9
14. 第 4 章
結果とその検討
本実験では以下確認項目で image-labelDCGAN の検証を行う.
• デザイン画像出力検証
– 学習データの違いによる効果
– imageLabel の違いによる効果
– imageLabel のサイズの違いによる効果
• 画像出力検証
– ハイパーパラメーターの違いによる効果
– ネットワーク構成の違いによる効果
– 画像の正規化の違いによる効果
またこれらを,以下項目で評価した.
• 学習前後での RGB 値またはその平均値
• 損失関数の推移
• 正解率の推移
• 出力画像
4.1 データセット
提案手法双方に使用したデータセットについて説明する.
今回 2 つのデータセットを用意した.以下データセット A,データセット B と呼ぶ.
4.1.1 データセット A
図 4.1 に示すデータセット A は,単純に色や柄だけの画像で,実際に imageLabel の影響をうけ
て出力が変化することを確認したい.
10
15. 図 4.1 データセット A
4.1.2 データセット B
データセット B は,株式会社テクノアの提供している i-DesignerTEAMWEAR の Demo を用
いて自作したユニフォームデザイン画像を用いた.ファッションのデザイン生成に着目した際,一
般的なお洋服の場合,フォームが統一されておらず,また細かいデザインの複雑さがネックにな
り,デザインに着目して画像生成を行う学習が困難であった.また期待通りのデータを用意するこ
とも困難であった.
一般的なお洋服に比べユニフォームのデザイン画像は,まずフォームが統一されたデータセット
を用意することが可能であった上に,自作できることから使用したい形式のデザイン画像を用意で
きる利点もあった.また色彩もはっきりとしているためデザインの特徴に着目した画像生成のアプ
ローチが容易化されるのではないかと考え,ユニフォーム画像を学習データに用いた.
具体的に赤または赤ベースに白が混じった 10 枚のユニフォーム画像を学習データとし,図 4.2
に示す.
図 4.2 データセット B
使用した imagelabal を図 4.3 に示す.
11
16. 図 4.3 imageLebel
4.2 実験結果
データセット A での実験結果
学習データが赤の画像で,imageLabel が緑の画像,青の画像,白と黒のボーダー画像のいずれ
かであった場合,両方の特徴をそなえた出力を期待する.これらの出力結果を,imageLabel を学
習データと同様の赤画像にした場合の出力結果と比較する.
本実験では,学習回数 10000 回,学習データを赤の画像 4x4x3 の 1 枚,赤または緑または青また
はボーダーの imageLabel を 2x2x3 のサイズに固定した.また学習データの前処理に画像の正規化
を行い,[0,256] の範囲から [-1,1] の範囲にし学習を行った.学習時間は平均 611.9619s であった.
ネットワーク構成を表 4.1 に示す.
表 4.1 ネットワーク構成
Generator Discriminator
Affine,ReLU, Affine,ReLU,
Convolution,LeakyReLU, Convolution,LeakyReLU,
Convolution,LeakyReLU, Convolution,LeakyReLU,
Affine, Affine,ReLU,
Tanh Sigmoid
また,使用したハイパーパラメーターの値を表 4.2 に示す.
表 4.2 ハイパーパラメーター
Affine Convolution
ep 0.01 0.001
p1 0.5 0.9
batch ○ -
以下表に学習前後での RGB の値を表 4.3,4.4,4.5,4.6,4.7 にそれぞれ示す.
12
17. 表 4.3 学習前の RGB
(203,45,45),(221,54,54),(221,55,55),(199,45,45)
(195,44,44),(219,50,50),(219,51,51),(188,42,42)
(194,43,43),(217,48,48),(217,48,48),(179,40,40)
(198,44,44),(215,48,48),(213,47,47),(183,41,41)
表 4.4 学習後の RGB(imageLabel =赤)
(246,37,7),(210,12,36),(176,14,16),(241,2,6)
(238,41,42),(188,7,5),(192,29,12),(251,29,44)
(242,1,42),(247,18,8),(209,2,6),(194,39,31)
(241,3,5),(210,9,7),(233,31,29),(204,2,35)
表 4.5 学習後の RGB(imgeLabel =緑)
(174,49,46),(211,76,70),(210,69,74),(173,56,62)
(186,51,68),(207,74,79),(209,88,81),(88,59,38)
(170,65,58),(195,57,60),(208,70,60),(173,48,46)
(186,57,60),(209,67,67),(201,63,58),(160,55,49)
表 4.6 学習後の RGB(imageLabel =青)
(178,51,62),(205,90,95),(207,31,54),(158,78,67)
(186,59,57),(209,59,72),(208,70,58),(156,58,50)
(146,108,76),(204,75,80),(205,76,80),(132,43,49)
(207,96,89),(214,78,85),(190,80,79),(113,49,53)
表 4.7 学習後の RGB(imageLabel =ボーダー)
(189,62,41),(209,66,59),(201,62,77),(177,62,48)
(199,49,61),(196,59,63),(199,58,53),(185,55,59)
(180,51,61),(212,55,52),(196,57,52),(171,48,47)
(202,61,61),(194,59,52),(209,61,62),(192,56,46)
また以下表に学習前後での RGB の平均値を表 4.8,4.9,4.10,4.11 にそれぞれ示す.ボーダー
は白範囲と黒範囲のそれぞれで平均を得た.
表 4.8 学習前の RGB の平均
(205.0625,46.5625,46.5625)
13
18. 表 4.9 学習後の RGB の平均
imageLabel =赤 (220.125,17.25,20.6875)
imageLabel =緑 (189.3125,61.125,59.1875)
imageLabel =青 (170.0625,70.4375,70.9375)
表 4.10 学習前の RGB の平均
白範囲 (202.375,46.125,46.125)
黒範囲 (207.75,47.0,47.0)
表 4.11 学習後の RGB の平均
imageLabel =赤 白範囲 (212.5,18.5,22.375)
imageLabel =赤 黒範囲 (227.75,16.0,19.0)
imageLabel =ボーダー 白範囲 (62.875,254.875,191.75)
imageLabel =ボーダー 黒範囲 (31.75,225.0,254.375)
図 4.4 に imageLabel が赤画像の出力画像を示す.
図 4.4 出力(imageLabel =赤の画像)
図 4.5 に imageLabel が緑画像の出力結果を示す.
図 4.5 出力(imageLabel =緑の画像)
図 4.6 に imageLabel が青画像の出力結果を示す.
14
19. 図 4.6 出力(imageLabel =青の画像)
図 4.7 に imageLabel がボーダー画像の出力結果を示す.
図 4.7 出力(imageLabel =ボーダーの画像)
imageLabel が赤画像の時の損失関数の推移をグラフ 4.8 に,正解率の推移をグラフ 4.9 に示す.
図 4.8 損失関数(imageLabel =赤の画像)
図 4.9 正解率(imageLabel =赤の画像)
15
20. imageLabel が緑画像の時の損失関数の推移をグラフ 4.10 に,正解率の推移をグラフ 4.11 に
示す.
図 4.10 損失関数(imageLabel =緑の画像)
図 4.11 正解率(imageLabel =緑の画像)
imageLabel が青画像の時の損失関数の推移をグラフ 4.12 に,正解率の推移をグラフ 4.13 に
示す.
図 4.12 損失関数(imageLabel =青の画像)
16
21. 図 4.13 正解率(imageLabel =青の画像)
imageLabel がボーダー画像の時の損失関数の推移をグラフ 4.14 に,正解率の推移をグラフ 4.15
に示す.学習 91 回目以降は損失関数が NaN になった為,それまでの数値を示す.またこれ以降
損失関数が NaN になるものは,それまでの数値を示す.
図 4.14 損失関数(imageLabel =ボーダーの画像)
図 4.15 正解率(imageLabel =ボーダーの画像)
表 4.8,4.9 を比較したとき,学習前の赤画像や imageLabel が赤画像の出力画像の RGB 値
と比べて,imageLabel が緑画像の場合は R の値が下がり,G の値が高くなっている.同様に
imageLabel が青画像の場合は R の値が下がり,B の値が高くなっている.また,表 4.11 にお
17
22. いても,imageLabel が赤画像の場合,白範囲と黒範囲で RGB 値の差はあまり見られないのに
対し,imageLabel がボーダーの場合,白範囲と黒範囲での RGB 値に差が出ている.これは,
imageLabel のボーダーの白部分の影響を受けた部分が白っぽくなり,黒部分の影響を受けた部分
が黒っぽくなったことを示している.
以上の結果より,確かに imageLabel の影響を受け,学習データと imageLabel 双方の特徴を捉
えた出力が確認できた.
4.2.1 データセット B での実験結果
学習データがデータセット B で,imageLabel が緑,青,ボーダーのユニフォーム画像いずれか
の場合,双方の特徴を備えた出力を期待する.これらの出力結果を,imageLabel を学習データと
同様の赤ベースのユニフォーム画像にした場合の出力結果と比較する.
学習回数 1000 回,学習データを赤ベースに白が混じったユニフォーム画像 608x368x3x10 枚
を 32x32x3 にそれぞれリサイズし,赤のユニフォーム画像または緑のユニフォーム画像または青
のユニフォーム画像,白と黒のボーダーのユニフォーム画像 608x368x3 を 4x4x3 にリサイズした
imageLabel に固定した.
また学習データの前処理に画像の正規化を行い,[0,256] の範囲から [-1,1] の範囲にし学習を行っ
た.学習時間は平均 2 時間であった.
ネットワーク構成を表 4.12 に示す.
表 4.12 ネットワーク構成
Generator Discriminator
Affine,ReLU, Affine,ReLU,
Convolution,LeakyReLU, Convolution,LeakyReLU,
Convolution,LeakyReLU, Convolution,LeakyReLU,
Affine, Affine,ReLU,
Tanh Sigmoid
また,使用したハイパーパラメーターの値を表 4.13 に示す.
表 4.13 ハイパーパラメーター
Affine Convolution
ep 0.01 0.001
p1 0.5 0.9
batch ○ -
以下表に学習前後の RGB の平均を表 4.14,4.15,4.16,4.17 にそれぞれ示す.
表 4.14 学習前の RGB の平均
(122.6953,94.4290,94.4290)
18
23. 表 4.15 学習後の RGB の平均
imageLabel =赤のユニフォーム画像 (132.1007,83.3681,83.1731)
imageLabel =緑のユニフォーム画像 (120.4161,100.9415,101.2502)
imageLabel =青のユニフォーム画像 (126.1075,91.7699,91.8172)
表 4.16 学習前の RGB の平均
白範囲 (228.1375,129.3875,129.3875)
黒範囲 (102.3775,102.4471,102.4471)
表 4.17 学習後の RGB の平均
imageLabel =赤のユニフォーム画像 白範囲 (251.7375,135.525,109.875)
imageLabel =赤のユニフォーム画像 黒範囲 (102.2802,102.4090,102.3774)
imageLabel =ボーダーのユニフォーム画像 白範囲 (203.3375,100.8625,92.1875)
imageLabel =ボーダーのユニフォーム画像 黒範囲 (103.0127,103.1441,103.2255)
図 4.16 に imageLabel が赤のユニフォーム画像の出力画像を示す.
図 4.16 出力(imageLabel =赤のユニフォーム画像)
図 4.17 に imageLabel が緑のユニフォーム画像の出力結果を示す.
図 4.17 出力(imageLabel =緑のユニフォーム画像)
図 4.18 に imageLabel が青のユニフォーム画像の出力結果を示す.
19
24. 図 4.18 出力(imageLabel =青のユニフォーム画像)
図 4.19 に imageLabel がボーダーのユニフォーム画像の出力結果を示す.
図 4.19 出力(imageLabel =ボーダーのユニフォーム画像)
imageLabel が赤のユニフォーム画像の時の損失関数の推移をグラフ 4.20 に,正解率の推移をグ
ラフ 4.21 に示す.
図 4.20 損失関数(imageLabel =赤のユニフォーム画像)
20
25. 図 4.21 正解率(imageLabel =赤のユニフォーム画像)
imageLabel が緑のユニフォーム画像の時の損失関数の推移をグラフ 4.22 に,正解率の推移をグ
ラフ 4.23 に示す.
図 4.22 損失関数(imageLabel =緑のユニフォーム画像)
図 4.23 正解率(imageLabel =緑のユニフォーム画像)
imageLabel が青のユニフォーム画像の時の損失関数の推移をグラフ 4.24 に,正解率の推移をグ
ラフ 4.25 に示す.
21
26. 図 4.24 損失関数(imageLabel =青のユニフォーム画像)
図 4.25 正解率(imageLabel =青のユニフォーム画像)
imageLabel がボーダーのユニフォーム画像の時の損失関数の推移をグラフ 4.26 に,正解率の推
移をグラフ 4.27 に示す.
図 4.26 損失関数(imageLabel =ボーダーのユニフォーム画像)
22
27. 図 4.27 正解率(imageLabel =ボーダーのユニフォーム画像)
4.3 検討
4.3.1 ハイパーパラメーターの効果
ハイパーパラメーターの効果を検証するために表 4.18 の値に変えて実験を行った.imageLabel
は緑のユニフォーム画像のみ検証を行った.
表 4.18 ハイパーパラメーター
Affine Convolution
ep 0.001 0.001
p1 0.9 0.9
batch - -
表 4.19 に学習後の RGB の平均を示す.
表 4.19 学習後の RGB の平均
imageLabel =緑のユニフォーム画像 (125.6348,102.3449,101.9887)
図 4.28 に imageLabel が緑のユニフォーム画像の出力結果を示す.
図 4.28 出力(imageLabel =緑のユニフォーム画像)
imageLabel が緑のユニフォーム画像の時の損失関数の推移をグラフ 4.29 に,正解率の推移をグ
ラフ 4.30 に示す.
23
28. 図 4.29 損失関数(imageLabel =緑のユニフォーム画像)
図 4.30 正解率(imageLabel =緑のユニフォーム画像)
表 4.15,4.19 を比較するとハイパーパラメーターの値だけでは RGB 値に差はあまり見られな
い.一方で,図 4.17,4.28 を比較すると明らかに違うデザインの画像になっているのが確認で
きる.
画像生成モデル向上の為に検証を行ったが,ハイパーパラメーターの値によっても出力が変化す
ることが確認できた.
4.3.2 ネットワーク構成の効果
ネットワーク構成の効果を検証するために表 4.20 の構成に変えて実験を行った.imageLabel は
緑のユニフォーム画像のみ検証を行った.
24
29. 表 4.20 ネットワーク構成
Generator Discriminator
Affine, Affine,
Deconvolution,ReLU, Convolution,LeakyReLU,
Deconvolution,ReLU, Convolution,LeakyReLU,
Deconvolution,ReLU, Convolution,LeakyReLU,
Convolution, Convolution,LeakyReLU,
Affine,Tanh Convolution,LeakyReLU,
Affine,Sigmoid
表 4.21 に学習後の RGB の平均を示す.
表 4.21 学習後の RGB の平均
imageLabel =緑のユニフォーム画像 (124.3927,105.1583,104.3616)
図 4.31 に imageLabel が緑のユニフォーム画像の出力結果を示す.
図 4.31 出力(imageLabel =緑のユニフォーム画像)
imageLabel が緑のユニフォーム画像の時の損失関数の推移をグラフ 4.32 に,正解率の推移をグ
ラフ 4.33 に示す.
図 4.32 損失関数(imageLabel =緑のユニフォーム画像)
25
30. 図 4.33 正解率(imageLabel =緑のユニフォーム画像)
本実験も画像生成モデル向上の為に検証を行ったが,ネットワーク構成でも出力が変化すること
が確認できた.図 4.17,4.31 を比較すると,前者よりも後者の方が緑の色が出ているのが確認で
きる.このことから.多層や Deconvolution でサイズをあげることが効果的だったと考えられる.
欠点としては学習処理時間やメモリ問題であった.
4.3.3 画像の正規化の効果
画像の正規化の効果を検証するために [0,256] から [0,1] に正規化を変更し実験を行った.
imageLabel は緑のユニフォーム画像のみ検証を行った.
表 4.22 に学習後の RGB の平均を示す.
表 4.22 学習後の RGB の平均
imageLabel =緑のユニフォーム画像 (144.4106,119.3127,118.0044)
図 4.34 に imageLabel が緑のユニフォーム画像の出力結果を示す.
図 4.34 出力(imageLabel =緑のユニフォーム画像)
imageLabel が緑のユニフォーム画像の時の損失関数の推移をグラフ 4.35 に,正解率の推移をグ
ラフ 4.36 に示す.
26
31. 図 4.35 損失関数(imageLabel =緑のユニフォーム画像)
図 4.36 正解率(imageLabel =緑のユニフォーム画像)
本実験も画像生成モデル向上の為に検証を行ったが,図 4.17 と図 4.34 を比較すると,後者は
imageLabel の影響を受けた出力が確認できない上に,画像の背景も学習しきれていないのが分か
る.画像の正規化をしない場合,画像自動生成においてもデザイン画像生成においても精度が下が
ることが確認できた.
4.3.4 imageLabel のサイズの効果
imageLabel のサイズの効果を検証するために 4x4x3 を 16x16x3 に変更し実験を行った.
学習前後の RGB の平均を表 4.23,4.24,4.25,4.26 に示す.
表 4.23 学習前の RGB の平均
(122.6953,94.4290,94.4290)
表 4.24 学習後の RGB の平均
imageLabel =赤のユニフォーム画像 (131.9353,87.0004,86.6478)
imageLabel =緑のユニフォーム画像 (125.1575,126.8121,126.4314)
imageLabel =青のユニフォーム画像 (124.0010,115.8919,115.8268)
27
32. 表 4.25 学習前の RGB の平均
白範囲 (228.1375,129.3875,129.3875)
黒範囲 (102.3775,102.4471,102.4471)
表 4.26 学習後の RGB の平均
imageLabel =赤のユニフォーム画像 白範囲 (224.7,106.8375,116.1125)
imageLabel =赤のユニフォーム画像 黒範囲 (103.5626,103.7715,103.4033)
imageLabel =ボーダーのユニフォーム画像 白範囲 (222.6125,79.5,78.525)
imageLabel =ボーダーのユニフォーム画像 黒範囲 (102.5370,102.6260,102.6003)
図 4.37 に imageLabel が赤のユニフォーム画像の出力画像を示す.
図 4.37 出力(imageLabel =赤のユニフォーム画像)
図 4.38 に imageLabel が緑のユニフォーム画像の出力結果を示す.
図 4.38 出力(imageLabel =緑のユニフォーム画像)
図 4.39 に imageLabel が青のユニフォーム画像の出力結果を示す.
図 4.39 出力(imageLabel =青のユニフォーム画像)
図 4.40 に imageLabel がボーダーのユニフォーム画像の出力結果を示す.
28
33. 図 4.40 出力(imageLabel =ボーダーのユニフォーム画像)
imageLabel が赤のユニフォーム画像の時の損失関数の推移をグラフ 4.41 に,正解率の推移をグ
ラフ 4.42 に示す.
図 4.41 損失関数(imageLabel =赤のユニフォーム画像)
図 4.42 正解率(imageLabel =赤のユニフォーム画像)
imageLabel が緑のユニフォーム画像の時の損失関数の推移をグラフ 4.43 に,正解率の推移をグ
ラフ 4.44 に示す.
29
34. 図 4.43 損失関数(imageLabel =緑のユニフォーム画像)
図 4.44 正解率(imageLabel =緑のユニフォーム画像)
imageLabel が青のユニフォーム画像の時の損失関数の推移をグラフ 4.45 に,正解率の推移をグ
ラフ 4.46 に示す.
図 4.45 損失関数(imageLabel =青のユニフォーム画像)
30
35. 図 4.46 正解率(imageLabel =青のユニフォーム画像)
imageLabel がボーダーのユニフォーム画像の時の損失関数の推移をグラフ 4.47 に,正解率の推
移をグラフ 4.48 に示す.
図 4.47 損失関数(imageLabel =ボーダーのユニフォーム画像)
図 4.48 正解率(imageLabel =ボーダーのユニフォーム画像)
本実験では imageLabel のサイズがデザイン画像生成にどれだけ影響するのかを確認する為に検
証を行った.imageLabel のサイズが 4x4x3 の出力画像(図 4.17,4.18,4.19)と,imageLabel の
サイズが 16x16x3 の出力画像(図 4.38,4.39,4.40)をそれぞれ imageLabel ごとに比較すると,
31
36. imageLabel のサイズが大きい後者の方が明らかに,出力にその影響を反映させているのが分かる.
特に図 4.39 に関しては,赤と青がどちらも綺麗に出力されている.
このことから,imageLabel のサイズは大きい方がデザイン出力には有効的であることが分
かった.
4.3.5 デザイン出力の効果
データセット A での実験では,学習データの特徴も残しつつ,imageLabel の影響を受けた出力
が得られるか検証するために行ったが,特に RGB の平均値から確かに imageLabel によって出力
がその影響を受けている結果が獲得できた.これは各単色でもボーダーでも確認できたので,ど
の色や柄でも適応できることが分かった.学習においては,損失関数と正解率のグラフ(図 4.8∼
4.15)から,早い段階で学習が収束しているのではないかと考えられる.
また,この実験を踏まえた上で,データセット B での実験では,学習データのユニフォーム画像
のデザインの特徴を残しつつ,実際に imageLabel のユニフォーム画像のデザインが反映されるか
検証するために行ったが,特に imageLabel が青のユニフォーム画像である出力画像(図 4.39)に
学習データの特徴を残しつつ,確かに imageLabel の影響を受けた出力が確認できた.逆に,ボー
ダーの imageLabel での出力画像(図 4.19,4.40)では,全体的に暗くなっており影響を受けた結
果は得られたが,出力にはっきりとその特徴が取り込まれなかった為,単色なのか柄なのかでも結
果が異なることが分かった.
また,画像の生成モデルを向上させる為に,ハイパーパラメーターの効果,ネットワーク構成の
効果,画像の正規化の効果を検証する実験をそれぞれ行った.ネットワーク構成は多層であるほど
良い,画像の正規化は行った方が良い,の知見は得られたが,ハイパーパラメーターに関しては
様々なパターンで試行錯誤する意義があると思われた.
以上の結果から image-labelDCGAN では,学習データの特徴を残しつつ imageLabel の特徴を
も付加させた出力の生成,つまりらしさを残しつつ新しいデザイン画像の生成が可能であった.
32
37. 第 5 章
関連研究
Phillip らは GAN を拡張し,本物データ,偽物データ,ノイズにそれぞれラベルを同付して画
像生成する conditionalGAN という手法を提案している [9].cGAN は入力画像から出力画像への
マッピングを学ぶだけでなく,このマッピングを訓練するための損失関数も学んでいく.これは,
伝統的に非常に異なる損失関数式化を必要とする問題に対して同じ一般的なアプローチを適応する
ことを可能にした.この手法により,ラベルマップから写真を合成したり,エッジマップからオブ
ジェクトを再構成したり,画像を色付けしたりすることが効果的になった.
jun-Yan らは GAN を拡張し,cycleGAN という手法を提案している [6].2 つのデータソース
間の変換を学習する GAN の一種で,pix2pix(文献)とは異なり,2 つのデータソースのインス
タンスが 1 対 1 に対応していなくても学習が行えるのが特徴である.cycleGAN では 2 つの学習
データソース A,B を利用しており,G と D がそれぞれ 2 つずつ存在している.ソース A のデー
タソースをソース B へ変換する GeneratorGA → B ソース B のデータソースをソース A へ変換す
る GeneratorGB → A 入力を,GA → B によって生成された偽物の B か本物の B のデータか判別
する DiscriminatorDB 入力を,GB → A によって生成された偽物の A か本物の A のデータか判
別する DiscriminatorDA の4つを学習する仕組みになっており,このとき,GeneratorGB → A,
GA → B は,DiscriminatorDA,DB を騙せるほど本物に近いデータを生成しようとし,DA,DB
は,GB → A,GA → B が作成した偽物のデータと本物のデータを区別できるように学習する.ま
た,GB → A による変換結果を GA → B で変換すると元のデータに戻ることを要請し一方も同様で
ある.
構成を図 5.1 に示す.
図 5.1 cycleGAN
以下に目的関数を示す.
L(GA → B, GB → A, DA, DB) =
33
38. LGAN (GA → B, DB, A, B) + LGAN (GB → A, DA, B, A) + λLcyc(GA → B, GB → A)
LGAN (GA → B, DB, A, B) は,DB で本物の B と GA → B によってつくられた B をどれだけ区
別できているかを表し,LGAN (GB → A, DA, B, A) は,DA で本物の A と GB → A によってつく
られた A をどれだけ区別できているかを表し,λLcyc(GA → B, GB → A) は,GA → B(GB → A(b))
と b との距離 +GB → A(GA → B(a)) と a との距離を各ピクセル値の差を利用して計算している.
GA → B,GB → A はこの目的関数を小さくするように,DA,DB は目的関数を大きくするように
学習を行う.
このモデルは,学習データとは違う画像を生成することからこの研究と近しいが,データソース
を用意し与えた条件下での画像を生成している点で異なる.
Alexander らは,Amazon 研究所でファッションデザインの自動生成を提案している [8].彼
らは,BidirectionalGAN を用いてデザインの画像を試みているところが本研究とは異なる.
BidirectionalGAN とは,GAN を拡張したものである [5],通常 Discriminator は Generetor が生
成した偽物データか,本物データであるかを判別する.その際,受けとる情報はそれぞれ画像のみ
である.BidirectionalGAN では,Generator が生成した偽物データを判別させる際には,生成し
た偽物データと元のノイズ情報とセットにしたものを入力とする.本物データを判別させる際に
は,本物データをエンコーダーに通した結果,つまり本物データの特徴量と本物データをセットに
したものを入力とする.また,Generator の入力は通常ノイズであるが,本物データの判別の際使
用する本物データの特徴量を付加させたノイズを入力としている.
図 5.2 に構成図を示す.
図 5.2 BidirectionalGAN
以下に目的関数を示す.
LBiGAN = Ex∼pd(x)[log D(E(x), x)] + Ez∼pz(z)[log(1 − D(z, G(z)))]
Generator と Encoder は最小化するように,Discriminator は最大化するように学習を進めてい
く.Alexander らは,この BidirectionalGAN を大量のファッション画像を学習データで学習させ
ることでファッションデザイン画像の自動生成を可能にしている.
34
40. 参考文献
[1] AlecRadford, LukaMetz, S.: UNSUPERVISED REPRESENTATION LEARNING WITH
DEEP CONVOLUTIONAL GENERATIVE AVDERSARIAL NETWORKS, arXiv,
Vol. 1511.06434v2[cs.LG] (2016).
[2] BoZhao, J. et al.: Memory-Augmented Attribute Manipulation Networks for Interactive
Fashion Search, CVPR, Vol. 10.1109/CVPR.2017.652 (2017).
[3] DevashishShanker et al.: Deep Learning based Large Scale Visual Recommendation and
Search for E-Commerce, arXvi, Vol. 1703.02344v1[cs.CV] (2017).
[4] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S.,
Courville, A. and Bengio, Y.: Generative Adversarial Nets, Advances in Neural Infor-
mation Processing Systems 27 (Ghahramani, Z., Welling, M., Cortes, C., Lawrence,
N. D. and Weinberger, K. Q., eds.), Curran Associates, Inc., pp. 2672–2680 (online),
http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf (2014).
[5] Jaiswal, A. et al.: Bidirectional Conditional Generative Adversarial Networks, arXiv,
Vol. 1711.07461v4[cs.LG] (2018).
[6] Jun-YanZhu, TaesungPark, P. A.: Unpaired Image-to-Image Translation using Cycle-
Consistent Adversarial Networks, arXiv, Vol. 1703.10593v6[cs.CV] (2018).
[7] JunshiHuang et al.: Cross-domain Image Retrieval with a Dual Attribute-aware Ranking
Network, arXvi, Vol. 1505.07922v1[cs.CV] (2015).
[8] Lorbert, A., Ben-Zvi, N., Ciptadi, A. and Oks, E.: Toward better reconstruction of style
images with GANs (2017).
[9] PhillipIsola, Jun-YanZhu, T. A.: Image-to-Image Translation with Conditional Adversar-
ial Networks, arXiv, Vol. 1611.07004v1[cs.CV] (2016).
[10] RuiningHe et al.: Sherlock:Sparse Hierarchical Embeddings for Visually-aware One-class
Collaborative Filtering, arXvi, Vol. 1604.05813v1[cs.IR] (2016).
[11] ShizhanZhu, SanjaFidler, R. et al.: Be Your Own Prada:Fashion Synthesis with Structural
Coherence, arXiv, Vol. 1710.07346v1[cs.CV] (2017).
[12] Technologies, S. T.: VAE と GAN を活用したファッションアイテム検索システム,
https://tech.starttoday-tech.com/entry/retrieval using vae gan.
[13] Technologies, S. T.: コ ー デ ィ ネ ー ト の 自 動 生 成 ,https://tech.starttoday-
tech.com/entry/outfit generator.
[14] YunchengLi, LiangLiangCao, J. J. F. I.: Mining Fashion Outfit Composition Using
An End-to-End Deep Learning Approach on Set Data, arXiv, Vol. 1608.03016v2[cs.CV]
(2017).
[15] ZaidAI-Halah et al.: Fashion Forward:Forecasting Visual Style in Fashion, arXvi,
Vol. 1705.06394v2[cs.CV] (2017).
36
41. [16] ZiweiLiu, PingLuo, S. et al.: DeepFashion:Powering Robust Clothes Recognition and
Retrieval with Rich Annotations, CVPR, Vol. 10.1109/CVPR.2016.124 (2016).
37