任朝东,张得礼
(南京航空航天大学机电学院,江苏 南京 210000)
随着社会的快速发展,新能源汽车逐渐进入人们的生活,电动汽车是应用最为广泛的一种。在电动汽车的实际使用中,如何安全高效地为电动汽车充电问题一直困扰着人们。人工操作的电动汽车充电过程存在线路不安全、作业效率低下等问题,因此,一些由机器人代替人工完成充电作业的自动化解决方案应运而生。在这些解决方案中,通常使用视觉或者激光雷达等手段[1]引导机器人实现充电枪的抓取以及与充电插口的插拔对接,所以对于一个机器人自动化充电系统,充电口的检测和识别是其中最重要的部分之一,具有较高的研究价值和意义。
目前的充电口检测算法主要利用充电口自身颜色、形状方面的特性,使用传统手工特征结合机器学习的方式进行检测和识别,而使用基于深度学习的方法进行充电口检测的相关研究较少。
随着硬件算力的提升,基于深度学习的目标检测算法快速发展,相比于传统手工特征,卷积神经网络可以提取目标的高层级语义特征,在自然场景下具有更高的鲁棒性和准确率。
因此,本文提出一种基于Faster-RCNN的充电口检测算法,在自建的充电口数据集上进行训练和测试;设计一种结合显著图像的RPN网络和适用于充电口检测的多尺度MB-LBP特征与Faster-RCNN框架相结合,以获得更高的候选区域召回率和检测准确率。
目前,应用在充电口的检测和识别方法以传统方法为主。纪柱[2]提出了一种基于Hu矩不变特征和LBP纹理特征的充电口检测算法,使用轮廓查找确定候选区域,然后基于联合特征对区域进行识别,在自建的数据集上识别率达到了93%,但该算法没有考虑背景影响,复杂场景下的算法性能没有体现,泛化性能弱。项博良等[3]提出了一种基于椭圆拟合的充电口检测算法,基于特定策略的弧段搜索与最小二乘椭圆拟合检测充电口,其弧段搜索策略在复杂背景下是否有效仍有待商榷。Walzel等[4]提出了一种基于形状匹配的识别方法,基于模版匹配一类的算法当视角改变时,算法准确率会大大降低。张辉等[5]提出了一种基于HSI颜色模型的充电口检测算法,但是基于固定阈值的分割方法不能很好地解决场景环境光照变化问题。段峥祺[6]提出了一种基于Hough圆变换的检测方法,使用一些自适应策略去保证轮廓提取的鲁棒性。
综合上述分析,可以看出,传统方法的主要问题在于自然场景下的鲁棒性和准确率不够高,很难对复杂场景提取出适用性好的特征[7]。所以,本文引入Faster-RCNN用于电动汽车充电口检测,由于充电口检测目前没有公开数据集,所以根据需求自建数据样本。为了提升模型在自建数据集上训练的性能,增加显著化增强的图像作为RPN网络的输入,本文设计了一种多尺度MB-LBP特征联合神经网络分类进充电口行识别以保证算法的识别准确率。
本文设计的用于充电口检测的算法框架如图1所示。
图1 算法流程图
算法模型主要由图像特征提取模块、候选区域预测模块、候选区域分类模块3个部分组成。特征提取模块主要由特征提取网络(如VGG-16)和显著化处理构成,为了让2个部分提取的特征图尺寸一致,在显著化处理的图像后增加一个卷积层进行特征提取,联合特征提取网络抽取的特征送入RPN网络进行候选区域预测;候选区域预测模块主要由改进的RPN网络和ROI池化层构成,由于改变了RPN网络的输入,所以根据检测目标自身的颜色形状特性,重新设计了RPN网络的anchor尺寸。RPN网络预测的区域经过ROI池化送入识别模块进行分类预测;候选区域分类模块由2个部分组成,如图2所示,由多尺度MB-LBP特征结合SVM分类器的预测模块以及参照Faster-RCNN的全连接分类预测模块组成,等同于由2个级联的分类器对候选区域做最后综合判定以及回归框精修。
图2 分类预测模块
Faster-RCNN中RPN网络的输入一般通过迁移学习直接用训练好的模型(如VGG-16)进行特征提取,所以,RPN网络的输出缺少约束,预测窗口会遍布图像,背景错误率很高[8],当应用于充电口检测时,过多无用的候选区域会影响检测速度。因此本文提出一种改进的RPN网络,增加显著化处理的图像作为RPN网络的输入,用已经在颜色形状等低级特征方面增强过的特征图,使得RPN网络更关注图像存在充电口的区域,提升RPN网络候选区域预测质量。
为了将图像中包含充电口的区域显著化,需要对图像预处理,在各颜色通道做强度值变换。电动汽车充电口一般为黑色塑料质地,颜色信息不丰富,根据生物体的注意力机制,在图像中一般不如其他颜色信息丰富的区域或者物体明显,因此,需要通过图像预处理,提升图像黑色区域的强度而抑制其他颜色丰富的区域,保证含充电口区域能够被显著化。
如图3所示,充电插口整体呈现黑色,RGB三色通道分量的数值都不高,且各通道数值相近,一般都会处于图像中低灰度值区域。而自然场景下采集的图像(非天空区域)RGB通道分量中至少有一个颜色通道强度值很低[9]。因此考虑利用RGB通道分量之间的差异度和强度值对各通道进行处理,处理后各通道计算公式如下:
图3 充电插座图像
C(x,y)=(1-N(C(x,y))×255×K
(1)
(2)
N(x)=(x-xmin)/(xmax-xmin)
(3)
式(1)对每个像素进行全局归一化后,乘上变换系数K,变换系数K与像素RGB各通道分量的最大值最小值有关,差异度越大,系数越小,差异度越小,系数越大。经过处理后的图像中黑色区域的强度值被显著增强,而颜色丰富区域被有效抑制。
图像经过预处理后,被增强的区域不仅包括充电口,还可能包括背景、阴影等同样是深黑色的区域,这些非目标部分可以通过在原图上进行显著化处理予以抑制,本文使用Itti[10]提出的快速显著图模型模拟生物体视觉注意机制,对每个像素点在颜色、亮度等方面与周围背景作比较,结合预处理得到的图像确定那些真正可能包含充电口的区域。至此,如图4所示,包含充电口的目标区域被显著化。
图4 显著化图像
沿用Faster-RCNN[11]的思路,本文仍使用RPN网络进行候选区域提取,但是增加了显著图像作为网络的输入,因此需要对网络的结构做出调整。调整后的RPN网络结构如图5所示。
图5 结合显著图的RPN网络
输入的显著特征图像为归一化的特征图集在图像金字塔的第4层合并,与原图像的尺度比为1∶16,特征图像的每个像素可以映射回原图像一块大小为16×16的区域。显著化特征图像已经将颜色、轮廓等重要的低级特征显著化,更有利于网络的定位,但是低级特征的语义信息较弱,高级特征的语义信息更加丰富,对于目标的识别贡献度更高[12]。为了能够较好地检测目标,在特征图像后面增加了一层卷积层用于更高级的特征提取,卷积核的大小为8×8,步长为3。由于RPN网络的输入,结构有所改变,特征图所对应的感受野[13]发生了变化,根据被检测目标的几何形状特性,在原图映射的anchor尺寸和数量都需要作出调整。充电插口的形状较为方正,所以设置特征图每个点对应的anchor覆盖面积分别为{224,448}×{224,448},长宽比仍设置为{1∶1,1∶2,2∶1}。即每一个特征点对应生成6组anchor用于网络的定位预测。对于候选区域回归损失仍使用smooth_l1损失函数,该损失函数的平滑性可以有效防止梯度爆炸[14]。
直接使用Faster-RCNN模型对充电口进行检测,由于充电口自身颜色形状的特性,容易与图像中其他深黑色区域(如阴影、深色背景)混淆,如图6所示,错误地将背景中的黑色区域以及另一个黑色物体识别为充电口。而卷积神经网络模型具有可解释性差的特点,难以理解计算机所学习的特征,一般通过增加网络层数或者扩充数据集来解决这个问题。但是网络层数的增加容易造成过拟合,训练集的扩充也会增加成本,因此考虑结合可解释性良好的传统手工特征进行识别。
图6 Faster-RCNN预测图像
LBP纹理特征是一种常用于目标检测和识别的二值特征。文献[2]已证明LBP特征可以用于充电口的检测。LBP特征的提取方式是对于图像的每一个像素点,与其周围的点进行比较,根据比较结果确定该点的LBP特征值。在传统LBP特征的基础上,又有学者提出了对LBP特征各种改进,例如圆形LBP特征[15]、MB-LBP特征[16]和LBP特征的等价模式[17]等。使用圆形LBP特征、MB-LBP特征、等价模式LBP特征对含充电口图像进行特征提取结果如图7所示。
图7 各种局部二值特征提取效果图
可以看出,MB-LBP特征对充电口纹理的提取效果最精细,对图像的特征提取效果最好。因此,本文选择MB-LBP特征用于充电口识别。MB-LBP特征将像素点的灰度值比较转化为区域均值间的灰度值比较,以获得比传统的LBP特征更好的抗干扰能力[18]和更高的识别精度,但是其识别效果很依赖于子窗口的大小选择[19],过大或者过小的子窗口都会造成识别精度的下降[20]。将数据集中含充电口图像按尺度大、中、小进行划分,使用不同子窗口大小的MB-LBP特征进行充电口识别准确率如表1所示。
表1 各尺度MB-LBP特征识别率 单位:%
从表1可以看出,MB-LBP特征子识别率与窗口尺寸和检测目标尺度相关,随着子窗口尺寸的增大,对大尺度的充电口目标检测效果越好。因此,本文提出一种应用于充电口的检测和识别的多尺度MB-LBP特征,特征提取步骤如下:
1)沿用MB-LBP特征的研究思路,如图8所示,将图像划分为m×n个子区域和3×3块区域[21],但是对图像子区域的划分不采用单一子窗口尺寸,在传统使用3×3的子窗口进行均值划分的基础上,增加3×6、6×3、6×6子窗口均值划分,在各个块区域中计算各个子窗口划分下的MB-LBP特征,可以得到一组维度为4×9×256特征向量。
图8 改进的LBP特征计算流程
2)考虑到使用不同尺度子窗口进行的特征采集,将图像分割的区域数量会存在较大差异[22],因此对不同尺度子窗口提取的特征进行归一化[23]处理,将特征向量归一化到其生成区域数量,归一化计算公式为:
N(L)=N(L(3,3))+N(L(3,6))+N(L(6,3))+N(L(6,6))
(4)
(5)
(6)
其中,L表示归一化后的融合特征,而Lδ表示在δ尺度子窗口下提取的MB-LBP特征,H、W分别表示原图的长度和宽度,δh、δw表示δ尺度子窗口的长度和宽度。
3)使用主成分分析(PCA)[24]的方法对上述提取的LBP特征进行特征降维,将特征维数降至400维,以避免因为特征向量的过度冗余而造成检测识别精度下降[25]。
4)将降维后的特征向量送入支持向量机(SVM)[26]分类器进行训练和测试,考虑到训练集数据量大小与特征维数关系,本文使用线性核支持向量机。
本文在实验室环境内使用国标直流快充充电插座进行图像采集,建立充电口识别数据集。共采集充电口图像900幅,图像分辨率为864×648,随机抽取600幅图片用于模型训练,剩余300幅用于测试候选区域生成质量及识别准确率,典型图像如图9所示。网络采用随机梯度下降进行训练,学习率设置为0.02,设置迭代次数为50次。
图9 数据集图片样例
为了验证本文改进的RPN网络的有效性和准确性,与Faster R-CNN中基于VGG-16为特征提取的网络进行比较,在交并比IOU分别为0.6、0.7、0.8、0.9条件下的召回率如图10所示。
图10 不同交并比IOU下本文改进RPN网络与基于VGG-16特征提取网络召回率
在不同交并比下,本文改进的RPN网络对比Faster R-CNN中基于VGG-16特征网络,在交并比IOU为0.6~0.8之间时,召回率高于VGG-16,但当IOU>0.8时,召回率的下降速度高于VGG-16。这是因为本文所改进的RPN网络其输入的是显著化的图像,会丢失图像中的一些细节信息,但对目标的整体特征有更好的描述,所以当交并比设置在0.7~0.8之间时,本文改进的RPN网络能够很好地利用特征图中的信息进行候选区域的生成和建议。
传统的目标检测方法中常用的特征有HOG特征、LBP特征、Haar特征等,或者是上述特征的组合例如LBP+HOG特征,为了验证本文所改进的特征与LBP特征的有效性,与传统特征在自建的数据集上结合SVM分类器进行识别率和算法速度方面的比较,如表2所示。
表2 本文改进LBP特征与其他常用的目标检测特征结合SVM分类器实验结果
本文所改进的LBP特征在提取速度上会略慢于传统LBP特征和MB-LBP特征,这是因为涉及多个尺度下的特征计算与合并,但是精度相比于传统特征有了较大提升,与基于HOG+LBP的组合特征相比,识别率提升了8个百分点,识别耗时减少了约60 ms。
为了验证本文算法检测效果,使用本文算法和Faster-RCNN对测试集上不同尺度大小的充电口的检测结果如图11和图12所示。
图11 不同尺度的充电插口本文算法检测效果
图12 不同尺度的充电插口Faster-RCNN检测效果
对测试集上不同光线条件下的充电口检测效果如图13和图14所示。
图13 不同光线条件下本文算法的充电插口检测效果
图14 不同光线条件Faster-RCNN的充电插口检测效果
从实验结果来看,在自然光条件下或者明亮的场景中,原Faster-RCNN算法和本文算法对不同尺度的充电口检测效果都比较好。但Faster-RCNN可能是由于训练集中缺少对应的反例,错误地将背景中一些比较相似的目标识别为充电口。而本文算法由于级联了纹理特征对目标区域进行分类,能够较好地区分这些非充电口目标,在自然场景下的检测效果有了比较明显的提升。在光照不足的场景中,如图13和图14中的最后一幅图像所示,当背景相对复杂时,由于图像能够提供的信息很少,不论是对目标区域的回归精度还是识别分类的准确性,2种算法都有所下降,但本文算法仍能保持不错的检测效果。其他检测错误或没有检测到充电口的例子如图15所示。产生这种现象的原因有2点:1)在过于模糊和昏暗的场景下或是光线直接照射的情况下,充电口区域会变得很模糊或者泛白反光,造成部分纹理信息丢失,而对于弱纹理物体,LBP特征的识别准确率低;2)当图像整体强度值很低并且图像上充电口区域比较小时,即使对图像进行了预处理,也很难将充电口区域进行显著化,所以区域预测网络对这些区域没有响应,导致后面区域回归的不准确和分类错误。
图15 漏检和错检图像实例
为了评估本文提出的算法精度,在自建数据集上与基于VGG-16、ResNet特征提取网络的Faster-RCNN进行比较,结果如表3所示。
表3 算法精度比较
从实验结果可以看出,本文算法比原Faster-RCNN(基于VGG-16)模型在充电口检测精度提升了约2个百分点,提升点在于将一些容易混淆的区域进行了正确的识别。实验结果表明本文所提出的算法能够有效完成充电口检测任务。
实验结果表明,本文算法可以在自然场景下完成充电口检测任务,保证机器人充电自动化作业的稳定性和精准性。
但是本文并未考虑到不同型号充电口之间的差异,对于不同型号充电口本文算法是否具有通用性还有待研究;在更复杂场景中,例如遮挡、划痕、强电噪声等场景也没有深入探讨。为了在真正意义上实现自动化充电作业,实现智能化,后续工作可以从上述方向进一步开展。