Tech Trail

What is Mean Average Precision (mAP) in Object Detection? (feat. Confusion matrices, Precision(정밀도), Recall(재현율)) 본문

AI/Computer Vision

What is Mean Average Precision (mAP) in Object Detection? (feat. Confusion matrices, Precision(정밀도), Recall(재현율))

_밍지_ 2024. 3. 28. 18:30
728x90
반응형
SMALL

이번 게시물에서는 평균 정밀도(mAP)가 계산되는 방법과 mAP가 객체 감지 모델에서 선호되는 메트릭이 된 이유에 대해 설명해보겠습니다.

 

What is Object Detection?

 

평균 평균 정밀도를 계산하는 방법을 고려하기 전에 먼저 측정 중인 작업을 명확하게 정의하겠습니다.

객체 감지 모델은 이미지에서 관련 객체의 존재를 식별하고 이러한 객체를 관련 클래스로 분류하려고 합니다. 예를 들어, 의료 영상에서 혈류의 적혈구(RBC), 백혈구(WBC) 및 혈소판의 수를 계산할 수 있기를 원한다고 합시다. 이 작업을 자동으로 수행하려면 각 개체를 인식하고 올바르게 분류하도록 개체 감지 모델을 학습시켜야 합니다. (이미지 감지를 위한 두 가지 모델 EfficientDet과 YOLOv3를 사용해 비교하겠습니다.)

 

Example Outputs from EfficientDet (green) versus YOLOv3 (yellow)

 

두 모델 모두 그림의 셀을 둘러싸고 있는 경계 상자를 예측합니다. 그런 다음 각 상자에 클래스를 할당합니다. 각 할당에 대해 신경망은 예측에 대한 신뢰도를 모델링합니다. 여기에서 총 3개의 클래스(RBC, WBC 및 혈소판)가 있음을 알 수 있습니다.

 

어떤 모델이 더 나은지 어떻게 결정해야 합니까? 이미지를 보면 EfficientDet(녹색)이 너무 많은 RBC 상자를 그려서 그림 가장자리의 일부 셀을 놓친 것 같습니다. 확실히 사물의 모양에 근거한 느낌입니다. 각 모델이 테스트 세트의 이미지, 클래스 및 다양한 신뢰도 임계값에서 어떻게 수행되는지 직접 정량화할 수 있다면 좋을 것입니다. 

 

What is Mean Average Precision (mAP)?

 

평균 평균 정밀도(mAP)는 컴퓨터 비전 모델의 성능을 측정하는 데 사용됩니다. mAP는 모델의 모든 클래스에서 평균 정밀도 메트릭의 평균과 같습니다. mAP를 사용하여 동일한 작업에서 서로 다른 모델과 동일한 모델의 다른 버전을 비교할 수 있습니다. mAP는 0과 1 사이에서 측정됩니다.

평균 정밀도를 더 자세히 이해하려면 Confusion matrices(혼동 행렬), Precision(정밀도), Recall(재현율) 및 Precision-recall curve(정밀도-재현율 곡선)에 대해 이야기해봐야 합니다!

 

What is the Confusion Matrix?

 

더 깊이 들어가기 전에 게시글에서 사용할 몇 가지 기본 용어를 설명해보겠습니다. 모델 탐지의 품질을 평가할 때 일반적으로 이를 실측 자료와 비교하고 4개의 그룹으로 나눕니다. 모델이 물체를 올바르게 감지하는 경우를 TP(True Positive)라고 합니다. 실제로 이미지에 없는 물체가 발견되면 이를 거짓 긍정(FP)이라고 합니다.

 

반면에 실측 자료의 물체가 감지되지 않으면 거짓 음성(FN)이 됩니다. 마지막 그룹은 True Negatives[TN]에 의해 형성됩니다. 그러나 물체 감지의 경우에는 고려되지 않습니다. 우리는 그것을 올바르게 감지되지 않은 모든 물체, 즉 배경으로 해석할 수 있습니다. 4개의 그룹은 아래 그림에 표시된 소위 혼동 행렬을 형성합니다.

 

 

What is precision and recall?

 

정밀도는 "모델이 얼마나 자주 올바르게 추측하는지 추측하는 경우"의 척도입니다. 재현율은 "모델이 추측해야 할 때마다 모델을 추측했나요?"의 측정값입니다. 10개의 적혈구가 있는 이미지를 생각해 봅시다. 이 10 개 중 하나만 찾았지만 올바르게 라벨링되는 모델은 "RBC"가 완벽한 정밀도를 갖지만(모든 추측이 정확하기 때문에) 불완전한 회상(10 개의 RBC 세포 중 하나만 발견됨)입니다.

 

What is the precision-recall curve?

 

일반적으로 그래프에 표시되는 정밀도-재현율 곡선은 컴퓨터 비전 모델에서 주어진 정밀도에 대해 재현율이 어떻게 변하고 그 반대의 경우도 마찬가지인지 보여줍니다. 곡선 아래 영역이 크면 모델의 재현율과 정밀도가 모두 강하다는 것을 의미하고, 곡선 아래 영역이 작을수록 재현율 또는 정밀도가 약하다는 것을 의미합니다.

 

신뢰도 요소를 포함하는 모델은 예측을 수행하는 데 필요한 신뢰도 수준을 조정하여 재현율에 대한 정밀도를 절충할 수 있습니다. 즉, 모델이 거짓 양성을 피하는 것(셀이 WBC일 때 RBC가 존재한다고 명시하는 것)이 거짓 음성을 피하는 것보다 더 중요한 상황에 있는 경우, 신뢰도 임계값을 더 높게 설정하여 모델이 커버리지(재현율)를 낮추는 대신 고정밀 예측만 생성하도록 장려할 수 있습니다.

 

모델의 정밀도와 재현율을 모델의 신뢰도 임계값의 함수로 표시하는 과정이 정밀도 재현율 곡선입니다. 신뢰도가 낮아질수록 더 많은 예측이 이루어지고(회상에 도움이 됨) 덜 정확한 예측이 이루어지기 때문에(정밀도 저하) 하향 경사입니다.

 

만약 제가 "모든 종류의 상어에 이름을 붙여라"라고 말한다면, 여러분은 명백한 상어들(높은 정밀도)로 시작하겠지만, 여러분이 이름을 붙일 수 있는 모든 추가적인 상어의 종류에 대해서는 자신감이 떨어질 것입니다 (덜 정밀하게 전체 회상에 접근하기).

 

Precision, Recall, and Confidence of different models in one of my NLP projects

 

모델의 신뢰도가 낮아짐에 따라 곡선이 아래쪽으로 기울어집니다. 모형에 상향 경사 정밀도 및 재현율 곡선이 있는 경우 모형의 신뢰도 추정에 문제가 있을 수 있습니다.

 

AI 연구원들은 메트릭을 좋아하며 전체 정밀도-재현율 곡선을 단일 메트릭으로 캡처할 수 있습니다. 첫 번째이자 가장 일반적인 방법은 정밀도와 재현율 측정값을 결합하여 정밀도와 재현율이 가장 높은 F1 값을 생성하는 최적의 신뢰도 임계값을 찾는 F1입니다. 다음으로 AUC(Area Under the Curve)는 정밀도 및 재현율 곡선 아래에 있는 플롯의 양을 통합합니다.

 

A sketch of the precision-recall summary metrics

 

최종 정밀도-재현율 곡선 메트릭은 평균 정밀도(AP)이며 가장 흥미로운 부분입니다. 각 임계값에서 달성된 정밀도의 가중 평균으로 계산되며, 이전 임계값에서 재현율의 증가가 가중치로 사용됩니다.

AUC와 AP는 모두 정밀 재현율 곡선의 전체 모양을 캡처합니다. 물체 감지를 위해 둘 중 하나를 선택하는 것은 선택의 문제이며 연구 커뮤니티는 해석 가능성을 위해 AP에 수렴했습니다.

 

Measuring Correctness via Intersection over Union

 

객체 감지 시스템은 경계 상자와 클래스 레이블의 관점에서 예측을 수행합니다.

 

A sketch of the object detection task

 

실제로 X1, X2, Y1, Y2 좌표에서 예측된 경계 상자는 실측 자료 레이블에서 약간이라도 벗어날 수 있습니다. 바운딩 박스 예측이 잘못된 클래스인 경우 잘못된 것으로 간주해야 한다는 것을 알고 있지만 바운딩 박스 겹침의 선은 어디에 그려야 할까요?

IoU(Intersection over Union)는 이 경계를 설정할 메트릭을 제공하며, 지상 실측 경계 상자와 겹치는 예측된 경계 상자의 양을 두 경계 상자의 총 면적으로 나눈 값으로 측정됩니다.

 

How iOU applies to an image

 

IoU 메트릭에 적합한 단일 임계값을 선택하는 것은 임의적인 것으로 보입니다. 어떤 연구자는 60%가 겹친다고 주장할 수 있고, 또 다른 연구자는 75%가 더 합리적으로 보인다고 확신할 수 있다.

 

Drawing mAP precision-recall curves

 

mAP를 계산하기 위해 다양한 난이도로 설정된 IoU 임계값을 사용하여 일련의 정밀 재현율 곡선을 그립니다.

 

A sketch of mAP precision-recall curves

 

빨간색은 IoU에 대한 가장 높은 요구 사항(아마도 90%)으로 그려지고 주황색 선은 IoU에 대한 가장 관대한 요구 사항(아마도 10%)으로 그려집니다. 그릴 선의 수는 일반적으로 챌린지에 의해 설정됩니다. 예를 들어, COCO 챌린지는 0.5에서 시작하여 0.05 단위로 0.95까지 증가하는 10개의 서로 다른 IoU 임계값을 설정합니다.

 

마지막으로, 클래스 유형별로 분할된 데이터 세트에 대해 이러한 정밀도-재현율 곡선을 그립니다.

 

A sketch of mAP by object class

 

이 지표는 모든 IoU 임계값에서 각 클래스의 평균 정밀도(AP)를 개별적으로 계산합니다. 그런 다음 메트릭은 최종 추정치에 도달하기 위해 모든 클래스에 대한 mAP의 평균을 구합니다. 🤯

 

The mAP Formula: How to Calculate mAP

 

평균 평균 정밀도(mAP)를 계산할 때 가장 먼저 해야 할 일은 IoU 임계값을 선택하는 것입니다. 예를 들어 0.5(mAP@0.5)와 같은 단일 값 또는 0.05씩 증가하는 0.5에서 0.95 사이의 범위(mAP@0.5:0.95)를 선택할 수 있습니다. 후자의 경우 각 범위 값에 대한 mAP를 계산하고 평균을 냅니다.

IoU 임계값을 늘리면 요구 사항이 더 제한되고(IoU 값이 낮은 검색은 false로 간주됨) mAP 값이 떨어집니다.

 

 

위의 이미지는 예제 AP 값을 계산하는 프로세스를 보여줍니다. 먼저 감지 그룹을 가져와서 PR 곡선을 그립니다. 신뢰도 임계값을 1.0에서 0.0으로 반복적으로 낮추고, 주어진 임계값에 대한 정밀도[P] 및 재현율[R]을 계산하고, 그래프에 점을 표시하여 이를 수행합니다.

AP는 그래프 아래의 녹색 그림 영역과 같습니다. 각 임계값에서 달성된 정밀도의 가중 평균으로 계산되며, 이전 임계값에서 재현율의 증가가 가중치로 사용됩니다.

두 번째로 해야 할 일은 감지된 클래스를 기반으로 감지를 그룹으로 나누는 것입니다. 그런 다음 각 그룹의 평균 정밀도(AP)를 계산하고 평균을 계산하여 주어진 IoU 임계값에 대한 mAP를 생성합니다.

 

Frequently Asked Questions

 

What is mAP used for?

mAP는 컴퓨터 비전 모델의 성능을 비교하는 데 사용됩니다. mAP는 컴퓨터 비전 개발자에게 모델의 정밀도와 재현율을 모두 포함하는 비교할 수 있는 단일 기본 메트릭을 제공합니다. 나중에 모델을 더 잘 평가하기 위해 다른 메트릭에 대해 비교할 수 있습니다.

What does a high mAP mean?

 

mAP가 높다는 것은 모델의 거짓 부정 비율이 낮고 거짓 긍정 비율이 낮다는 것을 의미합니다. mAP가 높을수록 모델에 대한 재현율이 더 정확하고 높아집니다. 컴퓨터 비전 엔지니어는 모델을 구축할 때 mAP를 개선하는 것을 목표로 합니다.

 

 

 

Jacob Solawetz. (May 6, 2020). What is Mean Average Precision(mAP) in Object Detection?

728x90
반응형
LIST