SIFT Comparison¶
v2¶
Class: SIFTComparisonBlockV2 (there are multiple versions of this block)
Source: inference.core.workflows.core_steps.classical_cv.sift_comparison.v2.SIFTComparisonBlockV2
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Compare SIFT descriptors from multiple images using FLANN-based matcher.
This block is useful for determining if multiple images match based on their SIFT descriptors.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/sift_comparison@v2to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
good_matches_threshold |
int |
Threshold for the number of good matches to consider the images as matching. | ✅ |
ratio_threshold |
float |
Ratio threshold for the ratio test, which is used to filter out poor matches by comparing the distance of the closest match to the distance of the second closest match. A lower ratio indicates stricter filtering.. | ✅ |
matcher |
str |
Matcher to use for comparing the SIFT descriptors. | ✅ |
visualize |
bool |
Whether to visualize the keypoints and matches between the two images. | ✅ |
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 SIFT Comparison in version v2.
- inputs:
LMM,Background Color Visualization,Stitch Images,Image Slicer,Dynamic Zone,Identify Outliers,Model Monitoring Inference Aggregator,Corner Visualization,VLM as Classifier,Camera Calibration,Mask Visualization,Object Detection Model,Line Counter,Local File Sink,Model Comparison Visualization,Email Notification,Pixelate Visualization,Anthropic Claude,Relative Static Crop,Google Gemini,Florence-2 Model,Multi-Label Classification Model,Ellipse Visualization,Triangle Visualization,Camera Focus,OCR Model,QR Code Generator,Label Visualization,Pixel Color Count,Roboflow Custom Metadata,Florence-2 Model,Identify Changes,LMM For Classification,Blur Visualization,Dot Visualization,Stability AI Image Generation,Perspective Correction,Google Vision OCR,Line Counter,Llama 3.2 Vision,EasyOCR,Absolute Static Crop,Slack Notification,Morphological Transformation,Image Blur,Image Threshold,Clip Comparison,Stitch OCR Detections,Depth Estimation,Stability AI Outpainting,Halo Visualization,Stability AI Inpainting,Polygon Visualization,OpenAI,Grid Visualization,Roboflow Dataset Upload,Distance Measurement,Template Matching,CogVLM,Classification Label Visualization,Email Notification,VLM as Detector,Instance Segmentation Model,Bounding Box Visualization,Image Convert Grayscale,Polygon Zone Visualization,OpenAI,Keypoint Detection Model,Crop Visualization,Image Slicer,Icon Visualization,Color Visualization,Roboflow Dataset Upload,JSON Parser,Keypoint Visualization,Contrast Equalization,Image Contours,Circle Visualization,OpenAI,VLM as Classifier,CSV Formatter,Reference Path Visualization,SIFT Comparison,Twilio SMS Notification,VLM as Detector,Dynamic Crop,Webhook Sink,Detections Consensus,Single-Label Classification Model,SIFT,Line Counter Visualization,PTZ Tracking (ONVIF).md),Image Preprocessing,Trace Visualization,SIFT Comparison - outputs:
Background Color Visualization,Stitch Images,Image Slicer,Identify Outliers,VLM as Classifier,Corner Visualization,Mask Visualization,CLIP Embedding Model,Barcode Detection,Model Comparison Visualization,Email Notification,Time in Zone,Florence-2 Model,Multi-Label Classification Model,Ellipse Visualization,Camera Focus,OCR Model,Label Visualization,SmolVLM2,LMM For Classification,Blur Visualization,Dot Visualization,Google Vision OCR,Llama 3.2 Vision,Detections Stabilizer,Slack Notification,Image Blur,Stitch OCR Detections,Stability AI Outpainting,Depth Estimation,Halo Visualization,Qwen2.5-VL,Stability AI Inpainting,CogVLM,Classification Label Visualization,VLM as Detector,Instance Segmentation Model,Byte Tracker,Image Convert Grayscale,Polygon Zone Visualization,Perception Encoder Embedding Model,Clip Comparison,Detections Stitch,Crop Visualization,Image Slicer,YOLO-World Model,Multi-Label Classification Model,Icon Visualization,Seg Preview,Color Visualization,Buffer,Circle Visualization,Time in Zone,SIFT Comparison,Dynamic Crop,Single-Label Classification Model,SIFT,Line Counter Visualization,PTZ Tracking (ONVIF).md),Image Preprocessing,Trace Visualization,SIFT Comparison,LMM,Dynamic Zone,Model Monitoring Inference Aggregator,Detections Classes Replacement,Camera Calibration,Object Detection Model,QR Code Detection,Keypoint Detection Model,Pixelate Visualization,Anthropic Claude,Relative Static Crop,Google Gemini,Triangle Visualization,Segment Anything 2 Model,QR Code Generator,Byte Tracker,Dominant Color,Time in Zone,Pixel Color Count,Roboflow Custom Metadata,Florence-2 Model,Identify Changes,Single-Label Classification Model,Detection Offset,Stability AI Image Generation,EasyOCR,Absolute Static Crop,SAM 3,Morphological Transformation,Clip Comparison,Image Threshold,Byte Tracker,Polygon Visualization,OpenAI,Grid Visualization,Roboflow Dataset Upload,Template Matching,Email Notification,Bounding Box Visualization,OpenAI,Keypoint Detection Model,Object Detection Model,Gaze Detection,Moondream2,Roboflow Dataset Upload,Keypoint Visualization,Contrast Equalization,Image Contours,Instance Segmentation Model,OpenAI,VLM as Classifier,Reference Path Visualization,Twilio SMS Notification,VLM as Detector,Webhook Sink,Detections Consensus,Perspective Correction
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
SIFT Comparison in version v2 has.
Bindings
-
input
input_1(Union[numpy_array,image]): Reference to Image or SIFT descriptors from the first image to compare.input_2(Union[numpy_array,image]): Reference to Image or SIFT descriptors from the second image to compare.good_matches_threshold(integer): Threshold for the number of good matches to consider the images as matching.ratio_threshold(float_zero_to_one): Ratio threshold for the ratio test, which is used to filter out poor matches by comparing the distance of the closest match to the distance of the second closest match. A lower ratio indicates stricter filtering..matcher(string): Matcher to use for comparing the SIFT descriptors.visualize(boolean): Whether to visualize the keypoints and matches between the two images.
-
output
images_match(boolean): Boolean flag.good_matches_count(integer): Integer value.keypoints_1(image_keypoints): Image keypoints detected by classical Computer Vision method.descriptors_1(numpy_array): Numpy array.keypoints_2(image_keypoints): Image keypoints detected by classical Computer Vision method.descriptors_2(numpy_array): Numpy array.visualization_1(image): Image in workflows.visualization_2(image): Image in workflows.visualization_matches(image): Image in workflows.
Example JSON definition of step SIFT Comparison in version v2
{
"name": "<your_step_name_here>",
"type": "roboflow_core/sift_comparison@v2",
"input_1": "$inputs.image1",
"input_2": "$inputs.image2",
"good_matches_threshold": 50,
"ratio_threshold": 0.7,
"matcher": "FlannBasedMatcher",
"visualize": true
}
v1¶
Class: SIFTComparisonBlockV1 (there are multiple versions of this block)
Source: inference.core.workflows.core_steps.classical_cv.sift_comparison.v1.SIFTComparisonBlockV1
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Compare SIFT descriptors from multiple images using FLANN-based matcher.
This block is useful for determining if multiple images match based on their SIFT descriptors.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/sift_comparison@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
good_matches_threshold |
int |
Threshold for the number of good matches to consider the images as matching. | ✅ |
ratio_threshold |
float |
Ratio threshold for the ratio test, which is used to filter out poor matches by comparing the distance of the closest match to the distance of the second closest match. A lower ratio indicates stricter filtering.. | ✅ |
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 SIFT Comparison in version v1.
- inputs:
Pixel Color Count,Image Contours,Distance Measurement,Template Matching,Line Counter,Line Counter,SIFT Comparison,SIFT,Depth Estimation,Perspective Correction,SIFT Comparison - outputs:
Background Color Visualization,Stitch Images,Image Slicer,Dynamic Zone,Identify Outliers,Model Monitoring Inference Aggregator,Corner Visualization,Detections Classes Replacement,Object Detection Model,Mask Visualization,Model Comparison Visualization,Keypoint Detection Model,Email Notification,Pixelate Visualization,Anthropic Claude,Time in Zone,Multi-Label Classification Model,Ellipse Visualization,Triangle Visualization,Segment Anything 2 Model,QR Code Generator,Byte Tracker,Dominant Color,Label Visualization,Time in Zone,Pixel Color Count,Roboflow Custom Metadata,Identify Changes,Blur Visualization,Single-Label Classification Model,Dot Visualization,Detection Offset,Detections Stabilizer,Absolute Static Crop,Slack Notification,Morphological Transformation,Image Blur,Image Threshold,Stitch OCR Detections,Stability AI Outpainting,Byte Tracker,Halo Visualization,Stability AI Inpainting,Polygon Visualization,Grid Visualization,Roboflow Dataset Upload,Template Matching,Trace Visualization,Classification Label Visualization,Email Notification,Instance Segmentation Model,Bounding Box Visualization,Byte Tracker,Polygon Zone Visualization,Keypoint Detection Model,Crop Visualization,Object Detection Model,Image Slicer,Multi-Label Classification Model,Gaze Detection,Icon Visualization,Color Visualization,Roboflow Dataset Upload,Keypoint Visualization,Image Contours,Instance Segmentation Model,Circle Visualization,Time in Zone,Reference Path Visualization,SIFT Comparison,Twilio SMS Notification,Webhook Sink,Detections Consensus,Single-Label Classification Model,Line Counter Visualization,PTZ Tracking (ONVIF).md),Image Preprocessing,Perspective Correction,SIFT Comparison
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
SIFT Comparison in version v1 has.
Bindings
-
input
descriptor_1(numpy_array): Reference to SIFT descriptors from the first image to compare.descriptor_2(numpy_array): Reference to SIFT descriptors from the second image to compare.good_matches_threshold(integer): Threshold for the number of good matches to consider the images as matching.ratio_threshold(integer): Ratio threshold for the ratio test, which is used to filter out poor matches by comparing the distance of the closest match to the distance of the second closest match. A lower ratio indicates stricter filtering..
-
output
Example JSON definition of step SIFT Comparison in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/sift_comparison@v1",
"descriptor_1": "$steps.sift.descriptors",
"descriptor_2": "$steps.sift.descriptors",
"good_matches_threshold": 50,
"ratio_threshold": 0.7
}