Heatmap Visualization
Draw a heatmap based on detections in an image.
Draw heatmaps on an image based on provided detections. Heat accumulates over time and is drawn as a semi-transparent overlay of blurred circles.
How This Block Works
This block takes an image and detection predictions and draws a heatmap. The block:
Takes an image and predictions as input.
Accumulates heat based on the position of detections.
Draws a semi-transparent overlay of blurred circles representing the heat.
Common Use Cases
Density Analysis: Visualize the density of objects in a scene.
Traffic Monitoring: Identify high-traffic areas.
Retail Analytics: Analyze foot traffic in stores.
Type identifier
Use the following identifier in step "type" field: roboflow_core/heatmap_visualization@v1 to add the block as a step in your workflow.
Properties
Name
Type
Description
Refs
name
str
Enter a unique identifier for this step..
❌
copy_image
bool
Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations..
✅
position
str
The position of the heatmap relative to the detection..
✅
opacity
float
Opacity of the overlay mask, between 0 and 1..
✅
radius
int
Radius of the heat circle..
✅
kernel_size
int
Kernel size for blurring the heatmap..
✅
top_hue
int
Hue at the top of the heatmap. Defaults to 0 (red)..
✅
low_hue
int
Hue at the bottom of the heatmap. Defaults to 125 (blue)..
✅
ignore_stationary
bool
If True, only moving objects (based on tracker ID) will contribute to the heatmap..
✅
motion_threshold
int
Minimum movement in pixels required to consider an object as moving..
✅
The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.
Runtime compatibility
soft - runtime hosted_serverless, dedicated_deployment; execution remote; input video : Heatmap accumulation and stationary-object filtering keep per-video tracking state in process memory. With remote step execution on stateless or multi-replica HTTP runtimes, successive frames may be served by different worker processes, so heat history resets or splits across workers. Use local step execution in a persistent WebRTC session for stable cross-frame visualizations.
soft - input image : Block depends on temporal context from video or repeated-frame workflows. With a still image/photo, there is no meaningful history to track, compare, aggregate, or visualize, so the block provides little or no benefit.
Input and Output Bindings
The available connections depend on its binding kinds. Check what binding kinds Heatmap Visualization in version v1 has.
Input and output bindings
input
image(image): The image to visualize on..copy_image(boolean): Enable this option to create a copy of the input image for visualization, preserving the original. Use this when stacking multiple visualizations..predictions(Union[rle_instance_segmentation_prediction,object_detection_prediction,instance_segmentation_prediction,keypoint_detection_prediction]): Model predictions to visualize..metadata(video_metadata): Video metadata containing video_identifier to maintain separate state for different videos..position(string): The position of the heatmap relative to the detection..opacity(float): Opacity of the overlay mask, between 0 and 1..radius(integer): Radius of the heat circle..kernel_size(integer): Kernel size for blurring the heatmap..top_hue(integer): Hue at the top of the heatmap. Defaults to 0 (red)..low_hue(integer): Hue at the bottom of the heatmap. Defaults to 125 (blue)..ignore_stationary(boolean): If True, only moving objects (based on tracker ID) will contribute to the heatmap..motion_threshold(integer): Minimum movement in pixels required to consider an object as moving..
output
image(image): Image in workflows.
Last updated
Was this helpful?