https://docs.ultralytics.com/ko
여기를 보면 yolov8에 대한 소개가 있다.
사용 방법도 나와있다.
설치한다
앞의 !는 코랩에서 터미널 명령어사용할때 쓰는 기호
파라미터 크기에따라 나노 스몰 미디움 라지 엑스라지 등의 모델이 있다.
사이트에 나와있는
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.yaml") # build a new model from scratch
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
# Use the model
model.train(data="coco128.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
는 나노 모델을 사용하는 코드
모델을 훈련시키기 위해서는 훈련 데이터가 필요한데
훈련시킬 사진으로 roboflow에서 만들면 된다.
yaml형식의 파일에 아래와 같은 형식대로
이런식으로 수정하면 된다.
train,val,test - train, val, test 이미지와 레이블이 있는 폴더
names - class 이름
nc : 클래스 개수
작성하고
파이썬으로 작성하기
모델 불러오고
학습시키고
구글 드라이브에 저장하고
results = model.predict(source=frame, conf=0.65, iou=0.8, stream_buffer=True, verbose=False)# verbose=False - speed 로그 지우기 , 학습한 모델로 예측해보기
conf=0
for result in results:
boxes = result.boxes.cpu().numpy() # Get boxes on CPU in numpy format
for box in boxes: # Iterate over boxes
r = box.xyxy[0].astype(int) # Get corner points as int #위치 가져오기
class_id = int(box.cls[0]) # Get class ID
class_name = model.names[class_id] # Get class name using the class ID
cv2.rectangle(frame, r[:2], r[2:], (0, 255, 0), 2) # Draw boxes on the image# 네모 그리기 뒤에 imshow해서 보여줘야됨
저장한 모델 불러와서 예측한다
'개발' 카테고리의 다른 글
cheat engine 사용 시작 (0) | 2024.02.28 |
---|---|
NotImplementedError: Could not run 'torchvision::nms' 오류해결 (0) | 2024.02.14 |
무료로 asperite 맥에서 사용하기 (1) | 2020.12.31 |