alfred
alfred copied to clipboard
cannot reshape array of size 1 into shape (0,2)
dalao你好,非常感谢alfred!今天尝试着使用alfred可视化了voc和coco,结果发现voc能够正常可视化,但coco好像有些问题。具体命令如下:
alfred data cocoview -j ./annotations/train.json -i ./train2017/
coco报错如下:
Alfred - Valet of Artificial Intelligence.
Author: Lucas Jin
At : 20202.10.01, since 2019.11.11
Loc : Shenzhen, China
Star : http://github.com/jinfagang/alfred
Ver. : 2.7.1
=> Module: data
=> Action: cocoview
loading annotations into memory...
Done (t=0.05s)
creating index...
index created!
INFO 04.16 17:48:22 view_coco.py:60: cats: [{'supercategory': 'insulator', 'id': 1, 'name': 'insulator'}]
INFO 04.16 17:48:22 view_coco.py:62: all images we got: 2208
checking img: {'height': 640, 'width': 640, 'id': 1, 'file_name': '772.jpg'}, id: 1
INFO 04.16 17:48:22 view_coco.py:73: showing anno: [{'segmentation': [[0.0]], 'iscrowd': 0, 'image_id': 1, 'area': 19434, 'bbox': [22, 248, 79, 246], 'category_id': 1, 'id': 1}, {'segmentation': [[0.0]], 'iscrowd': 0, 'image_id': 1, 'area': 16896, 'bbox': [272, 150, 66, 256], 'category_id': 1, 'id': 2}, {'segmentation': [[0.0]], 'iscrowd': 0, 'image_id': 1, 'area': 16960, 'bbox': [572, 36, 64, 265], 'category_id': 1, 'id': 3}]
Traceback (most recent call last):
File "/home/ly/anaconda3/envs/evaluate/lib/python3.7/site-packages/alfred/alfred.py", line 307, in main
vis_coco(img_d, json_f)
File "/home/ly/anaconda3/envs/evaluate/lib/python3.7/site-packages/alfred/modules/data/view_coco.py", line 109, in vis_coco
coco.showAnns(annos)
File "/home/ly/anaconda3/envs/evaluate/lib/python3.7/site-packages/pycocotools/coco.py", line 258, in showAnns
poly = np.array(seg).reshape((int(len(seg)/2), 2))
ValueError: cannot reshape array of size 1 into shape (0,2)
parse args error, type -h to see help. msg: cannot reshape array of size 1 into shape (0,2)
想问一下是因为我的json格式和coco不一样造成的报错么?我这个coco格式是从voc那转化过来了,两者在mmdetection上都实践过,都是能正常训练和测试的,希望dalao能够告诉解决方案
能训练事因为mmdetection默认filtered out invalid segmentation. 但是pycoco里面的API visualize的时候默认会显示所有的segmentation。你这里有一个segmentation是invalid的。
Basically, 你的标注有一些polygon不对。至于为什么不对,可以参考标准的coco format。alfred也支持VOC转coco,可以试一下。
alfred data voc2coco -d xmls_dir/