于明 李雪薇
摘 要 基于双目视觉理论提出一种适用于不同光强、背景和任意形状充电插孔的高精度充电孔识别与定位方法。采用SIFT特征提取算法生成高斯差分金字塔进行尺度空间构建,应用机器学习最近邻搜索特征匹配算法获取匹配点映射集合,并配合半全局匹配方法进行视差计算得到高精度充电孔匹配和定位结果。通过试验验证了所提算法的有效性,得到了较为理想的匹配与测距结果。
关键词 充电孔识别和定位 SIFT特征提取 最近邻搜索特征匹配 半全局匹配方法 视差计算
中图分类号 TP274 文献标识码 A 文章编号 1000?3932(2023)03?0316?07
基金项目:北京市电动汽车充换电工程技术研究中心开放基金资助项目(2021110038000442)。
作者简介:于明(1987-),讲师,从事智能电网控制、智能检测的研究,yuming@bjfu.edu.cn。
引用本文:于明,李雪薇.基于SIFT算法的电动车充电孔双目视觉识别技术[J].化工自动化及仪表,2023,50(3):316-322.
“双碳”背景下新能源汽车的蓬勃发展为电动汽车充电设施产业提供了新的契机。随着我国电动汽车保有量逐年增加,全国范围内电动汽车充电设施正逐渐趋于完善[1]。目前,充电站中电动汽车的充电端对接、充电时间控制等过程均需人工完成,存在大量由于操作不当导致的充电插口硬损伤问题。同时,鉴于充电桩长期暴露于室外,难免绝缘老化破损,人工操作存在触电安全隐患。随着智能化时代的到来,充电用户也必然更加关注服务的智能化与人性化体验[2~4]。因而,研究基于图像识别的通用化充电插口自动识别方案并以此为基础进行自动充电控制系统设计具有重要的应用价值。
近年来,国内外进行了大量自动充电相关研究。如特斯拉研究了蛇形高自由度充电机器设备,但局限于该机械结构活动范围,对车辆停靠位置要求较高,运动缓慢,仅适用于特斯拉车型。德国大众研发的E?Smart Connect系统利用传感器触发摄像头进行车辆及接口定位,系统控制库卡机器人进行充电。在国内,赵凌宇等研究了基于深度学习的电动汽车充电口分类识别及去模糊算法,提出了电动汽车充电口粗定位算法,但训练模型的数据集未考虑实际充电背景,识别快速性有待提高[5]。张辉等应用机器视觉进行充电孔的检测、定位,但没有得到三维空间的位姿,且仅适用于圆孔情况[6]。孙成研究了多扰动因素下电动汽车的充电孔识别和位姿检测方法,采用单目视觉识别,虽具有良好的经济性,但无法准确获取深度信息[7]。
高精度的識别和定位算法是实现电动汽车自动充电的重中之重,是保证充电装置对接的重要前提。笔者提出适用于不同光强、背景及任意形状充电插孔的高精度充电孔识别与定位方法。首先研究了SIFT特征提取算法,生成高斯差分金字塔,进行尺度空间构建,并采用FLANN匹配算法得到匹配点的高精度映射集合。其次在双目测距的过程中,使用SGBM算法进行视差计算,该算法可计算左、右摄像头图像的视差,从而更为准确地计算充电孔深度。为验证所提方法有效性,分别进行了图像识别与双目测距实验。
1 充电孔识别与定位总体流程
应用双目视觉原理进行充电孔的识别和定位首先需要建立双目相机模型。相机透视投影存在畸变问题,通过相机标定可求出相机的模型参数、畸变系数,用于图像校正。其次,基于该双目视觉系统进行电动汽车充电孔的识别及定位算法研究,包括采集图像的滤波预处理、图像分割、充电孔预存特征匹配、局部图形特征立体匹配。最后,重建充电孔的三维空间,即完成了充电孔的定位。充电孔图像识别与定位系统流程如图1所示。
作为充电孔识别定位的前提,相机标定的过程就是依据已有相机的模型,由特征点坐标经过计算与坐标变换求出相机的参数,进行三维重建。一般可采用“张氏标定”法,通过4组以上的点就可以求解出坐标变换矩阵的值,但是为了减少误差,具有更强的鲁棒性,一般会拍摄许多张照片,选取大量的角点进行标定[8]。
2 基于SIFT的图像特征提取和匹配
自动充电识别技术首先要解决目标区域内充电孔辨识问题。充电桩一般置于户外强电磁环境中,采集的图像易受噪声影响。因而,采用的充电孔图像辨识方法除在不同环境光线背景下具有较强的鲁棒性外,还应该具有良好的抗干扰性能。基于双目视觉的目标检测算法,是近年来最具前景的研究内容之一,其关键在于特征点的提取和特征匹配算法。尺度不变特征变换(Scale?invariant Feature Transform,SIFT)算法是一种基于空间尺度极值点的局部特征检测算法。由于该算法具有对旋转操作、缩放操作和亮度变化的不变性,对噪声等也具有较强的鲁棒性,且具有多量性和可扩展性,因而能够准确提取出图像中的角点特征[9]。经提取的图像特征再与预存的充电孔特征进行特征点匹配,以完成充电孔的识别功能。图2为充电孔特征提取与匹配示意图。
SIFT算法进行特征点提取,需要经过尺度空间构造、空间极值点求取、稳定关键点定位、稳定关键点方向信息分配、关键点描述等步骤。
2.1 尺度空间构造
对检测到的图像进行空间尺度坐标变换,获得图像的尺度空间序列,提取该尺度空间序列的空间主轮廓,将其标示为特征向量,完成边缘、角点不同分辨率上的关键点提取。构建尺度空间具有尺度变化保持不变性,通过高斯函数对图像进行模糊及降采样处理实现[10~12]。为使计算相对高效,由高斯差分函数计算得到高斯差分尺度空间,生成高斯差分金字塔:
2.2 空间极值点求取
为寻找高斯函数极值点,任一像素点均需与它图像域和尺度空间域内的相邻点作比较。图像二维空间内,任一像素点与相邻的8个像素点进行比较,同组的尺度空间内,中心像素点分别同相邻层图像的18个像素点进行比较。如此,可获取尺度空间和图像二维空间的双重局部极值点[13]。
2.3 稳定关键点定位
噪声和边缘易引起高斯值的突变,因而2.2节得到的局部极值点还需进一步进行确认和筛选,去除不稳定和误检的极值点。此外,在构造高斯差分尺度空间时使用了下采样图像,需要确定在该图像中获取的极值点与原始图像对应的准确位置。
2.4 稳定关键点方向信息分配
基于不同尺度空间进行稳定极值点提取使尺度不变特性得到了保障。而关键点方向信息的分配,即极值点梯度求解则保证了关键点對图像的角度不变性和旋转不变性。定义L(x,y)为原图像空间函数,则任一关键点梯度幅值如下:
梯度方向如下:
关键点的方向通过梯度方向直方图求取:首先计算关键点邻域内所有像素点的梯度方向,以10°为一个单位方向进行划归。其次计算落入每个方位模块内的关键点数量,并以梯度方向直方图形式表示。最后将直方图内纵向坐标最大值表示的方向赋给关键点成为其主方向,关键点数相当于峰值80%的方向为关键点的辅方向[14~16]。辅方向的应用可以提高算法的鲁棒性,有助于稳定特征匹配。
2.5 关键点描述
关键点描述即以数学语言表示关键点,是实现图像特征点匹配的关键步骤,描述关键点及周围对其有贡献的邻域像素点。首先对待求解像素区域进行分块处理,计算相应模块的梯度直方图,生成方向向量,以抽象化的形式进行图像信息表达。如图3所示,对每块像素点的梯度值进行高斯加权,得到8个方位,即可产生32维度的向量,以此向量作为关键点的数学表述。实验表明,对每个关键点,采用128维向量描述子来表征关键点效果最好。
2.6 特征值匹配
采用上述方法提取图片特征后需要与充电孔预存特征点集进行特征匹配,以完成充电孔的识别。快速最近邻搜索包(Fast Library for Approximate Nearest Neighbors,FLANN)是一个对大数据集合高维特征进行最近邻搜索算法的集合,优化了大型数据集中的最近邻搜索算法和高维特征。FLANN匹配算法记录下目标图像与待匹配图像的特征点,并根据特征点集合构造特征量,对该特征量进行比较、筛选,最终得到匹配点的映射集合。使用FLANN匹配算法时需要选择合适的最近邻搜索算法(如随机k?d树算法、优先搜索k?means树算法及层次聚类树等)和递归遍历次数。遍历次数越多结果越准确,但是相应的搜索时间也越长,因而需要进行参数的合理优化与选择[17]。
3 双目测距算法
双目视觉定位根据视差理论,以照像机平面和待识别物体间的几何图形关系为基础,通过“特征匹配”和“三角法原理”获取物体的三维位置信息。为了压减计算负荷并适当缓和匹配难度,需要将双目相机采集的图像在极线方向上进行校准,使其成为理想双目视觉系统。通过立体多维匹配技术,确定左右图像中点的对照关系,从而得到视差,再依照投影模型获取待辨识图像的深度和三维信息。立体匹配因受到失真、噪声、镜面反射及投影缩减等因素的影响,成为立体视觉技术中关键但也较为困难的问题。
立体匹配方法通常由匹配代价的计算、代价的聚合、视差的获取及视差的细化4个过程组成。匹配代价的求取是整个立体匹配算法的基础,即在不同视差下的灰度相似性检测。常见检测指标有灰度差的平方、绝对值等。相应地,不同的匹配代价则对应不同的代价聚合算法。匹配代价相加后,局部算法视差计算中选取一定范围内匹配代价之和最小点为匹配点,而全局算法则直接针对原始匹配代价计算,求取评价函数能量的最小值。此外,在一些精度要求较高的场合,还需要进行视差的细化处理,如图像滤波、分割及匹配代价曲线拟合等。
SGM是一种半全局匹配算法,在OpenCV中以模块化表示为Semi?Global Block Matching,即SGBM。算法通过选取像素点的差异构成差异图,设置和差异图相关的全局代价函数,并使其最小化,以求解任一像素最优差异[18]。SGBM立体匹配的效果较局部算法更优,但与此同时也更为复杂。算法具体流程如下:
a. 预处理。采用水平Sobel算子进行图像处理,将图像像素点映射成新图像。
b. 代价计算。预处理图像基于采样方法得到梯度代价,原图像基于采样方法得到SAD代价,并与梯度代价叠加。
c. 动态规划。建立全局马尔科夫能量方程,叠加全路径信息计算像素匹配代价;多方向匹配代价相加获取总匹配代价。
d. 后处理。进行唯一性检测、亚像素插值、左右一致性检测。
4 实验验证
为验证所提出的基于SIFT特征提取算法和SGBM算法的充电孔图像特征识别及深度计算的可行性与有效性,依次进行了图像特征识别实验和双目测距实验,得到了高精度匹配与测距结果。实验采用双目相机,型号为DUAL?200M?030T160,在获取充电孔图像前,首先需要对双目相机进行标定与校正。
4.1 相机标定与立体校正实验
综合考虑标定成本、精度及鲁棒性等因素,选取“张氏标定”法对项目使用的双目相机进行标定。首先打印一张棋盘格,将它贴在平面上作为标定物;其次调整标定物或摄像机的方位,获取6对左、右镜头拍摄的标定板图片;最后送入MATLAB中的Camera Calibrator标定工具,从照片中提取棋盘格角点,估算理想无畸变的情况下5个内参和6个外参,并用最小二乘法估算实际畸变系数,利用求取参数进行畸变校正和立体校正(图4)。相机标定与立体校正完成后,可进行SIFT图像特征提取和特征匹配相关实验。
4.2 基于SIFT的图像识别实验
4.2.1 图像预处理
充电桩一般工作于户外,并处于强电磁场景中,摄像机获取的图像会有噪声,因此需要进行图像滤波预处理,在尽可能保留图像细节特征的条件下抑制图像的噪声,以保证图像特征顺利提取。常使用的滤波算法有均值滤波、中值滤波、高斯滤波,图5展示的3种滤波处理结果中,中值滤波对充电孔图像噪声的处理效果最好,因而实验采用中值滤波。
4.2.2 图像特征提取与匹配
在OpenCV中使用SIFT算法提取充电孔特征。为增强特征匹配的稳健性,每个关键点用16个种子点描述,产生128个数据,即最终形成不受尺度变化和几何形变影响的128维SIFT特征向量。进一步将长度归一化,则可消除光照变化的影响。
SIFT算法参数设置见表1。
生成SIFT特征向量之后,采用欧式距离法作为关键点的相似判据。为排除因背景混乱或遮擋而产生的无匹配关系的关键点,采用一种机器学习算法——K最近邻算法(K?Nearest Neighbor,KNN),比较最近邻距离与次近邻距离,若其比率小于设定的阈值,则判定匹配结果无误。降低阈值,匹配点数目会减少,但更加稳定。
图6为使用SIFT算法提取的充电孔特征,从图中可以看出,SIFT算法能够很好地提取出充电孔的特征点。在得到提取的特征后使用FLANN匹配器,将SIFT提取的图像中充电孔特征点与预存的充电孔特征进行特征匹配,并将特征匹配结果可视化(图7)。由图7可以看出FLANN匹配器能够较准确地将SIFT提取的模板特征点与目标特征点进行匹配。
4.3 双目测距实验
在完成充电孔特征匹配后,需要进行充电孔的三维重建工作,以识别充电孔空间三维坐标。可采用BM算法和SGBM算法获取视差图。
4.3.1 视差图比对
图8第1行为使用SGBM算法计算获得的视差图。算法通过选取每个像素点的差异组成差异图,定义与差异图相关的全局能量函数,并使该函数最小化以求取每个像素的最优差异。图8第2行为BM算法计算获得的视差图,BM算法将两个摄像头的帧精细方块化进行机型匹配,通过方块移动、对应并结合摄像头的关系数据(标定参数)生成相应的深度图。
对比两种算法获取的视差图可以看出,采用SGBM算法处理得到的视差图较BM算法更加精细,立体匹配效果更好,因此笔者采用SGBM算法进行立体匹配和视差计算。
4.3.2 距离测量
表2为使用SGBM算法在不同光强下对充电孔进行多组测距实验的结果。表中前6组数据为随机缓变光线下双目相机测试数据,最后一组为过度曝光下测试数据。测试结果前3列为充电孔相对左相机的世界坐标,分别为拍摄图像水平方向x、拍摄图像竖直方向y、相机与充电孔距离z。由表2可以看出,在当前相机标定状态与缓变光线下,实际距离为200 mm时(刻度尺测量距离),测试深度距离误差约为0.56~1.67 mm。
需要说明的是,在过度曝光下双目相机测试误差较大(最后一组数据),这也是双目视觉测距的缺点,但由于一般充电设施通常置于室内(如地下车位充电桩)或装有防雨棚,且顶棚系所研究自动充电系统的必备装置,因而可以排除过度曝光的情况。图9为可视化测距与刻度尺测距方式的对比。
5 结束语
提出了一种造价较低,适用于工程应用的高精度充电孔识别与定位方法。该方法采用双目视觉图像识别技术,将SIFT特征提取算法、最近邻搜索特征匹配算法及半全局匹配视差计算方法进行了深度协同应用,通过相机标定、尺度空间构建、空间极值点检测、稳定关键点定位、方向信息分配、机器学习特征匹配及视差计算等,得到适用于不同光强、背景及任意形状的充电插孔识别定位方法。为验证方法的可行性,进行了完整的充电孔识别与定位实验,通过相机标定与立体校正实验、基于SIFT的图像识别实验和双目测距实验,得到了较为理想的充电孔识别效果,为后续驱动机械臂完成充电插口与插头对接研究工作奠定了理论与技术基础。
参 考 文 献
[1] 刘永东.构建电动汽车充电设施发展新格局——充电设施“十四五”规划需考虑的六个问题和五个关系[J].中国电力企业管理,2020(34):24-27.
[2] 于东民,杨超,蒋林洳,等.电动汽车充电安全防护研究综述[J].中国电机工程学报,2022,42(6):2145-2164.
[3] 盛锐,唐忠,薛佳诚.多指标下EV充电站服务能力动态评价方法[J].中国电机工程学报,2021,41(14):4891-4904.
[4] 邹大中,李勋,黄建钟.基于图像识别的交流充电桩误差检定方法研究[J].电子测量技术,2021,44(7):13-18.
[5] 赵凌宇.基于深度学习的电动汽车充电口分类识别及去模糊算法研究[D].哈尔滨:哈尔滨工业大学,2021.
[6] 张辉,金侠挺.基于曲率滤波和反向P?M电动车充电孔检测方法[J].仪器仪表学报,2016,37(7):1626-1638.
[7] 孙成.复杂环境下电动汽车充电口识别与定位方法研究[D].苏州:苏州大学,2019.
[8] PAN Q,SUN C,LIU Z,et al.Automatic recognition and location system for electric vehicle charging port in complex environment[J].IET Image Processing,2020,14(10):2263-2272.
[9] RATHGEB C,WAGNER J,BUSCH C.SIFT?based iris recognition revisited:prerequisites,advantages and improvements[J].Pattern Analysis and Applications,2019,22(3):889-906.
[10] 王昕平,张森林,刘妹琴,等.基于多尺度图像融合和SIFT特征的水下图像拼接研究[J].计算机应用与软件,2021,38(5):213-217;230.
[11] 张俞晴,何宁,魏润辰.基于卷积神经网络融合SIFT特征的人脸表情识别[J].计算机应用与软件,2019,36(11):161-167.
[12] 蔡天旺,付胜.基于改进的SIFT算法的红外图像配准[J].测控技术,2021,40(7):40-45.
[13] TAREEN S,SALEEM Z.A comparative analysis of SIFT,SURF,KAZE,AKAZE,ORB,and BRISK[C]//2018 International Conference on Computing,Mathematics and Engineering Technologies.IEEE,2018.
[14] 肖英楠,孙抒雨.基于改进SIFT图像匹配的无人机高精度避障算法设计[J].机械制造与自动化,2022,51(1):237-240.
[15] 焦揚,杨传颖,石宝.基于SIFT、K?means和BOF的鞋底痕迹检索[J].计算机应用与软件,2020,37(5):238-242.
[16] 闵曹文,石斌斌.基于改进SIFT的倾斜无人机影像匹配策略研究[J].电子质量,2021(12):100-104.
[17] 徐明,刁燕.基于SURF算子与FLANN搜索的图像匹配方法研究[J].现代计算机,2020(14):49-52;57.
[18] LIN X H,WANG F H,YANG B S,et al.Autonomous vehicle localization with prior visual point cloud map constraints in GNSS?challenged environments[J].Remote Sensing,2021,13(3):506.
(收稿日期:2022-07-04,修回日期:2023-03-03)
Binocular Visual Recognition Technology for Electric Vehicle Charging Holes Based on SIFT Algorithm
YU Ming, LI Xue?wei
(School of Engineering, Beijing Forestry University)
Abstract Based on binocular vision theory, a high?precision identification and positioning method for the various charging holes which complying with different light intensity and backgrounds was proposed. in which, the SIFT feature extraction algorithm was adopted to generate a differential Gaussian pyramid for scale space construction, and the nearest neighbor search feature matching algorithm which belongs to machine learning was used to obtain the matching point map set. In addition, the disparity calculation was performed with the semi?global matching method to obtain high?precision matching and positioning results of charging hole. The experimental results verify the effectiveness of the algorithm proposed along with ideal matching and distance measurement results.
Key words identification and localization of charging hole, SIFT feature extraction, nearest neighbor search feature matching, semi?global matching method, disparity calculation