yolact: The way `--output_coco_json` works right now is it operates on a dataset (which doesn't need to have ground truth). So you need to give a `--dataset` parameter instead of an `--image` parameter. The dataset you use doesn't need annotations, simply create a COCO dataset with just images and an empty annotation array and follow the dataset definition of `coco2017_testdev_dataset`.

Hi, thanks for your code. it works well with my dataset. But I have a problem of outputting the json file of eval.py. I have create a json file with empty annotation based on the test image (more than one), so I used this json file on the coco2017_testdev_dataset, but it did not give a path for imaging, just path for json file. I think I did not really understand how I can use --dataset, can u explain more?? thanks a lot.

The way --output_coco_json works right now is it operates on a dataset (which doesn’t need to have ground truth). So you need to give a --dataset parameter instead of an --image parameter. The dataset you use doesn’t need annotations, simply create a COCO dataset with just images and an empty annotation array and follow the dataset definition of coco2017_testdev_dataset.

For single images, this is kind of cumbersome, but for large batches it probably works fine? This feature was intended for submission to the COCO eval servers so that’s why it’s so roundabout. Let me know if this is indeed too cumbersome, and I can add --output_coco_json support to --image.

_Originally posted by @dbolya in https://github.com/dbolya/yolact/issues/230#issuecomment-560542964_

About this issue

Most upvoted comments

Hi @PL-96, @linyingyingkarina I could use the dataset parameter as suggested and it gave me two files: mask_detections.json bbox_detections.json How can i get single file per image from these two files? Do i use coco2labelme.py for this?

What does it mean by empty annotation array? Could you please explain. Did you find the answer?

Did not receive any answer

thanks for replying, I create an empty json file; image but I get the error: image if you know how to solve this issue, please share;

I’m facing the same error, Could somebody help.

I modified the code and get the json file now.

Hi @PL-96 No, here is what i want to do: Manual annotation - drawing polygons is a painful task. I have trained the YOLACT model on few images and it is predicting good polygons on the remaining. However the categories are false, so i need to open the annotations in labelme and correct the labels. Once the labels are corrected, i will retrain the model on the additional images (now i will have many images to train). For this purpose, i need the ‘eval.py’ to output single json file for each image (i know we can add --dataset parameter to get a single json - but that is one file for the entire dataset, i need per image) Thanks

hi, can I know how u generate my_custom_dataset to meet the demand of the dataset parameter?

the same as coco2017_testdev_dataset, and set ‘has_gt’ to False.

Hi @piseabhijeet

Sorry I don’t know how to generate single json. But maybe you can write python script to extract per image information from the entire folder json file. In my thought, output json ->mask->coco may work. If you have solved the problem, please let me konw how. thanks