Skip to content

Heatmap Visualization

Class: HeatmapVisualizationBlockV1

Source: inference.core.workflows.core_steps.visualizations.heatmap.v1.HeatmapVisualizationBlockV1

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:

  1. Takes an image and predictions as input.
  2. Accumulates heat based on the position of detections.
  3. 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@v1to add the block as as 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.

Available Connections

Compatible Blocks

Check what blocks you can connect to Heatmap Visualization in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Heatmap Visualization in version v1 has.

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[object_detection_prediction, instance_segmentation_prediction, keypoint_detection_prediction, rle_instance_segmentation_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.
Example JSON definition of step Heatmap Visualization in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/heatmap_visualization@v1",
    "image": "$inputs.image",
    "copy_image": true,
    "predictions": "$steps.object_detection_model.predictions",
    "metadata": "$inputs.video_metadata",
    "position": "BOTTOM_CENTER",
    "opacity": 0.2,
    "radius": 40,
    "kernel_size": 25,
    "top_hue": 0,
    "low_hue": 125,
    "ignore_stationary": true,
    "motion_threshold": 25
}