LabelMe v6.3 sharpens AI-assisted annotation. A single AI-Box or AI-Points prompt no longer stacks redundant predictions on the same object, whether they came from nested SAM granularities or from an area you have already labeled.
Released on 2026-05-19.
Highlights
Smarter AI-assisted annotation
AI-Box, AI-Points, and AI-Text now run two suppression passes before any shape is created:
- Mask-aware NMS (#2088). A greedy per-label pass over SAM detections that uses both mask IoU and intersection-over-smaller (containment). The same region returned at multiple nested granularities (e.g. a tree-cluster mask and a single-tree mask that share a bbox) collapses to one shape. Plain bbox NMS cannot deduplicate nested masks that share a bbox; mask-aware NMS can.
- Overlap-with-existing suppression (#2087). A propagated AI detection whose mask IoU vs an already-annotated shape is >= 0.5 is dropped before becoming a shape. Drawing an AI-Box or clicking AI-Points over an object you have already annotated no longer duplicates it. Works against
rectangle,polygon,oriented_rectangle,circle, andmaskoutputs.
Together these turn a noisy SAM pass into a clean, additive one: only genuinely new objects reach the label list.
Bug fixes
- Empty AI inference now gives feedback (#2083). When an AI-Box produces no shape (e.g. every detection was suppressed), the status bar reports it and the edit-mode button is no longer left stuck disabled.
- Drop AI detections with empty masks (#2094). OSAM occasionally returns a bbox with an all-False segmentation mask; the mask branch now drops these instead of emitting a transparent shape, matching the polygon, circle, and oriented-rectangle paths.
- Mask bbox stays aligned with its bitmap (#2095). Hovering near a corner of a
maskshape no longer arms a vertex drag, which previously shrank the bbox without moving the underlying bitmap and left the green outline drifting off the mask. - Loguru FD leak in test runs (#2092). The per-test loguru handler is now removed cleanly, so xdist workers no longer hit
OSError: [Errno 24] Too many open fileson macOS.
Internal
create_modetyped as aLiteralwith runtime validation viatyping.get_args(#2086).- AI helper method renames:
CanvasAI helpers aligned with thecreate_modetokens (ai_box,ai_points) (#2090). _automationimported as a module, replacing ad-hoc symbol imports fromCanvasandApp(#2091).- Inline
_shapes_from_ai_boxinto its only call site after the unified AI flow (#2093). - American English consistency: rename
_finalise->_finalizeand other UK->US spellings (#2085). - Remove unused
hide_background_shapesCanvas feature (#2084). - Remove dead debug block in
compute_polygon_from_mask(#2089). - Dependency bump:
urllib32.6.3 -> 2.7.0 (#2081).
Install
pip install -U labelme==6.3.0
# or
uv tool install labelme==6.3.0Full changelog: v6.2.0...v6.3.0