YOLO Vision 2026:

Mapas de calor de rastreamento de objetos com o Ultralytics YOLO26#

Open Heatmaps In Colab

A Heatmap solution no Ultralytics YOLO26 rastreia objetos em quadros de vídeo e sobrepõe a intensidade de movimento acumulada deles em cada quadro, de modo que áreas movimentadas brilham em cores quentes, enquanto áreas tranquilas permanecem frias. Construída sobre o object tracking do YOLO26, ela transforma qualquer vídeo em um mapa de atividade espacial que revela fluxo de tráfego, movimento de multidões e zonas de permanência com uma única chamada Python ou comando CLI.



Watch: Heatmaps using Ultralytics YOLO26

Por que usar mapas de calor para análise de vídeo?#

  • Identifique padrões de atividade rapidamente: A intensidade se acumula onde os objetos rastreados passam tempo, portanto, faixas de alto tráfego, prateleiras populares ou gargalos de multidão se destacam sem a necessidade de revisão manual quadro a quadro.
  • Rastreamento integrado: A solução executa a detecção e o rastreamento do YOLO26 internamente, portanto, não há um pipeline de rastreamento separado para configurar.
  • Contagem na mesma passagem: Passe um region para contar objetos que entram e saem de uma zona enquanto o mapa de calor é construído, combinando duas tarefas de análise em uma única execução.

Aplicações no mundo real#

TransporteVarejo
Ultralytics YOLO heatmap overlay showing vehicle traffic densityUltralytics YOLO heatmap overlay showing retail customer movement
Mapa de calor de transporte do Ultralytics YOLOMapa de calor de varejo do Ultralytics YOLO

Como gerar mapas de calor com o Ultralytics YOLO#

Execute a solução de mapa de calor em uma fonte de vídeo a partir da CLI ou Python. O exemplo em Python grava os quadros processados em um arquivo de vídeo de saída:

Mapas de calor usando Ultralytics YOLO
# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"

# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO

# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"

Argumentos do Heatmap()#

Aqui tens uma tabela com os argumentos do Heatmap:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
colormapintcv2.COLORMAP_DEEPGREENMapa de cores a usar para o mapa de calor.
show_inboolTrueFlag para controlar se os números de entrada devem ser exibidos no stream de vídeo.
show_outboolTrueFlag para controlar se os números de saída devem ser exibidos no stream de vídeo.
regionlist ou dictNonePontos que definem a região de interesse, seja uma lista de tuplas (x, y) ou um dicionário que mapeia nomes de regiões para listas de pontos para múltiplas regiões (apenas RegionCounter). Quando None, as soluções que exigem uma região recorrem a um padrão pré-definido.
line_widthint2Espessura da linha para as caixas, pontos-chave e contagens que a solução desenha.
verboseboolTrueAtiva o registro por quadro da solução contendo formato de entrada, contagens de classes e velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.

Você também pode aplicar diferentes argumentos de track na solução Heatmap.

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.

Além disso, os argumentos de visualização suportados estão listados abaixo:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Fornece uma visão sobre a certeza do modelo para cada detecção.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados.

Mapas de cores de mapa de calor#

O argumento colormap aceita qualquer OpenCV colormap. Passe a constante do módulo cv2, por exemplo, colormap=cv2.COLORMAP_INFERNO:

Nome do mapa de coresDescrição
cv2.COLORMAP_AUTUMNMapa de cores de outono
cv2.COLORMAP_BONEMapa de cores ósseo
cv2.COLORMAP_JETMapa de cores jato
cv2.COLORMAP_WINTERMapa de cores de inverno
cv2.COLORMAP_RAINBOWMapa de cores arco-íris
cv2.COLORMAP_OCEANMapa de cores do oceano
cv2.COLORMAP_SUMMERMapa de cores de verão
cv2.COLORMAP_SPRINGMapa de cores de primavera
cv2.COLORMAP_COOLMapa de cores frio
cv2.COLORMAP_HSVMapa de cores HSV (Matiz, Saturação, Valor)
cv2.COLORMAP_PINKMapa de cores rosa
cv2.COLORMAP_HOTMapa de cores quente
cv2.COLORMAP_PARULAMapa de cores Parula
cv2.COLORMAP_MAGMAMapa de cores magma
cv2.COLORMAP_INFERNOMapa de cores inferno
cv2.COLORMAP_PLASMAMapa de cores plasma
cv2.COLORMAP_VIRIDISMapa de cores Viridis
cv2.COLORMAP_CIVIDISMapa de cores Cividis
cv2.COLORMAP_TWILIGHTMapa de cores crepúsculo
cv2.COLORMAP_TWILIGHT_SHIFTEDMapa de cores crepúsculo deslocado
cv2.COLORMAP_TURBOMapa de cores turbo
cv2.COLORMAP_DEEPGREENMapa de cores verde profundo

Como funcionam os mapas de calor#

A Heatmap solution estende a classe ObjectCounter. No primeiro quadro processado, ela cria uma camada de intensidade em branco correspondente ao tamanho do quadro. Cada quadro é então processado em duas etapas:

  1. O rastreamento YOLO26 detecta e segue cada objeto no quadro
  2. Para cada objeto rastreado, a intensidade do mapa de calor aumenta dentro de uma região circular centralizada em sua caixa delimitadora (bounding box)

Uma vez por quadro, a camada de intensidade acumulada é normalizada, colorida com o mapa de cores selecionado e misturada com o quadro original. A sobreposição aparece assim que pelo menos um objeto é rastreado; quadros sem objetos rastreados são exibidos sem a sobreposição de mapa de calor.

O resultado é uma visualização dinâmica que se acumula ao longo do tempo, revelando padrões de tráfego, movimentos de multidões ou outros comportamentos espaciais nos seus dados de vídeo. Quando um region é definido, a solução também conta objetos que entram e saem dessa região enquanto o mapa de calor é construído.

Conclusão#

A solução Ultralytics YOLO26 Heatmap transforma resultados de rastreamento de objetos em uma sobreposição de atividade intuitiva com algumas linhas de código. Para ir mais longe, combine-a com object counting, explore as outras Ultralytics Solutions ou leia sobre o tracking mode subjacente.

FAQ#

  • O Ultralytics YOLO26 gera mapas de calor rastreando objetos em quadros de vídeo e acumulando um valor de intensidade na localização de cada objeto rastreado, colorindo o resultado e mesclando-o com o quadro original. Áreas onde os objetos aparecem com frequência ou permanecem acumulam maior intensidade e são renderizadas em cores mais quentes. Para opções de configuração, consulte a seção Argumentos de Heatmap().

  • Use cv2.VideoWriter do OpenCV e escreva results.plot_im para cada quadro processado, conforme mostrado no main example. O atributo plot_im contém o quadro com a sobreposição de mapa de calor já aplicada.

  • Sim. Passe um argumento region para Heatmap() com pontos de linha, retângulo ou polígono, e a solução conta os objetos que entram e saem dessa região enquanto o mapa de calor é construído. Os resultados retornados incluem in_count, out_count e contagens por classe. Consulte o object counting guide para detalhes de configuração da região.

  • Passe o argumento classes para Heatmap() com os índices de classe que você deseja manter. Por exemplo, classes=[0, 2] constrói o mapa de calor apenas a partir de pessoas e carros (índices de classe COCO 0 e 2):

    import cv2
    
    from ultralytics import solutions
    
    cap = cv2.VideoCapture("path/to/video.mp4")
    heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])
    
    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            break
        results = heatmap(im0)
    cap.release()
    cv2.destroyAllWindows()
  • Os mapas de calor do Ultralytics YOLO26 integram object detection, rastreamento, acúmulo de intensidade e renderização de sobreposição em uma única chamada, enquanto ferramentas genéricas como OpenCV ou Matplotlib exigem que você construa esse pipeline por conta própria. A solução processa fluxos de vídeo em tempo real e oferece suporte a rastreamento persistente e mapas de calor personalizáveis prontos para uso. Para obter detalhes sobre o modelo subjacente, consulte a YOLO26 model page.

Comentários