本发明属于遥感影像智能化分析领域,具体涉及一种基于时空2d卷积神经网络的航拍视频分析方法。
背景技术:
随着遥感与计算机视觉领域的不断发展,由于无人机能以较低的成本提供实时的高分辨率视频,能显著地减少对天气和环境的依赖,以更高的灵活性来面对现实中的各种问题。但是随着无人机制造工艺的不断完善,使得空中的无人机越来越多,对应创建的视频数据也越来越多,如何对这些视频数据进行自动识别分析是非常重要的。
现有的视频处理方法包括两类,一类是基于双流的神经网络方法,另一类是基于3d卷积神经网络的方法。基于双流的神经网络方法是指以rgb帧为输入的rgb流和以光流帧为输入的光流,rgb流对外观特征进行建模,而光流对时序特征进行建模;但是光流无法捕获长时序信息,而且在空间和时间上对光流进行提取的计算量是非常巨大的,这就限制了其在工业中的广泛应用。基于3d卷积神经网络的方法是采用3d卷积从扩展的时间维度上捕捉时间特征和空间特征,同时通过叠加3d卷积捕获长时序信息;但是3d卷积计算成本同样非常巨大,无法在边缘设备上进行部署。由于以上现有技术中处理视频方法的计算量较大,不能高效的处理数据,急需一种新的方法对视频数据进行处理。
技术实现要素:
为解决以上现有技术存在的问题,本发明提出了一种基于时空2d卷积神经网络的航拍视频分析方法,该方法包括:实时获取航拍视频数据,对获取的航拍视频数据进行预处理;将预处理后的航拍视频数据输入到训练好的航拍视频识别模型中进行识别分析处理;对识别结果进行统计分析;所述航拍视频识别模型包括2d卷积神经网络、长时序特征提取模块ltfe、短期运动特征提取模块smfe以及特征融合模块ffm,长时序特征提取模块ltfe、短期运动特征提取模块smfe和特征融合模块ffm均设置在2d卷积神经网络中。
优选的,对航拍视频数据进行预处理包括:将实时获取的每个无人机航拍视频数据分为等长的t个片段,从每个片段中随机抽取一帧数据形成t帧输入序列。
优选的,航拍视频识别模型中的2d卷积神经网络为resnet-50卷积神经网络,该网络包括一个卷积层、十六个buildingblock结构、一个全连接层以及一个平均池化层;将长时序特征提取模块ltfe和短期运动特征提取模块smfe并联插入到每个buildingblock结构的残差块中,并用特征融合模块ffm将长时序特征和短期运动特征进行融合,构成航拍视频识别模型。
优选的,对航拍视频识别模型进行训练的过程包括:
s1:获取原始航拍数据集,对原始航拍数据集进行划分,得到训练集和测试集;对训练集中的数据进行预处理,生成t帧输入序列;
s2:将t帧输入序列输入到航拍视频识别模型中进行训练;
s3:将t帧输入序列输入到航拍视频识别模型的卷积层中进行局部特征提取,得到局部特征图;
s4:将局部特征图输入到各个buildingblock结构中,得到融合特征;
s5:将所有的融合特征输入到全连接层和平均池化层,得到每一帧图像的分类向量;
s6:采用softmax函数对分类向量进行归一化处理,得到分类结果;
s7:根据分类结果计算模型的损失函数,不断调整模型的参数,当损失函数最小时完成模型的训练,得到训练好的航拍视频识别模型。
进一步的,采用buildingblock结构对局部特征图进行处理的具体过程包括:
s41:采用一层1×1的2d卷积对局部特征图进行卷积处理,减少通道的维数,对局部特征图进行压缩;
s42:将压缩后的局部特征图输入到长时序特征提取模块ltfe中,提取局部特征图的长时序特征;
s43:将压缩后的局部特征图输入到短期运动特征提取模块smfe中,提取局部特征图的短期运动特征;
s44:将长时序特征和短期运动特征输入到特征融合模块ffm中,得到融合特征。
进一步的,采用长时序特征提取模块ltfe对局部特征进行处理的过程包括:对局部特征图进行reshape操作,改变输入特征图的维度;在时间维度上对改变维度后的特征图进行通道级的1d卷积操作,提取长时序特征;对长时序特征进行reshape操作,将特征图重塑为原始维度,并通过一层3×3的2d卷积对局部空间信息进行建模;将输入特征以及建模后的特征图通过残差连接的方式进行相加,提取长时序信息的同时保留原始空间信息,得到局部特征图的长时序特征。
进一步的,采用短期运动特征提取模块smfe对局部特征图进行处理的过程包括:对局部特征图进行一层1×1的2d卷积操作,降低通道数;对降低通道数后的局部特征图进行时序分割操作,并计算分割后所得相邻特征图之间的差异;提取相邻特征图之间的运动特征,对所有的运动特征通过concate操作进行合并,构建运动矩阵;将运动矩阵输入到全局平均池化层,得到空间信息;采用一层2d卷积将特征图通道扩展为原始通道尺寸,同时利用sigmoid函数得到运动注意权重值;对运动注意权重值和局部特征图进行通道级乘积,并将乘积结果与局部特征图输入到残差连接,得到与运动特征信息相关的通道并保留整体的空间背景信息。
进一步的,对长时序特征和短期运动特征进行融合的过程包括:利用两次仿射变换将长时序特征从单模态映射到多模态中;采用元素级求和、通道级乘积和残差连接的方式对多模态长时序特征和短期运动特征的相关关系进行融合,得到融合特征;得到融合特征的表达式为:
f=(η1(a*)⊙mo η2(a*)) mo
优选的,分类结果的表达式为:
优选的,模型的损失函数为交叉熵损失函数,其表达式为:
本发明的有益效果在于:
本发明采用改进的2d卷积神经网络模型,提高了计算效率;同时,本发明构建了长时序特征提取模块ltfe和短期运动特征提取模块smfe,能有效的提取长时序特征和短期运动特征,解决了2d卷积神经网络无法对时序信息进行建模的问题。
附图说明
图1为本发明的整体流程图;
图2为本发明的卷积神经网络框架图;
图3为本发明的长时序提取模块和短期运动特征提取模块插入resnet网络结构示意图;
图4为本发明的长时序特征提取模块示意图;
图5为本发明的短期运动特征提取模块示意图;
图6为本发明的特征融合模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于时空2d卷积神经网络的航拍视频分析方法,如图1所示,该方法包括:实时获取航拍视频数据,对获取的航拍视频数据进行预处理;将预处理后的航拍视频数据输入到训练好的航拍视频识别模型中进行识别分析处理;对识别结果进行统计分析;所述航拍视频识别模型包括2d卷积神经网络、长时序特征提取模块ltfe、短期运动特征提取模块smfe以及特征融合模块ffm,所述长时序特征提取模块ltfe、短期运动特征提取模块smfe和特征提取模块设置在2d卷积神经网络中。
对航拍视频数据进行预处理包括:将获取的每个无人机航拍视频数据分为等长的t个片段,从每个片段中随机抽取一帧数据形成t帧输入序列。在构成t帧输入序列前,将抽取的图像裁剪到224×224的固定尺寸。
航拍视频识别模型包括2d卷积神经网络、长时序特征提取模块ltfe、短期运动特征提取模块smfe以及特征提取模块ffm,所述长时序特征提取模块ltfe、短期运动特征提取模块smfe和特征融合模块ffm设置在2d卷积神经网络中。本发明的2d卷积神经网络为resnet-50卷积神经网络,长时序特征提取模块ltfe、短期运动特征提取模块smfe和特征融合模块ffm的个数与resnet-50卷积神经网络中的残差块的个数相同。
优选的,如图2所示,航拍视频识别模型包括一个卷积层、十六个buildingblock结构、一个全连接层以及一个平均池化层。每个buildingblock结构中插入ltfe和smfe模块,其中插入方式如图3所示,将ltfe和smfe模块并联替换原有buildingblock结构中3×3的2d卷积层,再通过ffm模块将ltfe和smfe输出的特征信息进行融合。
对航拍视频识别模型进行训练的过程包括:
s1:获取原始航拍数据集,对原始航拍数据集进行划分,得到训练集和测试集;对训练集中的数据进行预处理,生成t帧输入序列;
s2:将t帧输入序列输入到航拍视频识别模型中进行训练;
s3:将t帧输入序列输入到航拍视频识别模型的卷积层中进行局部特征提取,得到局部特征图;
s4:将局部特征图输入到各个buildingblock结构中,得到融合特征。
s5:将所有的融合特征输入到全连接层和平均池化层,得到每一帧图像的分类向量。
s6:采用softmax函数对分类向量进行归一化处理,得到分类结果。
s7:根据分类结果计算模型的损失函数,不断调整模型的参数,当损失函数最小时完成模型的训练,得到训练好的航拍视频识别模型。
对原始航拍数据集进行预处理的过程包括:将航拍视频数据集按照7:3的比例划分成训练集和测试集,再对划分好的数据集进行预处理;其中每个航拍视频分成等长的t个片段,并从每个片段中随机抽取一帧,并将抽取后的图像裁剪到224×224的固定尺寸,而后形成t帧输入序列。
将预处理后的数据送入航拍视频识别模型中,输入的t帧序列首先经过一个7×7的2d卷积层,提取每一帧的局部特征,然后在送入buildingblock结构中,经过一层1×1的2d卷积层,减少通道维数,提升计算效率。将压缩后的特征图分别送入ltfe和smfe,其中特征图输入为
如图4所示,特征图输入ltfe模块后,首先经过reshape操作,将
其中,
a*=m conv(a)sp
其中m表示原始输入,convsp表示一层3×3的2d卷积,a表示经过通道级时域融合后的特征。
如图5所示,特征图输入smfe模块后,进入一个1×1的2d卷积来减少通道数,降低计算量,之后再通过时序分割操作将输入特征图在时间维度上分割开来,即
x(t)=conv(m(t 1))tran-m(t),1≤t≤t-1
其中,conv(.)tran表示3×3的2d通道级变换。将步长结束时的运动特征表示为零,即x(t)=0,同时通过concate操作合并所有运动特征,最终构建运动矩阵[x(1),x(2)…x(t)],再将构建好的运动矩阵送入一个全局平均池化层,来总结空间信息。表达形式如下所示:
x*=pool(x)
之后利用1×1的2d卷积来将特征图通道扩展为原始通道尺寸,并且利用sigmoid函数得到对应的运动注意权重值,表达形式如下所示:
w=2γ×conv(x*)ex-1
其中,convex表示1×1的2d卷积,γ表示sigmoid激活函数。而后为了激发与运动信息相关的通道并保留整体的空间背景信息,将原始输入和运动注意权重值进行通道级乘积,并通过残差链接的方式加上原始输入。表达形式如下所示:
mo=m w⊙m
其中,⊙表示通道级乘积,mo表示经过smfe模块后的输出,m表示原始输入。
如图6所示,长时序特征和短期运动特征一同输入ffm模块。长时序特征通过两次仿射变换,实现单模态到多模态的映射。其中利用两个多层感知器来实现两次仿射变换,之后将短期运动特征与其中一次仿射变换后的特征图进行通道级乘积,再将得到的特征图与另一次仿射变换后的特征图进行元素级求和,而后再通过残差连接的方式加上短期运动特征,从而构建短期运动特征和长时序特征的相关关系,其表达式为:
f=(η1(a*)⊙mo η2(a*)) mo
其中,a*表示长时序特征,mo表示短期运动特征,η表示仿射变换,⊙表示通道级乘积。而后再将融合后的特征信息通过一个1×1的2d卷积来恢复成原始通道尺寸。通过16个buildingblock模块后,将最终输出的特征信息经过一个全连接层和一个平均池化层,得到对应每一帧的分类向量
其中,softmax表示归一化指数函数,vc表示每一帧分类向量对应的第c个类别的输出,cls表示事件类别数,j表示第j类事件。将激活后的分类向量记录为si,si表示一个各维度和为1,每一个维度代表分为这一类的概率。
定义一个交叉熵损失函数,表达形式如下所示:
其中θ表示网络参数,m表示为输入的数据,n表示批大小,cls表示类别数,
计算损失函数,返回更新参数,并不断进行迭代,提高模型识别的准确度,当损失函数最小时,航拍视频识别模型训练完成。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
