文章为原创内容,如转载请标明,严禁照搬照抄!
另外如果大家有什么问题可以在评论区留言,我也是小白,我会尽量帮大家解答的。
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的计数效果(数量为134)
yolov5m.pt的计数效果(数量为153)
yolov5l.pt的计数效果(数量为169)
通过这个计数对比我们可以发现计数效果yolov5l.pt优于yolov5m.pt优于yolov5s.pt.
6、摄像头实时计数
基于yolov5的摄像头钢筋实时计数文章来源:https://www.toymoban.com/news/detail-445065.html
此外还有yolov5s.pt与yolov5m.pt的摄像头计数。需要源码的可以关注一下公共号:
Belated to bide文章来源地址https://www.toymoban.com/news/detail-445065.html
到了这里,关于基于YoloV5的钢筋计数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!