yolo 初体验

2023-11-14 14:41:53 浏览数 (1)

想学一下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腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞