当前位置: 首页 > news >正文

行为识别实战第二天——Yolov5+SlowFast+deepsort: Action Detection(PytorchVideo)

Yolov5+SlowFast+deepsort

一、简介

YoloV5+SlowFast+DeepSort 是一个结合了目标检测、动作识别和目标跟踪技术的视频处理框架。这一集成系统利用了各自领域中的先进技术,为视频监控、体育分析、人机交互等应用提供了一种强大的解决方案。

1. 组件说明:

  • YoloV5: Yolo(You Only Look Once)是一个流行的实时目标检测系统,其第五代版本YoloV5通过深度学习模型快速准确地识别和定位图像中的多个对象。它适用于实时场景,因为可以快速处理图像并给出高精度的结果。
  • SlowFast: 这是一个视频动作识别网络,由 Facebook AI 研究院开发。它通过同时使用两个处理流——一个慢速流捕捉空间特征,一个快速流捕捉时间动态——来识别视频中的动作。这种结构使得SlowFast在处理复杂动作时能够更好地理解视频内容。
  • DeepSort: DeepSort 是一个轻量级的跟踪算法,它在简单的Sort(Simple Online and Realtime Tracking)算法基础上增加了深度学习特征。这使得DeepSort在保持跟踪对象的同时,能够有效处理遮挡和交互场景。

2. 技术运用:

在 YoloV5+SlowFast+DeepSort 集成系统中:

  • YoloV5 负责实时检测视频帧中的对象,为后续的动作识别和目标跟踪提供必要的前处理。
  • SlowFast 接收YoloV5的输出,即识别出的对象,并对这些对象执行动作识别。通过分析对象随时间的动态变化,SlowFast能够判断对象正在进行的动作。
  • DeepSort 则在此基础上进行目标跟踪,通过连续帧中的动作和位置变化,持续跟踪各个对象,即使在复杂场景中也能维持较高的跟踪准确性。

3. 比单独使用SlowFast的优点:

  • 实时性和综合分析:相比于单独的SlowFast,集成系统通过YoloV5提供实时目标检测,可以在每一帧中都识别和标注出目标,而不仅仅是动作识别。这对于需要实时反应和处理的应用来说,提供了更大的灵活性和实用性。
  • 动作和目标的精确跟踪:通过DeepSort,系统不仅可以识别动作,还可以精确地跟踪动作的执行者,即使在目标快速移动或部分遮挡的情况下也能持续追踪。这对于需要长时间监控特定个体或对象的场景尤为重要。

4. 意义:

这种集成的技术方案极大地扩展了视频分析的应用范围,使其不仅限于简单的动作识别,还包括了复杂环境中的实时多目标检测与追踪。对于安全监控、体育比赛分析、交互式媒体等领域,YoloV5+SlowFast+DeepSort 提供了一个高效、精确的工具,能够满足这些领域对实时性、准确性和鲁棒性的高要求。

二、环境配置

环境配置见:行为识别实战第一天——Slowfast行为识别部署-CSDN博客

三、文件准备

下载下面文件备用:

文件分享

 GitHub - Whiffe/yolov5-slowfast-deepsort-PytorchVideo

将 yolov5-master.zip放在yolov5-file,

将SLOWFAST_8x8_R50_DETECTION.pyth放在slowfast_file,

将yolov5l6.pt放在根目录yolov5-slowfast-deepsort-PytorchVideo-main。

 

sudo cp yolov5-file/yolov5-master.zip /home/ps/.cache/torch/hub/master.zipsudo cp slowfast_file/SLOWFAST_8x8_R50_DETECTION.pyth /home/ps/.cache/torch/hub/checkpoints/SLOWFAST_8x8_R50_DETECTION.pyth

四、运行

1.mp4 放在根目录下,

python yolo_slowfast.py --input 1.mp4

最后结果视频保存在output.mp4.

配置好的完整代码分享,100%可以运行:

 https://download.csdn.net/download/qq_34717531/89682626?spm=1001.2014.3001.5503

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度
  • 1.【R语言】R语言的下载和安装
  • css中 display block属性的用法
  • 找单身狗(c语言)
  • 【论文阅读】通过使用实体增强框架融合多种多模态线索来改进假新闻检测
  • Kotlin 泛型小知识: `<T>`, `<out T>`, `<in T>` 的区别
  • Oracle查询优化--分区表建立/普通表转分区表
  • C++:string类(1)
  • 根DNS服务器
  • 【ROS2】PID控制
  • 2024上海初中生古诗文大会备考:单选题真题和每道题独家解析
  • 让一个元素靠右对齐
  • 如何使用pytest的fixtures以及pytest-dependency插件来管理接口之间的依赖关系(上)
  • 8.26 T4 日记和编辑器(fhq维护kmp——kmp本身含有的单射与可合并性)
  • Multi-UAV|多无人机、多场景路径规划MATLAB
  • [译]Python中的类属性与实例属性的区别
  • iOS | NSProxy
  • JS 面试题总结
  • Mysql数据库的条件查询语句
  • SOFAMosn配置模型
  • 阿里云购买磁盘后挂载
  • 番外篇1:在Windows环境下安装JDK
  • 经典排序算法及其 Java 实现
  • 力扣(LeetCode)965
  • 盘点那些不知名却常用的 Git 操作
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 什么是Javascript函数节流?
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 译有关态射的一切
  • 终端用户监控:真实用户监控还是模拟监控?
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # 达梦数据库知识点
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #NOIP 2014# day.2 T2 寻找道路
  • (a /b)*c的值
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Note)C++中的继承方式
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转载)CentOS查看系统信息|CentOS查看命令
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .a文件和.so文件
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET Project Open Day(2011.11.13)
  • .Net 中Partitioner static与dynamic的性能对比
  • .NetCore实践篇:分布式监控Zipkin持久化之殇