【SlowFast实战】从零搭建视频行为检测系统:环境配置与自定义视频处理指南

张开发
2026/4/10 23:32:17 15 分钟阅读

分享文章

【SlowFast实战】从零搭建视频行为检测系统:环境配置与自定义视频处理指南
1. 环境准备GPU云平台选择与配置第一次接触SlowFast时我花了整整三天时间在本地笔记本上折腾CUDA和PyTorch的版本兼容问题。后来发现用云平台GPU实例能省去90%的环境配置时间这里分享几个实测可用的方案。极链AI云平台是我的首选新用户有50元体验金足够跑通整个SlowFast项目。他们的预装镜像特别适合新手——PyTorch、CUDA、Python都是配置好的就像拿到一部装好系统的手机开机就能用。具体操作时要注意三个关键点实例规格选择行为检测任务对算力要求中等GTX 1080Ti或RTX 2080这类显卡完全够用时租费约4-6元。千万别选太老的架构如Kepler系列有些算子不支持。镜像选择务必选PyTorch框架的镜像建议Python 3.7PyTorch 1.6的组合。我遇到过PyTorch 1.3版本报RuntimeError: CUDA out of memory的坑升级到1.6后问题消失。存储配置视频文件比较占空间建议挂载至少50GB的云盘。记得把数据放在挂载盘而不是系统盘避免实例释放后数据丢失。登录后通过网页终端或Xshell连接实例先运行nvidia-smi确认显卡驱动正常。如果看到类似这样的输出说明环境就绪----------------------------------------------------------------------------- | NVIDIA-SMI 450.119.03 Driver Version: 450.119.03 CUDA Version: 11.0 | |---------------------------------------------------------------------------2. 代码部署与依赖安装SlowFast官方仓库的克隆有个小技巧——国内直接用GitHub链接可能只有10KB/s的速度。我常用的加速方法是git clone https://gitee.com/mirrors/SlowFast.git这个镜像仓库同步很及时下载速度能到5MB/s以上。安装依赖时最容易出问题的就是OpenCV。很多教程会让你pip install opencv-python但其实云平台镜像通常已经预装了。盲目安装新版反而会导致libSM.so.6缺失报错。建议先检查现有版本python -c import cv2; print(cv2.__version__)如果显示4.x版本就不用再安装。真正的依赖安装只需要两步cd SlowFast pip install githttps://github.com/facebookresearch/fvcore pip install -r requirements.txt遇到ImportError: libopenh264.so.5错误时常见于Ubuntu系统这个命令能解决conda install x2641!152.20180717 ffmpeg4.0.2 -c conda-forge3. 自定义视频数据处理官方Demo使用的是AVA数据集格式但我们的目标是用自己的视频。需要完成三个关键步骤3.1 视频格式转换SlowFast要求输入视频为MP4格式使用H.264编码。如果上传手机拍摄的MOV文件先用FFmpeg转换ffmpeg -i input.mov -vcodec libx264 -preset slow -crf 22 output.mp4参数说明-preset slow保证画质-crf 22是质量系数18-28之间均可3.2 创建标注文件在demo/AVA目录下新建custom.json内容参考这个结构{ walking: 0, running: 1, sitting: 2, standing: 3 }标签数量根据你的实际需求调整一般建议不超过20类。3.3 修改配置文件复制configs/AVA/SLOWFAST_32x2_R101_50_50.yaml到demo/AVA目录重点修改这些参数DEMO: ENABLE: True LABEL_FILE_PATH: demo/AVA/custom.json INPUT_VIDEO: demo/AVA/videos/your_video.mp4 OUTPUT_FILE: demo/AVA/output/result.mp4 DETECTRON2_CFG: COCO-Detection/faster_rcnn_R_50_FPN_3x.yaml4. 模型推理与结果可视化一切就绪后运行检测命令python tools/run_net.py --cfg demo/AVA/custom_config.yaml这个过程可能会遇到几个典型问题CUDA内存不足尝试减小TEST.BATCH_SIZE默认是8改为4或2视频尺寸报错确保视频分辨率是16的倍数如1920x1080用FFmpeg调整ffmpeg -i input.mp4 -vf scale1920:1080 -c:a copy output.mp4检测框偏移这是Detectron2的常见问题修改DEMO.DETECTION_SCORE_THRESH到0.7-0.9之间最终生成的输出视频会包含两类信息黄色边界框检测到的人体区域左上角标签预测的行为类别及置信度我常用VLC播放器查看结果视频因为它能精确跳帧分析。如果发现某些动作识别不准通常是因为原视频帧率太低建议≥25fps动作持续时间过短建议≥2秒拍摄角度不佳侧面比正面识别率低20%左右对于关键场景可以用DEMO.VIS_MODE参数保存中间特征图帮助分析模型注意力区域。

更多文章