목차
1. 데이터셋 수집(동영상 촬영)
인터넷에 공개된 오픈소스 데이터셋 대부분은 머리 전체를 face로 놓고 데이터셋을 구성하였기 때문에 우리의 목적과 다소 차이가 있다. 따라서 이번 매카톤 프로젝트에서는 한국인의 얼굴 데이터를 직접 동영상 촬영한 뒤 프레임 분할하여 face datset을 구성할 예정이다.
2. video file 프레임 분할
위 블로그에 나와있는대로 VLC Media Player 프로그램을 이용하여 프레임을 분할한다.
3. 데이터 라벨링
https://github.com/tzutalin/labelImg
anaconda에 새로운 가상환경을 만든 뒤, 가상환경을 활성화하고
pip install labelimg
labelimg
위 명령어를 순서대로 입력하여 labelimg를 실행한다.
그 뒤 저장형식을 yolo로 지정한 뒤 목표한 지점을 bounding box를 그려 annotation data를 저장한다.
4. yolov5 custom dataset 학습
https://dohyeon.tistory.com/38?category=1006878
위 블로그에 나온 글을 토대로 앞서 라벨링된 face dataset을 가지고 yolov5 네트워크를 학습시킨다.
결과적으로 weight file 하나를 얻을 수 있다.
5. yolov5 + strongsort model을 이용한 object detection+tracking 모델 구현
https://github.com/mikel-brostrom/Yolov5_StrongSORT_OSNet
앞서 4번 과정에서 얻은 weight file을 이용하여 yolov5+strongsort model inference를 하여 얼굴영역을 tracking 한다.
6. yolov5의 detection 코드에서 bounding box의 좌표 영역을 parsing하여 roi를 받아오고,
roi영역만 가우시안 블러 처리한 뒤 original image에 다시 그려준다.
7. 끝!
참고
https://pyimagesearch.com/2020/04/06/blur-and-anonymize-faces-with-opencv-and-python/
'외부활동 > 매카톤(인공지능 동아리) - 1기' 카테고리의 다른 글
[2022 매카톤] Video Abnormal Detection Tutorial (0) | 2022.07.05 |
---|---|
[2022 매카톤] Dron Tracker Tutorial (0) | 2022.06.26 |