Size Measurement¶
Class: SizeMeasurementBlockV1
Source: inference.core.workflows.core_steps.classical_cv.size_measurement.v1.SizeMeasurementBlockV1
The Size Measurement Block 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@v1
to 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:
OpenAI
,Instance Segmentation Model
,Dynamic Crop
,Time in Zone
,Roboflow Dataset Upload
,LMM
,Moondream2
,Google Gemini
,PTZ Tracking (ONVIF)
.md),Clip Comparison
,Google Vision OCR
,YOLO-World Model
,Dimension Collapse
,Time in Zone
,Keypoint Detection Model
,Single-Label Classification Model
,Email Notification
,Model Monitoring Inference Aggregator
,Clip Comparison
,Size Measurement
,Multi-Label Classification Model
,Buffer
,Detections Consensus
,Line Counter
,OpenAI
,Detections Filter
,Path Deviation
,Velocity
,Time in Zone
,Path Deviation
,Dynamic Zone
,Florence-2 Model
,Roboflow Dataset Upload
,Perspective Correction
,Detections Transformation
,Object Detection Model
,Stitch OCR Detections
,Llama 3.2 Vision
,CogVLM
,Detections Stabilizer
,VLM as Detector
,Byte Tracker
,Florence-2 Model
,Overlap Filter
,Local File Sink
,Byte Tracker
,Slack Notification
,Detection Offset
,Detections Combine
,Roboflow Custom Metadata
,Twilio SMS Notification
,VLM as Classifier
,Segment Anything 2 Model
,Anthropic Claude
,VLM as Detector
,Detections Stitch
,Byte Tracker
,Bounding Rectangle
,LMM For Classification
,Template Matching
,Detections Classes Replacement
,Instance Segmentation Model
,OpenAI
,Object Detection Model
,OCR Model
,Detections Merge
,CSV Formatter
,Webhook Sink
,EasyOCR
- outputs:
Grid Visualization
,Ellipse Visualization
,Llama 3.2 Vision
,OpenAI
,VLM as Detector
,Instance Segmentation Model
,Time in Zone
,Roboflow Dataset Upload
,Line Counter Visualization
,Color Visualization
,Florence-2 Model
,Corner Visualization
,Google Gemini
,Keypoint Detection Model
,Line Counter
,Keypoint Visualization
,Trace Visualization
,Clip Comparison
,YOLO-World Model
,Email Notification
,Time in Zone
,Keypoint Detection Model
,VLM as Classifier
,Mask Visualization
,Polygon Zone Visualization
,Clip Comparison
,Anthropic Claude
,VLM as Detector
,Size Measurement
,Buffer
,Detections Consensus
,Polygon Visualization
,Line Counter
,Dot Visualization
,Path Deviation
,Object Detection Model
,LMM For Classification
,Classification Label Visualization
,Time in Zone
,Path Deviation
,Instance Segmentation Model
,Circle Visualization
,Bounding Box Visualization
,Florence-2 Model
,OpenAI
,Object Detection Model
,Cache Set
,Halo Visualization
,Reference Path Visualization
,VLM as Classifier
,Roboflow Dataset Upload
,Triangle Visualization
,Perspective Correction
,Webhook Sink
,Label Visualization
,Crop Visualization
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
,object_detection_prediction
,list_of_values
]): 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[string
,list_of_values
]): 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
]
}