Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

덕배의 블로그

인공지능(AI) 딥러닝 YOLOv8의 result(x, y 좌표, width, height) 값 추출 본문

인공지능

인공지능(AI) 딥러닝 YOLOv8의 result(x, y 좌표, width, height) 값 추출

김덕배_KDB 2023. 7. 25. 00:37
반응형

YOLOv8 result (x, y 좌표, width, height) 추출

 

이번에는 YOLOv8 n 모델로 result 값들을 추출해보려고 한다.

물론 n모델뿐만 아니라 다른 모델 예를 들어 YOLOv8 x 모델도 가능하다. 

마지막에는 x 모델과 n 모델을 비교할 것이기 때문에 n 모델만 써야 한다는 강박증은 없어도 될 것 같다.

x좌표와 y좌표, width, height를 추출하기 전에 나는 아나콘다 가상환경에서 추론할 것 이기에 아나콘다의 설치 방법 또는 사용 방법에 대해서 모른다면 밑에 사이트에서 공부를 하고 오는 게 좋을 듯하다.

 

https://rkdtmdqja98.tistory.com/3

 

인공지능 딥러닝 YOLOv8 설치 및 커스텀 학습(파이썬 아나콘다 환경)

아나콘다 가상 환경 생성 아나콘다란? 아나콘다는 파이썬을 포함한 데이터 과학에 필요한 다양한 언어 및 패키지의 배포 장점은 프로젝트마다 다른 환경을 만드는데 편리하고 환경마다 필요한

rkdtmdqja98.tistory.com

가상환경을 만들었다면 아래 그림처럼 따라와 주길 바란다.

 

아나콘다 가상환경
아나콘다 가상환경

 

conda activate yolov8
- yolov8이라는 가상 환경을 만든다. 처음에는 base로 되어있는 모습을 볼 수 있다.

 

test 폴더 하나 만든다.
- cd test

 

pip install ultralytics
- yolov8 설치

 

yolo
- yolo라는 명령어를 치면 위에 그림처럼 길게 나온다. 그렇다면 성공

 

이제 파이썬 파일을 하나 만들 것이다. test.py를 만들었다.

만든 test.py를 test 폴더 안에 넣어주도록 하겠다.

 

test.py
test.py

 

  • 우리는 먼저 yolov8 n 모델을 이용해 보겠다. results 안에 있는 bus 이미지 파일은 알아서 자동으로 다운로드하여질 것이다.
  • class_id는 bus가 yolvo8이 학습한 모델 중에 몇 번인지 알 수 있다.
  • confideces는 정확도 - 이것이 몇 퍼센트 일치하느냐를 알 수 있다.
  • xyxy는 x 좌표와 y 좌표, width , height를 알 수 있다.

 

result 값 추출
result 값 추출

 

이렇게 코드를 실행하게 되면 5번이 버스, 0번은 사람, 1번은 자전거

위에서부터 xyxy, class_id, confidences 쭉 결괏값이 내가 print한대로 나오는 것을 볼 수 있다.

 

test 폴더 안
test 폴더 안

 

위 그림처럼 yolov8n.pt 파일과 bus 이미지가 없었는데 자동으로 다운로드된 모습이다.

왜 버스가 5번인지 궁금한 사람들을 위해서 밑에 사진을 캡처해 봤다.

yolov8이 미리 학습된 class는 총 80개이다. 그래서 버스가 5번으로 되었다고 볼 수 있다.

 

cocodata
cocodata

 

그리고 yolov8x도 똑같이 돌려보면

YOLOv8x와 YOLOv8n의 비교

yolov8x
yolov8x

 

yolov8n과 yolov8x를 비교하면 yolov8n을 기준으로 YOLOv8x와 추론 속도는 3배 이상이면서 정확도도 87 퍼로 차이가 많이 난다.

파라미터 수도 20배 차이가 난다.

이렇게 yolov8 x 모델은 무겁지만 상당히 정확하고 성능이 좋다.