Size Measurement¶
Class: SizeMeasurementBlockV1
Source: inference.core.workflows.core_steps.classical_cv.size_measurement.v1.SizeMeasurementBlockV1
The [Size Measurement Block](https://www.
How This Block Works¶
youtube.com/watch?v=FQY7TSHfZeI) calculates the dimensions of objects relative to a reference object. It uses one model to detect the reference object and another to detect the objects to measure. The block outputs the dimensions of the objects in terms of the reference object.
- Reference Object: This is the known object used as a baseline for measurements. Its dimensions are known and used to scale the measurements of other objects.
- Object to Measure: This is the object whose dimensions are being calculated. The block measures these dimensions relative to the reference object.
Block Usage¶
To use the Size Measurement Block, follow these steps:
- Select Models: Choose a model to detect the reference object and another model to detect the objects you want to measure.
- Configure Inputs: Provide the predictions from both models as inputs to the block.
- Set Reference Dimensions: Specify the known dimensions of the reference object in the format 'width,height' or as a tuple (width, height).
- Run the Block: Execute the block to calculate the dimensions of the detected objects relative to the reference object.
Example¶
Imagine you have a scene with a calibration card and several packages. The calibration card has known dimensions of 5.0 inches by 3.0 inches. You want to measure the dimensions of packages in the scene.
- Reference Object: Calibration card with dimensions 5.0 inches (width) by 3.0 inches (height).
- Objects to Measure: Packages detected in the scene.
The block will use the known dimensions of the calibration card to calculate the dimensions of each package. For example, if a package is detected with a width of 100 pixels and a height of 60 pixels, and the calibration card is detected with a width of 50 pixels and a height of 30 pixels, the block will calculate the package's dimensions as:
- Width: (100 pixels / 50 pixels) * 5.0 inches = 10.0 inches
- Height: (60 pixels / 30 pixels) * 3.0 inches = 6.0 inches
This allows you to obtain the real-world dimensions of the packages based on the reference object's known size.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/size_measurement@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | โ |
reference_predictions |
List[Any] |
Reference object used to calculate the dimensions of the specified objects. If multiple objects are provided, the highest confidence prediction will be used.. | โ |
reference_dimensions |
Union[List[float], Tuple[float, float], str] |
Dimensions of the reference object in desired units, (e.g. inches). Will be used to convert the pixel dimensions of the other objects to real-world units.. | โ |
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 Size Measurement in version v1.
- inputs:
S3 Sink,Email Notification,Clip Comparison,Path Deviation,SAM 3,VLM As Detector,Qwen-VL,Twilio SMS/MMS Notification,YOLO-World Model,Time in Zone,MoonshotAI Kimi,Stitch OCR Detections,OpenAI-Compatible LLM,VLM As Detector,OpenAI,Email Notification,Seg Preview,Llama 3.2 Vision,Anthropic Claude,Google Vision OCR,SAM 3,Instance Segmentation Model,Path Deviation,Overlap Filter,Local File Sink,Google Gemini,Motion Detection,Byte Tracker,Mask Edge Snap,Instance Segmentation Model,Qwen 3.5 API,Google Gemini,Moondream2,Velocity,Detection Event Log,Florence-2 Model,Time in Zone,OCR Model,VLM As Classifier,Detections Filter,Detections Merge,Detections Stabilizer,LMM For Classification,Keypoint Detection Model,Roboflow Dataset Upload,Dynamic Zone,Segment Anything 2 Model,Multi-Label Classification Model,Qwen3.5-VL,Time in Zone,Detections List Roll-Up,Stitch OCR Detections,Detections Combine,Bounding Rectangle,ByteTrack Tracker,CSV Formatter,Florence-2 Model,Byte Tracker,Mask Area Measurement,Object Detection Model,Perspective Correction,SAM 3,BoT-SORT Tracker,Object Detection Model,Line Counter,OpenRouter,Model Monitoring Inference Aggregator,OpenAI,Llama 3.2 Vision,OC-SORT Tracker,Anthropic Claude,Dynamic Crop,Detections Consensus,Size Measurement,Clip Comparison,Detection Offset,EasyOCR,Google Gemma API,Template Matching,Qwen 3.6 API,Per-Class Confidence Filter,Anthropic Claude,Object Detection Model,Roboflow Custom Metadata,OpenAI,Slack Notification,Image Stack,Single-Label Classification Model,OpenAI,Instance Segmentation Model,Buffer,Detections Classes Replacement,LMM,Roboflow Dataset Upload,Detections Transformation,Google Gemini,Camera Focus,Detections Stitch,Byte Tracker,PTZ Tracking (ONVIF),SORT Tracker,GLM-OCR,CogVLM,Dimension Collapse,SAM2 Video Tracker,Roboflow Vision Events,Webhook Sink,Twilio SMS Notification,MoonshotAI Kimi,Google Gemma - outputs:
Object Detection Model,Perspective Correction,SAM 3,Email Notification,Keypoint Detection Model,Path Deviation,VLM As Detector,Qwen-VL,SAM 3,Clip Comparison,Object Detection Model,Twilio SMS/MMS Notification,Line Counter,OpenRouter,YOLO-World Model,OpenAI,Llama 3.2 Vision,Line Counter,Time in Zone,Polygon Zone Visualization,MoonshotAI Kimi,Anthropic Claude,OpenAI,VLM As Detector,Detections Consensus,Size Measurement,Email Notification,Keypoint Visualization,Seg Preview,Anthropic Claude,Llama 3.2 Vision,Clip Comparison,Cache Set,Label Visualization,SAM 3,Instance Segmentation Model,Path Deviation,Bounding Box Visualization,Google Gemini,Keypoint Detection Model,Motion Detection,Polygon Visualization,Google Gemma API,Qwen 3.6 API,Instance Segmentation Model,Qwen 3.5 API,Google Gemini,Polygon Visualization,Grid Visualization,Anthropic Claude,Florence-2 Model,Triangle Visualization,Time in Zone,Object Detection Model,OpenAI,VLM As Classifier,Instance Segmentation Model,Buffer,LMM For Classification,Keypoint Detection Model,Roboflow Dataset Upload,Line Counter Visualization,Detections Classes Replacement,Corner Visualization,Halo Visualization,Roboflow Dataset Upload,Time in Zone,Detections List Roll-Up,Color Visualization,Google Gemini,Classification Label Visualization,VLM As Classifier,Trace Visualization,Reference Path Visualization,Halo Visualization,Ellipse Visualization,Dot Visualization,Mask Visualization,Crop Visualization,Circle Visualization,Florence-2 Model,Webhook Sink,MoonshotAI Kimi,Google Gemma
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Size Measurement in version v1 has.
Bindings
-
input
object_predictions(Union[instance_segmentation_prediction,object_detection_prediction]): Model predictions to measure the dimensions of..reference_predictions(Union[instance_segmentation_prediction,list_of_values,object_detection_prediction]): Reference object used to calculate the dimensions of the specified objects. If multiple objects are provided, the highest confidence prediction will be used..reference_dimensions(Union[list_of_values,string]): Dimensions of the reference object in desired units, (e.g. inches). Will be used to convert the pixel dimensions of the other objects to real-world units..
-
output
dimensions(list_of_values): List of values of any type.
Example JSON definition of step Size Measurement in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/size_measurement@v1",
"object_predictions": "$segmentation.object_predictions",
"reference_predictions": "$segmentation.reference_predictions",
"reference_dimensions": [
4.5,
3.0
]
}