Ultralytics YOLO27:
Quay lại bảng thuật ngữ Ultralytics

Non-Maximum Suppression (NMS)

Tìm hiểu cách Non-Maximum Suppression (NMS) loại bỏ các bounding box trùng lặp trong object detection. Khám phá cách Ultralytics YOLO26 cung cấp NMS end-to-end native.

Triệt tiêu không cực đại (NMS) là một kỹ thuật hậu xử lý được sử dụng trong phát hiện đối tượng để tinh chỉnh các dự đoán thô do model tạo ra. Khi một model phát hiện đối tượng phân tích một hình ảnh, model thường tạo ra nhiều bounding box chồng lấn cho cùng một đối tượng, mỗi box đi kèm một điểm độ tin cậy. Các dự đoán dư thừa này xuất hiện vì 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 gọn, chính xác và không bị trùng lặp.

Cách Triệt tiêu không cực đại hoạt động#

Thuật toán NMS hoạt động trên một danh sách các bounding box ứng viên và điểm độ tin cậy tương ứng của chúng. Mục tiêu là chọn box tốt nhất cho một đối tượng và triệt tiêu (loại bỏ) mọi box khác chồng lấn đáng kể với box đó, vì những box này nhiều 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 gồm các bước sau:

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

  2. Sắp xếp: Sắp xếp các box còn lại theo thứ tự giảm dần dựa trên điểm độ tin cậy.

  3. Chọn: Chọn box có điểm độ tin cậy cao nhất làm một phát hiện hợp lệ.

  4. So sánh: So sánh box đã chọn này với tất cả các box còn lại bằng tỷ lệ giao trên hợp (IoU), một metric đo mức độ chồng lấn giữa hai box.

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

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

Các ứng dụng trong thực tế#

NMS là yếu tố thiết yếu trong các tình huống yêu cầu độ chính xác cao 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 downstream.

  • Lái xe tự hành: 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 cùng một người đi bộ. NMS đảm bảo hệ thống lập kế hoạch của xe chỉ nhận một tọa độ cho người đi bộ đó, ngăn việc phanh hoặc lập kế hoạch lộ trình thất thường do các chướng ngại vật "ma" gây ra.
  • Quản lý hàng tồn kho bán lẻ: Khi sử dụng thị giác máy tính để đế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 nước ngọt có thể bị đếm hai lần do các dự đoán chồng lấn, dẫn đến số liệu 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 khớp với thực tế.

Triể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 giúp điều chỉnh các tham số. Ví dụ sau minh họa cách áp dụng NMS bằng thư viện PyTorch:

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.

NMS so với Phát hiện đầu-cuối#

Theo cách truyền thống, NMS là một bước "dọn dẹp" bắt buộc nằm bên ngoài neural network chính, làm tăng độ trễ suy luận. Tuy nhiên, lĩnh vực này đang chuyển dịch sang các kiến trúc đầu-cuối.

  • NMS tiêu chuẩn: Một quy trình heuristic yêu cầu đ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ệ ở gần nhau có thể bị bỏ sót ( recall thấp). Nếu quá cao, các bản sao vẫn còn ( precision thấp).
  • Model đầu-cuối: Các model thế hệ tiếp theo như YOLO26 được thiết kế để đầu-cuối nguyên bả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, qua đó tích hợp quy trình NMS vào bên trong. Điều này loại bỏ nhu cầu hậu xử lý bên ngoài, mang lại tốc độ suy luận nhanh hơn và pipeline triển khai đơn giản hơn trên Ultralytics Platform.

Các khái niệm liên quan#

  • Soft-NMS: Một biến thể trong đó các box chồng lấn không bị loại bỏ hoàn toàn mà điểm độ tin cậy của chúng bị giảm xuống. Điều này cho phép các đối tượng chồng lấn phần nào (như những người trong một đám đông) vẫn được phát hiện nếu điểm của chúng vẫn đủ cao sau khi suy giảm.
  • Anchor Box: 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ừ những anchor này.
  • Tỷ lệ giao trên hợp (IoU): Công thức toán học được NMS sử dụng để xác định mức độ chồng lấn của hai box, đóng vai trò là ngưỡng quyết định cho việc triệt tiêu.

Explore solutions

Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồ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
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồ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
Thị giác máy tính cho hình ảnh trên không

Thị giác máy tính cho hình ảnh trên không

Biến đổi hình ảnh từ máyδ bay không người lái và ảnh chụp trên không thành thông tin chi tiết thời gian thực cho nông nghiệp, nuôi trồng thủy sản, giám sát môi trường, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Mang thị giác AI đến với hoạt động giám sát trên không bằng các model Ultralytics YOLO. Cung cấp sức mạnh cho máy bay không người lái, quy trình hàng không vũ trụ, bảo tồn môi trường & ngành công nghiệp địa không gian với các giải pháp thị giác máy tính.
Tìm hiểu thêm

Bảo vệ mọi địa điểm bằng các model Ultralytics YOLO. Thị giác AI cung cấp sức mạnh cho việc giám sát chu vi, phát hiện mối đe dọa, nhận diện biển số xe và an toàn nơi làm việc.
Tìm hiểu thêm
Thị giác máy tính trong robotics

Thị giác máy tính trong robotics

Nâng cao năng lực cho máy móc thông minh hơn với các model Ultralytics YOLO. Vision AI trong robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh gọn logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại ngành bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ tracking hàng tồn kho, giám sát kệ hàng, quản lý hàng đợi và cung cấp insight khách hàng thông minh hơn.
Tìm hiểu thêm
Computer vision trong healthcare

Computer vision trong healthcare

Xây dựng các giải pháp healthcare với các model Ultralytics YOLO. Vision AI trong healthcare thúc đẩy chẩn đoán hình ảnh nhanh hơn, chẩn đoán thông minh hơn và giám sát bệnh nhân.
Tìm hiểu thêm
Computer vision trong sản xuất

Computer vision 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
Computer vision trong ngành ô tô

Computer vision trong ngành ô tô

Ứng dụng computer vision trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn đường bộ, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Computer vision trong nông nghiệp

Computer vision trong nông nghiệp

Đưa vision AI vào nông nghiệp thông minh với các model Ultralytics YOLO. Thúc đẩy giám sát cây trồ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 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