前言

由于最近研究DETR目标检测,但是发现官方给的代码缺少了predict文件,于是自己写了一个,但是写代码的过程中也想到了一些问题,比如DETR没有采用NMS,该如何避免预测框重叠。总之按照论文方法简单实现了一下DETR的predict。


一、DETR的predict实现过程
由于只是测试用,仅仅简单实现了一下,有其他需要的可以自己更改,过程比较简单,就是加载训练权重,图像预处理送入网络进行前传,对得到的pre-logits和box进行处理得到类别cls和box坐标,最后将其画出来就可以了。

二、使用步骤

1.更改官方detr中308行的类别数

目标数是多少类就改为多少类目标数是多少类就改为多少类,对于官方的coco数据集来说是91类,背景为no-object类

2.根目录加入检测文件

看情况修改加载类别文件txt,输入大小自定,目前只支持w=h,否则检测框不准,需要更改的自己修改,懒得找问题了。
运行predict文件进行检测,需要输入图像位置
在这里插入图片描述效果如下
在这里插入图片描述没有进行NMS和置信度筛选,框比较乱,需要可以进一步修改。


总结

对比yolo检测结果,发现对遮挡物的效果DETR更加优秀。yolo检测如下
在这里插入图片描述需要留邮箱。