Skip to content
Snippets Groups Projects
Commit 7037c9ed authored by maijianqiang's avatar maijianqiang
Browse files

fix bug faster_rcnn_310_postprocess

parent edb4a8fe
No related branches found
No related tags found
No related merge requests found
......@@ -116,7 +116,7 @@ def fasterrcnn_eval(dataset_path, ckpt_path, anno_path):
eval_types = ["bbox"]
result_files = results2json(dataset_coco, outputs, "./results.pkl")
coco_eval(config, result_files, eval_types, dataset_coco, single_result=False)
coco_eval(config, result_files, eval_types, dataset_coco, single_result=False, plot_detect_result=True)
def modelarts_pre_process():
......
......@@ -68,7 +68,7 @@ def get_eval_result(anno_path, result_path):
eval_types = ["bbox"]
result_files = results2json(dataset_coco, outputs, "./results.pkl")
coco_eval(result_files, eval_types, dataset_coco, single_result=False)
coco_eval(config, result_files, eval_types, dataset_coco, single_result=False)
if __name__ == '__main__':
get_eval_result(config.anno_path, config.result_path)
......@@ -22,7 +22,6 @@ import numpy as np
from pycocotools.coco import COCO
from src.detecteval import DetectEval
_init_value = np.array(0.0)
summary_init = {
'Precision/mAP': _init_value,
......@@ -51,7 +50,8 @@ def write_list_to_csv(file_path, data_to_write, append=False):
writer.writerow(data_to_write)
def coco_eval(config, result_files, result_types, coco, max_dets=(100, 300, 1000), single_result=False):
def coco_eval(config, result_files, result_types, coco, max_dets=(100, 300, 1000), single_result=False,
plot_detect_result=False):
"""coco eval for fasterrcnn"""
anns = json.load(open(result_files['bbox']))
if not anns:
......@@ -118,9 +118,11 @@ def coco_eval(config, result_files, result_types, coco, max_dets=(100, 300, 1000
print("summary_metrics: ")
print(summary_metrics)
res = calcuate_pr_rc_f1(config, coco, coco_dets, tgt_ids, iou_type)
if plot_detect_result:
res = calcuate_pr_rc_f1(config, coco, coco_dets, tgt_ids, iou_type)
return res
return res
return summary_metrics
def calcuate_pr_rc_f1(config, coco, coco_dets, tgt_ids, iou_type):
......@@ -192,7 +194,8 @@ def xyxy2xywh(bbox):
_bbox[1],
_bbox[2] - _bbox[0] + 1,
_bbox[3] - _bbox[1] + 1,
]
]
def bbox2result_1image(bboxes, labels, num_classes):
"""Convert detection results to a list of numpy arrays.
......@@ -211,11 +214,12 @@ def bbox2result_1image(bboxes, labels, num_classes):
result = [bboxes[labels == i, :] for i in range(num_classes - 1)]
return result
def proposal2json(dataset, results):
"""convert proposal to json mode"""
img_ids = dataset.getImgIds()
json_results = []
dataset_len = dataset.get_dataset_size()*2
dataset_len = dataset.get_dataset_size() * 2
for idx in range(dataset_len):
img_id = img_ids[idx]
bboxes = results[idx]
......@@ -228,6 +232,7 @@ def proposal2json(dataset, results):
json_results.append(data)
return json_results
def det2json(dataset, results):
"""convert det to json mode"""
cat_ids = dataset.getCatIds()
......@@ -249,6 +254,7 @@ def det2json(dataset, results):
json_results.append(data)
return json_results
def segm2json(dataset, results):
"""convert segm to json mode"""
bbox_json_results = []
......@@ -283,6 +289,7 @@ def segm2json(dataset, results):
segm_json_results.append(data)
return bbox_json_results, segm_json_results
def results2json(dataset, results, out_file):
"""convert result convert to json mode"""
result_files = dict()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment