[AI] Yolov8 로 다시 해보자.

늘 공부하는 괴짜·2025년 5월 21일
0

AI : Vision AI

목록 보기
2/2

1. 일단 yolov8설치

uv pip install ultralytics

2. 그대로 이미지 탐지 테스트

from ultralytics import YOLO

# 모델 불러오기 (yolov8n, yolov8s, yolov8m, yolov8l, yolov8x)
model = YOLO("yolov8n.pt")

# 이미지 추론
results = model("fire.jpg")

# 결과 시각화
results[0].show()

성능이 꽤 괜찮게 나왔다.

3. 난 리듬게임을 좋아한다 (응?)

3-1. 훈련용 ez2on 이미지 몇개 구해보자.

시리즈이미지
리부트R 이전
리부트R
EV DLC
리부트R Org
리부트R Org

3-2. 훈련용 ez2on 이미지를 ./dataset/images/train 에 옮기기

3-3. 훈련용 ez2on 라벨을 ./dataset/labels/train 에 옮기기

라벨 만드는 방법은 yolov5 편을 참조
https://velog.io/@exoluse/AI-yolov5-%ED%95%9C%EB%B2%88-%ED%95%B4%EB%B3%B4%EC%9E%90

4. data.yaml

위치는 ./dataset/data.yaml 이다.
클래스는 딱 2개만 등록했다.

# data.yaml
train: ./images/train
val: ./images/train

nc: 2
names: ['ez2on', 'ez2on-r']

5. dataset 폴더는 이렇게 생김.

6. 훈련해보자.

기존에 쓰던 yolov8n.pt 의 설정들을 그대로 사용하고 데이터는 새로 만든 data.yaml 을 적용한다.

6-1. 명령어

yolo detect train model=yolov8n.pt data=./dataset/data.yaml epochs=50 imgsz=640

6-2. 또는 파이썬 버전

from ultralytics import YOLO

# YOLOv8n 모델 불러오기
model = YOLO('yolov8n.pt')

# 학습 시작
model.train(
    data='./dataset/data.yaml',
    epochs=50,
    imgsz=640,
    task='detect'
)

6-3. 훈련 완료.

훈련된 모델이 run/detect/train7/weights/best.pt 로 저장되었다.

7. 훈련 결과를 볼까

7-1. 탐지 이미지는 이걸로

7-2. 방금 훈련된 모델을 사용한다.

from ultralytics import YOLO

model = YOLO("./runs/detect/train7/weights/best.pt")

# 이미지 추론
results = model("ez_test.jpg", conf=0.01)

# 결과 시각화
results[0].show()

7-3. 결과

0.02 라니 ㅋㅋㅋ 이미지가 좀 많이 부족하긴 했지.

profile
인공지능이라는 옷을 입었습니다. 뭔가 멋지면서도 잘 맞습니다.

0개의 댓글