Ultralytics YOLO27:
Voltar ao Glossário da Ultralytics

Non-Maximum Suppression (NMS)

Saiba como a Supressão Não Máxima (NMS) elimina caixas delimitadoras duplicadas na deteção de objetos. Descubra como o Ultralytics YOLO26 fornece NMS nativa de ponta a ponta.

A supressão de não máximos (NMS) é uma técnica de pós-processamento usada na deteção de objetos para refinar as previsões brutas feitas por um modelo. Quando um modelo de deteção de objetos analisa uma imagem, geralmente gera várias caixas delimitadoras sobrepostas para um único objeto, cada uma com uma pontuação de confiança associada. Estas previsões redundantes ocorrem porque o modelo pode detetar a mesma característica em escalas ou posições ligeiramente diferentes. A NMS filtra este resultado mantendo apenas a caixa delimitadora mais precisa para cada objeto e descartando as restantes, garantindo que o resultado final seja limpo, preciso e sem duplicados.

Como funciona a supressão de não máximos#

O algoritmo NMS opera sobre uma lista de caixas delimitadoras candidatas e as respetivas pontuações de confiança. O objetivo é selecionar a melhor caixa para um objeto e suprimir (remover) quaisquer outras caixas que se sobreponham significativamente a ela, pois é provável que sejam deteções duplicadas do mesmo objeto. O processo geralmente segue estas etapas:

  1. Filtragem: Eliminar todas as caixas delimitadoras com pontuações de confiança abaixo de um limiar específico (por exemplo, 0.25) para remover imediatamente as previsões fracas.

  2. Ordenação: Ordenar as caixas restantes por ordem decrescente com base nas respetivas pontuações de confiança.

  3. Seleção: Selecionar a caixa com a pontuação de confiança mais elevada como uma deteção válida.

  4. Comparação: Comparar esta caixa selecionada com todas as outras caixas restantes usando a Interseção sobre União (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 menor pontuação é considerada uma duplicada e removida.

  6. Iteração: Repetir o processo com a caixa seguinte com maior pontuação que ainda não tenha sido suprimida ou selecionada, até que todas as caixas sejam processadas.

Aplicações no mundo real#

A NMS é essencial em cenários onde a precisão é fundamental e as deteções duplicadas podem confundir os sistemas subsequentes.

  • Condução autónoma: Em sistemas de veículos autónomos, as câmaras detetam peões, outros veículos e sinais de trânsito. Um modelo pode prever três caixas ligeiramente diferentes para um único peão. A NMS garante que o sistema de planeamento do veículo receba apenas uma coordenada para esse peão, evitando travagens erráticas ou erros de planeamento de trajetórias causados por obstáculos «fantasma».
  • Gestão de inventário no retalho: Ao utilizar visão computacional para contar produtos numa prateleira, os artigos estão frequentemente muito próximos uns dos outros. Sem NMS, uma única lata de refrigerante pode ser contada duas vezes devido a previsões sobrepostas, resultando em níveis de stock imprecisos. A NMS refina estas deteções para garantir que a contagem do inventário corresponde à realidade.

Implementação de NMS com PyTorch#

Embora muitas frameworks modernas tratem da NMS internamente, compreender a implementação ajuda a ajustar os parâmetros. O exemplo seguinte demonstra como aplicar NMS usando a biblioteca 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 vs. deteção de ponta a ponta#

Tradicionalmente, a NMS tem sido uma etapa obrigatória de «limpeza» que ocorre fora da rede neural principal, adicionando latência de inferência. No entanto, o campo está a evoluir no sentido de arquiteturas de ponta a ponta.

  • NMS padrão: Um processo heurístico que requer o ajuste manual do limiar de IoU. Se o limiar for demasiado baixo, objetos válidos próximos uns dos outros podem não ser detetados (revocação baixa). Se for demasiado alto, permanecem duplicados (precisão baixa).
  • Modelos de ponta a ponta: Modelos de próxima geração como o YOLO26 foram concebidos para serem nativamente de ponta a ponta. Aprendem a prever exatamente uma caixa por objeto durante o treino, internalizando efetivamente o processo NMS. Isto elimina a necessidade de pós-processamento externo, resultando em velocidades de inferência mais elevadas e pipelines de implementação mais simples na Plataforma Ultralytics.

Conceitos relacionados#

  • Soft-NMS: Uma variante na qual as caixas sobrepostas não são removidas de forma rígida, mas têm as suas pontuações de confiança reduzidas. Isto permite que objetos parcialmente sobrepostos (como pessoas numa multidão) continuem a ser detetados se as suas pontuações permanecerem suficientemente elevadas após a redução.
  • Caixas âncora: Formas de caixas predefinidas utilizadas por muitos detetores para estimar o tamanho dos objetos. A NMS é aplicada às previsões finais refinadas a partir destas âncoras.
  • Interseção sobre União (IoU): A fórmula matemática utilizada pela NMS para determinar o grau de sobreposição entre duas caixas, funcionando como o limiar de decisão para a supressão.

Explore solutions

Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

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