0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Kerasを使ってμ's(2年生)の分類(1)

Last updated at Posted at 2019-03-04

#概要
 スマートフォンアプリ「スクールアイドルフェスティバル(以下「スクフェス」)」のカードから学習データの作成を行いニューラルネットワークでの学習を行う.
 今回はその中で学習データの作成を行った.

#学習データ
 今回作成したデータはスクショが面倒だったため2年生の3人のみを対象とした.

  • スクショにより得られた枚数
    • 高坂穂乃果:45枚
    • 南ことり:32枚
    • 園田海未:55枚

スクリーンショット 2019-03-04 17.44.36.png

 ニューラルネットワークでの学習を行うにあたり,これでは学習データが少なすぎると考えられるためDataAugmentationを行うことにした.

#DataAugmentation
 DataAugmentationとは画像の回転や拡大・縮小,左右反転を行うことによりデータの拡張を行うものである.
 KerasではImageDataGeneratorクラスを使うことによりDataAugmentationを行うことができる.

###実装

data_augment.py
import numpy as np 
import glob
from keras.preprocessing import image
from keras.preprocessing.image import img_to_array, load_img, array_to_img, ImageDataGenerator

#ディレクトリ内の画像を読み込み
files = glob.glob("読み込むディレクトリ" + "/*.PNG")

for i,file in enumerate(files):
    #画像をPIL形式で読み込み
    img = load_img(file,target_size=(2436,1125))
    #PIL形式をnumpyのndarray形式に変換
    x = img_to_array(img)
    #ImageDataGeneratorクラスがndarray形式の4次元配列を要求するため
    x = x.reshape((1,) + x.shape)

    #クラス生成
    datagen = ImageDataGenerator(
        rotation_range=25,#画像の回転
        fill_mode='constant',#境界周りの埋め方の指定
        width_shift_range=0.2,#水平シフト
        height_shift_range=0.2,#垂直シフト
        horizontal_flip=True,#水平方向にランダムに反転
        vertical_flip=True)#垂直方向にランダムに反転

    #画像を生成して保存
    aug_img = datagen.flow(x, batch_size = 1, save_to_dir = "生成した画像を保存するディレクトリ", save_prefix = "umi", save_format = "jpg")

    #作成する画像の数だけループ
    for i in range(10):
        batch = aug_img.next()

###生成結果
 上記のソースの処理の結果以下に示す「生成画像の例」のような画像が生成できた

スクリーンショット 2019-03-04 22.01.34.png

スクリーンショット 2019-03-04 22.41.40.png

  • 生成後の画像の枚数
    • 高坂穂乃果:483枚
    • 南ことり:349枚
    • 園田海未:598枚

#まとめ
 今回はスクフェスのカードからスクショにより学習データを作成しDataAugmentationを行った.
次回は~~(気力があれば)~~今回作成したデータを使いニューラルネットワークでの学習を行いたい.

#参考
画像の前処理-Keras Documentation

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?