Coding/TIL & 배운것들

Ultralytics YOLO활용

코딩짜는 머글 2024. 11. 12. 10:50

YOLO(You Only Look Once)란?

객체 탐지 모델 중 하나로, 이미지에서 객체의 위치와 종류를 동시에 예측하는 강력한 딥러닝 모델이다. 한 번의 신경망 전파만으로 객체를 탐지하기 때문에 실시간 처리가 가능할 정도로 매우 빠르다. 

 

 

 

▼ 특징 

  • 속도 : 전체 이미지를 한 번에 처리하여 빠르게 객체를 탐지할 수 있다.
  • 정확도 : 여러 객체가 있는 복잡한 이미지에서도 높은 정확도로 객체를 탐지할 수 있다.
  • 다양한 크기 : 다양한 크기의 이미지와 객체를 처리할 수 있다. 

 

 

▼ Ultralytics YOLOv8설치 및 작동

 

# YOLOv8설치
pip install ultralytics

# 필요한 라이브러리 임포트
from ultralytics import YOLO
import cv2
from matplotlib import pyplot as plt
# YOLOv8 모델 로드 (YOLOv8s)
model = YOLO('yolov8n.pt')  

# 이미지 파일 경로
image_path = 'image_name.jpeg'

# 이미지를 모델에 입력하여 객체 탐지 수행
results = model(image_path)

# 탐지 결과 출력
result = results[0]

# 탐지된 객체들이 표시된 이미지를 가져옴
img_with_boxes = result.plot()  # result.plot()은 바운딩 박스가 포함된 이미지를 반환

# Matplotlib을 사용하여 이미지 출력
plt.imshow(cv2.cvtColor(img_with_boxes, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()

 

객체의 수가 적을 때는 정확도가 높음, 하지만 객체의 수가 많아지면 정확도가 많이 떨어진다.