티스토리 뷰

딥러닝

Data Augmentation (데이터 증강)

별의 별 2021. 3. 15. 11:05

Data Augmentation (데이터 증강)

 

딥러닝에서 데이터를 증가시키는 데이터 증강에 대해 알아보자.

 

딥러닝에서 학습된 모델이 과적합되는 문제를 해결하기 위해서 많은 데이터로 네트워크를 훈련하는 게 중요하다.

 

과적합이란?

훈련할 데이터가 충분하기 않아서 모델이 오직 학습 데이터에 지나치게 의존해서 다른 데이터에 제대로 반응하지 못하는 현상으로 일반화가 잘 되지 않는 현상을 말한다.

쉽게 생각하면 수학문제를 풀 때 숫자만 바꾸면 풀 수 있지만 유형을 살짝 바꾸면 못 푸는 것을 생각하면 된다.

 

데이터가 충분해야 과적합이 일어나지 않는데 데이터 종류에 따라서 확보할 수 있는 분량이 제한적일 수 있다.

양질의 데이터를 얻기위한 방법으로 data augmentation이라고 한다.

 


Data Augmentation

- 인위적인 변화를 가해 새로운 훈련 데이터를 확보하는 방법

 

종류

컴퓨터 비전에서 주로 쓰는 방법이 많이 적용된다.

data augmentation

 

1) 기하학적 변형

affin transformation

 

  • reflection (flipping) - 반사 (뒤집기)


  • rotation - 회전


  • scaling - 크기를 줄이는 것


  • translation (when, b≠0) - 이동


  • shearing (skewing) - 찌그러 트리는 것

  • cropping

 

2) 색공간 변형

 -. RGB channel 을 분리, gray-scale 만들기
 -. Lighting 조정 : pixel 값 조정 (0~255; black~white)
 -. Color histogram 조정 : 여러 프로그램에서 지원됨

 

3) 기타

noise injection (노이즈 삽입)

    { 𝑥' = 𝑥+θ, θ~𝑁(0, Σ) } ⋯ white noise

    가우시안 노이즈 추가 : 영상의 high frequency 억제에 좋다.

  -. kernel filter (대비) - 에지를 선명하거나 흐리게 함

    { contrast, sharpening, blurring }

 -. mixing image (모자이크)

    { random image cropping + patching }

 -. random erasing (지우기)

:이미지 영역을 랜덤 값 또는 training set의 평균 픽셀 값으로 대체

yolo에서 많이 쓰는 데이터 증강법을 정리했다.

cutout

:  random erasing과 비슷, 컷아웃 지역은 cnn의 첫 번째 계층에만 숨겨진다. 

overlaid occlusion에서 일정한 값을 가진다.

 

Hide and seek

:이미지를 SxS 패치 그리드로 나눈다. 각 패치를 일부 확률로 숨긴다. 이를 통해 모델은 개체의 한 부분만 학습하지 않고도 개체 모양을 학습할 수 있다.



Grid Mask

:이미지 영역이 그리드와 같은 방식으로 숨겨진다. 개별 물체를 구성하는 요소의 부분을 학습하도록 한다.

 

MixUp

서로 다른 두 이미지를 결합해 새로운 이미지를 생성한다. 이미지는 랜덤으로 선택되어 결합되며 학습 진행될 때 정답 레이블 값도 결합 비율만큼 가중되어 조정된다. 

mosaic

 

다음과 같이 여러 사진을 중첩해서 데이터를 만드는 작업이다.

yolo v4에서 처음 선보인 기능이다.

대상의 크기가 작아져도 판별하게, 다른 위치에 있는 물체를 쉽게 파악하게 하려고 쓰인다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출처

iq.opengenus.org/data-augmentation

keraskorea.github.io/posts/2018-10-24-little_data_powerful_model/

towardsdatascience.com/data-augmentation-in-yolov4-c16bd22b2617

hoya012.github.io/blog/yolov4/

towardsdatascience.com/data-augmentation-in-yolov4-c16bd22b2617

 

다양한 곳에서 사진과 내용을 가져와 내가 보려고 정리해놓은 것

'딥러닝' 카테고리의 다른 글

[머신러닝] 성능평가지표  (0) 2021.03.15
object detection  (0) 2021.03.02
댓글