本发明涉及一种限高预警方法,尤其涉及一种基于双目立体视觉的限高预警方法。
背景技术:
随着经济的发展,城市交通运输也随之蓬勃发展,在城市交通的一些道路,为限制超高车辆的通过,往往会增加限高障碍物,避免过高车辆发生卡桥、撞桥等事故的发生,保证道路的正常通行。但是此类交通事故依然还是会时有发生,目前,车辆上依然没有有效的准确检测前方限高障碍物的装置,需要驾驶员进行自主观察,这样往往导致驾驶员估计错误等情况的发生而产生事故,而且还容易发生驾驶员疏忽的情况。
例如,申请公布号为cn105915846a,名称为“一种单双目复用的入侵物监测方法及系统”的中国专利公开了一种入侵物的监测方法其技术方案为:拍摄背景图像;第一摄像机采集监控区域的监控视频图像;根据背景图像与第一摄像机采集的监控视频图像确定监控区域是否有入侵物进入,如是则控制第二摄像机启动,否则重复前步骤与本步骤;根据第一摄像机拍摄的视频图像及第二摄像机拍摄的视频图像计算入侵物的空间三维坐标及监控区域中被保护物的空间三维坐标,确定入侵物与被保护物的空间距离以及入侵物的运动速度;根据入侵物与被保护物的空间距离以及入侵物的运动速度确定入侵物的威胁等级等。本技术方案虽然公开了一种双目视觉检测入侵物的方法,但其只能在视频图像中检测到有入侵物存在,而在城市道路交通这种复杂环境中,该方案只能检测出道路前方存在障碍物,而无法运用到车辆行驶过程中检测限高障碍物。
技术实现要素:
本发明的目的在于提供一种基于双目立体视觉的限高预警方法,能够在车辆行驶过程中实施检测前方的限高障碍物。
为实现上述发明目的,本发明提供一种基于双目立体视觉的限高预警方法,包括:
s1.基于双目摄像头摄取的原始图像获得所述原始图像的视差图,以及在世界坐标系中获取所述车辆当前的行驶路径;
s2.计算所述视差图中的每一个像素点投影到所述世界坐标系中的第一坐标;
s3.根据所述第一坐标判断所述视差图中相对应的像素点是否在所述行驶路径中,若是,则将该所述像素点投影到所述世界坐标系中与所述双目摄像头像面相平行的竖直坐标平面上;
s4.基于所述竖直坐标平面上预设的高度区域判断是否存在障碍物,若存在,则获取所述障碍物的平均高度;
s5.重复步骤s1至s4对所述障碍物进行多帧的判定与跟踪,进一步确认该所述障碍物为限高标志并发出预警。
根据本发明的一个方面,步骤s5中,重复步骤s1至s4对所述障碍物进行多帧的判定与跟踪,进一步确认该所述障碍物为限高标志并发出预警的步骤中,判断所述障碍物是否为静止障碍物,若是,则所述障碍物为限高标志并将其平均高度与所述车辆的车身最高高度对比,若所述平均高度低于所述车身最高高度,则发出限高警报
根据本发明的一个方面,所述世界坐标系基于所述双目摄像头建立,其中,所述世界坐标系的坐标系原点为所述双目摄像头中的单个摄像头的光心到路面的垂点,y轴为一条以坐标系原点为起点垂直与路面的坐标轴,x轴为一条以坐标系原点为起点位于路面并且与所述车辆中轴线垂直的坐标轴,z轴为一条以坐标系原点为起点位于路面并且垂直于x轴的坐标轴。
根据本发明的一个方面,步骤s4中,在所述世界坐标系中,由近到远获取单位深度处所述像素点在所述竖直坐标平面上预设高度区域内的占位数,并将所述占位数与预设阈值比较,若所述占位数大于所述预设阈值,则当前图像中存在障碍物。
根据本发明的一个方面,步骤s5中,包括:
s51.重复步骤s1至s4,若所述高度区域一直存在所述障碍物,则获取所述障碍物的第一运动速度,以及根据所述can总线信息获取所述车辆的第二运动速度;
s52.对比所述第一运动速度和所述第二运动速度,若所述第一运动速度和所述第二运动速度的差值小于预设阈值,则所述障碍物为静止障碍物。
根据本发明的一个方面,步骤s2中采用三维高斯计投影法计算所述第一坐标。
根据本发明的一个方面,步骤s2中,计算所述视差图中的每一个像素点投影到所述世界坐标系中的第一坐标的步骤中,所述第一坐标满足:
其中,xt是所述第一坐标在所述世界坐标系中x轴的坐标值,yt是所述第一坐标在所述世界坐标系中y轴的坐标值,zt是所述第一坐标在所述世界坐标系中z轴的坐标值,xt是所述像素点在所述视差图中的横坐标值,yt是所述像素点在所述视差图中的纵坐标值,camerah是所述双目摄像头的高度,b是所述双目摄像头的基线距离,f是所述双目摄像头的焦距,(u0,v0)是所述双目摄像头中单个摄像头的光心坐标,dt是所述视差图中的图像坐标系中点的视差值。
根据本发明的一个方面,步骤s2中,还包括:根据所述第一坐标获取所述视差图中的每一个像素点投影到所述世界坐标系中的概率分布值,所述概率分布值满足:
其中,u为像素点在所述世界坐标系中x轴的坐标测量值,v为像素点在所述世界坐标系中y轴的坐标测量值,d为像素点在所述世界坐标系中z轴的视差测量值,u0为像素点在所述世界坐标系中x轴的坐标估计值,v0为像素点在所述世界坐标系中y轴的坐标估计值,d0为像素点在所述世界坐标系中z轴的视差估计值。
根据本发明的一个方面,步骤s1中,在世界坐标系中获取所述车辆当前的行驶路径的步骤中,基于车辆的can总线信息和所述双目摄像头的标定信息获取在世界坐标系中所述车辆当前的行驶路径。
根据本发明的一个方面,步骤s1中,在世界坐标系中获取所述车辆当前的行驶路径的步骤中,以所述世界坐标系中的z轴为对称轴,获取具有所述车辆一个车宽的可行驶区域,并基于所述可行驶区域获取所述行驶路径。
根据本发明的一种方案,通过将双目摄像头采集的图像投影到世界坐标系中,并根据世界坐标系获取当前车辆的行驶路径,从而保证了投影后的像素点的坐标与车辆的行驶路径能够处于同一世界坐标系下,从而保证了本发明的限高预警方法能够准确判断出处于车辆行驶路径上的像素点。通过判断图像坐标系中某一个像素点的世界坐标是否存在于车辆的行驶路径内,可以减少计算的像素点数,从而加快计算速度。尤其对于提高车辆实时行驶过程中障碍物的判断速度有利。另外,将处于车辆行驶路径上的像素点投影到与双目摄像头像面相平行的数值坐标平面(即xy平面)上,进而可以方便且快速的判断处于不同深度位置的像素点的高度,进而可以方便且快速的计算出在当前图像中是否存在障碍物,有效简化了本发明的计算步骤,加快了本发明的计算效率,有效满足了在车辆行驶过程中的实时性要求。
根据本发明的一种方案,通过多次重复计算多帧图像上的障碍物,通过判断检测出的障碍物是否为静止障碍物,从而可以有效剔除移动障碍物等的干扰,提高了本发明的检测精度,保证了本发明实时检测的准确性。当检测出的障碍物为静止障碍物且其高度低于车身最高高度时,可以发出预警,不仅有效提示了驾驶员,保证了驾驶过程中的安全,而且检测距离远,避免了车辆与障碍物距离过近无法及时制动的情况。
附图说明
图1示意性表示根据本发明的一种实施方式的限高预警方法的步骤框图;
图2示意性表示根据本发明的一种实施方式的限高预警方法的世界坐标系图;
图3示意性表示根据本发明的一种实施方式的限高预警方法流程图;
图4示意性表示根据本发明的一种实施方式的双目摄像头获取图像中行驶路径图;
图5示意性表示根据本发明的一种实施方式的双目摄像头获取图像的视差图;
图6示意性表示根据本发明的一种实施方式的处于行驶路径上的障碍物的投影图。
具体实施方式
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在针对本发明的实施方式进行描述时,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”所表达的方位或位置关系是基于相关附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。
如图1所示,根据本发明的一种实施方式,本发明的一种基于双目立体视觉的限高预警方法,包括:
s1.基于双目摄像头摄取的原始图像获得原始图像的视差图,以及在世界坐标系中获取车辆当前的行驶路径;
s2.计算视差图中的每一个像素点投影到世界坐标系中的第一坐标;
s3.根据第一坐标判断视差图中相对应的像素点是否在行驶路径中,若是,则将该像素点投影到世界坐标系中与双目摄像头像面相平行的竖直坐标平面上;
s4.基于竖直坐标平面上预设的高度区域判断是否存在障碍物,若存在,则获取障碍物的平均高度;
s5.重复步骤s1至s4对障碍物进行多帧的判定与跟踪,进一步确认该障碍物为限高标志并发出预警。
如图2所示,根据本发明的一种实施方式,世界坐标系基于双目摄像头建立。在本实施方式中,世界坐标系的坐标系原点o为双目摄像头之间中点位置到路面的垂点,y轴为一条以坐标系原点为起点垂直与路面的坐标轴,x轴为一条以坐标系原点为起点位于路面并且与车辆中轴线垂直的坐标轴,z轴为一条以坐标系原点为起点位于路面并且垂直于x轴的坐标轴。在本实施方式中,双目摄像头并排设置在车辆前端的中间位置。通过上述设置,基于本发明的双目摄像头建立世界坐标系,从而保证了本发明的限高预警方法能够具有统一的坐标参照,保证了数目摄像头采集的图像进行投影过程中的一致性,保证了本发明的限高预警方法的准确性。
结合图1和图3所示,根据本发明的一种实施方式,步骤s1中,基于双目摄像头摄取的原始图像获得原始图像的视差图的步骤中,通过双目摄像头分别获取两幅无畸变的原始图像(即左摄像头和右摄像头分别获取左右两幅无畸变的原始图像),并且采用立体匹配算法对获取的两幅无畸变的原始图像求出视差图(参见图5所示)。在本实施方式中,通过采用boxfilter算法获取视差图,其获取的视差图精度高且计算速度快。
结合图2、图3和图5所示,根据本发明的一种实施方式,步骤s1中,在世界坐标系中获取所述车辆当前的行驶路径的步骤中,基于车辆的can总线信息和双目摄像头的标定信息获取在世界坐标系中车辆当前的行驶路径。在本实施方式中,以世界坐标系中的z轴为对称轴,获取具有车辆一个车宽的可行驶区域,即可行驶区域以世界坐标系的z轴为对称轴对称设置。获取车辆的可行驶区域后,基于可行驶区域获取车辆的行驶路径。在本实施方式中,基于车辆的can总线,有效支持分布式控制或实时控制的串行通讯网络,通过相关的串行通讯协议,可以实时的获取车辆的的相关信息即车辆的can总线信息,例如:车辆转向角、油门、刹车等信息。
结合图2和图4所示,根据本发明的一种实施方式,步骤s2中,采用三维高斯计投影法计算视差图中的每一个像素点投影到世界坐标系中的第一坐标。在本实施方式中,第一坐标满足:
其中,xt是第一坐标在世界坐标系中x轴的坐标值,yt是第一坐标在世界坐标系中y轴的坐标值,zt是第一坐标在世界坐标系中z轴的坐标值,xt是像素点在视差图中的横坐标值,yt是像素点在视差图中的纵坐标值,camerah是双目摄像头的高度,b是双目摄像头的基线距离,f是双目摄像头的焦距,(u0,v0)是双目摄像头中间位置的坐标,dt是视差图中的图像坐标系中点的视差值。通过上述方法减少了本发明在计算过程中的测量误差,提高了本发明的精度。
根据本发明的一种实施方式,步骤s2中,还包括:根据第一坐标获取视差图中的每一个像素点投影到世界坐标系中的概率分布值,概率分布值满足:
其中,u为像素点在世界坐标系中x轴的坐标测量值,v为像素点在世界坐标系中y轴的坐标测量值,d为像素点在世界坐标系中z轴的视差测量值,u0为像素点在世界坐标系中x轴的坐标估计值,v0为像素点在世界坐标系中y轴的坐标估计值,d0为像素点在世界坐标系中z轴的视差估计值。从上述公式中可看出,当像素点的坐标估计值与像素点的坐标测量值相同时,像素点在世界坐标系中的概率分布值最大。参见图2所示,在图2中的世界坐标系中,通过对像素点投影到世界坐标系中的概率分布计算,获取其概率分布曲线,位于曲线顶端位置的概率分布值最大,位于曲线底端位置的概率分布值最小。
如图4所示,根据本发明的一种实施方式,步骤s3中,通过实时获取车辆can总线信息,得到车辆的方向盘转角以及车速,通过测量得到车辆的宽度,这样就可以估计出车辆的世界坐标系中行驶路径的坐标。如果车辆直行,行驶路径就是长方形,如果车辆转弯,行驶路径就是同心圆弧形。通过估算出的车辆的行驶路径的坐标与像素点坐标进行比较即可判断出,当前像素点是否在车辆的行驶路径中。
结合图2和图3所示,根据本发明的一种实施方式,步骤s4中,在世界坐标系中,由近到远获取单位深度处像素点在竖直坐标平面上预设高度区域内的占位数,并将占位数与预设阈值比较,若占位数大于预设阈值,则当前图像中存在障碍物。在本实施方式中,在世界坐标系中,沿z轴方向,由近至远获取单位深度像素点在竖直坐标平面上预设高度区域(例如距离地面2m至5m的范围)内的概率分布值,并将获取的概率分布值进行相加获取占位数。通过将占位数与预设阈值进行比较,若占位数大于预设阈值,则当前图像中存在障碍物。当存在障碍物时,根据像素点在竖直坐标平面上的坐标值获取该障碍物的平均高度。根据图5所示,根据步骤s1获取的视差图中,亮度越高则障碍物的概率越大,并通过步骤s3对图5中像素点是否在行驶路径中进行判断,从而生成图6所示的投影图像。参见图6所示,在本实施方式中,障碍物或限高标志如果投影到竖直坐标平面上,会形成一个类似于棒状的亮块,亮度的深浅就是代表了占位数的高低,一般的,障碍物越长,棒状越亮。而常用的限高标志的高度为2m至5m的范围内,因此采用上述预设高度区域的设定即可为了取roi以加快计算速度。
通过上述设置,通过将双目摄像头采集的图像投影到世界坐标系中,并根据世界坐标系获取当前车辆的行驶路径,从而保证了投影后的像素点的坐标与车辆的行驶路径能够处于同一世界坐标系下,从而保证了本发明的限高预警方法能够准确判断出处于车辆行驶路径上的像素点,从而减少了本发明的计算量。提高了本发明的计算速度,尤其对于提高车辆实时行驶过程中障碍物的判断速度有利。另外,将处于车辆行驶路径上的像素点投影到与双目摄像头像面相平行的数值坐标平面(即xy平面)上,进而可以方便且快速的判断处于不同深度位置的像素点的高度,进而可以方便且快速的计算出在当前图像中是否存在障碍物,有效简化了本发明的计算步骤,加快了本发明的计算效率,有效满足了在车辆行驶过程中的实时性要求。
根据本发明的一种实施方式,步骤s5中,包括:
s51.重复步骤s1至s4,若高度区域一直存在障碍物,则获取障碍物的第一运动速度,以及根据can总线信息获取车辆的第二运动速度。在本实施方式中,重复步骤s1至s4,对多帧连续图像进行处理,判断在竖直坐标平面上预设的高度区域是否一直存在障碍物,若存在,则根据多帧图像获取障碍物的第一运动速度。同时,根据can总线信息获取车辆的第二运动速度。
s52.对比第一运动速度和第二运动速度,若第一运动速度和第二运动速度的差值小于预设阈值,则障碍物为静止障碍物。当障碍物为静止障碍物时,根据前述步骤中获取的障碍物的平均高度与车辆的车身最高高度对比,若平均高度低于车身最高高度,则发出限高警报。在本实施方式中,限高警报可通过语音、图像、文字中的一种或多种的组合进行报警。
通过上述设置,通过多次重复计算多帧图像上的障碍物,通过判断检测出的障碍物是否为静止障碍物,从而可以有效剔除移动障碍物等的干扰,提高了本发明的检测精度,保证了本发明实时检测的准确性。当检测出的障碍物为静止障碍物且其高度低于车身最高高度时,可以发出预警,不仅有效提示了驾驶员,保证了驾驶过程中的安全,而且检测距离远,避免了车辆与障碍物距离过近无法及时制动的情况。
上述内容仅为本发明的具体方案的例子,对于其中未详尽描述的设备和结构,应当理解为采取本领域已有的通用设备及通用方法来予以实施。
以上所述仅为本发明的一个方案而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。