基于YoloV5的钢筋计数

文章目录

文章为原创内容,如转载请标明,严禁照搬照抄!

另外如果大家有什么问题可以在评论区留言,我也是小白,我会尽量帮大家解答的。

1、下载YoloV5源代码

yolov5的源码下载地址 yolov5官网

基于YoloV5的钢筋计数
基于YoloV5的钢筋计数
下载之后大致是这样的,因为我这个是做钢筋计数,可能有一点不同
基于YoloV5的钢筋计数

; 2、项目代码介绍

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

基于YoloV5的钢筋计数
4、train.py:训练自己的数据集的函数
基于YoloV5的钢筋计数
这里我们需要对这几行的代码进行修改
基于YoloV5的钢筋计数
这里再放一张目录的图片

基于YoloV5的钢筋计数

这里我们把数据集的路径添加进来,test这个可有可无,nc:后面记得有个空格,这里我们只检测钢筋,所以为1.

我们运行train.py之后会生成下面图片上的文件

基于YoloV5的钢筋计数

5、detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。

基于YoloV5的钢筋计数
我们接下来在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

基于YoloV5的钢筋计数
2、按如下步骤操作
基于YoloV5的钢筋计数
基于YoloV5的钢筋计数
基于YoloV5的钢筋计数

基于YoloV5的钢筋计数
我们记下自己的ip地址,每个人的不一样
基于YoloV5的钢筋计数
基于YoloV5的钢筋计数
然后在上图中这个位置添加这行代码,填写自己的IP地址和端口号。
--view-img --source http://admin:admin@192.168.47.112:8081

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

5、图片检测效果

基于YoloV5的钢筋计数
基于YoloV5的钢筋计数
yolov5s.pt的计数效果(数量为134)
基于YoloV5的钢筋计数
yolov5m.pt的计数效果(数量为153)
基于YoloV5的钢筋计数
yolov5l.pt的计数效果(数量为169)
通过这个计数对比我们可以发现计数效果yolov5l.pt优于yolov5m.pt优于yolov5s.pt.

; 6、摄像头实时计数

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

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

Original: https://blog.csdn.net/qq_52893243/article/details/126029247
Author: –慢半拍–
Title: 基于YoloV5的钢筋计数

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/627535/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球