Khám phá Non-Maximum Suppression (NMS) để phát hiện đối tượng. Tìm hiểu cách nó tinh chỉnh kết quả, tăng cường độ chính xác và hỗ trợ các ứng dụng AI như YOLO.
Thuật toán Non-Maximum Suppression (NMS) là một thuật toán hậu xử lý cơ bản được sử dụng trong thị giác máy tính , đặc biệt là trong các tác vụ phát hiện đối tượng . Mục đích chính của nó là làm sạch đầu ra của mô hình phát hiện bằng cách lọc bỏ các hộp giới hạn dư thừa và chồng chéo để đảm bảo mỗi đối tượng chỉ được nhận dạng một lần. Khi một mô hình phát hiện đối tượng, chẳng hạn như Ultralytics YOLO , đưa ra dự đoán, nó thường tạo ra nhiều hộp ứng viên xung quanh cùng một đối tượng, mỗi hộp có một điểm tin cậy khác nhau. NMS sẽ thông minh chọn hộp giới hạn tốt nhất cho mỗi đối tượng và loại bỏ, hoặc loại bỏ, tất cả các hộp chồng chéo khác được coi là không tối đa.
Thuật toán NMS hoạt động bằng cách lặp lại các hộp giới hạn dự đoán và đưa ra quyết định dựa trên hai chỉ số chính: điểm tin cậy và ngưỡng Giao trên Hợp (IoU) . Quá trình này có thể được tóm tắt trong các bước sau:
Ngưỡng IoU là một siêu tham số quan trọng do người dùng định nghĩa. Ngưỡng IoU thấp sẽ dẫn đến ít phát hiện hơn, vì nó sẽ loại bỏ các hộp có sự chồng chéo dù chỉ nhỏ, trong khi ngưỡng cao có thể cho phép phát hiện nhiều lần cho cùng một đối tượng. Việc tinh chỉnh ngưỡng này thường là một phần của quá trình tối ưu hóa hiệu suất của mô hình trên một tập dữ liệu cụ thể.
NMS là thành phần quan trọng trong nhiều ứng dụng AI thực tế dựa trên khả năng phát hiện đối tượng chính xác.
NMS cụ thể là một bước xử lý hậu kỳ được áp dụng sau khi mô hình phát hiện đối tượng đã tạo ra tập hợp ban đầu các hộp giới hạn ứng viên. Không nên nhầm lẫn nó với chính kiến trúc phát hiện, chẳng hạn như sự khác biệt giữa các bộ dò dựa trên neo và các bộ dò không có neo . Các kiến trúc này xác định cách các hộp tiềm năng được đề xuất, trong khi NMS tinh chỉnh các đề xuất này.
Điều thú vị là chi phí tính toán và các nút thắt tiềm ẩn liên quan đến NMS đã thúc đẩy nghiên cứu về các bộ phát hiện đối tượng không cần NMS. Các mô hình như YOLOv10 tích hợp các cơ chế trong quá trình huấn luyện để tránh dự đoán các hộp trùng lặp, nhằm giảm độ trễ suy luận và cho phép phát hiện thực sự từ đầu đến cuối. Điều này trái ngược với các phương pháp truyền thống như Ultralytics YOLOv8 hoặc YOLOv5 , trong đó NMS vẫn là một phần tiêu chuẩn và thiết yếu của quy trình suy luận . Bạn có thể tìm hiểu các so sánh kỹ thuật, chẳng hạn như YOLOv10 so với YOLOv8 , trong tài liệu của chúng tôi. Các biến thể như Soft-NMS cung cấp các phương pháp thay thế giúp phân rã điểm số của các hộp chồng chéo thay vì loại bỏ chúng hoàn toàn.
NMS được tích hợp liền mạch trong hệ sinh thái Ultralytics. Các mô hình YOLO của Ultralytics tự động áp dụng NMS trong dự đoán (predict
) Và xác thực (val
) chế độ, đảm bảo người dùng nhận được đầu ra phát hiện sạch và chính xác theo mặc định. Các tham số kiểm soát hành vi NMS (như ngưỡng IoU và ngưỡng tin cậy) thường có thể được điều chỉnh cho các nhu cầu ứng dụng cụ thể.
Các nền tảng như Ultralytics HUB trừu tượng hóa hơn nữa những chi tiết này, cho phép người dùng huấn luyện mô hình và triển khai chúng trong đó NMS được xử lý tự động như một phần của quy trình được tối ưu hóa. Sự tích hợp này đảm bảo rằng người dùng, bất kể trình độ chuyên môn sâu về MLOps , đều có thể hưởng lợi từ kết quả phát hiện đối tượng tiên tiến cho nhiều tác vụ thị giác máy tính khác nhau. Chi tiết triển khai cụ thể trong khuôn khổ Ultralytics có thể được tìm hiểu trong tài liệu tham khảo tiện ích Ultralytics . Để biết thêm định nghĩa, hãy xem Thuật ngữ chính của Ultralytics .