Reference for ultralytics/data/annotator.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/data/annotator.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.data.annotator.auto_annotate
auto_annotate(
data,
det_model="yolo11x.pt",
sam_model="sam_b.pt",
device="",
conf=0.25,
iou=0.45,
imgsz=640,
max_det=300,
classes=None,
output_dir=None,
)
Automatically annotates images using a YOLO object detection model and a SAM segmentation model.
This function processes images in a specified directory, detects objects using a YOLO model, and then generates segmentation masks using a SAM model. The resulting annotations are saved as text files.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data
|
str
|
Path to a folder containing images to be annotated. |
required |
det_model
|
str
|
Path or name of the pre-trained YOLO detection model. |
'yolo11x.pt'
|
sam_model
|
str
|
Path or name of the pre-trained SAM segmentation model. |
'sam_b.pt'
|
device
|
str
|
Device to run the models on (e.g., 'cpu', 'cuda', '0'). |
''
|
conf
|
float
|
Confidence threshold for detection model; default is 0.25. |
0.25
|
iou
|
float
|
IoU threshold for filtering overlapping boxes in detection results; default is 0.45. |
0.45
|
imgsz
|
int
|
Input image resize dimension; default is 640. |
640
|
max_det
|
int
|
Limits detections per image to control outputs in dense scenes. |
300
|
classes
|
list
|
Filters predictions to specified class IDs, returning only relevant detections. |
None
|
output_dir
|
str | None
|
Directory to save the annotated results. If None, a default directory is created. |
None
|
Examples:
>>> from ultralytics.data.annotator import auto_annotate
>>> auto_annotate(data="ultralytics/assets", det_model="yolo11n.pt", sam_model="mobile_sam.pt")
Notes
- The function creates a new directory for output if not specified.
- Annotation results are saved as text files with the same names as the input images.
- Each line in the output text file represents a detected object with its class ID and segmentation points.