首页> 中国专利> 基于地平线搜索的自动灭点标定方法及系统

基于地平线搜索的自动灭点标定方法及系统

摘要

本发明公开了基于地平线搜索的自动灭点标定方法及系统,方法包括:建立地平线位置模板;据当前地平线位置,生成所述地平线所对应的逆透视变换矩阵;通过所述逆透视变换矩阵生成所述地平线对应的俯视图;在俯视图中进行直线检测,判定该地平线是否正确;若正确,则将俯视图中检测到的直线经过逆透视变换到透视图上,取这些直线在透视图的交点作为灭点;若不正确,则根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。本发明利用循环搜索的方法,将搜索压力分摊到时间维度,运算资源消耗低。另外,本发明无需任何先验条件,即可实现全自动标定灭点,真正意义上的实现自动灭点标定。

著录项

  • 公开/公告号CN106228531A

    专利类型发明专利

  • 公开/公告日2016-12-14

    原文格式PDF

  • 申请/专利权人 开易(北京)科技有限公司;

    申请/专利号CN201610492617.9

  • 发明设计人 刘鹏;

    申请日2016-06-27

  • 分类号G06T7/00;G06K9/00;

  • 代理机构北京卓唐知识产权代理有限公司;

  • 代理人龚洁

  • 地址 100036 北京市海淀区翠微中里14号楼三层A121

  • 入库时间 2023-06-19 01:07:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-20

    授权

    授权

  • 2017-01-11

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20160627

    实质审查的生效

  • 2016-12-14

    公开

    公开

说明书

技术领域

本发明涉及图像处理领域,特别涉及基于地平线搜索的自动灭点标定方法及系统。

背景技术

基于视觉算法的高级驾驶辅助系统(ADAS),灭点位置是其中各项技术的关键输入信息,包括前车距离计算、行人距离估算、车道线检测。由于摄像头安装的差异性,导致灭点在所获取的图像中的位置千差万别,现有的ADAS系统一般通过人工标定或者自动标定确定灭点的位置。人工标定一般需要专业技术人员精确安装,成本过高,不做讨论。在自动标定灭点的方法中,常用方法包括:

1.通过全图检测直线或车道线的方法

本方法多通过在原图中用边缘滤波的方法过滤图像,再通过霍夫变换检测直线。在检测到的直线中,两两求交点,在所得的交点中,过滤掉不在图像中心区域的点,并以剩余点的均值位置作为灭点。

2.借助G-sensor传感器和车道线检测

本方法借助G-sensor传感器,获得摄像头俯仰角,然后根据成像原理估算出图像的地平线位置。然后利用车道线检测模块,取多条车道线的交点作为灭点。

3.借助前车检测和车道线检测

前车高度与摄像头高度的比例关系与地平线位置有以下关系:

>hoht=vt-vbvo-vb>

其中h0表示前车真实高度,hc表示摄像头真实高度,vt为前车顶端在图像中的纵坐标,vb为前车底端在图像中的纵坐标,vo地平线纵坐标。

反推可得:

>v0=hc(vt-vb)ho+vb>

由于轿车高度浮动范围很小,h0近似为1.5m,其余变量也均为已知。由此可以估算出地平线的位置。然后在已知地平线位置的前提下,利用车道线检测模块,取多条车道线的交点作为灭点。

上述方法存在如下的缺陷:

在方法1中,在不确定地平线的情况下,在全图范围内进行直线检测需要消耗大量的计算资源,且有许多干扰直线(例如路面文字、路边栏杆等)并不汇聚在灭点处,会对结果造成影响。

在方法2中,依赖于硬件,G-sensor的硬件工艺会直接影响地平线的估算结果,细微的偏差就会导致灭点估算错误,过程不可控。

在方法3中,依赖于前车检测模块,当前方无车辆或者车辆检测不准确的情况下,会导致地平线估算错误,从而影响灭点的标定结果。

发明内容

本发明要解决的技术问题是,不依赖于前车检测和G-sensor的硬件,进行自动灭点标定。

解决上述技术问题,本发明提供了一种基于地平线搜索的自动灭点标定方法,包括:

建立地平线位置模板;

据当前地平线位置,生成所述地平线所对应的逆透视变换矩阵;

通过所述逆透视变换矩阵生成所述地平线对应的俯视图;

在俯视图中进行直线检测,判定该地平线是否正确;

若正确,则将俯视图中检测到的直线经过逆透视变换到透视图上,取这些直线在透视图的交点作为灭点;

若不正确,则根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。

更进一步,选取11个备选地平线位置,建立如下地平线位置模板:

{y0、y1、y2、y3、y4、y5、y6、y7、y8、y9、y10},选取图像中部区域的11条相隔均匀的横线。

更进一步,生成所述地平线所对应的逆透视变换矩阵的方法如下:

计算逆透视变换矩阵T-1与地平线中心点P0的函数;

Tn-1=f-1(yn)

其中,P0的纵坐标为地平线坐标yn,横坐标为固定值是透视图像宽度的一半。

更进一步,在俯视图中进行直线检测结果通过直线的两个端点表示:

检测到的直线L=((xP,yp),(xQ,yQ)),

其中,(xP,yp),(xQ,yQ)分别为上端点P和下端点Q的坐标,直线上下两个端点的坐标可表示对应直线。

更进一步,在俯视图中进行直线检测,判定该地平线是否正确时,

若任意两条直线与x轴的夹角满足下面条件时平行,即在俯视图上,检测到的直线与x轴的夹角

12|≤ε

ε是判定两条直线是否平行的最小角度差的阈值。

更进一步,其中ε=5°。

更进一步,其中与x轴的夹角可通过直线的端点坐标求得:

>α=arctan(xQ-xPyQ-yP)>

其中,xP,yp和xQ,yQ分别为上端点P和下端点Q的坐标。

更进一步,判定该地平线是否正确包括如下条件:

若连续10帧内有至少3帧地平线满足平行条件,则认为地平线是正确的。

本发明还提供了一种基于地平线搜索的自动灭点标定系统,包括:

模板单元,建立地平线位置模板;

俯视图生成单元,据当前地平线位置,生成所述地平线所对应的逆透视变换矩阵;通过所述逆透视变换矩阵生成所述地平线对应的俯视图;

直线检测单元,用以在俯视图中进行直线检测;

验证平行线单元,用以判定该地平线是否正确;若正确,则将俯视图中检测到的直线经过逆透视变换到透视图上,取这些直线在透视图的交点作为灭点;若不正确,则根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。

更进一步,还包括搜索单元,用以在验证平行线单元判定该地平线不正确时,根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。直到验证通过为止。如果所有地平线都未通过验证,则重新从第一个地平线开始重复验证。

本发明的有益效果:

1)本发明基于地平线搜索的自动灭点标定方法,在俯视图中进行直线检测,判定该地平线是否正确;若正确,则将俯视图中的地平线经过透视变换到透视图上,取该些地平线在透视图中的交点作为灭点;若不正确,则按照地平线位置模板继续搜索下一帧的地平线位置。本发明利用循环搜索的方法,将搜索压力分摊到时间维度,运算资源消耗低。

2)本发明无需任何先验条件,即可实现全自动标定灭点,通过建立地平线位置模板;在所述地平线位置模板中根据检测到的当前地平线坐标,生成所述地平线所对应的逆透视变换矩阵;通过所述逆透视变换矩阵生成所述地平线对应的俯视图;在俯视图中进行直线检测,判定该地平线是否正确。

3)在本发明中的灭点是指,视野正前方极远处的点,即地平线与视线正前方的交点,灭点是视野内前后延伸的直线(车道线)的汇聚点。在基于视觉算法的高级驾驶辅助系统(ADAS)中,灭点位置是其中各项技术的关键输入信息,包括但不限于前车距离计算、行人距离估算、车道线检测。所以对于ADAS有着很大的价值和作用。

附图说明

图1是本发明基于地平线搜索的自动灭点标定方法的流程示意图。

图2是图1中建立地平线位置模板模拟示意图。

图3(a)—图3(c)是图1中生成的俯视图示意图。

图4是图1中验证地平线是否为平行线的示意图。

图5是图1中的灭点找寻方法示意图。

图6是本发明基于地平线搜索的自动灭点标定系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是本发明基于地平线搜索的自动灭点标定方法的流程示意图。

步骤S100建立地平线位置模板;

步骤S101据当前地平线位置,生成所述地平线所对应的逆透视变换矩阵;

步骤S102通过所述逆透视变换矩阵生成所述地平线对应的俯视图;

步骤S103在俯视图中进行直线检测,

步骤S104判定该地平线是否正确;

步骤S105若正确,则将俯视图中检测到的直线经过逆透视变换到透视图上,取这些直线在透视图的交点作为灭点;

步骤S106若不正确,则根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。

本实施例中的自动灭点标定方法,无需任何先验条件,即可实现全自动标定灭点,通过建立地平线位置模板;在所述地平线位置模板中根据检测到的当前地平线坐标,生成所述地平线所对应的逆透视变换矩阵;通过所述逆透视变换矩阵生成所述地平线对应的俯视图;在俯视图中进行直线检测,判定该地平线是否正确。

作为本实施例中的优选,在所述步骤S100中选取11个备选地平线位置,建立如下地平线位置模板:

{y0、y1、y2、y3、y4、y5、y6、y7、y8、y9、y10}。

作为本实施例中的优选,在所述步骤S100中步骤S101生成所述地平线所对应的逆透视变换矩阵的方法如下:

计算逆透视变换矩阵T-1与地平线中心点P0的函数;

Tn-1=f-1(yn)

其中,P0的纵坐标为地平线坐标yn,横坐标为固定值是透视图像宽度的一半。

作为本实施例中的优选,在步骤S103中在俯视图中进行直线检测结果通过直线的两个端点表示:

检测到的直线L=((xP,yp),(xQ,yQ)),

其中,(xP,yp),(xQ,yQ)分别为上端点P和下端点Q的坐标。

作为本实施例中的优选,在步骤S104中在俯视图中进行直线检测,判定该地平线是否正确时,

若任意两条直线与x轴的夹角满足下面条件时平行,

12|≤ε

ε是判定两条直线是否平行的最小角度差的阈值,其中ε=5°。

作为本实施例中的优选,其中与x轴的夹角可通过直线的端点坐标求得:

>α=arctan(xQ-xPyQ-yP)>

其中,xP,yp和xQ,yQ分别为上端点P和下端点Q的坐标。

作为本实施例中的优选,步骤S105中判定该地平线是否正确包括如下条件:

若连续10帧内有至少3帧地平线满足平行条件,则认为地平线是正确的。

发明原理:

首先,利用俯视图逆透视变换与地平线坐标的函数关系,生成当前地平线所对应的逆透视变换矩阵T-1。之后的连续10帧图像内,用此T-1生成俯视图,并进行直线检测。若10帧内有超过3帧检测到的直线呈现平行关系,则退出搜索。若无法满足退出条件,则更换地平线,重复上述步骤继续验证,直到退出搜索为止。搜索成功后,对俯视图中的平行直线进行透视变换,取其在透视图中的交点作为灭点。

具体地,本发明将搜索的概念引入到灭点标定中,循环搜索地平线位置。

如图2所示,是图1中建立地平线位置模板模拟示意图。图中标记的线涵盖了绝大部分摄像头安装情况下地平线在图像中的位置。每条地平线对应的纵坐标记为yn。从y0开始,对每一条地平线进行连续10帧的验证,如果未满足退出条件,则跳到下一条地平线继续验证。如果搜索到y10依然没有退出搜索,则继续从y0重新开始。

由于在实际应用场景中,摄像头捕捉的图像在实时变化,每一帧图像包含的信息量都不相同。并且,灭点的标定并不要求即刻完成,仅需要在一定时间内尽可能准确地完成标定。所以,本发明并没有在同一帧图像遍历所有的搜索目标,而是采用了循环搜索的方法,将搜索压力分摊到了时间维度,每10帧验证一条地平线,不会在一帧内产生大量运算。

1).俯视图生成

地平线验证过程的第一步是生成俯视图,俯视图是将透视视角图像的车道线区域通过逆透视变换转换为俯视视角。

计算逆透视变换矩阵T-1的方法已经非常成熟,在OPENCV里就有对应的函数,在此不再介绍技术细节。根据地平线中心点计算逆透视变换矩阵的方法已非常成熟,本发明不再展开介绍。

此处只需知道T-1是地平线中心点P0的函数,P0的纵坐标为地平线坐标yn,横坐标为透视图像宽度的一半,是固定值。所以,Tn-1仅与yn相关。

Tn-1=f-1(yn)

图3(a)—图3(c)是图1中生成的俯视图示意图,其中图3(a)—图3(c)分别是y4,y5,y6地平线对应的俯视图。

2).直线检测

在俯视图中进行直线检测,由于俯视图的尺寸比原图小很多,所以直线检测的速度很快。直线检测的方法非常普遍,例如霍夫变换和增强投影的方法,此处不再详述技术细节。

检测到的直线L,用上端点P和下端点Q的坐标表示:

L=((xP,yP),(xQ,yQ))

3).验证平行线

由上面的俯视图可见,若当前地平线是正确的,那么在透视视角中汇聚于灭点(例如车道线)的直线在俯视视角中是呈平行的。利用这一条先验知识,可以判定地平线是否正确。

如图4所示,是图1中验证地平线是否为平行线的示意图,若任意两条直线与x轴的夹角满足下面条件,则平行。

12|≤ε

经过大量实验,ε=5°。

直线与x轴的夹角可通过直线的端点坐标求得:

>α=arctan(xQ-xPyQ-yP)>

若连续10帧内有3帧或3帧以上满足平行条件,则认为地平线是正确的,退出搜索流程。

最后,将俯视图中的平行直线经过透视变换到透视图上。透视变换是逆透视变换的反变换,在OPENCV里有对应函数,在此不再详述。

如图5所示是图1中的灭点找寻方法示意图,作逆透视变换的反变换得到透视变换:

(P'x,y,Q'x,y)=f(Px,y,Qx,y)

取该些地平线在透视图中的交点作为灭点,灭点坐标的计算方法可按照如下公式:

>xvpoint=(yQ2,-yQ1,)×xP1,×xP2,+(yP2,-yP1,)×xQ1,×xQ2,+(yP1,-yQ2,)×xP2,×xQ1,+(yQ1,-yP2,)×xP1,×xQ2,(yP1,-yQ1,)×(xP2,-xQ2,)+(xP1,-xQ1,)×(yQ2,-yP2,)>

>yvpoint=(xQ2,-xQ1,)×yP1,×yP2,+(xP2,-xP1,)×yQ1,×yQ2,+(xP1,-xQ2,)×yP2,×yQ1,+(xQ1,-xP2,)×yP1,×yQ2,(xP1,-xQ1,)×(yP2,-yQ2,)+(yP1,-yQ1,)×(xQ2,-xP2,)>

如图6所示是本发明基于地平线搜索的自动灭点标定系统的结构示意图。

本实施例中的基于地平线搜索的自动灭点标定系统10,包括:

模板单元1,建立地平线位置模板;

俯视图生成单元2,据当前地平线位置,生成所述地平线所对应的逆透视变换矩阵;通过所述逆透视变换矩阵生成所述地平线对应的俯视图;

直线检测单元3,用以在俯视图中进行直线检测;

验证平行线单元4,用以判定该地平线是否正确;若正确,则将俯视图中检测到的直线经过逆透视变换到透视图上,取这些直线在透视图的交点作为灭点;若不正确,则根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。

作为本实施例的优选,自动灭点标定系统10还包括搜索单元5,用以在验证平行线单元判定该地平线不正确时,根据地平线位置模板,将下一条地平线作为当前地平线,继续验证。直到验证通过为止。如果所有地平线都未通过验证,则重新从第一个地平线开始重复验证。

本实施例中的自动灭点标定系统,在搜索单元5中利用循环搜索的方法,将搜索压力分摊到时间维度,运算资源消耗低。

所属领域的普通技术人员应当理解:以上,所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号