具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种人体红外图像识别方法,该方法包括以下步骤:
步骤100:获取人体红外图像,并对人体红外图像进行预处理,得到训练样本。
红外成像中人体的亮度几乎不受光源、肤色、衣着颜色、纹理和阴影的影响,通常在图像中的亮度较高,可以在成像光线不足等情况下发现目标。
具体的,人体红外图像是通过热成像仪采集真实矿井下的红外图像而获得的。将获取的人体红外图像分为有人,有人和其他,无人三类。
步骤102:构建人体红外图像识别网络。
人体红外图像识别网络包括输入网络、特征提取网络和输出网络。
输入网络对训练样本进行卷积和池化处理,得到输入特征图。
具体的,输入网络包括卷积层和最大值池化层。作为优选,卷积层为卷积核为7×7,64通道,步长为2的卷积层,最大值池化层为步长为2的3×3的最大值池化层。
特征提取网络通过对输入特征图采用卷积网络进行特征提取,并对得到的特征图在通道维度上将图像分为若干个子区域,进行分布式通道注意力提取,突出各个子区域正确的语义特征,抑制无关的语义特征,得到分布式通道特征图。
输出网络对分布式通道特征图进行分类,得到人体红外图像的类别。
步骤104:根据训练样本对人体红外图像识别网络进行训练,得到训练好的人体红外图像识别模型。
步骤106:获取待测人体红外图像,并对待测人体红外图像进行预处理,将得到的结果输入到人体红外图像识别模型中,得到人体红外图像的类别。
上述人体红外图像识别方法中,通过获取人体红外图像,并进行预处理,得到训练样本;构建人体红外图像识别网络,该网络包括输入网络、特征提取网络和输出网络;特征提取网络通过对输入特征图采用卷积网络进行特征提取,并对得到的特征图在通道维度上分为若干个子区域,进行分布式通道注意力提取,突出各个子区域正确的语义特征,抑制无关的语义特征,得到分布式通道特征图;采用训练样本对该网络进行训练,利用训练好的人体红外图像识别模型对待测人体红外图像进行识别。本方法可提取各个子区域和全局的分辨性的语义特征,提高网络识别性能,同时网络参数量和计算量相对较少,识别效果较好。
在其中一个实施例中,步骤104包括:将训练样本输入到输入网络中,得到输入特征图;将输入特征图输入到特征提取网络中,得到分布式通道特征图;将分布式通道特征图输入到输出网络中,得到人体红外图像的分类预测结果;并根据分类预测结果和训练样本进行反向训练,得到人体红外图像识别模型。
在其中一个实施例中,特征提取网络包括:第一卷积特征提取子网、第二卷积特征提取子网、第三卷积特征提取子网、第四卷积特征提取子网以及3个分布式通道注意力特征提取模块;步骤104还包括:将输入特征图输入到第一卷积特征提取子网中,得到第一特征图;将第一特征图输入到第一个分布式通道注意力特征提取模块中,得到第一分布式通道特征图;将第一分布式通道特征图输入到第二卷积特征提取子网中,得到第二特征图;将第二特征图输入到第二个分布式通道注意力特征提取模块中,得到第二分布式通道特征图;将第二分布式通道特征图输入到第三卷积特征提取子网中,得到第三特征图;将第三特征图输入到第三个分布式通道注意力特征提取模块中,得到第三分布式通道特征图;将第三分布式通道特征图输入到第四卷积特征提取子网中,得到分布式通道特征图。
在其中一个实施例中,上述步骤中第四卷积特征提取子网包括a个卷积网络模块,第二卷积特征提取子网包括b个卷积网络模块,第三卷积特征提取子网包括c个卷积网络模块,第四卷积特征提取子网包括d个卷积网络模块,其中a、b、c、d为大于0的整数,并且a<b<c、d<c;卷积网络模块包括:第一卷积层、第二卷积层以及第三卷积层;第一卷积层的卷积核为卷积核1×1、第二卷积层的卷积核为卷积核3×3、第三卷积层的卷积核为卷积核1×1。
在其中一个实施例中,分布式通道注意力特征提取模块包括n条通道特征提取支路,其中n为2的幂次方,幂次为大于等于1的整数;步骤104包括:将第一特征图输入到第一个分布式通道注意力特征提取模块中,对第一特征图在通道上进行平均分组,得到n个子特征图;将每个子特征图输入到对应的通道特征提取支路中,对子特征图进行平均值池化在空间维度上进行压缩,得到n个通道的权重系数;对n个通道的权重系数采用sigmoid进行激活,并将得到的结果与子特征图相乘,得到n个子通道权重特征图;将n个子通道权重特征图在通道的维度上进行拼接,得到全局语义特征信息;将全局语义特征信息与第一特征图相加,得到第一分布式通道特征图。
具体的,分布式通道注意力特征提取模块(Distributed channel featureextraction module,简称:DCFE模块)的结构如图2所示。
一个完整的特征图是由多个子特征组成的,不同子特征的区域分辨性不同,若都采用相同的方式处理会导致错误的识别。因此,首先对输入的特征图在通道维度上进行平均分组,得到子特征图C1到Cn。然后,对每个子特征图进行Avgpool,在空间维度上进行压缩,得到每个通道的权重系数O1至On,使得重要语义的区域特征更加突出,无关的语义区域的特征向量尽可能接近0。接着经过Sigmoid激活函数,再与输入的子特征图相乘,保持大小不变,得到各个子区域的通道权重特征图Out1至Outn,学习到特定的语义信息。最后,将各子通道权重特征图在通道的维度上进行拼接,得到全局的语义特征信息,再与最初输入的特征图相加,保持信息的完整性得到Out。通过结合区域特征和全局特征增强了语义特征的空间分布,提升识别效果。
在其中一个实施例中,输出网络包括:全局平均池化层和全连接层;步骤104包括:将分布式通道特征图输入到输出网络的全局平均池化层,得到1×1的特征图;将1×1的特征图输入到输出网络的全连接层,得到人体红外图像的分类预测结果;根据分类预测结果和训练样本进行反向训练,得到人体红外图像识别模型。
在其中一个实施例中,步骤100包括:获取人体红外图像;对人体红外图像进行下采样,得到分辨率达到224像素*224像素的人体红外图像;对分辨率达到224像素*224像素的人体红外图像分别进行随机角度旋转,随机水平翻转,随机垂直翻转,得到训练样本。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个验证性实施例中,基于分布式通道注意力特征提取模块,提出了三种深度的卷积神经网络结构:人体红外图像识别网络,该人体红外图像识别网络是一种分布式通道注意力特征提取网络(Distributed channel attention feature extractionnetwork,简称:DCA-Nets)DCA-Net50,DCA-Net102,DCA-Net152,其中Conv1,Conv3,Conv7分别表示卷积核大小为1×1,3×3,7×7。网络结构如表1所示。
表1.DCA-Nets结构
井下人体红外图像识别要求高实时性,在检测图像时要立即做出判决,因此要求网络具有较少的参数量和计算量。本专利使用Lin等人提出的全局平均池化(GlobalAverage Pooling,GAP)方法,先使用全局平均池化将特征图尺寸降为1×1,然后再使用单层全连接进行分类,大大减少了网络参数量。
在卷积神经网络当中,网络深度和分类器都影响网络的参数量和计算量,本实施例分别对不同分类器和不同深度的网络进行实验,几种不同类型网络的参数量如表2所示,几种不同类型网络的计算量如表3所示。
表2:几种不同类型网络的参数量(单位:百万)
网络名称 |
参数量 |
网络名称 |
参数量 |
网络名称 |
参数量 |
VGG13 |
133.05 |
ResNet50 |
25.56 |
DCA-Net50 |
25.56 |
VGG16 |
138.36 |
SENet50 |
26.06 |
DCA-Net101 |
44.55 |
VGG19 |
143.67 |
CbamNet50 |
26.03 |
DCA-Net152 |
60.19 |
VGG-Nets采用的是三层全连接层作为分类器,DCA-Nets采用GAP加单层全连接作为分类器。由表2可以看出,VGG13的网络深度比DCA-Net50少37层,参数量却是DCA-Net50的5.21倍,说明分类器对网络参数量有着重要影响。在分类器相同时,DCA-Net101的参数量是DCA-Net50的1.74倍,DCA-Net152的参数量是DCA-Net50的2.35倍,说明在同种网络情况下,随着网络深度的增加,网络参数量也会逐步增加。
表3几种不同类型网络的计算量(单位:百万)
网络名称 |
参数量 |
网络名称 |
参数量 |
网络名称 |
参数量 |
VGG13 |
11320.76 |
ResNet50 |
4111.51 |
DCA-Net50 |
4112.92 |
VGG16 |
15483.86 |
SENet50 |
4111.91 |
DCA-Net101 |
7835.38 |
VGG19 |
19646.96 |
CbamNet50 |
4121.30 |
DCA-Net152 |
11560.24 |
根据表3可以看出,采用同种分类器,同样深度的ResNet50,SENet50,CbamNet50和DCA-Net50的计算量相差不大,其中池化层的数量不同,导致计算量有微弱的差别。池化层的计算量为K2*C*H*W,K代表卷积核的大小,C,H和W分别代表输出的通道数,高和宽,其计算量相对较小,因此对网络总体的计算量影响不大。采用三层全连接的VGG19浮点数运算量为196.47亿,是DCA-Net50的4.78倍,说明分类器对网络计算量也有着巨大的影响。DCA-Net101的计算量是DCA-Net50的1.91倍,DCA-Net152的计算量是DCA-Net50的2.81倍,因此在要求高实时性的井下人体红外图像识别***下,当网络识别结果相差不大时,DCA-Net50的性价比最高。
(1)实验数据集
本实施例实验数据集是通过热成像仪采集真实矿井下的红外图像而获得的。目前人体探测图像主要有两种,一种是可见光图像,另一种是红外图像。由于普通摄像机采集的可见光图像受光照影响,在缺少可见光光源的矿井条件下,能见距离和能见度极差,因此进行图像识别存在很大难度。然而红外图像是热成像,具有强大的穿透力,可以透过黑暗和烟雾,看到在可见光波段无法看见的目标。
本实施例的红外图像数据集中共计1680张图像,分为有人,有人和其他,无人三类,每类560张图像。图3是经过热成像仪采集的/红外图像,其中(a)(b)为有人的红外图像,(c)(d)为有人和其他的红外图像,(e)(f)为无人的红外图像。
由图3可以看出红外图像中人体颜色与背景颜色较为相近,这是由于井下环境温度较高与人体温度相近造成的,增加了识别的难度。因此本文设计了分布式通道特征提取模块,突出子区域分辨性高的语义特征,提升图像识别率。
(2)图像预处理和实验设置
本实施例采用的热成像仪,分辨率为1280×960,可在该分辨率下输出实时图像,宽动态范围达到120dB,适合逆光环境监控。在实验过程中,我们对所有的样本进行下采样,使分辨率达到224*224。对红外图像分别进行随机角度旋转,随机水平翻转,随机垂直翻转,使数据集扩充了3倍,在一定程度上防止了网络过拟合。在训练过程中我们设置了一些参数,其中batchsize为8,分布的组数n为64,学***台上进行,其中我们使用的***是Windows10,使用的框架是Pytorch。
(3)实验结果分析
本实施例分别使用三种深度的DCA-Nets和其他卷积神经网络在红外图像数据集上进行实验,实验结果如表4所示。
表4.神经网络识别准确率(%)
网络类型 |
准确率%) |
Vgg13 |
91.667 |
Vgg16 |
93.452 |
Vgg19 |
93.750 |
ResNet50 |
95.254 |
SENet50 |
95.726 |
CbamNet50 |
95.833 |
DCA-Net50 |
98.214 |
DCA-Net101 |
98.512 |
DCA-Net152 |
98.624 |
根据表4以看出,DCA-Net50的识别率为98.214%,与同等深度的ResNet50,SENet50,CbamNet50相比提高了3%左右,这是由于本文设计的分布式通道特征提取模块可以针对性的提取图像当中的语义特征,增强识别效果。识别率最高的是DCA-Net152达到了98.624%,比VGG13高了7%左右,比DCA-Net50高了0.41%,但DCA-Net50的参数量仅为DCA-Net152的42.47%,其计算量是DCA-Net152的35.58%。表明当网络深度达到一定程度时图像特征已经可以被充分提取,继续增加深度对图像的识别率影响不大,反而导致参数量和计算量大幅增加。矿井下的人体红外图像识别***要求高实时性,因此在网络识别率相差不大时,低时延的DCA-Net50是最佳选择。
在3种深度的DCA-Nets中,不同类别的红外图像识别结果如表5所示。
表5:同一类别在不同网络中的识别精度(%)
类别 |
DCA-Net50 |
DCA-Net101 |
DCA-Net152 |
有人 |
97.726 |
98.270 |
98.381 |
有人和其他 |
98.396 |
97.731 |
97.065 |
无人 |
99.107 |
99.667 |
99.254 |
根据表5以看出,不同深度的DCA-Nets对同种类别的红外图像识别结果相差不大,说明网络深度加深到一定程度时,图像信息特征已经被成分提取,继续加深网络深度对网络性能的影响微弱。相同网络不同类别的红外图像识别率相差较大,None的识别率最高可以达到99%以上,Human和Human others识别率相对较低,在97%左右,且有相对较大的波动。我们选择性价比最优的DCA-Net50做进一步分析,产生的混淆矩阵如图4所示。
由图4可以看出,Human识别错误的均为Human others,Human others识别错误的也均为Human。这是由于矿井下温度较高,导致环境温度与人体温度相近,因此红外图像颜色区分度不高,且Human与Human others均有人体特征存在,影响了识别效果,但DCA-Net50的识别率依然达到98.214%,高于其他卷积神经网络,具有较好的识别性能。
(4)实验结论
本实施例设计了三种深度的卷积神经网络,分别是DCA-Net50,DCA-Net101,DCA-Net152。根据实验可以看出,DCA-Nets的图像识别率均达到了98%以上,明显高于其他网络。随着网络深度的增加,DCA-Nets的图像识别率有略微的提升,不到0.5%,但网络参数量和计算量都有大幅的增加,因此我们认为DCA-Net50的性价比最高。在同其他卷积神经网络相比发现,DCA-Net50的识别率是最高的,其参数量和计算量也相对较少,适合应用于低时延的场景。
本实施例通过热成像仪采集人体红外图像,通过对红外图像的分析,我们发现图像背景颜色与人体颜色较为相近,这是受矿井下温度的影吧,响,增加了图像识别的难度。因此本文设计了DCFE模块,可以对图像信息进行分布式通道注意力提取,在通道维度上将图像分为若干个子区域,突出各个子区域正确的语义特征,抑制无关的语义特征,提升了网络的识别性能。随着网络深度的增加,图像信息在不断的丢失,因此我们采用跳跃连接,保持信息的完整性,进一步提升图像识别率。分类器采用GAP加单层全连接,大幅减少网络的参数量和计算量,可应用于高实时性的人体红外图像识别***。
在一个实施例中,如5所示,提供了一种人体红外图像识别装置,包括:人体红外图像获取模块、人体红外图像识别网络构建模块、人体红外图像识别网络训练模块和人体红外图像类别确定模块,其中:
人体红外图像获取模块,用于获取人体红外图像,并对人体红外图像进行预处理,得到训练样本。
人体红外图像识别网络构建模块,用于构建人体红外图像识别网络,人体红外图像识别网络包括输入网络、特征提取网络和输出网络;输入网络对训练样本进行卷积和池化处理,得到输入特征图;特征提取网络通过对输入特征图采用卷积网络进行特征提取,并对得到的特征图在通道维度上将图像分为若干个子区域,进行分布式通道注意力提取,突出各个子区域正确的语义特征,抑制无关的语义特征,得到分布式通道特征图;输出网络对分布式通道特征图进行分类,得到人体红外图像的类别。
人体红外图像识别网络训练模块,用于根据训练样本对人体红外图像识别网络进行训练,得到训练好的人体红外图像识别模型。
人体红外图像类别确定模块,用于获取待测人体红外图像,并对待测人体红外图像进行预处理,将得到的结果输入到人体红外图像识别模型中,得到人体红外图像的类别。
在其中一个实施例中,人体红外图像识别网络训练模块,还用于将训练样本输入到输入网络中,得到输入特征图;将输入特征图输入到特征提取网络中,得到分布式通道特征图;将分布式通道特征图输入到输出网络中,得到人体红外图像的分类预测结果;并根据分类预测结果和训练样本进行反向训练,得到人体红外图像识别模型。
在其中一个实施例中,特征提取网络包括:第一卷积特征提取子网、第二卷积特征提取子网、第三卷积特征提取子网、第四卷积特征提取子网以及3个分布式通道注意力特征提取模块;人体红外图像识别网络训练模块,还用于将输入特征图输入到第一卷积特征提取子网中,得到第一特征图;将第一特征图输入到第一个分布式通道注意力特征提取模块中,得到第一分布式通道特征图;将第一分布式通道特征图输入到第二卷积特征提取子网中,得到第二特征图;将第二特征图输入到第二个分布式通道注意力特征提取模块中,得到第二分布式通道特征图;将第二分布式通道特征图输入到第三卷积特征提取子网中,得到第三特征图;将第三特征图输入到第三个分布式通道注意力特征提取模块中,得到第三分布式通道特征图;将第三分布式通道特征图输入到第四卷积特征提取子网中,得到分布式通道特征图。
在其中一个实施例中,人体红外图像识别网络训练模块中第四卷积特征提取子网包括a个卷积网络模块,第二卷积特征提取子网包括b个卷积网络模块,第三卷积特征提取子网包括c个卷积网络模块,第四卷积特征提取子网包括d个卷积网络模块,其中a、b、c、d为大于0的整数,并且a<b<c、d<c;卷积网络模块包括:第一卷积层、第二卷积层以及第三卷积层;第一卷积层的卷积核为卷积核1×1、第二卷积层的卷积核为卷积核3×3、第三卷积层的卷积核为卷积核1×1。
在其中一个实施例中,分布式通道注意力特征提取模块包括n条通道特征提取支路,其中n为2的幂次方,幂次为大于等于1的整数;人体红外图像识别网络训练模块,还用于将第一特征图输入到第一个分布式通道注意力特征提取模块中,对第一特征图在通道上进行平均分组,得到n个子特征图;将每个子特征图输入到对应的通道特征提取支路中,对子特征图进行平均值池化在空间维度上进行压缩,得到n个通道的权重系数;对n个通道的权重系数采用sigmoid进行激活,并将得到的结果与子特征图相乘,得到n个子通道权重特征图;将n个子通道权重特征图在通道的维度上进行拼接,得到全局语义特征信息;将全局语义特征信息与第一特征图相加,得到第一分布式通道特征图。
在其中一个实施例中,输出网络包括:全局平均池化层和全连接层;人体红外图像识别网络训练模块,还用于将分布式通道特征图输入到输出网络的全局平均池化层,得到1×1的特征图;将1×1的特征图输入到输出网络的全连接层,得到人体红外图像的分类预测结果;根据分类预测结果和训练样本进行反向训练,得到人体红外图像识别模型。
在其中一个实施例中,人体红外图像获取模块,用于获取人体红外图像;对人体红外图像进行下采样,得到分辨率达到224像素*224像素的人体红外图像;对分辨率达到224像素*224像素的人体红外图像分别进行随机角度旋转,随机水平翻转,随机垂直翻转,得到训练样本。
关于人体红外图像识别装置的具体限定可以参见上文中对于人体红外图像识别方法的限定,在此不再赘述。上述人体红外图像识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人体红外图像识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。