前言
由于最近研究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检测如下
需要留邮箱。