Model-assisted labeling

Let a model do the first pass: built-in detectors, click-to-segment Smart Select, your own Core ML models, and batch runs. Everything runs on your Mac.

Assist

Open Assist (the wand) in the editor toolbar and pick a detector. Each proposal appears as a dashed box or polygon labeled with its class and confidence, e.g. player (92%). Hover one on the canvas for quick accept / reject buttons, or work from the inspector's Proposals section: its confidence slider hides weak proposals live, and Accept All (⌘↩) keeps the visible ones. Accepted proposals become normal annotations, and a new label is created for any class you don't already have.

Built-in detectors

Custom models

Bring your own object detector for your own classes: a Core ML .mlmodel or .mlpackage. One-time setup, offline afterwards:

  1. Get a model. Search Hugging Face for Core ML object detectors, train your own with Create ML on a dataset you export from yaAnnotator, or convert an existing model with coremltools. For RF-DETR, the open-source RF-DETR to Core ML converter produces a model yaAnnotator decodes directly, class names included.
  2. In Settings ▸ Detection, click Choose Model… and pick the file.
  3. If the model is a raw-tensor detector whose class names aren't in its metadata, enter them comma-separated in Settings ▸ Detection, in the model's output order. Otherwise proposals come back as class_1, class_2, …

Run it from Assist ▸ Detect with "your model", or ⇧⌘D.

Detect across many images at once

In the list or grid, select several images (⌘-click, ⇧-click, or ⌘A), then pick any command from Tools ▸ Detect. It runs that detector over every selected image and accepts all proposals automatically. There's no per-image review, so the app confirms first, and by default skips images that already have annotations. Because a batch can add a lot at once, you remove one by re-selecting those images and deleting.

Tuning (Settings ▸ Detection)

Three filters apply to the next run of any detector, built-in or custom: Minimum confidence, Max detections, and Minimum box size. Defaults are permissive; tighten them to cut false positives.

Smart Select

Smart Select turns a single click into an object outline. Choose the sparkle-lasso tool (S) and click an object; it traces a polygon for you to label and refine like any other annotation. The first click on an image takes a moment to prepare; clicks after that are quick.

It ships with SAM 2.1 Tiny, a small, fast Apache-2.0 Core ML model, so it works at install with nothing to download. For more accuracy, point it at a bigger variant: download one of Apple's coreml-sam2.1-small / baseplus / large releases from Hugging Face, then use Load Custom Model… in Settings ▸ Smart Select. A compatible model is a Core ML build of SAM 2 split into its encoder / prompt-encoder / decoder parts, named as in Apple's releases.

Tip: click the whole subject to select all of it, or a distinct part (a jersey, a stick) to select just that part; the Click selects setting biases which you get.

Tuning lives in Settings ▸ Smart Select: Detail (how closely the outline follows), Output (polygon, pixel mask, or bounding box), Edge (tighten or loosen at the boundary), and Click selects.

Pixel masks

With Output set to Pixel mask (creation is Pro; viewing, converting, importing, and exporting masks is free), Smart Select keeps the model's selection exactly: every pixel, including holes and separate pieces a polygon outline can't hold.

Annotating frames and bursts

Tools ▸ Paste Annotations from Previous Image (⌥⌘V) copies the previous image's annotations onto the current one, ready to nudge into place. It pairs well with video frames import.