APP下载

基于R-FCN的行人检测方法研究

2018-09-18朱启兵王正来

计算机工程与应用 2018年18期
关键词:漏报行人卷积

蒋 胜,黄 敏,朱启兵,王正来

江南大学 轻工业过程先进控制教育部重点实验室,江苏 无锡 214122

1 引言

随着模式识别和机器视觉的发展,基于计算机视觉的目标检测技术得到了广泛的应用。行人检测作为目标检测的一种,在车辆辅助驾驶[1-4]、智能视频监控和人体行为分析[5]等领域有着广泛的运用。传统的行人检测依赖于图像特征的提取。为了实现行人的准确检测,各种各样的图像特征被应用到行人检测中,例如:HOG[6](Histogram of Oriented Gradient)特征、LBP[7-8](Local Binary Pattern)特征、CENTRIST[9](Census Transform Histogram)特征等。自然环境中背景的复杂性,拍摄角度和距离,人体姿态多样性,遮挡等因素,往往导致提取特征的有效性难以保证,从而使得检测的精度无法满足实际应用需要。如何提高复杂场景下行人检测的精度,是目前目标检测领域的一个难点问题。

图1 R-FCN目标检测框图

近年来,基于深度学习的卷积神经网络在目标检测领域的应用得到了广泛的重视。深度卷积神经网络依靠卷积等的线性变化和激活函数的非线性映射把图片中像素级的信息映射到高维空间,使得某些任务,例如手写字体识别[10]、行人检测等,可以在高维空间轻易地实现。卷积神经网络不需要手动设计特征,其通过对图像的卷积操作,可自动实现特征的提取,已成为国内外研究和应用的热点。

本文把R-FCN[11](Region-based Fully Convolutional Networks)通用目标检测引入到复杂场景下的行人检测中。针对自然条件下,广泛存在的小目标、前景和背景遮挡、背景混淆干扰等因素;通过对R-FCN训练和搜索机制的修改,显著地减少了由于上述原因导致的漏报和误报现象。

2 R-FCN简介

基于区域的全卷积网络[9]的目标检测分为两个步骤,先定位目标,再进行目标具体类别的分类。R-FCN目标检测框图如图1所示,首先利用ResNet[12]网络生成特征映射图,并利用区域建议网络(Region Proposal Networks,RPN[13])对生成的特征映射图进行全图的前后景目标搜索和筛选,以确定目标框;在此基础上,利用分类网络对目标框进行分类识别。

2.1 区域建议网络(RPN)

R-FCN网络使用ResNet-50网络对图片进行卷积池化等操作。ResNet-50网络的输出层为res5c,res5c为一个1×2 048×63×38的张量。RPN在res5c上完成候选区域的搜索。具体的形式是在res5c输出层利用512个,尺寸为3×3的卷积核进行卷积操作,获得一个512×63×38的张量;将该张量作为两个独立卷积层的输入,从而将特征映射图里的信息转换为候选区域的位置信息和其为前后景的概率信息。如图2所示,图中红色区域即为搜索区域,图中只画出了部分搜索的目标框。

图2 RPN网络示意图

RPN默认用9个搜索框来搜索一块区域,尺度为642、1282、2562,长宽比为1∶1、1∶2、2∶1,以上搜索框的默认属性是针对ImageNet,VOC数据集中的通用目标的。考虑到小目标行人检测的需要,本文将搜索区域的尺度设置为162、322、642,长宽比不变。

对于原始的输入图片,RPN网络会得到约两万个搜索框。在实际应用时,一些超出图片边界的搜索框会被剔除;同时,对于同一目标重叠覆盖的搜索框,采用非极大值抑制[14](Non-Maximum Suppression,NMS)方法来处理,以达到去除重叠搜索框的目的。上述策略可显著提高候选目标框的搜索效率。

2.2 R-FCN中的分类网络

R-FCN的分类网络基于ResNet-50网络生成的特征映射图,利用卷积操作在整幅图像上为每类生成k×k个位置敏感分数图,用于描述对应位置的空间网格;每个位置敏感图有C个通道输出(代表C-1类物体外加一个背景)。对于一个w×h大小的候选目标框(由RPN网络获得),将目标框划分为k×k个子区域,则每个子区域为w×h/k2大小,对于任意一个子区域bin(i,j),0≤i,j≤k-1,定义一个位置敏感池化操作:

3 复杂场景行人检测难点分析

传统R-FCN行人检测把自然场景下的行人都归为一类,由于训练集中的完整行人样本占的比例较大,R-FCN形成的判别准则对这一类行人有明显的偏向,从而导致对于遮挡或背景混淆干扰的行人目标的漏检率偏高。为了提高遮挡或背景混淆干扰的行人目标检测精度,本文从训练样本构造、分类器设计角度对R-FCN网络进行了改进。

3.1 遮挡条件下的行人检测

在利用R-FCN网络进行行人检测时,通常都是将行人作为一个整体的待识别目标。当行人被部分遮挡时,R-FCN网络往往难以充分地学习到遮挡行人的特征。本文把可形变模型的思想[15]引入卷积神经网络中,利用R-FCN网络分别对人体的上下半身进行检测,以改善对遮挡行人的特征学习能力,减少对行人整体检测的困难。本文将训练样本中的行人按照上下半身进行划分,并作为检测目标进行识别。具体操作如下:(1)若行人未被遮挡(完整行人),则按照1∶1的比例切分行人为上下半身,并赋予相应的标签;(2)若行人被遮挡,就根据可见的行人部位赋予相应的标签。

图3、图4分别为遮挡引起的误报示例图和上下半身训练样本实例图,图3的红框是漏报的目标。

图3 R-FCN小目标遮挡漏报示例图

图4 上下半身监督信号制作示例图

3.2 背景混淆干扰

当存在背景混淆干扰时,由于背景和前景中的目标行人较为相似,R-FCN网络往往难以实现有效识别(如图5所示)。产生这一问题的原因在于:卷积神经网络在训练集上批量读入图片集对网络参数做出更新的时候对这类样本的关注较少,没有对这部分样本形成类内很鲜明的判别准则。为了解决这一问题,本文将存在背景混淆干扰条件下的目标行人赋予新的类别标签,以加强行人样本差异性的学习。实施此步骤之后,明显地提升了这一类目标的检出率。

图5 前景和背景相似的样本示例图

此时R-FCN价值函数表达式如下所示:

式(2)中的L(s ,tx,y,w,h)是R-FCN的价值函数,s是Softmax输出的为每一类(包括背景)的概率集合,Lcls(sC*)是分类的交叉熵价值函数,判断为类别C的概率。tx,y,w,h是目标框的顶点坐标以及长和宽,以下都是的形式,λ1、λ2是超参数,是对行人目标框位置信息的回归,具体定义如式(3)、式(4)所示,L1指 L1范数。tperson是目标框的位置信息是行人真实的位置信息,是对前景和背景相似的行人目标框位置信息的回归,r是此类行人的目标框位置信息,是此类行人真实目标框信息。

3.3 二次分类

上述改进策略在加强了对复杂样本学习的同时,也带来了误报率增高的问题。为了进一步改善网络的性能,本文引入二次分类思想,利用ResNet-50网络对R-FCN检测输出的结果进行二次分类。二次分类网络(ResNet50)的输入为R-FCN的目标检测框的图片信息,输出为相应的类别信息。在训练二次分类器时,为了增大负样本(R-FCN目标检测网络的误报样本)的数量,本文采用了复制扩充训练集的方法,加强二次分类网络(ResNet50)对原始R-FCN网络中误报样本特征的学习,从而降低误报率。

4 实验对比结果及分析

训练样本是1 280×720大小的图片集,具体为2016年12月7日在监控视频下的行人小目标样本,样本数为9 025,时间段为10:00到11:30,以及14:30到15:00这两个时间段。实验机器CPU型号为I7-5930k,内存为32 GB,显卡为TITANX 12GD。本文所采用的R-FCN网络和ResNet50二次分类网络都是基于深度学习框架caffe(https://github.com/BVLC/caffe)。两种网络参数更新方法均为随机梯度下降法,学习率均为0.001。R-FCN训练模型的最大迭代次数为40 000次,ResNet50二次分类网络的最大迭代次数为1 000次。R-FCN测试一张图片约为0.1 s,改进后的R-FCN测试一张图片约为0.2 s。在把行人样本(包括上下半身和背景混淆干扰的行人样本)放入R-FCN中训练之前,对行人样本进行了1.2倍的扩边操作,其目的是为了学习到带有更多不同背景的正样本特征,增加样本的复杂程度,加强模型从复杂的背景中分辨出行人的能力。测试集为2016年12月7日时间段为12:00—13:00采集的910张监控视频下的图片(大小为1 280×720)集,其中有3 298个正样本。实验结果如表1所示。

表1 R-FCN行人检测结果

表1记录了本文三种对R-FCN小目标行人检测方法改进后的结果,从表1中可以看出,深度卷积神经网络可以对类内的差别进行学习。R-FCN(1)、R-FCN(2)是对行人标签样本的改进结果,较传统R-FCN的14.22%漏报率,R-FCN(1)漏报率下降为7.97%,R-FCN(2)漏报率下降为9.61%,综合两种改动的R-FCN(1)(2)漏报率下降为5.52%。与此同时,相比于原始的RFCN网络的7.22%的误报率,R-FCN(1)、R-FCN(2)和R-FCN(1)(2)的误报率分别增加到 8.43%、7.67%和11.70%。这一结果表明当利用改进的样本构造策略后,R-FCN网络可以提高对于遮挡和背景混淆干扰条件下的目标行人样本学习能力,从而改善漏报率。但同时,由于背景的复杂性,也会带来学习模型的误报率的提高。当采用二次分类后,误报率均有显著的下降。RFCN(1)从最初的8.43%下降为4.97%,R-FCN(2)则从7.67%下降为3.82%,R-FCN(1)(2)从11.70%下降为2.49%。

图6、7为部分检测结果,左边为R-FCN(1)(2)(3),右边为R-FCN。从图6中可以看出,传统的R-FCN对遮挡有一定的检测能力,改进后的R-FCN(1)(2)(3)对遮挡的检测效果要优于传统R-FCN,被白色汽车遮挡的行人可以被R-FCN(1)(2)(3)检测到,传统的R-FCN则会漏报。从图7中可以看出,传统的R-FCN对背景混淆干扰这一类行人检测效果不理想,而且对于站位较近的行人粗略地只用一个框标出,绿色的框为漏报。图7左图为R-FCN(1)(2)(3)的行人检测效果,背景混淆干扰的行人,以及站位比较接近的行人都被检测到并区分开来,检测效果明显优于传统R-FCN。其中,在R-FCN(1)(2)(3)的结果中红色框为上半身,蓝色框为下半身,紫色框为混淆背景干扰的行人,绿色框为漏报;在R-FCN的结果中红色框为行人,绿色框为漏报。

5 结论

深度学习已成为机器学习领域新的研究热点,并在图像分类、语音识别等领域取得了巨大的成功。本文在基于区域的全卷积神经网络上做了改进,避免了复杂的人工特征提取的过程,完成了复杂场景下的行人检测。针对基于区域的全卷积神经网络的行人检测漏报误报问题,提出了改进方法,提高了复杂场景下的行人检测在遮挡和背景混淆干扰两类样本上的检出率,并用二次分类的方法在一定程度上抑制了行人的误报。最后,实验证明,改进的R-FCN对行人检测具有较好的表现,漏报率降为5.52%,误报率为2.49%,速度约为0.2 s一张图片,验证了此方法的可行性和实时性。

猜你喜欢

漏报行人卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
毒舌出没,行人避让
卷积神经网络的分析与设计
从滤波器理解卷积
路不为寻找者而设
基于傅里叶域卷积表示的目标跟踪算法
某市死因监测漏报的调查报告
我是行人
曝光闯红灯行人值得借鉴
各类气体报警器防误报漏报管理系统的应用