Tìm hiểu về Giao điểm trên Liên hợp ( IoU ) là cách tính toán và vai trò quan trọng của nó trong việc phát hiện đối tượng và đánh giá mô hình AI.
Giao lộ qua Union ( IoU ) là một chỉ số đánh giá cơ bản được sử dụng trong thị giác máy tính (CV) để đo độ chính xác của bộ phát hiện đối tượng trên một tập dữ liệu cụ thể. Thường được gọi trong giới học thuật là Chỉ số Jaccard . IoU định lượng mức độ chồng lấn giữa hai vùng: vùng giới hạn dự đoán được tạo ra bởi mô hình và vùng giới hạn thực tế, là chú thích được ghi nhãn thủ công thể hiện vị trí thực tế của đối tượng. Chỉ số này tạo ra một giá trị từ 0 đến 1, trong đó 0 biểu thị không có sự chồng lấn và 1 biểu thị sự trùng khớp hoàn hảo giữa dự đoán và thực tế.
Sự tính toán của IoU Về mặt khái niệm, nó đơn giản, trở thành chuẩn mực cho các tác vụ phát hiện đối tượng và phân đoạn ảnh . Nó được xác định bằng cách chia diện tích giao nhau (vùng chồng lấn) cho diện tích hợp (tổng diện tích của cả hai hộp). Bằng cách chuẩn hóa diện tích chồng lấn với tổng diện tích, IoU cung cấp một phép đo bất biến theo tỷ lệ, nghĩa là nó đánh giá chất lượng phù hợp bất kể kích thước của vật thể.
Trong các ứng dụng thực tế, ngưỡng thường được áp dụng cho IoU ghi điểm cho classify dự đoán là phát hiện "tích cực" hoặc "tiêu cực". Ví dụ, trong các thử thách tiêu chuẩn như chuẩn mực bộ dữ liệu COCO , IoU Ngưỡng 0,5 (hoặc 50%) thường được sử dụng để xác định tính hợp lệ của một phát hiện. Ngưỡng này rất quan trọng để tính toán các số liệu tiếp theo như Độ chính xác và Độ thu hồi , cuối cùng sẽ được dùng để tính điểm Độ chính xác trung bình ( mAP ) dùng để xếp hạng hiệu suất mô hình.
Bạn có thể dễ dàng tính toán IoU giữa các hộp bằng cách sử dụng các chức năng tiện ích được cung cấp trong
ultralytics gói. Điều này hữu ích cho các tập lệnh đánh giá tùy chỉnh hoặc hiểu hành vi của mô hình trong quá trình suy luận.
import torch
from ultralytics.utils.metrics import box_iou
# Define a ground truth box and a predicted box in (x1, y1, x2, y2) format
# Example: A 100x100 pixel box starting at (50,50) vs shifted prediction
ground_truth = torch.tensor([[50, 50, 150, 150]])
prediction = torch.tensor([[60, 60, 160, 160]])
# Calculate the Intersection over Union
iou_score = box_iou(ground_truth, prediction)
print(f"IoU Score: {iou_score.item():.4f}")
# Output represents the overlap ratio
Độ chính xác của định vị được cung cấp bởi IoU rất quan trọng trong nhiều ngành công nghiệp, nơi mà sự an toàn và độ chính xác là tối quan trọng.
Vượt ra ngoài sự đánh giá đơn giản, IoU đóng vai trò tích cực trong cơ chế bên trong của các kiến trúc hiện đại như YOLO11 .
Điều quan trọng là phải phân biệt IoU từ các thuật ngữ tương tự để chọn số liệu phù hợp cho nhiệm vụ cụ thể của bạn.