물체 감지 및 컴퓨터 비전의 mAP 메트릭
컴퓨터 비전 및 물체 감지에서 일반적인 평가 방법은 mAP입니다. 그것은 무엇이며 어떻게 계산됩니까?
인용문은 위에서 언급 한 Zisserman 논문 에서 인용 한 것입니다 -4.2 결과 평가 (페이지 11) :
먼저 "중복 기준"은 0.5보다 큰 교차 결합으로 정의됩니다. (예를 들어 예측 된 상자가 실측 값 상자와 관련하여이 기준을 충족하면 탐지로 간주됩니다). 그런 다음이 "탐욕스러운"접근 방식을 사용하여 GT 상자와 예측 된 상자간에 일치가 이루어집니다.
방법에 의해 출력 된 탐지는 (감소하는) 신뢰 출력에 따라 순위가 매겨진 순서대로 중첩 기준을 충족하는 Ground Truth 객체에 할당되었습니다. 이미지에서 동일한 물체에 대한 다중 탐지는 잘못된 탐지로 간주되었습니다. 예를 들어 단일 물체에 대한 5 개의 탐지는 1 개의 올바른 탐지와 4 개의 잘못된 탐지로 계산됩니다.
따라서 각 예측 상자는 참 양성 또는 거짓 양성입니다. 각 실측 상자는 True-Positive입니다. 참 음성이 없습니다.
그런 다음 평균 정밀도는 재현율이 [0, 0.1, ..., 1] 범위에있는 정밀도-재현율 곡선의 정밀도 값을 평균화하여 계산됩니다 (예 : 11 개의 정밀도 값의 평균). 더 정확하게 말하면, 약간 수정 된 PR 곡선을 고려합니다. 여기서 각 곡선 점 (p, r)에 대해 p '> p 및 r'> = r과 같은 다른 곡선 점 (p ', r')이있는 경우 , p를 해당 포인트의 최대 p '로 대체합니다.
나에게 여전히 불분명 한 것은 (신뢰도가 0이더라도) 감지 되지 않는 GT 상자로 수행되는 작업입니다 . 이것은 정밀도-재현율 곡선이 결코 도달하지 않는 특정 재 호출 값이 있음을 의미하며, 이는 평균 정밀도 계산이 정의되지 않음을 의미합니다.
편집하다:
짧은 대답 : 리콜에 도달 할 수없는 지역에서는 정밀도가 0으로 떨어집니다.
이를 설명하는 한 가지 방법은 신뢰도에 대한 임계 값이 0에 가까워 지면 이미지 전체 에서 무한한 수의 예측 경계 상자가 켜진다 고 가정하는 것 입니다. 그런 다음 정밀도는 즉시 0이되고 (GT 상자 수가 한정되어 있기 때문에) 100 %에 도달 할 때까지이 평평한 곡선에서 리콜이 계속 증가합니다.
mAP는 평균 평균 정밀도입니다.
정보 검색 (참조 [1] [2] ) 및 다중 클래스 분류 (객체 감지) 설정 분야에서 사용 방법이 다릅니다 .
객체 감지를 위해 계산하려면 모델 예측을 기반으로 데이터의 각 클래스에 대한 평균 정밀도를 계산합니다. 평균 정밀도는 클래스의 정밀도-재현율 곡선 아래 영역과 관련이 있습니다. 그런 다음 이러한 평균 개별 클래스 정밀도의 평균을 취하면 평균 평균 정밀도가 제공됩니다.
탐지를 위해 하나의 객체 제안이 옳았는지 확인하는 일반적인 방법은 Intersection over Union (IoU, IU)입니다.
A
제안 된 객체 픽셀 세트와 실제 객체 픽셀 세트 를 가져 와서 다음을B
계산합니다.
일반적으로 IoU> 0.5는 히트 였음을 의미하고 그렇지 않으면 실패했습니다. 각 클래스에 대해 다음을 계산할 수 있습니다.
- 참 양성 TP (c) : 클래스 c에 대한 제안이 작성되었으며 실제로 클래스 c의 대상이있었습니다.
- False Positive FP (c) : 클래스 c에 대한 제안이 있었지만 클래스 c의 대상이 없습니다.
- 클래스 c의 평균 정밀도 :
mAP (평균 정밀도)는 다음과 같습니다.
참고 : 더 나은 제안을 원하면 IoU를 0.5에서 더 높은 값 (완벽한 최대 1.0까지)으로 늘립니다. 이를 mAP @ p로 표시 할 수 있습니다. 여기서 p \ in (0, 1)은 IoU입니다.
mAP@[.5:.95]
mAP가 여러 임계 값에 대해 계산 된 다음 다시 평균화됨을 의미합니다.
편집 : 자세한 정보는 COCO 평가 지표를 참조하십시오.
여기서 중요한 부분은 물체 감지 가 평균 정밀도에 대한 우수한 설명이 하나 이상 존재하는 표준 정보 검색 문제와 동일하게 간주 될 수있는 방법을 연결하는 것이라고 생각합니다 .
일부 객체 감지 알고리즘의 출력은 제안 된 경계 상자 집합이며 각 상자에 대한 신뢰도 및 분류 점수 (클래스 당 하나의 점수)입니다. 지금은 분류 점수를 무시하고 신뢰도를 임계 값 이진 분류 에 대한 입력으로 사용하겠습니다 . 직관적으로 평균 정밀도는 임계 값 / 차단 값에 대한 모든 선택에 대한 집계입니다. 하지만 기다려; 정밀도를 계산하려면 상자가 올바른지 알아야합니다!
이것이 혼란 스럽거나 어려운 곳입니다. 일반적인 정보 검색 문제와 달리 실제로 여기에는 추가 수준의 분류가 있습니다. 즉, 상자간에 정확한 일치를 수행 할 수 없으므로 경계 상자가 올바른지 여부를 분류해야합니다. 해결책은 기본적으로 상자 치수에 대해 하드 코딩 된 분류를 수행하는 것입니다. 우리는 그것이 '올바른'것으로 간주 될만한 근거와 충분히 겹치는 지 확인합니다. 이 부분의 임계 값은 상식에 따라 선택됩니다. 작업중인 데이터 세트는 '올바른'경계 상자에 대한이 임계 값이 무엇인지 정의 할 것입니다. 대부분의 데이터 세트는 0.5 IoU로 설정 하고 그대로 둡니다 (실제로 IoU가 얼마나 엄격한 지 파악하기 위해 몇 가지 수동 IoU 계산을 수행하는 것이 좋습니다.).
이제 '정확하다'는 의미를 실제로 정의 했으므로 정보 검색과 동일한 프로세스를 사용할 수 있습니다.
평균 평균 정밀도 (mAP)를 찾으려면 해당 상자와 관련된 분류 점수의 최대 값을 기준으로 제안 된 상자를 계층화 한 다음 클래스에 대한 평균 정밀도 (AP)의 평균을냅니다.
TLDR; 경계 상자 예측이 '올바른'(추가 분류 수준)인지 결정하는 것과 상자 신뢰도가 '올바른'경계 상자 예측 (정보 검색 사례와 완전히 유사 함)에 대해 얼마나 잘 알려주는지 평가하고 mAP이 의미가 있습니다.
It's worth noting that Area under the Precision/Recall curve is the same thing as average precision, and we are essentially approximating this area with the trapezoidal or right-hand rule for approximating integrals.
Definition: mAP → mean Average Precision
In most of the object detection contests, there are many categories to detect, and the evaluation of the model is performed on one specific category each time, the eval result is the AP of that category.
When every category is evaluated, the mean of all APs is calculated as the final result of the model, which is mAP.
참고URL : https://stackoverflow.com/questions/36274638/map-metric-in-object-detection-and-computer-vision
'Program Tip' 카테고리의 다른 글
iOS 9의 스 와이프 가능한 표보기 셀 (0) | 2020.10.06 |
---|---|
Python-클래스에서 "self"를 사용하는 이유는 무엇입니까? (0) | 2020.10.06 |
차등 실행은 어떻게 작동합니까? (0) | 2020.10.05 |
파스 트리와 AST의 차이점은 무엇입니까? (0) | 2020.10.05 |
"set -o nounset"을 사용할 때 bash에서 변수가 설정되었는지 테스트 (0) | 2020.10.05 |