当前位置:   article > 正文

使用yolov5s实现行人跌倒检测_基于改进 yolov5s 的老人跌倒识别算法研究

基于改进 yolov5s 的老人跌倒识别算法研究

摔倒检测(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,也可以选择自己手动下载

  1. detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/
  2. 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下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/133569
推荐阅读
相关标签
  

闽ICP备14008679号