Link to this sectionMapas de calor de rastreamento de objetos com o Ultralytics YOLO26#
A solução de mapa de calor no Ultralytics YOLO26 rastreia objetos em quadros de vídeo e sobrepõe a intensidade acumulada de seu movimento a cada quadro, para que áreas movimentadas brilhem em cores quentes, enquanto áreas tranquilas permanecem frias. Construída sobre o rastreamento de objetos do YOLO26, ela transforma qualquer vídeo em um mapa de atividade espacial que revela o fluxo de tráfego, o movimento de multidões e zonas de permanência com uma única chamada Python ou comando CLI.
Watch: Heatmaps using Ultralytics YOLO26
Link to this sectionPor 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 uma
regionpara contar objetos que entram e saem de uma zona enquanto o mapa de calor é criado, combinando duas tarefas analíticas em uma única execução.
Link to this sectionAplicações no mundo real#
| Transporte | Varejo |
|---|---|
![]() | ![]() |
| Mapa de calor de transporte do Ultralytics YOLO | Mapa de calor de varejo do Ultralytics YOLO |
Link to this sectionComo 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:
# 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)]"Link to this sectionArgumentos da Heatmap()#
Aqui está uma tabela com os argumentos da Heatmap:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um ficheiro de modelo YOLO da Ultralytics. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Mapa de cores a usar para o mapa de calor. |
show_in | bool | True | Flag para controlar se os números de entrada devem ser exibidos no stream de vídeo. |
show_out | bool | True | Flag para controlar se os números de saída devem ser exibidos no stream de vídeo. |
region | list ou dict | None | Pontos 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, soluções que exigem uma região retornam a um padrão predefinido. |
Você também pode aplicar diferentes argumentos de track na solução Heatmap.
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado. As opções integradas são: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Define o limiar de confiança para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreio, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica o dispositivo para inferência (p. ex., 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:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width | int or None | None | Especifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Proporciona personalização visual para maior clareza. |
show_conf | bool | True | Exibe 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_labels | bool | True | Exibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados. |
Link to this sectionMapas de cores de mapa de calor#
O argumento colormap aceita qualquer mapa de cores do OpenCV. Passe a constante do módulo cv2, por exemplo colormap=cv2.COLORMAP_INFERNO:
| Nome do mapa de cores | Descrição |
|---|---|
cv2.COLORMAP_AUTUMN | Mapa de cores de outono |
cv2.COLORMAP_BONE | Mapa de cores ósseo |
cv2.COLORMAP_JET | Mapa de cores jato |
cv2.COLORMAP_WINTER | Mapa de cores de inverno |
cv2.COLORMAP_RAINBOW | Mapa de cores arco-íris |
cv2.COLORMAP_OCEAN | Mapa de cores do oceano |
cv2.COLORMAP_SUMMER | Mapa de cores de verão |
cv2.COLORMAP_SPRING | Mapa de cores de primavera |
cv2.COLORMAP_COOL | Mapa de cores frio |
cv2.COLORMAP_HSV | Mapa de cores HSV (Matiz, Saturação, Valor) |
cv2.COLORMAP_PINK | Mapa de cores rosa |
cv2.COLORMAP_HOT | Mapa de cores quente |
cv2.COLORMAP_PARULA | Mapa de cores Parula |
cv2.COLORMAP_MAGMA | Mapa de cores magma |
cv2.COLORMAP_INFERNO | Mapa de cores inferno |
cv2.COLORMAP_PLASMA | Mapa de cores plasma |
cv2.COLORMAP_VIRIDIS | Mapa de cores Viridis |
cv2.COLORMAP_CIVIDIS | Mapa de cores Cividis |
cv2.COLORMAP_TWILIGHT | Mapa de cores crepúsculo |
cv2.COLORMAP_TWILIGHT_SHIFTED | Mapa de cores crepúsculo deslocado |
cv2.COLORMAP_TURBO | Mapa de cores turbo |
cv2.COLORMAP_DEEPGREEN | Mapa de cores verde profundo |
Link to this sectionComo funcionam os mapas de calor#
A solução de mapa de calor estende a classe ObjectCounter. No primeiro quadro processado, ela cria uma camada de intensidade em branco que corresponde ao tamanho do quadro. Cada quadro é então processado em duas etapas:
- O rastreamento YOLO26 detecta e segue cada objeto no quadro
- 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 uma region é definida, a solução também conta objetos entrando e saindo dessa região enquanto o mapa de calor é criado.
Link to this sectionConclusão#
A solução de mapa de calor Ultralytics YOLO26 transforma resultados de rastreamento de objetos em uma sobreposição de atividade intuitiva com apenas algumas linhas de código. Para ir mais longe, combine-a com contagem de objetos, explore as outras soluções Ultralytics ou leia sobre o modo de rastreamento subjacente.
Link to this sectionFAQ#
Link to this sectionComo o Ultralytics YOLO26 gera mapas de calor a partir de um vídeo?#
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 misturando-o com o quadro original. Áreas onde objetos aparecem com frequência ou permanecem por mais tempo acumulam maior intensidade e são renderizadas em cores mais quentes. Para opções de configuração, consulte a seção Argumentos de Heatmap().
Link to this sectionComo salvar a saída do mapa de calor em um arquivo de vídeo?#
Use o cv2.VideoWriter do OpenCV e escreva results.plot_im para cada quadro processado, conforme mostrado no exemplo principal. O atributo plot_im contém o quadro com a sobreposição do mapa de calor já aplicada.
Link to this sectionPosso combinar mapas de calor com contagem de objetos?#
Sim. Passe um argumento region para Heatmap() com pontos de linha, retângulo ou polígono, e a solução contará os objetos que entram e saem dessa região enquanto o mapa de calor é criado. Os resultados retornados incluem in_count, out_count e contagens por classe. Consulte o guia de contagem de objetos para detalhes de configuração da região.
Link to this sectionComo posso visualizar apenas classes de objetos específicas em mapas de calor usando o Ultralytics YOLO26?#
Passe o argumento classes para Heatmap() com os índices de classe que você deseja manter. Por exemplo, classes=[0, 2] cria 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()Link to this sectionO que diferencia os mapas de calor do Ultralytics YOLO26 de outras ferramentas de visualização de dados, como as do OpenCV ou Matplotlib?#
Os mapas de calor Ultralytics YOLO26 integram detecção de objetos, 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 suporta rastreamento persistente e mapas de cores personalizáveis prontos para uso. Para detalhes sobre o modelo subjacente, consulte a página do modelo YOLO26.

