Capstone/2019-1 Capstone

④ 이미지 수집 & 데이터 불리기

Jeongmin Lee 2019. 5. 27. 18:47

이미지 수집 & 데이터 불리기


수집해야하는 이미지는 옥수수 이미지로 Gray leaf spot, Northern leaf blight, Common rust라는 질병의 데이터 셋입니다.


1) Kaggle Datasets


Kaggle Datasets에서 이미지 수집(https://www.kaggle.com/emmarex/plantdisease)

해당 Github로 바로가기(https://github.com/spMohanty/PlantVillage-Dataset)


옥수수 이미지 2690장 사용했습니다.

데이터셋의 이미지는 아래와 같습니다.


 Gray leaf spot                                                Northern leaf blight                                       Common rust



2) Google 검색 


Google 검색으로 이미지 수집


옥수수 이미지 159장 수집 augumentation을 통해 636장의 이미지를 만들었습니다.

수집한 이미지는 아래와 같습니다.


< Gray leaf spot >                                               Northern leaf blight >                                    < Common rust >

 원본                                                                          원본                                                                  원본   

 

▲ 증가한 데이터                                                         증가한 데이터                                                                 증가한 데이터  



이미지 증가할 때 사용한 파라미터는 이미지 회전, 이미지 밀림, 수평뒤집기, 수직 뒤집기입니다.

제공하는 파라미터는 아래의 표와 같습니다.




이미지 증가 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import numpy as np
import os
from os import listdir
from os.path import isfile, join
from PIL import Image
 
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
 
 
data_datagen = ImageDataGenerator(rescale=1./255)
 
data_datagen = ImageDataGenerator(rescale=1./255,
                                   rotation_range=15
                                   shear_range=0.5,  
                                   # width_shift_range=0.1,
                                   # height_shift_range=0.1,
                                   horizontal_flip=True,
                                   vertical_flip=True,
                                   fill_mode='nearest'
 
 
 
 
filename_in_dir = [] 
 
for root, dirs, files in os.walk('/Users/ijeongmin/Capstone_2019/data_latest/s'):
    for  fname in files:
        full_fname = os.path.join(root, fname)
        filename_in_dir.append(full_fname)
 
for file_image in filename_in_dir:
    print file_image
    img = load_img(file_image) 
    x = img_to_array(img)
    x = x.reshape((1,) + x.shape)
 
    i = 0
 
    for batch in data_datagen.flow(x,save_to_dir='/Users/ijeongmin/Capstone_2019/data_latest/s_au', save_prefix='corn_au', save_format='jpg'):
        i += 1
        if i > 6:
            break
cs



※ 이미지는 총 3326장을 사용했습니다.

Training/Validation/Test = 80/10/10로 나누어 사용했습니다.

 Training(2660장)

 Validation(333장)

Test(333장)


추가적으로 건강한 옥수수를 이상 옥수수로 분류하는 경우가 없는지 확인하기 위해 건강한 옥수수 이미지 55장을 수집했습니다.

반응형