CN109255284B - 一种基于运动轨迹的3d卷积神经网络的行为识别方法 - Google Patents
一种基于运动轨迹的3d卷积神经网络的行为识别方法 Download PDFInfo
- Publication number
- CN109255284B CN109255284B CN201810748903.6A CN201810748903A CN109255284B CN 109255284 B CN109255284 B CN 109255284B CN 201810748903 A CN201810748903 A CN 201810748903A CN 109255284 B CN109255284 B CN 109255284B
- Authority
- CN
- China
- Prior art keywords
- video
- img
- label
- training
- neural network
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
Abstract
本发明公开了一种基于运动轨迹的3D卷积神经网络的行为识别方法,具体为:行为识别网络模型训练:建立行为识别数据集,训练数据集和测试数据集;创建训练标签与测试标签;双向光流计算,获取双向运动轨迹;提取基于运动轨迹的像素值数据矩阵;建立基于运动轨迹的3D卷积神经网络结构;对神经网络结构进行训练;行为识别网络模型测试,计算准确率;若准确率大于等于95%,则认为训练的基于运动轨迹的3D卷积神经网络结构为最终的需求,若准确率小于95%,则需要调整基于运动轨迹的3D卷积神经网络结构的内置参数后重新训练。本发明的一种基于运动轨迹的3D卷积神经网络的行为识别方法,提高视频中人体行为的识别精度。
Description
技术领域
本发明属于图像识别技术领域,具体涉及一种基于运动轨迹的3D卷积神经网络的行为识别方法。
背景技术
人体行为识别是一个涉及计算机视觉和模式识别等领域的综合性研究问题,近年来受到学者和研究人员越来越广泛的重视。行为识别在智能监控、虚拟现实、视频检索、人机交互、客户类型、购物行为分析等现实生活中有着广泛的应用,但杂乱的背景、遮挡、光照和视点变化等因素都会影响行为识别的性能,因此开发先进的行为识别算法就有着迫切的需要。
传统的行为识别方法主要由两步组成,第一步是提取视频图像的特征,特征主要由人工特征和深度学习特征组成;第二步利用学习的分类器对特征进行分类。在真实场景中,不同的行为在外观和运动模式上有明显的不同,因此很难选择合适的人工特征,而深度学习模型可以通过样本学习特征从而具有比人工特征更好的优势。基于深度学习行为识别技术主要分为3D卷积神经网络与2D卷积神经网络两个方向。
2D卷积神经网络不能很好的捕获时序上的信息,而3D卷积神经网络通过在卷积层进行3D卷积从而在视频序列中提取在时间和空间维度都具有区分性的时空特征,但目前的3D卷积神经网络忽视了视频时间维和空间维的差异性,没有考虑到行人的运动信息,因而在时间维度上还残留更多的高频信息,在网络中难以形成行人的抽象化表示和特征的不变性。
发明内容
本发明的目的是提供一种基于运动轨迹的3D卷积神经网络的行为识别方法,提高视频中人体行为的识别精度。
本发明所采用的技术方案是,一种基于运动轨迹的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个视频段;
步骤3,双向光流计算,获取前向、后向运动轨迹列表,对输入的视频段数据进行双向光流场计算,获取视频前向运动轨迹列表pos_pre={pos_pre[i][j]},pos_pre[i][j]表示第i帧视频图像第j个像素在前一帧视频图像中的对应像素点位置,其中,1≤j≤w×h,w、h分别表示视频图像的宽和高,由于第1帧视频图像没有前一帧视频图像,因此1<i≤16;后向运动轨迹列表pos_back={pos_back[i][j]},pos_back[i][j]表示第i帧视频图像第j个像素在后一帧视频图像中的对应像素点位置,其中,1≤j≤w×h,由于第16帧视频图像没有后一帧视频图像,因此1≤i<16;
步骤4,根据步骤3得到的运动轨迹列表,把视频段数据转换成N1×N2大小的数据矩阵N1=81,N2=16×w×h,c表示颜色通道,取值为1,2和3,imgc[i]中第j个像素点位置是根据i和j的取值在前向轨迹列表pos_pre中得到前向匹配像素点位置Pfi j,Pfi j=pos_pre[i][j],在后向轨迹列表pos_back中得到后向匹配像素点位置 在imgc[i-1]、imgc[i]和imgc[i+1]图像中分别提取 和Pfi j这三个位置的像素点在各个通道上的3×3邻域像素值,将三个通道上的各邻域像素值串行合并,将合并后数据放在矩阵中的第(i-1)×(w×h)+j列;
步骤5,建立基于运动轨迹的3D卷积神经网络结构Track_3D;
步骤6,对步骤5建立的基于运动轨迹的3D卷积神经网络结构进行训练,具体为:打开训练标签Labeltrain文件,按行读取视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个样本,将所有的样本依次送入到步骤5建立的基于运动轨迹的3D卷积神经网络结构中进行训练,当满足最大迭代次数或收敛条件时结束训练,得到基于运动轨迹的3D卷积神经网络结构Track3DModel;
步骤二,行为识别网络模型测试,具体为:读取测试标签Labeltest中的视频路径、视频名称以及起始帧号,将测试数据集中的视频按照以起始帧号为第一帧的连续16帧视频段输入到经过训练的基于运动轨迹的3D卷积神经网络模型中,输出各个视频段的行为分类信息,最后将输出的行为分类信息与该测试视频对应的测试标签Labeltest信息作比较,统计分类正确个数,计算得到准确率;
步骤三,若步骤二的得到的准确率大于等于95%,则认为步骤一的步骤6训练的基于运动轨迹的3D卷积神经网络结构为最终的需求;若准确率小于95%,则需要调整基于运动轨迹的3D卷积神经网络结构的内置参数,然后重复步骤一中的步骤6和步骤二,直到准确率满足要求。
本发明的特征还在于,
步骤一中的步骤3具体按照以下步骤实施:
步骤3.2,采用光流计算方法进行视频灰度图像img_gray[i]的前向和后向运动轨迹提取。
步骤3.2具体按照以下步骤实施:
步骤(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具体按照以下步骤实施:
步骤4.2具体为:
①判断i是否为1;
步骤4.3具体按照以下步骤实施:
①判断i是否为16;
步骤一中的步骤5建立基于运动轨迹的3D卷积神经网络结构Track_3D,该网络的输入为训练数据集Vtrain,大小为C×16×w×h,其中C=3为通道个数,16为连续视频帧数,w×h为视频图像的分辨率,网络结构的总层数为30层,包括依次连接的:数据层(data)、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(loss)层。
步骤一中的步骤6训练网络模型的方法具体按照以下步骤实施:
步骤6.1,利用caffe架构下的函数compute_volume_mean_from_list_videos.cpp将视频段训练数据集Vtrain生成train_ucf101_mean.binaryproto均值文件;
步骤6.2,将步骤一中的步骤5建立的基于运动轨迹的3D卷积神经网络结构、步骤6.1的均值文件和步骤一中的步骤2的训练标签Labeltrain文件的所在路径写入网络结构文件Track3d_ucf101_train.prototxt中;
步骤6.3,设置训练参数并写入配置文件Track3d_solver.prototxt;
步骤6.4,在Caffe架构下调用命令语句完成训练./build/tools/train_net.binTrack3d_solver.prototxt,生成经过训练的基于运动轨迹的3D卷积神经网络结构Track3DModel。
步骤二具体按照以下步骤实施:
步骤2.1,创建一个输出标签文件outputlabel,该标签的作用主要用于设置提取的特征名称,要求对同一个视频中的同一个视频段在输出标签文件和测试标签文件中的描述在同一行。
步骤2.2,按行读取测试标签Labeltest文件中视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个输入,送入经步骤一中的步骤6训练好的网络模型Track3DModel中,提取fc8层的输出数据,该数据为视频段按照概率大小排序的最终分类结果索引表{index[S]|1≤S≤N},其中index[S]表示排名第S的类别编号,把索引表保存为一个特征文件,特征文件存放路径及名称就是outputlabel文件中该视频段描述所在行的文件路径及特征名称;
步骤2.3,读取所有特征文件,获取所有视频段对应的index[1],将index[1]和测试标签文件Labeltest中对应的视频类别号进行大小对比,若相等则为分类正确,若不相等则为分类不正确,正确的分类个数除以特征文件个数得到准确率。
本发明的有益效果是:本发明一种基于运动轨迹的3D卷积神经网络的行为识别方法,优化了原始3D卷积神经网络不能获取图像运动轨迹信息的缺点,并在提取图像稠密运动轨迹时,采用基于稠密光流提取视频图像的前后向运动轨迹方法,避免了直接提取连续16帧视频图像会产生数据缺失,数据重复等问题,大大提高对于行为的识别精度。
附图说明
图1是本发明的一种基于运动轨迹的3D卷积神经网络的行为识别方法的流程示意图;
图2是一种基于稠密光流提取视频图像的前后向运动轨迹流程示意图;
图3是根据运动轨迹列表数据提取流程示意图;
图4是根据运动轨迹列表提取数据后数据放置具体操作图;
图5是基于运动轨迹的3D卷积神经网络结构示意图;
图6是3D卷积的具体操作过程示意图;
图7激活函数relu的函数图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明的一种基于运动估计的3D卷积神经网络的行为识别方法的流程示意图如1所示,由行为识别网络模型训练过程和行为识别测试过程组成。
网络模型训练主要包括以下步骤:
步骤1:通过网络下载,获取行为识别数据集(例如UCF101、hmdb51数据集等),该数据集包含N种行为类别,第n种行为的视频个数记为Vnumn,0≤n≤N-1,在第n种行为视频中按顺序抽取前Kn个视频作为训练视频,Kn=round(3/4×Vnumn),把所有抽取的训练视频作为训练数据集Vtrain,其中 表示在训练数据集中第n种行为类别下的第k个视频,测试数据集 表示测试数据集中第n种行为类别下的第s个视频,在本实施方案中N=101,训练视频个数为9537,测试视频个数为3783。
步骤2:创建训练标签Labeltrain与测试标签Labeltest,在训练数据集Vtrain中,第n种行为类别下的第k个视频的视频帧数为以互不重叠的连续16帧图像为一个视频段,提取的视频段个数 表示第n种行为类别下的第k个视频的第m个视频段,
步骤3:双向光流计算,获取前向、后向运动轨迹列表,对输入的视频段数据进行双向光流场计算,获取视频前向运动轨迹列表pos_pre={pos_pre[i][j]},pos_pre[i][j]表示第i帧视频图像第j个像素在前一帧视频图像中的对应像素点位置,其中,1≤j≤w×h,w、h分别表示视频图像的宽和高,由于第1帧视频图像没有前一帧视频图像,因此1<i≤16;后向运动轨迹列表pos_back={pos_back[i][j]},pos_back[i][j]表示第i帧视频图像第j个像素在后一帧视频图像中的对应像素点位置,其中,1≤j≤w×h,由于第16帧视频图像没有后一帧视频图像,因此1≤i<16,具体步骤如下:
步骤3.2:采用G(Two-frame motion estimation based onpolynomial expansion[C].Scandinavian Conference on Image Analysis.Springer-Verlag,2003:363-370.)提出的光流计算方法进行视频灰度图像img_gray[i]的前向和后向运动轨迹提取,其流程示意图如图2所示,具体处理步骤为:
(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)计算相邻两帧图像的光流场,采用G(Two-frame motionestimation based on polynomial expansion[C].Scandinavian Conference on ImageAnalysis.Springer-Verlag,2003:363-370.)提出的光流场计算方法分别计算img_gray[i]与img_pre、img_back之间的前向光流场和后向光流场ω_pre[i],ω_back[i], 分别对应img_gray[i]中第j个像素相对img_pre的水平和垂直运动位移量,bvxi j,bvyi j分别对应img_gray[i]中第j个像素相对img_back的水平和垂直运动位移量;
在本实施方案中,w=112,h=112,因为第一帧图像没有前一帧图像,第16帧图像没有后一帧图像,故第一帧图像没有前向运动轨迹列表,第16帧图像没有后向运动轨迹列表,故前向轨迹列表大小为15×112×112,后向轨迹列表大小为15×112×112。
步骤4:根据步骤3得到的运动轨迹列表,把视频段数据转换成N1×N2大小的数据矩阵N1=81,N2=16×w×h,c表示颜色通道,取值为1,2和3,imgc[i]中第j个像素点位置是根据i和j的取值在前向轨迹列表pos_pre中得到前向匹配像素点位置Pfi j,Pfi j=pos_pre[i][j],在后向轨迹列表pos_back中得到后向匹配像素点位置 在imgc[i-1]、imgc[i]和imgc[i+1]图像中分别提取和Pfi j这三个位置的像素点在各个通道上的3×3邻域像素值,将三个通道上的各邻域像素值串行合并,将合并后数据放在矩阵中的第(i-1)×(w×h)+j列,其流程示意图如图3所示,具体按照以下步骤:
①判断i是否为1;
①判断i是否为16;
步骤4.4,将逐通道进行串行合并,将合并后数据放置在矩阵M2D中的第(i-1)×w×h+j列;具体操作方式如图4所示,其中V1(Pfi j)、V2(Pfi j)、V3(Pfi j)分别表示像素点Pfi j在通道1,通道2,通道3上的像素值;分别表示像素点在通道1,通道2,通道3上的像素值;分别表示像素点在通道1,通道2,通道3上的像素值;
在本实施方案中,输入数据大小为3×16×112×112,矩阵M2D大小为(27×3)×(16×112×112),3为通道数,16为中的视频帧数,112×112为视频图像的分辨率,27为在c通道上的像素个数总和。
步骤5:建立基于运动轨迹的3D卷积神经网络结构Track_3D,该网络的输入为训练数据集Vtrain,大小为C×16×w×h,其中C=3为通道个数,16为连续视频帧数,w×h为视频图像的分辨率,网络结构的总层数为30层,包括依次连接的:数据层(data)、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(loss)层。具体的网络结构图如图5。
在本实施方案中,各个网络层的输入数据大小、滤波器个数、核大小和输出数据大小如表1所示:
表1
3D卷积计算过程如图6所示,在进行3D卷积时,按3D卷积核大小的滑动窗在连续视频帧组成的数据立方体内进行滑动,每一个滑动窗内的数据立方体为一个卷积区域,3D卷积层的输出为各个卷积区域和3D卷积核的点乘求和。
池化层主要通过下采样减少数据的空间分辨率,常用的操作为池平均(average-pooling)操作或池最大(max-pooling)操作。在具体的实施例中,核大小为2×2×2,操作为池最大操作,输入数据每经过一级池化处理大小就会由原来的mm×nn×ll变为
激活层是对输入的数据进行激活操作,即若每个数据元素符合条件,则数据被激活,使其向下一层传递,否则的话则不被传递。在本文激活层采用的激活函数为修正线性单元(Rectified linear unit,ReLU),其函数图像如图7。ReLU函数是一个分段线性函数,把所有的负值都变为0,而正值不变。
drop层是随机对一些神经元进行抑制,使其处于未激活状态。
全连接层在整个网络中起到“分类器”的作用,主要目的是整合经过卷积层或池化层处理后具有类别区分性的局部信息,用于分类或回归。
softmax层主要是对全连接之后的数据进行归一化操作使其范围必须在[0,1]之间。
步骤6:对步骤5建立的基于运动轨迹的3D卷积神经网络结构进行训练,具体为:打开训练标签Labeltrain文件,按行读取视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个样本,将所有的样本依次送入到步骤5建立的基于运动轨迹的3D卷积神经网络结构中进行训练,当满足最大迭代次数或收敛条件时结束训练,得到基于运动轨迹的3D卷积神经网络结构Track3DModel;
步骤6.1:利用caffe架构下的函数compute_volume_mean_from_list_videos.cpp将视频段训练数据集Vtrain生成均值文件train_ucf101_mean.binaryproto;
步骤6.2:把步骤5中建立的网络结构、均值文件路径和标签文件路径写入网络结构文件Track3d_ucf101_train.prototxt中;
步骤6.3:设置训练参数并把设置好的训练参数写入网络配置文件Track3d_solver.prototxt中,参数的具体设置如表2所示:
步骤6.4:在Caffe架构下调用命令语句./build/tools/train_net.binTrack3d_solver.prototxt进行训练,训练过程结束生成最终训练模型Track3DModel;
网络模型Track3DModel生成后,对网络模型进行测试,其主要包括以下步骤:
步骤(1),创建一个输出标签文件outputlabel,该标签主要用于设置提取的特征名称,要求对同一个视频中的同一个视频段在输出标签文件和测试标签文件中的描述在同一行。
步骤(2),按行读取测试标签Labeltest文件中视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个输入,送入步骤6训练好的网络模型Track3DModel中,提取fc8层的输出数据,该数据为视频段按照概率大小排序的最终分类结果索引表{index[S]|1≤S≤N},其中index[S]表示排名第S的类别编号,把索引表保存为一个特征文件,特征文件存放路径及名称就是outputlabel文件中该视频段描述所在行的文件路径及特征名称;
步骤(3),读取所有特征文件,获取所有视频段对应的index[1],将index[1]和测试标签文件Labeltest中对应的视频类别号进行大小对比,若相等则为分类正确,若不相等则为分类不正确,正确的分类个数除以特征文件个数得到准确率。
分析测试结果,若准确率低于95%,则调整配置文件Track3d_solver.prototxt内的参数,主要调整初始学习率base_lr,最大迭代次数max_iter,重新训练网络模型,用重新训练的网络模型进行测试,直到满足准确率要求。
Claims (3)
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个视频段;
步骤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.2,采用光流计算方法进行视频灰度图像img_gray[i]的前向和后向运动轨迹提取;步骤3.2具体按照以下步骤实施:
步骤(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,根据步骤3得到的运动轨迹列表,把视频段数据转换成N1×N2大小的数据矩阵N1=81,N2=16×w′×h,c表示颜色通道,取值为1,2和3,imgc[i]中第j个像素点位置是根据i和j的取值在前向轨迹列表pos_pre中得到前向匹配像素点位置Pfi j,Pfi j=pos_pre[i][j],在后向轨迹列表pos_back中得到后向匹配像素点位置 在imgc[i-1]、imgc[i]和imgc[i+1]图像中分别提取和Pfi j这三个位置的像素点在各个通道上的3×3邻域像素值,将三个通道上的各邻域像素值串行合并,将合并后数据放在矩阵中的第(i-1)×(w′×h)+j列;步骤4具体按照以下步骤实施:
①判断i是否为1;
①判断i是否为16;
步骤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和步骤二,直到准确率满足要求。
2.根据权利要求1所述的一种基于运动轨迹的3D卷积神经网络的行为识别方法,其特征在于,所述步骤6具体按照以下步骤实施:
步骤6.1,利用caffe架构下的函数compute_volume_mean_from_list_videos.cpp将视频段训练数据集Vtrain生成train_ucf101_mean.binaryproto均值文件;
步骤6.2,将步骤一中的步骤5建立的基于运动轨迹的3D卷积神经网络结构Track_3D、步骤6.1的均值文件和步骤一中的步骤2的训练标签Labeltrain文件的所在路径写入网络结构文件Track3d_ucf101_train.prototxt中;
步骤6.3,设置训练参数并写入配置文件Track3d_solver.prototxt;
步骤6.4,在Caffe架构下调用命令语句完成训练./build/tools/train_net.binTrack3d_solver.prototxt,生成经过训练的基于运动轨迹的3D卷积神经网络结构Track3DModel。
3.根据权利要求2所述的一种基于运动轨迹的3D卷积神经网络的行为识别方法,其特征在于,所述步骤二具体按照以下步骤实施:
步骤2.1,创建一个输出标签文件outputlabel,该标签用于设置提取的特征名称,要求对同一个视频中的同一个视频段在输出标签文件和测试标签文件中的描述在同一行;
步骤2.2,按行读取测试标签Labeltest文件中视频路径、视频名称和视频段起始帧号,在视频名称对应的视频中以起始帧号为首帧连续读取16帧视频段作为一个输入,送入经步骤一中的步骤6训练好的网络模型Track3DModel中,提取fc8层的输出数据,该数据为视频段按照概率大小排序的最终分类结果索引表{index[S]|1≤S≤N},其中index[S]表示排名第S的类别编号,把索引表保存为一个特征文件,特征文件存放路径及名称就是outputlabel文件中该视频段描述所在行的文件路径及特征名称;
步骤2.3,读取所有特征文件,获取所有视频段对应的index[1],将index[1]和测试标签Labeltest文件中对应的视频类别号进行大小对比,若相等则为分类正确,若不相等则为分类不正确,正确的分类个数除以特征文件个数得到准确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810748903.6A CN109255284B (zh) | 2018-07-10 | 2018-07-10 | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810748903.6A CN109255284B (zh) | 2018-07-10 | 2018-07-10 | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109255284A CN109255284A (zh) | 2019-01-22 |
CN109255284B true CN109255284B (zh) | 2021-02-12 |
Family
ID=65051558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810748903.6A Active CN109255284B (zh) | 2018-07-10 | 2018-07-10 | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255284B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635790A (zh) * | 2019-01-28 | 2019-04-16 | 杭州电子科技大学 | 一种基于3d卷积的行人异常行为识别方法 |
CN109918883B (zh) * | 2019-02-22 | 2022-06-10 | 袁精侠 | 一种基于手绘轨迹的生物性特征的身份验证方法 |
CN111325292B (zh) * | 2020-03-11 | 2023-05-02 | 中国电子工程设计院有限公司 | 一种对象行为的识别方法及装置 |
CN111680543B (zh) * | 2020-04-23 | 2023-08-29 | 北京迈格威科技有限公司 | 动作识别方法、装置及电子设备 |
US11861494B2 (en) * | 2020-06-26 | 2024-01-02 | Intel Corporation | Neural network verification based on cognitive trajectories |
CN112101255B (zh) * | 2020-09-21 | 2023-06-27 | 哈尔滨工业大学(深圳) | 一种基于深度学习模型的特定动作识别方法及系统 |
CN112115876A (zh) * | 2020-09-21 | 2020-12-22 | 四川弘和通讯有限公司 | 一种基于3d卷积神经网络的水溶法实验过程识别方法 |
CN113591761B (zh) * | 2021-08-09 | 2023-06-06 | 成都华栖云科技有限公司 | 一种视频镜头语言识别方法 |
CN113836304A (zh) * | 2021-09-27 | 2021-12-24 | 山东亿云信息技术有限公司 | 一种基于自然语言处理的智能打标签方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4607797B2 (ja) * | 2006-03-06 | 2011-01-05 | 株式会社東芝 | 行動判別装置、方法およびプログラム |
US8345984B2 (en) * | 2010-01-28 | 2013-01-01 | Nec Laboratories America, Inc. | 3D convolutional neural networks for automatic human action recognition |
CN104281853B (zh) * | 2014-09-02 | 2017-11-17 | 电子科技大学 | 一种基于3d卷积神经网络的行为识别方法 |
CN105160310A (zh) * | 2015-08-25 | 2015-12-16 | 西安电子科技大学 | 基于3d卷积神经网络的人体行为识别方法 |
CN105975968B (zh) * | 2016-05-06 | 2019-03-26 | 西安理工大学 | 一种基于Caffe框架的深度学习车牌字符识别方法 |
CN106845351A (zh) * | 2016-05-13 | 2017-06-13 | 苏州大学 | 一种用于视频的基于双向长短时记忆单元的行为识别方法 |
CN106778854B (zh) * | 2016-12-07 | 2019-12-24 | 西安电子科技大学 | 基于轨迹和卷积神经网络特征提取的行为识别方法 |
CN107169415B (zh) * | 2017-04-13 | 2019-10-11 | 西安电子科技大学 | 基于卷积神经网络特征编码的人体动作识别方法 |
CN107609460B (zh) * | 2017-05-24 | 2021-02-02 | 南京邮电大学 | 一种融合时空双重网络流和attention机制的人体行为识别方法 |
CN107506712B (zh) * | 2017-08-15 | 2021-05-18 | 成都考拉悠然科技有限公司 | 一种基于3d深度卷积网络的人类行为识别的方法 |
CN107506740B (zh) * | 2017-09-04 | 2020-03-17 | 北京航空航天大学 | 一种基于三维卷积神经网络和迁移学习模型的人体行为识别方法 |
CN107862376A (zh) * | 2017-10-30 | 2018-03-30 | 中山大学 | 一种基于双流神经网络的人体图像动作识别方法 |
CN107862275A (zh) * | 2017-11-01 | 2018-03-30 | 电子科技大学 | 人体行为识别模型及其构建方法和人体行为识别方法 |
CN108108699A (zh) * | 2017-12-25 | 2018-06-01 | 重庆邮电大学 | 融合深度神经网络模型和二进制哈希的人体动作识别方法 |
-
2018
- 2018-07-10 CN CN201810748903.6A patent/CN109255284B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109255284A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255284B (zh) | 一种基于运动轨迹的3d卷积神经网络的行为识别方法 | |
CN108288015B (zh) | 基于时间尺度不变性的视频中人体动作识别方法及系统 | |
CN110399821B (zh) | 基于人脸表情识别的顾客满意度获取方法 | |
CN103761531B (zh) | 基于形状轮廓特征的稀疏编码车牌字符识别方法 | |
CN108537119B (zh) | 一种小样本视频识别方法 | |
CN109684922B (zh) | 一种基于卷积神经网络的多模型对成品菜的识别方法 | |
CN113011357B (zh) | 基于时空融合的深度伪造人脸视频定位方法 | |
CN111814661A (zh) | 基于残差-循环神经网络的人体行为识别方法 | |
CN106203356B (zh) | 一种基于卷积网络特征提取的人脸识别方法 | |
CN110807434A (zh) | 一种基于人体解析粗细粒度结合的行人重识别系统及方法 | |
CN110263215A (zh) | 一种视频情感定位方法及系统 | |
Wang et al. | Multiscale deep alternative neural network for large-scale video classification | |
CN106960176A (zh) | 一种基于超限学习机和颜色特征融合的行人性别识别方法 | |
CN108596256B (zh) | 一种基于rgb-d物体识别分类器构造方法 | |
CN110503613A (zh) | 基于级联空洞卷积神经网络的面向单幅图像去雨方法 | |
CN111652273B (zh) | 一种基于深度学习的rgb-d图像分类方法 | |
CN110929746A (zh) | 一种基于深度神经网络的电子卷宗标题定位提取与分类方法 | |
CN108416780A (zh) | 一种基于孪生-感兴趣区域池化模型的物体检测与匹配方法 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN110348448A (zh) | 一种基于卷积神经网络的车牌字符识别方法 | |
CN112163508A (zh) | 一种基于真实场景的文字识别方法、系统及ocr终端 | |
CN111310820A (zh) | 基于交叉验证深度cnn特征集成的地基气象云图分类方法 | |
CN116311483B (zh) | 基于局部面部区域重构和记忆对比学习的微表情识别方法 | |
Hou et al. | Confidence-guided self refinement for action prediction in untrimmed videos | |
CN112800979A (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 |