Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Anchor-Based Detectors

Os detetores baseados em âncoras preveem objetos como deslocamentos em relação a caixas-âncora predefinidas, como em Faster R-CNN, SSD, RetinaNet e YOLOv5. Como funcionam e como se comparam.

Os detetores baseados em âncoras são modelos de deteção de objetos que distribuem caixas-âncora predefinidas por uma imagem e preveem, para cada âncora, pontuações de classe e os desvios que a transformam numa caixa delimitadora ajustada. Esta família inclui modelos de duas etapas, como Faster R-CNN, cuja rede de propostas de regiões atribui pontuações às âncoras para produzir regiões candidatas, e modelos de uma etapa, como SSD, RetinaNet e YOLOv2 a YOLOv5, que classificam e ajustam diretamente cada âncora. As âncoras foram a abordagem padrão para localizar objetos desde o Faster R-CNN, em 2015, até os detetores sem âncoras, como o FCOS, igualarem a sua precisão em 2019.

Como funciona a deteção baseada em âncoras#

Um backbone e um neck transformam a imagem em mapas de características, e um conjunto fixo de âncoras, com vários tamanhos e proporções, é colocado em cada célula de cada mapa. Para cada âncora, a cabeça de deteção prevê uma pontuação por classe, além de uma pontuação de objetualidade no YOLOv2 a YOLOv5, e quatro valores de regressão. A codificação amplamente utilizada do Faster R-CNN desloca o centro da âncora por frações da sua largura e altura e escala exponencialmente a sua largura e altura:

import torch

# One anchor as (center x, center y, width, height) in pixels
anchor = torch.tensor([320.0, 240.0, 64.0, 128.0])

# Offsets (tx, ty, tw, th) that the regression branch predicts for this anchor
tx, ty, tw, th = torch.tensor([0.25, -0.10, 0.20, -0.05])

# Faster R-CNN decoding: shift the center in units of anchor size, scale width and height exponentially
cx = anchor[0] + tx * anchor[2]
cy = anchor[1] + ty * anchor[3]
w = anchor[2] * torch.exp(tw)
h = anchor[3] * torch.exp(th)
print(f"anchor 64x128 at (320, 240) -> box {w:.1f}x{h:.1f} at ({cx:.1f}, {cy:.1f})")

A âncora passa a ser uma caixa de 78.2 × 121.8 pixels centralizada em (336.0, 227.2): ela se deslocou 16 pixels para a direita e 12.8 pixels para cima, ficou 22% mais larga (exp(0.2)) e 5% mais baixa (exp(−0.05)). Como os deslocamentos são relativos ao tamanho da âncora, os mesmos valores previstos funcionam para âncoras pequenas e grandes.

Durante a inferência, o detetor descodifica todas as âncoras desta forma, descarta as caixas abaixo de um limiar de confiança e aplica a supressão não máxima (NMS) para remover as duplicadas de âncoras vizinhas.

Treino: atribuir rótulos a cada âncora#

Durante o treino, cada âncora recebe um rótulo com base na sua interseção sobre união (IoU) com as caixas anotadas. O RetinaNet utiliza estes limiares:

A rede de propostas de regiões do Faster R-CNN utiliza valores mais rigorosos: 0,7 e 0,3. As 9 âncoras por localização do RetinaNet, distribuídas por cinco níveis piramidais, totalizam cerca de 100 000 âncoras por imagem, quase todas negativas; a sua focal loss reduz o peso desses exemplos negativos fáceis para que não dominem o treino.

Principais arquiteturas baseadas em âncoras#

  • Detetores de duas etapas: A rede de propostas de regiões do Faster R-CNN atribui às âncoras uma pontuação de objeto ou fundo e ajusta-as para gerar cerca de 300 propostas por imagem; uma segunda cabeça classifica e ajusta cada proposta. Com um backbone VGG-16, executava a 5 FPS numa GPU; o Mask R-CNN acrescenta um ramo de máscaras ao mesmo desenho.
  • Detetores de objetos de uma etapa: SSD, RetinaNet e os modelos YOLO do YOLOv2 ao YOLOv5 classificam e ajustam todas as âncoras numa só passagem. O YOLOv2 substituiu as âncoras escolhidas manualmente por agrupamentos k-means das larguras e alturas das caixas de treino.

O YOLOv5 da Ultralytics é baseado em âncoras, com 3 âncoras em cada um dos seus três níveis de saída, e associa os rótulos às âncoras com base na forma: uma âncora é candidata quando a largura e a altura de um rótulo são ambas inferiores a 4× as da âncora. As variantes YOLOv5u do pacote Ultralytics substituem essa cabeça pela cabeça dividida sem âncoras introduzida no YOLOv8, um desenho que o YOLO26 mantém.

Detetores baseados em âncoras vs. sem âncoras#

Os detetores sem âncoras preveem uma caixa a partir de cada ponto da grelha — como distâncias às quatro extremidades — ou a partir de pontos-chave, como os centros dos objetos. Assim, não têm tamanhos de âncora, proporções ou limiares de IoU para ajustar e produzem um candidato por localização, em vez de um por forma de âncora. O ATSS concluiu que a diferença de precisão entre o RetinaNet e o FCOS sem âncoras resultava da forma como cada um selecionava as amostras positivas de treino: com a mesma regra de seleção, ambos alcançavam a mesma precisão, e o RetinaNet obteve 39,2 AP no COCO minival com 9 âncoras por localização e 39,3 AP com 1.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

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

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automaçã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 à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina