Skip to content

Latest commit

 

History

History
 
 

instance_segmentation

Instance Segmentation Example

Annotation

labelme data_annotated --labels labels.txt --nodata
labelme data_annotated --labels labels.txt --nodata --labelflags '{.*: [occluded, truncated], person-\d+: [male]}'

Convert to VOC-format Dataset

# It generates:
#   - data_dataset_voc/JPEGImages
#   - data_dataset_voc/SegmentationClass
#   - data_dataset_voc/SegmentationClassVisualization
#   - data_dataset_voc/SegmentationObject
#   - data_dataset_voc/SegmentationObjectVisualization
./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt


Fig 1. JPEG image (left), JPEG class label visualization (center), JPEG instance label visualization (right)

Note that the label file contains only very low label values (ex. 0, 4, 14), and 255 indicates the __ignore__ label value (-1 in the npy file).
You can see the label PNG file by following.

labelme_draw_label_png data_dataset_voc/SegmentationClassPNG/2011_000003.png   # left
labelme_draw_label_png data_dataset_voc/SegmentationObjectPNG/2011_000003.png  # right

Convert to COCO-format Dataset

# It generates:
#   - data_dataset_coco/JPEGImages
#   - data_dataset_coco/annotations.json
./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt

Convert to Nucleus-format Dataset

# It generates:
#   - data_dataset_nucleus/prefix_image_name/images
#   - data_dataset_nuclues/prefix_image_name/masks
./labelme2nucleus.py data_annotated data_dataset_nucleus --labels labels.txt --prefix Jun_20_mice1+2_

Convert to Mouse-channel dataset (Each mouse in 1 channel)

# It generates:
#   - mouse_dataset_channel/prefix_image_name
python ./labelme2channel.py mouse_annotated mouse_dataset_channel --labels labels_mouse.txt