PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.83k stars 2.89k forks source link

为啥感觉NMS不起作用 #9201

Closed leslie2046 closed 2 weeks ago

leslie2046 commented 2 weeks ago

问题确认 Search before asking

Bug组件 Bug Component

Inference

Bug描述 Describe the Bug

CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c ${config} -o weights=${weights} --infer_img=demo_coco1/r65172_20240611104609.png --draw_threshold=0.1 r65172_20240611104609 (4) 如图所示,左边这个人有重复框,应该可以被NMS消除掉 使用的模型:https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_s_80e_coco.pdparams 配置文件:https://github.com/PaddlePaddle/PaddleDetection/blob/develop/configs/ppyoloe/_base_/ppyoloe_plus_crn.yml

复现环境 Environment

Bug描述确认 Bug description confirmation

是否愿意提交PR? Are you willing to submit a PR?

TingquanGao commented 2 weeks ago

nms只会合并同一类别的重复检测框,你这个case看起来不是同一类别,因为框线的颜色是和类别一致的,你这里看起来是黄色和蓝色。

leslie2046 commented 2 weeks ago

那么我这种一个人出现两个不同类别的框是正常的吗,如何消除呢

TingquanGao commented 2 weeks ago

可以将预测结果打印出来看下,蓝色框这个是什么类别。另外你用的权重是官方提供的吗?还是自己训练的,是不是模型训练的时候类别有问题。

leslie2046 commented 2 weeks ago

确实是不同类别,这是用官方的权重https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_s_80e_coco.pdparams,在我自己的数据集上微调的。 所以如果是不同类别的重复框,应该是用score阈值来尝试消除是吗

TingquanGao commented 2 weeks ago

是的,可以用设置score阈值屏蔽