基于椭圆检测的充电口识别

2020-04-30 04:26项博良
计算机技术与发展 2020年4期
关键词:邻域象限椭圆

项博良,余 粟

(上海工程技术大学,上海 201620)

0 引 言

随着电动汽车逐步实现产业化和市场化,电动汽车配套相关的基础设施也正在逐步完善中,电动汽车的充电设备在能源补给方面起着至关重要的作用。为了能够实现更加快速便利的充电,自动充电技术是大势所趋。而对于自动充电技术中的充电口识别,是整个自动充电技术中最至关重要的一个部分。现在市场上普遍的电动汽车充电口,无论是直流充电口还是交流充电口的识别,根据其特性,运用椭圆检测的识别技术是最好的方法。椭圆检测作为计算机视觉中一个非常关键的部分,在这方面有着很好的应用。当前椭圆检测的主流方法为霍夫变换及其变形,以及最小二乘法拟合椭圆与基于弧段提取的椭圆检测与拟合。

基于霍夫变换的椭圆检测利用Hough变换将图像空间映射到参数空间,但是这种方法不仅对噪声不敏感,并且参数高达5维,计算量过大。文献[1]提出了一种降低随机Hough变换的无效采样,并对定位精度达到亚像素级的改进方法,文献[2-3]也对参数空间的计算进行了改进,这一类算法无法避免计算量大,耗时长的缺陷。为此,人们开始从曲线弧的角度拟合椭圆。例如,文献[4]提出了基于轮廓寻找连续区域的方法去寻找椭圆弧,文献[5]提出基于不变特征数的弧段选择去拟合椭圆,而文献[6-8]更加详细地提出了一种怎么分割曲线弧的方法,利用边缘是否相邻,连接相邻边缘组成有效弧段,这种方法对边缘的信息要求很高。文献[9]提出了结合差分函数与因子矩阵的方法能够加强边缘的信息,但是同时可能会拟合出大量的假椭圆。文献[10-11]在分割曲线弧的基础上,又进一步将曲线弧分类,为拟合椭圆筛选了更加有效的弧段,可以减少很大的计算量。文献[12-14]在边缘提取的基础上,用一些限制条件对边缘点进行了过滤,提高了计算效率。文献[15]是椭圆检测在实际生产中的一些应用,能够提供一个很好的借鉴。

基于各种弧段提取的改进算法,文中提出了一种全面的弧段选择与筛选的方法,不仅能够加速弧段选择的速率,还能够提高选取弧段的有效性,能够在很大程度上保证选取的弧段为某一椭圆的一部分,提高了检测出的椭圆的准确性。

1 基于弧段提取的椭圆检测

1.1 图像的预处理

由于相机拍摄的原始图片中包含着大量复杂的信息,这就需要对图像进行预处理,将图像的特征信息从中提取出来,为后续的弧段提取及分类提供一系列的依据。图像预处理如下:

(1)图像的灰度化以及滤波,将RGB图像转换成灰度图像,就能够提取到图像的关键因素梯度,意味着有利于边缘的检测;且在图像中一般都会存在大量的噪点从而影响到对特征的提取,因此对图像进行滤波,将噪声平滑并尽量保留图像的边缘信息。

(2)弧段提取的前提是边缘的检测,由于在进行滤波的同时可能会将有些边缘平滑,会造成某些边缘信息检测过程中的遗漏,为了尽量避免这种情况的出现,利用图像的锐化增强图像边缘有助于得到更多有用的信息。

(3)用Canny边缘检测算法对锐化后的图像进行边缘检测,利用OPENCV的滑块调整边缘的阈值,得到需要的边缘图。

1.2 弧段的提取

利用Canny边缘检测得到的边缘并不一定都是需要的弧段,其中包含着许多不属于椭圆边缘的信息。因此需要采用一系列的选择,过滤筛选出弧段,让其尽量都是属于椭圆的弧段。首先,利用八邻域边缘跟踪筛选出具有一定长度的弧,因为短弧对椭圆拟合的意义不大。八邻域边缘跟踪的过程如下:

(1)将提取的边缘点设为前景色白色,其余部分为背景色黑色。可自定义八邻域的检索方向为顺时针方向或者顺时针方向,在这里选择顺时针。

(2)对边缘图像的每一个像素点进行检测,如果检测到当前点为前景点,则以当前点为八邻域检索的中心,按顺时针方向进行检索,如果在检索过程中,遇到像素点为前景点的,则将当前点定为新的八邻域搜索点,重复步骤(2),并将当前点存储,并置为背景色。

(3)当检索的八邻域中不再有前景点时,一次检索完成,将之前所有的八邻域搜索点形成一个集合为一个弧段。

对图像中的每一个像素点都重复步骤(2)-步骤(3),直至完成整个图像的遍历。通过八邻域边缘跟踪,得到了一系列由点组成的弧段,根据点的个数确定弧段的长度,过滤长度较小的,对拟合椭圆无太大意义的弧段。根据椭圆特性,没有曲率的直弧显然不属于椭圆弧的一部分,根据每一段弧,从中取出五等份五个位置的点,计算其每两点之间的斜率来表示曲率的变化,如果曲率没有很大的变化,则判定其为直弧,将这样的弧段删除。经过如此过滤的弧很大程度上属于一定椭圆上的弧段。

根据边缘的正负性以及弧段的凹凸性,可以将所有过滤好的边缘分为四种情况,由于前期对弧段进行了短弧和直弧过滤,所以同一种情况下的弧段不可能属于同一个椭圆。边缘的正负性定义为做边缘检测时,根据检测边缘梯度的正负分为正边缘和负边缘;弧段的凹凸性定义如下:取每条弧的两个端点作为一个矩形的对角线,当这条弧位于对角线的上方时,定义此段弧为凸型的,当这条弧位于对角线的下方时,定义此段弧为凹型的。由此,便将所有的弧段分成了四个弧段的集合。

2 椭圆拟合及筛选

2.1 椭圆的拟合

通过之前的弧段提取,得到了4种弧段的集合,用平面坐标系的四象限表示。在这里选用来自不同象限的3段弧来拟合出候选的椭圆,因为在前文提到同一种情况下的弧段属于同一椭圆的可能性不是很大。如果对全部的弧段进行拟合,并采用投票机制来选取目标椭圆的话,就会有C3N种选择方案,但是这其中又存在着诸多的不合理的组合情况,对椭圆的拟合没有任何的意义。在这里通过一些条件限制将那些没有意义的弧段组合删除。

对于弧段组合的选取,有四种选取方案,分别为象限(1,2,4),象限(2,3,4),象限(3,4,1),象限(1,2,3)这四种组合。且像素平面的坐标分布是以左上角为坐标系零点,以向左为X轴正方向,以向下为Y轴正方向的,可以根据像素平面的X轴坐标对弧段的选择做出合理的限制,在此将弧段中所有点的排列顺序均是按照X坐标由小到大的顺序排列。例如对(1,2,4)的弧段组合,需要满足:

{Ⅳ象限弧起X≥Ⅰ象限弧终X,I象限弧起X≥II象限弧终X}

对于(2,3,4)的弧段组合,需要满足:

{Ⅱ象限弧起X≥Ⅲ象限弧起X,Ⅲ象限弧终X≥Ⅳ象限弧终X}

对于(3,4,1)的弧段组合,需要满足:

{Ⅰ象限弧终X≥Ⅳ象限弧终X,Ⅰ象限弧起X≥Ⅲ象限弧终X}

对于(1,2,3)的弧段组合,需要满足:

{Ⅰ象限弧起X≥Ⅱ象限弧终X,Ⅱ象限弧起X≥Ⅲ象限弧起X}

在这些条件的限制之下,可以很大程度地减少那些无意义的弧段组合,提高了拟合椭圆的效率,也缩短了拟合的时间。

又因为椭圆是二次曲线,它的一般方程表示为:

AX2+BXY+CY2+DX+EY+1=0

(1)

可以得到含有5个未知数的参数方程,因此将每个象限的所有的备选的弧段组合的点重新按X的大小排列,得到一系列点的集合。将这个集合四等分,取四等分的五个点作为特征点代入方程,得到方程组,求解该方程组。若方程组的系数的矩阵行列式的值大于0,此时五个未知数有唯一解;若行列式的值等于0,则这些点不在一个椭圆上。

在这里设椭圆的中心点为(x,y),长轴为a,短轴为b,椭圆的倾斜角为θ,至此椭圆的五个描述参数x,y,a,b,θ可以分别表示为:

(2)

(3)

(4)

(5)

(6)

对这四种椭圆组合拟合出的椭圆进行聚类,将所有拟合出的椭圆进行比对,中心点位置的差值,短轴及长轴的差值,以及倾斜角的倾斜偏差在很小的范围时,此时认定其为同一个椭圆,对其所有数据做平均,认定其为拟合出的椭圆。

2.2 目标椭圆的筛选

经过拟合的椭圆,可以将拟合的椭圆显示在充电口的图片中进行比对,发现其能够很好地拟合出图片上大部分的椭圆,但是针对于实际工况的需要,需要的仅仅是充电口中的充电插接口的椭圆,因此还需要根据椭圆的一系列特征参数制定完善的椭圆过滤方法。

根据检测目标的特点,以实验用的直流充电口为例提出以下完善的过滤策略。首先通过设置椭圆的长短轴之比,过滤长短轴之比比较小的椭圆,保留出所需要的具有相对较大长短轴之比的椭圆。其次,根据需要的目标椭圆的特点,设定一个关于椭圆长轴所占像素宽度的范围,将过大或者过小的椭圆过滤,然后针对于可能会检测到的同心圆的情况,根据椭圆中心点的X,Y坐标所在的位置,将中心X,Y坐标相近的视为同一中心的椭圆,滤去长短轴之比较小的那个同心圆。从图中也可以看出,充电口四个角的椭圆边缘明显,或多或少都会被检测到拟合成椭圆。针对于这种情况,将过滤好的椭圆按照Y坐标的大小从小到大排列,根据目标椭圆的Y的大致情况,设定一个关于Y轴阈值范围,将这一系列椭圆中Y坐标过大或者过小的椭圆过滤,从而得到需要的目标椭圆。

3 实验结果

为了验证提出的基于弧段的椭圆检测方法在充电口识别上的应用,在保证光源的情况下,从各个角度对直流充电口进行拍摄,利用提出的方法,基于VS2017进行实验,以此来验证是否能够对对充电口的目标椭圆,即对插接口有一个准确的检测。为了更好地模拟新能源汽车的实际停车不可能都停正的情况,分别取向左倾斜,向右倾斜,以及正中间的三种位置情况来模拟停车时车身向左,向右与停正的三种情况。

图1是在三种位置下进行预处理之后的Canny边缘检测结果。

图2为通过边缘追踪滤去短弧的结果。

以图2中最左边的图为例,图3是将边缘分为梯度大于0和梯度小于0的两种情况,为下一步提取有效边缘点做好准备。

图4为通过取点拟合出的椭圆情况,可以看出对要检测出的目标椭圆都可以检测出,还能检测出充电口上其他部分的椭圆,但是那些椭圆是不利于后续进行椭圆的位姿估计的,因此如图(5)所示,采用上述的根据特征参数制定的过滤准则,三个位置的过滤图均能达到很好的过滤效果,得到目标椭圆。

图2 边缘追踪结果

图3 边缘梯度区分

图4 椭圆拟合效果

图5 目标椭圆检测

为了验证这种充电口识别的方法,在保证光源的条件下,在正负20度的极限范围内对其拍摄识别,进行20组实验,发现除了在特别极限的位置有可能检测失败,其他情况下能够识别出17组目标椭圆,达到了85%的识别准确率,为后续的自动充电提供了一个很有必要的前提。

4 结束语

自动充电技术作为新能源汽车发展的关键技术,是未来发展的必然趋势。针对自动充电技术中的充电口识别,提出的基于椭圆检测的识别技术运用了弧段提取技术,并对其进行了改进,提出的边缘跟踪及边缘分类技术,能够在复杂的背景之下快速地提取并筛选出拟合椭圆的有效边缘。并且提出了一种能够快速聚类有效弧段并对其组合的方法,通过参数拟合获得椭圆。针对实际工况,运用椭圆的一系列参数特征,达到对目标椭圆的有效过滤以及快速识别充电口的效果,为自动充电提供了有效的保障。

猜你喜欢
邻域象限椭圆
混合型数据的邻域条件互信息熵属性约简算法
基于混合变邻域的自动化滴灌轮灌分组算法
复数知识核心考点综合演练
含例邻域逻辑的萨奎斯特对应理论
例谈椭圆的定义及其应用
常数牵手象限畅游中考
巧用点在椭圆内解题
平面直角坐标系典例分析
三角函数核心考点综合演练
椭圆的三类切点弦的包络