Dynamic Zone¶
Class: DynamicZonesBlockV1
Source: inference.core.workflows.core_steps.transformations.dynamic_zones.v1.DynamicZonesBlockV1
The DynamicZoneBlock is a transformer block designed to simplify polygon
so it's geometrically convex and then reduce number of vertices to requested amount.
This block is best suited when Zone needs to be created based on shape of detected object
(i.e. basketball field, road segment, zebra crossing etc.)
Input detections should be filtered and contain only desired classes of interest.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/dynamic_zone@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
required_number_of_vertices |
int |
Keep simplifying polygon until number of vertices matches this number. | ✅ |
scale_ratio |
float |
Expand resulting polygon along imaginary line from centroid to edge by this ratio. | ✅ |
apply_least_squares |
bool |
Apply least squares algorithm to fit resulting polygon edges to base contour. | ✅ |
midpoint_fraction |
float |
Fraction of vertices to keep in the middle of each edge before fitting least squares line. This parameter is useful when vertices of convex polygon are not aligned with edge that would be otherwise fitted to points closer to the center of each edge.. | ✅ |
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 Dynamic Zone in version v1.
- inputs:
VLM as Detector,SAM 3,Detections Stabilizer,Time in Zone,SIFT Comparison,Image Contours,VLM as Detector,Detections Filter,Detections Classes Replacement,Perspective Correction,Twilio SMS Notification,VLM as Classifier,Seg Preview,Roboflow Dataset Upload,Detections Combine,Roboflow Dataset Upload,VLM as Classifier,Model Monitoring Inference Aggregator,Segment Anything 2 Model,Template Matching,Webhook Sink,Velocity,Distance Measurement,Camera Focus,Instance Segmentation Model,Detections Transformation,Gaze Detection,SIFT Comparison,Time in Zone,Detection Offset,Slack Notification,Clip Comparison,Instance Segmentation Model,Path Deviation,Line Counter,PTZ Tracking (ONVIF).md),JSON Parser,Email Notification,Cosine Similarity,Identify Outliers,Dynamic Zone,Pixel Color Count,Dynamic Crop,Bounding Rectangle,Path Deviation,Detections Consensus,Line Counter,Email Notification,Local File Sink,Time in Zone,Roboflow Custom Metadata,Identify Changes,Detections Stitch - outputs:
VLM as Detector,Byte Tracker,SAM 3,Overlap Filter,Classification Label Visualization,Detections Stabilizer,Circle Visualization,Detections Filter,LMM For Classification,VLM as Classifier,Ellipse Visualization,Triangle Visualization,Stability AI Inpainting,Detections Combine,VLM as Classifier,Background Color Visualization,Model Monitoring Inference Aggregator,Segment Anything 2 Model,Template Matching,Velocity,Distance Measurement,Dot Visualization,Florence-2 Model,Detections Transformation,Reference Path Visualization,Halo Visualization,Gaze Detection,SIFT Comparison,Buffer,Polygon Visualization,Florence-2 Model,Detection Offset,Slack Notification,Clip Comparison,Instance Segmentation Model,OpenAI,Byte Tracker,Color Visualization,Line Counter,PTZ Tracking (ONVIF).md),Keypoint Detection Model,Object Detection Model,Google Gemini,Label Visualization,Email Notification,Llama 3.2 Vision,Trace Visualization,Byte Tracker,Dynamic Zone,Line Counter,YOLO-World Model,Size Measurement,Email Notification,Corner Visualization,Mask Visualization,Time in Zone,Roboflow Custom Metadata,Detections Stitch,Cache Set,Blur Visualization,Time in Zone,Crop Visualization,VLM as Detector,OpenAI,Grid Visualization,Single-Label Classification Model,Detections Classes Replacement,Perspective Correction,Twilio SMS Notification,Clip Comparison,Single-Label Classification Model,Seg Preview,Roboflow Dataset Upload,Roboflow Dataset Upload,Polygon Zone Visualization,Webhook Sink,Bounding Box Visualization,Line Counter Visualization,Instance Segmentation Model,Multi-Label Classification Model,Icon Visualization,Time in Zone,Pixelate Visualization,Path Deviation,Detections Merge,Keypoint Detection Model,Anthropic Claude,Google Gemini,Multi-Label Classification Model,Dynamic Crop,Bounding Rectangle,Path Deviation,Detections Consensus,Model Comparison Visualization,Keypoint Visualization,Object Detection Model
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Dynamic Zone in version v1 has.
Bindings
-
input
predictions(instance_segmentation_prediction): .required_number_of_vertices(integer): Keep simplifying polygon until number of vertices matches this number.scale_ratio(float): Expand resulting polygon along imaginary line from centroid to edge by this ratio.apply_least_squares(boolean): Apply least squares algorithm to fit resulting polygon edges to base contour.midpoint_fraction(float_zero_to_one): Fraction of vertices to keep in the middle of each edge before fitting least squares line. This parameter is useful when vertices of convex polygon are not aligned with edge that would be otherwise fitted to points closer to the center of each edge..
-
output
zones(list_of_values): List of values of any type.predictions(instance_segmentation_prediction): Prediction with detected bounding boxes and segmentation masks in form of sv.Detections(...) object.simplification_converged(boolean): Boolean flag.
Example JSON definition of step Dynamic Zone in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/dynamic_zone@v1",
"predictions": "$segmentation.predictions",
"required_number_of_vertices": 4,
"scale_ratio": 1.05,
"apply_least_squares": true,
"midpoint_fraction": 0.9
}