1. 데이터셋 분할

깃허브 링크(소스코드) : https://github.com/DS-Capstone-Design-2024-Fall/Train-yolo

- street-facilities
  street-facilities.yaml
	- images
		- test
		- train
		- val
	- labels
		- test
		- train
		- val

Ultaralytics Hub 에서 요구하는 형식으로 디렉터리 구조 재구성

# 데이터셋 분리 (train 70%, val 15 % test 15%)
train_ds, val_test_ds = ds.split(split_ratio=0.7, random_state=1014, shuffle=True)
val_ds, test_ds = val_test_ds.split(split_ratio=0.5, random_state=535, shuffle=True)

print("train_ds length : ", len(train_ds)) # 8429
print("val_ds length : ", len(val_ds)) # 1806
print("test_ds length : ", len(test_ds)) # 1807
class 0 (점자블록 파손부), 1(보도블럭 파손부), 2(자전거도로 파손부)
[2706 6686 5514] # train_ds
[ 507 1537 1247] # val_ds
[ 535 1425 1216] # test_ds

2. 모델 학습

선택한 모델은 Yolov5 계열.

ultralytics 파이썬 라이브러리 YOLO 모델 사용 시도 중인 단계

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

image.png

image size 는 모두 640 으로 맞춰뒀긴 했으나, 파라미터로 입력 이미지 사이즈 조절이 가능하여 실행자체가 불가능 하진 않다.

다만 사이즈 변환과정이 들어가면서 발생하는 지연시간이나, 이미지를 늘리는 보간 방식에 따라 원본 이미지에서 미묘한 오차가 발생하리라 예상되기는 한다.