一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法与流程

一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法与流程

本发明涉及模式识别与计算机视觉领域,尤其涉及一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法。



背景技术:

视觉一直是人类获取外界信息的最重要、最直观的途径,据有关统计,人类获取信息的80%都是通过视觉。随着摄像头等图像传感器的质量不断上升,同时价格的不断下降,图像传感器得到大规模的部署和应用,每天都会因此产生海量的信息。单纯地依靠眼睛去获取所需要的信息已经不能满足人们对与新信息、新知识的要求。另外,随着计算机运算速度的提高、计算能力的进一步增强,以及图像处理算法的不断发展,计算机视觉技术应运而生。计算机视觉技术依托计算机或者其他嵌入式平台,利用图像处理、机器学习和深度学习等技术,对图像进行特定目标检测识别、图像切割和图像理解等处理,实现对图像中的视觉信息自动分析和智能处理,提取我们所感兴趣的信息。近年来,计算机视觉技术得到越来越多研究人员的青睐,是当前最活跃和最重要的一个方向。基于视频的人体行为识别作为计算机视觉的一个热门研究领域,旨在研究和理解视频中人的行为动作,包括人的单体行为动作、人与人之间的交互行为、人与环境的交互关系等,自动识别视频或者图片序列中的行为动作。

人体行为识别方法主要分为传统的机器学习和深度学习两大类方法。传统的机器学习主要算法流程为特征提取、特征编码、行为分类这三个步骤。深度学习主要有双流卷积网络(two-streamconvolutionalnetworks)及其衍生网络、3d卷积神经网络(3dconvolutionalneuralnetworks,3d卷积)和长短期记忆网络(long-shorttermmemory,lstm)等等。

当前安防场景下人体动作识别的困难之处包括:

(1)在安防场景下异常动作发生频率很低、数据收集和标注困难等问题,即无论是常规动作还是异常动作都存在多样且复杂的特点,进而导致类别内的多样性较高。

(2)传统的骨架建模方法通常依赖于手工制作的部件或遍历规则,导致表达能力有限与难以推广。

时间信息是视频动作识别的关键因素,在视频动作识别中,探索研究一种有效的运动表示方法是非常重要的。传统如3dhog、运动向量、密集轨迹等运动描述方法存在效率低下、准确率偏低等问题。



技术实现要素:

针对上述问题,本发明提供一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法,解决安防场景下异常动作发生频率很低、数据收集和标注困难;传统的骨架建模方法通常依赖于手工制作的部件或遍历规则,导致表达能力有限与难以推广;传统如3dhog、运动向量、密集轨迹等运动描述方法存在效率低下、准确率偏低等问题。

其首先对获取的安防场景下的人体动作分析数据集进行随机划分,分为为训练集和验证集;其次对训练集和验证集视频数据进行数据增强处理;接着对获取的和增强的数据集利用注意力机制进行关键帧筛选;然后对筛选出来的关键帧视频利用人体姿态估计模型框架进行转码和标注,为训练人体动作检测与识别模型做好准备;最后构建时空骨骼图卷积神经网络模型,并使用训练集进行训练并利用随机梯度下降进行优化网络参数权重,使用验证集进行神经网络模型的准确率预测。

本发明具体包括以下方案:

一种安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法,其特征在于,包括以下步骤:

步骤s1:对获取的安防场景下的人体动作分析数据集进行随机划分,分为为训练集和验证集;

步骤s2:对训练集和验证集中的安防视频数据进行数据增强处理;

步骤s3:对增强后的人体动作分析数据集利用注意力机制进行关键帧筛选;

步骤s4:对筛选出来的关键帧视频利用人体姿态估计模型框架进行转码和标注;

步骤s5:构建时空骨骼图卷积神经网络模型,使用训练集进行训练并利用随机梯度下降进行优化网络参数权重;

步骤s6:使用验证集进行融合注意力机制和时空骨骼图卷积神经网络模型的准确率预测。

优选地,步骤s1具体包括以下步骤:

步骤s11:获取安防视频数据构建人体动作分析数据集,对获得的安防视频数据进行标准化处理,将视频分辨率和帧率统一;

步骤s12:将所述人体动作分析数据集按照100:1的比例随机分为训练集和验证集。

优选地,步骤s2具体包括以下步骤:

步骤s21:对所述安防视频数据进行自适应随机遮挡增强;

步骤s22:对所述安防视频数据进行旋转变换增强;

步骤s23:对所述安防视频数据进行随机剪裁增强;

步骤s24:对所述安防视频数据进行对比度变换增强;

步骤s25:对所述安防视频数据进行长或宽拉伸增强;

步骤s26:对所述安防视频数据进行随机加噪增强;

步骤s27:对所述安防视频数据进行去噪增强。

优选地,步骤s3具体包括以下步骤:

步骤s31:从一个安防视频数据序列中选择n个视频帧构成一个视频帧集合;

步骤s32:将所述视频帧集合中的每张图片经过预训练的resnet50处理后得到n*2048*8*4的特征图;

步骤s33:将所述特征图送入多区域空间注意力模块得到多个关注不同行人的特征集;

步骤s34:将不同视频帧同一个行人的特征经过时域注意力模块进行处理;

步骤s35:在时域上进行聚合得到一个行人的一个向量表示,多个行人得到的多个向量连接后经过一个全连接降维后作为视频序列的特征,训练阶段使用oimloss训练,获得一个视频序列的关键帧。

优选地,步骤s4具体包括以下步骤:

步骤s41:对筛选出来的关键帧视频输入到openpose姿态估计系统中,并使用coco模型提取18个关键点坐标信息和概率;

步骤s42:将关键帧视频数据表示为(3,t,18,2)的张量,其中t为视频数据的帧数,并将每个关键帧视频通过重复填充到300帧,使一个特征对应一个json数据文件;

步骤s43:将提取完特征的全部所述json数据文件,转化并打包为一个关键帧视频文件对应一个json数据文件的格式;

步骤s44:对打包完的json数据文件进行人工标注,把关键帧视频对应的动作类型用标签进行标明。

优选地,在步骤s41当中,多人场景下,只选取置信度(所有关键点置信度均值)最高的两个人的关键点信息。

优选地,步骤s5具体包括以下步骤:

步骤s51:构造时空骨骼图卷积神经网络模型,采用图像卷积核公式:其中x表示位置,k表示内核大小,h表示卷积核高度偏移的坐标,ω表示卷积核纵向偏移的坐标,fin表示输入特征函数,fout(x)表示x处的输出特征函数,p表示抽样函数,w表示权重函数;

步骤s52:将给定的某帧内的节点按照人体结构进行连接,然后将此帧,按帧内每个节点和下一帧中对应节点进行连接;

步骤s53:使用所述训练集进行训练并利用随机梯度下降对网络参数权重进行优化,损失函数为:其中,j(θ)是损失函数,m代表每次取多少样本进行训练,i代表从1到m的循环参数,采用随机梯度下降进行训练,每次随机取一组样本,m=1,θ是参数,h(θ)为待拟合的函数,x是样本值,y是预测目标。

优选地,步骤s6具体包括以下步骤:

步骤s61:将所述验证集进行数据增强;

步骤s62:采用步骤s3和s4的方法对验证集使用注意力机制进行关键帧筛选并转码和标注,得到视频中关键帧的信息;

步骤s63:将步骤s62得到的视频中关键帧的信息传入所述融合注意力机制和时空骨骼图卷积神经网络模型,得到一个类别,将此类别与标注的结果进行比较,计算准确率。

与现有技术相比,本发明及其优选方案具有以下主要有益效果:(1)不仅可以扩大原始动作数据量,还可以增强模型的鲁棒性,进而提升最终的动作识别准确率。(2)较大程度地提升了骨架建模能力。不仅具有较强的表达能力,而且具有较强的泛化能力。

附图说明

下面结合附图和具体实施方式对本发明进一步详细的说明:

图1是本发明实施例整体流程示意图。

具体实施方式

为让本专利的特征和优点能更明显易懂,下文特举实施例,并配合附图,作详细说明如下:

如图1所示,本实施例整体流程包括以下步骤:

步骤s1:对获取的安防场景下的人体动作分析数据集进行随机划分,分为为训练集和验证集;

在本实施例中,所述步骤s1具体包括:

步骤s11:采取自建或者下载公用的安防领域数据集;对获得的视频数据统一进行处理,将大小缩放为340*256,帧数率调整为30帧/秒;

步骤s12:将数据集按照100:1的比例随机分为训练集和验证集。

步骤s2:对训练集和验证集视频数据进行数据增强处理;

在本实施例中,所述步骤s2具体包括:

步骤s21:对视频数据进行自适应随机遮挡增强;

步骤s22:对视频数据进行旋转变换增强;

步骤s23:对视频数据进行随机剪裁增强;

步骤s24:对视频数据进行对比度变换增强;

步骤s25:对视频数据进行长或宽拉伸增强;

步骤s26:对视频数据进行随机加噪增强;

步骤s27:对视频数据进行去噪增强;

步骤s3:对获取的和增强的数据集利用注意力机制进行关键帧筛选;

在本实施例中,所述步骤s3具体包括:

步骤s31:从一个安防视频数据序列中选择n个视频帧构成一个视频帧集合;

步骤s32:将所述视频帧集合中的每张图片经过预训练的resnet50处理后得到n*2048*8*4的特征图;

步骤s33:将所述特征图送入多区域空间注意力模块得到多个关注不同行人的特征集;

该多区域空间注意力模块的具体实现方式为:对于每张图,看作有32个2048维的空间特征,对于每个空间注意力模块,将2048*32的空间特征图经过d个神经元的全连接和relu降维得到dx32,然后再经过一个神经元的全连接得到一张图32个空间向量分数,经过softmax得到32个空间向量的权重,然后根据l个权重对l个空间特征进行加权求和,得到第n帧、第k个空间注意力模块的特征;

步骤s34:将不同视频帧同一个行人的特征经过时域注意力模块进行处理;时域注意力模块是为了关注到更多细粒度的信息,采用了n*k个权重、每帧视频的每个空间感受野一个单独权重的时域注意力方法。该模块具体实现为:将特征图经过一个神经元的全连接得到一个分数,然后经时域上的softmax得到时域权重;

步骤s35:在时域上进行聚合得到一个行人的一个向量表示,多个行人得到的多个向量连接后经过一个全连接降维后作为视频序列的特征,训练阶段使用oimloss训练,获得一个视频序列的关键帧。

步骤s4:对筛选出来的关键帧视频利用人体姿态估计模型框架进行转码和标注,为训练人体动作检测与识别模型做好准备;

在本实施例中,所述步骤s4具体包括:

步骤s41:对筛选出来的关键帧视频输入到openpose姿态估计系统中,并使用coco模型提取18个关键点坐标信息和概率;多人场景下,只选取置信度最高(所有关键点置信度均值)的两个人的关键点信息;

步骤s42:将视频数据表示为(3,t,18,2)的张量,其中t为视频数据的帧数,为方便起见,将每个视频通过重复填充到300帧,此时是一个特征一个json数据文件,即一个视频文件有多个特征数据。

步骤s43:将提取完特征的全部json格式文件,转化并打包为一个视频文件对应一个json文件的格式。

步骤s44:对打包完的json视频数据进行人工标注,把视频文件对应的动作类型用标签进行标明。为训练人体动作检测与识别模型做好准备。

步骤s5:构建时空骨骼图卷积神经网络模型,并使用训练集进行训练并利用随机梯度下降进行优化网络参数权重;

在本实施例中,所述步骤s5具体包括:

步骤s51:构造时空骨骼图卷积神经网络模型,采用图像卷积核公式:其中x表示位置,k表示内核大小,h表示卷积核高度偏移的坐标,ω表示卷积核纵向偏移的坐标,fin表示输入特征函数,fout(x)表示x处的输出特征函数,p表示抽样函数,w表示权重函数;

步骤s52:将给定的某帧内的节点按照人体结构进行连接,然后将此帧,按帧内每个节点和下一帧中对应节点进行连接,这样构造可使模型应用于具有不同节点数和节点连接关系的不同数据集;

步骤s53:使用训练集进行训练并利用随机梯度下降进行优化网络参数权重,损失函数为:其中,j(θ)是损失函数,m代表每次取多少样本进行训练,i代表从1到m的循环参数,采用随机梯度下降进行训练,每次随机取一组样本,m=1,θ是参数,h(θ)为待拟合的函数,x是样本值,y是预测目标。

步骤s6:使用验证集进行融合注意力机制和时空骨骼图卷积神经网络模型的准确率预测。

在本实施例中,所述步骤s6具体包括:

步骤s61:将验证集进行数据增强;

步骤s62:采用步骤s3和s4的方法对验证集使用注意力机制进行关键帧筛选并转码和标注,得到视频中关键帧的信息;

步骤s63:将步骤s62得到的视频中关键帧的信息传入所述融合注意力机制和时空骨骼图卷积神经网络模型,得到一个类别,将此类别与标注的结果进行比较,计算准确率。

本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的安防场景下融合注意力机制和时空图卷积神经网络的人体动作识别方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。

完整全部详细技术资料下载
当前第1页1 2 
  • 该技术已申请专利。仅供学习研究,如用于商业用途,请联系技术所有人。
  • 技术研发人员:柯逍;柯力
  • 技术所有人:福州大学
  • 我是此专利的发明人
  • 上一篇:一种基于深度残差网络的文字透底现象去除方法与流程
  • 上一篇:一种用于瘦小型船尾船舶的节能水翼的制作方法

  • 该领域下的技术专家
  • 如您需求助技术专家,请点此查看客服电话进行咨询。
  • 1、李老师:1.计算力学 2.无损检测
  • 2、毕老师:机构动力学与控制
  • 3、袁老师:1.计算机视觉 2.无线网络及物联网
  • 4、王老师:1.计算机网络安全 2.计算机仿真技术
  • 5、王老师:1.网络安全;物联网安全 、大数据安全 2.安全态势感知、舆情分析和控制 3.区块链及应用
  • 如您是高校老师,可以点此联系我们加入专家库。
相关技术
  • 基于深度学习先验的人脸表情识...
  • 基于视觉关系检测的煤矿综采工...
  • 虚拟形象控制方法、虚拟形象控...
  • 内指纹提取方法、装置、系统及...
  • 用于确定对象状态的方法、装置...
  • 一种基于Kinect装置的步...
  • 基于波形特征差异的电流互感器...
  • 一种基于特征融合和机器学习的...
  • 一种图片处理方法、装置及计算...
  • 一种基于改进VGG-16模型...
网友询问留言已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/228901.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome插件开发

目录结构:通过mainfest.json进行项目文件入口配置,其中,manifest_version、name、version3个是必不可少的,description和icons是推荐的。下面是一个简单用例 {"name": "gaoyang-tianyancha","descripti…

文件下载输出zip文件

文件下载输出成zip文件&#xff1a; 1、前端整个按钮&#xff0c;调js方法&#xff1a;&#xff08;参数&#xff1a;param,需要下载的id&#xff0c;用逗号拼接&#xff09; var param "?dto.id";//需要自己拼接param window.location.href "<%basePat…

Python中matplotlib库的使用1

1 matplotlib库简介 matplotlib是一个数学绘图库&#xff0c;可以将数据通过图形的方式显示出来&#xff0c;也就是数据可视化。 2 matplotlib库的安装 2.1 打开cmd窗口 点击键盘的“Win”“R”键&#xff0c;在弹出的“运行”对话框的“打开”栏中输入“cmd”&#xff0c;…

多人协同开发git flow,创建初始化项目版本

文章目录 多人协同开发git flow&#xff0c;创建初始化项目版本1.gitee创建组织模拟多人协同开发2.git tag 打标签3.git push origin --tags 多人协同开发git flow&#xff0c;创建初始化项目版本 1.gitee创建组织模拟多人协同开发 组织中新建仓库 推送代码到我们组织的仓库 2…

关于镜头景深的计算

1、问题背景 在调试项目的过程中&#xff0c;我们需要知道所搭配镜头的对焦距离、景深范围是多少&#xff0c; 这属于基本的项目信息&#xff0c;很多时候往往就因为忽略了这些小的信息&#xff0c;而导致一系列问题。 比如之前调试的一款化妆镜的设备&#xff0c;客户反馈了…

应用在网络摄像机领域中的国产音频ADC芯片

IPC&#xff1a;其实叫“网络摄像机”&#xff0c;是IP Camera的简称。它是在前一代模拟摄像机的基础上&#xff0c;集成了编码模块后的摄像机。它和模拟摄像机的区别&#xff0c;就是在新增的“编码模块”上。模拟摄像机&#xff0c;顾名思义&#xff0c;输出的是模拟视频信号…

YOLOv5改进 | 2023主干篇 | 华为最新VanillaNet主干替换Backbone实现大幅度长点

一、本文介绍 本文给大家来的改进机制是华为最新VanillaNet网络&#xff0c;其是今年最新推出的主干网络&#xff0c;VanillaNet是一种注重极简主义和效率的神经网络架构。它的设计简单&#xff0c;层数较少&#xff0c;避免了像深度架构和自注意力这样的复杂操作(需要注意的是…

3D动态路障生成

3D动态路障生成 介绍设计实现1.路面创建2.空物体的创建3.Create.cs脚本创建 总结 介绍 上一篇文章介绍了Mathf.Lerp的底层实现原理&#xff0c;这里介绍一下跑酷类游戏的动态路障生成是如何实现的。 动态路障其实比较好生成&#xff0c;但是难点在哪里&#xff0c;如果都是平面…

HTML使用JavaScript的三种方式

要使用 JavaScript&#xff0c;你可以在 HTML 文件中的 <script> 标签中编写代码&#xff0c;或者将代码保存到一个单独的 .js 文件中并在 HTML 文件中引入。以下是一些常用的 JavaScript 使用方式&#xff1a; 内联 JavaScript&#xff1a;在 HTML 文件的 <script&g…

爬虫实战-微博评论爬取

简介 最近在做NLP方面的研究&#xff0c;以前一直在做CV方面。最近由于chatgpt&#xff0c;所以对NLP就非常感兴趣。索性就开始研究起来了。 其实我们都知道&#xff0c;无论是CV方向还是NLP方向的模型实现&#xff0c;都是离不开数据的。哪怕是再先进的代码&#xff0c;都是…

007、控制流

先看下本篇学习内容&#xff1a; 通过条件来执行 或 重复执行某些代码 是大部分编程语言的基础组成部分。在Rust中用来控制程序执行流的结构主要就是 if表达式 与 循环表达式。 1. if表达式 if表达式允许我们根据条件执行不同的代码分支。我们提供一个条件&#xff0c;并且做出…

Bytebase:统一数据库 CI/CD 解决方案 | 开源日报 No.128

bytebase/bytebase Stars: 7.9k License: NOASSERTION Bytebase 是一个数据库 CI/CD 解决方案&#xff0c;为开发人员和 DBA 提供统一的工具来管理不同数据库系统的开发生命周期。其主要功能包括标准化操作流程、SQL 代码审查、GitOps 集成以及数据访问控制等。关键特性和核心…

C#线程基础(线程启动和停止)

目录 一、关于线程 二、示例 三、生成效果 一、关于线程 在使用多线程前要先引用命名空间System.Threading&#xff0c;引用命名空间后就可以在需要的地方方便地创建并使用线程。 创建线程对象的构造方法中使用了ThreadStart()委托&#xff0c;当线程开始执行时&#xff0c…

【ArcGIS微课1000例】0084:甘肃积石山地震震中100km范围内历史灾害点分布图(2005-2020)

甘肃积石山地震震中100km范围内历史灾害点分布图(2005-2020)。 文章目录 一、成果预览二、实验数据三、符号化四、地图整饰一、成果预览 本实验最终效果图如下所示: 二、实验数据 以下数据可以从本专栏配套的实验数据包中0084.rar中获取。 1. 历史灾害数据。为2005-2020时…

微信小程序-入门

文章目录 微信小程序1. 基础知识1.1 小程序的定义和特点1.2 小程序的架构1.3 小程序的目录结构和文件类型1.4 小程序源文件解析1.4.1 app.json文件1.4.2 project.config.json文件1.4.3 sitemap.json文件 微信小程序 微信小程序开发工具下载&#xff1a; 微信官方文档&#xf…

【深度学习-图像分类】02 - AlexNet 论文学习与总结

论文地址&#xff1a;ImageNet Classification with Deep Convolutional Neural Networks 论文学习 1. 摘要 本研究训练了一个大型深度卷积神经网络&#xff08;CNN&#xff09;&#xff0c;用于对ImageNet LSVRC-2010比赛中的1.2百万高分辨率图像进行分类&#xff0c;这些图…

十大排序总结之——冒泡排序、插入排序

同样&#xff0c;这两几乎也是被淘汰了的算法&#xff0c;尽管它们是稳定的&#xff0c;但是时间复杂度没人喜欢&#xff0c;了解一下就好&#xff0c;没啥好说的&#xff0c;注意最后一句话就行了 一&#xff0c;冒泡排序 1. 算法步骤 共n-1趟&#xff0c;谁两敢冒泡就换了…

Stable Diffusion API入门:简明教程

Stable Diffusion 是一个先进的深度学习模型&#xff0c;用于创造和修改图像。这个模型能够基于文本描述来生成图像&#xff0c;让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API&#xff0c;通过编程来操控图像生成的过程。 在探索 Stable Diffusion API 的世界…

相机内参标定理论篇------相机模型选择

相机种类&#xff1a; 当拿到一款需要标定内参的相机时&#xff0c;第一个问题就是选择那种的相机模型。工程上相机类型的划分并不是十分严格&#xff0c;一般来说根据相机FOV可以把相机大概分为以下几类&#xff1a; 长焦相机&#xff1a;< 标准相机&#xff1a;~&…

2022年全国职业院校技能大赛(高职组)“云计算”赛项赛卷①第一场次:私有云

2022年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算”赛项赛卷1 第一场次&#xff1a;私有云&#xff08;30分&#xff09; 目录 2022年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算”赛项赛卷1 第一场次&#xff1a;私有云&#xff0…