> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/auto-labeling/find-similar.md).

# Find Similar

Use annotated examples to find similar objects in the Workbench, or automate labeling across project data with a Find Similar batch workflow.

Find Similar turns one verified object into a reviewed set of visually related proposals. It is designed for dense, repetitive scenes such as products, crops, cells, components, people, or vehicles.

![Magic Touch selects one object and Find Similar proposes matching instances](https://292810646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGjVLUz4wthGkGlRKM6rM%2Fuploads%2FrCcVkvXnwXbKswXGmGDP%2Fauto-labeling-detect-and-similar.avif?alt=media)

### What Find Similar does

In the Annotation Workbench, Find Similar appears after you select a compatible object and searches the **current image or current video frame**. This interactive action works within the item you are editing.

To reuse approved reference objects across project images, follow [Batch Auto-Labeling with Find Similar](https://docs.unitlab.ai/documentation/auto-labeling/batch-auto-labeling-with-find-similar). Add references to a Model stage in your workflow, then click **Save and Apply** to start the batch run automatically before annotation review.

| Seed geometry     | Proposal geometry | Supported |
| ----------------- | ----------------- | --------- |
| Bounding box      | Bounding box      | Yes       |
| Polygon           | Polygon           | Yes       |
| Segmentation mask | Segmentation mask | Yes       |
| Cuboid / 3D box   | Cuboid / 3D box   | Yes       |

The current experience exposes a confidence threshold, removes strong overlaps with committed annotations, and holds new results as pending proposals. Use **Clear** to discard the proposal set or **Accept all** after review.

{% hint style="info" %}
Find Similar is example-driven. [Prompt Labeling](/documentation/auto-labeling/prompt-labeling.md) is text-driven. Both produce proposals, but they solve different discovery problems.
{% endhint %}

### Find Similar for LiDAR scenes

For native 3D point-cloud annotation, follow the [LiDAR Find Similar workflow](/documentation/annotations/lidar-annotation.md#find-similar-auto-tracking-and-interpolation). Select a reliable 3D cuboid, then click **Find similar**. Unitlab automatically chooses a calibrated camera that sees the cuboid, searches that camera's current-frame image, and fits proposed cuboids to LiDAR points. Prepare the scene's camera intrinsics, sensor poses, and matching images before using this workflow. The image and video instructions below describe the visual-canvas workflow.

### Before you start

* Choose a seed that is correctly classified and tightly annotated.
* Prefer a clear, representative instance rather than a heavily occluded edge case.
* Confirm repeated objects are visually similar enough for example-based retrieval.
* Zoom so the seed boundary can be inspected before search.
* Read the project policy for duplicates, partial objects, and minimum visible area.

### Find repeated objects

{% stepper %}
{% step %}

#### Create or select the seed

Draw a box, polygon, mask, or cuboid around one representative instance. Select the finished object in the canvas or Objects panel.
{% endstep %}

{% step %}

#### Start Find Similar

Choose **Find Similar** from the contextual header action. If it is missing, verify the seed geometry is supported and the object is selected.
{% endstep %}

{% step %}

#### Tune confidence

Start with a conservative threshold. Lower it when recall is too low; raise it when unrelated candidates dominate.
{% endstep %}

{% step %}

#### Inspect pending proposals

Review the complete canvas, not only the area around the seed. Compare each proposal with the class definition and check overlap with existing annotations.
{% endstep %}

{% step %}

#### Accept or clear

Choose **Accept all** only when the set is appropriate. Otherwise clear the set, improve the seed or threshold, and run again.
{% endstep %}

{% step %}

#### Finish annotation QA

Correct boundaries, complete required properties, and submit through the configured workflow.
{% endstep %}
{% endstepper %}

### Current auto-labeling demo

{% embed url="<https://homepage-files.s3.us-east-2.amazonaws.com/hero-videos/hero/auto-labeling-2.mp4>" %}

*Live Unitlab demo used on the Video Annotation product page. The result remains editable and reviewable in the Workbench.*

### Threshold strategy

| Result pattern                          | Adjustment                                                          |
| --------------------------------------- | ------------------------------------------------------------------- |
| Many false positives                    | Raise confidence or choose a more distinctive seed                  |
| Similar objects are missed              | Lower confidence gradually and inspect the complete set             |
| One object receives duplicate proposals | Confirm the seed is committed and inspect overlap suppression       |
| Different states are mixed              | Use a more specific class or split the work by state/property       |
| Scale changes reduce recall             | Seed a second representative scale and review it as a separate pass |

### Review controls

For each proposal, verify:

* class and instance identity;
* geometry tightness or boundary precision;
* truncation and occlusion policy;
* duplicates and overlap with existing objects;
* required class properties;
* relations to other objects;
* consistency with nearby manually labeled examples.

{% hint style="warning" %}
Similarity is not semantic proof. A visually close result can still violate the ontology, and a valid instance can be visually different from the seed.
{% endhint %}

### When to use another tool

| Need                                                 | Better choice                                                                                     |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Find objects from a natural-language concept         | [Prompt Labeling](/documentation/auto-labeling/prompt-labeling.md)                                |
| Detect all visible instances of the active class     | [Detect Anything](/documentation/auto-labeling/detect-anything-sam-1-sam-3.md)                    |
| Propagate the same instance through frames or slices | [Bidirectional Auto-Tracking](/documentation/auto-labeling/bidirectional-auto-tracking.md)        |
| Search across many assets                            | [Embeddings, similarity, and outliers](/documentation/data/embeddings-similarity-and-outliers.md) |
| Process a project population before human review     | [Batch Auto-Labeling](/documentation/auto-labeling/batch-auto-labeling.md)                        |

### Operational guidance

Find Similar does not consume the standard AI-inference quota in the current implementation. Treat that as an execution detail, not a reason to skip review. Measure accepted proposals and correction rate on a representative cohort before using it as a standard labeling step.

### Related annotation guides

For data preparation, annotation tools, and review in each viewer, see [Image Annotation](https://docs.unitlab.ai/documentation/annotations/image-annotation), [Video Annotation](https://docs.unitlab.ai/documentation/annotations/video-annotation), [Medical Annotation](https://docs.unitlab.ai/documentation/annotations/medical-annotation), [Pathology Annotation](https://docs.unitlab.ai/documentation/annotations/pathology-annotation), and [Geospatial Annotation](https://docs.unitlab.ai/documentation/annotations/geospatial-annotation).
