mmdet的result array怎么转化成label和score

mmdet中运行

result = inference_detector(model, image)

输出结果后,result是一个6维数组,后使用model.show_result即可获得图像展示的检测结果

但是我想像yolo那样获得检测框+分数+类别怎么办呢?

去show_result函数中查看源码,可以看到应做如下操作

bboxes = np.vstack(result)
scores= bboxes[:,-1]
labels = [
    np.full(bbox.shape[0], i, dtype=np.int32)
    for i, bbox in enumerate(result)
    ]
labels = np.concatenate(labels)
inds = scores > args.score_thr
bboxes = bboxes[inds, :]
labels = labels[inds]

这时会只输出符合阈值的目标检测框及其类别 

bboxes

[[3.4934998e+02 5.7451122e+01 4.9860211e+02 2.9147833e+02 7.6528430e-01]
 [8.3112007e+01 6.0435093e+01 2.2810925e+02 2.8805286e+02 4.5002538e-01]
 [1.5362309e+00 8.6811485e+01 8.3717583e+01 2.8264017e+02 4.0073833e-01]
 [3.4979468e+02 5.7558826e+01 4.9878958e+02 2.9130658e+02 3.6422038e-01]
 [1.4389749e+00 8.6712654e+01 8.3697311e+01 2.8225986e+02 3.2453671e-01]]

labels
[0 0 0 0 0]

你可能感兴趣的:(深度学习,人工智能)