Visualização de Dados Avançada: Mapas de calor usando Ultralytics YOLO11 🚀
Introdução aos Mapas de Calor
Um mapa de calor gerado com Ultralytics YOLO11 transforma dados complexos em uma matriz vibrante e codificada por cores. Esta ferramenta visual emprega um espectro de cores para representar diferentes valores de dados, onde tons mais quentes indicam intensidades mais altas e tons mais frios significam valores mais baixos. Os mapas de calor se destacam na visualização de padrões de dados complexos, correlações e anomalias, oferecendo uma abordagem acessível e envolvente para a interpretação de dados em diversos domínios.
Assista: Mapas de Calor usando Ultralytics YOLO11
Por que escolher mapas de calor para análise de dados?
- Visualização Intuitiva da Distribuição de Dados: Mapas de calor simplificam a compreensão da concentração e distribuição de dados, convertendo conjuntos de dados complexos em formatos visuais fáceis de entender.
- Detecção de Padrões Eficiente: Ao visualizar os dados em formato de mapa de calor, torna-se mais fácil identificar tendências, clusters e outliers, facilitando análises e insights mais rápidos.
- Análise Espacial e Tomada de Decisão Aprimoradas: Os mapas de calor são fundamentais para ilustrar relações espaciais, auxiliando nos processos de tomada de decisão em setores como inteligência de negócios, estudos ambientais e planejamento urbano.
Aplicações no Mundo Real
Transporte | Varejo |
---|---|
![]() |
![]() |
Mapa de Calor de Transporte Ultralytics YOLO11 | Mapa de Calor de Varejo Ultralytics YOLO11 |
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)]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points
# Initialize heatmap object
heatmap = solutions.Heatmap(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file
colormap=cv2.COLORMAP_PARULA, # colormap of heatmap
# region=region_points, # object counting with heatmaps, you can pass region_points
# classes=[0, 2], # generate heatmap for specific classes i.e person and car.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = heatmap(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Heatmap()
Argumentos
Aqui está uma tabela com o Heatmap
argumentos:
Argumento | Tipo | Padrão | Descrição |
---|---|---|---|
model |
str |
None |
Caminho para o arquivo do modelo Ultralytics YOLO. |
colormap |
int |
cv2.COLORMAP_JET |
Mapa de cores a ser usado para o mapa de calor. |
show_in |
bool |
True |
Flag para controlar se exibe as contagens de entrada no fluxo de vídeo. |
show_out |
bool |
True |
Flag para controlar se exibe as contagens de saída no fluxo de vídeo. |
region |
list |
'[(20, 400), (1260, 400)]' |
Lista de pontos que definem a região de contagem. |
Também pode aplicar diferentes track
argumentos no Heatmap
solução.
Argumento | Tipo | Padrão | Descrição |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml . |
conf |
float |
0.3 |
Define o limite de confiança para detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou |
float |
0.5 |
Define o limite de Intersecção sobre União (IoU) para filtrar detecções sobrepostas. |
classes |
list |
None |
Filtra os 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 rastreamento, fornecendo uma saída visual dos objetos rastreados. |
device |
str |
None |
Especifica o dispositivo para inferência (por exemplo, cpu , cuda:0 ou 0 ). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo. |
Adicionalmente, os argumentos de visualização suportados estão listados abaixo:
Argumento | Tipo | Padrão | Descrição |
---|---|---|---|
show |
bool |
False |
Se True , exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width |
None or int |
None |
Especifica a largura da linha das caixas delimitadoras. Se None , a largura da linha é ajustada automaticamente com base no tamanho da imagem. Fornece personalização visual para clareza. |
show_conf |
bool |
True |
Exibe o score de confiança para cada detecção junto com o rótulo. Dá uma ideia da 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. |
COLORMAPs de Mapa de Calor
Nome do Mapa de Cores | Descrição |
---|---|
cv::COLORMAP_AUTUMN |
Mapa de cores de outono |
cv::COLORMAP_BONE |
Mapa de cores ósseas |
cv::COLORMAP_JET |
Mapa de cores Jet |
cv::COLORMAP_WINTER |
Mapa de cores de inverno |
cv::COLORMAP_RAINBOW |
Mapa de cores do arco-íris |
cv::COLORMAP_OCEAN |
Mapa de cores do oceano |
cv::COLORMAP_SUMMER |
Mapa de cores de verão |
cv::COLORMAP_SPRING |
Mapa de cores da primavera |
cv::COLORMAP_COOL |
Mapa de cores frias |
cv::COLORMAP_HSV |
Mapa de cores HSV (Matiz, Saturação, Valor) |
cv::COLORMAP_PINK |
Mapa de cores rosa |
cv::COLORMAP_HOT |
Mapa de cores quentes |
cv::COLORMAP_PARULA |
Mapa de cores Parula |
cv::COLORMAP_MAGMA |
Mapa de cores Magma |
cv::COLORMAP_INFERNO |
Mapa de cores Inferno |
cv::COLORMAP_PLASMA |
Mapa de cores plasma |
cv::COLORMAP_VIRIDIS |
Mapa de cores Viridis |
cv::COLORMAP_CIVIDIS |
Mapa de cores Cividis |
cv::COLORMAP_TWILIGHT |
Mapa de cores Twilight |
cv::COLORMAP_TWILIGHT_SHIFTED |
Mapa de cores Shifted Twilight |
cv::COLORMAP_TURBO |
Mapa de cores Turbo |
cv::COLORMAP_DEEPGREEN |
Mapa de cores Verde Profundo |
Esses mapas de cores são comumente usados para visualizar dados com diferentes representações de cores.
Como os Mapas de Calor funcionam no Ultralytics YOLO11
A solução Heatmap no Ultralytics YOLO11 estende a classe ObjectCounter para gerar e visualizar padrões de movimento em fluxos de vídeo. Quando inicializada, a solução cria uma camada de heatmap em branco que é atualizada à medida que os objetos se movem pelo frame.
Para cada objeto detectado, a solução:
- Rastreia o objeto através dos frames usando os recursos de rastreamento do YOLO11
- Atualiza a intensidade do mapa de calor na localização do objeto
- Aplica um mapa de cores selecionado para visualizar os valores de intensidade
- Sobrepõe o mapa de calor colorido no frame original
O resultado é uma visualização dinâmica que se desenvolve ao longo do tempo, revelando padrões de tráfego, movimentos de multidões ou outros comportamentos espaciais nos seus dados de vídeo.
FAQ
Como o Ultralytics YOLO11 gera mapas de calor e quais são seus benefícios?
O Ultralytics YOLO11 gera mapas de calor transformando dados complexos em uma matriz codificada por cores, onde diferentes tonalidades representam as intensidades dos dados. Os mapas de calor facilitam a visualização de padrões, correlações e anomalias nos dados. Tonalidades mais quentes indicam valores mais altos, enquanto tons mais frios representam valores mais baixos. Os principais benefícios incluem visualização intuitiva da distribuição de dados, detecção eficiente de padrões e análise espacial aprimorada para a tomada de decisões. Para obter mais detalhes e opções de configuração, consulte a seção Configuração do Mapa de Calor.
Posso usar Ultralytics YOLO11 para realizar rastreamento de objetos e gerar um mapa de calor simultaneamente?
Sim, o Ultralytics YOLO11 suporta o rastreamento de objetos e a geração de mapas de calor simultaneamente. Isso pode ser alcançado através do seu Heatmap
solução integrada com modelos de rastreamento de objetos. Para fazer isso, você precisa inicializar o objeto de mapa de calor e usar os recursos de rastreamento do YOLO11. Aqui está um exemplo simples:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Para mais orientações, consulte a página do Modo de Rastreamento.
O que torna os mapas de calor do Ultralytics YOLO11 diferentes de outras ferramentas de visualização de dados, como as do OpenCV ou Matplotlib?
Os mapas de calor do Ultralytics YOLO11 são projetados especificamente para integração com seus modelos de detecção de objetos e rastreamento, fornecendo uma solução completa para análise de dados em tempo real. Ao contrário de ferramentas de visualização genéricas como OpenCV ou Matplotlib, os mapas de calor do YOLO11 são otimizados para desempenho e processamento automatizado, suportando recursos como rastreamento persistente, ajuste do fator de decaimento e sobreposição de vídeo em tempo real. Para obter mais informações sobre os recursos exclusivos do YOLO11, visite a Introdução ao Ultralytics YOLO11.
Como posso visualizar apenas classes de objetos específicas em mapas de calor usando Ultralytics YOLO11?
Você pode visualizar classes de objetos específicas especificando as classes desejadas no track()
método do modelo YOLO. Por exemplo, se você quiser visualizar apenas carros e pessoas (assumindo que seus índices de classe são 0 e 2), você pode definir o classes
parâmetro de acordo.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Por que as empresas devem escolher o Ultralytics YOLO11 para geração de mapas de calor na análise de dados?
O Ultralytics YOLO11 oferece integração perfeita de detecção de objetos avançada e geração de mapas de calor em tempo real, tornando-o uma escolha ideal para empresas que buscam visualizar dados de forma mais eficaz. As principais vantagens incluem visualização intuitiva da distribuição de dados, detecção eficiente de padrões e análise espacial aprimorada para melhor tomada de decisões. Além disso, os recursos de ponta do YOLO11, como rastreamento persistente, mapas de cores personalizáveis e suporte para vários formatos de exportação, o tornam superior a outras ferramentas como TensorFlow e OpenCV para análise de dados abrangente. Saiba mais sobre aplicações de negócios em Ultralytics Plans.