💡 Object Detection Task에는 어떤 라이브러리가 쓰이는지, 학습된 모델들은 어떤 Metric을 통해 평가되는지 등
Task
| Classification | Object Detection | Semantic Segmentation | Instance Segmentation |
---|
Task | 해당 이미지 무엇인지 | 객체 식별 - 어디 있는지 - 무엇인지 | 객체의 영역 구분 | 객체 영역 구분 |
특징 | 이미지마다 정답 label 1개 | 한 이미지 당 여러개 객체 | 같은 class 객체끼리 구분 X | 객체마다 분리 |
Real world
History
- R-CNN (2013.11) - Fast R-CNN (ICCV 15) - Faster R-CNN (NIPS 15)
- YOLO v1 (CVPR 16)
- SSD (ECCV 16)
- YOLO v2 (CVPR 17)
- FPN (CVPR 17)
- RetinaNet (ICCV 17)
- YOLO v3 (arXiv 18)
- PANet (CVPR 18)
- EfficientDet (CVPR 20)
- Swin-T (CVPR 21)
Evaluation
성능: 얼마나 객체를 잘 검출하는가
mAP (mean average precision): 각 class 당 AP의 평균
Confusion matrix
Precision
Precision=TP+FPTP=Predicted PositiveTP
Recall
Recall=TP+FNTP=Ground Truth PositiveTP
PR Curve
- Confidence 기준 내림차순 정렬한 Precision, Recall table
| Category | Confidence | TP/FP | 누적 TP | 누적 FP | Precision | Recall |
---|
8 | Plastic | 95% | TP | 1 | - | 1/1=1 | 1/10=0.1 |
9 | Plastic | 90% | TP | 2 | - | 2/2=1 | 2/10=0.2 |
7 | Plastic | 82% | FP | 2 | 1 | 2/3=0.66 | 2/10=0.2 |
| | ... | | | | | |
4 | Plastic | 10% | TP | 6 | 4 | 6/10=0.60 | 6/10=0.6 |
- PR Curve 그래프
AP
- PR curve의 아랫 면적
- 0~1 사이 값을 갖는 metric
mAP (mean Average Precision)
mAP=n1k=1∑nAPkAPk:class k의APn:classes #
IOU (Intersection Over Union)
- TP / FP 판단 방법
- 어느 정도 겹쳐있는지에 따라서 구분하는 과정
- mAP + IOU 기준 같이 부여 (몇 이상을 TP로 볼 것인가)
속도: 얼마나 빠르게 객체를 검출했는가
FPS (Frames Per Second)
FLOPs (Floating Point Operations)
- 연산량 횟수 (곱하기, 더하기, 빼기 등)
- Convolution layer Flops =Cin×Cout×K×K×Hout×Wout
Library
- MMDetection
- Detectron2
- YOLOv5
- EfficientDet