DataScientist_Skill/DeepLearning
[Python] 이미지 증식 :: ImageDataGenerator(tf)
ds-nada
2023. 8. 15. 20:17
이미지 증식
import tensorflow as tf
tf.keras.preprocessing.image.ImageDataGenerator(
rescale = None,
featurewise_center = False,
samplewise_center = False,
featurewise_std_normalization = False,
samplewise_std_normalization = False,
rotation_range = 0,
width_shift_range = 0.0,
height_shift_range = 0.0,
brightness_range = None, # Tuple or list of two floats
shear_range = 0.0,
zoom_range = 0.0,
channel_shift_range = 0.0,
fill_mode = 'nearest',
cval = 0.0,
horizontal_flip = False,
vertical_flip = False,
)
- Option
rescale
: 주어진 이미지의 크기를 변경(크기 재조정값)- 보통 1/255를 하는 이유는 RGB(256)로 이루어진 이미지이기 때문
featurewise_center
: 데이터셋에 대한 특성별 인풋의 평균 0 여부samplewise_center
: 각 샘플의 평균 0 여부featurewise_std_normalization
: 인풋을 각 특성 내에서 데이터셋의 표준편차로 나눔(표준화)samplewise_std_normalization
: 각 인풋을 표준편차로 나눔(표준화)rotation_range
: 이미지 회전 각도(범위)width_shift_range
&height_shift_range
: 그림을 수평 or 수직으로 랜덤하게 평행 이동시키는 범위(원본 가로 or 세로 길이에 대한 비율 값)- float
- $<1.0$ : 총 너비의 비율
- $>= 1.0$ : 픽셀
- int
- [$-int \sim + int$]
- float
brightness_range
: 밝기 이동 값의 범위shear_range
: 좌표 하나를 고정시키고 다른 몇 개의 좌표를 이동시키는 변환을 함zoom_range
: 확대/축소 범위channel_shift_range
: 무작위 채널 이동 범위fill_mode
: 이미지를 축소 or 회전 or 이동할 때 생기는 빈공간 처리 방식- 'nearset' : 가장 가까운 픽셀을 찾아 늘림
- 'constant' : 다음에 있는 cval값으로 채움
- 'relfect' : 원본 이미지를 대칭해서 채움
- 'wrap' : 원본이미지를 이어 붙여서 채움
cval
: 배경색horizontal_flip
: 무작위로 가로로 뒤집음vertical_flip
: 무작위로 세로로 뒤집음