往期文章:
从零开始完成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中修改代码,以达到一样的效果。