I\'m trying to train a CNN model that perform image segmentation, but I\'m confused how to create the ground truth if I have several image samples?
Image segmentation ca
For semantic segmentation every pixel of an image should be labeled. There are three following ways to address the task:
Vector based - polygons, polylines
Pixel based - brush, eraser
AI-powered tools
In Supervisely, tools to perform 1,2,3 are available.
Below are two videos that compare polygon vs AI-powered tools: cars segmentation and food segmentation.
More details about annotation features of Supervisely can be found here.
I created an open source tool called COCO Annotator: It provide any features where other tools fall short:
SageMaker Ground Truth has dataset management and UIs to enable semantic segmentation. https://aws.amazon.com/sagemaker/groundtruth/
We recently released an enhancement to the UI which speeds up annotations considerably, by automatically finding region boundaries. Read about it here: https://aws.amazon.com/blogs/machine-learning/auto-segmenting-objects-when-performing-semantic-segmentation-labeling-with-amazon-sagemaker-ground-truth/
you can use averaging and normalization techniques all over your dataset so create your ground truth and then label different structures. for this purpose, you can think about creating a so called |template|. make sure all your data are co registered initially.
Try out https://www.labelbox.io/. Here is what their image segmentation template looks like...
A lot of the code is open source and they have a hosted service to manage labeling end to end.
One tool that pops to mind is MIT's LabelMe toolbox: this toolbox is mainly for browsing the existing labeled images of the dataset, but it has an option to annotated new images as well.
There's alos this github repository for COCO UI you might find useful.