데이터 증강의 한계
결론
기존에 잘 만들어져 있는 모델을 우리 문제에 맞춰서 변형하여 사용하자!
하나의 Object가 포함된 최소 크기 박스
위치 정보를 나타냄 (x, y ,w, h...)
Bounding Box 안에 Object가 있는지
에 대한 모델의 확신도
0~1 값을 가짐
통계적 확률이라고 받아드려서는 안됨
박스에 대한 모델의 자체 신용평가 (가능성)
모델에 따라 계산이 조금씩 다름
1에 가까울 수록 모델은 Object가 있다고 판단
Ground-truth Bounding Box와 Prediction Bounding Box의 중복 영역 크기를 통해 측정
모델이 예측한 바운딩 박스와 정답 바운딩 박스의 유사함 평가
겹치는 영역이 넓을 수록 좋은 예측
0~1
동일 Object에 대한 중복 박스 제거
모델 학습이 모두 이루어진 후 예측 단계에서 동작
절차
IoU가 임계값 이상인 경우
threshold 임계값 : 우리가 지정하는 지정선
Confidence score threshold가 높을수록, IoU threshold가 낮을수록, 중복 박스에 대한 판단이 엄밀
O.D에서 가장 중요한 성능 지표!
각 클래스 별 AP를 합산하여 평균을 낸 것
MS COCO는 (<- ImageNet 같은 느낌) Object Detection 모델을 학습할 때 사용한 데이터셋
YOLO는 MS COCO 데이터셋으로 학습한 object detection 모델
결과물이 yolo11n.pt에 담겨있는 것
COCO8 : 경량화 버전
라이브러리 설치
wandb off
YOLO 모델
모델링
그럼 지정 위치에 모델이 저장된다
하이퍼 파라미터
- data : 학습시킬 데이터셋의 경로. default 'coco8.yaml'
- epochs : 학습 데이터 전체를 총 몇 번씩 학습시킬 것인지 설정. default 100
- patience : 학습 과정에서 성능 개선이 발생하지 않을 때 몇 epoch 더 지켜볼 것인지 설정. default 100
- batch : 미니 배치의 사이즈 설정. default 16. -1일 경우 자동 설정.
- imgsz : 입력 이미지의 크기. default 640
- save : 학습 과정을 저장할 것인지 설정. default True
- project : 학습 과정이 저장되는 폴더의 이름.
- name : project 내부에 생성되는 폴더의 이름.
- exist_ok : 동일한 이름의 폴더가 있을 때 덮어씌울 것인지 설정. default False
- pretrained : 사전 학습된 모델을 사용할 것인지 설정. default True
- optimizer : 경사 하강법의 세부 방법 설정. default 'auto'
- verbose : 학습 과정을 상세하게 출력할 것인지 설정. default False
- seed : 재현성을 위한 난수 설정
- resume : 마지막 학습부터 다시 학습할 것인지 설정. default False
- freeze : 첫 레이어부터 몇 레이어까지 기존 가중치를 유지할 것인지 설정. default None
파라미터
- source : 예측 대상 이미지/동영상의 경로
- conf : confidence score threshold. default 0.25
- iou : NMS에 적용되는 IoU threshold. default 0.7. threshold를 넘기면 같은 object를 가리키는 거라고 판단.
- save : 예측된 이미지/동영상을 저장할 것인지 설정. default False
- save_txt : Annotation 정보도 함께 저장할 것인지 설정. default False
- save_conf : Annotation 정보 맨 끝에 Confidence Score도 추가할 것인지 설정. default False
- line_width : 그려지는 박스의 두께 설정. default None
데이터의 정보와 클래스 정보를 저장하기 위한 파일
yaml 파일 구조
yaml 파일 생성
touch name.yaml