Data Augmentation

이승수·2022년 7월 13일

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개의 댓글