Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Mean Average Precision (mAP)

평균 정밀도(mAP)는 재현율, 클래스, IoU 임계값에 걸쳐 정밀도를 평균해 객체 검출기의 성능을 평가합니다. mAP50 및 mAP50-95 계산 방법을 살펴봅니다.

평균 정밀도(mAP)는 객체 탐지의 표준 평가 지표이며, 같은 방식으로 인스턴스 분할, 포즈 추정, 방향성 객체 탐지의 성능을 평가합니다. 이 지표는 모델이 모든 객체를 찾아내고 오탐을 피하며 각 바운딩 박스를 정확하게 배치하는 능력을 평가하고, 이 세 가지를 0과 1 사이의 단일 숫자로 나타냅니다. 흔히 백분율로 표기합니다. 평균 정밀도(AP)는 한 클래스의 정밀도-재현율 곡선 아래 면적이고, mAP는 클래스 전체 AP의 평균입니다. 가장 널리 보고되는 형식인 mAP50-95는 교집합 대비 합집합(IoU) 임계값 열 개에 대해서도 평균을 계산합니다.

기본 구성 요소#

  • IoU: 예측 박스와 레이블이 지정된 박스 간의 겹침 정도로, 0에서 1 사이의 값입니다. 예측 박스와 아직 매칭되지 않은 동일 클래스 레이블 간의 IoU가 0.5와 같은 임계값 이상인 경우에만 예측을 참양성으로 판정합니다.
  • 정밀도: 올바른 예측의 비율, TP / (TP + FP)입니다.
  • 재현율: 모델이 찾아낸 레이블 객체의 비율, TP / (TP + FN)입니다.
  • 신뢰도: 탐지 결과의 순위를 정하는 점수입니다. 각 신뢰도 임계값은 하나의 정밀도-재현율 쌍을 제공하며, 모든 임계값을 함께 사용하면 정밀도-재현율 곡선을 그릴 수 있습니다.

mAP 계산 방법#

평가에서는 전체 데이터셋에서 한 클래스에 속하는 모든 탐지 결과를 모아 신뢰도순으로 정렬합니다. 목록을 따라가며 각 탐지 결과는 같은 클래스에서 가장 많이 겹치는 미매칭 레이블을 차지해 참양성이 되거나, 거짓양성이 됩니다. 레이블은 한 번만 할당할 수 있으므로 이미 찾은 객체에 두 번째 박스가 지정되면 정밀도가 낮아집니다. 각 단계마다 정밀도와 재현율을 다시 계산하여 신뢰도가 가장 높은 탐지 결과부터 가장 낮은 탐지 결과까지 정밀도-재현율 곡선을 그립니다.

AP는 해당 곡선 아래의 면적입니다. 적분하기 전에 곡선을 포락선으로 대체합니다. 즉, 각 재현율 수준이나 그 이상에서 확인된 최고 정밀도를 사용하므로 작은 지그재그 변화는 점수에 영향을 주지 않습니다. COCO 평가는 재현율 0부터 1까지 101개 지점에서 포락선을 샘플링합니다. 기존 PASCAL VOC 벤치마크는 11개 지점을 사용했습니다. 모델이 도달하지 못한 재현율 수준은 정밀도 0으로 계산하므로, 누락된 객체가 있으면 AP가 낮아집니다.

import numpy as np

# One class: 8 detections sorted by confidence (1 = matched a label, 0 = false positive)
tp = np.array([1, 1, 0, 1, 0, 1, 0, 0])
num_labels = 5  # ground-truth objects of this class in the dataset

# Precision and recall after each detection in the ranked list
tp_cum = np.cumsum(tp)
precision = tp_cum / np.arange(1, len(tp) + 1)
recall = tp_cum / num_labels

# Precision envelope: best precision at this recall or any higher recall
envelope = np.maximum.accumulate(precision[::-1])[::-1]

# COCO-style AP: average the envelope at 101 recall points (0 beyond the highest recall reached)
points = np.linspace(0, 1, 101)
idx = np.searchsorted(recall, points, side="left")
ap = np.mean([envelope[i] if i < len(envelope) else 0.0 for i in idx])
print(f"Max recall: {recall[-1]:.1f}, AP: {ap:.3f}")

스크립트는 Max recall: 0.8, AP: 0.686을 출력합니다. 레이블이 지정된 객체 5개 중 1개를 탐지하지 못하므로 재현율 축의 마지막 5분의 1 구간은 면적에 기여하지 않습니다. 따라서 신뢰도가 가장 높은 탐지 결과 두 개가 모두 정확하더라도 AP는 0.686입니다.

  • 정확도는 올바른 예측 수를 전체 예측 수로 나누며, 이를 계산하려면 참음성 수를 세어야 합니다. 탐지기에서 참음성은 배경의 모든 빈 패치에 해당하므로 정확도는 객체 탐지에서 의미 있는 지표가 아닙니다.
  • F1 점수는 하나의 신뢰도 임계값에서 정밀도와 재현율을 결합해 단일 운영 지점을 나타냅니다. 예를 들어 배포된 모델이 사용하는 임계값이 이에 해당합니다.
  • 혼동 행렬은 하나의 임계값에서 탐지기가 어떤 클래스를 혼동하는지 계산합니다. 이는 단일 mAP 점수로는 알 수 없는 세부 정보입니다.

mAP50, mAP75, mAP50-95#

mAP는 클래스 전체에 대한 단순 평균이므로, 희귀 클래스도 흔한 클래스만큼 동일한 비중을 차지합니다. IoU 임계값은 올바른 검출로 인정되기 위해 박스가 얼마나 정확해야 하는지를 정합니다.

  • mAP50: IoU가 0.5일 때 검출을 올바른 것으로 판정하며, 이는 PASCAL VOC 규칙입니다.
  • mAP75: 임계값이 0.75로 높아져 위치 정확도를 엄격하게 평가합니다.
  • mAP50-95: 0.50부터 0.95까지 0.05 간격으로 설정한 10개 임계값에서 평균한 mAP입니다. COCO에서는 이 수치를 단순히 "AP"라고 부르며, AP와 mAP를 구분하지 않고 주요 챌린지 지표로 사용합니다.

Ultralytics YOLO26 학습은 검증 mAP50-95가 가장 높은 에폭의 best.pt를 유지하며, 검증에서는 매 실행마다 세 가지 변형을 모두 보고합니다.

from ultralytics import YOLO

# Load a pretrained YOLO26 nano detector
model = YOLO("yolo26n.pt")

# Validate on the small COCO8 dataset to compute mAP
metrics = model.val(data="coco8.yaml")

# The same detections scored at three IoU thresholds
print(f"mAP50:    {metrics.box.map50:.3f}")
print(f"mAP75:    {metrics.box.map75:.3f}")
print(f"mAP50-95: {metrics.box.map:.3f}")

IoU 임계값이 낮을수록 더 많은 검출이 올바른 것으로 판정되므로 mAP50이 가장 높고 mAP50-95는 그보다 낮습니다. COCO는 객체 크기별로 AP를 구분하기도 합니다. 소형 객체는 면적이 32 × 32픽셀 미만이고, 중형 객체는 최대 96 × 96픽셀이며, 대형 객체는 그보다 큽니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요