从零开始完成YOLOv5目标识别(七)一种完成目标计数的简单方法

往期文章:

从零开始完成YOLOv5目标识别(六)用接续训练完成大规模数据集训练(以FLIR为例)

​​​​​​从零开始完成YOLOv5目标识别(五)一种扩充数据集的方式

从零开始完成Yolov5目标识别(四)封装一个跨设备的YOLOv5检测软件

从零开始完成YOLOv5目标识别(三)用PyQt5展示YOLOv5的识别结果

从零开始完成Yolov5目标识别(二)制作并训练自己的训练集

从零开始完成Yolov5目标识别(一)准备工作

各位读者首先要认识到的问题是,在YOLOv5中完成锚框计数是一件非常简单的工作,要修改的代码只有两行。但现在CSDN上兜售的代码动辄将近100的价格。现特别将目标计数的方法记录在下文:

在detect.py/main.py中进行计数:

书接前系列用PyQt5实时展示训练结果:

从main.py line 138修改为:

                    count=1
                    for *xyxy, conf, cls in reversed(det):
                        c=int(cls)
                        label='%s %d' % (self.names[int(cls)],count)
                        name_list.append(self.names[int(cls)])
                    
                        single_info = plot_one_box(xyxy, showimg, label=label, color=self.colors[int(cls)], line_thickness=1)
                        count+=1

其中label变量记录需要展示的变量,原来是标签名称names+置信度conf,修改之后展示的是names+计数count。如果还需要展示其它变量继续修改label即可。

plot_one_box调用的plot.py中的绘图方法。

效果展示:

 注:这种操作在单目标计数的情况中一定有效,多目标还没试过

若不是按照系列文章操作的读者也可以在detect.py中修改代码,以达到一样的效果。

来源:明天才有空

物联沃分享整理
物联沃-IOTWORD物联网 » 从零开始完成YOLOv5目标识别(七)一种完成目标计数的简单方法

发表评论