객체 감지에서의 mAP(Mean Average Precision)
객체 감지에서의 mAP(Mean Average Precision)를 이해해 보십시오. 그 의미와 계산법, 그리고 모델 성능 평가에 있어 mAP가 중요한 이유를 알아봅니다.

AI 도입이 빠르게 확산됨에 따라, 자율주행 자동차부터 선반 위의 제품을 식별하는 소매 시스템에 이르기까지 AI가 다양한 혁신 분야에 통합되고 있습니다. 이러한 기술들은 기계가 시각 데이터를 분석할 수 있도록 지원하는 인공지능(AI)의 한 분야인 컴퓨터 비전에 의존합니다.
컴퓨터 비전 시스템 및 알고리즘의 정확도를 측정하는 데 사용되는 주요 평가 지표는 평균 정밀도(mAP)입니다. mAP 지표는 비전 AI 모델의 예측 결과가 실제 결과와 얼마나 일치하는지를 나타냅니다.
일반적인 컴퓨터 비전 작업 중 하나는 객체 탐지로, 모델이 이미지 내의 여러 객체를 식별하고 그 주위에 경계 상자(BBox)를 그리는 작업입니다. mAP는 객체 탐지 모델의 성능을 평가하는 표준 지표이며, Ultralytics YOLO11과 같은 딥러닝 모델의 벤치마크에 널리 사용됩니다.
본 게시글에서는 평균 정밀도가 어떻게 계산되는지, 그리고 객체 탐지 모델을 학습하거나 평가하는 모든 사람에게 왜 필수적인지 살펴보겠습니다. 시작해 보겠습니다!
Link to this section평균 정밀도(mAP)란 무엇인가요?#
평균 정밀도는 이미지 내의 다양한 객체를 탐지하고 식별하는 것과 같은 시각 정보 검색 관련 작업에서 딥러닝 모델이 얼마나 정확한지를 보여주는 점수입니다. 예를 들어, 개, 고양이, 자동차가 포함된 사진을 분석하는 객체 탐지 모델을 생각해 봅시다. 신뢰할 수 있는 모델은 각 객체를 인식하고 그 주위에 경계 상자와 라벨을 그려 해당 객체가 어디에 있고 무엇인지 강조 표시함으로써 객체 탐지를 수행할 수 있습니다.
mAP는 모델이 많은 이미지와 다양한 유형의 객체에 걸쳐 이 작업을 얼마나 잘 수행하는지를 나타냅니다. 이 지표는 모델이 이미지 내의 각 객체와 그 위치를 정확하게 식별하는지 확인합니다. 점수는 0에서 1 사이이며, 1은 모델이 모든 것을 완벽하게 찾았음을 의미하고, 0은 객체를 하나도 탐지하지 못했음을 의미합니다.
Link to this section평균 정밀도(mAP)의 핵심 개념#
머신러닝에서 평균 정밀도 뒤에 숨겨진 개념을 살펴보기 전에, ground truth(정답지)와 예측(predictions)이라는 두 가지 기본 용어를 더 잘 이해해 보겠습니다.
Ground truth는 이미지 내 객체와 그 위치를 어노테이션(annotation)이라는 과정을 통해 사람이 신중하게 라벨링한 정확한 참조 데이터를 의미합니다. 한편, 예측은 AI 모델이 이미지를 분석한 후 내놓는 결과입니다. AI 모델의 예측 결과를 ground truth와 비교함으로써, 모델이 정답에 얼마나 근접했는지 측정할 수 있습니다.

그림 1. 모델 예측 및 ground truth 경계 상자. 이미지 출처: 저자.
Link to this section혼동 행렬(Confusion matrix)#
혼동 행렬은 객체 탐지 모델이 얼마나 정밀한지 이해하는 데 자주 사용됩니다. 이는 모델의 예측 결과가 실제 정답(ground truth)과 어떻게 일치하는지를 보여주는 표입니다. 이 표에서 우리는 4가지 주요 구성 요소 또는 결과인 참 양성(true positive), 거짓 양성(false positive), 거짓 음성(false negative), 참 음성(true negative)에 대한 분석을 얻을 수 있습니다.
혼동 행렬의 구성 요소는 다음과 같습니다:
- 참 양성(TP): 객체와 그 위치가 모델에 의해 올바르게 탐지되었습니다.
- 거짓 양성(FP): 모델이 탐지를 수행했으나 잘못된 탐지였습니다.
- 거짓 음성(FN): 실제로 이미지에 존재하지만 모델이 탐지하지 못한 객체입니다.
- 참 음성(TN): 모델이 객체의 부재를 정확하게 식별했을 때 참 음성이 발생합니다.
참 음성은 객체 탐지에서는 일반적으로 사용되지 않는데, 이는 이미지의 많은 빈 영역을 보통 무시하기 때문입니다. 그러나 이미지 분류와 같이 모델이 이미지에 라벨을 할당하는 다른 컴퓨터 비전 작업에서는 필수적입니다. 예를 들어, 작업이 이미지에 고양이가 포함되어 있는지 여부를 탐지하는 것이고 이미지에 고양이가 없을 때 모델이 이를 정확하게 '고양이 없음'으로 식별한다면, 그것이 참 음성입니다.

그림 2. 혼동 행렬의 분류 결과. 이미지 출처: 저자.
Link to this sectionIoU(Intersection over Union, 교차 영역 합집합)#
객체 탐지 모델을 평가하는 또 다른 중요한 지표는 IoU(Intersection over Union)입니다. 이러한 비전 AI 모델의 경우, 이미지 내 객체의 존재 여부를 탐지하는 것만으로는 충분하지 않으며, 경계 상자를 그리기 위해 객체가 어디에 있는지 위치를 찾아야 합니다.
IoU 지표는 모델이 예측한 상자가 실제 정답 상자(ground truth)와 얼마나 일치하는지를 측정합니다. 점수는 0과 1 사이이며, 1은 완벽한 일치를, 0은 전혀 겹치지 않음을 의미합니다.
예를 들어, 더 높은 IoU(0.80 또는 0.85 등)는 예측 상자가 ground truth 상자와 매우 일치하여 정확한 위치 파악이 이루어졌음을 의미합니다. 더 낮은 IoU(0.30 또는 0.25 등)는 모델이 객체의 위치를 정확하게 찾지 못했음을 의미합니다.
탐지가 성공했는지 확인하기 위해 다양한 임계값을 사용합니다. 일반적인 IoU 임계값은 0.5이며, 이는 예측 상자가 ground truth 상자와 최소 50% 겹쳐야 참 양성으로 간주된다는 의미입니다. 이 임계값 미만의 겹침은 거짓 양성으로 간주됩니다.

그림 3. Intersection over Union 이해하기. 이미지 출처: 저자.
Link to this section정밀도(Precision)와 재현율(Recall)#
지금까지 객체 탐지 모델의 성능을 이해하기 위한 몇 가지 기본 평가 지표를 살펴보았습니다. 이를 바탕으로 가장 중요한 두 가지 지표는 정밀도와 재현율입니다. 이들은 모델의 탐지가 얼마나 정확한지에 대한 명확한 그림을 제공합니다. 이들이 무엇인지 살펴보겠습니다.
정밀도 값은 모델의 예측 중 얼마나 많은 것이 실제로 정확했는지를 알려줍니다. 이는 '모델이 탐지했다고 주장한 모든 객체 중에서 실제로 그곳에 있었던 객체는 몇 개인가?'라는 질문에 답합니다.
반면, 재현율 값은 모델이 이미지에 존재하는 모든 실제 객체를 얼마나 잘 찾아내는지를 측정합니다. 이는 '실제로 존재하는 모든 객체 중에서 모델이 몇 개를 정확하게 탐지했는가?'라는 질문에 답합니다.
정밀도와 재현율은 함께 모델의 성능이 어느 정도인지 더 명확하게 보여줍니다. 예를 들어, 모델이 이미지에서 10대의 자동차를 예측했고 그중 9대가 실제로 자동차라면, 정밀도는 90%(양성 예측)입니다.
이 두 평가 지표는 종종 절충 관계(trade-off)에 있습니다. 모델은 완전히 확신하는 예측만 함으로써 높은 정밀도 값을 얻을 수 있지만, 이는 많은 객체를 놓치게 만들어 재현율 수준을 낮출 수 있습니다. 한편, 거의 모든 곳에 경계 상자를 예측함으로써 매우 높은 재현율을 달성할 수도 있지만, 이는 정밀도를 떨어뜨릴 것입니다.

그림 4. 정밀도와 재현율. 이미지 출처: 저자.
Link to this section평균 정밀도(AP)#
정밀도와 재현율이 모델이 개별 예측에서 어떻게 성능을 내는지 이해하도록 돕는다면, 평균 정밀도(AP)는 더 폭넓은 시각을 제공합니다. 이는 모델이 더 많은 객체를 탐지하려고 시도함에 따라 정밀도가 어떻게 변하는지를 보여주며, 성능을 하나의 숫자로 요약합니다.
평균 정밀도 점수를 계산하기 위해, 각 객체 유형에 대해 먼저 정밀도-재현율 곡선(PR 곡선)이라 불리는 결합된 그래프 형태의 지표를 생성할 수 있습니다. 이 곡선은 모델이 더 많은 예측을 할 때 무슨 일이 일어나는지를 보여줍니다.
모델이 가장 쉽거나 가장 명확한 객체만 탐지하면서 시작하는 시나리오를 생각해 보십시오. 이 단계에서는 대부분의 예측이 정확하기 때문에 정밀도는 높지만, 여전히 많은 객체를 놓치고 있기 때문에 재현율은 낮습니다. 모델이 더 어렵거나 드문 객체를 포함하여 더 많은 객체를 탐지하려고 시도함에 따라 일반적으로 더 많은 오류가 발생합니다. 이로 인해 재현율이 증가함에 따라 정밀도가 떨어집니다.
평균 정밀도는 PR 곡선 아래의 면적(AUC)입니다. 면적이 클수록 모델이 더 많은 객체를 탐지하더라도 예측을 정확하게 유지하는 능력이 뛰어나다는 것을 의미합니다. AP는 각 클래스 라벨에 대해 별도로 계산됩니다.
예를 들어, 자동차, 자전거, 보행자를 탐지할 수 있는 모델에서 이 세 가지 범주 각각에 대해 AP 값을 개별적으로 계산할 수 있습니다. 이를 통해 모델이 어떤 객체를 잘 탐지하고 어디에 개선이 필요한지 확인할 수 있습니다.

그림 5. 5가지 다른 클래스에 대한 PR 곡선. (출처)
Link to this section평균 정밀도(mAP)#
각 객체 클래스에 대한 평균 정밀도를 계산한 후에도, 모든 클래스에 걸친 모델의 전반적인 성능을 반영하는 단일 점수가 여전히 필요합니다. 이는 평균 정밀도(mAP) 공식을 사용하여 달성할 수 있습니다. 이 공식은 모든 범주에 대한 AP 점수를 평균화합니다.
예를 들어, YOLO11과 같은 컴퓨터 비전 모델이 자동차에 대해 0.827, 오토바이에 대해 0.679, 트럭에 대해 0.355, 버스에 대해 0.863, 자전거에 대해 0.982의 AP를 달성한다고 가정해 봅시다. mAP 공식을 사용하여 이 숫자들을 더하고 총 클래스 수로 다음과 같이 나눌 수 있습니다:
mAP = (0.827 + 0.679 + 0.355 + 0.863 + 0.982) ÷ 5 = 0.7432 ≈ 0.743
0.743의 mAP 점수는 모델이 모든 객체 클래스에 걸쳐 얼마나 잘 성능을 내는지 판단하기 위한 간단한 해결책을 제공합니다. 1에 가까운 값은 모델이 대부분의 범주에 대해 정확함을 의미하며, 낮은 값은 일부 범주에서 고전하고 있음을 시사합니다.
Link to this section컴퓨터 비전에서 AP와 mAP의 중요성#
이제 AP와 mAP가 어떻게 계산되는지, 그 구성 요소가 무엇인지 잘 이해했으므로, 컴퓨터 비전에서의 중요성에 대한 개요를 살펴보겠습니다:
-
특정 클래스에 대한 낮은 AP: 단일 클래스에 대한 낮은 AP는 종종 모델이 그 특정 객체 클래스에 대해 고전하고 있음을 의미합니다. 이는 학습 데이터 부족이나 가림(occlusion)과 같이 이미지 내의 시각적 어려움 때문일 수 있습니다.
-
위치 파악 오류: 더 낮은 IoU 임계값(예: mAP@0.50)에서는 더 높은 mAP 값이 나타나지만, 더 높은 IoU 임계값(예: mAP@0.75)에서 상당한 하락이 발생하는 것은 모델이 객체를 탐지할 수는 있지만 정밀하게 위치를 파악하는 데는 어려움을 겪고 있음을 나타냅니다.
-
과적합(Overfitting): 학습 데이터셋에서는 더 높은 mAP 값을 보이지만 검증 데이터셋에서 더 낮은 mAP 값을 보이는 것은 과적합의 징후이며, 이는 모델을 새로운 이미지에 대해 신뢰할 수 없게 만듭니다.
Link to this section평균 정밀도의 실제 응용#
다음으로, mAP와 같은 핵심 지표가 실제 컴퓨터 비전 사례를 구축할 때 어떻게 도움이 될 수 있는지 살펴보겠습니다.
Link to this section자율주행 자동차: 더 높은 mAP 값이 더 안전한 도로를 의미하는 이유#
자율주행 자동차의 경우, 보행자, 도로 표지판, 자전거 이용자, 차선 표시를 식별하는 데 객체 탐지가 매우 중요합니다. 예를 들어, 아이가 갑자기 길을 건너뛰면 자동차는 초 단위 내에 객체(아이)를 탐지하고, 위치를 파악하고, 이동을 추적하고, 필요한 조치(브레이크 작동)를 취해야 합니다.
YOLO11과 같은 모델은 이러한 높은 위험 시나리오에서 실시간 객체 탐지를 위해 설계되었습니다. 이러한 경우 mAP는 안전을 측정하는 중요한 지표가 됩니다.
높은 mAP 점수는 시스템이 아이를 빠르게 탐지하고 정밀하게 위치를 파악하며 최소한의 지연으로 제동을 트리거하도록 보장합니다. 낮은 mAP는 탐지 실패나, 아이를 다른 작은 객체로 혼동하는 것과 같은 위험한 오분류를 의미할 수 있습니다.

그림 6. 도로에서 보행자를 탐지하는 데 사용되는 YOLO11의 예. (출처)
Link to this section정확한 제품 탐지를 위해 mAP 사용하기#
마찬가지로, 소매업에서 객체 탐지 모델은 재고 모니터링 및 결제 프로세스와 같은 작업을 자동화하는 데 사용될 수 있습니다. 고객이 셀프 계산대에서 제품을 스캔할 때 탐지 오류가 발생하면 좌절감을 유발할 수 있습니다.
높은 mAP 점수는 모델이 유사한 제품을 정확하게 구별하고 품목들이 빽빽하게 포장되어 있을 때에도 정밀한 경계 상자를 그리도록 보장합니다. 낮은 mAP 점수는 혼동을 초래할 수 있습니다. 예를 들어, 모델이 오렌지 주스 병을 시각적으로 유사한 사과 주스 병으로 착각하면, 잘못된 결제 및 부정확한 재고 보고서로 이어질 수 있습니다.
YOLO11과 같은 모델이 통합된 소매 시스템은 실시간으로 제품을 탐지하고 재고와 대조하며 백엔드 시스템을 즉시 업데이트할 수 있습니다. 빠르게 진행되는 소매 환경에서 mAP는 운영을 정확하고 신뢰성 있게 유지하는 데 중요한 역할을 합니다.
Link to this section헬스케어에서 높은 mAP로 진단 정확도 향상#
헬스케어의 진단 정확도 향상은 의료 영상에서의 정밀한 탐지에서 시작됩니다. YOLO11과 같은 모델은 영상의학 전문의가 의료 스캔에서 종양, 골절 또는 기타 이상 징후를 발견하도록 도울 수 있습니다. 여기서 평균 정밀도는 모델의 임상적 신뢰성을 평가하기 위한 필수 지표입니다.
높은 mAP는 모델이 높은 재현율(실제 문제의 대부분을 식별)과 높은 정밀도(오경보 방지)를 모두 달성함을 나타내며, 이는 임상 의사 결정에서 매우 중요합니다. 또한 헬스케어 분야의 IoU 임계값은 매우 정확한 탐지를 보장하기 위해 종종 매우 높게(0.85 또는 0.90) 설정됩니다.
그러나 낮은 mAP 점수는 우려를 야기할 수 있습니다. 모델이 종양을 놓쳤다고 가정하면, 진단이 지연되거나 잘못된 치료로 이어질 수 있습니다.
Link to this sectionmAP 사용의 장단점#
객체 탐지 모델을 평가하기 위해 평균 정밀도를 사용할 때의 주요 이점은 다음과 같습니다:
-
표준화된 지표: mAP는 객체 탐지 모델을 평가하는 업계 표준입니다. mAP 값은 서로 다른 모델 간의 공정하고 일관된 비교를 가능하게 합니다.
-
실제 성능 반영: 높은 mAP는 모델이 다양한 객체 클래스를 탐지하는 데 탁월하며 복잡한 실제 시나리오에서도 강력한 성능을 유지함을 나타냅니다.
-
클래스별 진단: mAP 점수는 각 클래스에 대한 탐지 성능을 개별적으로 평가합니다. 이를 통해 성과가 낮은 범주(자전거 또는 도로 표지판 등)를 식별하고 그에 따라 모델을 미세 조정하기가 더 쉬워집니다.
mAP 지표를 사용하면 다양한 이점이 있지만 고려해야 할 몇 가지 제한 사항도 있습니다. 고려해야 할 몇 가지 요소는 다음과 같습니다:
-
비기술적 이해관계자에게 어려움: 비즈니스 또는 임상 팀은 직관적이고 이해하기 쉬운 지표와 달리 mAP 값을 추상적으로 느낄 수 있습니다.
-
실시간 제약 반영 안 됨: mAP는 시간 민감형 애플리케이션 배포에 중요한 추론 속도나 지연 시간을 고려하지 않습니다.
Link to this section핵심 요약#
우리는 평균 정밀도가 단순한 기술적 점수가 아니라 모델의 잠재적인 실제 성능을 반영하는 것임을 확인했습니다. 자율주행 차량 시스템이든 소매 계산대이든, 높은 mAP 점수는 모델의 성능과 실용적 준비 상태를 알려주는 신뢰할 수 있는 지표로 사용됩니다.
mAP는 필수적이고 영향력 있는 지표이지만, 다각적인 평가 전략의 일부로 보아야 합니다. 헬스케어 및 자율주행과 같은 중요한 애플리케이션의 경우, mAP에만 의존하는 것으로는 충분하지 않습니다.
시스템이 안전하고 효율적이며 의도한 목적에 진정으로 적합하도록 하려면 추론 속도(모델이 예측을 생성하는 속도), 모델 크기(에지 디바이스 배포에 미치는 영향), 정성적 오류 분석(모델이 만드는 실수의 유형 이해)과 같은 추가 요소를 반드시 고려해야 합니다.
성장하는 저희 커뮤니티와 GitHub 저장소에 참여하여 컴퓨터 비전에 대해 더 알아보세요. 농업 분야의 컴퓨터 비전 및 물류 분야의 AI 활용 사례를 확인하려면 솔루션 페이지를 살펴보세요. 지금 바로 자신만의 컴퓨터 비전 모델을 시작하려면 라이선스 옵션을 확인해 보세요!






