五十嵐響子画伯AIを作る その2 ディープラーニングでオムライスを生成する
はじめに
前回は五十嵐響子さんの絵のクラスを判別してみましたが、ちゃんとできてるのかよくわかりませんでした。今回は五十嵐響子さんの絵を生成してみようと思います。
DCGANについて
DCGANはGANという生成ネットワークの一種です。
オリジナルのGANはDense層なのに対し、DCGANではConv層を使うことでよりよい画像が生成できるようになっています。
実装
今回は前回用いた6つの画像をすべて使います。ラベルは無視して響子さんが描いたような絵を出すことができるようにすることを目的とします1。
とはいえ、kerasでGANを実装したgithubリポジトリがあるので、それを使います。MNISTに合わせたデータに加工してそのまま使います。
load_dataという関数を定義してMNISTの代わりに響子さんのサンプル画像を読ませます。
def load_data():
imgdir = "kyoko\\"
xx = []
for myimgfile in glob(imgdir + "*.png"):
myimg = cv2.imread(myimgfile,0)
# ret,myimg = cv2.threshold(myimg,170,255,cv2.THRESH_BINARY_INV)
myimg = cv2.resize(myimg,(28,28))
xx.append(myimg)
xx = np.array(xx)
return xx
結果
段々それっぽい画像が生成できるようになってきます。
それっぽいというよりほぼ元データみたいなのが多いです。データが少ないので仕方がないです。
損失関数
上がGenerator、下がDiscriminatorです。
おまけ
ケチャップオムライス風の色にしてみました。
響子さんならこんな絵を描きそうな気がする。
-
クラスラベルを指定して生成できるGANもあります(conditionalGAN)。 ↩
Author And Source
この問題について(五十嵐響子画伯AIを作る その2 ディープラーニングでオムライスを生成する), 我々は、より多くの情報をここで見つけました https://qiita.com/bluepost59/items/027ae9f60f59d05bc7fc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .