반응형

이번 글은 Python으로 Jupyter NoteBook에서 YOLO 모델을 구현하는 방법에 대해 기록한다.


목차

1. 개발 환경
2. YOLO 라이브러리 설치하기
3. 그 외 라이브러리 설치하기
4. YOLO 모델 구현하기

1. 개발 환경

- Python 3.11.5

- Jupyter NoteBook

- Anaconda3

 

2. YOLO 라이브러리 설치하기

가장 먼저, YOLO 라이브러리를 import 하기 위해 설치를 한다.

pip3 install YOLO

 

pip install ultralytics

 

여기서, yolo 버전을 몇으로 쓰냐에 따라 설치하는게 달라진다.

이번에는 yolo v8 버전을 사용할 것이기 때문에, ultralytics를 설치했다.

 

3. 그 외 라이브러리 설치하기

yolov8 버전과 같이 사용할 opencv-python도 설치한다.

pip install opencv-python

 

4. YOLO 모델 구현하기

1) 라이브러리 import

from ultralytics import YOLO
import numpy as np
from PIL import Image
import requests
from io import BytesIO
import cv2

 

2) YOLOv8 모델 가져오기

# YOLOv8 모델 가져오기
model = YOLO('yolov8n.pt')

 

3) 이미지 가져오기

# 이미지 가져오기
image = Image.open("I:/test.jpg")

image.show()

 

이미지는 아래의 강아지 여러 마리가 있는 사진을 이용했다.

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pawfinder&logNo=220849658233

 

4) 이미지 numpy array 변환

image = np.asarray(image)
print(image)

 

5) 예측

results = model.predict(image)

예측한 결과는 위와 같이, 0번째에 어떤 박스 크기에 몇 개의 객체가 인식됐다라는 결과를 보여 준다.

위에서는 416X640 사이즈 3개의 dogs와 1개의 sheep, 1개의 bear를 인식했다.

 

6) 객체 값 가져오기

results[0].boxes.boxes

 

인식한 객체 박스의 값을 boxes.boxes에서 가져올 수 있다.

 

7) 결과

 

강아지 5마리인데, 3마리 개, 양, 곰으로 인식했다.

 

지금까지는 제공되는 YOLO 모델 예제에 대한 간단한 실습이었다. 다음 글에서는 YOLOv8 모델을 가지고, 커스텀 데이터 학습을 통해 내가 원하는 모델을 만들어 보는 것에 대해 진행할 예정이다.


 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기