* 공부한 내용 뇌피셜로 정리 *

출처 : https://arxiv.org/abs/2004.10934

object detecion모델을 사용해보거나 논문을 읽어본 사람은 다음과 같은 그림을 본적이 있을것이다.

아무것도 모르고 본 상태에서 직관으로는 AP와 FPS가 모두 높아야 좋은 모델이란 것을 생각 할 수 있다.

위에서 부터 단어의 정의를 하나씩 정리하는 방향으로 가는 것이 좋을 것 같다.

보통 object의 성능을 평가하는 요소들은 IOU, Precision-Recall Curve, Average precision, Confidence threshold가 사용 됩니다. 

mAP (mean Average precision) 란?

실제 object detect된 recall과 presion의 값을 평균한 성능 수치 입니다.

출처 : https://machinelearningmastery.com/roc-curves-and-precision-recall-curves-for-imbalanced-classification/

다음과 같은 recall, precision 그래프의 아래의 면적을 평균을 취한 것이 mAP라고 이해하면 됩니다.

여기서 Recall과 Precision에 대하여 궁금증이 생기게 됩니다.

보통 Precision과 Recall 은 이진분류에 사용되는 성능 지표입니다.

Precision 이란?

한국어로는 정밀도 라고 하며 이는 검색된 결과들 중에 관련이 있는 것으로 분류된 결과들 중 관련있는 것으로 분류된 결과물의 분류

Recall 이란?

한국어로는 재현율 라고 하며 이는 관련 있는 것으로 분류된 항목들 중 실제 검색된 항목들의 비율이다.

https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B0%80%EB%8F%84%EC%99%80_%EC%9E%AC%ED%98%84%EC%9C%A8

 

대부분의 사람이 글로 보면 이해하기 어려울 것 이라고 생각합니다.

https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B0%80%EB%8F%84%EC%99%80_%EC%9E%AC%ED%98%84%EC%9C%A8
계산하는 방식

Object detecion에서 사용하는 방식으로 설명을 하겠습니다.

Object detecion에서는 어떤 물체를 예측하면 bbox를 치게 됩니다.

TP

간단하게 bbox에서 정확하게 예측한 경우

FP

bbox를 생성하긴 하였지만 예측을 정확하게 못한경우 , class가 틀린 경우, IOU가 낮은 경우, Overlap이 일어나지 않은 경우 

FN

아예 object가 있는 곳에 bbox를 생성하지 않은 경우

쉽게 생각하여 Precision은 bbox를 생성 한 것들 중에 정확하게 예측한게 몇개있냐,

Recall은 기존에 annotation한 object 중에 몇개를 정확하게 예측하였냐 입니다.

 

업무에 따라서 Recall 과 Precision의 값을 잘 선택 하셔야 한다.

Recall이 중요한 경우는 양성이 중요한 것을 음성으로 판단하여 업무상 큰 재해가 발생하는 경우 입니다.

즉 암진단 같은 경우 Recall이 낮아지면 암이 지만 잘못된 판단을 할 수도 있습니다.

Precision이 중요한 경우는 음성인 데이터를 양성으로 판단하는 경우 입니다.

즉 스팸메일 같은 경우 음성인 데이터를 양성으로 판단하여 걸러버리면 업무상에 문제가 발생 할 수 있습니다.

정밀도와 재현율을 적절한 값으로 구하는 것이 중요 합니다.

 

confidence threshold값에 따라 Precision과 recall값이 크게 변하게 됩니다.

confidence threshold는 특정 임계값을 넘으면 bbox를 생성 하도록 하는 것 입니다.

간단하게 생각하여 Confidence threshold가 낮으면 많은 bbox가 생성되어 Precision은 낮아지고, Recall은 높아집니다.

만약 높아지면 bbox가 신중하게 생성되어 Precision은 높아지고, Recall은 낮아집니다.

이 두값은 서로 상호보완적인 관계 이므로 confidence threshold를 바꾸며 관찰하면 한쪽이 높아지면 다른쪽이 낮아지는 현상이 발생합니다.

이는 Trade off현상이라고 생각하면 됩니다.

Confidence Threshold를 조절하여 생성한 Precision-Recall curve를 이용하여 아래의 면적을 계산하면 AP가 되게 됩니다.

 

AP는 한개의 Object에 대한 성능 수치로 mAP는 여러 Object들의 AP를 평균하여 구해게 됩니다.

 

PASCAL VOC같은 경우 IOU가 0.5이상으로 mAP를 구합니다.

COCO같은 경우 다양한 경우로 AP를 구하는데 상당히 까다롭게 하게 됩니다. 

 

COCO YOLOV2

 

PASCAL VOC

 

+ Recent posts