반응형

YOLOE를 사용해 제로샷 프롬프트 객체 검출을 해 보자.

 

먼저 Git과 CLIP이 설치되어 있어야 한다.

Git 설치

CLIP 설치: pip install git+https://github.com/ultralytics/clip.git

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["cup", "chair", "book", "pen", "bottle"])
results = model.predict("office.jpg")

results[0].show()

 

office.jpg

 

 

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["traffic light", "car", "tree"])
results = model.predict("street.jpg")

results[0].show()

 

street.jpg

 

나무는 검출하지 못했다.

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["tree"])
results = model.predict("tree.jpg")

results[0].show()

 

tree.jpg

 

나무가 명확한 사진에서는 나무를 검출한다.

 

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["android"])
results = model.predict("android.jpg")

results[0].show()

 

android.jpg

 

아무것도 검출하지 못했다.

 

프롬프트를 android figure로 바꿔보자.

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["android figure"])
results = model.predict("android.jpg")

results[0].show()

 

빨간색 안드로이드만 검출했다.

 

프롬프트를 green android figure로 바꿔보자.

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["green android figure"])
results = model.predict("android.jpg")

results[0].show()

 

녹색 안드로이드만 검출된다.

 

프롬프트를 "red android figure", "green android figure"로 바꿔보자.

 

from ultralytics import YOLOE

model = YOLOE("yoloe-26l-seg.pt")
model.set_classes(["red android figure", "green android figure"])
results = model.predict("android.jpg")

results[0].show()

 

모두 검출했다.

 

 

OpenCV를 이용해 영상에서 원하는 객체를 검출해 보자.

 

import cv2
from ultralytics import YOLOE

model = YOLOE("yoloe-26n-seg.pt")
cap = cv2.VideoCapture("Cars_On_Highway.mp4")

while cap.isOpened():
	success, frame = cap.read()

	if success:
		model.set_classes(["car"])
		results = model.predict(frame, verbose=False)
		cv2.imshow("frame", results[0].plot())

		if cv2.waitKey(1) & 0xFF == ord("q"):
			break
	else:
		break

 

 

반응형

'AI, ML, DL' 카테고리의 다른 글

[YOLO] Instance Segmentation 객체 분할  (0) 2026.02.10
[YOLO] Multi-Object Tracking 물체 추적  (0) 2026.02.10
[YOLO] Model Training 모델 훈련  (0) 2026.02.09
[YOLO] with OpenCV  (0) 2026.02.08
[YOLO] YOLO models to ONNX 파일 변환  (0) 2026.02.08
Posted by J-sean
: