HumanSignal / HumanSignal/label-studio

Semantic segmentation option for BrushLabel

Open
#1,464 14 comments 4 reactions 1 assignee Claimed by @makseq View on GitHub
editor feature often asked segmentation
Dominant language
TypeScript
Stars
28.3k
Forks
3.7k
Avg merge
14h
Merged PRs (30d)
15

Description

**Is your feature request related to a problem? Please describe.**
Currently labelstudio only allows for [instance-segmentation](https://paperswithcode.com/task/instance-segmentation) with brushlabels. It would be great if it would also support the more popular [semantic segmentation](https://paperswithcode.com/task/semantic-segmentation) brushlabel which would only allow one class to be labeled per pixel.

**Describe the solution you'd like**
We should have a parameter within the [brushlabel config](https://labelstud.io/tags/brushlabels.html#Parameters) for segmentationType.

The new params list would be:

Param | Type | Default | Description
-- | -- | -- | --
name | string |   | Name of the element
toName | string |   | Name of the image to label
[choice] | single \| multiple | single | Configure whether the data labeler can select one or multiple labels
[maxUsages] | number |   | Maximum number of times a label can be used per task
[showInline] | boolean | true | Show labels in the same visual line
[segmentationType] | instance \| semantic \| panoptic | instance | Configure the type of brush labeling task(semantic segmentation, instance segmentation, panoptic segmentation)

```xml

```

Selecting semantic segmentation would only allow one region per label and overlapping one region over another would overwrite the former region. This would prevent issues where two classes/labels overlap.

**Describe alternatives you've considered**
When importing the annotations during model training, I've considered just merging multiple regions of the same class together into one class. Unfortunately, this doesn't prevent overlap of two different classes/labels and there's no obvious heuristic for resolving overlapping when trying to convert from instance segmentation labels to semantic segmentation labels.

**Additional context**
Related to https://github.com/heartexlabs/label-studio/issues/1246

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.