赞
踩
摔倒检测(FallDown)数据集由网上收集而得,共计7782张图片,其中有部分图片和标签存在问题,经排查后发现标签存在的问题是voc格式里宽高保存都为零,处理后改成正确的图片长宽。过程中使用cv2方法读取图片失败,造成这个问题的本质应该是下载的数据集在前期数据格式转化的时候是直接将png jped bmp等格式的图像数据强制转化为了jpg,这样是存在风险的。可以借助于PIL(或者是OpenCV模块)将原始格式的数据读取出来然后再存储为自己要的格式的数据就行了。但是我这里没有重新保存一下,只是读了一次图片获取长宽修正了标签,所以后面训练的时候弹了一堆corrupt JPEG restored and saved警告。训练过程探测到数据格式有问题重新存储了,所以没有报错,但是最好还是之前发现问题的时候一并把这个问题解决了。
数据集的可用类别为:person和Down,但xml标签文件中还存在两个无用的类别“10+”和“dog”,我在voc转yolo数据集时剔除了这两类。
使用的python版本是3.10(版本过低可能会报错)
下载yolov5源码,然后安装所需要的包
pip install -r requirements.txt
数据集建立文件夹falldown(和yolo-master在同一文件夹下
images存放图片,labels文件夹存放标注。falldown.yaml文件用来存放一些路径和分类信息。
labels的目录不用写进去,会自动识别
训练之前,可以先测试一下代码能否正常工(--weights yolov5s.pt 会自动下载yolov5s.pt,也可以选择自己手动下载
- detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/
- cv2.imread('runs/detect/exp/zidane.jpg', 1)
得到下图
训练模型
!python train.py --weights yolov5s.pt --data ../falldown/falldown.yaml --workers 1 --batch-size 8
也可以点击train -> Edit Configurations,
然后在Parameters,输入对应参数命令
然后开始训练
可视化结果以及训练好的模型保存在runs文件夹下
模型训练完成后,将runs/exp/weights下的模型(best.pt)复制在yolov5文件夹下。
python detect.py --weights best.pt --source ../falldown/images
测试结果保存在runs/detect下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。