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

一种联合自动数据增广和损失函数搜索的行人检测方法与流程

2021-10-29 22:39:00 来源:中国专利 TAG:行人 增广 函数 检测方法 损失


1.本发明属于行人检测技术领域,具体涉及一种联合自动数据增广和损失函数搜索的行人检测方法。


背景技术:

2.行人检测是利用计算机视觉技术判断图像或者视频序列中是否存在行人并给予精确定位。但由于行人兼具刚性和柔性物体的特性,外观易受穿着、尺度、遮挡、姿态和视角等影响,使得检测过程中常会出现漏检、误检等情况。
3.在现有的行人检测技术中,常采用数据增广的方法有效扩大训练集规模,提高模型的泛化能力,利用裁剪、调整亮度、平移等图像增广操作来解决漏检、误检的问题;同时通过构造损失函数来降低失误。但各函数的选择、各项操作的结合和各个参数的设定都需要具备丰富的专业知识并耗费大量的时间。同时数据增广和损失函数间还具有一定的协同效应;当通过数据增广生成更多的遮挡样例(难样例)时,可能会加剧难样例和简单样例之间的不平衡,这种不平衡导致繁杂的手工计算过程和设计组合,费时费力,并存在漏检、误检以及环境因素造成的精度不高的问题。
4.因此,需要一种联合自动数据增广和损失函数搜索的行人检测方法,能够解决其难样例和简单样例之间不平衡的问题。


技术实现要素:

5.本发明提供一种联合自动数据增广和损失函数搜索的行人检测方法,能够调整困难样例和简单样例的损失权重,自动选择数据增广策略的最优组合并能有效处理数据增广和损失函数间的平衡问题,避免了繁杂的手工计算过程和设计组合,省时省力,同时改善漏检、误检以及环境因素造成的精度不高的问题,提高检测精度。从而解决现有技术中存在的问题。
6.一种联合自动数据增广和损失函数搜索的行人检测方法,包括以下步骤:
7.s1,学习阶段:
8.s1

1:建立神经网络模型,构建训练集和验证集,所述训练集和验证集包括带有标注信息的行人图像样本库;
9.s1

2:构造增广策略和损失函数的搜索空间并参数化;
10.s1

3:利用双层循环优化方案训练神经网络模型;
11.s2,测试阶段:
12.s2

1:利用步骤s1

1中的验证集对学习后的神经网络模型进行测试,计算正确率,若符合要求进入应用阶段,否则按照实际结果调整神经网络模型,并返回步骤s1

3;
13.s3,应用阶段:
14.s3

1:从视频序列中获取行人图像并输入到训练好的神经网络模型中,依靠训练好的神经网络模型精准定位行人的位置。
15.采用这样的方法,通过构造增广策略和损失函数的搜索空间,将数据增广策略和损失函数策略建模为具有不同参数的分布,利用双层循环优化方案自动搜索出最优数据增广策略和损失函数的组合方法,避免了繁杂的手工计算过程和设计组合,省时省力,同时改善漏检、误检以及环境因素造成的精度不高的问题,提高检测精度。
16.进一步的,所述步骤s1

2包括如下步骤:
17.a1:使用增广操作构造增广策略的搜索空间并参数化表示;所述增广操作包括模拟遮挡操作、强度和色彩操作以及几何操作,所述模拟遮挡操作包括类内遮挡和类间遮挡;
18.a2:构造损失函数的搜索空间并参数化表示;所述损失函数包括分类损失函数和方框回归损失函数,损失函数记为l,分类损失函数记为l
cls
,方框回归损失函数记为l
reg

19.进一步的,步骤a1中,所述模拟遮挡操作包括:
20.a1

1,使用边框标定图像中的行人位置,将此边框记为真实边框,
21.a1

2,在真实边框中使用边框标定行人的头部,将此边框记为头部边界框,将头部边界框的宽度和高度分别记为w和h,
22.a1

3,使用宽度为w高度为2.5h的边框分别标定步骤a1

2中行人的左上身和右上身,使用宽度为w高度为3.5h的边框分别标定步骤a1

2中行人的左腿和右腿;左上身、右上身、左腿和右腿的标定边框别由0到3的索引表示;
23.a1

4,使用索引法取步骤a1

3中的标定边框,然后用图像的均值进行遮挡。
24.采用这样的方法,可以更为准确地划分行人的每个部分,划分方式更加准确具备鲁棒性,这样动态变化的遮挡在训练过程中产生更多的数据变化,从而产生更好的泛化能力。所述模拟遮挡操作包括类内遮挡和类间遮挡,所述类内遮挡中,用于遮挡的标定边框的形状与被遮挡的标定边框的形状相同。所述类间遮挡中,用于遮挡的标定边框在没有行人的背景区域中裁剪。为了避免太多无效或不切实际的遮挡,裁剪的背景区域在指定范围内。所述强度和颜色操作包括调整对比度、添加日光、增加亮度等操作。所述几何操作包括翻转、在边界框中翻转、平移、裁剪等操作。
25.上述增广操作的个数为114个,将这些增广操作两两进行排列组合,最终得到1142≈ 1.3
×
104个增广策略,这些增广策略构成了本发明中增广策略的搜索空间。
26.进一步的,步骤a1中,将选定的增广操作两两排列组合得到增广策略,并组成所述增广策略的搜索空间,利用归一化的sigmoid函数将每个操作的执行概率p
θ
(o
i
)表示为:
[0027][0028]
其中,o
i
是从候选的增广操作中采样的第i个操作,θ
i
为第i个操作的参数。
[0029]
进一步的,步骤a2中所述损失函数l的计算公式为:
[0030]
l=η1·
l
cls
η2·
l
reg
ꢀꢀ
(2)
[0031]
其中,η1为l
cls
的权重,η2为l
reg
的权重,η1、η2的取值范围为(0,1]。
[0032]
进一步的,所述分类损失函数l
cls
,其表达式为:
[0033]
l
cls
(p)=

(y(1

p)
γ
log(p) p
γ
(1

y)log(1

p))
ꢀꢀ
(3)
[0034]
其中,p为网络预测的正概率,y为输入图像的标签值,γ为需要搜索的超参数,它的范围为[0,5]。
[0035]
当γ=0时,该损失函数为交叉熵损失函数,当γ≠0时,为聚焦参数为γ的焦损失函数。
[0036]
进一步的,所述方框回归损失函数l
reg
包括拉项损失l
pull
和推项损失l
push
,公式为:
[0037]
l
reg
=λ1l
pull
λ2l
push
ꢀꢀ
(4)
[0038]
其中,λ1为拉项损失l
pull
的权重,λ2为推项损失l
push
的权重;
[0039]
所述拉项损失l
pull
的表达式为:
[0040][0041]
其中,p={p
x
,p
y
,p
w
,p
h
},g={g
x
,g
y
,g
w
,g
h
},p和g分别表示预测方框和真实方框, p
x
,p
y
和g
x
,g
y
分别为预测方框和真实方框的左上角坐标,p
w
,p
h
和g
w
,g
h
分别为预测方框和真实方框的宽和高,α1,α2,α3为权重,α1,α2,α3的取值范围为[0,1]。
[0042]
采用这样的方法,本发明使用smoothl1损失、交并比损失和高宽比分别作为拉项损失的第一项、第二项和第三项。
[0043]
进一步的,所述推项损失l
push
的表达式为:
[0044][0045]
其中,d(x)=(1

x),1表示恒等函数,ε是防止被除数为0的小常数,p
i
为第i个预测方框,g
i
为p
i
对应的真实方框,g
j
为第j个真实方框。
[0046]
采用这样的方法,在推项损失中乘以折扣因子d(iog(p
i
,g
i
)),因为每个真实框之间存在固有重叠,当预测方框与真实方框匹配良好时,折扣因子d(iog(p
i
,g
i
))能够非常小(即 iog(p
i
,g
i
)比较大),而当预测框与真实框吻合不好时,折扣因子d(iog(p
i
,g
i
))相对较大。从而更加准确地判断预测方框与真实方框的吻合程度。
[0047]
所述损失函数l中需要搜索的超参数为用来表示中的参数(如α1,α2,α3等),由于的搜索空间是连续的,本发明将表示为均值为μ
k
、标准差为σ的高斯分布:
[0048]
进一步的,通过双层循环优化方案来优化高斯分布的均值μ
k
来寻找最优的损失函数。
[0049]
所述步骤s1

3包括如下步骤:
[0050]
b1:输入原始的训练集;
[0051]
b2:利用重要性采样,从增广策略的搜索空间中采样增广策略,从损失函数的搜索空间中采样损失函数;τ={o
t
;l
t
}表示在第t次外层循环中所有被采样的增广操作和损失函数。
[0052]
b3:将采样到的增广策略应用在输入的原始数据集上,得到增广后的数据集;将采样的损失函数传给n个并行的神经网络模型;
[0053]
b4:内层循环优化,通过梯度下降法使n个并行的神经网络模型的损失最小化;训练完成后得到n个并行的神经网络模型的奖励r
i
(m
w
;d
val
),选出获得奖励最大的神经网络模型,并将该神经网络模型的参数传递给n个并行的神经网络模型用于下一次循环的训练;内
层循环中的迭代次数记为i;
[0054]
第t次循环时内层循环的模型参数的优化表达式为:
[0055][0056]
其中β为学习率,j为第j次内层迭代,x
b
,y
b
分别表示输入图像和对应的标签,o
t
(x
b
)表示对输入图像进行增广操作得到增广后的图像。
[0057]
b5:外层循环优化,在b4中得到了n个并行网络模型的奖励r
i
(m
w
;d
val
),用得到的奖励来优化数据增广策略和损失函数的超参数,优化目标是利用π
θ
提供的最优数据增广策略概率分布和提供的损失函数概率分布使奖励最大化;所述优化目标可用下式表示:
[0058][0059]
该公式满足
[0060]
采用梯度上升法更新数据增广的参数,可表示为:
[0061][0062]
其中η
θ
为增广策略参数的学习率。
[0063]
本发明采用重要性采样对奖励贡献较大的区域用较大的权重进行采样,对于重要性采样,旧策略可以直接使用,而π
θ
可以用概率分布p(θ)表示,有:
[0064][0065]
其中为旧策略,τ

为时采样的增广操作和损失函数。
[0066]
通过重要性采样从中采样n个τ来近似梯度。τ由从概率分布p
θ
采样的一系列增广操作组成,因为每次迭代中每个批次的每个操作采样概率相互独立,所以可用式增广操作组成,因为每次迭代中每个批次的每个操作采样概率相互独立,所以可用式计算,b为训练过程中,每次迭代输入网络图像的数量,则:
[0067][0068]
其中r
i
为第i次采样τ对应的奖励。记为r
θ
,r
θ
为目标策略π
θ
和采样策略的概率比。
[0069]
最终的梯度估计式为:
[0070]
[0071]
其中
[0072]
与数据增广策略的梯度估计同理,损失函数的梯度估计表示为:
[0073][0074]
式中中为高斯分布的概率密度函数。
[0075]
为了确保优化的每一步都限制在一个信任域内,得到得更好的奖励和策略,概率比和被裁剪比率∈裁剪,即:
[0076][0077]
b6:在完成一次内层循环优化和外层循环优化后,重复执行步骤b2

b5直至神经网络模型收敛或循环达到设定的最大循环次数t
max

[0078]
采用这样的方法,内层循环优化中通过联合采样数据增广操作和损失函数使神经网络模型的损失最小化,而外层循环优化中则最大化关于数据增广和损失函数分布的奖励。通过这样的优化方案,可以得到最优的增广策略、损失函数以及训练好的神经网络模型。
[0079]
本发明的有益效果为:
[0080]
1.本发明通过构造增广策略和损失函数的搜索空间,将数据增广策略和损失函数策略建模为具有不同参数的分布,利用双层循环优化方案自动搜索出最优数据增广策略和损失函数的组合方法,避免了繁杂的手工计算过程和设计组合,省时省力,同时改善漏检、误检以及环境因素造成的精度不高的问题,提高检测精度。
[0081]
2.本发明在划分图像时可以更为准确地划分行人的每个部分,更加准确具备鲁棒性,具备更好的泛化能力。
[0082]
3.本发明能够更加准确地判断预测方框与真实方框的吻合程度。
附图说明
[0083]
图1为本发明的流程图;
[0084]
图2为本发明中模拟遮挡操作示意图;
[0085]
图3为本发明中双层循环方案训练神经网络的框架图;
[0086]
图4为本发明中双层循环优化方案算法流程图;
[0087]
图5为实施例1中本发明应用在视频图像中的效果图。
具体实施方式
[0088]
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0089]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了
便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0090]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0091]
实施例1
[0092]
本实施例所采用的行人数据为wider person challenge数据集,其中由监控摄像头采集的数据集包含5759张训练图像、2481张验证图像。
[0093]
图1所示的是一种联合自动数据增广和损失函数搜索的行人检测方法,包括以下步骤:
[0094]
s1,学习阶段:
[0095]
s1

1:建立神经网络模型,构建训练集和验证集,所述训练集和验证集包括带有标注信息的行人图像样本库;
[0096]
s1

2:构造增广策略和损失函数的搜索空间并参数化;
[0097]
s1

3:利用双层循环优化方案训练神经网络模型;
[0098]
s2,测试阶段:
[0099]
s2

1:利用步骤s1

1中的验证集对学习后的神经网络模型进行测试,计算正确率,若符合要求进入应用阶段,否则按照实际结果调整神经网络模型,并返回步骤s1

3;
[0100]
s3,应用阶段:
[0101]
s3

1:从视频序列中获取行人图像并输入到训练好的神经网络模型中,依靠训练好的神经网络模型精准定位行人的位置。
[0102]
采用这样的方法,通过构造增广策略和损失函数的搜索空间,将数据增广策略和损失函数策略建模为具有不同参数的分布,利用双层循环优化方案自动搜索出最优数据增广策略和损失函数的组合方法,避免了繁杂的手工计算过程和设计组合,省时省力,同时改善漏检、误检以及环境因素造成的精度不高的问题,提高检测精度。
[0103]
所述步骤s1

2包括如下步骤:
[0104]
a1:使用增广操作构造增广策略的搜索空间并参数化表示;所述增广操作包括模拟遮挡操作、强度和色彩操作以及几何操作,所述模拟遮挡操作包括类内遮挡和类间遮挡;
[0105]
a2:构造损失函数的搜索空间并参数化表示;所述损失函数包括分类损失函数和方框回归损失函数,损失函数记为l,分类损失函数记为l
cls
,方框回归损失函数记为l
reg

[0106]
进一步的,步骤a1中,所述模拟遮挡操作包括:
[0107]
a1

1,使用边框标定图像中的行人位置,将此边框记为真实边框,
[0108]
a1

2,在真实边框中使用边框标定行人的头部,将此边框记为头部边界框,将头部边界框的宽度和高度分别记为w和h,
[0109]
a1

3,使用宽度为w高度为2.5h的边框分别标定步骤a1

2中行人的左上身和右上
身,使用宽度为w高度为3.5h的边框分别标定步骤a1

2中行人的左腿和右腿;左上身、右上身、左腿和右腿的标定边框别由0到3的索引表示;
[0110]
a1

4,使用索引法取步骤a1

3中的标定边框,然后用图像的均值进行遮挡。
[0111]
采用这样的方法,可以更为准确地划分行人的每个部分,划分方式更加准确具备鲁棒性,这样动态变化的遮挡在训练过程中产生更多的数据变化,从而产生更好的泛化能力。
[0112]
如图2所示,模拟遮挡操作分为类内遮挡和类间遮挡,对于类内遮挡操作,当真实边框 a和b的数量大于2时,首先随机选择两个真实边框a和b。然后,在a的身体部位中裁剪出索引区域a,该区域与b中选中的索引区域b形状相同,并将索引区域a中的图像粘贴到b中选中的相同索引区域b中。对于类间遮挡操作,在没有行人的背景区域中裁剪出索引区域d,该区域与选中行人的索引区域c大小相同,并将索引区域d中的图像粘贴到选中行人的相同索引区域c中。
[0113]
所述强度和颜色操作包括调整对比度、添加日光、增加亮度等操作。所述几何操作包括翻转、在边界框中翻转、平移、裁剪等操作。
[0114]
上述增广操作的个数为114个,将这些增广操作两两进行排列组合,最终得到1142≈ 1.3
×
104个增广策略,这些增广策略构成了本发明中增广策略的搜索空间。
[0115]
步骤a1中,将选定的增广操作两两排列组合得到增广策略,并组成所述增广策略的搜索空间,利用归一化的sigmoid函数将每个操作的执行概率p
θ
(o
i
)表示为:
[0116][0117]
其中,o
i
是从候选的增广操作中采样的第i个操作,θ
i
为第i个操作的参数。
[0118]
步骤a2中所述损失函数l的计算公式为:
[0119]
l=η1·
l
cls
η2·
l
reg
ꢀꢀ
(2)
[0120]
其中,η1为l
cls
的权重,η2为l
reg
的权重,η1、η2的取值范围为(0,1]。
[0121]
所述分类损失函数l
cls
,其表达式为:
[0122]
l
cls
(p)=

(y(1

p)
γ
log(p) p
γ
(1

y)log(1

p))
ꢀꢀ
(3)
[0123]
其中,p为网络预测的正概率,y为输入图像的标签值,γ为需要搜索的超参数,它的范围为[0,5]。
[0124]
当γ=0时,该损失函数为交叉熵损失函数,当γ≠0时,为聚焦参数为γ的焦损失函数。
[0125]
所述方框回归损失函数l
reg
包括拉项损失l
pull
和推项损失l
push
,公式为:
[0126]
l
reg
=λ1l
pull
λ2l
push
ꢀꢀ
(4)
[0127]
其中,λ1为拉项损失l
pull
的权重,λ2为推项损失l
push
的权重;
[0128]
所述拉项损失l
pull
的表达式为:
[0129][0130]
其中,p={p
x
,p
y
,p
w
,p
h
},g={g
x
,g
y
,g
w
,g
h
},p和g分别表示预测方框和真实方框, p
x
,p
y
和g
x
,g
y
分别为预测方框和真实方框的左上角坐标,p
w
,p
h
和g
w
,g
h
分别为预测方框和真
实方框的宽和高,α1,α2,α3为权重,α1,α2,α3的取值范围为[0,1]。
[0131]
采用这样的方法,本发明使用smoothl1损失、交并比损失和高宽比分别作为拉项损失的第一项、第二项和第三项。
[0132]
所述推项损失l
push
的表达式为:
[0133][0134]
其中,d(x)=(1

x),1表示恒等函数,ε是防止被除数为0的小常数,p
i
为第i个预测方框,g
i
为p
i
对应的真实方框,g
j
为第j个真实方框。
[0135]
采用这样的方法,在推项损失中乘以折扣因子d(iog(p
i
,g
i
)),因为每个真实框之间存在固有重叠,当预测方框与真实方框匹配良好时,折扣因子d(iog(p
i
,g
i
))能够非常小(即 iog(p
i
,g
i
)比较大),而当预测框与真实框吻合不好时,折扣因子d(iog(p
i
,g
i
))相对较大。从而更加准确地判断预测方框与真实方框的吻合程度。
[0136]
所述损失函数l中需要搜索的超参数为用来表示中的参数(如α1,α2,α3等),由于的搜索空间是连续的,本发明将表示为均值为μ
k
、标准差为σ的高斯分布:
[0137]
通过双层循环优化方案来优化高斯分布的均值μ
k
来寻找最优的损失函数,所述步骤s1
‑ꢀ
3包括如下步骤:
[0138]
b1:输入原始的训练集;
[0139]
b2:利用重要性采样,从增广策略的搜索空间中采样增广策略,从损失函数的搜索空间中采样损失函数;
[0140]
b3:将采样到的增广策略应用在输入的训练集上,得到增广后的数据集;将采样的损失函数传给n个并行的神经网络模型;
[0141]
b4:内层循环优化,通过梯度下降法使n个并行的神经网络模型的损失最小化;训练完成后得到n个并行神经网络模型的奖励r
i
(m
w
;d
val
),选出获得奖励最大的神经网络模型,并将该神经网络模型的参数传递给n个并行神经网络模型用于下一次循环的训练;
[0142]
b5:外层循环优化,在步骤b4中得到了多个并行的神经网络模型的奖励r
i
(m
w
;d
val
),用所述奖励优化数据增广策略和损失函数的超参数,并利用数据增广策略概率分布和损失函数概率分布使奖励最大化;
[0143]
b6:在完成一次内层循环优化和外层循环优化后,重复执行步骤b2

b5直至神经网络模型收敛或循环达到设定的最大循环次数t
max

[0144]
所述步骤b5中数据增广策略的梯度估计式为:
[0145][0146]
其中,r
i
为第i次采样轨迹的奖励;
[0147]
所述步骤b5中损失函数的梯度估计式为:
[0148]
[0149]
其中,其中,为高斯分布的概率密度函数。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜