发布信息

基于残差信息增强的车辆计数方法、电子设备和可读介质 专利技术说明

作者:admin      2023-07-19 13:37:23     315



计算;推算;计数设备的制造及其应用技术1.本发明涉及交通控制系统和图像识别技术领域,特别是涉及一种基于残差信息增强的车辆计数方法、电子设备和可读介质。背景技术:2.车辆计数是指在特定时间段内对通过某个地点的车辆进行计数的过程。它对于城市交通管理和规划具有重要的意义。首先,车辆计数可提供城市交通规划师在决定未来道路、桥梁和交通枢纽的位置和大小方面的有用信息。通过了解不同时段内不同类型车辆的流量和拥堵情况,可以优化道路和公共交通系统,使其更适应日益增长的城市交通需求。另外,通过对车辆计数数据的分析,可以更好地了解交通流量,制定针对性的交通控制措施,如信号灯的同步、车道的调整等,以便更好地管理城市交通,减少交通拥堵和行车事故。3.传统的车辆手动计数极其耗时、繁琐且容易出错。现今,遥感图像在现代地球观测中发挥着重要作用,遥感图像,或称遥感照片,是各种传感器所获信息的产物,是遥感探测目标的信息载体,就像我们生活中拍摄的照片一样,遥感图像同样可以“提取”出大量有用的信息,遥感平台从高空俯视地面,能够大范围、全区域地判别整个城市的交通状况,一次性获取城市整体交通状况信息(即影像数据),非常有利于从全局角度为交通指挥决策提供依据。计算机视觉与遥感图像相结合的快速发展为高效计数车辆提供了思路。4.已知的基于遥感图像的计数方法为基于密度图的目标计数,例如csrnet(见参考文献:y. li, x. zhang, and d. chen.csrnet: dilated convolutional neural networks for understanding the highly congested scenes,cvpr 2018,2018:1091-1100)使用扩张卷积以及多列卷积融合的方式提取遥感图像不同尺度的车辆特征以实现车辆计数,然而多列卷积融合的方式经实验证明各列的结果相似,效果大同小异,冗余大,因此导致车辆特征提取质量较差,以故车辆计数精度不高。技术实现要素:5.考虑到上述情况,本发明的目的是提供一种改进的车辆计数方法、电子设备和可读介质,能精准提取遥感图片的车辆特征,提高遥感场景下的车辆计数的准确率。6.为了实现上述目的,本发明提供了一种基于残差增强信息的车辆计数方法,包括:s100,获取多个待训练遥感图像,将每个待训练遥感图像调整为统一尺寸,得到遥感图像训练集;s200,确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,并根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型;s300,当收到目标区域车辆计数请求后,获取与目标区域车辆计数请求对应的目标遥感图像,基于训练好的车辆计数模型确定目标区域的车辆数量,其中,步骤s200中确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,具体包括:s210,利用特征提取网络vgg19模块对待训练遥感图像进行特征提取,得到第一特征图f1;s220,利用不同的卷积神经网络单独对第一特征图f1进行特征提取以获取全局特征图和局部特征图,将全局特征图和局部特征图进行拼接,得到第二特征图f2;s230,将第一特征图f1输入到空间注意力模块中三个单独的操作层,以根据每个操作层输出的卷积特征图确定池化查询张量q、池化键张量k和池化值张量v,其中每个操作层包括卷积层conv4、线性整流层relu4、批归一化层bn4和加法层add4,卷积层conv4的输入为第一特征图f1,卷积层conv4的一个输出端连接至线性整流层relu4的输入端,线性整流层relu4的输出端连接至批归一化层bn4的输入端,批归一化层bn4的输出端与卷积层conv4的另一个输出端一起连接至加法层add4的输入端;s240,基于空间注意力模块的自注意力机制,对第一特征图f1进行信息增强处理,得到第三特征图f3;s250,将待训练遥感图像的第三特征图f3经过第三卷积神经网络进行处理,并与第二特征图f2逐通道相乘后得到第五特征图f5,再将第五特征图f5与第二特征图f2逐通道相加进行融合,得到融合特征图;s260,根据待训练遥感图像的融合特征图确定对应的预测密度图。7.较佳地,步骤s230的每个操作层中,对于卷积层conv4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图;对于线性整流层relu4,其线性整流处理公式均为:8.其中,x表示线性整流层的输入特征图的每个元素,表示线性整流函数;对于批归一化层bn4,其批归一化处理公式均为:[0009][0010][0011][0012]其中,n为批归一化层的输入特征图中所有元素的个数;xi为批归一化层的输入特征图的第i个元素,1≤i≤n;μ表示xi的均值;σ表示xi的标准差;ε为一个接近于0的正常数;x’i表xi的标准分数;γ和β分别为缩放参数γ和偏移参数β,缩放参数γ的初始值为1,偏移参数β的初始值为0,yi为批归一化层的输出特征图的第i个元素;对于加法层add4,其对批归一化层bn4的输出和卷积层conv4的输出进行相加,输出对应的特征图。[0013]较佳地,步骤s250具体包括:s251,利用第三卷积神经网络对第三特征图f3进行处理,得到第四特征图f4,其中,第三卷积神经网络包括依次连接的第一卷积层conv5_1、第一线性整流层relu5-1、第一批归一化层bn5-1、第二卷积层conv5_2、第二线性整流层relu5-2、第二批归一化层bn5-2和第三卷积层conv5_3;s252,将第四特征图f4与第二特征图f2逐通道相乘,得到第五特征图f5,将第五特征图f5与第二特征图f2逐通道相加,得到融合特征图。[0014]进一步佳地,在第三卷积神经网络中,对于第一卷积层conv5_1,其卷积核的窗口大小为3*3,滑动步长为1,用于输出256个特征图;对于第二卷积层conv5_2,其卷积核的窗口大小3*3,滑动步长为1,用于输出128个特征图;对于第三卷积层conv5_3,其卷积核的窗口大小为1*1,滑动步长为1,用于输出1个特征图;对于第一线性整流层relu5-1和第二线性整流层relu5-2,其线性整流处理公式与操作层的线性整流层relu4的线性整流处理公式相同;对于第一批归一化层bn5-1和第二批归一化层bn5-2,其批归一化处理公式与操作层的批归一化层bn4的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。[0015]较佳地,步骤s220具体包括:s221,利用第一卷积神经网络对第一特征图f1进行特征提取,得到全局特征图,其中,第一卷积神经网络包括依次连接的第一卷积层conv2_1、第一批归一化层bn2-1、第一线性整流层relu2-1、第二卷积层conv2_2、第三卷积层conv2_3、第四卷积层conv2_4、第五卷积层conv2_5、第二批归一化层bn2-2、第二线性整流层relu2-2、第六卷积层conv2_6、第三批归一化层bn2-3和第三线性整流层relu2-3;s222,利用第二卷积神经网络对第一特征图f1进行特征提取,得到局部特征图,其中,第二卷积神经网络包括依次连接的自适应平均池化层adp_avg_pooling3、第一卷积层conv3_1、第一批归一化层bn3-1、第一线性整流层relu3-1、第二卷积层conv3_2、第三卷积层conv3_3、第四卷积层conv3_4、第五卷积层conv3_5、第二批归一化层bn3-2、第二线性整流层relu3-2、第六卷积层conv3_6、第三批归一化层bn3-3、第三线性整流层relu3-3和上采样层interpolate3;s223,调用cat函数将全局特征和局部特征在通道维度上进行拼接,得到第二特征图f2。[0016]进一步地,在第一卷积神经网络中,对于第一卷积层conv2_1,其卷积核的窗口大小为1*1,滑动步长为1,用于输出为128个特征图;对于第二卷积层conv2_2,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图;对于第三卷积层conv2_3,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图;对于第四卷积层conv2_4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图;对于第五卷积层conv2_5,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图;对于第六卷积层conv2_6,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图;对于第一批归一化层bn2-1、第二批归一化层bn2-2和第三批归一化层bn2-3,其批归一化处理公式与操作层的批归一化层bn4的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0;对于第一线性整流层relu2-1、第二线性整流层relu2-2和第三线性整流层relu2-3,其线性整流处理公式与操作层的线性整流层relu4的线性整流处理公式相同。[0017]进一步地,第二卷积神经网络中,对于自适应平均池化层adp_avg_pooling3,其自适应平均池化公式为:output[i,j,c]=1/(pool_h*pool_w)*[0018]其中,output(i,j,c)表示自适应平均池化层的输出特征图中行号为i、列号为j、通道号为c时的值;input(m,n,c)表示自适应平均池化层的输入特征图中行号为m、列号为n、通道号为c时的值;pool_h和 pool_w通过以下公式计算:pool_h=floor(h/output_h)pool_w=floor(w/output_w)其中,floor(x)表示对x进行向下取整;h为输入特征图的长度,w为输入特征图的宽度;output_h为输出特征图的长度,output_h为9;output_w为输出特征图的宽度,output_w为9,其中特征图的长度为特征图的行号的最大值,特征图的宽度为特征图的列号的最大值;对于第一卷积层conv3_1,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图;对于第二卷积层conv3_2,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图;对于第三卷积层conv3_3,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图;对于第四卷积层conv3_4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图;对于第五卷积层conv3_5,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图;对于第六卷积层conv3_6,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图;对于第一批归一化层bn3-1、第二批归一化层bn3-2和第三批归一化层bn3-3,其批归一化处理公式与操作层的批归一化层bn4的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0;对于第一线性整流层relu3-1、第二线性整流层relu3-2和第三线性整流层relu3-3,其线性整流处理公式与操作层的线性整流层relu4的线性整流处理公式相同;对于上采样层interpolate3,其由pytorch库函数torch.nn.functional.interpolate(input,size,mode)处理完成,input为上一层输出的特征图;size为指定的输出大小,为128像素*128像素,mode为所使用的插值算法,为双线性插值算法。[0019]较佳地,步骤s200中根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型,包括:s200a,针对遥感图片训练集中的当前待训练遥感图像,确定当前待训练遥感图像的预测密度图;s200b,利用该当前待训练遥感图像所对应的预测密度图及真实密度图训练车辆计数模型,根据车辆计数模型的输出结果确定车辆计数模型的损失函数;s200c,根据车辆计数模型的损失函数更新所有卷积层中卷积核的权重参数以及所有批归一化层中缩放参数和偏移参数的值;s200d,判断遥感图像训练集中所有待训练遥感图像是否都已训练完毕,如果是,转步骤200f,如果否,继续步骤200e;s200e,将遥感图像训练集中的下一张待训练遥感图像作为当前待训练遥感图像,转步骤s200a;s200f,判断车辆计数模型的当前训练轮次是否达到预定训练轮次,如果是,结束,如果否,转步骤s200a,其中,车辆计数模型的损失函数的计算公式为:其中,车辆计数模型的损失函数的计算公式为:[0020]其中,其中,是贝叶斯损失函数,是计数误差函数,贝叶斯损失函数定义如下:[0021]其中,为车辆计数模型对应于当前待训练遥感图像的贝叶斯损失函数;n’是当前待训练遥感图像所对应的预测密度图中像素的总数量,其中当前待训练遥感图像所对应的预测密度图是通过将当前待训练遥感图像输入车辆计数模型而得到的输出结果;cn是当前待训练遥感图像所对应的预测密度图中第n个像素点的位置;e[cn]为当前待训练遥感图像所对应的预测密度图中第n个像素点在对应区域处车辆的密度;是损失函数;计数误差函数定义如下:[0022]其中,为车辆计数模型对应于当前待训练遥感图像的计数误差函数;为根据当前待训练遥感图像所对应的预测密度图预测出的车辆总数量,其中当前待训练遥感图像所对应的预测密度图是通过将当前待训练遥感图像输入车辆计数模型而得到的输出结果;y为根据当前待训练遥感图像所对应的真实密度图确定出的车辆总数量。[0023]另一方面,本发明提供了一种电子设备,包括:存储器;处理器;以及计算机程序;其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现上述基于残差增强信息的车辆计数方法。[0024]再一方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行以实现上述基于残差增强信息的车辆计数方法。[0025]本公开实施例提供的技术方案带来的有益效果是:(1)本发明基于残差增强信息的车辆计数方法,首先通过特征提取网络vgg19模块确定第一特征图,第一特征图f1是遥感图像压缩后的信息表示,已去除了遥感图像中对于计数不必要的特征;然后基于第一特征图f1通过第一和第二卷积神经网络确定全局特征图和局部特征图,其中全局特征图能反应车辆的纹理信息,局部特征图能反应车辆的细节特征信息,即角度,轮廓等特征。通过拼接全局特征图和局部特征图得到第二特征图f2。第二特征图f2融合了车辆的角度、轮廓信息和纹理信息;接着通过空间注意力模块的多个操作层结合第一特征图确定空间注意力模块的池化查询张量q、池化键张量k和池化值张量v,基于空间注意力模块的自注意力机制,对第一特征图f1进行信息增强处理,得到第三特征图f3,其中第三特征图f3中车辆信息被增强,背景信息被弱化;然后将第三特征图f3与第二特征图f2进行融合,得到融合特征图,此特征图包含第一特征图f1增强后的车辆空间信息,和f2提取出来的车辆局部及全局信息这三种维度的车辆信息,相对两种维度的信息融合更加健壮、准确;根据融合特征图确定对应遥感图像的预测密度图;最后根据每个遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型,通过训练好的车辆计数模型能实现基于任意遥感图片的车辆计数。[0026](2)本发明车辆计数方法中,每个操作层包括卷积层conv4、线性整流层relu4、批归一化层bn4和加法层add4,卷积层conv4对第一特征图f1进行卷积,得到特征m。线性整流层relu4可以引入非线性变换,增强神经网络的表达能力和非线性拟合的能力,对特征m进行线性整流,得到特征p。批归一化层bn4将线性整流后的特征m(即特征p)的结果限制在[-1,1]这个区间,批归一化层bn4能进一步提取卷积过程中丢失的车辆残差信息,得到特征n,特征n中每个元素保持在[-1,1]。加法层add4将特征m与特征n相加,使原有结果特征m能融合卷积过程中丢弃的残差信息,进而不仅可以保留特征m的结果,而且可以额外学习到[-1,1]区间的信息n,这使得当根据特征m和特征n相加确定出q、k、v后,空间注意力模块输出的第三特征图f3中每个位置的值能在较小的区间移动,也即第三特征图f3中车辆信息被强化,背景信息被弱化,从而实现了遥感图片车辆特征的精准提取,提高了遥感场景车辆识别的正确率。[0027](3)本发明车辆计数方法在对第二特征图f2与空间注意力模块输出的第三特征图f3进行融合的过程中,考虑到了特征处理过程中丢弃的残差信息,使用第一卷积层conv5_1、第一线性整流层relu5-1、第一批归一化层bn5-1、第二卷积层conv5_2、第二线性整流层relu5-2、第二批归一化层bn5-2和第三卷积层conv5_3组成的第四卷积神经网络对第三特征图f3进行处理,得到的第四特征图f4中每个元素能保持在[-1,1],再通过f4*f2+f2来融合f2和f4,来结合学习过程中丢失的残差信息,这样不仅可以保留第二特征图f2的结果,而且可以使f2的结果额外加上以元素区间在[-1,1]的第四特征图f4为权重的f2。通过对比分析,仅利用f2作为融合特征图所输出的密度图,其各个分量和真实密度图的各个分量误差都在[-1,1]区间,而本方法通过额外的强制加上一个f2*f4的结构得到的融合特征图,在损失函数的约束下,最终输出的密度图的结果相对直接输出特征图f2更加精确,通过这种方式我们可以提高遥感场景下的车辆计数的准确率。[0028](4)本发明车辆计数方法考虑到了车辆在数据集中所占用的像素大小,在第一卷积神经网络中,使用依次连接的第一卷积层conv2_1、第一批归一化层bn2-1、第一线性整流层relu2-1、第二卷积层conv2_2、第三卷积层conv2_3、第四卷积层conv2_4、第五卷积层conv2_5、第二批归一化层bn2-2、第二线性整流层relu2-2、第六卷积层conv2_6、第三批归一化层bn2-3和第三线性整流层relu2-3构成的第一卷积神经网络对第一特征图f1进行特征提取,我们通过观察数据集发现车辆的大小在1*1,3*3,5*5的像素范围内,故我们选取的卷积核均设置为此范围中,排除掉较大的卷积核,避免融入冗余的背景信息,干扰车辆计数。[0029](5)同样出于车辆在数据集中所占用的像素大小,在第二卷积神经网络中,使用依次连接的自适应平均池化层adp_avg_pooling3、第一卷积层conv3_1、第一批归一化层bn3-1、第一线性整流层relu3-1、第二卷积层conv3_2、第三卷积层conv3_3、第四卷积层conv3_4、第五卷积层conv3_5、第二批归一化层bn3-2、第二线性整流层relu3-2、第六卷积层conv3_6、第三批归一化层bn3-3、第三线性整流层relu3-3和上采样层interpolate3构成的第二卷积神经网络对第一特征图进行特征提取,我们选取的卷积核的尺寸均在1*1,3*3,5*5的像素范围内,此外我们还联合使用使用平均池化层和上采样层提取图像中车辆的局部特征。[0030](6)本方法通过在三个公开数据集上进行测试,不仅在相同数据集上计数结果准确度更高;而且这三个数据集相对前两个数据集包含更多的场景,证明我们的模型在不同场景下鲁棒性高,能够适应在不同环境下遥感图像的目标计数的要求。能改善传统遥感图像下物体分布不均、尺度变化大和复杂的背景分布所导致的鲁棒性差、计数精度低等问题附图说明[0031]为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0032]图1是本发明实施例基于残差增强信息的车辆计数方法的流程图;图2是图1所示基于残差增强信息的车辆计数方法中确定待训练遥感图像所对应的预测密度图的步骤的详细流程图;图3是图2所示确定待训练遥感图像所对应的预测密度图的步骤中涉及的第一卷积神经网络的示意图;图4是图2所示确定待训练遥感图像所对应的预测密度图的步骤中涉及的第二卷积神经网络的示意图;图5是图2所示确定待训练遥感图像所对应的预测密度图的步骤中涉及的空间注意力模块的操作层及残差注意力机制的示意图;图6是图2所示确定待训练遥感图像所对应的预测密度图的步骤中涉及的残差信息融合的示意图。具体实施方式[0033]为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。[0034]下面对本技术实施例涉及的技术用语进行说明解释:特征提取:特征提取是对图像的处理操作,它是将一些原始的输入图像的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。[0035]特征提取网络vgg19模块:vgg19是一种深度卷积神经网络结构,由牛津大学的研究团队于2014年提出。它是 vgg系列中的一种,也是目前应用最广泛的深度学习模型之一。vgg19的结构非常简单,它由19层卷积层和全连接层组成。其中,卷积层使用了3x3的卷积核,而全连接层则使用了4096.个神经元.这种结构的优点在于它可以很好地处理图像分类问题,凤时也可以用于其他的计算机视觉任务,如目标检测和图像分割。[0036]特征图:特征图是指卷积神经网络中每一卷积层的输入或输出。卷积神经网络中较浅位置的卷积层产生的特征图可能是输入图像的边缘、角点等低级特征,较深位置的卷积层产生的特征图则可能是难以直观解释的高级特征。大多数卷积层的输出特征图往往有几十乃至几百个图像通道(大多数手机拍摄的彩色图片含红、绿、蓝三通道),特征图可以用符号x表示,同时可以表示为:x∈r^(h×w×c),其中r为实数集合,h是特征图的长度,w是特征图的宽度,c是特征图的通道数。x也可以表示为:[[[1z1_1,1z1_2,....,1z1_c],[1z2_1,1z2_2,...,1z2_c]...,[1zw_1,1zw_2,...,1zw_c]],[[2z1_1,2z1_2,....,2z1_c],[2z2_1,2z2_2,...,2z2_c]...,[2zw_1,2zw_2,...,2zw_c]][[hz1_1,hz1_2,....,hz1_c],[hz2_1,hz2_2,...,hz2_c]...,[hzw_1,hzw_2,...,hzw_c]]],其中hzw_c表示行号为h,列号为w,通道号为c的值,其余值以此类推,任意值皆为特征图x的元素,特征图的长度为行号的最大值,特征图的宽度为列号的最大值。[0037]全局特征图:全局特征图用来表示待处理图像的整体特征,例如颜色特征,纹理特征和形状特征。[0038]局部特征图:局部特征图用于表示待处理图像的局部特征,例如对象的边缘、角、点、线、曲线和特别属性的区域所提取的特征等等。[0039]卷积神经网络(cnn):卷积神经网络是深度学习中的一大类方法,由几个、几十个、乃至几百个卷积层叠加而成。卷积神经网络尤其适合于处理图像格式的数据。利用卷积神经网络,计算机算法可以拥有部分人类视觉的能力,如图像分类、目标检测,也可以实现图片去噪、图像放大等图像增强功能。[0040]自适应平均池化层:自适应平均池化是一种用于图像处理的技术,它可以提取图像中重要的特征并将其变换为低维空间,从而改善图像处理中的各种操作。它主要是通过一种叫做“自适应平均池化”的算法来完成的,该算法可以有效地提取图像中重要的特征,并将其转换成更容易处理的数值。自适应平均池化算法是基于对图像每个像素的多次重复抽样来实现的,它首先会使用一组卷积核来提取图像的特征,然后将这些抽取的特征通过一套自适应的参数计算出一组数值,最终将这些数值汇总成一个输出。[0041]空间注意力模块:空间注意力模块是深度学习中的一种重要模型,它能精准地分析图像的空间数据,可以帮助机器理解视觉图像的内容和空间结构。一般来说,空间注意力模块具有以下特点:1、局部侧重:空间注意力模型具备局部整合特性,能够专注于图像中的某一块,而不是整图。2、多级注意力:空间注意力模型可以实现多级注意力,从而更好地捕捉图像中复杂的结构和模式。3、自适应深度:随着空间注意力模型的训练,深度会自动形成分层结构,使图像的表征更有效。[0042]参考图1,本实施例基于残差增强信息的车辆计数方法,包括如下步骤:步骤s100,获取多个待训练遥感图像,将每个待训练遥感图像调整统一尺寸,得到遥感图像训练集。[0043]其中,每个待训练遥感图像为通过无人机以不同角度对不同区域进行拍摄所获得的遥感图像,这些遥感图像后续用来训练车辆计数模型。[0044]在本实施例中,每个待训练遥感图像调整为1024像素*1024像素的尺寸。通过将待训练遥感图像处理成为1024像素*1024像素的尺寸,可以减少不同图像尺寸对网络性能以及结构的影响。可以理解地,每个待训练遥感图像也可以调整为512像素*512像素或2048像素*2048像素。本实施例中,可以使用opencv中的resize()函数,将所有待训练遥感图像的尺寸调整为规定的尺寸。[0045]步骤s200,确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,并根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型;其中,每个待训练遥感图像所对应的真实密度图可以通过公开的遥感图像数据集获取得到。详细地,遥感图像数据集包括每个待训练遥感图像上每台车辆的位置信息,这些车辆的位置信息是人工标注的真实结果,通过高斯滤波处理人工标注的位置信息,得到待训练遥感图像的真实密度图。[0046]需要说明的是,待训练遥感图像的真实密度图或者预测密度图均包含多个像素点,每个像素点与待训练遥感图像的某个地理区域对应。对于真实密度图,其中某个像素点的值的大小为待训练遥感图像之与该像素点对应的区域处车辆的密度的真实值,所有像素点的值的总和为待训练遥感图像所覆盖总区域的车辆的总数量的真实值。对于预测密度图,其中某个像素点的值的大小为该像素点在待训练遥感图像中对应区域处车辆的密度的预测值,所有像素点的值的总和为待训练遥感图像所覆盖总区域的车辆的总数量的预测值。[0047]在本实施例中,当车辆计数模型训练好之后,将某个目标区域的目标遥感图像输入至训练好的车辆计数模型,训练好的车辆计数模型的输出为对应该目标遥感图像的预测密度图,此时可以根据目标遥感图像的预测密度图所有像素点的值的总和确定出目标区域的车辆的总数量。[0048]s300,当收到目标区域车辆计数请求后,获取与目标区域车辆计数请求对应的目标遥感图像,基于训练好的车辆计数模型确定目标区域的车辆数量。[0049]其中,目标区域车辆计数请求为对某一目标区域的车辆进行计数的请求。收到目标区域车辆计数请求后,首先获取与目标区域车辆计数请求对应的目标遥感图像,然后将目标遥感图像调整为1024像素*1024像素的尺寸,最后将调整尺寸后的目标遥感图像输入训练好的车辆计数模型,获取训练好的车辆计数模型的输出结果,该输出结果即为目标区域的车辆数量。[0050]具体地,参考图2,步骤s200中确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,具体包括:步骤s210,针对每个待训练遥感图像,利用特征提取网络vgg19模块对该待训练遥感图像进行特征提取,得到第一特征图f1。[0051]其中,特征提取网络vgg19模块的输入为待训练遥感图像,待训练遥感图像的大小为1024像素*1024像素,通道数为3。特征提取网络vgg19模块的输出为第一特征图f1,第一特征图f1是大小为128像素*128像素,通道数为512的图像。[0052]特征提取网络vgg19模块输出的第一特征图f1是待训练遥感图像压缩后的信息表示,已去除了待训练遥感图像中对于车辆计数不必要的特征,便于后续信息处理。[0053]具体地,本步骤中的特征提取网络vgg19模块包括依次连接的第一卷积层conv1_1、第二卷积层conv1_2、第一最大池化层max_pooling1、第三卷积层conv1_3、第四卷积层conv1_4、第二最大池化层max_pooling2、第五卷积层conv1_5、第六卷积层conv1_6、第七卷积层conv1_7、第八卷积层conv1_8、第三最大池化层max_pooling3、第九卷积层conv1_9、第十卷积层conv1_10、第十一卷积层conv1_11、第十二卷积层conv1_12、第四最大池化层max_pooling4、第十三卷积层conv1_13、第十四卷积层conv1_14、第十五卷积层conv1_15、第十六卷积层conv1_16和双线性插值层unsample_bilinear1。[0054]需要说明的是,每个卷积层用于提取待训练遥感图像中车辆的特征,每个最大池化层为采用最大池化方式进行池化处理的池化层,用于降低图像的维度,并减少下一层待处理的数据量。[0055]下面对特征提取网络vgg19模块的各组成部分进行详细说明。[0056]对于第一卷积层conv1_1,其卷积核的窗口大小为3×3,滑动步长为1。第一个卷积层conv1_1的输入是大小为1024像素*1024像素、通道数为3的待训练遥感图像;第一卷积层conv1_1的输出为64个特征图。第一个卷积层conv1_1的输出作为第二卷积层conv1_2的输入。[0057]对于第二卷积层conv1_2,其卷积核的窗口大小为3×3,滑动步长为1,用于输出64个特征图,第二个卷积层conv1_2的输出作为第一最大池化层max_pooling1的输入。[0058]对于第一最大池化层max_pooling1,其池化窗口大小为2*2,滑动步长为2,第一最大池化层max_pooling1的输出作为第三卷积层conv1_3的输入。第一最大池化层max_pooling1的输出为大小为512像素*512像素、通道数为64的特征图。[0059]对于第三卷积层conv1_3,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,第三个卷积层conv1_3的输出作为第四卷积层conv1_4的输入。[0060]对于第四卷积层conv1_4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,第四卷积层conv1_4的输出作为第二最大池化层max_pooling2的输入。[0061]对于第二最大池化层max_pooling2,其池化窗口大小为2*2,滑动步长为2,第二最大池化层max_pooling2的输出作为第五卷积层conv1_5的输入。第二最大池化层max_pooling2的输出为大小为256像素*256像素、通道数为128的特征图。[0062]对于第五卷积层conv1_5,其卷积核的窗口大小为3*3,滑动步长为1,用于输出256个特征图,第五个卷积层conv1_5的输出作为第六卷积层conv1_6的输入。[0063]对于第六卷积层conv1_6,其卷积核的窗口大小为3*3,滑动步长为1,用于输出256个特征图,第六卷积层conv1_6的输出作为第七卷积层conv1_7的输入。[0064]对于第七卷积层conv1_7,其卷积核的窗口大小为3*3,滑动步长为1,用于输出256个特征图,第七卷积层conv1_7的输出作为第八卷积层conv1_8的输入。[0065]对于第八卷积层conv1_8,其卷积核的窗口大小为3*3,滑动步长为1,用于输出256个特征图,第八卷积层conv1_8的输出作为第三最大池化层max_pooling3的输入。[0066]对于第三最大池化层max_pooling3,其池化窗口大小为2*2,滑动步长为2,第三最大池化层max_pooling3的输出作为第九卷积层conv1_9的输入。第三最大池化层max_pooling3的输出为大小为128像素*128像素、通道数为256的特征图。[0067]对于第九卷积层conv1_9,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第九卷积层conv1_9的输出作为第十卷积层conv1_10的输入。[0068]对于第十卷积层conv1_10,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十卷积层conv1_10的输出作为第十一卷积层conv1_11的输入。[0069]对于第十一卷积层conv1_11,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十一卷积层conv1_11的输出作为第十二卷积层conv1_12的输入。[0070]对于第十二卷积层conv1_12,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十二卷积层conv1_12的输出作为第四最大池化层max_pooling4的输入。[0071]对于第四最大池化层max_pooling4,其池化窗口大小为2*2,滑动步长为2,第四最大池化层max_pooling4的输出作为第十三卷积层conv1_13的输入。第四最大池化层max_pooling4的输出为大小为64像素*64像素、通道数为512的特征图。[0072]对于第十三卷积层conv1_13,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十三卷积层conv1_13的输出作为第十四卷积层conv1_14的输入。[0073]对于第十四卷积层conv1_14,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十四个卷积层conv1_14的输出作为第十五卷积层conv1_15的输入。[0074]对于第十五卷积层conv1_15,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十五卷积层conv1_15的输出作为第十六卷积层conv1_16的输入。[0075]对于第十六卷积层conv1_16,其卷积核的窗口大小为3*3,滑动步长为1,用于输出512个特征图,第十六卷积层conv1_16的输出作为双线性插值层unsample_bilinear的输入。[0076]对于双线性插值层unsample_bilinear1,其放缩率为2,双线性插值层unsample_bilinear的输入是大小为64像素*64像素、通道数为512的特征图,双线性插值层unsample_bilinear1的输出即为第一特征图f1。第一特征图f1的大小为128像素*128像素、通道数为512。[0077]在本实施例中,对于第一最大池化层max_pooling1、第二最大池化层max_pooling2、第三最大池化层max_pooling3和第四最大池化层max_pooling4,每个最大池化层的池化公式为:[0078]其中,c是最大池化层的输入特征图在通道维度上的通道号;h是输入特征图在长度维度上的行号;w是输入特征图在宽度维度上的列号;k表征最大池化层的池化窗口的大小,本实施例中池化窗口大小为2*2,即k为2;s是最大池化层的步长,s为2;kh和kw为变量,kh是池化窗口的长度,kw是池化窗口的宽度,且kh∈[1,k];kw∈[1,k];hs为最大池化层的输入特征图中与h对应的、步长为s时的行号;ws为输入特征图中与w对应的、步长为s时的列号;为最大池化层的输入特征图中通道号为c、行号为、列号为时的值;为当通道号为c、行号为hs、列号为ws时,满足kh∈[1,k]且kw∈[1,k]条件的kh与kw的所有组合情况下得到的所有中的最大值;为通道号为c,行号为hs,列号为ws,池化窗口长度为kh和池化窗口宽度为kw时所对应的最大池化层的输出。[0079]对于双线性插值层unsample_bilinear1,其输出公式为:[0080]在本例中,q11、q12、q21和q22是双线性插值层的输入特征图中相邻的四个点;q11(x1,y1)在左上,q12(x1,y2)左下,q12(x2,y1)在右上,q22(x2,y2)在右下;f(q11)是q11点的像素值,f(q12) 是q12点的像素值,f(q21) 是q21点的像素值,f(q22) 是q22点的像素值;f(x,y)是q11、q12、q21和q22这4个点的中间点对应的像素值,(x,y)是中间点对应的位置坐标。[0081]在本步骤中,特征提取网络vgg19模块使用了16个卷积层,每个卷积层使用3×3卷积核,通过增加小卷积核的个数以及网络的深度进而提高了待训练遥感图像中车辆特征提取的准确率,且通过小卷积叠加的形式实现了与大卷积核相同的感受野的效果。另外,特征提取网络vgg19模块中所有的卷积层中卷积核不进行降维操作,这是因为降维会导致车辆信息的丢失,不进行降维可以保留更多的车辆信息。[0082]步骤s220,针对每个待训练遥感图像,提取该待训练遥感图像的全局特征图和局部特征图,将全局特征图和局部特征图进行拼接,得到第二特征图f2。[0083]具体地,步骤s220包括:s221,利用第一卷积神经网络对第一特征图f1进行特征提取,得到全局特征图。[0084]在本步骤例中,第一卷积神经网络输出的全局特征图能反应车辆的纹理信息。[0085]参考图3,第一卷积神经网络包括依次连接的第一卷积层conv2_1、第一批归一化层bn2-1、第一线性整流层relu2-1、第二卷积层conv2_2、第三卷积层conv2_3、第四卷积层conv2_4、第五卷积层conv2_5、第二批归一化层bn2-2、第二线性整流层relu2-2、第六卷积层conv2_6、第三批归一化层bn2-3和第三线性整流层relu2-3。[0086]批归一化层用于对输入数据进行归一化并输出,将每个特征的均值近似为0,方差近似为1,使得各层的输入分布更加稳定,有利于网络快速收敛。可通过不断地对中间输出进行调整,保证整个网络的中间输出的数值稳定性。[0087]线性整流层(rectified linearunit,relu),又称修正线性单元,是一种人工神经网络中常用的激活函数,relu作为一种非线性激活函数,将负数映射为零,保留正数不变,从而引入非线性的激活响应。这使得深度神经网络能够学习到更复杂的特征表示,提升了模型的表达能力。同时,线性整流层在正数部分保持梯度为1,避免了梯度消失的问题,使得网络能够更好地传播梯度,促进了模型的训练和收敛。[0088]下面对第一卷积神经网络的各组成部分进行详细说明。[0089]对于第一卷积层conv2_1,其卷积核的窗口大小为1*1,滑动步长为1。第一个卷积层conv2_1的输入是大小为128像素*128像素、通道数为512的第一特征图f1;第一卷积层conv2_1的输出为128个特征图。第一卷积层conv2_1的输出作为第一批归一化层bn2-1的输入。[0090]对于第一批归一化层bn2-1,其输出作为第一线性整流层relu2-1的输入。[0091]对于第一线性整流层relu2-1,其输出作为第二卷积层conv2_2的输入。[0092]对于第二卷积层conv2_2,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,其输出作为第三卷积层conv2_3的输入。[0093]对于第三卷积层conv2_3,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图,其输出作为第四卷积层conv2_4的输入。[0094]对于第四卷积层conv2_4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,其输出作为第五卷积层conv2_5的输入。[0095]对于第五卷积层conv2_5,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图,其输出作为第二批归一化层bn2-2的输入。[0096]对于第二批归一化层bn2-2,其输出作为第二线性整流层relu2-2的输入。[0097]对于第二线性整流层relu2-2,其输出作为第六卷积层conv2_6的输入。[0098]对于第六卷积层conv2_6,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图,其输出作为第三批归一化层bn2-3的输入。[0099]对于第三批归一化层bn2-3,其输出作为第三线性整流层relu2-3的输出。[0100]对于第三线性整流层relu2-3,其输出即为全局特征图。全局特征图是大小为128像素*128像素、通道数为128的特征图。[0101]在本实施例中,对于第一批归一化层bn2-1、第二批归一化层bn2-2和第三批归一化层bn2-3,每个批归一化层的批归一化处理公式为:[0102][0103][0104][0105]其中,n为批归一化层的输入特征图中所有元素的个数;xi为批归一化层的输入特征图的第i个元素,1≤i≤n;μ表示xi的均值;σ表示xi的标准差;ε为一个接近于0的正常数;x’i表xi的标准分数;γ和β分别为缩放参数γ和偏移参数β,缩放参数γ的初始值为1,偏移参数β的初始值为0,yi为批归一化层的输出特征图的第i个元素。[0106]本实施中,对于第一线性整流层relu2-1、第二线性整流层relu2-2和第三线性整流层relu2-3,每个线性整流层的线性整流处理公式为:[0107]其中,x表示线性整流层的输入特征图的每个元素;表示线性整流函数,为线性整流层的输出特征图中与输入特征图元素x对应的元素。[0108]s222,利用第二卷积神经网络对第一特征图f1进行特征提取,得到局部特征图。[0109]参考图4,第二卷积神经网络包括依次连接的自适应平均池化层adp_avg_pooling3、第一卷积层conv3_1、第一批归一化层bn3-1、第一线性整流层relu3-1、第二卷积层conv3_2、第三卷积层conv3_3、第四卷积层conv3_4、第五卷积层conv3_5、第二批归一化层bn3-2、第二线性整流层relu3-2、第六卷积层conv3_6、第三批归一化层bn3-3、第三线性整流层relu3-3和上采样层interpolate3。[0110]需要说明的是,自适应平均池化层(adaptive average pooling layer)是深度学习中常用的一种池化操作,它的作用是将输入的特征图尺寸调整为固定大小,同时保留更多的特征信息。[0111]在本步骤例中,第二卷积神经网络通过自适应平均池化层的池化处理所得到的局部特征图,能反应车辆的细节特征信息,即角度,轮廓等特征。[0112]下面对第二卷积神经网络的各组成部分进行详细说明。[0113]对于自适应平均池化层adp_avg_pooling3,其输出长度为9,宽度为9。自适应平均池化层的输入是大小为128像素*128像素、通道数为512的第一特征图f1;自适应平均池化层的输出作为第一卷积层conv3_1的输入。自适应平均池化层adp_avg_pooling3的输出为9像素*9像素、通道数为512的特征图。[0114]对于第一卷积层conv3_1,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图,第一卷积层conv3_1的输出作为第一批归一化层bn3-1的输入。[0115]对于第一批归一化层bn3-1,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。第一批归一化层bn3-1的输出作为第一线性整流层relu3-1的输入。[0116]对于第一线性整流层relu3-1,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第一线性整流层relu3-1的输出作为第二卷积层conv3_2的输入。[0117]对于第二卷积层conv3_2,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,第二卷积层conv3_2的输出作为第三卷积层conv3_3的输入。[0118]对于第三卷积层conv3_3,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图,第三卷积层conv3_3的输出作为第四卷积层conv3_4的输入。[0119]对于第四卷积层conv3_4,其卷积核的窗口大小为3*3,滑动步长为1,用于输出128个特征图,第四卷积层conv3_4的输出作为第五卷积层conv3_5的输入。[0120]对于第五卷积层conv3_5,其卷积核的窗口大小为5*5,滑动步长为1,用于输出128个特征图,第五卷积层conv3_5的输出作为第二批归一化层bn3-2的输入。[0121]对于第二批归一化层bn3-2,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。第二批归一化层bn3-2的输出作为第二线性整流层relu3-2的输入。[0122]对于第二线性整流层relu3-2,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第二线性整流层relu3-2的输出作为六卷积层conv3_6的输入。[0123]对于第六卷积层conv3_6,其卷积核的窗口大小为1*1,滑动步长为1,用于输出128个特征图,其输出作为第三批归一化层bn3-3的输入。[0124]对于第三批归一化层bn3-3,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。第三批归一化层bn3-3的输出作为第三线性整流层relu3-3的输出。[0125]对于第三线性整流层relu3-3,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第三线性整流层relu3-3的输出作为上采样层输入。[0126]对于上采样层interpolate3,其输入为大小为9像素*9像素、通道数为128的特征图,输出为局部特征图,局部特征图是大小为128像素*128像素、通道数为128的特征图。上采样层interpolate3需要经历两次双线性插值,具体过程由pytorch库函数torch.nn.functional.interpolate(input,size,mode)处理完成,此函数不改变特征图的通道数,会按照指定的输出大小输出特征图的长宽。其中,input为上一层输出的特征图,在本例中,其维度即9*9*128;size为指定的输出大小,在本例中,为128*128;mode为所使用的插值算法,本实施例中使用的为双线性插值算法。[0127]在本实施例中,对于第二卷积神经网络的第一批归一化层bn3-1、第二批归一化层bn3-2和第三批归一化层bn3-3,每个批归一化层的批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。[0128]在本实施中,对于第二卷积神经网络的第一线性整流层relu3-1、第二线性整流层relu3-2和第三线性整流层relu3-3,每个线性整流层的线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。[0129]在本实施例中,自适应平均池化层adp_avg_pooling3的池化公式为:output[i,j,c]=1/(pool_h*pool_w)*[0130]其中,自适应平均池化层adp_avg_pooling3的输入特征图的大小为h×w×c,h表示输入特征图的长度,w表示输入特征图的宽度,c表示输入特征图的通道数。其中,特征图的长度为特征图的行号的最大值,特征图的宽度为特征图的列号的最大值。自适应平均池化层adp_avg_pooling3的输出特征图的大小为output_h×output_w×c,其中output_h表示输出特征图的长度,output_w表示输出特征图的宽度,输出特征图的通道数与输入特征图的通道数相同。output(i,j,c)表示自适应平均池化层adp_avg_pooling3的输出特征图中行号为i、列号为j、通道号为c时的值,input(m,n,c)表示自适应平均池化层adp_avg_pooling3的输入特征图中行号为m、列号为n、通道号为c时的值,pool_h和pool_w均表示自适应平均池化窗口的大小。自适应平均池化窗口的大小pool_h和pool_w是根据目标输出的尺寸output_h和output_w进行自适应调整的,通过以下公式计算:pool_h=floor(h/output_h)pool_w=floor(w/output_w)其中,floor(x)表示对x进行向下取整;h为输入特征图的长度,w为输入特征图的宽度;output_h为输出特征图的长度,本实施例中,output_h为9;output_w为输出特征图的宽度,本实施例中output_w为9。特征图的长度为特征图的行号的最大值,特征图的宽度为特征图的列号的最大值。[0131]因此,自适应平均池化层的参数包括输入特征图的尺寸h×wꢀ×c以及目标输出的尺寸output_h×ꢀoutput_w×c。在本实施例中,目标输出的高度output_h为9,目标输出的宽度output_w为9,通过计算池化窗口的大小pool_h和pool_w,可以得到最终的输出特征图。[0132]本实施例中,无论自适应平均池化层adp_avg_pooling3输入尺寸大小,自适应平均池化后的尺寸结果为9*9*512。自适应平均池化层的工作方式如下:首先,根据所需的输出尺寸,在本模型中,我们将输出特征图的长度设置为9,宽为9,计算出池化窗口的大小。然后,将输入特征图分割为若干个窗口,每个窗口的大小等于池化窗口的大小。接着,在每个窗口上计算平均值,将得到的平均值作为输出的对应位置的元素值。[0133]s223,调用cat函数将全局特征和局部特征在通道维度上进行拼接,得到第二特征图f2。第二特征图f2的大小为128像素*128像素、通道数为256。[0134]在本步骤例中,第二特征图f2融合了车辆的角度、轮廓信息和纹理信息。[0135]步骤s230,将第一特征图f1输入到空间注意力模块中三个单独的操作层,以根据每个操作层输出的卷积特征图确定池化查询张量q、池化键张量k和池化值张量v。[0136]具体地,参考图5,每个操作层包括卷积层conv4、线性整流层 relu4、批归一化层bn4和加法层add4。其中,卷积层conv4的输入为第一特征图f1,卷积层conv4的一个输出端连接至线性整流层relu4的输入端,线性整流层relu4的输出端连接至批归一化层bn4的输入端,批归一化层bn4的输出端与卷积层conv4的另一个输出端一起连接至加法层add4的输入端。[0137]下面对每个操作层的各组成部分进行详细说明。[0138]对于卷积层conv4,其卷积核的窗口大小为3*3,滑动步长为1,卷积层conv4的输入是大小为128像素*128像素、通道数为512的第一特征图f1;卷积层conv4的输出为512个特征图,卷积层conv4的输出作为线性整流层relu4的输入和加法层add4的输入。[0139]对于线性整流层relu4,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。线性整流层relu4的输出作为批归一化层bn4的输入。[0140]对于批归一化层bn4,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。批归一化层bn4的输出作为加法层add4的输入。[0141]对于加法层add4,其对批归一化层bn4的输出和卷积层conv4的输出进行相加,输出对应的特征图,该特征图的大小为128像素*128像素、通道数为512。[0142]本实施例中,将三个独立的操作层中加法层add4输出的卷积特征图分别作为池化查询张量q、池化键张量k,池化值张量v。[0143]在本实施例中,卷积层conv4对第一特征图f1进行卷积,得到特征m。线性整流层relu4可以引入非线性变换,增强神经网络的表达能力和非线性拟合的能力,对特征m进行线性整流,得到特征p。批归一化层bn4将线性整流后的特征m(线性整流后的特征m即为特征p)的结果限制在[-1,1]这个区间,批归一化层bn4能进一步提取所有卷积层卷积过程中丢失的车辆信息,得到特征n,特征n中每个元素保持在[-1,1]。加法层add4将特征m与特征n相加,使原有结果特征m能融合卷积过程中丢弃的信息,进而不仅可以保留特征m的结果,而且可以额外学习到[-1,1]区间的信息n,这使得当根据特征m和特征n相加确定出q、k、v后,空间注意力模块输出的第三特征图f3中每个元素能在较小的区间波动,也即第三特征图f3中车辆信息被强化,背景信息被弱化。[0144]步骤s240,根据池化查询张量q、池化键张量k和池化值张量v,基于空间注意力模块的自注意力机制,对第一特征图f1进行信息增强处理,得到第三特征图f3。[0145]空间注意力模块的输入是第一特征图f1,大小为128像素*128像素,通道数为512。空间注意力模块的输出为第三特征图f3,其维度为128×128×512。[0146]空间注意力模块的自注意力机制被定义为如下公式:[0147]其中,attention是注意力分布矩阵,q代表池化查询张量(query),k代表池化键张量(key),v代表池化值张量(value),softmax代表softmax激活函数;是放缩因子,用于防止梯度消失,在本例中,d和k设置为1;t表示矩阵转置操作。[0148]其中,softmax函数定义如下:[0149]softmax函数,或称归一化指数函数,是逻辑函数的一种推广。softmax函数的输入特征图为,softmax函数的输入特征图中通道号c对应的向量z=[z_1,z_2,...,z_k],其中z_i表示softmax函数的输入特征图通道号c对应的向量中第i个元素,z_j表示softmax函数的输入特征图通道号c对应的向量中第j个元素,softmax函数的输入特征图通道号c对应的向量总共包含k个元素;x(z_i,c)表示softmax函数的输入特征图通道号为c对应的向量z中第i个元素的值,x(z_j,c)表示softmax函数的输入特征图通道号为c对应的向量中第j个元素的值。softmax(z_i,c)表示softmax函数的输出特征图通道号为c对应的向量中第i个元素的值,softmax层的输出特征图的每个元素的取值范围在0到1之间,并且所有元素的和为1。[0150]卷积的特性是可以对特征图进行空间上的交互和全局的关联性计算,本方案通过将生成的池化查询张量q与池化键张量k的转置进行softmax处理,然后再与池化值张量v经过逐元素相乘,可以实现不同位置的特征的加权,训练过程中,由于损失函数的约束,可以实现对第一特征图f1进行信息增强处理,车辆信息被加强,背景信息被弱化,得到了第三特征图f3。[0151]空间注意力模块的输入是第一特征图f1,大小为128像素*128像素,通道数为512。本实施例中,将q乘以k的转置,因本例中d和k为1,故直接再经过softmax函数处理q和k转置的乘积,再乘以v输出,即空间注意力模块的输出(第三特征图f3),其大小为128像素×128像素,通道数为512。[0152]本实施例将具有全局、动态感受野的自注意力机制融入卷积神经网络架构中,利用空间注意力模块的自注意力机制对第一特征图f1进一步增强处理,自注意力机制通过对第一特征图f1的信息特征进行相关与不相关的抉择建立动态权重参数,以加强车辆的权重信息并弱化背景的权重信息,达到特征的精准提取,提高遥感场景车辆识别的正确率。[0153]本方法通过新的空间注意力模块来融合卷积过程中丢失的信息,对特征提取后的特征进行特征增强,在输入数据的不同位置上赋予不同的权重,使模型更加关注重要的信息,从而使车辆的权重信息更高。[0154]s250,针对每张待训练遥感图像,对该待训练遥感图像的第三特征图f3经过第三卷积神经网络进行处理,并与第二特征图f2逐通道相乘后得到第五特征图f5,再将第五特征图f5与第二特征图f2逐通道相加进行融合,得到融合特征图。[0155]其中,步骤s250具体包括:s251,利用第三卷积神经网络对第三特征图f3进行处理,得到第四特征图f4。[0156]参考图6,第三卷积神经网络包括依次连接的第一卷积层conv5_1、第一线性整流层relu5-1、第一批归一化层bn5-1、第二卷积层conv5_2、第二线性整流层relu5-2、第二批归一化层bn5-2和第三卷积层conv5_3。[0157]对于第一卷积层conv5_1,其卷积核的窗口大小为3*3,滑动步长为1。第一卷积层conv5_1的输入是大小为128像素*128像素、通道数为512的第三特征图f1;第一卷积层conv5_1的输出256个特征图,其输出作为第一线性整流层relu5-1的输入。[0158]对于第一线性整流层relu5-1,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第一线性整流层relu5-1的输出作为第一批归一化层bn5-1的输入。[0159]对于第一批归一化层bn5-1,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。第一批归一化层bn5-1的输出作为第二卷积层conv5_2的输入。[0160]对于第二卷积层conv5_2,其卷积核的窗口大小3*3,滑动步长为1,用于输出128个特征图,第二卷积层conv5_2的输出作为第二线性整流层relu5-2的输入。[0161]对于第二线性整流层relu5-2,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第二线性整流层relu5-2的输出作为第二批归一化层bn5-2的输入。[0162]对于第二批归一化层bn5-2,其批归一化处理公式与第一卷积神经网络的批归一化层的批归一化处理公式相同,且缩放参数γ的初始值为1,偏移参数β的初始值为0。第二批归一化层bn5-2的输出作为第三卷积层conv5_3的输入。[0163]对于第三卷积层conv5_3,其卷积核的窗口大小为1*1,滑动步长为1,用于输出1个特征图,第三卷积层conv5_3的输出即为第四特征图f4,第四特征图f4的大小为128像素*128像素,通道数为1。[0164]s252,将第四特征图f4与第二特征图f2逐通道相乘,得到第五特征图f5;将第五特征图f5与第二特征图f2逐通道相加,得到融合特征图(参考图6),融合特征图的大小为128像素*128像素,通道数为256。[0165]如前所述,根据空间注意力机制的特点,空间注意力模块输出的第三特征图f3中车辆的权重信息有被加强、背景的权重信息又被被弱化。在此基础上,使用卷积层、线性整流层及批归一化对第三特征图f3进行处理后,得到的第四特征图f4中每个元素能保持在[-1,1],再通过f4*f2+f2来融合f2和f4,不仅可以保留第二特征图f2的结果,而且可以使f2的结果额外加上以元素区间在[-1,1]的第四特征图f4为权重的f2,仅输出f2作为密度图的各个分量与真实密度图的各个分量的误差都在[-1,1]区间,本步骤通过额外的强制加上一个f2*f4,f2*f4的范围在[-1,1]之间,相比于f2,f4*f2+f2这个函数泛化能力更强,在损失函数的约束下,可以使最终输出的密度图的结果相对直接输出特征图f2更加精确,通过这种方式我们可以提高遥感场景下的车辆计数的准确率。[0166]本方法充分考虑到了结合特征处理过程中丢弃的残差信息,利用卷积层、线性整流层、批归一化层连接的网络结构将其与原结果进行融合,能结合学习过程中丢失主干网络的残差信息,进一步提升计数结果的准确性。[0167]s260,利用第四卷积神经网络对融合特征图进行特征提取,得到预测密度图。[0168]具体地,针对每个待训练遥感图像,对该待训练遥感图像的融合特征图进行下采样,得到预测密度图,其中下采样是利用第三卷积神经网络对融合特征图进行卷积操作实现。[0169]第四卷积卷积神经网络包括依次连接的第一卷积层conv6_1、第一线性整流层relu6-1、第二卷积层conv6_2、第二线性整流层relu6-2和第三卷积层conv6_3。[0170]第一卷积层conv6_1,其卷积核的窗口大小为3*3 ,滑动步长为1,用于输出128个特征图。第一卷积层conv6_1的输入为大小为128像素*128像素、通道数为256的融合特征图,第一卷积层conv6_1的的输出为大小为像素128像素*128像素、通道数为128的特征图,该特征图作为第一线性整流层relu6-1的输入。[0171]第一线性整流层relu6-1,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第一线性整流层relu6-1的输出作为第二卷积层的输入。[0172]第二卷积层conv6_2,其卷积核的窗口大小为3*3,滑动步长为1,用于输出64个特征图。第二卷积层conv6_2的输出为大小为128像素*128像素、通道数为64的特征图。该特征图作为第二线性整流层relu6-2的输入。[0173]第二线性整流层relu6-2,其线性整流处理公式与第一卷积神经网络的线性整流层的线性整流处理公式相同。第二线性整流层relu6-2的输出作为第三卷积层的输入。[0174]第三卷积层conv6_3,其卷积核的窗口大小1*1,滑动步长为1,用于输出1个特征图,第三卷积层conv6_3的输出为大小为128*128像素、通道数为1的特征图,即预测密度图。[0175]需要说明的是,待训练遥感图像的预测密度图包含多个像素点,预测密度图中的每个像素点与待训练遥感图像的某个区域对应,通过预测密度图中某个像素点的值的大小可以预测该像素点在待训练遥感图像中对应区域处车辆的密度,根据预测密度图中所有像素点的值的总和可以预测待训练遥感图像所覆盖总区域的车辆的总数量。因此,通过预测密度图可以直观预测车辆分布的密度情况。[0176]具体地,步骤s200中,根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型,具体包括:s200a,针对遥感图片训练集中的当前待训练遥感图像,确定当前待训练遥感图像的预测密度图;s200b,利用该当前待训练遥感图像所对应的预测密度图及真实密度图训练车辆计数模型,根据车辆计数模型的输出结果确定车辆计数模型的损失函数;可以理解地,每一次利用当前的待训练遥感图像对车辆计数模型进行训练后,都需要计算车辆计数模型的损失函数。[0177]s200c,根据车辆计数模型的损失函数更新特征提取网络vgg19模块、第一卷积神经网络、第二卷积神经网络、空间注意力模块的操作层、第三卷积神经网络和第四卷积神经网络中所有卷积层的权重参数以及所有批归一化层中缩放参数和偏移参数的值;需要指出的是,在本实施例中,对于所有卷积层,采用python的随机初始化函数对卷积层中卷积核的权重参数进行初始化。而在利用当前待训练遥感图像对车辆计数模型训练完毕后,需要对卷积核的权重参数进行更新,此时利用损失函数更新卷积核的权重参数。[0178]s200d,判断遥感图像训练集中所有待训练遥感图像是否都已训练完毕,如果是,转步骤200f,如果否,继续步骤200e;s200e,将遥感图像训练集中的下一张待训练遥感图像作为当前待训练遥感图像,转步骤s200a;此时,确定当前待训练遥感图像的预测密度图时,确定当前待训练遥感图像的第一特征图f1的特征提取网络vgg19模块、确定全局特征图的第一卷积神经网络、确定局部特征图的第二卷积神经网络、确定池化查询张量q和池化键张量k以及池化值张量v的空间注意力模块的操作层、确定融合特征图的第三卷积神经网络和确定预测密度图的第四卷积神经网络中所有卷积层的参数均已更新,此时用更新的网络和模块等来确定当前待训练遥感图像的预测密度图。[0179]s200f,判断车辆计数模型当前训练的轮次是否达到预定训练轮次,如果是,结束,如果否,转步骤s200a。[0180]其中,遥感图像训练集中所有待训练遥感图像都已训练完毕则为完成一轮训练。若当前完成的训练轮次没有达到预定训练轮次,则进行一下轮训练。每一轮训练必须保证遥感图像训练集中所有待训练遥感图像都已训练完毕。[0181]当车辆计数模型当前训练的轮次达到预定训练轮次时,车辆计数模型最终训练完成,此时可以利用最终训练完成的车辆计数模型对任一遥感图像进行车辆计数。[0182]本实施例中,预定训练轮次可以为1000。其中,车辆计数模型的损失函数的计算公式为:具体地,步骤s200b中车辆计数模型的损失函数的计算公式为:具体地,步骤s200b中车辆计数模型的损失函数的计算公式为:[0183]其中,其中,是贝叶斯损失函数,是计数误差函数,贝叶斯损失函数定义如下:[0184]其中,为车辆计数模型对应于当前待训练遥感图像的贝叶斯损失函数;n’是当前待训练遥感图像所对应的预测密度图中像素的总数量,其中当前待训练遥感图像所对应的预测密度图是通过将当前待训练遥感图像输入车辆计数模型而得到的输出结果;cn是当前待训练遥感图像所对应的预测密度图中第n个像素点的位置;e[cn]为当前待训练遥感图像所对应的预测密度图中第n个像素点在对应区域处车辆的密度;是损失函数;计数误差函数定义如下:[0185]其中,为车辆计数模型对应于当前待训练遥感图像的计数误差函数;为根据当前待训练遥感图像所对应的预测密度图预测出的车辆总数量,其中当前待训练遥感图像所对应的预测密度图是通过将当前待训练遥感图像输入车辆计数模型而得到的输出结果;y为根据当前待训练遥感图像所对应的真实密度图确定出的车辆总数量。[0186]需要指出的是,在本实施例中,每一次利用当前的待训练遥感图像对车辆计数模型进行训练后,都需要计算车辆计数模型的损失函数。[0187]本技术还提供了一种基于残差增强信息的车辆计数系统,该系统包括:遥感图像训练集获取模块,用于获取多个待训练遥感图像,并将每个待训练遥感图像调整为统一尺寸从而得到遥感图像训练集;车辆计数模型训练模块,用于确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,并根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型;车辆计数模块,用于当收到目标区域车辆计数请求后,获取与目标区域车辆计数请求对应的目标遥感图像,基于训练好的车辆计数模型确定目标区域的车辆数量其中,车辆计数模型训练模块具体包括:特征提取网络vgg19模块,用于对待训练遥感图像进行特征提取,得到第一特征图f1;全局特征图和局部特征图提取模块,用于根据不同的卷积神经网络单独对第一特征图f1进行特征提取以获取全局特征图和局部特征图;拼接模块,用于将全局特征图和局部特征图进行拼接,得到第二特征图f2;参数确定模块,用于将第一特征图f1输入到三个单独的操作层,以根据每个操作层输出的卷积特征图确定池化查询张量q、池化键张量k和池化值张量v,其中每个操作层包括卷积层conv4、线性整流层relu4、批归一化层bn4和加法层add4,卷积层conv4的输入为第一特征图f1,卷积层conv4的一个输出端连接至线性整流层relu4的输入端,线性整流层relu4的输出端连接至批归一化层bn4的输入端,批归一化层bn4的输出端与卷积层conv4的另一个输出端一起连接至加法层add4的输入端;空间注意力模块,该空间注意力模块通过参数确定模块确定的池化查询张量q、池化键张量k和池化值张量v来配置完成,用于对第一特征图f1进行信息增强处理,得到第三特征图f3;特征融合模块,用于将待训练遥感图像的第三特征图f3与第二特征图f2进行融合,得到融合特征图;预测密度图确定模块,用于根据待训练遥感图像的融合特征图确定对应的预测密度图。[0188]本技术还提供了一种电子设备,包括:存储器;处理器;以及计算机程序;其中,计算机程序存储在存储器中,并被配置为由处理器执行以实现上述的基于残差增强信息的车辆计数方法。[0189]上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。[0190]本技术还提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现上述的基于残差增强信息的车辆计数,该方法包括:s100,获取多个待训练遥感图像,将每个待训练遥感图像调整为统一尺寸,得到遥感图像训练集;s200,确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,并根据每个待训练遥感图像所对应的预测密度图和真实密度图训练车辆计数模型,得到训练好的车辆计数模型;s300,当收到目标区域车辆计数请求后,获取与目标区域车辆计数请求对应的目标遥感图像,基于训练好的车辆计数模型确定目标区域的车辆数量,其中,步骤s200中确定遥感图像训练集中每个待训练遥感图像所对应的预测密度图,具体包括:s210,利用特征提取网络vgg19模块对待训练遥感图像进行特征提取,得到第一特征图f1;s220,利用不同的卷积神经网络单独对第一特征图f1进行特征提取以获取全局特征图和局部特征图,将全局特征图和局部特征图进行拼接,得到第二特征图f2;s230,将第一特征图f1输入到空间注意力模块中三个单独的操作层,以根据每个操作层输出的卷积特征图确定池化查询张量q、池化键张量k和池化值张量v,其中每个操作层包括卷积层conv4、线性整流层relu4、批归一化层bn4和加法层add4,卷积层conv4的输入为第一特征图f1,卷积层conv4的一个输出端连接至线性整流层relu4的输入端,线性整流层relu4的输出端连接至批归一化层bn4的输入端,批归一化层bn4的输出端与卷积层conv4的另一个输出端一起连接至加法层add4的输入端;s240,基于空间注意力模块的自注意力机制,对第一特征图f1进行信息增强处理,得到第三特征图f3;s250,将待训练遥感图像的第三特征图f3与第二特征图f2进行融合,得到融合特征图;s260,根据待训练遥感图像的融合特征图确定对应的预测密度图。[0191]本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。[0192]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0193]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0194]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0195]以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部