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()
객체의 수가 적을 때는 정확도가 높음, 하지만 객체의 수가 많아지면 정확도가 많이 떨어진다.