텐서플로우를 이용한 Image Augmentation
딥러닝 모델을 잘 학습시키위해서는 수많은 데이터를 확보해야한다.
수백~수천만장의 데이터셋을 만들기는 돈도 시간도 많이 들기에 현실적으로 힘든 부분이다.
우리는 데이터를 많이 모으기 힘든 경우에 Aumentation 기법을 사용하여 데이터셋의 규모를 키울 수 있다.
Image Augmentation 기법들 ( with 텐서플로우)
1) Flip
이미지를 좌우 또는 상하로 반전시키는 방법이다.
detection이나 segmentation 등 정확한 정답 영역이 존재하는 문제에 적용할 때는 라벨도 같이 좌우반전시켜줘야한다. 그리고 숫자나 알파벳 문자를 인식하는 문제에 flip을 적용할 땐 주의하자!
tf.image.flip_left_right(image_tensor) # 좌우반전 tf.image.flip_up_down(image_tensor) # 상하반전
2) Center Crop
이미지의 중앙을 기준으로 자르는 방법이다. central_fraction으로 얼마나 확대할 지 조절할 수 있다. central_fraction이 1이면 원본 이미지이고, 0에 가까워 질수록 확대를 더 하는 것이다.
tf.image.central_crop(image_tensor, central_fraction=1)
3) Random Crop
이미지를 랜덤으로 자르는 방법이다.
tf.image.random_crop(image_tensor,size=[180,180,3])
4) Brightness
이미지의 밝기를 조절하는 방법이다.
random_brightness_tensor = tf.image.random_brightness(image_tensor,max_delta=128) random_brightness_tensor = tf.clip_by_value(random_brightness_tensor,0,255)
tf.image.random_brightness()
만 적용할 경우 이미지 텐서 값의 범위가 0~255를 초과할 수도 있다. 이 경우 plt.imshow()
에서 rescale되어 밝기 변경 효과가 상쇄되어 보이기 때문에 tf.image.random_brightness()
다음에는 tf.clip_by_value()
를 적용해줘야한다.
Author And Source
이 문제에 관하여(텐서플로우를 이용한 Image Augmentation), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oooops/텐서플로우를-이용한-Image-Augmentation저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)