[Boostcamp AI Tech] [P-stage] 9주차 Day 1 학습 기록

bluegun·2021년 9월 28일
0

AI Tech 2기 활동

목록 보기
36/87

Object detection overview

부스트캠프 두 번째 대회가 시작되었다.
주제는 재활용 쓰레기 분류를 위한 detection 모델을 개발하는 것이다.
대회가 진행되는 3주 동안 강의가 있는 경우 강의의 내용을 정리하고, 그 외 대회 활동을 어떤 것을 했는지 기술할 예정이다.

성능 평가를 위한 metric

precision

  • precision=TPTP+FP=TPAlldetectionsprecision = \frac{TP}{TP+FP} = \frac{TP}{All detections}
  • 8개 검출 시 4개가 옳은 검출 -> precision은 0.5이다.

recall

  • recall=TPTP+FN=TPAllGroundtruthsrecall = \frac{TP}{TP+FN} =\frac{TP}{All Groundtruths}
  • 5개의 GT 중 4개 검출 -> recall은 0.8이다.

PR Curve

  • 전체 Ground Truth의 개수와, 각 객체에 대한 Predict 값을 갖고 있을 때, 이를 통해 Precision과 Recall을 구할 수 있다. 이 때, 단순히 모든 객체에 대한 Precision과 recall값만 아는 것이 아니라, 아래 그림처럼 객체를 하나씩 보면서 Precision과 recall 값을 점차 누진적으로 표현할 수 있을 것이다. 객체들은 Confidence 순으로 정렬된 상태이다.

    그리고 이런 식으로 계산한 precision과 recall을 그래프로 표현할 수 있다. 이를 PR Curve라 한다.

AP(Average precision)

  • PR Curve의 아래 면적을 의미한다.
  • 0~1 사이로 표현된다.

mAP(mean Average precision)

  • 각 class별로 구한 AP들의 평균

IOU(Intersection Over Union)

  • IOU=overlappingregioncombinedregionIOU=\frac{overlapping region}{combined region}
  • 박스 두 개의 전체 영역 대비 겹치는 영역의 비율을 의미
  • IOU가 일정 수치 이상일 때 True, False로 보통 기준을 잡는다(일정 수치는 달라질 수 있음)
  • 기준이 달라질 수 있으므로 보통 mAP 옆에 숫자를 적음으로서 IOU 비율을 알려준다.(mAP 50: IOU가 50 이상인경우 True)

속도 평가를 위한 metric

FPS(Frames Per Second)

  • 초당 처리할 수 있는 Frame의 수
  • 클 수록 모델이 빠르다.

FLOPs(Floating Point Operation)

  • 연산량 횟수를 의미한다.
  • 행렬곱 과정에서의 덧셈과 곱셈, Convolution 연산에서의 Channel별 계산(CinC_{in} X CoutC_{out}), Kernel 계산(KK X KK), 높이 너피 별 계산(HoutH_{out} X WoutW_{out})이 전부 FLOPs에 포함된다.
  • 작을수록 빠른 모델

Detection model의 대표 library

MMDetection

  • object detection opensource library

Detectron2

  • 페이스북 AI 리서치의 라이브러리
  • Object detection, segmentation 관한 기능 제공

YOLOv5

  • 코코 데이터셋으로 사전학습된 모델로 Colab, kaggle 등 여러 플랫폼에서 오픈소스로 제공

EfficientDet

  • EfficientNet을 응용해 만든 Object detection 모델

Object detection의 경우 위처럼 여러 개의 라이브러리가 공존하고 있다.

0개의 댓글