[2021.09.27] Object Detection Overview

Seryoung·2021년 9월 27일
0
post-thumbnail

💡 Object Detection Task에는 어떤 라이브러리가 쓰이는지, 학습된 모델들은 어떤 Metric을 통해 평가되는지 등

Task

ClassificationObject DetectionSemantic SegmentationInstance Segmentation
Task해당 이미지
무엇인지
객체 식별
- 어디 있는지
- 무엇인지
객체의 영역 구분객체 영역 구분
특징이미지마다
정답 label 1개
한 이미지 당
여러개 객체
같은 class 객체끼리
구분 X
객체마다 분리

Real world

  • 자율주행 자동차
  • OCR
  • 의료 분야

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=TPTP+FP=TPPredicted PositivePrecision = {TP \over TP + FP} = {TP \over Predicted \ Positive}

Recall

Recall=TPTP+FN=TPGround Truth PositiveRecall = {TP \over TP + FN} = {TP \over Ground \ Truth \ Positive}

PR Curve

  • Confidence 기준 내림차순 정렬한 Precision, Recall table
CategoryConfidenceTP/FP누적 TP누적 FPPrecisionRecall
8Plastic95%TP1-1/1=11/10=0.1
9Plastic90%TP2-2/2=12/10=0.2
7Plastic82%FP212/3=0.662/10=0.2
...
4Plastic10%TP646/10=0.606/10=0.6
  • PR Curve 그래프

AP

  • PR curve의 아랫 면적
  • 0~1 사이 값을 갖는 metric

mAP (mean Average Precision)

mAP=1nk=1nAPkAPk:class kAPn:classes #mAP = {1 \over n} \sum_{k=1}^{n} AP_k \\ AP_k: class \ k의 AP \\ n: 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= C_{in}\times C_{out}\times K\times K\times H_{out}\times W_{out}
    • Stride, padding 고려한 결과

Library

  • MMDetection
  • Detectron2
  • YOLOv5
  • EfficientDet

0개의 댓글