Annotension

Label. Train.
Predict. Correct.
Repeat.

Start with labels you have reviewed. Train on your Mac, predict on another batch, then correct the suggestions to expand your dataset.

Each cycle keeps human review between model output and the next training dataset. The app’s current workflow uses detection bounding boxes.

Annotate a starting dataset

Create a project and draw your boxes, or import a YOLO/COCO detection dataset. Check classes and missed objects, then mark each completed image reviewed.

Follow the annotation quick start →

Give the model reviewed examples

Cluster your gallery to inspect similar scenes together and look across groups for images to label next. Clustering does not label images or measure training coverage.

Training needs reviewed object-bearing training images and at least one reviewed validation image. For projects without supplied splits, training uses a 20% validation split grouped by exact duplicate content.

Inspect empty images before marking them reviewed. These become verified negatives.

Train a detector locally

Choose Train Detector… in the project header. Annotension trains RT-DETRv2 R18 from a frozen snapshot of your reviewed data.

Set up the optional runtime →

Keep the run tied to its data

Each run records its dataset snapshot, class mapping, settings, hashes, and checkpoint. Validation images stay out of training; supplied train/validation/test assignments are preserved.

Settings and current limits

Choose 1–100 epochs, 320 or 640 pixels, and CPU or Apple GPU with CPU fallback. CPU is the default. Training requires Apple Silicon, macOS 14 or later, Python 3.11, the optional runtime, and an initial model download.

Training loss is not detection accuracy. Validation accuracy is not calculated yet. Each run starts from the pinned pretrained weights; resuming a previous fine-tune is not supported.

Predict on more images

Choose File → Add Images… to copy another unlabelled batch into the same project. Then choose Predict… and select a completed Annotension training run.

Select all eligible images or the current eligible image, set the confidence threshold, and run prediction. The checkpoint loads once for the batch.

Existing labels stay intact

Eligible images are unreviewed, have no boxes, and have no earlier prediction batch. Predictions do not replace existing annotations or earlier predictions. The checkpoint’s class IDs, names, and order must match the project.

Images and inference stay on your Mac. New images join train in a project with supplied splits, leaving validation and test membership unchanged.

Review and correct suggestions

Pending suggestions appear as orange dashed boxes. Select each one to Accept, Edit, or Reject it. Correct the box or class, and add manual boxes for missed objects.

Editing a pending suggestion does not approve it. Resolve every pending box, then inspect the whole image and check Image reviewed (including empty).

Look beyond the detections

Use the gallery’s Model predictions to inspect filter to include images where the model found nothing. No detections does not mean there are no objects.

Accepted boxes edited later return to pending and clear image review. Rejecting a suggestion keeps its audit record while excluding it from exported labels and training.

Train again with more reviewed data

The corrected and approved images expand the dataset for your next run. Train again, predict on another unlabelled batch, and repeat the review cycle.

Each run takes a fresh snapshot and starts from the pinned pretrained weights. The loop grows your reviewed dataset; it does not guarantee an accuracy improvement.

Explore the complete loop ↗

Export when you need it

Export reviewed labels as YOLO or RT-DETRv2 / COCO detection data. Exports and local training use reviewed images and approved visible boxes; pending suggestions do not enter automatically.

Keep held-out validation/test images separate. Exact duplicates crossing supplied splits are refused; related frames and near duplicates still need your inspection.

Review export options →