Gặp gỡ YOLO26: AI tầm nhìn thế hệ tiếp theo.
Ultralytics
Quay lại Bảng thuật ngữ Ultralytics

Non-Maximum Suppression (NMS)

Tìm hiểu cách Triệt tiêu Cực đại Không (NMS) loại bỏ các BBox trùng lặp trong phát hiện đối tượng. Khám phá cách Ultralytics YOLO26 cung cấp NMS end-to-end tự nhiên.

Non-Maximum Suppression (NMS) là một kỹ thuật hậu xử lý được sử dụng trong nhận diện đối tượng để tinh chỉnh các dự đoán thô được tạo ra bởi model. Khi một model nhận diện đối tượng phân tích hình ảnh, nó thường tạo ra nhiều bounding box chồng lấp cho cùng một đối tượng, mỗi box đi kèm với một confidence score. Các dự đoán dư thừa này xảy ra do model có thể phát hiện cùng một đặc trưng ở các tỷ lệ hoặc vị trí hơi khác nhau. NMS lọc đầu ra này bằng cách chỉ giữ lại bounding box chính xác nhất cho mỗi đối tượng và loại bỏ các box còn lại, đảm bảo đầu ra cuối cùng sạch, chính xác và không bị trùng lặp.

Link to this sectionCách thức hoạt động của Non-Maximum Suppression#

Thuật toán NMS hoạt động trên danh sách các candidate bounding box và confidence score tương ứng của chúng. Mục tiêu là chọn ra box tốt nhất cho một đối tượng và triệt tiêu (loại bỏ) bất kỳ box nào khác chồng lấp đáng kể với nó, vì đây có khả năng là các phát hiện trùng lặp của cùng một đối tượng. Quy trình thường tuân theo các bước sau:

  1. Lọc (Filtering): Loại bỏ tất cả bounding box có confidence score thấp hơn một ngưỡng cụ thể (ví dụ: 0.25) để loại bỏ ngay lập tức các dự đoán yếu.

  2. Sắp xếp (Sorting): Sắp xếp các box còn lại theo thứ tự giảm dần dựa trên confidence score.

  3. Lựa chọn (Selection): Chọn box có confidence score cao nhất làm phát hiện hợp lệ.

  4. So sánh (Comparison): So sánh box đã chọn này với tất cả các box còn lại bằng cách sử dụng Intersection over Union (IoU), một chỉ số đo lường mức độ chồng lấp giữa hai box.

  5. Triệt tiêu (Suppression): Nếu IoU giữa box đã chọn và một box khác vượt quá ngưỡng định trước (ví dụ: 0.45), box có điểm số thấp hơn sẽ được coi là trùng lặp và bị loại bỏ.

  6. Lặp lại (Iteration): Lặp lại quy trình với box có điểm số cao nhất tiếp theo chưa bị triệt tiêu hoặc chưa được chọn, cho đến khi tất cả các box đã được xử lý.

Link to this sectionCác ứng dụng trong thực tế#

NMS là yếu tố cần thiết trong các trường hợp mà độ chính xác là ưu tiên hàng đầu và các phát hiện trùng lặp có thể gây nhầm lẫn cho các hệ thống hạ nguồn.

  • Xe tự lái: Trong các hệ thống xe tự lái, camera phát hiện người đi bộ, các phương tiện khác và biển báo giao thông. Một model có thể dự đoán ba box hơi khác nhau cho một người đi bộ duy nhất. NMS đảm bảo hệ thống lập kế hoạch của xe chỉ nhận được một tọa độ cho người đi bộ đó, ngăn ngừa việc phanh gấp hoặc lỗi lập kế hoạch đường đi do các chướng ngại vật "ma".
  • Quản lý hàng tồn kho bán lẻ: Khi sử dụng computer vision để đếm sản phẩm trên kệ, các mặt hàng thường được xếp rất sát nhau. Nếu không có NMS, một lon soda có thể bị đếm hai lần do các dự đoán chồng lấp, dẫn đến mức tồn kho không chính xác. NMS tinh chỉnh các phát hiện này để đảm bảo số lượng hàng tồn kho phản ánh đúng thực tế.

Link to this sectionTriển khai NMS với PyTorch#

Mặc dù nhiều framework hiện đại xử lý NMS nội bộ, việc hiểu cách triển khai sẽ giúp ích cho việc điều chỉnh các tham số. Ví dụ sau minh họa cách áp dụng NMS bằng cách sử dụng PyTorch library:

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

Link to this sectionNMS so với Phát hiện End-to-End#

Theo truyền thống, NMS là một bước "dọn dẹp" bắt buộc nằm ngoài mạng neural chính, làm tăng inference latency. Tuy nhiên, lĩnh vực này đang phát triển theo hướng các kiến trúc end-to-end.

  • NMS tiêu chuẩn: Một quy trình heuristic đòi hỏi việc điều chỉnh thủ công ngưỡng IoU. Nếu ngưỡng quá thấp, các đối tượng hợp lệ nằm gần nhau có thể bị bỏ sót (độ recall thấp). Nếu ngưỡng quá cao, các bản sao vẫn tồn tại (độ precision thấp).
  • Các model End-to-End: Các thế hệ model tiếp theo như YOLO26 được thiết kế để trở thành end-to-end một cách tự nhiên. Chúng học cách dự đoán chính xác một box cho mỗi đối tượng trong quá trình huấn luyện, nội hóa hiệu quả quy trình NMS. Điều này loại bỏ nhu cầu về hậu xử lý bên ngoài, dẫn đến tốc độ inference nhanh hơn và các pipeline triển khai đơn giản hơn trên Ultralytics Platform.

Link to this sectionCác khái niệm liên quan#

  • Soft-NMS: Một biến thể trong đó các box chồng lấp không bị loại bỏ hoàn toàn mà sẽ bị giảm confidence score. Điều này cho phép các đối tượng chồng lấp một phần (như mọi người trong đám đông) vẫn được phát hiện nếu điểm số của chúng vẫn đủ cao sau khi bị giảm.
  • Anchor Boxes: Các hình dạng box được xác định trước được nhiều detector sử dụng để ước tính kích thước đối tượng. NMS được áp dụng cho các dự đoán cuối cùng đã được tinh chỉnh từ các anchor này.
  • Intersection over Union (IoU): Công thức toán học được NMS sử dụng để xác định mức độ chồng lấp của hai box, đóng vai trò là ngưỡng quyết định cho việc triệt tiêu.

Explore solutions

Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa màng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa màng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Robot

Tăng cường sức mạnh cho các cỗ máy thông minh hơn với các model Ultralytics YOLO. AI thị giác trong lĩnh vực robot thúc đẩy khả năng điều hướng tự hành, nhận thức, theo dõi đối tượng và điều khiển thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong Logistics

Tối ưu hóa logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra hàng hóa, phân loại, theo dõi phương tiện và giám sát an toàn kho bãi trong thời gian thực.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong ngành Bán lẻ

Tái định hình bán lẻ với các model Ultralytics YOLO. Vision AI thúc đẩy theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và thông tin chi tiết thông minh hơn về khách hàng.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong chăm sóc sức khỏe

Xây dựng các giải pháp y tế với các model Ultralytics YOLO. AI thị giác trong y tế hỗ trợ chẩn đoán hình ảnh y khoa nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Real-time AI that works with your team

AI trong sản xuất

Tối ưu hóa sản xuất với các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Real-time AI that works with your operation

AI trong Ô tô

Áp dụng thị giác máy tính trong ô tô với các model Ultralytics YOLO. AI thị giác nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện cho những con đường thông minh hơn.
Tìm hiểu thêm
Real-time AI tailored to your operation

AI trong Nông nghiệp

Mang AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Tăng cường giám sát mùa màng, theo dõi vật nuôi và canh tác chính xác để đạt năng suất cao hơn, thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau xây dựng tương lai của AI!

Bắt đầu hành trình của bạn với tương lai của machine learning