赵艳芹, 何东来, 朱子寒
(黑龙江科技大学 计算机与信息工程学院, 哈尔滨 150022)
在煤炭开采的过程中,由于工人以及管理人员对于安全帽佩戴问题的松懈,导致人员伤亡的事故时有发生。人员未佩戴安全帽轻则矿场整顿、停止生产,影响工程效率,重则出现死伤事故[1]。因此,使用自动化以及数字化技术检测安全帽佩戴情况,尤为必要。
贾峻苏等[2]提出了寻找适合的模型载体,结合形状颜色等特征进行构造检测的方法,该方法虽然可以起到检测效果,但是过程极为复杂。刘晓慧等[3]通过结合图像的频域信息与方向梯度值的方法用于检测,使用支持向量机的方法进行判别,但是在一些特定情况下效果并不理想。
自2012年以来,AlexNet[4]、VGG16等[5]优秀的深度学习模型应用于图像分类问题,打开了深度学习研究的大门,与此同时,将深度学习运用在检测任务中成为了一种极为有效的方案。当前学术界与工业界对于目标检测使用性能最为优秀的模型是基于回归检测的Yolo[6]家族与基于候选框区域检测的RCNN家族,其中YoloV3[7]、Faster RCNN[8]使用最为广泛。
图片中待检测物体较小不易于检测识别是检测问题的难点。安全帽在图片中所占的比例本身不大,在矿井作业中,会有人物在远景的情况,安全帽在原图中所占像素将会变得很小。同时,因为深度学习的特性,图片不断地进行卷积,特征图将会不断缩小,在不理想的情况下,原图中的安全帽可能在最后的特征图中被缩小为一个像素点,甚至消失,导致整体模型检测性能的下降。为了解决尺寸较小不易于检测的问题同时可以提升模型的整体性能,笔者在Faster RCNN检测模型的基础上做出了改进。为了提升模型的远景检测能力,在图像增强中模拟远景情况,增加训练集数量,提升模型的泛化性能。为了抑制特征图在卷积过程中变小的趋势,联系残差网络思想[9],将RPN层的卷积使用跳跃连接结构,保存了卷积初期的图像信息。同时结合了传统机器学习的集成学习思想,多个体学习器同时监督。
对传统的重合度IOU算法进行了改进,计算方式不仅仅是两个检测框面积的交集值除以并集值,同时引入了最小包容框的思想,通过数学公式惩罚了空隙区间。
以Faster RCNN算法为基础进行改进用于安全帽佩戴情况的检测,Faster RCNN由两个主要部分组成,生成候选区域建议网络(Region proposal network,RPN)与目标分类检测网络, Faster RCNN检测安全帽佩戴流程如图1所示。
图1 Faster RCNN流程
经过卷积后的图片首先输入RPN层,RPN层的作用主要是初步训练出回归因子,定位anthor框,方便下一层分类拟合使用。首先使用k-means算法,根据已有的安全帽图像尺寸确定anthor框的尺寸,在原来版本的Faster RCNN模型中为3种框尺寸大小,文中设置了4种框尺寸,每种尺寸对应3种不同的长宽比例,比例分别为1∶1、2∶3、3∶2,具体设计如图2所示。
图2 锚检测框
确定anthor尺寸之后使用三个大循环对于每个anthor框与真实的安全帽检测框进行训练拟合。三个大循环分别为,通过特征图的长宽遍历每个特征点,通过每个特征点遍历12个anthor框,通过每个anthor框遍历每个真实框。完成三个大循环以后使用IOU算法,筛选出符合阈值的anthor框,通过每个符合阈值的anthor框与真实框gtbox的尺寸与位置的差异进行拟合学习,获得回归因子。
RPN层训练使用的损失函数:
(1)
(2)
(3)
式中:Nα——分类的总数量;
Nβ——拟合框总数量;
pi——目标佩戴头盔的概率;
di——真实情况与初始anthor框的位置与尺寸差值;
式中:x、y、w、h——预测框的位置与尺寸;
xa、ya、wa、ha——初始anthor框的位置与尺寸;
x*、y*、w*、h*——真实框的位置与尺寸。
通过以上损失函数计算公式迭代降低损失函数值,获得最优预测位置。
由于RPN层训练好的anthor框数量太多,很多anthor框的重复度太大,训练意义不大,因此,每幅图通过非极大值抑制的方法(Non-Maximum suppression,NMS)筛选出400个合适的优秀anthor框用于第二段训练,需要注意的是要保证正样本与负样本的数量各占一半,即200个正样本,200个负样本,使用插值上采样的方法将特征图的anthor框映射回原图中。
通过IOU确定200个正样本所对应的真实框,计算出移动因子,用于回归训练,同时结合200个负样本用于类别分类的训练,训练使用的损失函数与RPN层相同。
由于深度学习的特性,针对训练集使用优秀的图像增强方案可以提升训练的结果,提出如下改进方案进行图像增强。
在安全帽检测问题中,远景的安全帽佩戴者在图片中所占比例较小,如果没有对于这种情况进行充足的训练,极容易导致检测时对于远景目标的忽略。为了提高远景安全帽佩戴者训练时出现的次数,改进了图像增强的方法,设置了3种等比缩小长宽的比例,分别为1/2、1/3、1/4,以这些尺寸将一幅图片的长宽随机等比例缩小,同时准备一张与原尺寸大小相同白色背景板(即像素值全部为255),将缩小后的图片随机粘贴在与原图尺寸相同的白色背景板上,以此模拟远景佩戴者场景,如图3所示。
图3 模拟远景
同时在模拟远景的图像增强方法基础上,还可以通过添加随机HSV[10]、随机补丁、水平镜像翻转图像增强方法共同提升泛化性能。
针对Faster RCNN进行了一系列的改进,改进点主要在RPN的网络结构中,融入了集成学习的思想,在传统RPN网络的基础上加入跳跃结构训练层,结合集成学习的思想,进行训练。同时改进IOU重合度算法,对空隙间隔进行了惩罚,以提升anthor框寻找对应真实框的准确度。
集成学习思想是当前比较流行的机器学习算法思想之一,将多个学习系统相结合,共同对模型进行训练。通过多个个体算法进行训练,根据实验推测不同学习器对结果的影响,设置权重,使用某种算法将其相结合,这样可以比单个个体的训练得到更好的结果。集成学习的决策公式为
(4)
式中:wi——不同个体学习器的权重;
bi——各层分类器的学习结果;
θ——训练参数;
A——学习器数量。
集成学习示意如图4所示。
图4 集成学习
3.1.1 RPN层损失函数
笔者对RPN层进行了集成学习设计其中第一个卷积层加入了dropout层,使训练更加具有随机性,提升泛化能力。两个学习器在的分类损失函数在RPN层相互结合公式为
(5)
式中:Nα——类别的总数量;
Lα1——1号学习器的类别分类损失函数值;
Lα2——2号学习器的类别分类损失函数值。
对于回归因子的输出使用两个学习器回归因子的结合方式,将每个anthor得出来的回归因子相加求期望输入第二阶段,具体回归因子计算方式:
(6)
式中:dx1、dy1、dw1、dh1——1号学习器RPN的输出因子;
dx2、dy2、dw2、dh2——2号学习器的RPN的输出因子。
3.1.2 网络设计
由于卷积特性,图片中很小的目标在进行卷积的过程中,尺寸会变得更加小。而运用残差跳跃网络,可以有效提升对于小目标的检测,同时结合集成学习的方法不仅可以提升准确率,可以抑制特征图变小的趋势,设计了如图5的网络结构。
图5 集成学习网络结构
图5中C1、C2、C3、C4、P1、P2、P3的计算公式:
(7)
(8)
式中:R——输入的原图;
wi——各个层卷积层的参数,i=1,2,…,4;
N(·)——卷积操作,N(C1,w2),以w2为参数,对C1输出内容进行卷积操作;
F(·)——融合操作,F(C4,C3),对C3上采样后与C4输出内容同维度融合。
图5中A、B为两个不同的个体学习器,R为输入的原图。A、B两个训练器使用VGG16模型,将模型等分为C1、C2、C3、C44个部分。传统方案直接使用图中C4输出结果进行拟合训练,会出现检测的安全帽太小甚至消失的问题,为了解决该问题使用残差跳跃网络将C4进行上采样之后与C3融合,得到的特征图再次上采样与C2融合,依次类推。同时A、B两个学习器使用两种不同学习策略,A的特点为视野更高、B的特点为细节信息更多,使用集成学习思想相融合,两个学习器使用不同策略的跳跃残差网络,模型能够获得不同视野深度,集成学习融合之后使得网络在反向传播时可以获得更多高效的特征,提升检测性能。
传统的IOU的计算方式为anthor框与真实框的交集面积除以anthor框与真实框的并集面积,若存在两个框面积分别为A、B,其重度度为
但是该计算方式仅仅通过交集面积与并集面积的关系进行计算,对于最优的anthor框的挑选未必能够达到最好。因此,引入了最小包容框的思想,提出了一种结合惩罚空隙区域的IOU算法为
(9)
式中:d——两坐标点的欧氏距离;
b——anthor框的中心点坐标;
bgt——真实框的中心坐标;
c——两个框的最小包容框的最远对角距离;
λ——两个欧氏距离的调试参数。
具体示意如图6所示。图中,c是真实框与anthor框的最小包容框的最远对角距离,d是两个框的中心点的欧氏距离。
图6 改进的IOU
由图6可见中空隙区域面积越大,d与c的比值越大,即式(9)中减数的值越大,ηIOU的结果越小。因此,通过该方法的改进,可以更加有效的约束重合度的最终值,寻找最优anthor框。
实验的软硬件配置为:操作系统Windows10,搭建框架使用Pytorch,编译器使用Pycharm,显卡为1080ti,显存为12 G,内存为16 G。
数据集使用的是从网上自行搜集的安全帽佩戴数据集,共计4 064张。使用labelImg对图片进行标记转化为XML格式,将其中的4 033张用于训练,31张用于测试。
测试时的指标使用查准率(p)、查全率(r)、准确率(a)进行判断,公式为:
式中:Tp——预测为正类的正样;
Tn——预测为负类的负样;
Fp——预测为负类的正样;
Fn——预测为正类的负样。
实验共三个部分,直接训练对比、使用图像增强方法对比、改进的IOU算法的对比。
4.2.1 直接训练
直接使用传统的Faster RCNN、YoloV3、文中的模型三种模型进行训练、得出的模型用于检测,对比实验结果如表1所示。
表1 不同模型的测试结果
从表1可以看出,文中模型相比于传统的Faster RCNN模型查准率提升了4.2%,查全率提升了6.4%,准确率9.0%,相比于传统YoloV3模型查准率查全率也都有所提升,准确率提升了3.0%。文中模型所使用的跳跃残差网络结合集成学习的思想对于检测性能有明显的提升。
4.2.2 添加远景模拟图像增强
为了观察文中提出的远景模拟的图像增强方法的对检测的提升效果,实验设计如下:使用传统Faster RCNN,不使用集成学习只添加四层残差跳跃网络的模型。文中对使用的集成学习模型三种模型算法进行比较,结果如表2所示。
表2 添加图像增强结果
相比较于表1直接训练的模型,从表2可以看出,模拟远景情况的图像增强对于传统的Faster RCNN算法没有明显的提升。而文中的模型在查准率、查全率、精确度上都有了较高的提升。笔者认为,由于残差跳跃网络思想的应用对于远景图片的适应性更强,同时集成学习的思想有效提高了查全率,所以远景模拟增强针对文中模型具有更强的适应性。
4.2.3 三种模型使用改进的IOU算法
为了观察文中提出的改进的IOU算法对于性能提升的效果,实验设计:使用传统Faster RCNN、不使用集成学习只添加四层残差跳跃网络的模型、文中集成学习模型这三种模型算法进行比较,结果如表3所示。
表3 使用改进的IOU算法结果
对比表2、3可以发现,改进的IOU算法对于文中的模型查全率没有起到提升的作用,但是查准率得到了提升,对于负样本的排查起到了促进作用,同时,改进的IOU算法对于整体性能起到促进作用。在进行相同图像增强与IOU算法改进的情况下,传统Faster RCNN与文中模型的检测部分结果示意如图7所示。
图7 不同模型对比
图7中,在某些远景情况下传统的Faster RCNN模型无法检测,添加残差网络与文中的模型都可以检测出来。但是文中的模型显示的真正样本的判定概率值相比于传统网络以及仅仅添加残差网络的判定概率值结果更高。
(1)对于使用Faster-RCNN算法进行安全帽检测的问题,利用残差跳跃网络,保留了初始卷积特征图的检测目标特征的情况下,相比于传统的方法准确率可以提升3.1%,同时,结合集成学习的思想,分别融入高信息与高视野的不同特征的情况下,准确率可以提升4%。
(2) 在图像训练的初始阶段,图像增强使用模拟远景的改进方案相比于未添加图像增强的传统方法,准确率提升了6.2%。
(3) IOU算法的改进方案,结合了惩罚空隙面积的思想,提升了anthor框的排查效率,在使用残差跳跃网络的条件下准确率可以提升3%,在使用集成学习的条件下准确率可以提升4.3%。