Mean Average Precision (mAP)
Tìm hiểu cách Mean Average Precision (mAP) đánh giá các mô hình computer vision. Khám phá IoU, độ chính xác và recall, đồng thời tính toán mAP với Ultralytics YOLO26 ngay hôm nay.
Mean Average Precision (mAP) là một số đo toàn diện được sử dụng rộng rãi để đánh giá hiệu suất của các mô hình computer vision, cụ thể trong các tác vụ như object detection và instance segmentation. Không giống như độ chính xác đơn giản chỉ kiểm tra xem một hình ảnh có được phân loại đúng hay không, mAP đánh giá mức độ tìm kiếm đối tượng của mô hình và độ chính xác khi định vị bounding box xung quanh các đối tượng đó. Điều này làm cho nó trở thành điểm chuẩn chính để so sánh các kiến trúc tối tân như YOLO26 với các thế hệ trước. Bằng cách tóm tắt sự đánh đổi giữa precision và recall trên tất cả các lớp, mAP cung cấp một điểm số duy nhất phản ánh độ mạnh mẽ của mô hình trong các tình huống thực tế.
Các thành phần của mAP#
Để tính mAP, cần phải hiểu ba khái niệm cơ bản xác định chất lượng của detection:
- Intersection over Union (IoU): Thông số này đo lường mức độ chồng chéo không gian giữa hộp dự đoán và chú thích ground truth. Đây là một tỷ lệ nằm trong khoảng từ 0 đến 1. Một dự đoán thường được coi là "True Positive" chỉ khi IoU vượt quá một ngưỡng cụ thể, chẳng hạn như 0.5 hoặc 0.75.
- Precision: Số đo này trả lời cho câu hỏi: "Trong tất cả các đối tượng mà mô hình tuyên bố phát hiện được, có bao nhiêu phần trăm thực sự chính xác?" Precision cao có nghĩa là mô hình tạo ra rất ít false positives.
- Recall: Số đo này đặt câu hỏi: "Trong tất cả các đối tượng thực sự tồn tại trong hình ảnh, mô hình đã tìm thấy bao nhiêu phần trăm?" Recall cao cho thấy mô hình tránh được false negatives và hiếm khi bỏ sót đối tượng.
Phương pháp tính toán#
Quá trình tính toán bắt đầu bằng việc tính toán Average Precision (AP) cho từng lớp cụ thể (ví dụ: "person", "car", "dog"). Điều này được thực hiện bằng cách tìm diện tích dưới Precision-Recall Curve, biểu diễn precision theo recall tại các ngưỡng confidence khác nhau. Chữ "Mean" trong Mean Average Precision đơn giản đề cập đến việc lấy trung bình các điểm số AP này trên tất cả các danh mục trong training data.
Các tiêu chuẩn benchmark nghiên cứu tiêu chuẩn, chẳng hạn như COCO dataset, thường báo cáo hai biến thể chính:
-
mAP@50: Chỉ số này coi một detection là đúng nếu IoU đạt ít nhất 0.50. Đây là một số liệu tương đối dễ dãi.
-
mAP@50-95: Đây là giá trị trung bình của mAP được tính tại các ngưỡng IoU từ 0.50 đến 0.95 với bước nhảy 0.05. Số đo khắt khe này thưởng cho các mô hình đạt được localization accuracy cao.
mAP và các số liệu liên quan#
Điều quan trọng là phải phân biệt mAP với Accuracy. Accuracy phù hợp cho image classification nơi đầu ra là một nhãn duy nhất cho toàn bộ hình ảnh, nhưng nó không thành công trong object detection vì nó không tính đến vị trí không gian của đối tượng hoặc lớp nền. Tương tự, trong khi F1-Score cung cấp trung bình điều hòa của precision và recall tại một ngưỡng confidence đơn lẻ, mAP tích hợp hiệu suất trên tất cả các mức độ confidence, mang lại cái nhìn toàn diện hơn về tính ổn định của mô hình.
Các ứng dụng trong thực tế#
Điểm mAP cao là rất quan trọng trong các môi trường mà sự an toàn và hiệu quả được đặt lên hàng đầu.
- Autonomous Vehicles: Trong công nghệ tự lái, sự an toàn phụ thuộc vào việc phát hiện người đi bộ và biển báo giao thông với recall cao (không bỏ sót bất cứ thứ gì) và precision cao (tránh phanh giả). mAP đảm bảo hệ thống nhận thức cân bằng các nhu cầu này một cách hiệu quả.
- Medical Image Analysis: Khi xác định khối u hoặc vết gãy trong ảnh chụp X-quang, các bác sĩ X-quang dựa vào AI in healthcare để đánh dấu các vấn đề tiềm ẩn. Điểm số mAP cao cho thấy mô hình làm nổi bật các bất thường một cách đáng tin cậy mà không làm bác sĩ quá tải với các cảnh báo giả, tạo điều kiện chẩn đoán chính xác.
Đo lường mAP với Ultralytics#
Các framework hiện đại đơn giản hóa việc tính toán các số đo này trong giai đoạn validation. Ví dụ sau đây minh họa cách tải một mô hình và tính toán mAP bằng cách sử dụng gói Python ultralytics.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Validate the model on a dataset to compute mAP
# This runs inference and compares predictions to ground truth
metrics = model.val(data="coco8.yaml")
# Print mAP@50-95 (map) and mAP@50 (map50)
print(f"mAP@50-95: {metrics.box.map:.3f}")
print(f"mAP@50: {metrics.box.map50:.3f}")Hiểu và tối ưu hóa cho mAP là rất quan trọng trước khi model deployment. Để hợp lý hóa quá trình này, Ultralytics Platform cung cấp tính năng theo dõi tự động mAP, đường cong loss và các KPI khác trong quá trình huấn luyện, cho phép các nhà phát triển trực quan hóa tiến trình và chọn checkpoint mô hình tốt nhất cho quá trình production.






