赞
踩
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用于标注我们要识别的物体的位置
引用博客,教你使用这个工具制作
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)
#其他图片进行识别,训练的效果非常完美,草莓工厂项目的视觉模块已经完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。