一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

行人图像的检测网络、检测方法、训练方法、电子设备和介质与流程

2022-07-10 09:26:41 来源:中国专利 TAG:


1.本发明属于图像检测领域,具体涉及一种图像上的行人检测方法。


背景技术:

2.随着人工智能的发展,辅助驾驶,智能监控需求不断提升,目标检测在计算机视觉领域内成为研究热点之一。具体到行人检测领域,fasterr-cnn已经成为主要的方法,它是一个二阶段方法,先生成候选区域,再进行目标分类与回归。许多行人检测方法都基于此改进。例如,rpn bf修改了rpn,通过强化森林对proposals重新评分,reploss,or-cnn则设计了新的回归损失函数来解决拥挤场景中的行人遮挡问题。而无锚点框检测器没有生成候选区域,直接从图像中检测物体。denet通过预测对象的四个角的位置来生成proposals,tll通过预测顶部和底部顶点来检测对象。为将成对的关键点组合成单独的实例,还采用了基于马尔可夫随机场的后处理方案,并预测了点之间的链路边缘。
3.而csp将目标检测作为一种高层语义特征检测任务来对待,类似于边缘,角点检测器。相对于普通特征检测器,csp对行人检测任务有更高层次的抽象,对行人寻找中心点,还对行人的尺度,偏移量进行了预测。csp结构简单,但在caltech和citypersons行人检测数据集中达到了当时(2019年)的最好性能。同时具有与单阶段检测器相当的检测速度。
4.但csp也存在一些问题,首先,对batchsize异常敏感,对较小的batchsize,模型将不收敛,错误率甚至接近1。其次,csp对不同尺度的输入会带来显著不同的结果,最后,csp的特征提取器特征(backbone)抽象能力在如今已经稍有不足,并且检测头(detectionhead)结构过于简单,仍然有很大的改进空间。
5.中国专利申请cn113723322a公开了一种基于单阶段无锚点框架的行人检测方法及系统。该方法在csp网络的基础上加入交叉融合金字塔,一定程度上解决了行人类间差异小的问题。然而上述方法,在同类别的物体遮挡以及行人间存在中心点重合等情况下,检测精度较差。因此现有技术需要一种提高中心点检测准确率的方法,来处理行人遮挡问题。且需要一种新的特征提取方法,来解决csp网络存在特征提取能力不足问题。


技术实现要素:

6.为了提高行人图像中行人检测准确率,解决行人遮挡问题,本发明实施例提供一种行人图像检测方法,包括
7.将检测图像所提取的行人图像特征图m0,通过相互独立的方式分别进行特征融合操作和注意力机制操作,获取具有上下文信息及位置信息的特征图m1和具有不同感受野信息的特征图m2,通过将所述具有不同感受野信息的特征图m2顺序地进行卷积和sigmoid操作,获取带有注意力机制的特征图m
att

8.通过将所述带有注意力机制的特征图m
att
与所述具有上下文信息及位置信息的特征图m1进行乘积累加操作,获取特征图f
refine

9.通过将所述特征图f
refine
以相互独立的方式进行三个并行卷积操作,获取检测图
像的中心热图、比例图和偏移预测图;
10.根据所述中心热图、比例图和偏移预测图,预测行人的中心点、行人高度、行人宽度和偏移量;
11.响应于所述预测行人的中心点、行人高度、行人宽度和偏移量,获取检测图像的行人坐标,得到图像中行人的预测框。
12.本发明实施例还提供一种行人图像检测网络,包括残差网络、注意力模块、特征融合模块和检测头,
13.所述的残差网络用于提取检测图像的行人图像特征图m0,
14.所述的注意力模块用于获取具有上下文信息及位置信息的特征图m1,
15.所述的特征融合模块用于获取具有不同感受野信息的特征图m2,
16.检测头用于对所述特征图m1、特征图m2操作,获取检测图像的中心热图、比例图和偏移预测图,
17.行人坐标计算模块,用于获取检测图像的行人坐标,得到图像中行人的预测框。
18.所述的检测头对所述特征图m1、特征图m2操作基于如下方式实现:
19.通过将所述具有不同感受野信息的特征图m2顺序地进行卷积和sigmoid操作,获取带有注意力机制的特征图m
att

20.通过将所述带有注意力机制的特征图m
att
与所述具有上下文信息及位置信息的特征图m1进行乘积累加操作,获取特征图f
refine

21.通过将所述特征图f
refine
以相互独立的方式进行三个并行卷积操作,获取检测图像的中心热图、比例图和偏移预测图。
22.作为技术方案的补充,所述残差网络包含依次连接的四个阶段,分别为conv1、conv2_x、conv3_x、conv4_x,conv1输入为h
×
w,包含1个卷积核为7
×
7,步长为2的卷积层,输出尺寸为h
×
w;conv2_x输入为h
×
w,包含三个残差块与一个池化层,每个残差块里有三个卷积层,三个卷积核大小依次为1
×
1、3
×
3、1
×
1,池化层为2
×
2大小的最大池化操作,输出尺寸为h/2
×
w/2;conv3_x输入为h/2
×
w/2,包含依次连接的四个残差块与一个池化层,输出尺寸为h/4
×
w/4;conv4_x部分输入为h/4
×
w/4,包含依次连接的六个残差块与一个池化层,输出尺寸为h/8
×
w/8;
23.所述的特征融合模块由上采样单元组成,所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积;
24.所述的注意力模块由上采样单元与sknet单元组成,所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积,所述的sknet单元主要包含分裂(split)、融合(fuse)、选择(select)三个操作。
25.作为技术方案的补充,特征融合模块的输入为所述残差网络的conv4_x的输出,输入尺寸为h/8
×
w/8,特征融合模块首先对残差网络的conv4_x的特征图进行2倍的上采样,将conv4_x与conv3_x特征图连接在一起,对连接后的特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/4
×
w/4;然后将卷积操作后的特征图进行2倍的上采样,将上采样后的特征图与conv2_x特征图连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/2
×
w/2;最后将卷积后的特征图进行2倍的上采样,将上采样后的特征图与conv1_x特征图连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,得到尺寸
为h
×
w的特征图m1;
26.注意力模块的输入为所述残差网络的conv4_x的输出,输入尺寸为h/8
×
w/8,注意力模块首先对conv4_x的特征图进行2倍的上采样,将conv3_x的特征图放入sknet模块中得到特征图m2-1,将conv4_x与特征图m2-1特征图连接在一起,对连接后的特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/4
×
w/4;然后将卷积后的特征图进行2倍的上采样,对conv2_x的特征图放入sknet模块中得到特征图m2-2,将上采样后的特征图与特征图m2-2连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/2
×
w/2;最后将卷积后的特征图进行2倍的上采样,把conv1_x的特征图放入sknet模块中得到特征图m2-3,将上采样后的特征图与特征图m2-3连接在一起,对连接后特征图进行两次卷积核为3
×
3卷积操作,得到尺寸为h
×
w的特征图m2;
27.检测头对注意力模块输出的特征图m2进行1
×
1卷积和sigmoid操作,生成带有注意力机制的特征图m
att
;接着将特征图m
att
与特征图m1进行矩阵乘法操作,得到特征图f
refine
;最后在特征图f
refine
后加入三个并行1
×
1卷积层,得到检测图像的中心热图、比例图和偏移预测图。
28.作为技术方案的补充,所述sknet模块由多个sk卷积单元堆叠而成,其中sk卷积操作由split,fuse,select三个模块组成,首先通过split操作分别通过3
×
3和5
×
5大小的sk卷积核对c
×w×
h的特征图x进行分组卷积操作和空洞卷积,输出和fuse操作将2个特征图进行element-wisesummation融合后先通过全局平均池化生成c
×1×
1的特征向量s,c为通道数,特征向量s经过先降维再升维的两全连接层后形成d
×1×
1的向量z;select模块将向量z通过2个softmax函数回归出通道之间的权重信息矩阵a和矩阵b,并使用a和b对2个特征图和进行加权操作,然后求和得到最终尺寸大小为w
×
h的输出特征图。
29.本发明实施例还提供一种行人图像检测网络的训练方法,包括
30.获取行人数据集,
31.根据所述行人数据集得到数据集中行人图像的图集,所述图集包括中心图、比例图和偏移图,所述中心图为包括行人中心点的图,所述比例图为包括行人长宽比信息的图,所述偏移图为包括行人中心点偏移量信息的图,所述行人中心点为所述行人数据集被框选行人图像的中心点;
32.将所述行人数据集输入网络中获取输出特征图,所述网络包括依次连接的残差网络、注意力模块、特征融合模块和检测头;
33.计算输出特征图与所述图集中各图之间的误差,并根据所述误差对所述网络进行训练。
34.作为技术方案的补充,所述的行人图像检测网络的训练方法,还包括
35.对并对所述行人数据集进行样本增强,
36.根据样本增强后的行人数据集得到数据集中行人图像的图集;
37.所述样本增强包括
38.对所述行人图像数据集进行随机颜色失真和水平翻转,在0.4~1.5的范围内随机缩放,行人图像的纵横比保持不变,并通过零填充使较短边拥有固定像素数;
39.将所述行人数据集每两张图片分为一组,在行人图像a上随机生成一个裁剪框box,裁剪掉行人图像a的相应位置,然后用行人图像b相应位置的roi放到行人图像a中被裁
剪的区域形成新的样本;
40.将所述行人数据集每四张图片分为一组,对四张图片进行拼接,每一张图片都有其对应的框,将四张图片拼接之后获得一张新的图片,同时也获得这张图片对应的框。
41.作为技术方案的补充,所述中心图、比例图和偏移图作为训练标签使用,
42.对于中心图的标注,行人对象中心点位置标记为正值,其他位置指定为0,
43.对于比例图的标注,每个对象中心点的半径为2的范围内位置标记为正值log(h),其中h为行人对象的高度,其他位置指定为0,
44.对于偏移图的标注,假设目标k的中心点坐标为(xk,yk),则在标签图中目标中心所在的位置赋值为其他位置指定为0,其中xk表示图像中第k个对象的x轴位置,yk表示图像中第k个对象的y轴位置,r表示图像经特征提取器后,尺度缩小的倍数,[
·
]代表取整函数。
[0045]
本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中提供的方法中的步骤。
[0046]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
[0047]
有益效果:本发明得到的行人检测网络模型比现有网络模型具有更高的检测精度,并且对于行人遮挡的情况也能有较好的处理。
附图说明
[0048]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]
图1为实施例训练方法的流程图。
[0050]
图2为实施例网络的结构图。
[0051]
图3为实施例残差网络中残差块(residualblock)的网络结构图。
[0052]
图4为实施例注意力模块中sknet的网络结构图。
[0053]
图5为实施例的行人检测结果图。
具体实施方式
[0054]
下面将结合附图和技术方案,对发明的实施过程进行详细描述。
[0055]
实施例1:本实施例提供一种行人图像检测方法,具体的是一种基于csp检测器改进的图像上的行人的检测方法,可在一定程度上解决行人遮挡以及csp网络特征表征不足的问题,从而提高行人检测的准确性。所述检测方法包括构建用于检测的网络,训练所述网络,使用所述网络对所采集的具有行人的图像进行检测,获取所述检测结果。
[0056]
所述构建的网络包括残差网络、注意力模块、特征融合模块、检测头和行人坐标计算模块。
[0057]
在一种方案中,所述的残差网络用于提取检测图像的行人图像特征图m0,所述的注意力模块用于获取具有上下文信息及位置信息的特征图m1,所述的特征融合模块用于获取具有不同感受野信息的特征图m2,检测头用于对所述特征图m1、特征图m2操作,获取检测图像的中心热图、比例图和偏移预测图,行人坐标计算模块,用于获取检测图像的行人坐标。
[0058]
在一种方案中,所述残差网络包含依次连接的四个阶段,分别为conv1、conv2_x、conv3_x、conv4_x,conv1输入为h
×
w,包含1个卷积核为7
×
7,步长为2的卷积层,输出尺寸为h
×
w。conv2_x输入为h
×
w,包含三个残差块与一个池化层,每个残差块里有三个卷积层,三个卷积核大小依次为1
×
1、3
×
3、1
×
1,池化层为2
×
2大小的最大池化操作,输出尺寸为h/2
×
w/2。conv3_x输入为h/2
×
w/2,包含依次连接的四个残差块与一个池化层,输出尺寸为h/4
×
w/4。conv4_x部分输入为h/4
×
w/4,包含依次连接的六个残差块与一个池化层,输出尺寸为h/8
×
w/8。
[0059]
在一种方案中,所述的特征融合模块由上采样单元组成,所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积。所述的注意力模块由上采样单元与sknet单元组成,所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积,所述的sknet单元主要包含分裂(split)、融合(fuse)、选择(select)三个操作。
[0060]
在一种方案中,特征融合模块的输入为所述残差网络的conv4_x的输出,输入尺寸为h/8
×
w/8,特征融合模块首先对残差网络的conv4_x的特征图进行2倍的上采样,将conv4_x与conv3_x特征图连接在一起,对连接后的特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/4
×
w/4。然后将卷积操作后的特征图进行2倍的上采样,将上采样后的特征图与conv2_x特征图连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/2
×
w/2。最后将卷积后的特征图进行2倍的上采样,将上采样后的特征图与conv1_x特征图连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,得到尺寸为h
×
w的特征图m1。
[0061]
在一种方案中,注意力模块的输入为所述残差网络的conv4_x的输出,输入尺寸为h/8
×
w/8,注意力模块首先对conv4_x的特征图进行2倍的上采样,将conv3_x的特征图放入sknet模块中得到特征图m2-1,将conv4_x与特征图m2-1特征图连接在一起,对连接后的特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/4
×
w/4。然后将卷积后的特征图进行2倍的上采样,对conv2_x的特征图放入sknet模块中得到特征图m2-2,将上采样后的特征图与特征图m2-2连接在一起,对连接后特征图进行两次卷积核为3
×
3的卷积操作,输出尺寸为h/2
×
w/2。最后将卷积后的特征图进行2倍的上采样,把conv1_x的特征图放入sknet模块中得到特征图m2-3,将上采样后的特征图与特征图m2-3连接在一起,对连接后特征图进行两次卷积核为3
×
3卷积操作,得到尺寸为h
×
w的特征图m2。
[0062]
在一种方案中,检测头对注意力模块输出的特征图m2进行1
×
1卷积和sigmoid操作,生成带有注意力机制的特征图m
att
。接着将特征图m
att
与特征图m1进行矩阵乘法操作,得到特征图f
refine
。最后在特征图f
refine
后加入三个并行1
×
1卷积层,得到检测图像的中心热图、比例图和偏移预测图。
[0063]
在一种方案中,所述sknet模块由多个sk卷积单元堆叠而成,其中sk卷积操作由
split,fuse,select三个模块组成,首先通过split操作分别通过3
×
3和5
×
5大小的sk卷积核对c
×w×
h的特征图x进行分组卷积操作和空洞卷积,输出和fuse操作将2个特征图进行element-wisesummation融合后先通过全局平均池化生成c
×1×
1的特征向量s,c为通道数,特征向量s经过先降维再升维的两全连接层后形成d
×1×
1的向量z。select模块将向量z通过2个softmax函数回归出通道之间的权重信息矩阵a和矩阵b,并使用a和b对2个特征图和进行加权操作,然后求和得到最终尺寸大小为w
×
h的输出特征图。
[0064]
在一种方案中,所述训练方法包括如下步骤:
[0065]
s1:获取行人数据集,并对所述行人数据集进行样本增强。
[0066]
s2:对所述行人数据集进行预处理得到图集。
[0067]
s3:将所述行人数据集输入网络模型得到输出特征图。所述网络包括依次连接的残差网络、并联的注意力模块与特征融合模块、检测头。所述残差网络模块中的归一化方法包括组归一化和批标准化。
[0068]
s4:计算输出特征图与所述图集中各图之间的误差,并根据所述误差采用反向传播算法对所述网络的模型进行训练,得到行人检测网络的模型,所述行人检测的网络用于进行图像中行人检测。
[0069]
在一种方案中,步骤s1中,行人数据集具体包括citypersons数据集、caltech数据集和inria数据集中的至少一个。在一种方案中,将三个行人检测数据集的图片整合到一起,共10000张图片,其中训练集8000张、测试集1500张、验证集500张。在本方案中,通过将多个行人数据集整合到一起进行训练,可以有效的增强行人检测模型的鲁棒性。
[0070]
在一种方案中,步骤s1:获取行人数据集,并对所述行人数据集进行样本增强,在该步骤中,所述样本增强包括:对所述行人数据集进行随机颜色失真和水平翻转,在0.4~1.5的范围内随机缩放,并通过零填充使较短边拥有固定像素数。将所述行人数据集每两张图片分为一组,在行人图像a上随机生成一个裁剪框box,裁剪掉行人图像a的相应位置,然后用行人图像b相应位置的roi放到a图中被裁剪的区域形成新的样本。将所述行人数据集每四张图片分为一组,对四张图片进行拼接,每一张图片都有其对应的框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框。优选的,增强过程中,图像的纵横比保持不变。本方案中对原始数据集进行数据增强,一方面可以增加训练的数据量,提高模型的泛化能力。另一方面增加噪声数据,提升模型的鲁棒性。
[0071]
在一种方案中,步骤s2:对所述行人数据集进行预处理得到图集,在该步骤中,对数据增强后数据集进行预处理得到中心图、比例图和偏移图。所述中心图包括行人中心点的图,所述比例图为包括行人长宽比信息的图,所述偏移预测图为包括行人中心点偏移量信息的图,所述行人中心点为所述行人数据集被框选行人图像的中心点。
[0072]
在一种方案中,所述中心图、比例图和偏移预测图作为训练标签使用。
[0073]
对所述行人数据集进行预处理包括:
[0074]
对于中心图的标注,行人对象中心点位置标记为正值,其他位置指定为0。
[0075]
对于比例图的标注,每个对象中心点的半径为2的范围内位置标记为正值log(h)(其中h为行人对象的高度),其他位置指定为0。
[0076]
对于偏移预测图的标注,假设目标k的中心点坐标为(xk,yk),则在标签图中目标中
心所在的位置赋值为其他位置指定为0。
[0077]
其中xk表示图像中第k个对象的x轴位置,yk表示图像中第k个对象的y轴位置,r表示图像经特征提取器后,尺度缩小的倍数,[
·
]代表取整函数。
[0078]
本方案中相较于主流的铺设锚点框的检测方式,采用全卷积式的中心点和尺寸预测任务可以在保证检测精度的前提下,能够简化检测器结构,提升行人检测速度。
[0079]
在一种方案中,步骤s3:将所述行人数据集输入网络模型得到输出特征图。所述网络包括依次连接的残差网络、并联的注意力模块与特征融合模块、检测头。所述残差网络模块中的归一化方法包括组归一化和批标准化。在该步骤中,将所述行人数据集输入网络模型得到输出特征图,其具体方法包括:
[0080]
将所述数据增强后的数据集输入到残差网络中得到特征图m0。
[0081]
将所述特征图m0放入并联的注意力模块与特征融合模块得到特征图m1、特征图m2。
[0082]
将所述特征图m1、m2进行检测头操作得到输出特征图。
[0083]
在一种方案中,所述特征图m0基于如下方式取得:将行人数据集输入到resnet50网络中得到的。在本方案中,将resnet50作为整个模型的主干网络,其作用为提取行人图像中的特征,供后续网络使用。相较于其他特征提取网络,在特征提取能力一样的情况下,resnet50的参数量更少。
[0084]
在一种方案中,所述的特征图m1、m2基于如下方式取得:将所述的特征图m0放入特征融合模块得到特征图m1,将所述的特征图m0放入注意力模块得到特征图m2,两个模块都是u型结构。
[0085]
在一种方案中,所述的特征融合模块由上采样单元组成。所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积。
[0086]
在一种方案中,所述的注意力模块由上采样单元与sknet单元组成。所述的上采样单元包括1个2
×
2的上采样卷积层、特征连接层、1个1
×
1卷积层、以及1个3
×
3卷积。
[0087]
在一种方案中,所述的sknet单元主要包含分裂(split)、融合(fuse)、选择(select)三个操作。
[0088]
本方案中,所述的特征融合模块的作用为获取上下文信息与位置信息,所述的注意力模块在特征融合的基础上加入注意力机制,使网络可以获取不同感受野的信息,加强对行人区域信息的学习。
[0089]
在一种方案中,所述的输出特征图基于如下方式取得:对所述特征图m2进行1
×
1卷积和sigmoid操作,生成带有注意力机制的特征图m
att

[0090]
将所述特征图m
att
与所述特征图m1进行乘积累加操作得到特征图f
refine

[0091]
在所述特征图f
refine
后加入三个并行1
×
1卷积层,得到三个输出特征图。三个特征图分别命名为中心热图,比例图,偏移预测图。
[0092]
本方案中,通过改进的检测头操作可以有效的防止行人遮挡情况下特征信息丢失,从而提高识别准确度。
[0093]
在一种方案中,所述步骤s4:计算输出特征图与所述图集中各图之间的误差,并根据所述误差采用反向传播算法对所述网络的模型进行训练得到行人检测网络的模型,所述
行人检测的网络用于进行图像中行人检测。在该步骤中,所述误差计算是由中心点损失、比例损失、偏移损失三部分组成。
[0094]
所述的中心点损失采用focalloss、比例损失采用l1loss、偏移损失采用平滑l1loss。
[0095]
本方案采用所述损失计算误差可以有效的解决正负样本数量不均衡问题,从而提高检测精度。
[0096]
在一种方案中,模型训练的阶段得到输出特征图(中心热图,比例图,偏移预测图)后,用于预测行人的中心点、高度、宽度和偏移量。中心热图中每个坐标点的值为行人中心点预测的概率,优选为大于0.75则被预测为行人的中心点。比例图中对应中心点的值为预测行人高度的对数。偏移预测图第一通道为y坐标偏移量,第二通道为x坐标偏移量。
[0097]
在一种方案中,通过以下公式得到行人坐标:
[0098]
h=e
h_s
*down
[0099]
w=h*0.41
[0100]
lx=max((xc ox 0.5)*down-w/2,0)
[0101]
ly=max((yc oy 0.5)*down-h/2,0)
[0102]
rx=min((lx w),mw)
[0103]
ry=min((ly h),mh)
[0104]
其中,(xc,yc)为模型预测的行人中心点,h_s为比例图中心点对应值,down为下采样倍数,本实施例中优选为4。oy为y轴坐标偏移量,ox为x轴坐标偏移量,mh为特征图高,mw为特征图宽,h,w分别为预测行人的高,宽,(rx,ry)为行人右下角坐标,(lx,ly)为行人左上角坐标。
[0105]
在一种方案中,通过获取行人坐标,能够得到一系列预测框,优选的,再进行非极大值抑制,得到网络模型输出的图像中行人的预测结果。之后计算预测结果与图像标注之间的损失。
[0106]
在一种方案中,在算法反向传播计算损失函数的步骤中,需要构造损失函数。总的损失由中心点损失,比例损失,偏移损失三部分组成。l
center
为中心点损失,l
scale
为比例损失,l
offset
为偏移损失。l
center
可通过预测中心热图与中心热图标注得到。l
center
是一个focalloss,可通过以下公式得到:
[0107][0108][0109][0110]
[0111][0112]
其中,k是图像中行人对象的数目,(xk,yk,wk,hk)是第k个对象的中心点坐标,宽度,高度,为每个对象相应的高斯掩膜的方差,p
ij
是(i,j)位置存在行人中心点的估计概率,y
ij
∈{0,1},是真值标签。α
ij
和γ是focalloss的超参数,β作为惩罚系数,α
ij
用来调整正负样本的权重。根据经验,本方案将β设为4,γ取值为2。在一种方案中,与每个对象的高宽有关,其可由以下公式得到σ=((kernel-1)*0.5-1)*0.3 0.8。其中,kernel为对象的高或宽。
[0113]
l
scale
,l
offset
分别通过以下公式得到:
[0114][0115][0116]
sk,tk代表每个正例的预测值与真值。
[0117]
最终损失为:
[0118]
l=λcl
center
λsl
scale
λol
offset
[0119]
其中,λc,λs,λo表示上述三种损失在总损失的比例,本方案将λc,λs,λo分别取值0.01,0.05,0.1。
[0120]
在一种方案中,在初始化模型参数时,选择在imagenet上预训练的resnet50模型作为初始值,并将检测头网络的所有层的权重初始化为均值为0,方差为1的正态分布,偏置初始化为0。除此之外,整个网络的优化算法采用adam。整个训练过程使用的计算资源为一张英伟达gtx2080ti显卡。模型训练时,前50k次迭代的学习率设为2
e-4
,接下来的25k次迭代的训练率设为2
e-5
,最后的15k次迭代学习率降到2
e-6
。所有模型在1张gtx2080tigpu显卡上进行训练和测试,图5展示了在citypersons数据集上部分图像的预测结果,可以直观的发现本方案提出的方法在严重遮挡情况下仍具有令人满意的检测结果。
[0121]
实施例2:一种行人图像检测方法,包括将检测图像所提取的行人图像特征图m0,通过相互独立的方式分别进行特征融合操作和注意力机制操作,获取具有上下文信息及位置信息的特征图m1和具有不同感受野信息的特征图m2。通过将所述具有不同感受野信息的特征图m2顺序地进行卷积和sigmoid操作,获取带有注意力机制的特征图m
att
。通过将所述带有注意力机制的特征图m
att
与所述具有上下文信息及位置信息的特征图m1进行乘积累加操作,获取特征图f
refine
。通过将所述特征图f
refine
以相互独立的方式进行三个并行卷积操作,获取检测图像的中心热图、比例图和偏移预测图。根据所述中心热图、比例图和偏移预测图,预测行人的中心点、行人高度、行人宽度和偏移量。响应于所述预测行人的中心点、行人高度、行人宽度和偏移量,获取检测图像的行人坐标,获取图像中行人的预测框。在优选方案中,该方法的实施可以由实施例1所提供的网络所实现,更为优选的,所述网络为通过实施例1中所述训练方法训练所得。
[0122]
实施例3:如图1所示,为本实施例提供的一种行人图像检测网络的训练方法,包
括:
[0123]
步骤1:获取行人数据集,并对所述行人数据集进行样本增强。
[0124]
将citypersons数据集、caltech数据集、inria数据集三个行人检测数据集图片整合到一起,共10000张图片,其中训练集8000张、测试集1500张、验证集500张,其中图片大小均为2048*1024。
[0125]
样本增强阶段,首先在0.4~1.5的范围内随机缩放图片,同时缩放标签,然后以50%的概率左右翻转图片,同时还需翻转标签,50%的概率进行图片的颜色失真,根据当前图片大小,如果当前图片大小大于图片原尺寸(即缩放比例大于1),进行随机裁剪。裁剪后图片大小等于训练要求输入尺寸,如果当前图片大小与原尺寸(即缩放比例小于1),用0随机在图片外围进行填充,填充至训练要求输入尺寸。此外,将训练集的8000张图片,分成4000对,然后将图像a上随机生成一个裁剪框box,裁剪掉行人图像a的相应位置,然后对应图像b相应位置的roi放到a图中被裁剪的区域生成新的4000个样本。最后将8000张训练样本排列组合,每四张图片拼接在一起,生成2000张新的样本图片。本实施例图片训练要求输入尺寸为高640,宽1280。
[0126]
步骤2:对所述行人数据集进行预处理得到图集。所述图集包括中心图、比例图和偏移图。所述中心图包括行人中心点的图。所述比例图为包括行人长宽比信息的图。所述偏移图为包括行人中心点偏移量信息的图。所述行人中心点为所述行人数据集被框选行人图像的中心点。
[0127]
所述中心图、比例图和偏移预测图作为训练标签使用。
[0128]
对于中心图的标注,行人对象中心点位置标记为正值,其他位置指定为0。
[0129]
对于比例图的标注,每个对象中心点的半径为2的范围内位置标记为正值log(h)(其中h为行人对象的高度),其他位置指定为0。
[0130]
对于偏移预测图的标注,假设目标k的中心点坐标为(xk,yk),则在标签图中目标中心所在的位置赋值为其他位置指定为0。
[0131]
其中xk表示图像中第k个对象的x轴位置,yk表示图像中第k个对象的y轴位置,r表示图像经特征提取器后,尺度缩小的倍数,[
·
]代表取整函数。
[0132]
步骤3:将所述行人数据集输入网络模型(如图2所示)得到输出特征图。所述网络包括依次连接的残差网络、并联的注意力模块与特征融合模块、检测头。所述残差网络模块中的归一化方法包括组归一化和批标准化。
[0133]
残差网络部分使用的是resnet50,并使用了在coco数据集上的预训练模型。本实施例采用的resnet50包含依次连接的四个阶段,分别为(conv1、conv2_x、conv3_x、conv4_x),其中conv1部分输入为h
×
w,包含1个卷积核为7
×
7,步长为2的卷积层,输出尺寸为h
×
w。conv2_x部分输入为h
×
w,包含如图3所示的三个残差块与一个池化层。每个残差块里有三个卷积层,三个卷积核大小依次为1
×
1、3
×
3、1
×
1,池化层为2
×
2大小的最大池化操作,输出尺寸为h/2
×
w/2。conv3_x部分输入为h/2
×
w/2,包含依次连接的四个残差块与一个池化层,输出尺寸为h/4
×
w/4。conv4_x部分输入为h/4
×
w/4,包含依次连接的六个残差块与一个池化层,输出尺寸为h/8
×
w/8。
[0134]
并联的注意力模块与特征融合模块分为两部分:特征融合模块与注意力模块,两
个模块相互并联,互不干扰。
[0135]
特征融合模块的输入为所述resnet50网络conv4_x的输出,输入尺寸为h/8
×
w/8,首先对conv4_x的特征图进行2倍的上采样,将conv4_x与conv3_x特征图连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,输出尺寸为h/4
×
w/4。然后将卷积后的特征图进行2倍的上采样,将上采样后的特征图与conv2_x特征图连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,输出尺寸为h/2
×
w/2。最后将卷积后的特征图进行2倍的上采样,将上采样后的特征图与conv1_x特征图连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,得到尺寸为h
×
w的特征图m1。
[0136]
注意力模块的输入为所述resnet50网络conv4_x的输出,输入尺寸为h/8
×
w/8,首先对conv4_x的特征图进行2倍的上采样,对conv3_x的特征图放入sknet模块中得到特征图m2-1,将conv4_x与特征图m2-1特征图连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,输出尺寸为h/4
×
w/4。然后将卷积后的特征图进行2倍的上采样,对conv2_x的特征图放入sknet模块中得到特征图m2-2,将上采样后的特征图与特征图m2-2连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,输出尺寸为h/2
×
w/2。最后将卷积后的特征图进行2倍的上采样,把conv1_x的特征图放入sknet模块中得到特征图m2-3,将上采样后的特征图与特征图m2-3连接在一起,对连接后特征图进行两次卷积核3
×
3为卷积操作,得到尺寸为h
×
w的特征图m2。
[0137]
其中sknet如图4所示,由多个sk卷积单元堆叠而成,其中sk卷积操作由split,fuse,select三个模块组成。在本实施例网络中,首先通过split操作分别通过3
×
3和5
×
5大小的sk卷积核对c
×w×
h的特征图x进行分组卷积操作和空洞卷积,输出和fuse操作将2个特征图进行element-wisesummation融合后先通过全局平均池化生成c
×1×
1的特征向量s(c为通道数),特征图s经过先降维再升维的两全连接层后形成d
×1×
1的向量z。select模块将向量z通过2个softmax函数回归出通道之间的权重信息矩阵a和矩阵b,并使用a和b对2个特征图和进行加权操作,然后求和得到最终尺寸大小为w
×
h的输出特征图v。
[0138]
检测头部分包括对注意力模块输出的特征图m2进行1
×
1卷积和sigmoid操作,生成带有注意力机制的特征图m
att
。接着将m
att
与m1进行矩阵乘法操作,进一步得到特征图f
refine
。最后在f
refine
后加入三个并行1
×
1卷积层,从而得到更精确的中心热图,比例图,偏移预测图。
[0139]
步骤4:计算所述输出特征图与所述图集中各图之间的误差。根据所述误差采用反向传播算法对所述网络模型进行训练得到行人检测模型,所述行人检测模型用于进行行人检测。
[0140]
模型训练阶段,得到输出特征图(中心热图,比例图,偏移预测图)后,预测行人的中心点,高度宽度,偏移量。中心热图中每个坐标点的值为行人中心点预测的概率,大于一定阈值则预测为行人的中心点,优选为大于0.75则被预测为行人的中心点。比例图中对应中心点的值为预测行人高度的对数。偏移预测图第一通道为y坐标偏移量,第二通道为x坐标偏移量。
[0141]
通过以下公式得到行人坐标:
[0142]
h=e
h_s
*down
[0143]
w=h*0.41
[0144]
lx=max((xc ox 0.5)*down-w/2,0)
[0145]
ly=max((yc oy 0.5)*down-h/2,0)
[0146]
rx=min((lx w),mw)
[0147]
ry=min((ly h),mh)
[0148]
其中,(xc,yc)为模型预测的行人中心点,h_s为比例图中心点对应值,down为下采样倍数,本实施例中为4。oy为y轴坐标偏移量,ox为x轴坐标偏移量,mh为特征图高,mw为特征图宽,h,w分别为预测行人的高,宽,(rx,ry)为行人右下角坐标,(lx,ly)为行人左上角坐标。
[0149]
得到一系列预测框后,再进行非极大值抑制,得到模型输出行人预测结果。之后与图像标注计算损失。
[0150]
在算法反向传播,计算损失函数步骤中,构造损失函数。总的损失由中心点损失,比例损失,偏移损失三部分组成。l
center
为中心点损失,l
scale
为比例损失,l
offset
为偏移损失。l
center
可通过预测中心热图与中心热图标注得到。
[0151]
l
center
通过以下公式得到,是一个focalloss:
[0152][0153][0154][0155][0156][0157]
其中,k是图像中行人对象的数目,(xk,yk,wk,hk)是第k个对象的中心点坐标,宽度,高度,为每个对象相应的高斯掩膜的方差,与每个对象的高宽有关。可由以下公式得到:
[0158]
σ=((kernel-1)*0.5-1)*0.3 0.8
[0159]
其中,kernel为对象的高或宽。
[0160]
p
ij
是(i,j)位置存在行人中心点的估计概率,y
ij
∈{0,1},是真值标签。α
ij
和γ是focalloss的超参数,β作为惩罚系数,α
ij
用来调整正负样本的权重。根据经验,本实施例将β设为4,γ取值为2。
[0161]
l
scale
,l
offset
分别通过以下公式得到:
[0162]
[0163][0164]
sk,tk代表每个正例的预测值与真值。最终损失为:
[0165]
l=λcl
center
λsl
scale
λol
offset
[0166]
λc,λs,λo表示上述三种损失在总损失的比例,本实施例λc,λs,λo分别取值0.01,0.05,0.1。
[0167]
在初始化模型参数时,本实施例选择在imagenet上预训练的resnet50模型作为初始值,并将检测头网络的所有层的权重初始化为均值为0,方差为1的正态分布,偏置初始化为0。除此之外,整个网络的优化算法采用adam。整个训练过程使用的计算资源为一张英伟达gtx2080ti显卡。模型训练时,前50k次迭代的学习率设为2
e-4
,接下来的25k次迭代的训练率设为2
e-5
,最后的15k次迭代学习率降到2
e-6
。所有模型在1张gtx2080tigpu显卡上进行训练和测试,图5展示了在citypersons数据集上部分图像的预测结果,可以直观的发现本实施例提出的方法在严重遮挡情况下仍具有令人满意的检测结果。
[0168]
本发明提出的模型主要针对密集场景下的行人检测任务,因此采用更具有针对性的citypersons数据集、caltech数据集、inria数据集。对于检测网络的评价指标包括recall、ap、mr-2
和fps四种。对于recall、ap、fps来说,其数值越高说明性能越好,而对于mr-2
该项指标,则是数值越小性能越好。表1显示了本发明提出的基于csp改进的行人检测算法的测试结果,对比方法包括:cspnet、retinanet、centernet、reploss、tll。
[0169]
在对比实验过程中,本发明提出基于csp改进的行人检测算法较其他模型在测试集上均取得最优的recall、ap、mr-2
,对比单阶段模型retinanet,虽然在fps上稍有不足,但是在recall从93.19%提升至95.70%,ap从82.31%提升至88.11%,mr-2
从49.7%降至45.2%。相较于centernet,本发明提出的方法在ap从84.22%提升至88.11%,mr-2
从47.3降至45.2,但是recall下降了0.11%,处理速度稍有下降。
[0170]
表1
[0171]
方法recallapfpsmr-2
cspnet91.2184.8814.155.9retinanet93.1982.3120.449.7centernet95.8884.2216.1147.3reploss94.6785.147.6454.6tll93.4283.739.2151.7本发明算法95.7088.1113.045.2
[0172]
上面对本发明的实施方法做出了详细说明,但本发明不限于上述实施方法。本发明通过一系列改进,提升了行人检测的精度,在自动驾驶,智能监控领域能够发挥作用。
[0173]
实施例4:本发明实施例提供一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的行人图像检测方法中的步骤,或者行人图像检测网络的训练方法。
[0174]
本发明实施例提供的电子设备能够实现上述方法实施例中的各个实施方式,以及相应有益效果。
[0175]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的行人图像检测方法或者行人图像检测网络的训练方法的各个过程,且能达到相同的技术效果。
[0176]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,该程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存取存储器(random access memory,简称ram)等。
[0177]
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献