Skip to content

Bounding Box Visualization

Class: BoundingBoxVisualizationBlockV1

Source: inference.core.workflows.core_steps.visualizations.bounding_box.v1.BoundingBoxVisualizationBlockV1

Draw bounding boxes around detected objects in an image, with customizable colors, thickness, and corner roundness.

How This Block Works

This block takes an image and detection predictions (from object detection, instance segmentation, or keypoint detection models) and draws rectangular bounding boxes around each detected object. The block:

  1. Takes an image and predictions as input
  2. Applies color styling based on the selected color palette, with colors assigned by class, index, or track ID
  3. Draws bounding boxes using Supervision's BoxAnnotator (for square corners) or RoundBoxAnnotator (for rounded corners) based on the roundness setting
  4. Applies the specified box thickness to control the line width of the bounding boxes
  5. Returns an annotated image with bounding boxes overlaid on the original image

The block supports various color palettes (default, Roboflow, Matplotlib palettes, or custom colors) and can color boxes based on detection class, index, or tracker ID. When roundness is set to 0, square corners are used; when roundness is greater than 0, rounded corners are applied for a softer visual appearance. You can choose whether to modify the original image or create a copy for visualization, which is useful when stacking multiple visualization blocks.

Common Use Cases

  • Model Validation and Debugging: Visualize detection results to verify model performance, check bounding box accuracy, identify false positives or false negatives, and debug model outputs
  • Results Presentation: Create annotated images for reports, dashboards, or presentations showing what objects were detected in images or video frames
  • Quality Control: Overlay bounding boxes on production line images to visualize detected defects, products, or components for quality assurance workflows
  • Monitoring and Alerting: Generate visual outputs showing detected objects for security monitoring, surveillance systems, or compliance tracking with annotated evidence
  • Training Data Review: Review and validate training datasets by visualizing annotations and bounding boxes to ensure labeling accuracy and consistency
  • Interactive Applications: Create user interfaces that display real-time detection results with bounding boxes for object tracking, counting, or identification applications

Connecting to Other Blocks

The annotated image from this block can be connected to:

  • Other visualization blocks (e.g., Label Visualization, Polygon Visualization, Mask Visualization) to stack multiple annotations on the same image for comprehensive visualization
  • Data storage blocks (e.g., Local File Sink, CSV Formatter, Roboflow Dataset Upload) to save annotated images for documentation, archiving, or training data preparation
  • Webhook blocks to send visualized results to external systems, APIs, or web applications for display in dashboards or monitoring tools
  • Notification blocks (e.g., Email Notification, Slack Notification) to send annotated images as visual evidence in alerts or reports
  • Video output blocks to create annotated video streams or recordings with bounding boxes for live monitoring or post-processing analysis

Type identifier

Use the following identifier in step "type" field: roboflow_core/bounding_box_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..
color_palette str Select a color palette for the visualised elements..
palette_size int Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes..
custom_colors List[str] Define a list of custom colors for bounding boxes in HEX format..
color_axis str Choose how bounding box colors are assigned..
thickness int Thickness of the bounding box edges in pixels. Higher values create thicker, more visible box outlines..
roundness float Roundness of the bounding box corners, ranging from 0.0 (square corners) to 1.0 (fully rounded corners). When set to 0.0, square-cornered boxes are used; higher values create progressively more rounded corners..

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 Bounding Box Visualization in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Bounding Box 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[instance_segmentation_prediction, keypoint_detection_prediction, object_detection_prediction, rle_instance_segmentation_prediction]): Model predictions to visualize..
    • color_palette (string): Select a color palette for the visualised elements..
    • palette_size (integer): Specify the number of colors in the palette. This applies when using custom or Matplotlib palettes..
    • custom_colors (list_of_values): Define a list of custom colors for bounding boxes in HEX format..
    • color_axis (string): Choose how bounding box colors are assigned..
    • thickness (integer): Thickness of the bounding box edges in pixels. Higher values create thicker, more visible box outlines..
    • roundness (float_zero_to_one): Roundness of the bounding box corners, ranging from 0.0 (square corners) to 1.0 (fully rounded corners). When set to 0.0, square-cornered boxes are used; higher values create progressively more rounded corners..
  • output

    • image (image): Image in workflows.
Example JSON definition of step Bounding Box Visualization in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/bounding_box_visualization@v1",
    "image": "$inputs.image",
    "copy_image": true,
    "predictions": "$steps.object_detection_model.predictions",
    "color_palette": "DEFAULT",
    "palette_size": 10,
    "custom_colors": [
        "#FF0000",
        "#00FF00",
        "#0000FF"
    ],
    "color_axis": "CLASS",
    "thickness": 2,
    "roundness": 0.0
}