Data Augmentation

이승수·2022년 7월 13일
0

1. 기본적인 이미지 데이터 증강 기법

일반적으로 데이터 증강 기법이 모델 성능 향상에 도움을 주지만 어떤 종류의 이미지를 사용하는지 어떤 task를 수행하는지에 따라 증강이 도움이 안될 수도 있다.

  1. 이미지의 회전(Rotation)
    • 회전 확대는 1°와 359° 사이의 축에서 이미지를 오른쪽이나 왼쪽으로 회전한다.
    • 1에서 20 사이 또는 − 1에서 − 20과 같은 약간의 회전은 MNIST와 같은 숫자 인식 작업에 유용할 수 있지만 어떤 task를 수행하느냐에 따라 너무 큰 회전은 적합하지 않다.
  2. 크기 변환(Scaling)
  3. 밀림(Shearing)
  4. 상하좌우 대칭(Flip)
  5. 이동(Translation)
    • 이미지를 왼쪽, 오른쪽, 위 또는 아래로 이동하는 것은 데이터의 위치 편향을 피하기 위해 매우 유용한 변환이 될 수 있다.
  6. 잘라내기(Crop)
    • 이미지 자르기는 각 이미지의 중앙 패치를 잘라 높이 및 너비 치수가 혼합된 이미지 데이터에 대한 실용적인 처리 단계로 사용할 수 있다.
# tf.keras.layers.experimental.preprocessing 모듈 사용
data_augmentation = tf.keras.Sequential([
 	# RandomFlip을 통해 수평 또는 수직으로 주어진 이미지를 flip
	layers.experimental.preprocessing.RandomFlip("horizontal_and_vertical"),
  	# RandomRotation을 통해 이미지를 회전
  	layers.experimental.preprocessing.RandomRotation(0.2),
])
	

2. 고급 이미지 데이터 증강 기법

  1. Cutout
    논문 https://arxiv.org/pdf/1708.04552.pdf
  • 주어진 각 이미지에서 임의의 영역을 아예 제거하는 기법
  1. Mixup
    논문 https://arxiv.org/pdf/1710.09412.pdf
  • 하나의 학습 데이터를 구성하기 위해 데이터셋 내의 임의의 두 데이터를 적절한 비율로 섞는(Mix) 기법
  • 새로운 데이터 샘플을 생성하기 위해 𝑥𝑖 와 𝑥𝑗 를 𝜆:1−𝜆 의 비율로 섞고, 그에 따라 대응하는 label 데이터도 섞는 것
  1. Cutmix
    논문 https://arxiv.org/pdf/1905.04899.pdf
  • Cutout과 Mixup을 혼합한 기법
  • Cutmix는 Cutout을 통해 선택된 A 이미지의 일부 영역을 B 이미지의 또 다른 영역에 덮어씌우는 방식, 즉 A 이미지의 일부를 복사해서 B 이미지에 붙여넣는 방식이다.
profile
AI/Data Science

0개의 댓글