Detection Head
Aprende como uma cabeça de deteção permite a deteção de objetos em tempo real. Explora o seu papel no Ultralytics YOLO26 para prever caixas delimitadoras e etiquetas com elevada precisão.
Uma cabeça de deteção atua como a camada final de tomada de decisões na arquitetura de uma rede neural de deteção de objetos. Enquanto as camadas anteriores do modelo são responsáveis por compreender as formas, texturas e características presentes numa imagem, a cabeça de deteção é o componente específico que interpreta estas informações para prever exatamente que objetos estão presentes e onde se encontram. Transforma os dados abstratos e de alto nível produzidos pelo extrator de características em resultados acionáveis, geralmente produzindo um conjunto de caixas delimitadoras que envolvem os objetos identificados, juntamente com os respetivos rótulos de classe e pontuações de confiança.
Distinção entre a cabeça, o backbone e o neck#
Para compreender plenamente a função de uma cabeça de deteção, é útil visualizar os detetores modernos como sendo compostos por três fases principais, cada uma com uma finalidade distinta no pipeline de visão computacional (CV):
- Backbone: Esta é a parte inicial da rede, frequentemente uma Rede Neural Convolucional (CNN), como ResNet ou CSPNet. Processa a imagem de entrada bruta para criar mapas de características que representam padrões visuais.
- Neck: Situado entre o backbone e a cabeça, o neck aperfeiçoa e combina características de diferentes escalas. Arquiteturas como a Rede de Pirâmide de Características (FPN) garantem que o modelo consegue detetar objetos de vários tamanhos através da agregação de contexto.
- Cabeça: O componente final que recebe as características aperfeiçoadas do neck. Executa a tarefa propriamente dita de classificação (o que é?) e regressão (onde está?).
Evolução: baseada em âncoras vs. sem âncoras#
O design das cabeças de deteção evoluiu significativamente para melhorar a velocidade e a precisão, especialmente com a transição dos métodos tradicionais para os modelos modernos de inferência em tempo real.
- Cabeças baseadas em âncoras: Os tradicionais detetores de objetos de uma só fase dependiam de caixas de âncora predefinidas — formas de referência fixas de vários tamanhos. A cabeça previa o quanto estas âncoras deviam ser esticadas ou deslocadas para se ajustarem ao objeto. Esta abordagem é detalhada na investigação fundamental sobre o Faster R-CNN.
- Cabeças sem âncoras: Os modelos de última geração, incluindo o mais recente YOLO26, utilizam detetores sem âncoras. Estas cabeças preveem diretamente os centros e as dimensões dos objetos a partir dos píxeis nos mapas de características, eliminando a necessidade de ajustar manualmente as âncoras. Isto simplifica a arquitetura e melhora a capacidade do modelo de generalizar para formas de objetos novas, uma técnica frequentemente associada à Deteção de Objetos em Um Estágio Totalmente Convolucional (FCOS).
Aplicações no mundo real#
A precisão da cabeça de deteção é fundamental para implementar inteligência artificial (AI) em ambientes industriais e críticos para a segurança. Os utilizadores podem anotar dados facilmente e treinar estas cabeças especializadas utilizando a Ultralytics Platform.
- Condução autónoma: Em AI para o setor automóvel, a cabeça de deteção é responsável por distinguir entre peões, semáforos e outros veículos em tempo real. Uma cabeça altamente otimizada garante que a latência de inferência permanece suficientemente baixa para que o veículo reaja instantaneamente.
- Diagnóstico médico: Na análise de imagens médicas, as cabeças de deteção são ajustadas para localizar anomalias, como tumores, em exames de MRI. O ramo de regressão tem de ser extremamente preciso para delimitar as fronteiras exatas de uma lesão, ajudando os médicos em soluções de saúde.
Exemplo de Código#
O exemplo seguinte demonstra como carregar um modelo YOLO26 e inspecionar a saída da sua cabeça de deteção. Quando a inferência é executada, a cabeça processa a imagem e devolve o boxes final, que contém 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()}")Esta interação demonstra como a cabeça de deteção traduz ativações complexas da rede neural em dados legíveis que os programadores podem utilizar em tarefas posteriores, como o rastreio de objetos ou a contagem.









