본문 바로가기
Deep Learning

YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 4

by 자라자 2021. 5. 17.

Data Augmentation

 

여태까지 진행됐던 결과물은 정확도가 많이 아쉬운 점이 있었는데, 이를 개선하기 위해 우선 Data Augmentation을 진행하기로 했다.

 

기존에 trainset이 57장이었다면, 웹크롤링을 추가로 해서 원본 데이터 셋을 150장으로 만들었다. 그리고 Imgaug를 통해서 Augmented set을 만들었다. 

 

https://github.com/aleju/imgaug

위 라이브러리를 활용하면 object detection을 할 때 데이터를 증폭시키기 유용하다. 단지 사진만 변형해주는 것이 아니라 설정되어있는 bounding box도 한꺼번에 옮겨주기 때문이다. 

 

화소 값 0.5~1.5배, 평행이동 -30~30픽셀, 스케일 0.5~1배, 회전 -15~15도, 좌우플립(확률 0.5) 등의 옵션을 넣고 클론 셋을 원본 1장 당 6장씩 만들었다. 따라서 데이터는 기존의 57장에서 1050장 가량으로 늘어났다. 약 20배 정도..?

결과적으로 모델 성능이 대폭 개선되었다. augmentation 전/후를 비교해보면 아래와 같다. 

 

잘못 예측하던 현상이나 바운딩 박스가 중심으로 몰리던 현상이 모두 잘 해결되었다. 역시 컴퓨터 비전은 데이터 양이 중요하다.

 

동영상에 적용

 

시험 삼아 샘플 동영상에 적용하였다. 앞으로 GUI 프로그래밍을 통해서 프로그램을 짜볼 계획이다.

 

https://www.youtube.com/watch?v=LPFhefNTef8&ab_channel=%EC%9E%90%EB%9D%BC%EC%9E%90 

구독과 좋아요... 부탁해요