diff --git a/mmdet/core/evaluation/coco_utils.py b/mmdet/core/evaluation/coco_utils.py index 325d3960408c885f2edbccf396d2f981422629b4..f6f5ac0a5dcc0bc87641ceb601e073b490d4cb42 100644 --- a/mmdet/core/evaluation/coco_utils.py +++ b/mmdet/core/evaluation/coco_utils.py @@ -142,7 +142,7 @@ def segm2json(dataset, results): # segm results # some detectors use different score for det and segm - if len(seg) == 2: + if isinstance(seg, tuple): segms = seg[0][label] mask_score = seg[1][label] else: @@ -153,7 +153,8 @@ def segm2json(dataset, results): data['image_id'] = img_id data['score'] = float(mask_score[i]) data['category_id'] = dataset.cat_ids[label] - segms[i]['counts'] = segms[i]['counts'].decode() + if isinstance(segms[i]['counts'], bytes): + segms[i]['counts'] = segms[i]['counts'].decode() data['segmentation'] = segms[i] segm_json_results.append(data) return bbox_json_results, segm_json_results