若该文为原创文章,转载请注明原文出处。

打算做一个目标行为检测的项目,翻阅了大量资料,于是打算通过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/simple

pip 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

执行会一直在处理,没有显示,只能看保存的视频。

测试正常,在执行时,会下在一些文件,请耐心等待。

如有侵权,或需要完整代码,请及时联系博主。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐