Tại sao Ultralytics YOLO26 loại bỏ NMS và cách điều đó thay đổi việc triển khai
Khám phá cách Ultralytics YOLO26 cho phép suy luận (inference) end-to-end, không cần NMS thực sự và lý do tại sao việc loại bỏ hậu xử lý giúp đơn giản hóa quá trình xuất và triển khai tại biên.

Vào ngày 14 tháng 1, chúng tôi đã ra mắt Ultralytics YOLO26, thế hệ mô hình thị giác máy tính mới nhất của chúng tôi. Với YOLO26, mục tiêu của chúng tôi không chỉ là cải thiện độ chính xác hay tốc độ, mà là định hình lại cách các mô hình phát hiện đối tượng được xây dựng và triển khai trong các hệ thống thực tế.
Khi computer vision chuyển từ nghiên cứu sang môi trường sản xuất, các mô hình ngày càng được kỳ vọng sẽ chạy trên CPU, thiết bị biên, camera, robot và phần cứng nhúng. Trong những môi trường này, độ tin cậy, độ trễ thấp và sự dễ dàng trong triển khai quan trọng không kém gì hiệu năng.
Ultralytics YOLO26 được thiết kế với thực tế này trong tâm trí, sử dụng kiến trúc end-to-end tinh gọn giúp loại bỏ độ phức tạp không cần thiết khỏi pipeline inference. Một trong những cải tiến quan trọng nhất được thực hiện trong YOLO26 là việc loại bỏ Non-Maximum Suppression, thường được gọi là NMS.
Trong nhiều năm, NMS đã là một phần tiêu chuẩn của các hệ thống phát hiện đối tượng, được sử dụng như một bước hậu xử lý để làm sạch các phát hiện trùng lặp. Mặc dù hiệu quả, nó cũng tạo ra các yêu cầu tính toán bổ sung và thách thức khi triển khai, đặc biệt là trên phần cứng biên.
Với YOLO26, chúng tôi áp dụng một cách tiếp cận khác. Bằng cách định hình lại cách các dự đoán được tạo ra và huấn luyện, chúng tôi cho phép suy luận đầu cuối thực sự, không cần NMS. Mô hình tạo ra các kết quả phát hiện cuối cùng trực tiếp, mà không dựa vào các bước làm sạch bên ngoài hay các quy tắc thủ công. Điều này giúp YOLO26 nhanh hơn, dễ xuất hơn và đáng tin cậy hơn khi triển khai trên nhiều nền tảng phần cứng khác nhau.

Hình 1. Phát hiện đối tượng trong hình ảnh sử dụng Ultralytics YOLO26.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu kỹ hơn về lý do tại sao phát hiện đối tượng truyền thống lại dựa vào NMS, cách nó trở thành nút thắt cổ chai khi triển khai, và cách Ultralytics YOLO26 loại bỏ nhu cầu về các giải pháp thay thế tạm thời. Hãy bắt đầu ngay!
Phát hiện đối tượng truyền thống tạo ra các phát hiện trùng lặp#
Trước khi đi sâu vào NMS là gì và lý do chúng tôi loại bỏ nó trong Ultralytics YOLO26, hãy cùng lùi lại một bước và xem xét cách các model phát hiện đối tượng truyền thống tạo ra các dự đoán của chúng.
Các model phát hiện đối tượng truyền thống thường tạo ra nhiều bbox chồng chéo cho cùng một đối tượng. Mỗi khung này đi kèm với điểm số tin cậy riêng, mặc dù tất cả đều tham chiếu đến cùng một đối tượng trong hình ảnh.
Điều này xảy ra vì một vài lý do. Đầu tiên, model đưa ra dự đoán tại nhiều vị trí không gian và ở các quy mô khác nhau cùng lúc. Điều này giúp model phát hiện các đối tượng có kích thước khác nhau, nhưng cũng có nghĩa là các vị trí lân cận đều có thể xác định cùng một đối tượng một cách độc lập.
Thứ hai, nhiều hệ thống phát hiện đối tượng sử dụng các phương pháp dựa trên anchor, tạo ra một số lượng lớn các khung ứng viên xung quanh mỗi vị trí. Mặc dù điều này cải thiện cơ hội tìm thấy đối tượng một cách chính xác, nó cũng làm tăng số lượng dự đoán chồng chéo.
Cuối cùng, bản thân việc phát hiện dựa trên lưới dẫn đến sự dư thừa. Khi một đối tượng nằm gần ranh giới của nhiều ô lưới, một số ô có thể dự đoán một khung cho đối tượng đó, dẫn đến nhiều phát hiện chồng chéo.
Vì lý do này, output thô của model thường chứa nhiều khung cho một đối tượng duy nhất. Để làm cho kết quả có thể sử dụng được, những dự đoán dư thừa này cần được lọc để chỉ còn lại một kết quả phát hiện cuối cùng.
Hiểu về Non-Maximum Suppression#
Khi một model phát hiện đối tượng tạo ra nhiều bbox chồng chéo cho cùng một đối tượng, các kết quả đó cần được làm sạch trước khi có thể sử dụng. Đây là lúc Non-Maximum Suppression được áp dụng.
Non-Maximum Suppression là một bước hậu xử lý chạy sau khi model đã hoàn thành việc dự đoán. Mục đích của nó là giảm các phát hiện trùng lặp để mỗi đối tượng được đại diện bởi một bbox cuối cùng duy nhất.

Hình 2. Tổng quan về NMS. Hình ảnh bởi tác giả.
Quy trình này hoạt động bằng cách so sánh các bbox dựa trên điểm số tin cậy và mức độ chồng chéo của chúng. Các dự đoán có độ tin cậy rất thấp sẽ bị loại bỏ trước.
Các khung còn lại sau đó được sắp xếp theo độ tin cậy, và khung có điểm số cao nhất được chọn là phát hiện tốt nhất. Khung đã chọn đó được so sánh với các khung khác.
Nếu một hộp khác chồng chéo quá nhiều với nó, hộp đó sẽ bị nén lại và loại bỏ. Sự chồng chéo thường được đo lường bằng cách sử dụng Intersection over Union, một số liệu tính toán tỷ lệ giữa diện tích được chia sẻ bởi hai hộp và tổng diện tích được bao phủ bởi cả hai. Quá trình này lặp lại cho đến khi chỉ còn lại những phát hiện tự tin nhất, không chồng chéo.
Tại sao NMS làm phức tạp việc triển khai#
Mặc dù Non-Maximum Suppression giúp lọc các phát hiện trùng lặp, nó cũng đưa ra các thách thức trở nên rõ ràng hơn khi các model chuyển từ nghiên cứu sang triển khai thực tế.
Một trong những vấn đề lớn nhất là hiệu suất. NMS chạy sau inference và yêu cầu so sánh các bbox với nhau để quyết định khung nào cần giữ lại.
Quy trình này đòi hỏi tính toán cao và khó để song song hóa hiệu quả. Trên các thiết bị biên và hệ thống chạy CPU, công việc bổ sung này có thể làm tăng độ trễ đáng kể, khiến việc đáp ứng các yêu cầu thời gian thực trở nên khó khăn hơn.
NMS cũng làm tăng độ phức tạp khi triển khai. Vì nó không phải là một phần của bản thân model, nó phải được triển khai riêng biệt dưới dạng code hậu xử lý.
Các runtime và nền tảng khác nhau xử lý NMS theo những cách khác nhau, điều này thường có nghĩa là phải duy trì các bản triển khai tùy chỉnh cho từng môi trường mục tiêu. Những gì hoạt động trong thiết lập này có thể hoạt động hơi khác trong thiết lập khác, làm cho việc triển khai trở nên mong manh hơn và khó mở rộng hơn.
Tối ưu hóa phần cứng là một thách thức khác. NMS không ánh xạ tốt tới các bộ tăng tốc AI chuyên dụng, vốn được thiết kế để chạy các phép toán mạng thần kinh hiệu quả. Kết quả là, ngay cả khi model chạy nhanh trên phần cứng được tối ưu hóa, NMS có thể trở thành nút thắt cổ chai làm giới hạn hiệu suất tổng thể.
Ngoài các yếu tố này, NMS dựa trên các tham số được chọn thủ công như ngưỡng tin cậy và ngưỡng chồng chéo. Các cài đặt này có thể ảnh hưởng đáng kể đến kết quả và thường cần được tinh chỉnh cho các bộ dữ liệu, ứng dụng hoặc phần cứng khác nhau. Điều này làm cho hành vi của hệ thống ít dự đoán được hơn trong môi trường sản xuất và thêm chi phí cấu hình bổ sung.
Giải thích về inference phát hiện đối tượng end-to-end#
Những hạn chế của Non-Maximum Suppression đã khiến chúng tôi suy nghĩ lại về cách các mô hình object detection nên hoạt động tại thời điểm suy luận. Thay vì tạo ra nhiều dự đoán chồng chéo và dọn dẹp chúng sau đó, chúng tôi đã đặt ra một câu hỏi cơ bản hơn.
Nếu model có thể tạo ra các kết quả phát hiện cuối cùng trực tiếp thì sao? Câu hỏi này nằm ở cốt lõi của inference phát hiện đối tượng end-to-end. Trong một hệ thống end-to-end, model được huấn luyện để xử lý toàn bộ quy trình phát hiện từ đầu đến cuối mà không cần dựa vào các bước làm sạch bên ngoài.
Thay vì tạo ra nhiều khung ứng viên và lọc chúng sau inference, model học cách tự tạo ra một tập hợp nhỏ các dự đoán tự tin, không chồng chéo. Các phát hiện trùng lặp được giải quyết bên trong mạng thay vì bị loại bỏ bởi hậu xử lý.
Các kiến trúc model mới hơn cho thấy cách tiếp cận này vừa khả thi vừa thực tế. Với chiến lược huấn luyện phù hợp, các model có thể học cách liên kết mỗi đối tượng với một dự đoán duy nhất thay vì nhiều dự đoán cạnh tranh, làm giảm sự dư thừa ngay từ nguồn.

Hình 3. Một ví dụ về việc phát hiện đối tượng sử dụng Ultralytics YOLO26.
Để điều này hoạt động, việc huấn luyện cũng phải thay đổi. Thay vì để nhiều dự đoán cạnh tranh cho cùng một đối tượng, model học cách đưa ra một quyết định rõ ràng, tạo ra ít kết quả phát hiện hơn nhưng tự tin hơn.
Kết quả tổng thể là một pipeline inference đơn giản hơn. Vì các trùng lặp đã được giải quyết nội bộ, không cần phải có Non-Maximum Suppression tại thời điểm inference. Output của model đã là tập hợp các kết quả phát hiện cuối cùng.
Thiết kế end-to-end này cũng giúp việc triển khai dễ dàng hơn. Không cần các bước hậu xử lý hoặc triển khai NMS cụ thể cho nền tảng, model xuất ra hoàn toàn tự chứa và hoạt động nhất quán trên các framework inference và mục tiêu phần cứng khác nhau.
Như Kỹ sư trưởng Quan hệ đối tác của chúng tôi, Francesco Mattioli, giải thích: “Học đầu cuối thực sự có nghĩa là mô hình phải xử lý mọi thứ từ điểm ảnh đến dự đoán, không cần các bước hậu xử lý thủ công làm phá vỡ tính khả vi và làm phức tạp quá trình triển khai.”
Cách Ultralytics YOLO26 loại bỏ NMS#
Ultralytics YOLO26 loại bỏ Non-Maximum Suppression bằng cách thay đổi cách các phát hiện được học và tạo ra, thay vì dựa vào hậu xử lý để dọn dẹp chúng. Thay vì cho phép nhiều dự đoán cạnh tranh cho cùng một đối tượng, YOLO26 được huấn luyện để học mối quan hệ một đối một rõ ràng giữa các đối tượng và đầu ra.
Điều này được kích hoạt một phần bởi phát hiện dựa trên truy vấn có thể học được, giúp model tập trung vào việc tạo ra một dự đoán duy nhất, tự tin cho mỗi đối tượng thay vì nhiều ứng viên chồng chéo. Mỗi đối tượng được liên kết với một dự đoán, tự nhiên làm giảm các phát hiện trùng lặp.
Hành vi này được củng cố thông qua các chiến lược kết hợp nhất quán trong quá trình huấn luyện, khuyến khích model đưa ra một quyết định tự tin cho mỗi đối tượng thay vì tạo ra các dự đoán chồng chéo. Cuối cùng, model tạo ra ít dự đoán hơn, nhưng mỗi dự đoán đều đại diện cho một phát hiện cuối cùng.
Tại sao việc loại bỏ DFL giúp phát hiện không cần NMS trở nên khả thi#
Một cải tiến quan trọng khác giúp hỗ trợ suy luận không cần NMS trong Ultralytics YOLO26 là việc loại bỏ Distribution Focal Loss, hay DFL. Trong các phiên bản YOLO trước đây, DFL được sử dụng để cải thiện việc hồi quy bbox bằng cách dự đoán phân phối của các vị trí hộp tiềm năng thay vì một giá trị đơn lẻ.
Mặc dù phương pháp này cải thiện độ chính xác định vị, nó cũng làm tăng sự phức tạp cho pipeline phát hiện. Sự phức tạp đó đã trở thành một hạn chế khi tiến tới inference end-to-end thực thụ.
DFL tạo ra các phép tính bổ sung và các phạm vi hồi quy cố định, điều này khiến model khó học được các phép gán đối tượng một-một rõ ràng hơn và làm tăng sự phụ thuộc vào các bước hậu xử lý như NMS. Với Ultralytics YOLO26, chúng tôi đã loại bỏ DFL và thiết kế lại quá trình hồi quy bbox trở nên đơn giản và trực quan hơn.
Thay vì dựa vào các đầu ra dựa trên phân phối, model học cách dự đoán tọa độ hộp chính xác theo cách hỗ trợ ít phát hiện hơn nhưng có độ tin cậy cao hơn. Thay đổi này giúp giảm thiểu các dự đoán chồng chéo ngay từ nguồn và đồng bộ hóa quá trình hồi quy bbox với thiết kế end-to-end, không cần NMS của Ultralytics YOLO26.
Ultralytics YOLO26 không cần NMS và dễ dàng triển khai#
Thiết kế không cần NMS biến Ultralytics YOLO26 thành một model end-to-end thực thụ. Điều này có tác động quan trọng đối với exporting models.
Xuất model có nghĩa là chuyển đổi một model đã được huấn luyện thành định dạng có thể chạy ngoài môi trường huấn luyện, như ONNX, TensorRT, CoreML hoặc OpenVINO. Trong các pipeline truyền thống, quy trình này thường bị lỗi vì Non-Maximum Suppression không phải là một phần của chính model.
Bằng cách loại bỏ NMS, Ultralytics YOLO26 hoàn toàn tránh được vấn đề này. Model được xuất đã bao gồm mọi thứ cần thiết để tạo ra các detection cuối cùng.
Điều này làm cho model xuất ra hoàn toàn tự chứa và di động hơn trên các framework inference và mục tiêu phần cứng. Cùng một model hoạt động nhất quán dù được triển khai trên máy chủ, hệ thống chỉ chạy CPU, thiết bị nhúng hay bộ tăng tốc biên. Việc triển khai trở nên đơn giản hơn vì những gì bạn xuất ra chính xác là những gì bạn chạy.
Sự đơn giản này đặc biệt quan trọng đối với các ứng dụng biên. Ví dụ, YOLO26 có thể dễ dàng được triển khai trên các thiết bị như drones cho các trường hợp sử dụng như giám sát cây trồng, kiểm tra đồng ruộng và phân tích sức khỏe thực vật, nơi ngân sách điện năng và tính toán hạn chế làm cho các pipeline hậu xử lý phức tạp trở nên không khả thi. Do mô hình xuất ra các kết quả phát hiện cuối cùng trực tiếp, nó chạy đáng tin cậy trên phần cứng nhẹ mà không cần các bước xử lý bổ sung.

Hình 4. Ultralytics YOLO26 dễ dàng triển khai trên các thiết bị biên như drone.
Tóm lại, inference không có NMS giúp loại bỏ sự phức tạp trong quá trình export và deployment, đồng thời mang lại các hệ thống thị giác máy tính sạch sẽ và đáng tin cậy hơn. NMS từng là một giải pháp tạm thời. Ultralytics YOLO26 không còn cần các giải pháp tạm thời đó nữa.
Các điểm chính cần lưu ý#
Ultralytics YOLO26 loại bỏ Non-Maximum Suppression bằng cách giải quyết vấn đề cơ bản về các phát hiện trùng lặp, thay vì dọn dẹp chúng sau đó. Thiết kế end-to-end của nó cho phép model trực tiếp tạo ra các phát hiện cuối cùng, giúp việc export và deployment trở nên đơn giản hơn và đồng nhất hơn trên các phần cứng khác nhau. NMS từng là một giải pháp tạm thời hữu ích cho các hệ thống trước đó, nhưng YOLO26 không còn cần đến nó nữa.
Hãy tham gia cộng đồng của chúng tôi và xem kho lưu trữ GitHub của chúng tôi để tìm hiểu thêm về AI. Khám phá các trang giải pháp của chúng tôi về AI trong nông nghiệp và thị giác máy tính trong bán lẻ. Khám phá các tùy chọn cấp phép của chúng tôi và bắt đầu với AI thị giác ngay hôm nay!






