想学一下cv
但是劝退了,配置真的要了个命我RTX2060的显卡 最后只能拿cpu训练真的是要了个命
现在 记录一下学习过程
下载图片编辑功能
就是那个标注数据集的 .网上也查了不少资料... 要了个亲命, 那种什么json转txt 饶了我吧
最后发现这种是最简单的方式
代码语言:txt复制 使用pip工具进行安装LabelImg windos系统
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完以后直接 cmd 输入 labelimg 就可以了
标注常用的快捷键
W:调出标注的十字架,开始标注
A:切换到上一张图片
D:切换到下一张图片
Ctrl S:保存标注好的标签
del:删除标注的矩形框
Ctrl 鼠标滚轮:按住Ctrl,然后滚动鼠标滚轮,可以调整标注图片的显示大小
Ctrl u:选择要标注图片的文件夹
Ctrl r:选择标注好的label标签存放的文件夹
↑→↓←:移动标注的矩形框的位置
使用标注的十字架,框住要标注的目标即可,如下图,是我对公章数据进行标注:
标注的时候,会把predefined_classes.txt预定义的标加载出来,然后我们只要选择对应的标签即可
右上角会显示已经标注目标的标签
一定要选择yolo 的格式导出
他会自动创建一个class
例如我训练的是两个杯子
绿的和蓝色的 绿的为 A 蓝的 为 B
之后文件夹以这种形式 分布
代码语言:txt复制YOLO_A (
images (
test
train
)
labels (
test
train
)
)
上面的放图片 下面的放 txt 和class 标注
下载yolov5
直接这个网站 现在zip 解压
https://github.com/ultralytics/yolov5
然后创建虚拟环境 ,然后安装 ,在yolo安装文件目录下
pip install -r requirements.txt
注意 这里安装的是cpu 版本 我尝试的 搞过gpu版本 最终结果就是版本不适配报错 搞不明白
测试能不能用
代码语言:txt复制直接在文件夹根目录环境下 python detect.py
测试能不能用
如果出现图 然后在 ..yolov5-masterrunsdetectexp 这个目录下出现了 两个 画框的 图片 就代表能用
制作训练集
这部很简单 只要按照 我开始说的那个下载明白了 这个肯定能用明白
目录要像我这么分
然后目录分完后要复制一个 yaml 的文件 配置内容 如图
要配置 训练地址和 val 地址
nc 是需要分类的个数
names 是名字 要与文件中的class 文件夹对应
自己训练
代码语言:txt复制python train.py --img 640 --batch 13 --epochs 100 --data ../yolo_A/A.yaml --weights yolov5s.pt --nosave --cache
这个在官网有其他的 比如 yolov5s.pt yolov5x.pt
s 是比较快的 但是效果一般
x 比较慢的 但是效果比较好
然后训练完以后会出现了两个 文件 best.pt last.pt 精确最高 效果最好
训练如图
cpu 训练超级慢
其中两个参数
代码语言:txt复制batch 13 -->每轮训练多少张图
epochs 100 -->训练多少轮
测试及适用
代码语言:txt复制python detect.py --weights d:/my-yolov5/yolov5-master/yolov5-master/runs/train/exp5/weights/best.pt --img 640 --conf 0.25 --source ../test2.jpg --view-img
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!