Skip to content

MultiClassNMS输出结果 #9426

@Doctor-Damu

Description

@Doctor-Damu

问题确认 Search before asking

  • 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.

请提出你的问题 Please ask your question

我用ppyoloe训练得到一个模型,由于yolo的特性,模型的原始输出是几千个bbox,然后需要经过multiclassNMS过滤掉其中的部分输出,然后得到最终的结果;

Image 如上图所示,pred_bboxes和pred_scores为原始的输入,bbox_pred和nums_keep_idx我理解为过滤之后得到的保留下来的bbox和对应的idx,我想知道这个idx具体指代什么,是否能够重复,还有得到的bbox_pred的结果,预测分数和对应预测类别是怎样获得的 Image 这是nms最后调用的地方,C_ops.multiclass_nms3我已经进不去,或者说源码在哪里可以看到?

可复现代码如下:
(py文件放在paddledetection的tools下面)
import numpy as np
import sys
import os

parent_path = os.path.abspath(os.path.join(file, *(['..'] * 2)))
sys.path.insert(0, parent_path)
import paddle
from ppdet.modeling.layers import MultiClassNMS

pred_bboxes = np.load('pred_bboxes.npy')
pred_scores = np.load('pred_scores.npy')
pred_bboxes_tensor = paddle.to_tensor(pred_bboxes)
pred_scores_tensor = paddle.to_tensor(pred_scores)

nms = MultiClassNMS(
score_threshold=0.01,
nms_top_k=1000,
keep_top_k=300,
nms_threshold=0.7,
normalized=True,
nms_eta=1.0,
return_index=True,
return_rois_num=True,
trt=False
)
bbox_pred, bbox_num, nms_keep_idx = nms(pred_bboxes_tensor, pred_scores_tensor)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions