matterport / Mask_RCNN

Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow
Other
24.52k stars 11.68k forks source link

How to add more class on MSCOCO dataset..... #340

Open matiqul opened 6 years ago

matiqul commented 6 years ago

Hi I would like to add one more class name with this class names in MSCOCO dataset...... class_names = ['BG', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush']

How I can do this...?

Yiman-GO commented 6 years ago

Two steps: 1、 convert your data into the pattern same with COCO. it's a 'json' file, which includes bbox, mask, class, image, id, your classnames... complicated.
2、in coco.py, change the NUM_CLASSES.

matiqul commented 6 years ago

Dear @Yiman-GO From where I start id number. Is it start from 0..?

Abduoit commented 6 years ago

I used balloon example to train the model with my own images. I don't think it is difficult. Is that what you want??

matiqul commented 6 years ago

Dear @Abduoit I want to know what is the starting image_id and id of your balloon class....

Yiman-GO commented 6 years ago

I thinks it is decided on your data. If you want add more data to coco[instaces....], you have to know ids of all images in coco then you use other number to name your data. And if you only use your data, it is more arbitrary. For me, I use 1~165 in train images and 166~200 to test images.(the result of training and testing is from 0) . In my memory, this code use id in .json file to search images. Loading data and analyzing it can work, but the result may be not clear. in a word, if you use coco data, it is very complicated. Or, it is more casual. And to stay away from possible errors, using id(0,1,2,3,4...) (both for training and testing) is the best choice.

matiqul commented 6 years ago

Thanks @Yiman-GO for your nice advice. One more question how do you calculate the segmentation area..?