Object Detection models
One-Stage Object Detector
YOLO (You Only Look Once)
- 이전 모델들에 비해 속도가 매우 빠르다
- YOLOv1, YOLOv2, v3, v5, YOLOR
- backbone : GoogLenet, Darknet19, Darknet53
SSD (Single Shot Detector)
- 중간중간의 feature map을 모두 사용한다
- backbone : VGG-16
Two-Stage Object Detector
- one-stage 보다 속도는 느리지만 정확도는 높다
RCNN
step 1. region proposal
- object가 있을 법한 곳을 2000개 정도 후보로 뽑는다
- selective search라는 rule base 방법으로 region을 뽑는다
- 그러다보니 연산량이 많다(느리다)
- 뽑은 2000개의 proposal을 227x227로 resize
step 2. bounding box regression과 class SVM 수행
Fast-RCNN
- CNN 모델을 거쳐 region proposal 수행
- ROI pooling을 통해 원하는 feature map size로 조정 (RCNN의 resize 대신 수행) -> 연산량이 줄어든다
- softmax regression 사용 (not SVM)
- bounding box regression
Faster-RCNN
- selective search 방법을 사용한 것이 아니라 RPN(Region Proposal Network)을 통해 region proposal 수행
- fc layer 수행
Evaluation Metric
- 성능 판단 기준
- TP : 옳은 검출
- FP : 틀린 검출
- TN : 검출되면 안되는데 검출이 안된것
- FN : 검출되면 안되는데 검출이 된것
- IoU를 기준으로 bbox가 검출되었는지 안되었는지 확인
Precision (정밀도)
- Precision=tp+fptp
- 내가 예측한 bbox 중에 정답으로 예측한 bbox
Recall (재현율)
- Recall=tp+fntp
- 전체 GT 중에 검출한 bbox의 비율
F1 score
- F1=2×Precision+RecallPrecision×Recall
- precision과 recall의 조화평균
recall과 precision의 관계
- high recall + high precision : perfect
- low recall + high precision : bbox를 몇개 검출하지 못한것
- high recall + low precision : GT는 잘 검출하였지만 class 예측을 잘 못한것
- low recall + low precision : poor
PR Curve
- precision-recall 곡선
- precision이 1에 가까운 곡선이 좋다
mAP
- Mean Average Precision
- PR curve의 면적
- 전체 class에 대한
confusion matrix
- TP와 FP
- class 간의 혼동되는 부분을 확인하 수 있다