CN113033276B - 一种基于转换模块的行为识别方法 - Google Patents
一种基于转换模块的行为识别方法 Download PDFInfo
- Publication number
- CN113033276B CN113033276B CN202011383635.6A CN202011383635A CN113033276B CN 113033276 B CN113033276 B CN 113033276B CN 202011383635 A CN202011383635 A CN 202011383635A CN 113033276 B CN113033276 B CN 113033276B
- Authority
- CN
- China
- Prior art keywords
- data
- mask
- linear
- dim
- formula
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/32—Normalisation of the pattern dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于转换模块的行为识别方法,涉及人体动作识别领域。基于转换模块的行为识别方法首先读取连续帧图像及构建掩码;然后构建转换模块输入数据,包括获取转换模块输入数据和位置掩码矩阵mask操作;再转换模块动作识别,包括数据预处理操作,经过连续编码模块后的数据处理,获得动作检测结果;最后将类别检测结果,与类别标签target计算交叉熵损失,优化网络参数。该方法使用使用自然语言理解中使用的转换模块用于提取连续帧图像的时空特征,同时,整个识别过程中仅使用转换模块,进而降低了方法的参数量、降低了整体计算量、提高了动作识别频率。
Description
技术领域
本发明涉及人体动作识别领域,具体涉及一种基于转换模块的行为识别方法。
背景技术
动作识别通过提取连续视频帧的动作特征,完成视频动作内容的分析任务并获取动作类别的一种分类任务,可有助与提高重点区域下危险行为的监控能力,避免可能存在的危险行为的发生。
专利号为CN202010708119.X的中国专利,提出了一种高效的基于通道融合和分类器对抗的无监督跨域动作识别方法(CAFCCN),用于解决目标数据集训练数据集无标签的问题,通过使用源域数据集的信息和目标域无标签训练集的信息,实现了对目标域测试集的准确识别,本发明方法收敛速度快,识别精度高,从而为目标数据集训练数据集无标签上的动作识别问题提供了帮助。该方法不足之处在于,需要四个深度深度残差网络模型分别提取源光域光流图特征及目标域光流图特征,同时需要多个融合模块完成源光域光流图特征及目标域光流图特征的融合,从而导致整个算法的模型参数较多,整体计算量较大。
专利号为201810431650.X的中国专利,公开了一种基于深度学习的时序动作识别方法,针对边界检测过程中长动作特征表达有效性不够的问题,通过双流网络同时提取帧间信息和帧内信息,得到视频单元的特征序列,并提出结合上下文信息的多尺度短动作段截选方案,有效地提高后续回归准确率,利用特征序列训练时间边界模型,减小模型训练时间,提高计算效率。该方法不足之处在于,方法中使用间隔帧图像直接输入动作识别网络进行动作识别,当设备处于复杂环境、多目标时,不同目标不同的动作,会影响整个图像的动作检测结果,无法对每一个目标进行动作识别。同时,方法采用双流网络同时提取帧间信息和帧内信息,为了获得时序下连续帧图像特征不可避免的用到了3D卷积,这样的就增加了模型的计算量,导致模型训练周期增加,也增加了样本的搜集量。
专利号为CN202010840934.1的中国专利,公开了一种强动态视频的行为识别方法,根据数据集上的数据分布特征,将传统双流模型中的光流分支作为教导模型,辅助训练RGB分支;RGB分支输入源视频全局的RGB图像帧,光流分支输入源视频全局的光流图像帧,其中光流图像帧由RGB图像帧通过光流计算得到;进行RGB分支和光流分支联合推断,实现视频中行为的识别。专利中,分别以不同配置训练RGB分支及光流分支,相对于传统的双流算法,配置动态识别,可适应性强。本发明通过强化光流特征学习,考虑了强动态行为视频的性质,多阶段传递光流信息,获取充分的运动特征,提高了识别准确度。该专利还是以膨胀3D卷积用于获取光流的时间特征,以2D卷积获取空间特征,需要两个不同网络完成动作识别任务,并没有解决模型计算量较大、3D卷积网络移植性较差的问题。
专利号为201910064529.2的中国专利,公开了一种基于注意力机制的行为识别***,利用通道注意模块提取通道间特征码,用于动作预测。但是该专利的注意模块,使用的还是三维卷积集合二维卷积的方式,并没有解决3D卷积模型参数多计算量大的问题。
经典的动作识别方法,以3D卷积和光流法为基础,用于提取时间序列下的连续帧特征,获取连续帧在时间轴下的依赖关系,提高了动作识别精度。
相对于2D卷积而言,3D卷积需要在三个维度上提取连续帧特征,导致3D卷积模型的参数量增加,并增加了模型计算量,导致模型的训练周期较长。同时,3D作为一种新的计算方式,在不同深度学习框架下,对3D卷积的支持程度较差,影响了基于3D卷积的动作识别算法的实际应用性。
而光流法,需要多个2D卷积模型相互配合,用于提取时间特征及空间特征,导致模型参数过大、计算量较大,对实际应用中的硬件设备提出较高要求,降低了方法的实际应用性。
发明内容
本发明的目的是针对上述不足,提出了一种使用自然语言理解中使用的转换模块用于提取连续帧图像的时空特征,同时,整个识别过程中仅使用转换模块的行为识别方法。
本发明具体采用如下技术方案:
一种基于转换模块的行为识别方法,包括以下步骤:
步骤一,读取连续帧图像及构建掩码;
步骤二,构建转换模块输入数据,包括获取转换模块输入数据和位置掩码矩阵mask操作;
步骤三,转换模块动作识别,包括数据预处理操作,经过连续编码模块后的数据处理,获得动作检测结果;
步骤四,将类别检测结果,与类别标签target计算交叉熵损失,优化网络参数。
优选地,读取连续帧图像及构建掩码包括以下过程:
按时间顺序,连续clip=16帧的图像数据,构建输入数据input,连续帧图像数据input是维度为input∈R16×3×H×W的四维矩阵,其中H,W表示图片的原始高度和宽度;
对连续帧输入数据input的每一张图片,采用等比例缩放方法,进行图片大小变换,经过上述操作后,获得的数据维度为式(1)所示:
input∈R16×3×h×w (1)
其中,h,w为缩放后图片高度及宽度;
关键帧目标标签信息target,包含动作标签,
并构建位置掩码矩阵mask,是维度为mask∈R4×4的二维全1矩阵,用以标定输入数据中,真实图片的位置。
优选地,步骤二中获取转换模块输入数据包括以下过程:
将clip=16的连续帧图像数据input,平铺成二维矩阵,维度变化为:input∈R16 ×d,其中:d=3×h×w;
将铺平后的连续帧数据input,采用线性链接层,进行通道压缩,线性链接层输入通道数为d,输出通道数为1024,则经过压缩后获取的连续帧数据为式(2)所示:
clip_fram=Linear(input) (2)
其中,Linear(·)为线性链接层操作,获得的维度为clip_frame∈R16×1024的二维矩阵;
构建随机可训练参数矩阵cls_token,维度为cls_token∈R1×1024;
将数据cls_token与数据clip_frame,按照第一个维度进行矩阵拼接,获取转换模块输入数据in_data,为式(3)所示:
in_data=Cat(cls_token,clip_frame),cls_token∈R1×1024,clip_frame∈R16 ×1024 (3)
其中,Cat(·)表示矩阵拼接操作,获得的in_data数据是维度为in_data=R17×1024的二维矩阵;
位置掩码矩阵mask操作包括以下过程:
将掩码矩阵mask,平铺成以为一维向量,并在其维度变化为式(4):
对mask矩阵进行填充操作,获得变换后的mask矩阵表示为式(5):
mask=Pad(mask,(1,0),value=1) (5)
其中,Pad(·)表示填充操作,(1,0)表述在其第一个位置添加1个数据,添加数据数值value=1,输出的mask维度变换关系表示为式(6):
对数据mask进行维度变换,获取两个新矩阵为shift(7)所示:
获取新的掩码输入矩阵为shift(8):
in_mask=mask1×mask2 (8)
其维度为:in_mask∈R17×17的二维矩阵。
优选地,步骤三中的数据预处理操作包括以下过程:
构建随机可训练参数矩阵,pos_embedding,维度为pos_embedding∈R17×1024,与输入数据in_data相加,并进行神经元激活层操作,输出结果x表示为式(9):
x=Dropout(pos_embedding+in_data,dropout=0.1),x∈R17×1024 (9)
其中,Dropout(·)表示激活层操作,激活层因子dropout=0.1;
连续编码模块有depth=6个结构相同的基础编码模块串联组成,基础编码模块的计算过程为:
基础编码模块的基本设计参数为,输入数据通道数dim=1024,中间层数据通道数mlp_dim=2048,并行深度heads=8,激活层系数prodout=0.1;
1)数据归一化处理
对输入数据x进行归一化处理,获取的新数据表示为式(10):
x_out=Norml(x_in),x_out∈R17×1024 (10)
其中,Norml(·)表示归一化处理;为方便符号标记,用x_in,x_out代表处理前后的输入、输出数据;
2)并行关注操作
a.线性链接层数据通道扩充:
输入数据通道dim=1024,扩充后数据通道out_dim=dim×3=3072,其变换过程表示为式(11):
x_out1=Linear(x_in,dim=1024,out_dim=3072) (11)
其中,Linear(·)为线性链接操作,x_in,x_out1代表处理前后的输入、输出数据,数据维度变化表示为式(12):
b.构建q,k,v数据:
矩阵q,k相乘得到式(14):
其中,T表示矩阵转至操作;
掩码替换操作:
根据输入掩码矩阵in_mask∈R17×17,矩阵q,k相乘后结果x_out∈R8×17×17中,掩码结果为0的位置用value=1e-9进行替换,计算过程表示为式(15):
x_out5=softmax(Mask(x_out4,value=1e-9)),x_out5∈R8×17×17 (15)
其中,Mask(·)表示掩码操作,softmax(·)为神经网络中softmax激活层;
将输出结果x_out5与数据v相乘,并进数据变形后获取输出,为式(16)所示:
x_out6=Tranf(x_out5·v),x_out5∈R8×17×17,v∈R8×17×128,x_out6∈R17×1024 (16)
其中,Tranf(·)表示矩阵维度变换;
c.数据线性变换及激活处理:
x_out7=Dropout(Linear(x_out6,dim=1024,dim=1024),dropout=0.1),x_out7∈R17×1024
其中Linear(·)表示线性变换,输入通道dim=1024,输出通道dim=1024;Droput(·)表示神经元激活层处理,激活因子dropout=0.1;
经过并行关注操作后,经过残差操作,获取的模块输出为式(17):
x_out=x_in+x_out7,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (17);
3)前馈网络数据处理
前馈网络数据处理,针对并行关注操作后获得的数据进行相关操作,该部分输入数据为x_in∈R17×1024,经过下列数序处理过程:
线性处理成式(18):
x_out1=Linear(x_in,dim=1024,mlp_dim=2048),x_out1∈R17×1024 (18)
其中,Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(19)所示:
x_out2=GELU(x_out1),x_out2∈R17×1024 (19)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作为式(20)所示:
x_out3=Dropout(x_out2,dropout=0.1),x_out3∈R17×1024 (20)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(21)所示:
x_out4=Linear(x_out3,mlp_dim=2048,dim=1024),x_out4∈R17×1024 (21)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道dim=1024;
神经元激活层操作为式(22)所示:
x_out5=Dropout(x_out4,dropout=0.1),x_out5∈R17×1024 (22)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
经过前馈网络数据处理后,采用残差操作,获得的最终输出数据为式(23)所示:
x_out=x_in+x_out5,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (23);
经过连续编码模块后的数据,进行数据处理,获得动作检测结果,该过程表示为式(24):
x_out=x_in[0],x_in∈R17×1024,x_out∈R1×1024 (24)
对上述输出数据,进行如式(25)顺序操作:
归一化:
x_out1=Norml(x_out),x_out1∈R1×1024 (25)
其中,Norml(·)表示归一化处理;
线性处理成如式(26):
x_out2=Linear(x_out1,dim=1024,mlp_dim=2048,),x_out2∈R17×1024 (26)
其中Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(27)所示:
x_out3=GELU(x_out2),x_out3∈R1×2048 (27)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作如式(28):
x_out4=Dropout(x_out3,dropout=0.1),x_out4∈R1×2048 (28)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(29):
x_out5=Linear(x_out4,mlp_dim=2048,num_class),x_out5∈R17×num_class (29)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道num_class为类别数;
激活函数层为式(30):
x_out6=softmax(x_out5),x_out6∈R1×num_class (30)
其中,softmax(·)表示softmax激活函数,获取最终的动作识别结果。
本发明具有如下有益效果:
本方法基于连续特征提取,实现连续帧图像动作识别。
方法中以于转换模型提取模块代替3D卷积网络,解决了3D卷积网络模型计算量较大的问题,并提高了模型在GPU上的并行计算能力,同时转换模型均已最基础的算子组成,提高了模型的迁移部署性能,解决了模型转换或部署时兼容性较弱的问题。
附图说明
图1为基于转换模块的行为识别方法的流程框图;
图2为转换模块结构图;
图3为基础编码模块结构图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
结合图1-3,基于转换模块的行为识别方法,包括以下步骤:
步骤一,读取连续帧图像及构建掩码,读取连续帧图像及构建掩码包括以下过程:
按时间顺序,连续clip=16帧的图像数据,构建输入数据input,连续帧图像数据input是维度为input∈R16×3×H×W的四维矩阵,其中H,W表示图片的原始高度和宽度;
对连续帧输入数据input的每一张图片,采用等比例缩放方法,进行图片大小变换,经过上述操作后,获得的数据维度为式(1)所示:
input∈R16×3×h×w (1)
其中,h,w为缩放后图片高度及宽度;
关键帧目标标签信息target,包含动作标签,
并构建位置掩码矩阵mask,是维度为mask∈R4×4的二维全1矩阵,用以标定输入数据中,真实图片的位置。
步骤二,构建转换模块输入数据,包括获取转换模块输入数据和位置掩码矩阵mask操作,获取转换模块输入数据包括以下过程:
将clip=16的连续帧图像数据input,平铺成二维矩阵,维度变化为:input∈R16 ×d,其中:d=3×h×w;
将铺平后的连续帧数据input,采用线性链接层,进行通道压缩,线性链接层输入通道数为d,输出通道数为1024,则经过压缩后获取的连续帧数据为式(2)所示:
clip_fram=Linear(input) (2)
其中,Linear(·)为线性链接层操作,获得的维度为clip_frame∈R16×1024的二维矩阵;
构建随机可训练参数矩阵cls_token,维度为cls_token∈R1×1024;
将数据cls_token与数据clip_frame,按照第一个维度进行矩阵拼接,获取转换模块输入数据in_data,为式(3)所示:
in_data=Cat(cls_token,clip_frame),cls_token∈R1×1024,clip_frame∈R16 ×1024 (3)
其中,Cat(·)表示矩阵拼接操作,获得的in_data数据是维度为in_data=R17×1024的二维矩阵;
位置掩码矩阵mask操作包括以下过程:
将掩码矩阵mask,平铺成以为一维向量,并在其维度变化为式(4):
对mask矩阵进行填充操作,获得变换后的mask矩阵表示为式(5):
mask=Pad(mask,(1,0),value=1) (5)
其中,Pad(·)表示填充操作,(1,0)表述在其第一个位置添加1个数据,添加数据数值value=1,输出的mask维度变换关系表示为式(6):
对数据mask进行维度变换,获取两个新矩阵为shift(7)所示:
获取新的掩码输入矩阵为shift(8):
in_mask=mask1×mask2 (8)
其维度为:in_mask∈R17×17的二维矩阵。
步骤三,转换模块动作识别,包括数据预处理操作,经过连续编码模块后的数据处理,获得动作检测结果;数据预处理操作包括以下过程:
构建随机可训练参数矩阵,pos_embedding,维度为pos_embedding∈R17×1024,与输入数据in_data相加,并进行神经元激活层操作,输出结果x表示为式(9):
x=Dropout(pos_embedding+in_data,dropout=0.1),x∈R17×1024 (9)
其中,Dropout(·)表示激活层操作,激活层因子dropout=0.1;
连续编码模块有depth=6个结构相同的基础编码模块串联组成,基础编码模块的计算过程为:
基础编码模块的基本设计参数为,输入数据通道数dim=1024,中间层数据通道数mlp_dim=2048,并行深度heads=8,激活层系数prodout=0.1;
1)数据归一化处理
对输入数据x进行归一化处理,获取的新数据表示为式(10):
x_out=Norml(x_in),x_out∈R17×1024 (10)
其中,Norml(·)表示归一化处理;为方便符号标记,用x_in,x_out代表处理前后的输入、输出数据;
2)并行关注操作
a.线性链接层数据通道扩充:
输入数据通道dim=1024,扩充后数据通道out_dim=dim×3=3072,其变换过程表示为式(11):
x_out1=Linear(x_in,dim=1024,out_dim=3072) (11)
其中,Linear(·)为线性链接操作,x_in,x_out1代表处理前后的输入、输出数据,数据维度变化表示为式(12):
b.构建q,k,v数据:
矩阵q,k相乘得到式(14):
其中,T表示矩阵转至操作;
掩码替换操作:
根据输入掩码矩阵in_mask∈R17×17,矩阵q,k相乘后结果x_out∈R8×17×17中,掩码结果为0的位置用value=1e-9进行替换,计算过程表示为式(15):
x_out5=softmax(Mask(x_out4,value=1e-9)),x_out5∈R8×17×17 (15)
其中,Mask(·)表示掩码操作,softmax(·)为神经网络中softmax激活层;
将输出结果x_out5与数据v相乘,并进数据变形后获取输出,为式(16)所示:
x_out6=Tranf(x_out5·v),x_out5∈R8×17×17,v∈R8×17×128,x_out6∈R17×1024 (16)
其中,Tranf(·)表示矩阵维度变换;
c.数据线性变换及激活处理:
x_out7=Dropout(Linear(x_out6,dim=1024,dim=1024),dropout=0.1),x_out7∈R17×1024其中Linear(·)表示线性变换,输入通道dim=1024,输出通道dim=1024;Droput(·)表示神经元激活层处理,激活因子dropout=0.1;
经过并行关注操作后,经过残差操作,获取的模块输出为式(17):
x_out=x_in+x_out7,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (17);
3)前馈网络数据处理
前馈网络数据处理,针对并行关注操作后获得的数据进行相关操作,该部分输入数据为x_in∈R17×1024,经过下列数序处理过程:
线性处理成式(18):
x_out1=Linear(x_in,dim=1024,mlp_dim=2048),x_out1∈R17×1024 (18)
其中,Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(19)所示:
x_out2=GELU(x_out1),x_out2∈R17×1024 (19)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作为式(20)所示:
x_out3=Dropout(x_out2,dropout=0.1),x_out3∈R17×1024 (20)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(21)所示:
x_out4=Linear(x_out3,mlp_dim=2048,dim=1024),x_out4∈R17×1024 (21)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道dim=1024;
神经元激活层操作为式(22)所示:
x_out5=Dropout(x_out4,dropout=0.1),x_out5∈R17×1024 (22)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
经过前馈网络数据处理后,采用残差操作,获得的最终输出数据为式(23)所示:
x_out=x_in+x_out5,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (23);
经过连续编码模块后的数据,进行数据处理,获得动作检测结果,该过程表示为式(24):
x_out=x_in[0],x_in∈R17×1024,x_out∈R1×1024 (24)
对上述输出数据,进行如式(25)顺序操作:
归一化:
x_out1=Norml(x_out),x_out1∈R1×1024 (25)
其中,Norml(·)表示归一化处理;
线性处理成如式(26):
x_out2=Linear(x_out1,dim=1024,mlp_dim=2048,),x_out2∈R17×1024 (26)
其中Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(27)所示:
x_out3=GELU(x_out2),x_out3∈R1×2048 (27)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作如式(28):
x_out4=Dropout(x_out3,dropout=0.1),x_out4∈R1×2048 (28)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(29):
x_out5=Linear(x_out4,mlp_dim=2048,num_class),x_out5∈R17×num_class (29)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道num_class为类别数;
激活函数层为式(30):
x_out6=softmax(x_out5),x_out6∈R1×num_class (30)
其中,softmax(·)表示softmax激活函数,获取最终的动作识别结果。
步骤四,将类别检测结果,与类别标签target计算交叉熵损失,优化网络参数。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (3)
1.一种基于转换模块的行为识别方法,其特征在于,包括以下步骤:
步骤一,读取连续帧图像及构建掩码;
步骤二,构建转换模块输入数据,包括获取转换模块输入数据和位置掩码矩阵mask操作;
步骤三,转换模块动作识别,包括数据预处理操作,经过连续编码模块后的数据处理,获得动作检测结果,数据预处理操作包括以下过程:
构建随机可训练参数矩阵,pos_embedding,维度为pos_embedding∈R17×1024,与输入数据in_data相加,并进行神经元激活层操作,输出结果x表示为式(9):
x=Dropout(pos_embedding+in_data,dropout=0.1),x∈R17×1024 (9)
其中,Dropout(·)表示激活层操作,激活层因子dropout=0.1;
连续编码模块有depth=6个结构相同的基础编码模块串联组成,基础编码模块的计算过程为:
基础编码模块的基本设计参数为,输入数据通道数dim=1024,中间层数据通道数mlp_dim=2048,并行深度heads=8,激活层系数prodout=0.1;
1)数据归一化处理
对输入数据x进行归一化处理,获取的新数据表示为式(10):
x_out=Norml(x_in),x_out∈R17×1024 (10)
其中,Norml(·)表示归一化处理;为方便符号标记,用x_in,x_out代表处理前后的输入、输出数据;
2)并行关注操作
a.线性链接层数据通道扩充:
输入数据通道dim=1024,扩充后数据通道out_dim=dim×3=3072,其变换过程表示为式(11):
x_out1=Linear(x_in,dim=1024,out_dim=3072) (11)
其中,Linear(·)为线性链接操作,x_in,x_out1代表处理前后的输入、输出数据,数据维度变化表示为式(12):
b.构建q,k,v数据:
矩阵q,k相乘得到式(14):
其中,T表示矩阵转至操作;
掩码替换操作:
根据输入掩码矩阵in_mask∈R17×17,矩阵q,k相乘后结果x_out∈R8×17×17中,掩码结果为0的位置用value=1e-9进行替换,计算过程表示为式(15):
x_out5=softmax(Mask(x_out4,value=1e-9)),x_out5∈R8×17×17 (15)
其中,Mask(·)表示掩码操作,softmax(·)为神经网络中softmax激活层;
将输出结果x_out5与数据v相乘,并进数据变形后获取输出,为式(16)所示:
x_out6=Tranf(x_out5·v),x_out5∈R8×17×17,v∈R8×17×128,x_out6∈R17×1024 (16)
其中,Tranf(·)表示矩阵维度变换;
c.数据线性变换及激活处理:
x_out7=Dropout(Linear(x_out6,dim=1024,dim=1024),dropout=0.1),x_out7∈R17×1024
其中Linear(·)表示线性变换,输入通道dim=1024,输出通道dim=1024;Droput(·)表示神经元激活层处理,激活因子dropout=0.1;
经过并行关注操作后,经过残差操作,获取的模块输出为式(17):
x_out=x_in+x_out7,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (17);
3)前馈网络数据处理
前馈网络数据处理,针对并行关注操作后获得的数据进行相关操作,该部分输入数据为x_in∈R17×1024,经过下列数序处理过程:
线性处理成式(18):
x_out1=Linear(x_in,dim=1024,mlp_dim=2048),x_out1∈R17×1024 (18)
其中,Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(19)所示:
x_out2=GELU(x_out1),x_out2∈R17×1024 (19)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作为式(20)所示:
x_out3=Dropout(x_out2,dropout=0.1),x_out3∈R17×1024 (20)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(21)所示:
x_out4=Linear(x_out3,mlp_dim=2048,dim=1024),x_out4∈R17×1024 (21)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道dim=1024;
神经元激活层操作为式(22)所示:
x_out5=Dropout(x_out4,dropout=0.1),x_out5∈R17×1024 (22)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
经过前馈网络数据处理后,采用残差操作,获得的最终输出数据为式(23)所示:
x_out=x_in+x_out5,x_in∈R17×1024,x_out7∈R17×1024,x_out∈R17×1024 (23);
经过连续编码模块后的数据,进行数据处理,获得动作检测结果,该过程表示为式(24):
x_out=x_in[0],x_in∈R17×1024,x_out∈R1×1024 (24)
对上述输出数据,进行如式(25)顺序操作:
归一化:
x_out1=Norml(x_out),x_out1∈R1×1024 (25)
其中,Norml(·)表示归一化处理;
线性处理成如式(26):
x_out2=Linear(x_out1,dim=1024,mlp_dim=2048,),x_out2∈R17×1024 (26)
其中Linear(·)表示线性变换,输入通道dim=1024,输出通道mlp_dim=2048;
激活函数层为式(27)所示:
x_out3=GELU(x_out2),x_out3∈R1×2048 (27)
其中,GELU(·)表示GELU激活函数;
神经元激活层操作如式(28):
x_out4=Dropout(x_out3,dropout=0.1),x_out4∈R1×2048 (28)
其中,Droput(·)表示激活层处理,激活因子dropout=0.1;
线性处理成式(29):
x_out5=Linear(x_out4,mlp_dim=2048,num_class),x_out5∈R17×num_class (29)
其中,Linear(·)表示线性变换,输入通道mlp_dim=2048,输出通道num_class为类别数;
激活函数层为式(30):
x_out6=softmax(x_out5),x_out6∈R1×num_class (30)
其中,softmax(·)表示softmax激活函数,获取最终的动作识别结果;
步骤四,将动作检测结果,与类别标签target1计算交叉熵损失,优化网络参数。
2.如权利要求1所述的一种基于转换模块的行为识别方法,其特征在于,读取连续帧图像及构建掩码包括以下过程:
按时间顺序,连续clip=16帧的图像数据,构建输入数据input,连续帧图像数据input是维度为input∈R16×3×H×W的四维矩阵,其中H,W表示图片的原始高度和宽度;
对连续帧输入数据input的每一张图片,采用等比例缩放方法,进行图片大小变换,经过上述操作后,获得的数据维度为式(1)所示:
input∈R16×3×h×w (1)
其中,h,w为缩放后图片高度及宽度;
关键帧目标标签信息target2,包含动作标签,
并构建位置掩码矩阵mask,是维度为mask∈R4×4的二维全1矩阵,用以标定输入数据中,真实图片的位置。
3.如权利要求1所述的一种基于转换模块的行为识别方法,其特征在于,步骤二中获取转换模块输入数据包括以下过程:
将clip=16的连续帧图像数据input,平铺成二维矩阵,维度变化为:input∈R16×d,其中:d=3×h×w;
将铺平后的连续帧数据input,采用线性链接层,进行通道压缩,线性链接层输入通道数为d,输出通道数为1024,则经过压缩后获取的连续帧数据为式(2)所示:
clip_fram=Linear(input) (2)
其中,Linear(·)为线性链接层操作,获得的维度为clip_frame∈R16×1024的二维矩阵;
构建随机可训练参数矩阵cls_token,维度为cls_token∈R1×1024;
将数据cls_token与数据clip_frame,按照第一个维度进行矩阵拼接,获取转换模块输入数据in_data,为式(3)所示:
in_data=Cat(cls_token,clip_frame),cls_token∈R1×1024,clip_frame∈R16×1024 (3)
其中,Cat(·)表示矩阵拼接操作,获得的in_data数据是维度为in_data=R17×1024的二维矩阵;
位置掩码矩阵mask操作包括以下过程:
将掩码矩阵mask,平铺成以为一维向量,并在其维度变化为式(4):
对mask矩阵进行填充操作,获得变换后的mask矩阵表示为式(5):
mask=Pad(mask,(1,0),value=1) (5)
其中,Pad(·)表示填充操作,(1,0)表述在其第一个位置添加1个数据,添加数据数值value=1,输出的mask维度变换关系表示为式(6):
对数据mask进行维度变换,获取两个新矩阵为式(7)所示:
获取新的掩码输入矩阵为式(8):
in_mask=mask1×mask2 (8)
其维度为:in_mask∈R17×17的二维矩阵。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383635.6A CN113033276B (zh) | 2020-12-01 | 2020-12-01 | 一种基于转换模块的行为识别方法 |
PCT/CN2021/116770 WO2022116616A1 (zh) | 2020-12-01 | 2021-09-06 | 一种基于转换模块的行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011383635.6A CN113033276B (zh) | 2020-12-01 | 2020-12-01 | 一种基于转换模块的行为识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033276A CN113033276A (zh) | 2021-06-25 |
CN113033276B true CN113033276B (zh) | 2022-05-17 |
Family
ID=76459191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011383635.6A Active CN113033276B (zh) | 2020-12-01 | 2020-12-01 | 一种基于转换模块的行为识别方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113033276B (zh) |
WO (1) | WO2022116616A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033276B (zh) * | 2020-12-01 | 2022-05-17 | 神思电子技术股份有限公司 | 一种基于转换模块的行为识别方法 |
CN115065567B (zh) * | 2022-08-19 | 2022-11-11 | 北京金睛云华科技有限公司 | 用于dga域名研判推理机的插件化执行方法 |
CN116246338B (zh) * | 2022-12-20 | 2023-10-03 | 西南交通大学 | 一种基于图卷积和Transformer复合神经网络的行为识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909005A (zh) * | 2017-10-26 | 2018-04-13 | 西安电子科技大学 | 基于深度学习的监控场景下人物姿态识别方法 |
CN108830157A (zh) * | 2018-05-15 | 2018-11-16 | 华北电力大学(保定) | 基于注意力机制和3d卷积神经网络的人体行为识别方法 |
CN109726671A (zh) * | 2018-12-27 | 2019-05-07 | 上海交通大学 | 从全局到类别特征表达学习的动作识别方法和*** |
CN109829443A (zh) * | 2019-02-23 | 2019-05-31 | 重庆邮电大学 | 基于图像增强与3d卷积神经网络的视频行为识别方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474988B2 (en) * | 2017-08-07 | 2019-11-12 | Standard Cognition, Corp. | Predicting inventory events using foreground/background processing |
CN109543627B (zh) * | 2018-11-27 | 2023-08-01 | 西安电子科技大学 | 一种判断驾驶行为类别的方法、装置、及计算机设备 |
US10977355B2 (en) * | 2019-09-11 | 2021-04-13 | Lg Electronics Inc. | Authentication method and device through face recognition |
CN111008567B (zh) * | 2019-11-07 | 2023-03-24 | 郑州大学 | 一种驾驶员行为识别方法 |
CN113033276B (zh) * | 2020-12-01 | 2022-05-17 | 神思电子技术股份有限公司 | 一种基于转换模块的行为识别方法 |
-
2020
- 2020-12-01 CN CN202011383635.6A patent/CN113033276B/zh active Active
-
2021
- 2021-09-06 WO PCT/CN2021/116770 patent/WO2022116616A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909005A (zh) * | 2017-10-26 | 2018-04-13 | 西安电子科技大学 | 基于深度学习的监控场景下人物姿态识别方法 |
CN108830157A (zh) * | 2018-05-15 | 2018-11-16 | 华北电力大学(保定) | 基于注意力机制和3d卷积神经网络的人体行为识别方法 |
CN109726671A (zh) * | 2018-12-27 | 2019-05-07 | 上海交通大学 | 从全局到类别特征表达学习的动作识别方法和*** |
CN109829443A (zh) * | 2019-02-23 | 2019-05-31 | 重庆邮电大学 | 基于图像增强与3d卷积神经网络的视频行为识别方法 |
Non-Patent Citations (1)
Title |
---|
基于YOLO算法的行人检测方法;戴舒等;《无线电通信技术》;20200518(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022116616A1 (zh) | 2022-06-09 |
CN113033276A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113033276B (zh) | 一种基于转换模块的行为识别方法 | |
Zhang et al. | Context encoding for semantic segmentation | |
CN111079532B (zh) | 一种基于文本自编码器的视频内容描述方法 | |
CN110929622A (zh) | 视频分类方法、模型训练方法、装置、设备及存储介质 | |
CN110378208B (zh) | 一种基于深度残差网络的行为识别方法 | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN110390308B (zh) | 一种基于时空对抗生成网络的视频行为识别方法 | |
CN113408343A (zh) | 基于双尺度时空分块互注意力的课堂动作识别方法 | |
CN115240121B (zh) | 一种用于增强行人局部特征的联合建模方法和装置 | |
CN117058595B (zh) | 视频语义特征和可扩展粒度感知时序动作检测方法及装置 | |
CN113065451A (zh) | 一种多模态融合的动作识别装置、方法和存储介质 | |
CN117576724A (zh) | 一种无人机飞鸟检测方法、***、设备和介质 | |
CN111489803A (zh) | 基于自回归模型的报告单编码模型生成方法、***和设备 | |
CN114780767A (zh) | 一种基于深度卷积神经网络的大规模图像检索方法及*** | |
CN117197727B (zh) | 一种基于全局时空特征学习的行为检测方法与*** | |
CN114581789A (zh) | 一种高光谱图像分类方法及*** | |
CN116258914B (zh) | 基于机器学习及局部和全局特征融合的遥感图像分类方法 | |
CN116246338B (zh) | 一种基于图卷积和Transformer复合神经网络的行为识别方法 | |
CN112508121A (zh) | 一种工业机器人感知外界的方法和*** | |
CN116543338A (zh) | 一种基于注视目标估计的学生课堂行为检测方法 | |
CN114120245B (zh) | 基于深度神经网络的人群图像分析方法、装置以及设备 | |
CN115965836A (zh) | 一种语义可控的人体行为姿态视频数据扩增***及方法 | |
CN112613405B (zh) | 任意视角动作识别方法 | |
CN115375729A (zh) | 基于深度脉冲神经网络的单目标短程跟踪方法及装置 | |
CN114881098A (zh) | 一种基于流形正则化转移矩阵的标签噪声估计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |