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

postprocess bug

parent fafd17ed
No related branches found
No related tags found
No related merge requests found
......@@ -110,7 +110,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=True, plot_detect_result=True)
def modelarts_pre_process():
......
......@@ -25,9 +25,11 @@ from src.model_utils.moxing_adapter import moxing_wrapper
dst_width = config.img_width
dst_height = config.img_height
def modelarts_pre_process():
pass
@moxing_wrapper(pre_process=modelarts_pre_process)
def get_eval_result(ann_file, result_path):
""" get evaluation result of faster rcnn"""
......@@ -68,7 +70,8 @@ def get_eval_result(ann_file, 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.ann_file, config.result_path)
......@@ -23,7 +23,6 @@ import mmcv
from pycocotools.coco import COCO
from src.detecteval import DetectEval
_init_value = np.array(0.0)
summary_init = {
'Precision/mAP': _init_value,
......@@ -52,7 +51,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:
......@@ -119,9 +119,12 @@ 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
if plot_detect_result:
return res
return summary_metrics
def calcuate_pr_rc_f1(config, coco, coco_dets, tgt_ids, iou_type):
......@@ -193,7 +196,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.
......@@ -212,11 +216,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]
......@@ -229,6 +234,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()
......@@ -250,6 +256,7 @@ def det2json(dataset, results):
json_results.append(data)
return json_results
def segm2json(dataset, results):
"""convert segm to json mode"""
bbox_json_results = []
......@@ -284,6 +291,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