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:
Google Vision OCR,Label Visualization,LMM For Classification,Blur Visualization,Background Color Visualization,Contrast Equalization,Bounding Box Visualization,Keypoint Visualization,Stability AI Outpainting,Reference Path Visualization,Image Slicer,Pixelate Visualization,Single-Label Classification Model,CSV Formatter,Image Preprocessing,Color Visualization,SIFT Comparison,Object Detection Model,Email Notification,Anthropic Claude,Circle Visualization,Image Contours,Polygon Zone Visualization,Ellipse Visualization,Line Counter,Clip Comparison,Email Notification,VLM as Classifier,Model Monitoring Inference Aggregator,OCR Model,Absolute Static Crop,Depth Estimation,LMM,Morphological Transformation,Roboflow Dataset Upload,Detections Consensus,Crop Visualization,OpenAI,Image Convert Grayscale,Florence-2 Model,CogVLM,Roboflow Custom Metadata,VLM as Detector,Classification Label Visualization,Stitch OCR Detections,Keypoint Detection Model,SIFT Comparison,Line Counter,JSON Parser,Camera Calibration,Polygon Visualization,PTZ Tracking (ONVIF).md),Icon Visualization,Identify Changes,Triangle Visualization,Template Matching,Roboflow Dataset Upload,Anthropic Claude,Model Comparison Visualization,Corner Visualization,Distance Measurement,Florence-2 Model,Google Gemini,Google Gemini,EasyOCR,VLM as Detector,Line Counter Visualization,Grid Visualization,Halo Visualization,Stability AI Image Generation,Identify Outliers,QR Code Generator,Dynamic Zone,Twilio SMS Notification,Relative Static Crop,Dot Visualization,Llama 3.2 Vision,Image Blur,Slack Notification,OpenAI,Local File Sink,Multi-Label Classification Model,Image Slicer,OpenAI,Stability AI Inpainting,Dynamic Crop,Camera Focus,Pixel Color Count,Webhook Sink,Image Threshold,Instance Segmentation Model,Perspective Correction,Mask Visualization,Trace Visualization,OpenAI,VLM as Classifier,Stitch Images,SIFT - outputs:
Label Visualization,Blur Visualization,Background Color Visualization,Contrast Equalization,Reference Path Visualization,Stability AI Outpainting,Image Slicer,Pixelate Visualization,Single-Label Classification Model,Clip Comparison,Perception Encoder Embedding Model,Seg Preview,Image Preprocessing,Color Visualization,SIFT Comparison,Email Notification,Dominant Color,Circle Visualization,Object Detection Model,QR Code Detection,Moondream2,VLM as Classifier,Model Monitoring Inference Aggregator,OCR Model,Absolute Static Crop,LMM,Time in Zone,Morphological Transformation,Gaze Detection,Detections Consensus,Crop Visualization,OpenAI,Florence-2 Model,Barcode Detection,Classification Label Visualization,Byte Tracker,Segment Anything 2 Model,SIFT Comparison,Time in Zone,YOLO-World Model,PTZ Tracking (ONVIF).md),Detection Offset,Icon Visualization,VLM as Detector,Line Counter Visualization,Grid Visualization,Halo Visualization,Dynamic Zone,Twilio SMS Notification,Time in Zone,Detections Stitch,Llama 3.2 Vision,Image Blur,Slack Notification,Byte Tracker,OpenAI,Multi-Label Classification Model,Image Slicer,OpenAI,Dynamic Crop,Pixel Color Count,Mask Visualization,Stitch Images,SIFT,Google Vision OCR,LMM For Classification,Keypoint Visualization,Bounding Box Visualization,SAM 3,Byte Tracker,SAM 3,Qwen2.5-VL,Object Detection Model,Anthropic Claude,Image Contours,Polygon Zone Visualization,Ellipse Visualization,Email Notification,Clip Comparison,Depth Estimation,Roboflow Dataset Upload,Image Convert Grayscale,SAM 3,Multi-Label Classification Model,Roboflow Custom Metadata,CogVLM,VLM as Detector,Buffer,Keypoint Detection Model,Stitch OCR Detections,Keypoint Detection Model,Polygon Visualization,CLIP Embedding Model,Camera Calibration,Detections Classes Replacement,Identify Changes,Triangle Visualization,Template Matching,Roboflow Dataset Upload,Anthropic Claude,Model Comparison Visualization,Corner Visualization,Florence-2 Model,Google Gemini,Google Gemini,EasyOCR,SmolVLM2,Stability AI Image Generation,Identify Outliers,QR Code Generator,Dot Visualization,Relative Static Crop,Instance Segmentation Model,Stability AI Inpainting,Single-Label Classification Model,Camera Focus,Detections Stabilizer,Webhook Sink,Instance Segmentation Model,Image Threshold,Perspective Correction,VLM as Classifier,OpenAI,Trace Visualization
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:
Image Contours,SIFT Comparison,Line Counter,Line Counter,Template Matching,Depth Estimation,Distance Measurement,Pixel Color Count,Perspective Correction,SIFT Comparison,SIFT - outputs:
Label Visualization,Blur Visualization,Keypoint Visualization,Background Color Visualization,Bounding Box Visualization,Reference Path Visualization,Stability AI Outpainting,Image Slicer,Pixelate Visualization,Single-Label Classification Model,SAM 3,Byte Tracker,Image Preprocessing,SAM 3,Color Visualization,SIFT Comparison,Object Detection Model,Stitch Images,Email Notification,Dominant Color,Anthropic Claude,Image Contours,Circle Visualization,Object Detection Model,Polygon Zone Visualization,Ellipse Visualization,Email Notification,Model Monitoring Inference Aggregator,Absolute Static Crop,Time in Zone,Morphological Transformation,Roboflow Dataset Upload,Gaze Detection,Detections Consensus,Crop Visualization,Multi-Label Classification Model,Roboflow Custom Metadata,Classification Label Visualization,Byte Tracker,Keypoint Detection Model,Stitch OCR Detections,Segment Anything 2 Model,Keypoint Detection Model,SIFT Comparison,Time in Zone,Polygon Visualization,PTZ Tracking (ONVIF).md),Detection Offset,Detections Classes Replacement,Icon Visualization,Identify Changes,Triangle Visualization,Template Matching,Roboflow Dataset Upload,Anthropic Claude,Model Comparison Visualization,Corner Visualization,Line Counter Visualization,Grid Visualization,Halo Visualization,Identify Outliers,QR Code Generator,Dynamic Zone,Twilio SMS Notification,Time in Zone,Dot Visualization,Image Blur,Slack Notification,Byte Tracker,Instance Segmentation Model,Multi-Label Classification Model,Image Slicer,Stability AI Inpainting,Single-Label Classification Model,Pixel Color Count,Detections Stabilizer,Webhook Sink,Image Threshold,Instance Segmentation Model,Perspective Correction,Mask Visualization,Trace Visualization
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
}