本发明涉及一种基于单目视觉技术的车载测距系统及方法。
背景技术:
:基于单目视觉技术的车载测距系统首先需要实现前方车辆的检测。目前,用于检测前方车辆的方法主要有:基于车辆底部阴影特征的检测方法、基于车辆红色尾灯特征的车辆检测方法以及基于光流的运动车辆的检测方法。基于光流的运动车辆的检测方法在动态背景下,识别率较低。基于车辆底部阴影特征以及车辆水平边缘特征和对称性的车辆检测方法,首先利用车辆底部阴影特征确定可能存在车辆的区域,再根据车辆的水平边缘特征和对称性精确定位。该方法没有对检测到的阴影特征进行虚假目标的排除。基于车辆尾灯特征的车辆检测方法需要对获取的每一帧图像进行颜色空间的转换。目前,车载测距系统,大多采用雷达、超声波等传感器。而基于单目视觉的测距技术,一般又需要配合激光等设备使用。基于视觉系统的测距方法与雷达、超声波等传感器相比,具有安装简便、价格低廉、对外部环境无干扰等优点。目前的基于摄像机内部参数和几何关系的单目视觉测距方法在摄像机三维姿态不变的条件下具有较为准确的测距效果,应用在车载测距系统中则会产生较大的误差。技术实现要素:本发明的目的是提供一种基于视觉系统的测距系统及方法。为了达到上述目的,本发明的一个技术方案是提供了一种车载测距系统,包括:图像采集模块,用于从车载摄像头获取道路图像;摄像头参数及路况信息输入模块,用于输入车载摄像头的安装高度信息及路况信息,不同路况信息对应不同的安全车距,其特征在于,还包括:图像预处理模块,用于将图像采集模块获取的道路图像转换为灰度图像;车辆检测模块,对图像预处理模块得到的图像进行阈值分割,从而将车辆底部阴影区域分割出来,以检测前方是否有车辆,若有前方有车辆,则记录前方车辆底部阴影区域的几何中心的坐标,作为待定的测距点;摄像头三维姿态判定模块,用于从车辆检测模块得到的图像中检测车道线,利用车道线的变化情况判断摄像头的三维姿态,摄像头的三维姿态分为正常姿态、俯仰角变化、旋转、车辆偏离车道进行判断,若从车辆检测模块得到获取的m幅图像中的车道线的交点横纵坐标的变化均小于允许的最大差值,则摄像头的三维姿态处于正常姿态;若从车辆检测模块得到获取的m幅图像中的车道线的交点横纵坐标中多个坐标的纵坐标值的变化超过了允许的最大差值,且其横坐标变化不大,则摄像头的三维姿态处于俯仰角变化;若从车辆检测模块得到获取的m幅图像中的车道线的交点横纵坐标中有多个坐标的横纵坐标值的变化均超过了允许的最大差值,则摄像头的三维姿态处于旋转;若从车辆检测模块得到获取的m幅图像中的车道线的交点横纵坐标中横坐标值的变化近乎全部超过允许的最大差值,且纵坐标变化不大,或者检测到其中一条车道线位于车辆下方,则摄像头的三维姿态处于车辆偏离车道;防抖动测距模块,根据摄像头三维姿态判定模块得到的摄像头三维姿态信息从车辆检测模块得到的待定的测距点中选取合适的测距点,进行测距,其中:当摄像头的三维姿态处于正常姿态时,取最新获取的m个待定的测距点的横纵坐标的平均值为最终的目标测距点的坐标;当摄像头的三维姿态处于俯仰角变化时,从最新获取的m个待定的测距点中选取纵坐标变化最小的m1个坐标,取横纵坐标的平均值为最终的目标测距点的坐标;当摄像头的三维姿态处于旋转,则从最新获取的m个待定的测距点中选取横纵坐标变化均为最小的m2个坐标,取横纵坐标的平均值为最终的目标测距点的坐标;当摄像头的三维姿态处于车辆偏离车道,则以当前获取的待定的测距点为最终的目标测距点的坐标;预警信息输出模块,用于根据防抖动测距模块获得最终的目标测距点的坐标以及摄像头参数及路况信息输入模块输入的车载摄像头的安装高度信息计算得到当前车辆与前车之间的距离d,将距离d与摄像头参数及路况信息输入模块输入的路况信息对应的安全车距相比较,若低于安全车距,则向驾驶员发出警报:式中,h为车载摄像头的安装高度,α为车载摄像头的俯仰角度,y为最终的目标测距点的纵坐标,y0为车载摄像头光轴与像平面的交点的纵坐标值,f为车载摄像头的焦距。优选地,所述图像预处理模块还提取灰度图像的感兴趣区域。优选地,所述图像预处理模块还对提取到的感兴趣区域进行降噪,以滤除图像中的杂波,并增强图像中的轮廓特征。优选地,所述车辆检测模块对图像预处理模块得到的图像进行阈值分割后,还通过车辆的红色尾灯特征对分割出的车辆底部阴影区域进行提纯,排除虚假目标。本发明的另一个技术方案是提供了一种基于上述系统的车载测距方法,其特征在于,包括以下步骤:步骤1、摄像头参数及路况信息输入模块,用于输入车载摄像头的安装高度信息及路况信息;步骤2、车辆在行驶过程中,通过图像采集模块获取道路图像;步骤3、由图像预处理模块将步骤2得到的道路图像转换为灰度图像,再由车辆检测模块对图像预处理模块得到的图像进行阈值分割,从而将车辆底部阴影区域分割出来,以检测前方是否有车辆,若有前方有车辆,则记录前方车辆底部阴影区域的几何中心的坐标,作为待定的测距点;步骤4、由摄像头三维姿态判定模块从车辆检测模块得到的图像中检测车道线,利用车道线的变化情况判断摄像头的三维姿态处于正常姿态、或俯仰角变化、或旋转、或车辆偏离车道进行判断,防抖动测距模块根据摄像头的三维姿态的判断结果,从车辆检测模块得到的m幅图像的m个待定的测距点中选取合适的测距点作为最终的目标测距点的坐标;步骤5、由预警信息输出模块防抖动测距模块获得最终的目标测距点的坐标以及摄像头参数及路况信息输入模块输入的车载摄像头的安装高度信息计算得到当前车辆与前车之间的距离d,将距离d与摄像头参数及路况信息输入模块输入的路况信息对应的安全车距相比较,若低于安全车距,则向驾驶员发出警报。优选地,在所述步骤3中,图像预处理模块将步骤2得到的道路图像转换为灰度图像后,再提取灰度图像的感兴趣区域。优选地,在所述步骤3中,对提取到的感兴趣区域进行降噪,以滤除图像中的杂波,并增强图像中的轮廓特征。优选地,所述车辆检测模块对图像预处理模块得到的图像进行阈值分割后,还通过车辆的红色尾灯特征对分割出的车辆底部阴影区域进行提纯,排除虚假目标,包括如下步骤:步骤3.1、由所述车辆检测模块对图像预处理模块得到的图像进行阈值分割,提取出车辆底部阴影区域;步骤3.2、将步骤3.1得到的图像转换到HSV颜色空间后,利用H分量图进行红色分割,检测车辆尾灯特征,若当前车辆底部阴影区域存在车辆尾灯特征,则记录车辆底部阴影区域的几何中心的坐标,作为待定的测距点,否则,将当前车辆底部阴影区域抛弃。本发明可以有效地检测出位于本车前方的车辆并进行测距。传统的车辆检测方法:基于车辆尾部轮廓特征的车辆检测方法、基于车辆底部阴影特征的车辆检测方法以及基于红色尾灯特征的车辆检测方法等,或者效率较低,不能很好的满足安全驾驶辅助系统对实时性的要求;或者鲁棒性欠缺,容易检测到路面阴影区域等虚假目标;亦或者建模过程复杂,不实用。本发明结合车辆底部阴影特征与尾灯特征,对车辆进行检测,具有较高的鲁棒性的同时提高了算法的执行效率。本发明中的测距算法与现有方法相比,成本更低,安装使用更为简便。附图说明图1为本发明的系统模块图;图2为图像预处理流程图;图3为本发明选取的感兴趣区域(ROI);图4为车辆检测流程图;图5a为车底阴影特征及其检测效果(灰度图像);图5b为车底阴影特征及其检测效果(二值图像);图6a为车辆尾灯特征及其检测效果(原图);图6b为车辆尾灯特征及其检测效果(基于H分量图的阈值分割);图6c为车辆尾灯特征及其检测效果(开运算)图7a为摄像机俯仰角变化时的车道线的变化情况;图7b为摄像机发生旋转时的车道线的变化情况;图7c为摄像机发生车道偏离时的车道线的变化情况;图8为判断摄像头三维姿态的流程图;图9为选取最终目标测距点的流程图;图10为基本的单目测距模型图11为图像预处理过程;图12为检测车辆底部阴影过程;图13为检测车辆尾灯特征过程。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明提供的一种车载测距系统可以应用于车辆安全驾驶辅助系统中的车载视觉测距系统。从车载摄像头获取道路图像,进行前方车辆的检测及测距,从而为驾驶人员提供安全车距预警信息。本发明主要包括以下7个模块:1、图像采集模块。该模块负责从车载摄像头获取道路图像。2、摄像头参数及路况信息输入模块。该模块负责用户从系统终端上输入车载摄像头的安装高度信息,本发明使用的测距公式中包含摄像头高度参数;路况信息包括:高速路、市区道路等,不同路况对应不同的安全车距。3、图像预处理模块。该模块负责对图像采集模块获取的道路图像进行预处理,预处理的目的是增强后续模块中图像处理的效果及速度。4、车辆检测模块。该模块负责从图像预处理模块处理得到的图像中检测出位于本车前方的车辆,如果检测到前方有车辆,则记录前方车辆底部阴影区域的几何中心的坐标,作为待定的测距点。5、摄像头三维姿态判定模块。该模块负责从车辆检测模块中检测到车辆的图像中检测车道线,利用车道线的变化情况判断摄像头的三维姿态。6、防抖动测距模块。该模块负责根据摄像头三维姿态判定模块得到的摄像头三维姿态信息从车辆检测模块得到的待定的测距点中选取合适的测距点作为最终的目标测距点的坐标,进行测距。7、预警信息输出模块。该模块负责判断防抖动测距模块中测量的距离是否小于安全车距,如果小于安全车距,需要向驾驶员发出语言警报。图像预处理模块至防抖动测距模块是本发明的关键组成部分,具体实施方法如下:图像预处理模块中图像预处理流程如图2所示,包括以下步骤:1)图像灰度化处理。对灰度图像进行处理相比直接对RGB图像进行处理更加快速、方便。因此需要将从摄像头获取的RBG图像转换为灰度图像。2)获取感兴趣区域。获取感兴趣区域后,后续图像处理全部基于该感兴趣区域,缩小了图像处理的区域,能够加快处理速度。我国高速公路目前限制的最高车速为120KM/H,而在普通公路或市区道路时,允许的最大车速要远低于120KM/H,为了给驾驶员充足的反应时间,本发明设定安全距离为240米,即距离本车240米以内的车辆,需要实时检测和测距,而240米以外的车辆则不需要考虑。据此,本发明获取的感兴趣区域如图3所示。3)图像降噪。图像降噪的目的是滤除图像中的杂波,增强图像中的轮廓特征,例如车道线以及车辆底部阴影区域的轮廓等。车辆检测模块的主要思想是:首先,通过阈值分割识别车辆在道路上产生的阴影特征,从而快速获取车辆位置信息;再次,由于阈值分割分离出来的不一定只有车辆底部的阴影区域,因此需要通过车辆的红色尾灯特征对上述阴影特征检测结果进行提纯,排除由于路面阴影等产生的虚假目标。车辆检测的流程图如图4所示,包括以下步骤:1)阈值分割检测车辆底部阴影特征。车辆底部阴影区域颜色较深,通过阈值分割可以提取出该特征。分割效果如图5a及图5b所示。2)将图像转换到HSV颜色空间。对图像中的颜色信息进行处理,采用HSV颜色空间要比RGB颜色空间具有更好的处理效果。因此需要将检测到车辆底部阴影特征的原图像从RGB颜色空间转换到HSV颜色空间。3)利用H分量图进行红色分割,检测车辆尾灯特征。对H分量图进行红色分割的效果如图6a至图6c所示。4)记录车辆底部阴影区域几何中心坐标。该坐标作为待定的目标测距点。摄像头三维姿态判定模块的思想是:通过分析车道线在图像中的变化情况对摄像头当前的三维姿态:正常姿态、俯仰角变化、旋转、车辆偏离车道进行判断。车道线的几种变化情况如图7a至图7c所示。判断标准是:若最新获取的m幅目标图像中的车道线的交点横纵坐标的变化均小于允许的最大差值,则认为此时摄像头处于正常姿态;若这些坐标中多个坐标的纵坐标值的变化超过了允许的最大差值,且其横坐标变化不大,则认为摄像头产生了俯仰角的变化;若这些坐标中有多个坐标的横纵坐标值的变化均超过了允许的最大差值,则认为摄像头产生了旋转;若这些坐标中横坐标值的变化近乎全部超过允许的最大差值,且纵坐标变化不大,或者检测到其中一条车道线位于车辆下方,则认为车辆偏离了原来车道。摄像头三维姿态判定的流程图如图8所示。防抖动测距模块的思想是:当摄像头处于正常姿态时,取最新获取的m个待定测距点的横纵坐标的平均值为最终的目标测距点的坐标;当摄像头产生了俯仰角变化时,从最新获取的m个待定测距点中选取纵坐标变化最小的m1个坐标,取横纵坐标的平均值为最终的目标测距点的坐标;若摄像头产生了旋转,则从最新获取的m个待定测距点中选取横纵坐标变化均为最小的m2个坐标,取横纵坐标的平均值为最终的目标测距点的坐标;若车辆偏离了原车道,则以当前获取的坐标为最终的测距坐标。该模块流程图如图9所示。得到最终的测距坐标后,结合基本的单目测距模型(如图10所示),计算出前方车辆距离本车的距离d,测距公式为:式中,h为车载摄像头的安装高度,α为车载摄像头的俯仰角度,y为最终的目标测距点的纵坐标,y0为车载摄像头光轴与像平面的交点的纵坐标值,f为车载摄像头的焦距。以下结合具体数据来进一步说明本发明:本发明的实施案例如下:1、打开车载摄像头,启动车载测距系统。该系统可以烧录到芯片并嵌入到专用的摄像头中,也可以对现有的行车记录仪加以改进,或将该系统集成到现有的导航系统中并增加摄像头模块;2、输入摄像头安装高度信息以及天气状况信息并保存;3、系统运行后首先执行图像预处理模块,对从摄像头获取的图像进行处理,效果如图11所示;4、车辆检测模块,对图像进行预处理后,系统会进行前方车辆的检测。首先利用车辆底部阴影特征快速获取车辆位置信息,效果图12所示:图12中检测到了阴影区域后,由于无法判断是否是道路阴影而非车辆底部阴影,所以需要利用车辆尾灯特征验证目标的真实性,其效果图13所示。图13中检测到了车辆尾灯信息,说明图12中检测到的车辆底部阴影特征为真实信息。此时需要记录该车辆底部阴影区域几何中心的坐标值为(426,331),作为待定的测距点坐标;5、摄像头三维姿态判定模块,判断摄像头当前的三维姿态;系统中设定车道线交点横纵坐标变化的最大允许差值均为7。此时刻,最新获取的车道线交点坐标如表1所示:序号坐标1(433,184)2(437,187)3(436,177)4(439,186)5(429,181)6无效7无效表1最新获取的车道线交点坐标(表中“无效”表示未检测到车道线)根据表1中的数据,5个有效坐标中后4个坐标与第1个坐标相比横纵坐标值的变化均未超过允许的最大差值,因此根据模块5的判断依据可以断定此时摄像头处于正常姿态。6、防抖动测距模块,获取目标测距点,进行测距;此时刻,系统中保存的待定的测距点坐标如表2所示:序号待定测距点的坐标1(424,332)2(424,332)3(426,331)4(427,331)5(426,330)6(425,330)7(426,331)表2最新获取的待定测距点的坐标根据防抖动测距模块中最终测距点的选取方法,此时摄像头处于正常姿态,因此取所有待定目标测距点的横纵坐标的均值为最终目标测距点的坐标,即为(425.4286,331.0000);将该坐标带入模块6中的测距公式,计算得到前方车辆距离本车的距离(包括本车车头的长度在内)为:6.736m。7、预警信息输出模块。6.736米的距离低于安全车距,此时系统发出语音提示,提醒驾驶人员保持安全车距。当前第1页1 2 3