AI学习笔记三十四:基于yolov5+deepsort+slowfast的视频实时行为检测测试
若该文为原创文章,转载请注明原文出处。
打算做一个目标行为检测的项目,翻阅了大量资料,于是打算通过yolov5实现目标检测,deepsort实现目标跟踪以及slowfast实现动作识别,最终实现端到端的目标行为检测模型。
一、简介
SlowFast网络的基本思想是通过两个独立但相互连接的流来处理视频数据。Slow路径负责捕获空间语义信息,它以较低的帧率处理输入视频。Fast路径则以较高的帧率处理视频,能够捕捉快速运动信息。
slowfast 的核心结构包括:
1、慢路径网络(Slow):慢路径网络接收较少的帧数作为输入,用于捕捉空间语义信息
2、快路径网络(Fast):快路径网络接收更多的帧,以较好的时间分辨率捕捉运动。可以通过减少Fast路径的通道容量,使其变得非常轻,同时学习有用的时间信息用于视频识别
这两个网络通过特定的层进行信息交互,在每个阶段结束时进行。二者通过横向连接(lateral connection)进行融合。
二、源码
gitee:https://gitee.com/YFwinston/yolov5-slowfast-deepsort-PytorchVideo
ckpt.t7,yolov5l6.pt等文件下载:
https://share.weiyun.com/xCgma1LG
https://share.weiyun.com/EUi4NvnM
三、环境搭建
源码使用的是linux环境,没测试过,这里使用的是win10,cpu版本
1、创建环境
conda create -n yolo_slowfast_env python=3.7.11
2、激活
conda activate yolo_slowfast_env
3、安装依赖
pip install pytorchvideo -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplepip install ultralytics pip install torch torchvision pip install gitpython>=3.1.30
到此环境搭建完成
四、测试
测试前需要把模型文件放到源码下。
yolov5l6.pt文件放在工程目录下
ckpt.t7文件放在 deep_sort/deep/checkpoint/目录下
SLOWFAST_8x8_R50_DETECTION.pyth文件放到cache/torch/hub/checkpoints目录 下。
第三个文件如果没有,程序会在下载缓存。
接下来准备一个测试视频,执行下面命令:
python yolo_slowfast.py --input .\test.mp4 --device cpu --output result.mp4
执行会一直在处理,没有显示,只能看保存的视频。
测试正常,在执行时,会下在一些文件,请耐心等待。
如有侵权,或需要完整代码,请及时联系博主。