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