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

Feature Maps

Um mapa de recursos é a grade de respostas que um filtro produz sobre uma imagem, mostrando onde seu padrão aparece. Abrange cálculo, formatos e visualização.

Um mapa de características é a saída de um filtro em uma camada de uma rede neural convolucional (CNN): uma grade 2D de números que registra a intensidade com que o padrão do filtro aparece em cada posição da entrada. Uma camada convolucional com 64 filtros produz 64 mapas de características, empilhados em um tensor com formato canais × altura × largura; esse tensor se torna a entrada da camada seguinte. Os mapas de características das camadas iniciais destacam bordas, cores e texturas, enquanto os das camadas mais profundas respondem a partes de objetos e a objetos inteiros. Mapa de ativação é um sinônimo, e o tensor completo empilhado de uma camada também costuma ser chamado de mapa de características.

Como um mapa de características é calculado#

Um filtro, também chamado de kernel, é uma pequena grade de pesos do modelo aprendidos, normalmente de 3×3 para cada canal de entrada. A convolução desliza esse filtro pela entrada e, em cada posição, multiplica elemento a elemento os valores sobrepostos e soma-os, adicionando também um viés, para obter um número de saída. Valores de saída altos indicam posições em que a entrada corresponde ao padrão do filtro. A altura e a largura da saída dependem do tamanho da entrada, do tamanho do kernel k, do preenchimento p e do passo s, de acordo com floor((input + 2p - k) / s) + 1; assim, um kernel 3×3 com preenchimento 1 mantém o tamanho no passo 1 e o reduz pela metade no passo 2.

O trecho abaixo aplica um kernel de borda vertical a uma imagem pequena, escura à esquerda e clara à direita.

import torch
import torch.nn.functional as F

# Uma imagem em tons de cinza de 8x8: metade esquerda escura, metade direita clara, formando uma borda vertical
image = torch.zeros(1, 1, 8, 8)
image[..., 4:] = 1.0

# Um kernel Sobel 3x3 que responde a bordas verticais
kernel = torch.tensor([[-1.0, 0.0, 1.0], [-2.0, 0.0, 2.0], [-1.0, 0.0, 1.0]]).view(1, 1, 3, 3)

# Desliza o kernel pela imagem para produzir um mapa de características
feature_map = F.conv2d(image, kernel)

print(feature_map.shape)
print(feature_map[0, 0, 0])

Ele imprime torch.Size([1, 1, 6, 6]) e tensor([0., 0., 4., 4., 0., 0.]). Sem preenchimento, a imagem 8×8 produz um mapa 6×6 (8 − 3 + 1 = 6), e o mapa é diferente de zero apenas nas duas colunas em que o kernel atravessa a borda. As CNNs treinadas aprendem muitos filtros na primeira camada que se comportam como este kernel Sobel, além de filtros ajustados a cores e texturas.

Mapas de características ao longo de uma rede#

À medida que os dados avançam por uma CNN, os mapas de características geralmente diminuem em altura e largura e aumentam em número de canais. Cada etapa de redução da amostragem divide a resolução pela metade, e cada posição em um mapa mais profundo resume um campo receptivo maior da imagem original. Os detectores mantêm mapas de várias profundidades porque essa troca funciona nos dois sentidos: um mapa com passo 8 de uma imagem de 640×640 é uma grade de 80×80, detalhada o suficiente para localizar objetos pequenos, enquanto um mapa com passo 32 é uma grade de 20×20 cujas células veem uma parte suficientemente grande da imagem para reconhecer objetos grandes. Uma rede de pirâmide de características (FPN) combina mapas dessas profundidades para que cada escala tenha localização precisa e significado de alto nível; o backbone que os produz é a principal etapa de extração de características de um modelo.

  • Filtro: O filtro contém os pesos aprendidos, e o mapa de características é o resultado da aplicação desses pesos a uma entrada. Um filtro produz um mapa de características por imagem.
  • Função de ativação: Uma função como ReLU, aplicada elemento a elemento a um mapa de características após a convolução. O mapa existe tanto antes quanto depois da aplicação, como valores pré-ativação e pós-ativação.
  • Embeddings: Um embedding costuma ser um vetor 1D criado por agrupamento ou achatamento de um mapa de características, que preserva o conteúdo da imagem e descarta a localização. Os embeddings são usados em buscas por similaridade e agrupamentos, enquanto os mapas de características espaciais alimentam tarefas que precisam de localização, como a segmentação semântica.
  • Mapas de saliência: Um mapa de saliência é um único mapa de calor que explica uma previsão, muitas vezes calculado a partir de mapas de características e dos respetivos gradientes.

Inspecionar e visualizar mapas de características#

Representar canais individuais como imagens em escala de cinzentos mostra a que cada filtro responde. Os mapas da primeira camada parecem cópias da fotografia filtradas para detetar arestas, enquanto os mapas das camadas profundas são manchas grosseiras sobre as partes dos objetos. Em PyTorch, um hook forward registado com register_forward_hook captura os mapas de características de qualquer camada durante a inferência. As camadas profundas têm centenas de canais, por isso as ferramentas de IA explicável costumam condensá-los num único mapa de calor. O Grad-CAM pondera cada canal de um mapa de características tardio pelo gradiente médio de uma pontuação de classe e soma os canais, destacando as regiões da imagem que levaram a uma previsão. No modelo nano YOLO26, uma imagem de 640×640 chega à cabeça de deteção como três mapas de características de 64×80×80, 128×40×40 e 256×20×20, e fazer previsões com visualize=True guarda uma sobreposição LayerCAM _cam.jpg que pondera cada posição desses mapas pelo seu gradiente positivo em relação a cada classe prevista.

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