IT Dictionary
YOLOv4 를 이용하여 인식된 객체 counting 하기 본문
저번에 yolov4 를 활용하여 object tracker를 구현해보았는데
이를 저의 영상에 도입해보고 인식된 물체를 counting 하는 것을 해보겠습니다.
먼저, theaiguy라는 분의 영상을 참고하였는데 이 동영상은 object tracker에서 구현하는 게 아니라서 제가 직접 object tracker로 추가하였습니다.
www.youtube.com/watch?v=jDwC5m7c7BU
수정해줄 부분
github.com/theAIGuysCode/yolov4-custom-functions
theAIGuysCode/yolov4-custom-functions
A Wide Range of Custom Functions for YOLOv4, YOLOv4-tiny, YOLOv3, and YOLOv3-tiny Implemented in TensorFlow, TFLite, and TensorRT. - theAIGuysCode/yolov4-custom-functions
github.com
여기서 살펴보면 detect.py는 object_tracke.py와 비슷합니다
detect_video.py 에서 숫자를 세는 부분이 구현되있는데 아래 부분입니다
위 코드에서 count_objects 메서드를 사용하고 있어 살펴보니 core/functions.py에 있는 함수입니다
functions.py 가 기존에는 없었으니 새로 추가된부분이니 파일 전체를 core 에 추가해줍니다.
이 상태로 detect_video.py에 구현된 부분을 object_tracker에 추가해서 시도해 보았는데 오류가 납니다
설명을 읽어보니 만드신분도 detect_video가 아닌 detect.py로 구현하고 있기에 저도 detect_video는 전체를 추가해주었습니다.
이렇게 하고 object_tracker를 순서대로 실행하면 됩니다.
# run DeepSort with YOLOv4 Object Detections as backbone (enable --info flag to see info about tracked objects)
!python object_tracker.py --video /content/gdrive/MyDrive/mp4/2021-05-05_16.06.58.mp4 --output ./outputs/tracker.avi --model yolov4 --dont_show --info --count
기존과 다르게 --count를 추가해주어야 숫자세기가 출력됩니다!
결과물
미리 학습된 weight을 사용하기에 사람을 잘 인식하지만 카메라쪽으로 돌려진 의자도 사람으로 인식하고 있습니다
뭔가 yolov4는 복잡하게 구현이 되는데 yolov5에서도 구현되는지 공부해야 할 것 같습니다.
'Lab' 카테고리의 다른 글
gdown 라이브러리를 활용하여 파일 다운받기 (0) | 2021.05.21 |
---|---|
YOLO v5 Object Counter(객체 수 세기) (4) | 2021.05.14 |
YOLO v5를 이용하여 Custom data 인식하기 (1) | 2021.05.06 |
Object tracker 구현해보기 - 4주차 (0) | 2021.04.29 |
라즈베리파이 영상 전송 - 4주차 (0) | 2021.04.29 |