2. 北京航空航天大学 软件学院, 北京 100191
2. School of Software, Beihang University, Beijing 100191, China
先进驾驶辅助系统的迅速发展改善了道路交通安全。然而,那些易受伤害道路使用者(包括行人、骑自行车人及其他小型两轮交通工具乘用者等)受到的保护依然有限。根据《2015年世界卫生组织道路安全报告》统计,全球近一半的交通事故死亡者为易受伤害道路使用者[1]。考虑到骑车人交通事故发生率高、速度较快且一般没有特殊保护措施(如安全头盔),因此对他们的保护显得尤为迫切。对骑车人的准确识别是保护他们的前提。本文中“骑车人”指骑着自行车的人,识别对象包括自行车和人两部分。
相对于主动传感器(如激光雷达和mm波雷达),视觉传感器价格低廉,可以获取如颜色及背景环境等丰富的场景信息,且可以同时处理其他多种任务,如车道线和标志牌检测等[2]。因此,基于视觉传感器的行人或骑车人的识别方法为相关研究的主要方法。虽然基于视觉的行人识别已有较多的研究成果,但由行人外表、姿态、遮挡及复杂背景等带来的挑战性问题依然存在。类似于行人识别,骑车人识别同样面临着这些问题。不仅如此,不同视角下的骑车人所表现出的外表及高宽比的差异进一步增加了骑车人的识别难度,这些因素在行人识别中常常被忽略。
不同于行人识别,目前基于视觉的骑车人识别尚未得到充分研究。Li等[3]使用一种改进的梯度方向直方图特征(histogram of oriented gradient, HOG)和线性支持向量机(support vector machine, SVM)分类器来检测穿行的骑车人,并优化了其中耗时的HOG特征计算过程。岳昊等[4]研究了基于反向传播(back propagation, BP)神经网络的行人和自行车识别方法,从行人和自行车轮廓形状的角度提取特征作为BP神经网络的输入。Cho等[5]定义了一个用来检测骑车人的多视角混合模型,该方法使用了部件模型、HOG特征及SVM分类器。Yang等[6]使用了多模型的骑车人检测框架来处理自然驾驶的视频,首先使用积分通道特征来去除大量的无目标窗口,再使用3个视角的分类器将剩余的窗口分类为骑车人和背景。为了解决骑车人多视角带来的检测问题,Tian等[7]根据自行车的方向将骑车人分为多个子类别,再对每个子类别创建基于HOG特征的级联分类器。
上述骑车人识别方法均使用传统的机器学习方法(如SVM),其识别性能尚有较大的提升空间;由骑车人视角变化带来的遍历扫描输入图像的问题没有得到很好解决;各项工作均缺少有力的性能对比验证及统一的具有挑战性的骑车人数据库作为支撑。因此,在文[8]的基础上,本文提出一种基于有效候选区域选择和深度卷积神经网络模型的骑车人识别方法,并在已公开的骑车人数据库[8]上进行对比试验以说明该方法可显著提升骑车人识别性能。
1 方法概述本文提出的骑车人识别方法可以分为两个部分:骑车人目标候选区域选择方法及基于深度卷积神经网络模型的骑车人识别方法。骑车人目标候选区域选择方法由骑车人共有显著性区域检测、基于冗余策略的候选区域生成及基于车载视觉几何约束的候选区域选择3部分组成。该方法的系统架构示意图如图 1所示:1) 定义不同视角下骑车人的共有特性,基于聚合通道特征(aggregated channel feature, ACF)设计骑车人共有显著性区域检测方法,用来检测可能存在骑车人的位置;2) 在检测到的显著性区域周围,根据信息冗余策略生成可能覆盖骑车人的目标候选区域;3) 根据车载视觉的几何约束进一步筛选可能的候选区域;4) 将生成的目标候选区域作为深度卷积神经网络的输入,得到候选区域的分类及定位结果,实现骑车人目标的准确识别。
2 骑车人目标候选区域选择 2.1 骑车人共有显著性区域检测
一般情况下,不同视角下观察到的骑车人均具有类似的上半身,且大多数情况下骑车人的上半身并不会受到很严重的遮挡。因此,可以将不同视角下的骑车人上半身作为骑车人共有的显著性区域。若是能够检测出骑车人的上半身位置,则可以推断该区域周围存在骑车人。
本文定义骑车人的共有显著性区域为包含头部和部分躯干的正方形,并假设该正方形的边长约为人身高的一半。如图 2所示,虚线框和实线框分别表示骑车人目标和人的上半身。图 2a表明当人的高宽比小于2时,上半身的边长小于人的宽度;图 2b表明当人的高宽比较大于2时,上半身的边长大于人的宽度。
为了快速有效地检测骑车人的共有显著性区域,本文选用基于聚合通道特征的目标检测方法,具体使用的是检测效果较好的局部去相关通道特征(locally decorrelated channel feature, LDCF)方法[9]。给定输入图像,LDCF方法可计算多个通道特征图并消除每个特征图上的局部相关性。本文使用了和文[9]中相同的通道特征:1个归一化梯度幅度通道、6个梯度方向直方图通道及3个LUV颜色通道。同时,使用4次循环的RealBoost方法进行迭代训练决策树,最后得到4 096个深度为5的决策树。为了适应上半身模型,所有的上半身样本被缩放到20像素×20像素的尺寸,并保留部分周边信息,最后输入的样本大小为32像素×32像素。上半身检测器使用作者在文[8]中建立的骑车人数据库训练集训练得到。在中等难度测试集中,当匹配重叠率阈值为0.5时,本文提出的骑车人共有显著性区域检测方法可以得到92.51%的召回率。
2.2 基于冗余策略的候选区域生成本节介绍一种基于冗余策略的骑车人候选区域生成方法,该方法是在骑车人的显著性区域周围生成多个目标候选区域,以达到尽可能覆盖每个目标真实位置的目的。设计多个目标候选区域的过程就是选择从检测的显著性区域映射到目标候选区域的对应关系。图 3展示了一个检测的显著性区域、相应目标的真实位置及多个目标候选区域之间的关系。其中:深色实线和深色虚线矩形框分别表示检测的显著性区域和真实目标位置,5个浅色矩形框代表了5个目标候选区域。
检测的显著性区域与真实目标位置的关系为
$ \left\{ \begin{matrix} x_{\text{g}}^{\text{c}}=x_{\text{u}}^{\text{c}}+{{k}_{x}}{{w}_{\text{u}}}, \\ {{y}_{\text{g}}}={{y}_{\text{u}}}+{{k}_{y}}{{h}_{\text{u}}}, \\ {{w}_{\text{g}}}={{k}_{w}}{{w}_{\text{u}}}, \ \ \ \ \ \\ {{h}_{\text{g}}}={{k}_{h}}{{h}_{\text{u}}}.\ \ \ \ \ \ \\ \end{matrix} \right.~ $ | (1) |
式中:xgc=xg+wg/2,xuc=xu+wu/2。因此,
$ \left\{ \begin{matrix} {{x}_{\text{g}}}={{x}_{\text{u}}}+\left( {{k}_{x}}-{{k}_{w}}/2+1/2 \right){{w}_{\text{u}}}, \\ {{y}_{\text{g}}}={{y}_{\text{u}}}+{{k}_{y}}{{h}_{\text{u}}}, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ {{w}_{\text{g}}}={{k}_{w}}{{w}_{\text{u}}}, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ {{h}_{\text{g}}}={{k}_{h}}{{h}_{\text{u}}}.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \end{matrix} \right. $ | (2) |
其中:kx, ky, kw, kh表示由检测的显著性区域到真实目标的映射系数,共同组成系数向量k*;(xu, yu)表示显著性区域左上角的x和y坐标,wu和hu是其宽度和高度;(xg, yg)表示真实目标位置左上角的x和y坐标,wg和hg是其宽度和高度;xuc和xgc分别表示显著性区域和真实目标位置中心点的横坐标。
选定一组映射系数K(k*1, …, k*m, …, k*M),可通过一个检测的显著性区域映射出M个候选区域。其中,第m个候选区域可表示为
$ \left\{ \begin{matrix} x_{\text{r}}^{m}={{x}_{\text{u}}}+\left( k_{x}^{m}-k_{w}^{m}/2+1/2 \right){{w}_{\text{u}}}, \\ y_{\text{r}}^{m}={{y}_{\text{u}}}+k_{y}^{m}{{h}_{\text{u}}}, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ w_{\text{r}}^{m}=k_{w}^{m}{{w}_{\text{u}}}, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ h_{\text{r}}^{m}=k_{h}^{m}{{h}_{\text{u}}}.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \end{matrix} \right. $ | (3) |
映射系数K可通过对k*的联合概率密度函数进行重要性采样求得。然而,这样并不能保证参数的多样性,因为大部分参数会集中在概率密度函数高的部分。为了更加优化地选择映射参数,本文使用遗传算法[10]来解决该问题。
将一组映射系数K(k*1, …, k*m, …, k*M)作为一个个体,M表示一个显著性区域对应候选区域的个数,本文设定M=40。故每个个体的变量个数为4×M。遗传算法优化的目标就是找出最好的个体,使得个体的参数能够将每个检测的显著性区域映射到最优的位置。因此,本文使用候选区域Rm和真实目标区域G的重合率作为适应度函数,
$ {\rm{fitness}} = \sum\limits_{i = 1}^I {\mathop {\max }\limits_{m \in \left[{1, M} \right]} } \left( {{\rm{overlap}}\left( {R_m^i, {G^i}} \right)} \right). $ | (4) |
其中:overlap()是计算重叠率的函数,I是所有匹配成功的检测显著性区域和真实目标对。这里仅考虑重叠率在50%以上的检测显著性区域和真实目标对。本文使用轮盘赌选择的方法来选择个体,种群的大小为100,交叉概率为0.8,变异概率为0.2,迭代次数为1 000次。通过优化的映射系数得到的目标候选区域在中等难度的测试集中可以达到97.24%的召回率(使用最多100个上半身目标,匹配重叠率阈值为0.5),直观地验证了本文所提出的基于冗余策略的候选区域选择方法的有效性。
2.3 基于几何约束的候选区域选择因为常见的骑车人目标仅会出现在道路上,所以可根据假设的道路平面和骑车人高度范围等来限制目标候选区域的位置及大小。根据图 4所示的图像高度方向上的图像坐标系与世界坐标系之间的映射关系,目标PQ与地面交点P在图像中对应的点p之间的对应关系为
$ \frac{H}{D} = \tan \left( {\arctan \left( {\frac{{{\upsilon _p}-{\upsilon _o}}}{{{f_y}}}} \right) + \theta } \right). $ | (5) |
其中:H为相机安装高度,D为目标距离相机的纵向距离,θ为相机俯仰角,fy和vo为相机高度方向的焦距和图像中心,vp为P点在图像上映射点的高度方向坐标。
当θ较小时,可近似得到
$ \frac{{{f_y}}}{D} \approx \frac{{{\upsilon _p}-{\upsilon _q}}}{h}. $ | (6) |
其中:h为目标PQ的高度, vq为Q点在图像上映射点的高度方向坐标。结合式(5) 和(6) 可得目标高度为
$ h \approx \frac{{H\left( {{\upsilon _p}-{\upsilon _q}} \right)}}{{{f_y}\tan \left( {\arctan \left( {\left( {{\upsilon _p}-{\upsilon _o}} \right)/{f_y}} \right) + \theta } \right)}}. $ | (7) |
由于相机的俯仰角会随着车辆的运动而变化,式(7) 中的θ并不固定。但正常行驶过程中,可假设车辆俯仰角的变化幅度在-2.5°~2.5°范围内。本文使用的相机初始俯仰角约为2.5°,故θ的变化范围为设定为0°~5°。
假设允许的骑车人高度变化范围为1.2~2.2 m。给定2.2节输出的某一候选区域,由式(7) 计算得到目标的高度范围h。若h与允许的高度范围(1.2~2.2 m)的交集为空,则可判定该候选区域没有骑车人目标,进而排除该候选区域。根据所述高度约束条件,可实现骑车人目标候选区域的有效筛选。
3 基于深度网络模型的骑车人识别最近几年,深度学习的快速发展推动了图像及语音识别等领域的技术进步。在图像识别领域,R-CNN[11]及改进版的Fast R-CNN[12]是其中的代表性方法。本文基于Fast R-CNN目标识别框架,使用骑车人数据库训练深度网络模型实现骑车人目标的有效识别。
和传统的R-CNN方法不同,Fast R-CNN训练了一个综合多任务功能的统一网络模型:网络的输入是整幅图像和目标候选区域集合,经过多层卷积层及池化层后得到对应的固定长度的特征向量,再经过全连接层及各自的输出层处理得到对应的目标分类结果及包围框优化结果。在原始的FastR-CNN中,目标的候选区域是通过Selective Search[13]方法得到的。为了更好地适应骑车人目标的特性,本文使用2.2节介绍的骑车人目标候选区域选择方法代替Selective Search方法,进而结合Fast R-CNN框架训练适用于骑车人目标识别任务的深度网络模型。其中,Fast R-CNN使用原始图像输入尺寸(2 048像素×1 024像素)的ZFNet网络,包含5层卷积层和2层全连接层,输出层为目标分类结果及包围框优化结果。
4 试验结果分析为验证本文提出的骑车人识别方法的性能,使用公开的骑车人数据库[8]训练并测试该方法。该数据库基于车载相机在北京城市交通环境下采集了包含大量易受伤害道路使用者的图像。针对骑车人目标,该数据库包含近15 000张标记图像,超过22 000个标记的骑车人目标。选择其中2 914张图像作为测试集,其他作为训练集或验证集。根据骑车人目标的高度和遮挡程度不同,将数据库分为简单、中等和困难3类。算法评价方法使用召回率-精度曲线(recall-precision curve)及平均精度(average precision, AP)来表示。详细数据库及评价方法信息请参见文[8]。
为对比本文提出的骑车人目标候选区域选择及骑车人识别方法,本文选择了stereo proposal (SP)[8]、edge boxes (EB)[14]和selective search (SS)[13]3种候选区域选择方法及其对应的基于Fast R-CNN框架的骑车人识别方法。详细对比方法介绍及参数配置可参见文[8]。
4.1 不同候选区域选择方法的结果分析为直观地对比不同候选区域选择方法,本文计算了不同重叠率阈值下各方法的召回率,如图 5所示。这里的“重叠率”指的是某候选区域与真实目标区域的交集与并集的比例,若重叠率大于设定的重叠率阈值,则认为该目标被检测到,反之则认为该目标未被检测到;“召回率”指的是被检测到的真实目标个数与真实目标总数的比值。UB代表本文提出的方法,SP、EB和SS分别代表选定的3种对比方法;每个方法名称后的括号里的数值表示平均每张图像选择的候选区域个数。
由图 5可以看出,在3种不同难度等级的测试数据集下,本文方法的召回率都显著高于其他3种对比方法。在对比方法中,本文考虑了选择近似的候选区域个数(如1 773或2 000),也考虑了选择更多的候选区域个数(如4 000)。本文方法优于3种对比方法是由于本文提出的候选区域选择方法可以针对骑车人可能出现的区域进行重复采样,大大提升了候选区域匹配成功的可能性及定位精度;并且,基于几何约束的候选区域筛选方法可进一步减少多余的候选区域,可以实现真实目标召回率与候选区域数量的平衡。
4.2 不同骑车人识别方法的结果分析将本文提出的候选区域选择方法结合Fast R-CNN目标识别方法,可实现骑车人目标的识别功能。图 6所示为不同难度等级测试数据集下不同骑车人识别方法的召回率-精度曲线。其中,“精度”表示识别为正样本中真实目标的个数与识别为正样本的总个数之比;“平均精度”指的是召回率在{0, 0.1, 0.2, …, 0.9, 1}时识别方法所得精度的平均值,本文方法与3种对比方法的平均精度如表 1所示。
识别方法 | 平均精度 | ||
简单 | 中等 | 困难 | |
UB-FRCN | 0.902 | 0.902 | 0.902 |
SP-FRCN | 0.886 | 0.886 | 0.886 |
EB-FRCN | 0.842 | 0.842 | 0.842 |
SS-FRCN | 0.784 | 0.784 | 0.784 |
由图 6和表 1可以看出,在3种不同难度等级的测试数据集下,本文提出的方法(UB-FRCN)的识别效果都优于其他3种对比方法,且随着测试集难度的加大,优势越来越明显。在简单、中等和困难3种等级下,本文方法的平均精度分别比SP-FRCN高1.6%、3.1%和4.5%。
5 结论本文围绕不同视角下的骑车人具有的共有显著性区域,设计了基于冗余策略的候选区域生成方法,进而基于车载视觉的几何约束实现了候选区域的有效筛选,再结合基于Fast R-CNN框架设计深度网络模型,实现了骑车人目标的准确识别。该方法使用统一的检测模型实现了多视角骑车人目标的联合检测,相对于常用的多模型独立检测,简化了目标识别过程。在公开的骑车人数据库上的试验对比分析表明,本文提出的骑车人目标候选区域选择方法及其对应的骑车人识别方法都显著优于几种常用的对比方法,这进一步验证了本文所提方法的有效性。
[1] | Toroyan T. WHO Global Status Report on Road Safety 2015 [R]. Geneva: World Health Organization, 2015. |
[2] | Geronimo D, Lopez A M, Sappa A D, et al. Survey of pedestrian detection for advanced driver assistance systems[J]. IEEE Trans on PAMI, 2010, 32(7): 1239–1258. DOI:10.1109/TPAMI.2009.122 |
[3] | LI Tong, CAO Xianbin, XU Yanwu. An effective crossing cyclist detection on a moving vehicle [C]//Proc 8th Intelligent Control and Automation. Jinan, 2010: 368-372. |
[4] | 岳昊, 邵春福, 赵熠. 基于BP神经网络的行人和自行车交通识别方法[J]. 北京交通大学学报, 2008, 32(3): 46–49. YUE Hao, SHAO Chunfu, ZHAO Yi. A study on pedestrian and cyclist recognition based on BP neural network[J]. Journal of Beijing Jiaotong University, 2008, 32(3): 46–49. (in Chinese) |
[5] | Cho H, Rybski P E, ZHANG Wende. Vision-based bicyclist detection and tracking for intelligent vehicles [C]//Proc IEEE Ⅳ. San Diego, 2010: 454-461. |
[6] | YANG Kai, LIU Chao, ZHENG Jiangyu, et al. Bicyclist detection in large scale naturalistic driving video [C]//Proc IEEE ITSC. Tsingtao, 2014: 1638-1643. |
[7] | TIAN Wei, Lauer M. Fast cyclist detection by cascaded detector and geometric constraint [C]//Proc IEEE ITSC. Canary Islands, 2015: 1286-1291. |
[8] | LI Xiaofei, Flohr F, YANG Yue, et al. A new benchmark for vision-based cyclist detection [C]//Proc IEEE Ⅳ. Gothenburg, 2016: 1028-1033. |
[9] | Nam W, Dollár P, Han J H. Local decorrelation for improved pedestrian detection [C]//Proc NIPS. Montreal, 2014: 424-432. |
[10] | Duda R O, Hart P E, Stork D G. Pattern Classification[M]. New York: John Wiley & Sons, 2012. |
[11] | Girshick R, Donahue J, Darrell T, et al. Region-based convolutional networks for accurate object detection and segmentation[J]. IEEE Trans on PAMI, 2016, 38(1): 142–158. DOI:10.1109/TPAMI.2015.2437384 |
[12] | Girshick R. Fast R-CNN [C]//Proc IEEE ICCV. Santiago, 2015: 1440-1448. |
[13] | Uijlings J, Sande K, Gevers T, et al. Selective search for object recognition[J]. Int J Comput Vis, 2010, 104(2): 154–171. |
[14] | Dollár P, Zitnick C L. Fast edge detection using structured forests[J]. IEEE Trans on PAMI, 2015, 37(8): 1558–1570. DOI:10.1109/TPAMI.2014.2377715 |