[发明专利]一种基于运动轨迹的3D卷积神经网络的行为识别方法有效
申请号: | 201810748903.6 | 申请日: | 2018-07-10 |
公开(公告)号: | CN109255284B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 赵凡;吉璐;蔺广逢;陈亚军 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/62 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 杜娟 |
地址: | 710048*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 运动 轨迹 卷积 神经网络 行为 识别 方法 | ||
1.一种基于运动轨迹的3D卷积神经网络的行为识别方法,其特征在于,具体按照以下步骤实施:
步骤一,行为识别网络模型训练,具体按照以下步骤实施:
步骤1,建立行为识别数据集,数据集包含N种行为类别,第n种行为的视频个数记为Vnumn,0≤n≤N-1,在第n种行为视频中按顺序抽取前Kn个视频作为训练视频,Kn=round(3/4×Vnumn),把所有抽取的训练视频作为训练数据集Vtrain,其中表示在训练数据集中第n种行为类别下的第k个视频;测试数据集表示测试数据集中第n种行为类别下的第s个视频;
步骤2,创建训练标签Labeltrain与测试标签Labeltest,在训练数据集Vtrain中,第n种行为类别下的第k个视频的视频帧数为以互不重叠的连续16帧图像为一个视频段,提取的视频段个数为表示第n种行为类别下的第k个视频的第m个视频段;
训练标签Labeltrain的格式为:其中为视频路径VideoPath/Vtrainn下的视频文件名(m-1)×16为每个视频段起始帧号,n为行为类别编号;
在测试数据集Vtest中,第n种行为类别下的第s个视频的视频帧数为以互不重叠的连续16帧图像为一个视频段,提取的视频段个数为表示第n种行为类别下的第s个视频的第w个视频段;
测试标签Labeltest格式为:
其中为视频路径VideoPath/Vtestn下的视频文件名(w-1)×16为每个视频段起始帧号,n为行为类别编号;
步骤3,双向光流计算,获取前向、后向运动轨迹列表,对输入的视频段数据进行双向光流场计算,获取视频前向运动轨迹列表pos_pre={pos_pre[i][j]},pos_pre[i][j]表示第i帧视频图像第j个像素在前一帧视频图像中的对应像素点位置,其中,1≤j≤w′×h,w′、h分别表示视频图像的宽和高,1<i≤16;后向运动轨迹列表pos_back={pos_back[i][j]},pos_back[i][j]表示第i帧视频图像第j个像素在后一帧视频图像中的对应像素点位置,其中,1≤j≤w′×h,1≤i<16;具体按照以下步骤实施:
步骤3.1,将输入的视频段数据转化为灰度图像集{img_gray[i]|1≤i≤16};
步骤3.2,采用光流计算方法进行视频灰度图像img_gray[i]的前向和后向运动轨迹提取;步骤3.2具体按照以下步骤实施:
步骤(1),当前视频帧图像img_gray[i]的像素坐标表示为:其中和分别为img_gray[i]中第j像素在图像中的横坐标和纵坐标;
步骤(2),获取当前视频帧图像img_gray[i]的前一帧图像img_pre与后一帧图像img_back,其中img_pre=img_gray[i-1],img_back=img_gray[i+1];若当i=1时,表示当前帧没有前一帧图像,则把img_pre置为空;若当i=16时,表示当前帧没有后一帧图像,则把img_back置为空;
步骤(3),计算相邻两帧图像的光流场,采用光流场计算方法分别计算img_gray[i]与img_pre、img_back之间的前向光流场和后向光流场ω_pre[i],ω_back[i],分别对应img_gray[i]中第j个像素相对img_pre的水平和垂直运动位移量,分别对应img_gray[i]中第j个像素相对img_back的水平和垂直运动位移量;
步骤(4),根据光流场生成img_gray[i]的前向运动轨迹列表Pfij是img_gray[i]中第j个像素在img_pre中的对应像素点位置,
步骤(5),根据光流场生成img_gray[i]的后向运动轨迹列表是img_gray[i]中第j个像素在img_back中的对应像素点位置,
步骤4,根据步骤3得到的运动轨迹列表,把视频段数据转换成N1×N2大小的数据矩阵N1=81,N2=16×w′×h,c表示颜色通道,取值为1,2和3,imgc[i]中第j个像素点位置是根据i和j的取值在前向轨迹列表pos_pre中得到前向匹配像素点位置Pfij,Pfij=pos_pre[i][j],在后向轨迹列表pos_back中得到后向匹配像素点位置在imgc[i-1]、imgc[i]和imgc[i+1]图像中分别提取和Pfij这三个位置的像素点在各个通道上的3×3邻域像素值,将三个通道上的各邻域像素值串行合并,将合并后数据放在矩阵中的第(i-1)×(w′×h)+j列;步骤4具体按照以下步骤实施:
步骤4.1,根据imgc[i]中第j个像素点位置获取以为中心的3×3大小在c通道上的邻域像素值
步骤4.2,在前向运动轨迹列表pos_pre中得到前向匹配像素点位置步骤4.2具体为:
①判断i是否为1;
②若i=1,该像素点所在图像没有前向列表,则该像素点在前一帧图像中对应的像素点位置把以Pfij为中心的3×3大小在c通道上的邻域像素值均置为0;
③若i≠1,在前向运动轨迹列表pos_pre中得到前向匹配像素点位置获取以Pfij为中心的3×3大小在c通道中的邻域像素值
步骤4.3,在后向运动轨迹列表pos_back中得到后向匹配像素点位置具体按照以下步骤实施:
①判断i是否为16;
②若i=16,该像素点所在图像没有后向列表,则该像素点在后一帧图像中对应的像素点位置把以为中心的3×3大小在c通道上的邻域像素值置为0;
③若i≠16,在后向运动轨迹列表pos_back中得到后向匹配像素点位置获取以为中心的3×3大小在c通道上的邻域像素值
步骤4.4,将逐通道进行串行合并,将合并后数据放置在矩阵中的第(i-1)×(w′×h)+j列;
步骤5,建立基于运动轨迹的3D卷积神经网络结构Track_3D,该网络的输入为训练数据集Vtrain,大小为C×16×w′×h,其中C=3为通道个数,16为连续视频帧数,w′×h为视频图像的分辨率,网络结构的总层数为30层,包括依次连接的:数据层、Track_3D卷积层conv1a、激活层relu1a、3D池化层pool1、3D卷积层conv2a、激活层relu2a、3D池化层pool2、3D卷积层conv3a、激活层relu3a、3D卷积层conv3b、激活层relu3b、3D池化层pool3、3D卷积层conv4a、激活层relu4a、3D卷积层conv4b、激活层relu4b、3D池化层pool4、3D卷积层conv5a、激活层relu5a、3D卷积层conv5b、激活层relu5b、3D池化层pool5、全连接层fc6、激活层relu6、drop层drop6、全连接层fc7、激活层relu7、drop层drop8、全连接层fc8以及softmax层;
步骤6,对步骤5建立的基于运动轨迹的3D卷积神经网络结构进行训练,具体为:打开训练样本标签Labeltrain文件,按行读取视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个样本,将所有的样本依次送入到步骤5建立的基于运动轨迹的3D卷积神经网络结构中进行训练,当满足最大迭代次数或收敛条件时结束训练,得到基于运动轨迹的3D卷积神经网络结构Track3DModel;
步骤二,行为识别网络模型测试,具体为:读取测试标签Labeltest中的视频路径、视频名称以及起始帧号,将测试数据集中的视频按照以起始帧号为第一帧的连续16帧视频段输入到经过训练的基于运动轨迹的3D卷积神经网络模型中,输出各个视频段的行为分类信息,最后将输出的行为分类信息与测试视频对应的测试标签Labeltest文件信息作比较,统计分类正确个数,计算得到准确率;
步骤三,若步骤二得到的准确率大于等于95%,则认为步骤一的步骤6训练的基于运动轨迹的3D卷积神经网络结构为最终的需求,若准确率小于95%,则需要调整基于运动轨迹的3D卷积神经网络结构的内置参数,然后重复步骤一的步骤6和步骤二,直到准确率满足要求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810748903.6/1.html,转载请声明来源钻瓜专利网。