이미지에서 하나의 객체 전체를 포함하는 가장 작은 직사각형
실측값(Ground Truth)과 모델이 예측한 값이 얼마나 겹치는지를 나타내는 지표
오버랩되는 부분을 측정함
IOU가 높을수록 잘 예측한 모델
예시
확률이 가장 높은 상자와 겹치는 상자들을 제거하는 과정
최댓값을 갖지 않는 상자들을 제거
과정
일반적으로 객체 탐지 모델 평가에 사용되지는 않지만, 다른 지표를 계산하는 기본 지표 역할을 함
TP
): 예측이 동일 클래스의 실제 상자와 일치하는지 측정FP
): 예측이 실제 상자와 일치하지 않는지 측정FN
): 실제 분류값이 그와 일치하는 예측을 갖지 못하는지 측정
곡선의 아래 영역에 해당
항상 1x1 정사각형으로 구성되어 있음
즉, 항상 0 ~ 1 사이의 값을 가짐
단일 클래스에 대한 모델 성능 정보를 제공
전역 점수를 얻기위해서 mAP를 사용
예를 들어, 데이터셋이 10개의 클래스로 구성된다면 각 클래스에 대한 AP를 계산하고, 그 숫자들의 평균을 다시 구함
mAP 사용
최소 2개 이상의 객체를 탐지하는 대회인 PASCAL Visual Object Classes와 Common Objects in Context(COCO)에서 mAP가 사용됨
COCO 데이터셋이 더 많은 클래스를 포함하고 있기 때문에 보통 Pascal VOC보다 점수가 더 낮게 나옴
2005년부터 2012년까지 진행
Object Detection 기술의 benchmark로 간주
데이터셋에는 20개의 클래스가 존재
background
aeroplane
bicycle
bird
boat
bottle
bus
car
cat
chair
cow
diningtable
dog
horse
motorbike
person
pottedplant
sheep
sofa
train
tvmonitor
훈련 및 검증 데이터 : 11,530개
ROI에 대한 27,450개의 Annotation이 존재
이미지당 2.4개의 객체 존재
RCNN (2013)
SPP Net (2014)
Fast RCNN (2015)
Fater RCNN(2015)
SSD (2015)
RetinaNet (2017)
Mask R-CNN (2018)
YOLO (2018)
RefineDet (2018)
M2Det (2019)
EfficientDet (2019)
YOLOv4 (2020)
YOLOv5 (2020)
이후
백본 모델(backbone model) 기반
특징 추출기(Feature Extractor)라고도 불림
YOLO는 자체 맞춤 아키텍쳐 사용
어떤 특징 추출기 아키텍쳐를 사용했는지에 따라 성능 달라짐
마지막 계층은 크기가 인 특징 볼륨 출력
w \times h $는 그리드의 크기이고, $D는 특징 볼륨 깊이
마지막 계층 출력은 행렬
Objectness Score: 바운딩 박스에 객체가 포함되어 있을 확률
YOLOv2에서 도입
사전 정의된 상자(prior box)
객체에 가장 근접한 앵커 박스를 맞추고 신경망을 사용해 앵커 박스의 크기를 조정하는 과정때문에 이 필요
img
: 입력 이미지 크기 정의batch
: 배치 크기 결정epochs
: 학습 기간 개수 정의data
: yaml 파일 경로cfg
: 모델 구성 지정weights
: 가중치에 대한 경로 지정name
: 결과 이름nosave
: 최종 체크포인트만 저장cache
: 빠른 학습을 위한 이미지 캐시