티스토리 뷰
Object Detection & Tracking : YOLOv4 + Deep_SORT 환경 셋팅 및 실습
hanyangrobot 2020. 12. 9. 16:54작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI LAB)
오늘은 딥러닝 Object Detection 기반 Tracking 실습을 진행해보겠습니다~! 학습 모델명은 YOLOv4 + Deep_SORT 입니다. Deep SORT는 저도 처음 접해보는 것이라... Deep SORT의 이론에 대해서는 실습이 끝난 후에 차차 공부해보려고 합니다ㅎㅎ 그럼 Object Detection + Tracking 실습 진행하겠습니다!
링크 1) YOLOv4 + Deep_SORT 깃헙 링크 : github.com/theAIGuysCode/yolov4-deepsort/tree/9e745bfb3ea5e7c7505cb11a8e8654f5b1319ad9
링크 2) AlexeyAB/darknet 깃헙 링크 : github.com/AlexeyAB/darknet
1. YOLO v4 tiny + Deep_SORT 환경 셋팅하기
1-1) 필자의 학습 환경
- OS : Window10, ubuntu 18.04
- CUDA : 10.2
- cuDNN : 7.6.5
- Anaconda3환경
1-2) Anaconda 환경 생성 및 필요한 라이브러리 설치
- 아래의 항목들을 설치 (OpenCV, sklearn, pillow, numpy, torch, tensorflow-gpu)
- 아나콘다 환경에서 작업하시지 않을 분들은 pip3 명령어로 로컬에 설치하셔도 괜찮습니다~!
conda create -n ob_tracking python=3.8
conda activate ob_tracking
conda update -yn base -c defaults conda
conda install -c conda-forge opencv
conda install -c anaconda absl-py lxml pillow
conda install -c conda-forge easydict tqdm matplotlib
conda install -c anaconda tensorflow-gpu
- 코드 다운로드 (git clone)
git clone https://github.com/theAIGuysCode/yolov4-deepsort.git
1-3) 학습 모델 파일 다운로드
- 저는 yolov4-tiny 기준으로 진행해보겠습니다.
- 단순 테스트 용이라면 아래의 링크에서 pre-trained 모델을 다운받으시면 됩니다.
- custom 학습을 진행한 모델을 사용하시려면, 링크 2)의 YOLO를 직접 학습하여 weight 파일을 생성하면 됩니다.
- 학습 모델 (pre-trained) 가중치 파일 다운로드 링크 : https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights
1-4) YOLOv4_Deep_SORT 실행
- 다음의 명령어를 실행합니다.
# save yolov4-tiny model
python save_model.py --weights ./data/yolov4-tiny.weights --output ./checkpoints/yolov4-tiny-416 --model yolov4 --tiny
# Run yolov4-tiny object tracker
python object_tracker.py --weights ./checkpoints/yolov4-tiny-416 --model yolov4 --video ./data/video/test.mp4 --output ./outputs/tiny.avi --tiny
- 위 명령어를 실행하면 아래의 이미지와 같이, tracking 영상이 뜹니다! 성공!!
- 만약에 custom 데이터로 학습한 모델을 사용하려면, save_model.py의 명령어에서 weight 인자를 학습한 모델로 수정합니다.
- 그리고 yolov4-deepsort/core/config.py에서 __C.YOLO.CLASSES을 자신의 names 파일에 맞게 수정합니다.
'sinanju06 > 딥러닝 환경 셋팅 및 코드 분석' 카테고리의 다른 글
NVIDIA Jeston 환경 셋팅 2-1편 (OpenCV 3.4.0 설치 on Jeston Nano) (16) | 2021.01.04 |
---|---|
딥러닝 모델 아키텍쳐를 그림으로 확인해보기! : NETRON (2) | 2020.12.21 |
NVIDIA Jeston 환경 셋팅 3편 (ROS, RealSense-SDK, RealSense-ROS설치) (16) | 2020.11.17 |
NVIDIA Jeston 환경 셋팅 1-1편 (JetPack 설치 On AGX Xavier) (8) | 2020.10.30 |
YOLO V5 환경 셋팅 및 모델 아키텍쳐 분석하기 (104) | 2020.08.18 |