Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Voltar para o Glossário da Ultralytics

Non-Maximum Suppression (NMS)

Aprende como a Supressão de Não-Máximos (NMS) elimina caixas delimitadoras duplicadas na deteção de objetos. Descobre como o Ultralytics YOLO26 fornece NMS nativo de ponta a ponta.

Non-Maximum Suppression (NMS) é uma técnica de pós-processamento usada na object detection para refinar as previsões brutas feitas por um modelo. Quando um modelo de detecção de objetos analisa uma imagem, ele frequentemente gera múltiplas bounding boxes sobrepostas para um único objeto, cada uma com uma confidence score associada. Essas previsões redundantes ocorrem porque o modelo pode detectar a mesma característica em escalas ou posições ligeiramente diferentes. O NMS filtra esse resultado mantendo apenas a bounding box mais precisa para cada objeto e descartando as outras, garantindo que o resultado final seja limpo, preciso e livre de duplicatas.

Link to this sectionComo funciona o Non-Maximum Suppression#

O algoritmo NMS opera sobre uma lista de bounding boxes candidatas e suas respectivas confidence scores. O objetivo é selecionar a melhor caixa para um objeto e suprimir (remover) quaisquer outras caixas que se sobreponham significativamente a ela, pois provavelmente são detecções duplicadas do mesmo objeto. O processo geralmente segue estes passos:

  1. Filtragem: Elimina todas as bounding boxes com confidence scores abaixo de um limiar específico (por exemplo, 0,25) para remover previsões fracas imediatamente.

  2. Ordenação: Ordena as caixas restantes em ordem decrescente com base nas suas confidence scores.

  3. Seleção: Escolhe a caixa com a maior confidence score como uma detecção válida.

  4. Comparação: Compara esta caixa selecionada com todas as outras caixas restantes usando Intersection over Union (IoU), uma métrica que mede a sobreposição entre duas caixas.

  5. Supressão: Se a IoU entre a caixa selecionada e outra caixa exceder um limiar predefinido (por exemplo, 0,45), a caixa com pontuação mais baixa é considerada uma duplicata e é removida.

  6. Iteração: Repete o processo com a próxima caixa de maior pontuação que ainda não foi suprimida ou selecionada, até que todas as caixas sejam processadas.

Link to this sectionAplicações no Mundo Real#

O NMS é essencial em cenários onde a precisão é fundamental e detecções duplicadas podem confundir sistemas subsequentes.

  • Direção Autônoma: Em sistemas de carros autônomos, câmeras detectam pedestres, outros veículos e placas de trânsito. Um modelo pode prever três caixas ligeiramente diferentes para um único pedestre. O NMS garante que o sistema de planejamento do veículo receba apenas uma coordenada para aquele pedestre, evitando freadas erráticas ou erros de planejamento de trajetória causados por obstáculos "fantasma".
  • Gestão de Estoque no Varejo: Ao usar computer vision para contar produtos em uma prateleira, os itens são frequentemente agrupados de forma próxima. Sem o NMS, uma única lata de refrigerante poderia ser contada duas vezes devido a previsões sobrepostas, levando a níveis de estoque imprecisos. O NMS refina essas detecções para garantir que a contagem de estoque corresponda à realidade.

Link to this sectionImplementação de NMS com PyTorch#

Embora muitos frameworks modernos lidem com o NMS internamente, entender a implementação ajuda no ajuste de parâmetros. O exemplo a seguir demonstra como aplicar o NMS usando a 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 vs. Detecção End-to-End#

Tradicionalmente, o NMS tem sido um passo de "limpeza" obrigatório que fica fora da rede neural principal, aumentando a inference latency. No entanto, o campo está evoluindo para arquiteturas end-to-end.

  • NMS Padrão: Um processo heurístico que requer ajuste manual do limiar de IoU. Se o limiar for muito baixo, objetos válidos próximos uns dos outros podem ser perdidos (baixo recall). Se for muito alto, duplicatas permanecem (baixa precision).
  • Modelos End-to-End: Modelos de próxima geração como o YOLO26 são projetados para serem nativamente end-to-end. Eles aprendem a prever exatamente uma caixa por objeto durante o treinamento, internalizando efetivamente o processo de NMS. Isso elimina a necessidade de pós-processamento externo, resultando em velocidades de inferência mais rápidas e pipelines de implantação mais simples na Ultralytics Platform.

Link to this sectionConceitos Relacionados#

  • Soft-NMS: Uma variação onde as caixas sobrepostas não são estritamente removidas, mas têm suas confidence scores reduzidas. Isso permite que objetos que se sobrepõem um pouco (como pessoas em uma multidão) ainda sejam detectados se suas pontuações permanecerem altas o suficiente após a redução.
  • Anchor Boxes: Formatos de caixa predefinidos usados por muitos detectores para estimar o tamanho do objeto. O NMS é aplicado às previsões finais refinadas a partir dessas âncoras.
  • Intersection over Union (IoU): A fórmula matemática usada pelo NMS para determinar quanto duas caixas se sobrepõem, atuando como o limiar de decisão para a supressão.

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática