[YOLO] YOLOv8 실시간 물체 탐지 실습
2025. 3. 20. 17:02ㆍComputer Engineering/강화학습
1. PyCharm 환경 만들기
먼저 pycharm에서 virutualenv 의 가상환경을 설정해준다. 아래 블로그를 참고하여 가상환경 설정을 해주었다.
[python] pycharm을 이용한 가상환경(virtualenv) 생성 방법
주로 vscode를 사용하고 있는데, 파이참을 써야하는 상황이 생겼다. 역시나 환경설정이 제일 어렵다. 다음은 파이참 가상환경 생성하는 방법이다. 아나콘다 가상환경이 아닌 파이참 자체에서의
yuxlog.tistory.com
2. 실습을 위한 필수 라이브러리를 설치한다.
pip install ultralytics opencv-python numpy
참고로 다운받아야 되는 라이브러리가 많아서 시간이 생각보다 오래 걸릴 수 있다.
3. 실시간 탐지 코드를 작성한다.
from ultralytics import YOLO
import cv2
model = YOLO("yolov8n.pt")
#웹캠 연결 (기본웹캠 0, 외장웹캠 1)
cap = cv2.VideoCapture(0)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
#YOLO 탐지 실행
results = model(frame)
result = results[0]
#탐지 결과 화면에 표시
for box in result.boxes: # 최신 YOLO 버전
x1, y1, x2, y2 = map(int, box.xyxy[0]) # 바운딩 박스 좌표
conf = box.conf[0].item() # 신뢰도
cls = int(box.cls[0].item()) # 클래스 ID
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2) #0,255,0 초록색 박스
label = f"ID {cls} - {model.names[int(cls)]}: {conf:.2f}"
cv2.putText(frame, label, (int(x1), int(y1)-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow("YOLOv8 Real-Time Object Detection", frame)
#'q'키를 누르면 종료
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
'Computer Engineering > 강화학습' 카테고리의 다른 글
[강화학습] Masked Reinforcement Learning (0) | 2025.03.25 |
---|---|
[강화학습] roboflow 실습 (0) | 2025.03.23 |
[강화학습] YOLO + 강화학습 환경 연동 (0) | 2025.03.22 |
[강화학습] PPO 알고리즘 (0) | 2025.03.22 |
[YOLO] YOLOv8 + DeepSORT 이동물체추적 (1) | 2025.03.20 |