yolov5实现多图形识别和图像训练

1.使用了yolov7,检测更好,但是训练上有问题,运行不起来,转了一圈发现yolov5是应用更广泛使用简单

2.怎么使用
//下载代码
https://github.com/ultralytics/yolov5
//安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
//按照他的示例就可以运行起来
在这里插入图片描述
//直接打开电脑的摄像头进行识别
在这里插入图片描述
//我尝试了yolov8和yolov7.pt权重文件不能向上兼容,运行不起来
在这里插入图片描述
3.怎么训练图像

1.先下载一个labelImg用于标注我们要识别的物体的位置

 引用博客,教你使用这个工具制作

https://blog.csdn.net/weixin_43402278/article/details/131474784?ops_request_misc=&request_id=&biz_id=102&utm_term=lableimg%E6%80%8E%E4%B9%88%E6%89%93%E6%A0%87%E7%AD%BEyolov5&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-1-131474784.nonecase&spm=1018.2226.3001.4450

2.运行一次train得到官方的案例下载的数据集是和我们的项目同级的

在这里插入图片描述

在这里插入图片描述

//源文件注释掉download那句
在这里插入图片描述
#我已经删除掉了
在这里插入图片描述

3.在labelImage生成的文件复制到我们的文件夹 //image放图片 //labels放我们labelimage生成的文件

在这里插入图片描述
在这里插入图片描述
#第一个参数15是对应着类别我们需要修改,其他的是代表识别物体的位置(如,中心x/宽, 中心坐标y/高 为了降低数据大小优化速度)
在这里插入图片描述
#就是yml文件names的下标
在这里插入图片描述
#开始训练
在这里插入图片描述
#训练的结果输出到 runs/train/expxx 每次训练xx会加一
在这里插入图片描述
#best是最优的训练结果
在这里插入图片描述

#对训练的权重文件进行识别图片,由于训练数据太少,读者可以自行测试在这里插入图片描述
4.训练效果
在这里插入图片描述
#由于label是经常需要修改的,所以写了个工具类把第一个值改为我们配置文件写的names的下标
在这里插入图片描述
#下面是把文件夹下所有txt根据空格分割,替换第一个值

import os

def modify_txt_content(file_path, new_value):
    with open(file_path, 'r') as file:
        lines = file.readlines()

    with open(file_path, 'w') as file:
        for line in lines:
            values = line.strip().split(' ', 1)
            modified_line = new_value + ' ' + values[1]
            file.write(modified_line + '\n')

# 指定文件夹路径
folder_path = r"D:\py\datasets\coco128\labels\train2017"
# 指定要修改的第一个值为80
new_value = "80"

# 遍历文件夹下所有txt文件并进行修改
for filename in os.listdir(folder_path):
    if filename.endswith(".txt"):
        file_path = os.path.join(folder_path, filename)
        modify_txt_content(file_path, new_value)

#其他图片进行识别,训练的效果非常完美,草莓工厂项目的视觉模块已经完成
在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 22:32:05       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 22:32:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 22:32:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 22:32:05       20 阅读

热门阅读

  1. redis中使用lua脚本处理业务逻辑

    2023-12-05 22:32:05       34 阅读
  2. WPF-本地保存登录账号密码

    2023-12-05 22:32:05       41 阅读
  3. k8s(一):基本概念

    2023-12-05 22:32:05       38 阅读
  4. Source Code Management--(SCM in gitlab)

    2023-12-05 22:32:05       30 阅读
  5. 开源与闭源:技术创新的两难选择

    2023-12-05 22:32:05       38 阅读