객체탐지
- 한 이미지에서 객체와 그 bounding box를 탐지
- 객체 탐지 알고리즘
- 입력 : 이미지
- 출력 : bounding box, 객체 클래스 리스트
- bounding box에 대해 그에 대응하는 예측 클래스, 클래스의 신뢰도 출력
IOU(Intersection Over Union)
NMS(Non-Maximum Suppression, 비최댓값 억제)
- 확률이 가장 높은 상자와 겹치는 상자들을 제거하는 과정
- 최댓값을 갖지 않는 상자들을 제거
- 과정
- 확률 기준을 모든 상자를 정렬하고 먼저 가장 확률이 높은 상자를 취함
- 각 상자에 대해 다른 모든 상자와의 IOU계산
- 특정 임계값을 넘는 상자 제거
모델 성능 평가
정밀도(Precision)와 재현율(Recall)
-
True Positives(TP): 예측이 동일 클래스의 실제 상자와 일치하는지 측정
-
False Positives(FP): 예측이 실제 상자와 일치하지 않는지 측정
-
False Negatives(FN): 실제 분류값이 그와 일치하는 예측을 갖지 못하는지 측정
-
모델이 안정적이지 않을 경우
- 객체 존재를 예측하면 FP가 많아져 정밀도가 낮아짐
-
모델이 정확한 조건을 만족할 경우
정밀도-재현율 곡선
즉) 모델에 따라 재현율을 높이거나 정밀도를 높이거나 한다.
AP(Average Precision)
- 위에 사진 곡선 아래 회색 영역으로
- 1x1정사각형 0~1사이의 값
- 단일 클래스에 대한 모델 성능 정보 제공
mAP(mean Average Precision)
- 전역 점수를 얻기 위해 사용
- 데이터셋이 10개의 클래스로 구성된다면 각 클래스에 대한 AP를 계산하고, 그 숫자들의 평균을 다시 구함
- PASCAL Visual Object Classes와 Common Object in Context(COCO)에 사용
- COCO가 데이터셋이 더많은 클래스 포함하기에 PASCAL보다 점수 더 낮음
데이터셋
VOC Dataset
COCO Dataset
객체탐지 단계
Yolo(You only look once)
-
가장 빠른 객체 검출 알고리즘 중 하나
-
작은 크기 물체 탐지하기 어려움
-
어떤 특징 추출기 아키텍처를 사용했는지에 따라 성능 달라짐
-
마지막 계층은 크기가 w x h x D인 특징 볼륨 출력
-
w x h는 그리드의 크기이고 D(depth)는 특징 볼륨 깊이
Yolo 계층 출력
- 마지막 계층 w x h x M행렬
- M = B x (C+5)
- B : 그리드 셀당 경계 상자 개수
- C : 클래스 개수
- 클래스 개수에 5를 더한 이유는 해당 값 만큼의 숫자를 예측해야 함
- box co-ordinates: 위치값
- objectness Score: 바운딩 박스에 객체가 포함되어 있을 확률
- class Scores: 클래스 안에 있을 확률
앵커박스
- 사전 정의된 상자
- 객체에 가장 근접한 앵커 박스를 맞추고
신경망을 사용해 앵커 박스의 크기를 조정하는 과정