基于双目近景图像的车体相对车位方位视觉检测方法
2023-05-24张西良刘玉芹袁朝春
张西良, 闫 妍, 刘玉芹, 袁朝春
(1.江苏大学 机械工程学院, 江苏 镇江 212013; 2.江苏大学 汽车工程研究院, 江苏 镇江 212013)
自动泊车系统一般包含车位识别、决策规划和执行控制3大关键技术[1],只有准确识别车体相对目标空车位的方位才能使自动泊车系统制定高效精准的决策规划路线.车体相对目标空车位方位参数包括方位角和距离2个指标.获取车体相对目标空车位的方位角和距离是实现自动泊车的基础和关键.
目前,方位检测方法多应用于车辆定位[2]、水下未知目标检测和方位估计[3]、新型武器靶场试验方位检测[4]等领域.在进行目标识别、检测、定位过程中通常需要借助雷达、声呐、经纬仪等仪器,检测获取目标周围参照物的信息,结合机器视觉检测技术获取方位,这给目标周围无参照物情况下方位检测带来较大限制.
应用单一机器视觉技术实现对无周围参照物的目标空车位方位检测是对其他车位方位检测方法的很好补充.其关键技术是基于视觉图像实现对几何尺寸和距离的检测.孙少杰[5]以显著性标志物中的关键点为目标,探讨了一种基于计算机视觉的目标方位测量方法,通过采用Harris算法提取被测目标特征角点,基于亚像素技术识别特征角点像素坐标,实现对目标方位测量,但对大视场条件下的现场测量,未考虑镜头抖动、拍摄距离等导致图像解析度低等问题,适用性有待提高.LI Y.L.等[6]提出了一种基于探针式多视场三维视觉测量系统,通过建立立体定向靶标的6个单元模型实现多面体或旋转体的形状测量,并不适用于车位平面信息检测.WANG T.Y.等[7]设计了1个基于单视觉和人工平面的目标定位系统,研究图像匹配和位置解析,建立图像样本,验证图像匹配算法的准确性,但是其仅限于80 mm×60 mm靶标尺寸和800 mm小范围内靶标点检测.
笔者在应用双目视觉技术进行目标识别与尺寸大小检测研究的基础上,拟基于双鱼眼镜头近距离拍摄目标空车位近景图像,采用传统图像处理方法对双近景图像进行校正等处理,提取俯视平面上目标空车位线轮廓边缘和双鱼眼镜头位置点,基于特征点像素坐标和数学几何计算方法,检测车体相对目标空车位方位.
1 车体相对车位方位视觉检测设计
为了在初始采集图像时提高目标空车位信息在整体图像中的占比率,结合车位可能处于车体四周的情况,在车体四边各设置1个鱼眼镜头来采集图像.车体相对目标空车位方位视觉检测方法流程如图1所示.
图1 车体相对目标空车位方位视觉检测方法流程图
检测方法流程包括2个阶段:① 车位近景图像获取与处理.首先确定4个鱼眼镜头在车体上的安放位置;然后依据车位情况,选其中靠近车位的车体相邻的2个鱼眼镜头拍摄车位近景图像,并对原始图像进行校正,消除鱼眼镜头视角拍摄产生的图像畸变;再将校正后的2张车位近景图像拼接起来,合成1幅完整的车位图像;接着对拼接图进行逆透视变换,提取车位ROI(region of interest)区域;最后做二值化处理,凸显ROI区域中的车位线信息和2个鱼眼镜头位置.② 车体相对车位的方位角与距离计算.先建立车位二维坐标系,基于图中像素灰度值差异,通过视觉识别双鱼眼镜头在车位二维坐标系下的坐标;再基于已知车位和车体尺寸、鱼眼镜头在车体上安放位置等信息,以及拼接图中车位线轮廓边缘信息和2个鱼眼镜头坐标,应用数学几何方法分析车体相对车位的方位关系,建立相应的数学模型,计算求解最接近车位的车体端点在车位二维坐标系下的坐标、车体端点与坐标原点之间的距离以及车体前后或者左右侧边沿相对坐标轴方位角,实现车体相对车位方位参数的检测.
2 车位近景图像获取与处理
2.1 车位近景图像获取
4个鱼眼镜头分别安置在车体O1、O2、O3、O4处.O1在车尾中点位置,距离地面高度h1为60 cm;O2在左后视镜下方,距离地面高度h2为90 cm;O3在车头中点位置,距离地面高度h3为60 cm;O4在右后视镜下方,距离地面高度h4为90 cm;车体邻边2个鱼眼镜头到同一车体端点的尺寸分别为W和L.试验车位尺寸长度为L1,宽度为W1;试验车体尺寸长度为L2,宽度为W2.
为使采集的车位近景图像为全景图像,选用焦距为1.7 mm、视角为180°的鱼眼镜头,构建获取图像的系统模型如图2所示.
图2 图像获取系统模型
以O4、O3处鱼眼镜头拍摄车位近景图像为例,其获取的垂直车位、平行车位和倾斜车位的3种车位近景图像如图3、4所示.
图3 O4处鱼眼镜头获取的车位近景图像
图4 O3处鱼眼镜头获取的车位近景图像
2.2 车位近景图像校正
为消除鱼眼镜头视角拍摄引起的图像畸变,采用张正友棋盘格标定法[8-10],并依据鱼眼镜头在车体的已知安装位置条件,求解鱼眼镜头的内参矩阵和畸变矩阵,对原始车位近景图像进行图像校正,图像校正原理如下:
(1)
将制作的棋盘格布放在车体四周,然后用车体上的前后左右4个鱼眼镜头拍摄图像,用求解的内参矩阵和畸变矩阵对图像进行校正,二者对比效果如图5所示.经校正后可修复鱼眼镜头拍摄的畸变棋盘格图片.对图3获取的垂直车位、平行车位、倾斜车位3种车位的近景图像进行校正,其效果如图6所示,从校正图中可以看出,校正后可修复车位图像中间呈抛物状且向鱼眼镜头前部凸出的畸变.
图5 棋盘格图像校正
图6 车位近景图像校正图
2.3 车位近景图像拼接
车位近景图像拼接的原理如下:将2幅存在一定重合部分车位的近景图像,通过SIFT(scale-inva-riant feature transform)算法进行特征点匹配得到对应点,将这些得到的对应点重合,并将2幅图像的未重合车位部分进行拼接,得到1幅完整车位的图像.
(2)
(3)
将5对不共面的匹配特征点的坐标代入式(3),可得15个独立的方程,组成1个新的方程组,联列式(2),求解该方程组即得M矩阵.
2.4 车位近景图像逆透视变换
图像进行逆透视变换处理的目的是获取ROI区域,部分信息会被去除,逆透视变换处理后的2幅图像不利于进行拼接,所以对拼接后的车位近景图像进行逆透视变换处理.将图中三维立体空间下的车位信息降至二维平面,获取车位的俯视平面图,最大程度清除图中车位周边的建筑物、花草树木、车辆等干扰信息.经过校正拼接后的图像坐标为(kx,ky),对应在俯视图中的像素为(a,b),则2个坐标间的转换关系为
(4)
将式(4)转换成如下矩阵形式:
(5)
为验证逆透视变换程序的应用效果,对校正后的棋盘格图像做逆透视变换.先任意指定4个点,通过findHomography()函数获取变换矩阵,在图像上构造出1个可伸缩四边形窗口,然后通过鼠标拖移将四边形的端点拉伸至棋盘格布上对应的4个端点,获取棋盘格的ROI区域,呈现的效果如图7所示.
图7 棋盘格图像逆透视变换
从图7可以看出:经逆透视变换后,可获取棋盘格图像上的ROI区域,并将三维立体空间下的棋盘格图像转换成二维平面下的棋盘格俯视图.对图6校正后的车位近景图像进行逆透视变换,获取车位的整体俯视图,提取车位ROI区域的效果如图8所示.
图8 车位近景图像逆透视变换结果图
2.5 车位近景图像二值化
对车位近景图像做二值化处理的目的是使图像中车位的车位线呈现为黑色线条,其余信息表示为白色区域.再由上述图像拼接原理确定可有效采集车位近景图像的鱼眼镜头地面投影点位置,在二值化结果图中以黑点表示.图像二值化是通过threshold()函数阈值分割实现的,其原理是以某一数值为分界线,当图像中的灰度值小于等于该值时,让灰度值为0,该区域在图像中显示为黑色;图像中的灰度值大于该值时,灰度值为255,该区域在图像中显示为白色.图8车位近景图像二值化结果如图9所示,车位线基本完整呈现为黑色线条,其余信息大部分表示为白色区域,达到二值化效果.
图9 车位近景图像二值化结果图
3 车体相对车位方位参数计算方法
无论车位类型为垂直车位、平行车位或倾斜车位,车体相对车位边都具有1个方位角,该方位角的值域为[0°, 90°].本研究主要针对在[0°, 90°]中任意角度停泊的车辆,检测车体上最接近车位边沿和端点相对车位某边的方位角α和相对车位最远某点的距离d.
定义1:可获取车位完整4个端点近景图像的车位情景称作一般车位.
而刚刚掌握解开这个世界“方法论”的孩子们首当其冲,因此,如何在教学过程中教会同学们正确分辨虚假信息,培养其批判性思维,成为了新加坡中学老师们关注的重要教学目标之一。
定义2:获取车位非完整4个端点近景图像的车位情景称作特殊车位.
下面分别分析计算2种车体相对车位方位模型的方位角和距离.
3.1 二维车位坐标系的建立
当L1>W1且车位为矩形时,泊车目标车位为垂直车位;当L1
图10 车体相对车位方位的平面图
3.2 有效鱼眼镜头点坐标视觉识别
通过VS2019试验平台,hist()函数获取车位近景图像的像素直方图,垂直车位、平行车位和倾斜车位近景图像逆透视变换的像素直方图如图11所示.视觉识别鱼眼镜头O1、O2两点坐标的具体方法如下:① 设置摄像头窗口大小,用cv.CAP_PROP_FRAME_WIDTH指定宽度, cv.CAP_PROP_FRAME_HEIGHT指定高度;② 通过图11中的像素分布,求得O1、O2两点的像素坐标;③ 结合图像校正中鱼眼镜头内参矩阵f1和畸变矩阵f2的已知信息,根据像素坐标与坐标系上的坐标对应公式(1),将O1、O2两点的像素坐标转换成在OXY坐标系上的坐标.由图10识别的O1、O2的像素坐标分别为O1(a1,b1)、O2(a2,b2),且摄像头窗口尺寸与真实尺寸的比例关系为1∶120.采用最大类间方差法,取车位近景图像像素直方图中第1个极值点坐标值为a1、b1的值,取车位近景图像像素直方图中第2个极值点坐标为a2、b2的值.像素坐标与坐标系上的坐标对应公式为
图11 不同车位近景图像逆透视变换的像素直方图
(6)
基于图像校正中鱼眼镜头内参矩阵f1、畸变矩阵f2的已知信息,根据式(6)可计算车体相对一般车位的O1、O2两点坐标.
3.3 计算方位角α和距离d
图10a坐标系OXY中的有效点O1、O2和D的坐标分别为O1(x1,y1)、O2(x2,y2)和D(x,y).因为D点又是O1、O2两点所在直线的交点,且有|O1D|=W,|O2D|=L,为已知信息,在鱼眼镜头O1、O2两点坐标已知的基础上,由勾股定理可求出D点坐标.计算公式如下:
(7)
(8)
(9)
4 试验结果与讨论
试验在VS2019环境下,基于 C语言调用OpenCV库函数实现.以垂直车位、平行车位和倾斜车位作为试验车位模型,使用鱼眼镜头采集车位近景图像,运用本研究提出的基于近景图像的车体相对车位方位参数检测方法计算各个图像中车体相对车位的方位角和距离.设置了对比试验,与文献[5]所述的研究方法进行比较,并将文献[5]测量的方位参数检测结果记录在表1中的第6组.
表1 车体相对车位的方位参数统计表
经图像校正,求解的鱼眼镜头的内参矩阵为
(10)
经图像校正,求解的鱼眼镜头的畸变矩阵为
(11)
式中:“+”、“-”号后面的0.2和0.3为阈值.
选取的垂直车位、平行车位和倾斜车位3种车位的尺寸(L1×W1)分别为4.7 m×2.4 m、5.8 m×1.9 m和4.5 m×2.4 m.对垂直车位、平行车位和倾斜车位均进行2组检测,一组为车体相对一般车位模型方位参数检测试验,另一组为车体相对特殊车位模型方位参数检测,共计6组.为降低偶然因素对被检测方位参数结果的影响,每组检测10次,计算其平均值,然后与其准确值对比(车体相对各车位的方位角准确值通过倾斜角传感器测得,距离准确值通过实时近距离测距仪测得),判断本方法对车体相对车位方位参数检测的准确性.试验结果如表1所示,其中:第1组为垂直车位的车体相对一般车位模型方位参数检测结果;第2组为垂直车位的车体相对特殊车位模型方位参数检测结果;第3组为平行车位的车体相对一般车位模型方位参数检测结果;第4组为平行车位的车体相对特殊车位模型方位参数检测结果;第5组为倾斜车位的车体相对一般车位模型方位参数检测结果;第6组为倾斜车位的车体相对特殊车位模型方位参数检测结果.每组试验的第1、第2行表示不同初始位置条件下的方位参数检测结果,第3行表示对比试验检测结果.
对比第1组、第3组和第5组检测数据,车体相对一般车位模型方位参数中,平行车位方位角检测相对误差的绝对值最大,为9.16%;倾斜车位距离检测相对误差的绝对值最大,为3.54%;因此车体相对一般车位模型方位检测试验中,本研究方法对垂直车位方位检测的效果更稳定,适用性更好.比较第2组、第4组和第6组检测数据,车体相对特殊车位模型方位参数中,倾斜车位的方位角检测相对误差的绝对值最大,为8.52%;平行车位的距离检测相对误差的绝对值最大,为3.89%;因此车体相对特殊车位模型方位检测试验中,本研究方法同样对垂直车位和平行车位方位检测的效果更稳定,适用性更好.综合表1中6组检测试验的方位参数结果,本研究方法检测车体相对车位的方位参数平均值与准确值存在误差,且方位角检测最大相对误差的绝对值为9.16%,距离检测最大相对误差的绝对值为3.89%.平行车位方位角检测相对误差较大,而倾斜车位距离检测相对误差较大的原因如下:系统在检测车位方位参数时,平行车位与车体体系存在1个角度补偿,倾斜车位与车体体系存在1个距离补偿,这将增大数据统计的复杂度,进而提高误差.
5 结 论
针对自动泊车系统进行入库操作制定决策规划路线时,视觉检测车体相对目标空车位方位角、距离存在适用性低的问题,设计了一种基于近景图像的车体相对车位方位参数检测方法.它的主要优点是利用双鱼眼镜头获取车位线近景图像,实现了单一视觉技术对目标空车位方位的检测.结果表明:本研究提出的方法可有效检测车体相对车位的方位参数,和其准确值相比,方位角检测最大相对误差为9.16%,距离检测最大相对误差为3.89%;和文献[5]所述的研究方法相比,本研究提出的车位方位参数检测方法精度更高,提高了车位检测适应性.