• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

CIFAR10_Custom_Aug 에서 augment된 이미의 갯수 늘려 저장하고 싶습니다.

22.06.28 20:37 작성 조회수 93

0

안녕하세요 선생님,
train image(tr_image 하나당) 한장당 10개씩 augment를 하고,
만약 tr_images가 100개라면 100 * 10 = 1000 개의 jpg를 가지고 작업을 진행하고 싶습니다.
아래 코드를 어떻게 수정해야 하는지 여쭙니다.
감사합니다.
 
 
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_generator = ImageDataGenerator(
    #rotation_range=20,
    #zoom_range=(0.7, 0.9),
    horizontal_flip=True,
    #vertical_flip=True,
    rescale=1/255.0
)
 
flow_tr_gen = train_generator.flow(tr_images, tr_oh_labels, batch_size=BATCH_SIZE, shuffle=True)
 
 
 
 

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

ImageDataGenerator를 이용한 augmentation은  새로운 image파일을 추가적으로 만들지 않습니다. 

image 파일이 100개가 있으면 이 100개의 image 파일을 iteration 할 때마다 새롭게 augmentation을 적용하는 것이지 추가적으로 만들지 않습니다. 

그래서 ImageDataGenerator를 이용해서 100개의 image 파일을 1000개로 만들수 없습니다. 

딥러닝 학습에 적용할 것이 아니라 그냥 이미지 100개를 1000개로 만들고 싶다고 하신다면 뒤 강의에서 설명드리는 albumentations 라이브러리를 잘 조합해서 생성할 수 있습니다. 

하지만 1000개의 augmentation 이미지를 적용하는 것이나 100개의 이미지를 augmentation 하여 적용하는 거나 모델 성능은 크게 달라지지 않습니다. 왜냐하면 100개 이미지를 iteration 횟수를 1000개보다 10배 증가시키면 학습 시간은 거의 비슷하고 1000개 이미지의 augmentation을 적용한 것과 동일한 효과가 되기 때문입니다. 

감사합니다.