Multi-select labels in LabelMe
Annotation passes are repetitive. You hide every label except the class you're reviewing, you toggle visibility on a group of shapes to compare overlaps, you fix the same mistake on twenty boxes in a row. Doing that one shape at a time is the slowest part of QA.
LabelMe v6.2 makes the multi-selection a first-class target for actions on the canvas and in the label list.
How it works
Ctrl/Cmd+A on the canvas selects every shape on the current image. Previously you had to lasso or Shift-click each one. The shortcut works whenever the canvas has focus.
Range and additive selection in the label list. Click a row, Shift-click another row to select the range, Ctrl/Cmd-click to toggle individual rows. Standard list-widget behavior, but now the selection actually drives bulk actions.
The selection survives a checkbox click. Toggling the visibility checkbox on one selected row used to collapse the selection to that single row, which is Qt's default. The label list now intercepts the press so multi-selection is preserved, and the toggle propagates to every selected row.
What you can do with a multi-selection
- Hide or show a whole class at once. Select the rows, click the eye on any of them, and every selected shape toggles together. The change is captured as a single undo step, so one Ctrl/Cmd+Z brings everything back.
- Compare overlapping classes. Hide everything, then unhide one class at a time to see what each model or annotator produced for the same image.
- Move through long lists without losing context. Range-select stays put after you click checkboxes, so a long QA session doesn't keep resetting your selection.
Where to find it
Update to LabelMe v6.2 from the downloads page. The shortcut and propagation behavior are on by default, no setting to flip.
See the v6.2 release notes for the full changelog. The propagation change landed in #2035; Ctrl/Cmd+A was added in #1964.
If something behaves oddly with a multi-selection, open a GitHub issue or ask on Discord.