happy_quokka.log
로그인
happy_quokka.log
로그인
[Data Augmentation] 1. Data Augmentation
happy_quokka
·
2024년 1월 8일
팔로우
0
0
자율주행 Perception
목록 보기
8/19
Data Augmentation의 필요성
data labeling은 중요한 작업이지만 많은 비용과 노력이 들어간다
data augmentation은 이를 도와주는 방법이 될 수 있다
데이터는 많을수록 좋고 환경은 변화하기 때문에 새로운 데이터가 필요하지만 이 모든 것을 data labeling만으로 해결할 수 없다
따라서 data labeling을 최소화하면서 보다 효과적인 data augmentation 방법들이 제안되고 있다
data augmentation을 사용했을 때
모델 성능이 더 좋아진다
noise를 추가하는 경우도 있기 때문에 inference 성능이 좋아진다
Data Augmentation이란?
data augmentation의 기본 개념은 데이터가 가지고 있는 고유한 특징, 특성에 추가/변경/제거를 통해 새로운 이미지를 만드는 것
색공간 변형
기하학적 변형
왜곡
distortion : grid의 비율을 다르게 조절
그 외
그 외에도 이미지 왜곡, 노이즈, 가림 등 다양한 data augmentation 기법을 적용할 수 있다
Model에 Data Augmentaion 적용
이미지 데이터에 augmentation을 적용하여 이미지로 가지고 있을 수도 있지만 그렇게 되면 디스크 용량도 많이 차지하고 파일도 많아진다
따라서 모델 학습 단계에서 데이터를 불러온 후 train에 input을 넣어주는 사이에 augmentation을 적용하는 경우가 많다
이때 epoch을 신경써야한다
원래 1 epoch에 1000장의 이미지를 사용했다면,
case 1. augmentation을 통해 이미지 데이터 개수를 60배로 늘린 경우
: 1 epoch당 6만장의 이미지 데이터 사용
case 2. data를 불러온 후 train의 input 전에 augmentation을 적용한 경우
: 1 epoch 당 그대로 1000장
data augmentation의 경우 원래 이미지가 가장 많은 정보를 담고 있다
따라서 train 전에 augmentation을 수행한다면 epoch의 횟수를 늘리는 것이 좋다
Data Augmentation의 주의점
data augmentation은 추가적인 데이터 제작없이 모델 성능을 확보할 수 있는 방법 중 하나이지만 사용하는데 주의가 필요하다
보유한 데이터와 모델의 목적을 고려하여 적절한 data augmentation 기법을 적용해야한다
신호등의 경우
자율주행의 경우 신호등 데이터를 사용할 때 주의가 필요하다
신호등의 경우 색공간 정보(res, yellow, green)과 불빛의 위치 정보를 사용한다
augmentation을 통해 grayscale로 변환되거나 channel이 바뀌게 된다면 문제가 발생한다
이미지가 잘려서 하나의 신호등 부분만 보이게 된다면 어떤 신호인지 알 수 없을 수 있다
Data Augmentation 라이브러리
imgaug
https://github.com/aleju/imgaug
Albumentations
https://albumentations.ai/
기법이 더 다양하다
pytorch에서 사용가능하다
happy_quokka
팔로우
이전 포스트
[Data Labeling] 2. Data Labeling Tool : CVAT
다음 포스트
[Data Augmentation] 2. Image Augmentation Tool : albumentations
0개의 댓글
댓글 작성