Skip to content

v1.8 — SAM: label by clicking, outlines for boxes

Choose a tag to compare

@ILYAGRISH ILYAGRISH released this 08 Oct 19:18
· 8 commits to main since this release

Download & run (Windows)

  1. Download YOLO-Annotator-1.8-windows.zip below and unpack it.
  2. Install Python 3.12+ (3.13 recommended; 3.10 / 3.11 do not work — NumPy 2.5 needs 3.12) with "Add python.exe to PATH".
  3. Double-click setup_venv.bat once (creates .venv, installs pinned dependencies, ~150 MB).
  4. Start with run.bat.

For the AI features (YOLO pre-labelling and SAM): run setup_ml_env.bat once — a separate .venv-ml with PyTorch + Ultralytics (CUDA 12.8 build if an NVIDIA GPU is found, ~3 GB; --cpu for the CPU build) — or point ML → ML Settings… at an existing conda / venv with Ultralytics. The annotator itself never imports PyTorch.

SAM weights: one file, e.g. sam2.1_b.pt (~155 MB, recommended) or sam2.1_t.pt (~75 MB, faster / CPU) from ultralytics/assets releases; choose it in ML → ML Settings… or on first use.

User guide (RU): About.md inside the archive.

What's new in v1.8

SAM — label by clicking

  • New ✧ SAM tool (I): click an object and Segment Anything outlines it. Right-click removes a wrongly included part, drag gives a box hint, Backspace undoes a click, Enter accepts into the current class (one Ctrl+Z).
  • The class type decides the result: polygon, brush mask, box, tight rotated OBB or point.
  • The image is encoded once when opened — every click then takes ~20 ms on an RTX 5060 Ti. Works with SAM 2.1 / SAM 2 / SAM / MobileSAM weights; no new dependencies.
  • SAM annotations count as manual ones (no 🤖) — you chose the object.

SAM outlines for boxes

  • ML → Boxes → Outlines with SAM… turns existing boxes of a class — hand-drawn or from a detector — into polygons, brush masks or tight rotated boxes of another class: current image, all images or a split. One SAM pass per image for all its boxes; a second run skips boxes already outlined; boxes can be kept or deleted; the target class can be created right in the dialog.
  • Pre-label Dataset → Outlines via SAM: a plain detector now fills polygon / mask / OBB classes with real outlines (also with Ctrl+L).
  • "+ new class" in the mapping table offers every fitting type (a detector: bbox, polygon, mask, OBB).

Other

  • The type of a class can be changed while it has no annotations (Schema editor); reassigning the annotations of a deleted class is limited to classes of the same type.
  • Fix: the Delete key removed the selected annotation only with the Select tool — now with any tool.

Upgrading from 1.7.x: unpack into a new folder and run setup_venv.bat again — projects (.annproj) are compatible. For pre-labelling and SAM, keep using your existing ML environment (in ML → ML Settings… choose the python.exe of the old folder's .venv-ml\Scripts, or your conda env) or run setup_ml_env.bat in the new folder — don't copy .venv-ml between folders.