Detection Head
Aprende como uma cabeça de deteção (detection head) permite a deteção de objetos em tempo real. Explora o seu papel no Ultralytics YOLO26 para prever caixas delimitadoras e etiquetas com alta precisão.
Uma cabeça de detecção atua como a camada final de tomada de decisão em uma arquitetura de rede neural de detecção de objetos. Enquanto as camadas anteriores do modelo são responsáveis por entender as formas, texturas e características dentro de uma imagem, a cabeça de detecção é o componente específico que interpreta essas informações para prever exatamente quais objetos estão presentes e onde estão localizados. Ela transforma os dados abstratos e de alto nível produzidos pelo extrator de características em resultados acionáveis, tipicamente gerando um conjunto de bounding boxes que envolvem os objetos identificados, juntamente com seus respectivos rótulos de classe e pontuações de confiança.
Distinguindo a Cabeça do Backbone e do Neck#
Para compreender totalmente a função de uma cabeça de detecção, é útil visualizar os detectores modernos como compostos por três estágios principais, cada um servindo a um propósito distinto no pipeline de computer vision (CV):
- Backbone: Esta é a parte inicial da rede, frequentemente uma Convolutional Neural Network (CNN) como ResNet ou CSPNet. Ela processa a imagem de entrada bruta para criar feature maps que representam padrões visuais.
- Neck: Posicionado entre o backbone e a cabeça, o neck refina e combina características de diferentes escalas. Arquiteturas como a Feature Pyramid Network (FPN) garantem que o modelo possa detectar objetos de tamanhos variados ao agregar contexto.
- Head: O componente final que consome as características refinadas do neck. Ele realiza a tarefa propriamente dita de classificação (o que é?) e regressão (onde está?).
Evolução: Baseada em Âncoras vs. Livre de Âncoras#
O design das cabeças de detecção evoluiu significativamente para melhorar a velocidade e a precisão, particularmente com a transição de métodos tradicionais para modelos modernos de real-time inference.
- Anchor-Based Heads: One-stage object detectors tradicionais dependiam de anchor boxes pré-definidas — formas de referência fixas de vários tamanhos. A cabeça previa o quanto esticar ou deslocar essas âncoras para se ajustarem ao objeto. Essa abordagem é detalhada em pesquisas fundamentais sobre o Faster R-CNN.
- Anchor-Free Heads: Modelos de última geração, incluindo o mais recente YOLO26, utilizam anchor-free detectors. Essas cabeças preveem os centros e dimensões dos objetos diretamente a partir dos pixels nos feature maps, eliminando a necessidade de ajuste manual de âncoras. Isso simplifica a arquitetura e aumenta a capacidade do modelo de generalizar para formas de objetos inéditas, uma técnica frequentemente associada ao Fully Convolutional One-Stage Object Detection (FCOS).
Aplicações no Mundo Real#
A precisão da cabeça de detecção é crítica para implantar artificial intelligence (AI) em ambientes críticos para a segurança e industriais. Os usuários podem anotar facilmente dados e treinar essas cabeças especializadas usando a Ultralytics Platform.
- Condução Autônoma: Em AI for automotive, a cabeça de detecção é responsável por distinguir entre pedestres, semáforos e outros veículos em tempo real. Uma cabeça altamente otimizada garante que a inference latency permaneça baixa o suficiente para o veículo reagir instantaneamente.
- Diagnósticos Médicos: Em medical image analysis, as cabeças de detecção são ajustadas com precisão para localizar anomalias, como tumores em exames de ressonância magnética. O ramo de regressão deve ser extremamente preciso para delinear os limites exatos de uma lesão, auxiliando os médicos em healthcare solutions.
Exemplo de Código#
O exemplo a seguir demonstra como carregar um modelo YOLO26 e inspecionar a saída de sua cabeça de detecção. Quando a inferência é executada, a cabeça processa a imagem e retorna o boxes final contendo coordenadas e IDs de classe.
from ultralytics import YOLO
# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")
# Run inference on an image to utilize the detection head
results = model("https://ultralytics.com/images/bus.jpg")
# The detection head outputs are stored in results[0].boxes
for box in results[0].boxes:
# Print the bounding box coordinates and the predicted class
print(f"Class: {int(box.cls)}, Coordinates: {box.xywh.numpy()}")Essa interação destaca como a cabeça de detecção traduz ativações complexas de redes neurais em dados legíveis que os desenvolvedores podem usar para tarefas a jusante, como object tracking ou contagem.






