본문 바로가기
컴퓨터비전

Object Detection 성능 평가 지표 mAP with 정밀도와 재현율

by 차분한 공돌이 2024. 2. 17.

개요

mAP란 Object Detection 모델의 성능을 평가하기 위해 사용되는 지표이다. mAP를 구하기 위해서 필요한 정밀도(Precision)과 재현율(Recall) 개념에 대해서 먼저 알아본 후, mAP를 구하는 방법을 알아본다.

 

정밀도(Precision)과 재현율(Recall)

  • 정밀도(Precision) : (실제 class&bbox = 예측 class&bbox 개수) / (모델이 예측한 class&bbox 개수)
  • 재현율(Recall) : (실제 class&bbox = 예측 class&bbox 개수 ) / ( 실제 class&bbox 개수)

여기서 " 실제 class&bbox = 예측 class&bbox" 는 "실제 class = 예측 class And 실제 bbox = 예측 bbox" 이다." 실제 bbox = 예측 bbox" 는 IoU를 통해 판별한다.  [(실제 bbox ∩ 예측 bbox)면적] / [ (실제 bbox 예측 bbox)면적] 이 설정해 놓은 IoU threshold 보다 크다면

" 실제 bbox = 예측 bbox" 라고 판단합니다.

 

정밀도와 재현율 개념은 오차행렬을 통해서 더 명확히 수식화 할 수 있다.

 

TP : 1. 예측 존재함  2. 실제 object 존재함   3.  예측 class&bbox = 실제 object의 class&bbox

FN : 1. 예측 존재 안 함 2. 실제 object 존재함

FP : 1. 예측 존재함  2. 예측 틀림( 예측 class&bbox ≠ 실제 object의 class&bbox  OR 실제 object 존재 안 함)

 

 

 

정밀도와 재현율 중 한마리 토끼만 쫓으면 문제가 발생한다

정밀도가 중요한 분야(스팸 메일 판별)가 있고, 재현율이 중요한 분야(암 진단, 금융사기 판별)가 있다.

스팸 메일 판별에서 정밀도만 무작정 올리면, 정말 확실한 스팸메일 몇 개를 제외한 나머지 스팸메일은 걸러내지 못 해 수신자가 시간낭비하는 문제가 발생할 것이다.

암 진단에서 재현율을 무작정 올리면, 실제 암이 아닌 사람도 암으로 진단되어 비싼 치료비를 낭비할 수 있다. 

따라서 정밀도와 재현율을 적당한 수준에서 유지해야 한다.

 

Confidence 임곗값에 따른 정밀도-재현율 변화

confidence 임곗값이 낮아지면 => 더 많은 예측 bbox를 만들게 됨 => 정밀도↓  재현율↑

confidence 임곗값이 높아지면 => 예측 bbox를 만드는데 매우 신중하게 됨 => 정밀도↑  재현율↓

즉 정밀도와 재현율을 동시에 올릴 수는 없는데 이를 정밀도/재현율의 트레이드오프(Trade-off)라고 한다.

따라서 모델이 사용되는 분야에 맞는 Confidence 임계값을 찾아야 한다. 

confidence 에 따른 precision과 recall의 변화

 

mAP(mean Average Precision) 계산하기

 

모델의 성능을 측정하기 위해 여러 장의 이미지 데이터를 사용하는데, 이 이미지들 안에는 다양한 class(사과, 새, 강아지 등등)가 존재한다. AP는 모든 이미지들을 대상(한 개의 이미지 내에서가 아니다!)으로 한 개의 class에 대한 성능 수치이고, 여러 개의 class에 대한 각각의 AP 값들을 평균한 값이 mAP이다. mAP를 구하기 위해서 먼저 AP 구하는 방법을 알아본다.

 

AP 계산하기

 

1. 정밀도-재현율 곡선(Precision-Recall curve) 그리기

confidence에 따른 Precison과 Recall의 값 정밀도-재현율 곡선 그리기

 

2. 오른쪽 최대 Precison값 연결 후 그래프 밑의 면적 구하기

 

mAP구하기

각각의 class에 대해 위의 방식으로 AP를 구한 후 평균한다. 예를 들어 사람, 강아지, 새를 탐지하는 모델이 있다면 사람에 대한 AP, 강아지에 대한 AP, 새에 대한 AP를 구해서 더한 후 3으로 나누면 해당 모델의 mAP이다.

 

 

COCO Challenge에서의 mAP

예측 성공을 위한 IOU를 0.5 이상으로 고정한 PASCAL VOC와 달리 COCO Challenge는 IOU 를 다양한 범위로 설정하여 예측 성공 기준을 정함.

IOU 0.5 부터 0.05 씩 값을 증가 시켜 0.95까지 해당하는 IOU별로 mAP를 계산

또한 크기의 유형(대/중/소)에 따른 mAP도 측정

 

<IOU 에 따른 Precision-Recall curve 변화>

 

IOU가 높아질수록 AP가 감소하고 있다. IOU가 높아지면 모델의 예상을 정답으로 보는 기준이 엄격해지므로 성능(AP)가 떨어지는 것이다.

데이터 세트와 알고리즘 별 mAP 수치 예시

 

AP50 : IOU = 0.5 일 때의 AP 값

AP75 : IOU = 0.75 일 때의 AP 값

AP : IOU 0.5 ~ 0.95까지 0.05씩 증가할 때 각각의 AP 값의 평균

 

 

Reference

https://wikidocs.net/147358

 

(4) 객체검출 모델 평가방법

## 개요 객체 검출문제에 대해서 성능을 평가하기 위해서는 다음 3가지 요소가 고려되어야 합니다. 1. 경계 상자 정밀도(Bounding box precision) : 정확한 …

wikidocs.net

https://www.inflearn.com/course/딥러닝-컴퓨터비전-완벽가이드/dashboard

 

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드 강의 - 인프런

본 강의는 Object Detection과 Segmentation에 대한 깊이 있는 이론 설명과 현업에서 바로 사용될 수 있는 수준의 실습 예제를 통해 여러분을 현장에서 필요한 딥러닝 기반의 컴퓨터 비전 전문가로 발돋

www.inflearn.com