dbolya / yolact

A simple, fully convolutional model for real-time instance segmentation.
MIT License
5k stars 1.33k forks source link

Training with partially empty segmentation masks #489

Open sabine1993 opened 4 years ago

sabine1993 commented 4 years ago

Hi everyone, does any one know if there is a possibility to train yolact with partly empty segmentation masks? I don't have a mask for specific classes but I want to train one model. I tried using segmentation=[] but I am running into an error during training.

File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\torch_utils.py", line 369, in reraise raise self.exc_type(msg) IndexError: Caught IndexError in DataLoader worker process 0. Original Traceback (most recent call last): File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\torch\utils\data_utils\worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "C:\Users\skugler\Desktop\Sabine_master\yolact\data\coco.py", line 95, in getitem im, gt, masks, h, w, num_crowds = self.pull_item(index) File "C:\Users\skugler\Desktop\Sabine_master\yolact\data\coco.py", line 154, in pull_item masks = [self.coco.annToMask(obj).reshape(-1) for obj in target] File "C:\Users\skugler\Desktop\Sabine_master\yolact\data\coco.py", line 154, in masks = [self.coco.annToMask(obj).reshape(-1) for obj in target] File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\pycocotools\coco.py", line 431, in annToMask rle = self.annToRLE(ann) File "C:\Users\skugler\AppData\Local\Continuum\anaconda3\envs\env_yolact\lib\site-packages\pycocotools\coco.py", line 416, in annToRLE rles = maskUtils.frPyObjects(segm, h, w) File "pycocotools_mask.pyx", line 292, in pycocotools._mask.frPyObjects IndexError: list index out of range

Has anyone solved this problem or has an idea how to solve it?

Fuli-Wang commented 2 years ago

I've meet the same issue

DozieSixtus commented 2 years ago

I just encountered this issue. Any solutions yet?

DozieSixtus commented 2 years ago

I've meet the same issue

Have you been able to solve it?

Fuli-Wang commented 2 years ago

I've meet the same issue

Have you been able to solve it?

I think it is necessary to train YolAct with segmentation masks. So I used Labelme to relabel my dataset and then I can train my dataset.

See the below to use Labelme: https://github.com/dbolya/yolact/issues/70#issuecomment-504283008