[0046] 以下结合附图对本发明作进一步说明。
[0047] 一种基于边界分割和稀疏采样的双流神经网络时序动作定位方法,重点考虑视频的时空一致性特点,利用反映动作变化的光流图像作为网络模型的输入数据流,以提供更能反映动作有关物体和场景的时空运动信息。主要思想是采用边界分割策略搜索候选片段以规避不同尺度下视频片段被重复处理的问题,同时能够抑制后续候选片段在动作识别阶段中的背景类干扰;利用稀疏采样策略,网络模型仅需几幅双流图像即可获取片段的类别信息,可以减少冗余特征的提取。通过这种方式,可以有效地进行时序动作定位。
[0048] 如图1,该方法首先获取视频数据集,然后进行如下操作:
[0049] 步骤(1).对视频采样处理,获得视频帧流图像序列和视频光流图像序列。具体方法是:
[0050] (1‑1).以每秒10~50帧的采样率(本实施例采用每秒25帧)将视频V处理为一个帧流图像序列 其中N表示帧流图像数目,fi表示序列中第i幅宽为w、高为h的RGB三通道图像;
[0051] (1‑2).通过帧流图像生成对应的水平方向与竖直方向的光流图像序列其中N表示光流图像数目,且与帧流图像的数目相同,ofi表示序列中第i幅宽为w、高为h包含竖直方向和水平方向的光流双通道图像,且根据下标i与帧流图像对应;光流图像用于描述相对于观察者运动所造成的观测目标、表面或边缘的变化。
[0052] 光流图像的生成选用常见的光流法,本实施例采用卢卡斯‑卡纳德方法计算光流。
[0053] 步骤(2).构建双流神经网络边界分割模型,完整视频的帧流以及光流图像序列作为输入,视频动作的边界信息作为输出。具体方法是:
[0054] (2‑1) .参与模型构建的视频包含动作片段标记信息,标记信息记为其中M表示不含背景片段的视频V内动作片段数目,对于第j个动作片段, 表示该片段动作开始帧, 表示该片段动作结束帧,cj以数字表示该片段对应的动作种类,C表示视频的动作种类数目;
[0055] 双流序列包括帧流图像序列 和光流图像序列 边界分割模型采用每隔8帧选16帧作为候选边界单元的策略;
[0056] (2‑2).根据标记信息L获得所有动作片段的开始帧和结束帧信息,若候选边界单元内包含任意开始帧或结束帧,则定义其为边界单元并将该单元标记为正例,否则标记为负例;一般来说边界单元数目较少,可以通过数据增强方法(如随机裁剪等)增加边界单元数目;
[0057] (2‑3).使用考虑了时序信息的较浅层神经网络结构(如三维卷积神经网络C3D)作为双流神经网络边界分割模型的骨干结构,为双流序列提供两个并行神经网络结构A1与A2,采用Softmax层为输出层并利用交叉熵损失函数;
[0058] 采用神经网络Softmax层和利用交叉熵损失函数操作具体是:
[0059] ①假定Softmax层的输出概率为yb, 其中 表示Softmax层的输入,e表示自然底数,y0表示为非边界单元的概率,y1表示为边界单元的概率;
[0060] ② 假 定 S o f t m a x 层的 真实 标 记为 则 交 叉 熵 损 失 函 数 为若该单元为边界单元则 否则
[0061] (2‑4).将候选边界单元的帧流图像序列和光流图像序列分别输入双流神经网络边界分割模型中的A1与A2,各自通过Softmax输出层获取该候选单元属于边界单元的概率,然后利用(2‑2)的正负例单元标记信息计算交叉熵损失;
[0062] (2‑5).利用随机梯度下降算法优化训练双流神经网络边界分割模型,通过反向传播分别对双流神经网络边界分割模型内的A1和A2各层的参数并进行调整更新。
[0063] 步骤(3).构建稀疏采样动作识别模型,输入为视频片段的帧流以及光流图像序列的稀疏采样序列,输出为视频片段对各动作类别(含背景)的概率。具体方法是:
[0064] (3‑1).输入的视频片段是原始视频根据标记信息 中动作开始start end
帧t 和动作结束帧t 作为边界分割而成的2M+1个片段,其中有M个动作片段,有M+1个背景片段,第j个动作片段的类别标记为cj,背景片段则均标记为0;
[0065] (3‑2).对于每一个视频片段S,其帧流图像序列为 光流图像序列为其中P表示片段内的图像数目;
[0066] (3‑3).将片段S平均分割为α(取3)个子片段后,对每个子片段进行稀疏采样,即随机选择子片段内的三个相差τ帧(取1)的帧流图像序列和对应的光流图像序列,每个片段共分别获得α组(每组三帧)帧流图像序列和光流图像序列;
[0067] (3‑4).使用考虑了时序信息的较深层神经网络结构(如膨胀三维卷积神经网络I3D:Inflated 3‑Dimensional Convolution Neural Networks)作为稀疏采样视频动作识别模型的骨干结构,并为(3‑2)中片段的双流采样序列提供两个并行神经网络结构A3与A4,均设置神经网络Softmax层和利用交叉熵损失函数;
[0068] 设置神经网络Softmax层和利用交叉熵损失函数操作具体是:
[0069] ①假 定Sof tma x层 获得的 视频动 作类别 k的输 出概率 为yk ,其中C表示动作类别总数(背景类别表示为0), 表示Softmax层的输入,e表示自然底数;
[0070] ②交叉熵损失函数的计算公式为 其中 表示视频动作类别k的真实概率,若片段属于类别k则为1,否则为0。
[0071] (3‑5).将α组帧流图像序列和光流图像序列的采样分别输入(3‑4)中的稀疏采样视频动作识别模型中的A3和A4,各自通过Softmax层获取概率,然后利用片段的动作种类标记信息计算交叉熵损失;
[0072] (3‑6).利用随机梯度下降算法反向传播分别对稀疏采样视频动作识别模型内的A3和A4各层的参数进行调整更新。
[0073] 步骤(4).对新视频根据边界分割模型确定候选片段并用稀疏采样动作识别模型判定候选片段动作类别,完成定位任务。具体方法是:
[0074] (4‑1).对于新视频V'通过(1‑1)方法获得其帧流图像序列 和光流图像序列
[0075] (4‑2).将帧流图像序列 和光流图像序列 输入双流神经网络边界分割模型,每隔8帧选16帧作为候选边界单元,将单元内的帧流图像序列和光流图像序列分别输入至分割模型内的A1与A2,分别得到二维向量输出: 和 单元对应结果BR=Average(BR1,BR2),Average(·,·)表示取多个向量对应元素的平均值,表示单元属于边界单元与非边界单元的概率;
[0076] (4‑3).将属于边界单元概率大于阈值θ(取0.7)的单元设为边界单元(若多个连续单元均满足条件,则选择概率最大的单元设为边界单元),这样得到M'个边界单元并在所有边界单元的二分之一处对视频V'进行分割,获得分割后的2M'+1个片段,并记录每个片段的开始帧 与结束帧
[0077] (4‑4).将(4‑3)得到的每个片段通过(3‑2)将片段平均分割为α(取3)个子片段,再对每个子片段进行稀疏采样,得到α组帧流图像序列和光流图像序列;
[0078] (4‑5).将稀疏采样得到的α组帧流图像序列和光流图像序列分别输入至稀疏采样视频动作识别模型内的A3和A4,对应输出α×(C+1)维矩阵: 和其中C+1表示包含背景的动作类别数目,片段对应输出C+1维向量:
[0079] RR=Average(Mean(RR3),Mean(RR4));
[0080] 其中Average(·,·)取多个向量对应元素的平均值,Mean(·)取二维矩阵每一列的平均值,RR表示片段属于各个动作类别(含背景)的概率,对于每一个片段记录其RR中概率最大的类别作为其动作识别结果c';
[0081] (4‑6).对于动作识别结果c',若一个片段识别结果为非背景类,则结合(4‑3)记录的片段开始帧和结束帧,将其加入最终结果Result中;
[0082] (4‑7).对于新视频V',最终的时序动作定位结果表示为其中 表示定位得到的动作片段总数,对于第j个片段, 表示该片段在视频中的开始帧, 表示该片段在视频中的结束帧,表示该片段的动作识别结果。
[0083] 本实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。