基于YoloV5的钢筋计数


文章为原创内容,如转载请标明,严禁照搬照抄!
另外如果大家有什么问题可以在评论区留言,我也是小白,我会尽量帮大家解答的。

1、下载YoloV5源代码

yolov5的源码下载地址 yolov5官网
在这里插入图片描述
在这里插入图片描述
下载之后大致是这样的,因为我这个是做钢筋计数,可能有一点不同
在这里插入图片描述

2、项目代码介绍

就简单做一下介绍:
1、data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。
2、models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
3、weights:放置训练好的权重参数。下载地址yolo_.pt
在这里插入图片描述
4、train.py:训练自己的数据集的函数
在这里插入图片描述
这里我们需要对这几行的代码进行修改
在这里插入图片描述
这里再放一张目录的图片

在这里插入图片描述

这里我们把数据集的路径添加进来,test这个可有可无,nc:后面记得有个空格,这里我们只检测钢筋,所以为1.
我们运行train.py之后会生成下面图片上的文件
在这里插入图片描述

5、detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。
在这里插入图片描述
我们接下来在detect.py中修改上面的代码,第223行是把train.py生成的best.pt添加进来,第224行是我们要进行钢筋计数的图片。

3、在图片上显示计数的个数

这里我们需要在

`            if save_img:
                cv2.putText(im0, f"{n} {names[int(c)]}{'s' * (n > 1)}", (5, 50), cv2.FONT_HERSHEY_SIMPLEX, 1.2,
                            (0, 0, 255), 2)  # 添加的显示计数值`

if save_img:下面添加下面这行代码才可以显示计数的数量。大概在detect.py的190行左右

4、手机连接摄像头进行实时计数

1,下载IP摄像头APP
在这里插入图片描述
2、按如下步骤操作
请添加图片描述
请添加图片描述
在这里插入图片描述

请添加图片描述
我们记下自己的ip地址,每个人的不一样
在这里插入图片描述
在这里插入图片描述
然后在上图中这个位置添加这行代码,填写自己的IP地址和端口号。

--view-img --source http://admin:admin@192.168.47.112:8081

点击ok,再在pycharm上运行detect.py就可以了。

5、图片检测效果

需要计数的图片
yolov5s.pt
yolov5s.pt的计数效果(数量为134)
yolov5m.pt
yolov5m.pt的计数效果(数量为153)
yolov5l.pt
yolov5l.pt的计数效果(数量为169)
通过这个计数对比我们可以发现计数效果yolov5l.pt优于yolov5m.pt优于yolov5s.pt.

6、摄像头实时计数

基于yolov5的摄像头钢筋实时计数

此外还有yolov5s.pt与yolov5m.pt的摄像头计数。需要源码的可以关注一下公共号:
Belated to bide

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值