카테고리 없음

윈도우즈10 cpu only 환경에서 YOLOv10 돌리기

asev 2024. 6. 16. 10:44

얼마 전 재밌는 것이 공개됐습니다. YOLOv10, 여기서 욜로는 여유로운 삶의 자세가 아닌 "너는 한번에 봐(You only look once)"란 도발적인 이름으로 공개된 최초의 원스테이지 이미지 분석툴, 그 열번째 버전입니다. 투스테이지 분석툴 뿐이던 이미지 분석계의 패러다임을 바꾼 프로그램으로 5버전부터 파이토치를 지원하고 있습니다. 열번째 버전은 칭화대학교 연구팀이 공개했습니다. 중국 이미지 분석 기술이 진짜 발전했습니다ㅋ~ 오늘은 우리나라에서 대부분의 유저들이 사용하고 있는 윈도우 환경, 그래픽카드 없는 pc를 기준으로 활용할 수 있는 내용을 올리겠습니다.

 

먼저 윈도우에서도 리눅스 터미널 환경과 유사하게 작업할 수 있게 도와주는 아나콘다를 설치합니다.
 https://www.anaconda.com/download

 

Download Anaconda Distribution | Anaconda

Download Anaconda's open-source Distribution today. Discover the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

 
아나콘다 설치 후 아나콘다에서 서빙하는 Powershell Prompt를 실행합니다.

 
깃허브 레포지토리를 복사할 수 있는 git과 파이썬 패키지를 관리하는 pip를 설치합니다.

 
 
욜로10버전이 파이썬 3.9버전에 맞췄기 때문에 yolo라는 파이썬3.9기반 아나콘다 가상환경을 만들고 진입합니다.
(base) PS D:\projs> conda create -n yolo python=3.9
conda activate yolo
 

 
 
YOLOv10 레포를 복제합니다.

 
yolov10 디렉토리로 진입해서 실행환경을 구성하기 위해 아래 명령을 입력합니다.
pip install -r requirements.txt

많은 패키지들이 설치되는데 주요 패키지들에 대해 알아보는 것도 매우 좋을 것 같습니다. 생성형 인공지능이 우리를 도와줄 것입니다.
 
pip install -e . 명령으로 구동을 할 수 있도록 설치를 마칩니다.

 
테스트해봅니다.

 
얼마 전 직관했던 멋진 배구 경기를 분석해보겠습니다. 햐 신기하다~

 
 
시작한 김에 자세추정도 도전해봅니다. 올해 이로운이들 연구회에서 인체자세감지(pose estimation)를 활용한 체육기능향상 프로그램을 만드려고 합니다. YOLO에서는 버전7부터 자세추정기술이 메인 레포에 등장했습니다. 또 다른 좋은 프레임워크로 구글에서 배포한 mediapipe가 있는데, 한명을 대상으로 표정과 포즈를 추정할 수 있어 용도가 다릅니다. 현재는 바로 활용할 수 있는 자세추정을 위한 YOLOv10 사전학습모델이 없어서 8버전을 활용해보겠습니다. 미리 주요한 특징을 학습한 사전학습모델은 아래 링크에서 받을 수 있습니다.     https://docs.ultralytics.com/tasks/pose/

 

Pose

Discover how to use YOLOv8 for pose estimation tasks. Learn about model training, validation, prediction, and exporting in various formats.

docs.ultralytics.com

 

 
현재는 Windows10, ryzen5 5600x, x570보드, ddr4 16GB 환경에서 cpu로 분석을 하고 있습니다. yolov8s-pose.pt모델을 쓰니 한장의 이미지를 분석하는데 대략 140ms초 미만의 시간이 걸리고 있으니 초당 15장 이상이 나와야하는 실시간 처리는 힘들것 같습니다.
 
더 가벼운 나노 모델을 쓰니 장당 70ms미만으로 실시간 서비스가 가능하겠으나 정확도가 떨어진다는 것을 알 수 있네요. 

당분간 엔비디아입니다ㅋ~
 
 
 
 
 
참고
https://github.com/ultralytics/ultralytics/issues/13221

 

Move from YOLOV8 to YOLOV10 Pose Estimation? · Issue #13221 · ultralytics/ultralytics

Search before asking I have searched the YOLOv8 issues and discussions and found no similar questions. Question Our project is Pose Estimation using yolov8. It has been difficult to configure and b...

github.com

 
 
https://learnopencv.com/yolov7-pose-vs-mediapipe-in-human-pose-estimation/

 

YOLOv7 Pose vs MediaPipe in Human Pose Estimation

YOLOv7 Pose is a real time, multi person keypoint detection model capable of giving highly accurate pose estimation results. We compared it with MediaPipe Pose.

learnopencv.com

 
 
Mastering All YOLO Models from YOLOv1 to YOLOv9: Papers Explained (2024)
https://learnopencv.com/mastering-all-yolo-models/

 

Mastering All YOLO Models from YOLOv1 to YOLOv9: Papers Explained (2024)

In this blog post we explore all the YOLO object detection model from YOLOv1 to YOLO-NAS.

learnopencv.com