本申请涉及辅助驾驶技术领域,尤其涉及一种车载双目摄像机及其检测道路限高杆的方法、装置。
背景技术:
道路限高杆主要用于限制道路上行驶车辆的高度,以保障车辆和道路设施的安全。目前,在车辆行驶过程中,存在两种测量前方道路上布设的限高杆高度的方式,其中,方式一:预先以大量限高指示牌为样本,利用机器学习或深度学习算法训练得到一个识别模型,该识别模型以道路图像为输入,以限高指示牌上的具体数值为输出。基于该识别模型,则可以在行驶车辆上布设单目摄像机,用于采集道路图像,并将采集到的道路图像输入该识别模型中,从而得到限高杆高度;方式二:在行驶车辆上布设激光雷达,通过激光雷达对前方道路进行扫描,获取前方道路的景深图像,继而将该景深图像转换为三维点云,通过检测算法即可检测出道路上限高杆的高度。
然而,在上述方式一中,由于部分限高杆并非使用标准的限高指示牌来标识限高高度,甚至有些限高杆并不具有限高指示牌,以及部分限高杆的高度可调,因此,上述识别模型具有很大的局限性,从而通过上述方式一并无法准确地测量出限高杆的高度;在上述方式二中,一方面激光雷达价格昂贵,从而导致激光雷达的普及范围受限,另一方面,将景深图像转换为三维点云,在三维点云中检测限高杆的计算量较大,从而导致计算效率较低。
技术实现要素:
有鉴于此,本申请提供一种车载双目摄像机及其检测道路限高杆的方法、装置,以实现准确、高效地测量出道路限高杆的高度。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种车载双目摄像机检测道路限高杆的方法,所述方法包括:
在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域,其中,所述双目源图像包括第一源图像与第二源图像;
在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,其中,所述基准图像为所述第一源图像或所述第二源图像;
基于所述双目源图像的稠密视差图、v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标;
根据确定出的道路路面在所述基准图像中对应的纵坐标,与所述目标直线段在所述基准图像中对应的纵坐标,确定所述道路限高杆的高度。
根据本申请实施例的第二方面,提供一种车载双目摄像机检测道路限高杆的装置,所述装置包括:
检测区域确定模块,用于在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域,其中,所述双目源图像包括第一源图像与第二源图像;
视差图获取模块,用于基于所述双目源图像得到所述检测区域的稠密视差图与v视差图;
直线段检测模块,用于在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,其中,所述基准图像为所述第一源图像或所述第二源图像;
位置确定模块,用于基于所述稠密视差图、所述v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标;
高度确定模块,用于根据确定出的道路路面在所述基准图像中对应的纵坐标,与所述目标直线段在所述基准图像中对应的纵坐标,确定所述道路限高杆的高度。
由上述实施例可见,通过在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域;基于双目源图像得到检测区域的稠密视差图与v视差图;在基准图像中检测得到满足预设斜率范围的直线段,并在直线段中确定用于表示道路限高杆的目标直线段;基于稠密视差图、v视差图以及目标直线段的视差值,确定道路路面在基准图像中的对应的纵坐标;根据确定出的道路路面在基准图像中对应的纵坐标,与目标直线段在基准图像中对应的纵坐标,确定道路限高杆的高度。由于利用稠密视差图与v视差图可以准确、高效地检测到道路限高杆与道路路面,从而可以实现准确、高效地测量出道路限高杆的高度。
附图说明
图1为本申请一示例性实施例提供的一种车载双目摄像机检测道路限高杆的方法的实施例流程图;
图2a为包含道路限高杆的双目源图像的一种示例;
图2b为包含道路限高杆的双目源图像的另一种示例;
图3a为对应图2a的在基准图像中确定出的检测区域的一种示例;
图3b为对应图2b的在基准图像中确定出的检测区域的一种示例;
图4为真实场景中的路面检测区域和车辆的俯视图的一种示例;
图5a为对应图3a的检测区域的稠密视差图的一种示例;
图5b为对应图3b的检测区域的稠密视差图的一种示例;
图6a为对应图2a的基准图像的边缘图像的一种示例;
图6b为对应图2b的基准图像的边缘图像的一种示例;
图7a为对应图6a的基准图像的边缘二值化图像的一种示例;
图7b为对应图6b的基准图像的边缘二值化图像的一种示例;
图8a为对应图7a的在边缘二值化图像中去除远端物体的像素点之后的效果图的一种示例;
图8b为对应图7b的在边缘二值化图像中去除远端物体的像素点之后的效果图的一种示例;
图9为本申请一示例性实施例提供的另一种车载双目摄像机检测道路限高杆的方法的实施例流程图;
图10为本申请一示例性实施例提供的再一种车载双目摄像机检测道路限高杆的方法的实施例流程图;
图11a为对应图8a的在边缘二值化图像中检测出的直线段的一种示例;
图11b为对应图8b的在边缘二值化图像中检测出的直线段的一种示例;
图12a为对应图11a的目标直线段的一种示例;
图12b为对应图11b的目标直线段的一种示例;
图13a为对应图2a的在基准图像中框定出道路限高杆的一种示例;
图13b为对应图2b的在基准图像中框定出道路限高杆的一种示例;
图14为本申请一示例性实施例提供的又一种车载双目摄像机检测道路限高杆的方法的实施例流程图;
图15为本申请一示例性实施例提供的又一种车载双目摄像机检测道路限高杆的方法的实施例流程图;
图16为在v视差图中,拟合出的用于表示道路路面的路面相关线的一种示例;
图17为v视差图中,路面包络区域的一种示例;
图18为本申请一示例性实施例提供的一种车载双目摄像机检测道路限高杆的装置的实施例框图;
图19为本申请车载双目摄像机的一种硬件结构图。
具体实施方式
为了实现准确、高效地测量出道路限高杆的高度,本申请提出一种道路限高杆高度的确定方法。如下示出下述实施例对该道路限高杆高度的确定方法进行说明:
实施例一:
请参见图1,为本申请一示例性实施例提供的一种车载双目摄像机检测道路限高杆的方法的实施例流程图,该方法可以包括以下步骤:
步骤101:在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域。
在本申请实施例中,可以在车辆上布设车载双目摄像机,该车载双目摄像机具有左右两个摄像头,在一次图像采集过程中,该左右两个摄像头分别采集到一幅图像,为了描述方便,在本申请实施例中,将双目摄像机的两个摄像头所采集到的两幅图像分别称为第一源图像、第二源图像,该第一源图像与第二源图像可统称为双目源图像,例如,如图2a所示,为包含道路限高杆的源图像的一种示例,图2b为包含道路限高杆的源图像的另一种示例。
在一次图像采集过程中,获取到两幅双目源图像之后,可以分别在该两幅双目源图像中确定检测区域,该检测区域主要包括道路限高杆和道路路面所在区域,后续,则可主要针对该检测区域测量道路限高杆的高度。
为了描述方便,称检测区域包括限高杆检测区域和路面检测区域,
如下,以在双目源图像的基准图像中确定检测区域为例,对检测区域的确定过程进行说明:
首先说明,双目源图像的基准图像即为上述第一源图像和第二源图像中的一幅。
另外,在本申请实施例中,为了描述方便,可以称检测区域包括限高杆检测区域和路面检测区域,例如,如图3a所示,为在基准图像中确定出的检测区域的一种示例,如图3b所示,为在基准图像中确定出的检测区域的另一种示例,其中,图3a对应图2a,图3b对应图b。
(1)路面检测区域的确定过程:
本领域技术人员可以理解的是,由于物体在双目摄像机的取景画面中呈现出“近大远小”的特性,从而,基准图像中的路面检测区域近似于梯形,如图3a所示,假设路面检测区域的四个顶点分别为f1、f2、n1、n2,那么,计算出该四个顶点在图像坐标系(图像坐标系以基准图像的左上角为坐标原点,以水平向右为x轴正方向,以竖直向下为y轴正方向)中的坐标,则可以在基准图像中确定出路面检测区域。
在本申请实施例中,可以预先设定一个近端测量距离和一个远端测量距离,为了描述方便,将该近端测量距离记为dn,将该远端测量距离记为df,根据近端测量距离记为dn则可以计算出n1、n2在图像坐标系中的坐标,根据远端测量距离记为df则可以计算出f1、f2在图像坐标系中的坐标。
i)根据近端测量距离记为dn计算出n1、n2在图像坐标系中的坐标:
首先,根据下述公式(一)计算出近端测量距离dn对应的视差值,为了描述方便,将该视差值称为近端视差值,记为ndis_n。
在上述公式(一)中,b表示双目摄像机的基线长,f表示双目摄像机的焦距,p表示双目源图像中,一个像素点对应的实际距离。
后续,根据下述公式(二)计算出双目摄像机的中心与车辆中心之间的距离,记为d。
在上述公式(二)中,cl表示双目摄像机的中心与车辆左侧之间的距离,cr表示双目摄像机的中心与车辆右侧之间的距离。
最后,根据下述公式(三)计算出n1、n2在图像坐标系中的纵坐标ny,根据下述公式(四)计算出n1在图像坐标系中的横坐标nxl;根据下述公式(五)计算出n2在图像坐标系中的横坐标nxr。
在上述公式(三)中,hcamera表示双目摄像机的安装高度,himg表示图像像素高度。
在上述公式(四)与公式(五)中,dcar表示真实场景中的路面检测区域与车辆之间的距离,wimg表示图像像素宽度。
为了使本领域技术人员可以更加清楚地理解上述描述的cl、cr、d、以及dcar等参数,示出图4所示例的真实场景中的路面检测区域和车辆的俯视图。
ii)根据远端测量距离记为df计算出f1、f2在图像坐标系中的坐标:
首先,根据下述公式(六)计算出远端测量距离df对应的视差值,为了描述方便,将该视差值称为远端视差值,记为ndis_f。
后续,根据下述公式(七)计算出f1、f2在图像坐标系中的纵坐标fy,根据下述公式(八)计算出f1在图像坐标系中的横坐标fxl;根据下述公式(九)计算出f2在图像坐标系中的横坐标fxr。
(2)限高杆检测区域的确定过程:
以f1为起点,竖直向上绘制限高杆检测区域的左边界线,以f2为起点,竖直向上绘制限高杆检测区域的右边界线,最终效果如图3a所示。
步骤102:基于双目源图像得到检测区域的稠密视差图和v视差图。
在本申请实施例中,可以使用立体匹配算法,例如sgm半全局立体匹配算法获得稠密视差图,进而,根据上述步骤101确定出的检测区域,在该稠密视差图中仅保留检测区域的视差值,其他区域的视差值被置为0,得到检测区域的稠密视差图。例如,如图5a所示,为检测区域的稠密视差图的一种示例,如图5b所示,为检测区域的稠密视差图的另一种示例,其中,图5a对应图3a,图5b对应图3b。
至于检测区域的v视差图以及该v视差图的获取过程,本申请实施例不再详示。
步骤103:在基准图像中检测得到满足预设斜率范围的直线段,并在该直线段中确定用于表示道路限高杆的目标直线段。
在本申请实施例中,可以利用边缘检测算法,例如canny边缘检测算法、soble边缘检测算法、laplacian边缘检测算法、纵向梯度提取边缘检测算法等对基准图像进行边缘检测,其中,由于纵向梯度提取边缘检测算法相较于其他算法而言计算速度较快,从而可优先采用纵向梯度提取边缘检测算法对基准图像进行边缘检测,得到该基准图像的边缘图像。例如,如图6a所示,为基准图像的边缘图像的一种示例,如图6b所示,为基准图像的边缘图像的另一种示例,其中,图6a对应图2a,图6b对应图2b。
后续,针对基准图像的边缘图像进行二值化处理,得到基准图像的边缘二值化图像,例如,如图7a所示,为基准图像的边缘二值化图像的一种示例,如图7b所示,为基准图像的边缘二值化图像的另一种示例,其中,图7a对应图6a,图7b对应图6b。
至于二值化处理的具体过程,本领域技术人员可以参见现有技术中的描述,本申请对此不再详述。
后续,则可以在边缘二值化图像中检测得到多条直线段,其中,所检测出的直线段是完全水平或近似水平的,其斜率满足预设的斜率范围,受车载双目摄像机的拍摄角度影响,后续,则可以在该多条直线段中确定用于表示道路限高杆的目标直线段,具体如下:在本申请实施例中,考虑到对于远处物体的测量精度较低,从而可以在边缘二值化图像中,去除远端物体的像素点,例如,如图8a所示,为在边缘二值化图像中去除远端物体的像素点之后的效果图的一种示例,如图8b所示,为在边缘二值化图像中去除远端物体的像素点之后的效果图的另一种示例,其中,图8a对应图7a,图8b对应图7b,之后,再在去除远端物体像素点之后的边缘二值化图像中进行直线检测。
至于在边缘二值化图像中去除远端物体像素点的过程,可以参见下述图9所示实施例中的详细描述,在此先不作详述。
在本申请实施例中,针对去除远端物体像素点之后的边缘二值化图像进行直线检测时,可以采用图10所示例的方法。在此先说明,应用该方法进行直线检测,相较于直接利用传统的直线检测方法,例如最小二乘法、霍夫线检测等方法而言,检测效率较高。
通过执行本步骤,可以在边缘二值化图像中检测得到多条直线段,例如,如图11a所示,为在边缘二值化图像中检测出的直线段的一种示例,如图11b所示,为在边缘二值化图像中检测出的直线段的另一种示例,其中,图11a对应图8a,图11b对应图8b。
后续,进一步在该多条直线段中筛选出用于表示道路限高杆的直线段,为了描述方便,将用于表示道路限高杆的直线段称为目标直线段。在此先说明,最终确定出的目标直线段有两条,例如,如图12a所示,为目标直线段的一种示例,如图12b所示,为目标直线段的另一种示例,其中,图12a对应图11a,图12b对应图11b。
另外,基于目标直线段,则可以在基准图像中框定出道路限高杆,以便于本领域技术人员理解,如图13a所示,为在基准图像中框定出道路限高杆的一种示例,如图13b所示,为在基准图像中框定出道路限高杆的另一种示例,其中,图13a对应图2a,图13b对应图2b。
至于在该多条直线段中筛选出目标直线段的具体过程,可以参见下述图14所示实施例中的详细描述,在此先不作详述。
步骤104:基于稠密视差图、v视差图以及目标直线段的视差值,确定道路路面在基准图像中的对应的纵坐标。
在本申请实施例中,针对步骤104中筛选出的两条目标直线段,可以选取位于下端的目标直线段,也即对应的纵坐标最大的目标直线段(可以将目标直线段上每一像素点所对应的纵坐标中的最大值作为该目标直线段对应的纵坐标);后续,针对该纵坐标最大的目标直线段,结合稠密视差图,获取该目标直线段上每一像素点的视差值,将该些视差值中的中值确定为该目标直线段的视差值;后续,在v视差图中,确定该目标直线段的视差值所对应的列,例如,目标直线段的视差值为5,则在v视差图中确定出的列为第5列;后续,在v视差图的该列中,确定出具有最大像素值的像素点,为了描述方便,将该像素点称为目标像素点,最终,将该目标像素点的纵坐标确定为道路路面对应的纵坐标。
步骤105:根据确定出的道路路面在基准图像中对应的纵坐标,与目标直线段在基准图像中对应的纵坐标,确定道路限高杆的高度。
在本申请实施例中,可以通过如下公式(十)计算出道路限高杆的高度h:
在上述公式(十)中,yrold表示道路路面在基准图像中的纵坐标,ypole表示目标直线段在基准图像中的纵坐标,d表示目标直线段的视差值。
由上述实施例可见,通过在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域;基于双目源图像得到检测区域的稠密视差图与v视差图;在基准图像中检测得到满足预设斜率范围的直线段,并在直线段中确定用于表示道路限高杆的目标直线段;基于稠密视差图、v视差图以及目标直线段的视差值,确定道路路面在基准图像中的对应的纵坐标;根据确定出的道路路面在基准图像中对应的纵坐标,与目标直线段在基准图像中对应的纵坐标,确定道路限高杆的高度。由于利用稠密视差图与v视差图可以准确、高效地检测到道路限高杆与道路路面,从而可以实现准确、高效地测量出道路限高杆的高度。
至此,完成实施例一的相关描述。
实施例二:
请参见图9,为本申请一示例性实施例提供的另一种车载双目摄像机检测道路限高杆的方法的实施例流程图,该方法在上述图1所示方法的基础上,着重描述在边缘二值化图像中去除远端物体的像素点的过程,包括以下步骤:
步骤901:针对边缘二值化图像中的任一有效像素点,根据稠密视差图,确定该有效像素点和该有效像素点的左右两个相邻像素点各自的视差值,其中,有效像素点的像素值为第一预设值。
首先说明,在本申请实施例中,将边缘二值化图像中,像素值为第一预设值,例如255的像素点称为有效像素点。
在本步骤中,针对边缘二值化图像中的任一有效像素点(x,y),获取该有效像素点,以及该有效像素点的左右两个相邻像素点,例如像素点(x-1,y)和像素点(x 1,y)各自的视差值。
步骤902:若所确定出的视差值中,存在两个以上满足第一预设条件的视差值,则将该有效像素点的像素值重置为第二预设值。
在本申请实施例中,第一预设条件可以为:视差值小于预设的视差值阈值,其中,该视差值阈值可以为上述实施例一中所描述的远端视差值ndisf。
在本步骤中,若在步骤901确定出的三个视差值中,存在两个以上满足该第一预设条件的视差值,则可以将该有效像素点确定为远端物体像素点,去除远端物体像素点即可以指将远端物体像素点的像素值重置为第二预设值,例如0。
此外,为了去除远端物体像素点,也可以仅将有效像素点的视差值与远端视差值ndis_f进行比较,若小于该远端视差值ndis_f,则可以将该有效像素点确定为远端物体像素点。而在上述步骤901与步骤902中,是结合有效像素点左右两个像素点的视差值,共同判断该有效像素点是否为远端像素点的,通过该种处理,可以提高确定出的远端物体像素点的准确性。
由上述实施例可见,通过针对边缘二值化图像中的任一有效像素点,根据稠密视差图,确定该有效像素点和该有效像素点的左右两个相邻像素点各自的视差值,若所确定出的视差值中,存在两个以上满足第一预设条件的视差值,则将该有效像素点的像素值重置为第二预设值,可以准确地确定出远端物体像素点,并去除远端物体像素点,以提高后续确定道路限高杆的效率。
至此,完成实施例二的相关描述。
实施例三:
请参见图10,为本申请一示例性实施例提供的再一种车载双目摄像机检测道路限高杆的方法的实施例流程图,该方法在上述图1所示方法的基础上,着重描述针对去除远端物体像素点之后的边缘二值化图像进行直线检测的过程,包括以下步骤:
步骤1001:针对边缘二值化图像中的任一行,统计得到该行中有效像素点的个数,并确定该行在所述检测区域中对应的列数量。
在一实施例中,可以直接统计边缘二值化图像中,每一行上有效像素点的个数。
在另一实施例中,可以针对边缘二值化图像中的任一行,分别确定该行,和该行的上下两个相邻行中各自有效像素点的个数,之后,将这三行中各自有效像素点的个数进行加权求和,例如,按照如下公式(十一)进行加权求和处理,将得到的和值作为该行中有效像素点的个数。
ns=ny 0.5*ny-1 0.5*ny 1公式(十一)
本实施例的处理过程,相较于直接行中有效像素点的个数这一处理过程而言,可以增加鲁棒性。
在本步骤中,还可以确定每一行在检测区域中所跨列的数量,即每一行在检测区域中对应的列数量,记为t。
步骤1002:将有效像素点的个数与对应的列数量之间的关系满足第二预设条件的行,确定为目标行。
在一实施例中,针对边缘二值化图像中的每一行,若该行中有效像素点的个数与其对应的列数量之间满足第二预设条件,则可以将该行确定为目标行,其中,第二预设条件可以为:ns>1.5*t。
在另一实施例中,在通过上述第二预设条件,确定出目标行之后,还可以对目标行进行进一步筛选,在该实施例中,为了描述方便,将满足上述第二预设条件的行称为标记行,后续则是对标记行进一步筛选,得到目标行,具体过程如下:
确定标记行中是否存在连续的行,若存在,则在该些连续的行中,确定有效像素点个数最大的行;将该有效像素点个数最大的行,和标记行中不连续的行,共同确定为目标行。
步骤1003:针对任一目标行,在该目标行中检测得到满足预设斜率范围的直线段。
在本步骤中,仅针对目标行进行直线检测,得到满足预设斜率范围的直线段。
由上述实施例可见,通过针对边缘二值化图像中的任一行,统计得到该行中有效像素点的个数,并确定该行在所述检测区域中对应的列数量,将有效像素点的个数与对应的列数量之间的关系满足第二预设条件的行,确定为目标行,针对任一目标行,在该目标行中检测得到满足预设斜率范围的直线段,可以实现在边缘二值化图像中筛选出目标行,仅针对目标行进行直线段检测,通过该种处理,可以提高直线段检测的效率。
至此,完成实施例三的相关描述。
实施例四:
请参见图14,为本申请一示例性实施例提供的又一种车载双目摄像机检测道路限高杆的方法的实施例流程图,该方法在上述图1所示方法的基础上,着重描述在多条直线段中筛选出目标直线段的具体过程,包括以下步骤:
步骤1401:根据稠密视差图与v视差图,在直线段中确定出用于表示道路路面的路面直线段。
以图11a为例,通过执行本步骤,可以将图11a中最下端的直线段确定为用于表示道路路面的直线段,为了描述方便,将用于表示道路路面的直线段称为路面直线段,至于本步骤中确定路面直线段的详细过程还请参见下述图15所示实施例中的详细描述,在此先不作详述。
步骤1402:在除所路面直线段以外的其他直线段中,确定出孤立直线段。
首先说明,为了描述方便,在本申请实施例中,将相较于其他直线段而言,较为独立,也即距离较远的直线段称为孤立直线段。
在本步骤中,确定孤立直线段的具体过程包括:
针对除路面直线段以外的其他直线段,根据如下公式(十二),计算出直线段的距离值z:
在上述公式(十二)中,d表示直线段的视差值。
之后,确定距离值最小的直线段为基准线,针对除基准线以外的任一直线段,计算出该直线段与基准线之间距离值的差值,若该差值大于预设的差值阈值,则可以认为该直线段与基准线之间距离较远,从而可以将该直线段确定为孤立直线段。
步骤1403:将除路面直线段和孤立直线段以外的其他直线段作为备选直线段。
如图11a所示,除位于最下端的路面直线段以外的其他直线段均被确定为备选直线段;如图11b所示,图11b中的四条直线段均被确定为备选直线段。
步骤1404:若备选直线段的数量不大于2,则将备选直线段确定为用于表示道路限高杆的目标直线段;若备选直线段的数量大于2,则将备选直线段中,纵坐标最大和最小的直线段确定为表示道路限高杆的目标直线段。
在本步骤中,如图11a所示,具有两条备选直线段,则可以将该两条备选直线段均确定为用于表示道路限高杆的目标直线段;如图11b所示,备选直线段的数量为4条,那么,则可以将该4条备选直线段中,纵坐标最大和最小,也即最下端和最上端的两条备选直线段确定为目标直线段,最终确定出的目标直线段可以如图12a和图12b所示。
由上述实施例可见,通过根据稠密视差图、v视差图,在直线段中确定出用于表示道路路面的路面直线段,在除所路面直线段以外的其他直线段中,确定出孤立直线段,将除路面直线段和孤立直线段以外的其他直线段作为备选直线段,若备选直线段的数量不大于2,则将备选直线段确定为用于表示道路限高杆的目标直线段;若备选直线段的数量大于2,则将备选直线段中,纵坐标最大和最小的直线段确定为表示道路限高杆的目标直线段,可以实现在之前确定出的直线段中筛选出表示道路限高杆的目标直线段。
至此,完成实施例四的相关描述。
实施例五:
请参见图15,为本申请一示例性实施例提供的又一种车载双目摄像机检测道路限高杆的方法的实施例流程图,该方法在上述图14所示方法的基础上,着重描述在检测出的直线段中确定出用于表示道路路面的路面直线段的具体过程,包括以下步骤:
步骤1501:在v视差图中拟合出用于表示道路路面的路面相关线。
关于本步骤的详细过程,本领域技术人员可以参见现有技术中的描述,本申请对此不再详述。
如图16所示,为在v视差图中,拟合出的用于表示道路路面的路面相关线的一种示例。
步骤1502:基于路面相关线,在v视差图中确定路面包络区域。
在本申请实施例中,为了提高后续的测量精度,可以针对道路路面设定容忍范围,基于该容忍范围,可以在v视差图中确定出一个用于表示道路路面的区域,为了描述方便,将该区域称为路面包络区域,例如,如图17所示,为v视差图中,路面包络区域的一种示例,在图17中,两条虚线与v视差图的边界所围成的区域即为路面包括区域。
其中,基于容忍范围,在v视差图中确定路面包络区域的过程如下:
假设容忍范围为a米,那么,对应不同距离值下的视差值,可以按照如下公式(十三),计算出在不同距离值下,容忍距离a米的范围所包括的像素点个数,从而基于像素点个数在v视差图中确定路面包络区域。
在上述公式(十三)中,hp表示像素点个数,d为视差值。
具体的,可以基于预设的第一距离值,例如10米,在路面相关线上确定一个第一参考点,例如图17中所示的a点,并基于预设的第二距离值,例如5米,在路面相关线上确定一个第二参考点,例如图17中所示的b点。
然后,可以按照如下公式(十三),分别计算出在第一距离值和第二距离值下,容忍距离a米的范围所包括的像素点个数。为了描述方便,将计算出的第一距离值下,容忍距离a米的范围所包括的像素点个数称为第一像素点个数,将计算出的第二距离值下,容忍距离a米的范围所包括的像素点个数称为第二像素点个数。
后续,在v视差图中,将第一参考点向上平移第一像素个数,得到第一边界点,例如,如图17中所示例的c点,并将第二参考点向上平移第二像素个数,得到第二边界点,例如,如图17中所示例的d点;以及,将第一参考点向下平移第一像素个数,得到第三边界点,例如,如图17中所示例的e点,并将第二参考点向下平移第二像素个数,得到第四边界点,例如,如图17中所示例的f点。
最终,可以根据第一边界点与第二边界点确定一条上边界线,并根据第三边界点和第四边界点确定一条下边界线,将上边界线、下边界线在v视差图中所框定的区域确定为路面包络区域。
步骤1503:针对任一直线段,根据稠密视差图确定直线段的视差值,根据直线段的视差值,将该直线段投影至v视差图中,得到该直线段在v视差图中的投影像素点,其中,直线段的视差值为直线段上每一像素点视差值中的中值。
本领域技术人员可以理解的是,针对任一条直线段,将其投影至v视差图中,则表示为一个像素点,为了描述方便,将该像素点称为投影像素点,其中,该投影像素点在v视差图中的横坐标即为该直线段的视差值(在本申请实施例中,直线段的视差值为直线段上每一像素点视差值中的中值),纵坐标即为该直线段在基准图像中的纵坐标。
步骤1504:针对所得到的投影像素点中的任一投影像素点,若投影像素点位于路面包络区域内,则确定该投影像素点对应的直线段为用于表示道路路面的路面直线段。
在本步骤中,若投影像素点位于路面包络区域内,则可以将该投影像素点对应的直线段确定为用于表示道路路面的路面直线段。
由上述实施例可见,通过在v视差图中拟合出用于表示道路路面的路面相关线,基于路面相关线,在v视差图中确定路面包络区域,针对之前确定出的多条直线段中的任一直线段,根据该直线段的视差值,将该直线段投影至v视差图中,若得到的投影像素点位于路面包括区域内,则可以将该直线段确定为用于表示道路路面的路面直线段,可以实现在之前确定出的多条直线段中筛选出路面直线段。
至此,完成实施例五的相关描述。
与前述车载双目摄像机检测道路限高杆的方法的实施例相对应,本申请还提供了车载双目摄像机检测道路限高杆的装置的实施例。
请参考图18,为本申请一示例性实施例提供的一种车载双目摄像机检测道路限高杆的装置的实施例框图,该装置包括:检测区域确定模块1801、视差图获取模块1802、直线段检测模块1803、位置确定模块1804、高度确定模块1805。
其中,检测区域确定模块1801,用于在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域,其中,所述双目源图像包括第一源图像与第二源图像;
视差图获取模块1802,用于基于所述双目源图像得到所述检测区域的稠密视差图与v视差图;
直线段检测模块1803,用于在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,其中,所述基准图像为所述第一源图像或所述第二源图像;
位置确定模块1804,用于基于所述稠密视差图、所述v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标;
高度确定模块1805,用于根据确定出的道路路面在所述基准图像中对应的纵坐标,与所述目标直线段在所述基准图像中对应的纵坐标,确定所述道路限高杆的高度。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请车载双目摄像机检测道路限高杆的装置可以应用在车载双目摄像机上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在车载双目摄像机的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图19所示,为本申请车载双目摄像机的一种硬件结构图,其中,处理器1901是该车载双目摄像机1900的控制中心,利用各种接口和线路连接整个该车载双目摄像机的各个部分,通过运行或执行存储在存储器1902内的软件程序和/或模块,以及调用存储在存储器1902内的数据,执行车载双目摄像机1900的各种功能和处理数据,从而对该车载双目摄像机进行整体监控。
可选的,处理器1901可包括(图19中未示出)一个或多个处理核心;可选的,处理器1901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1901中。
存储器1902可用于存储软件程序以及模块,处理器1901通过运行存储在存储器1902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1902主要包括(图19中未示出)存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据车载双目摄像机1900的使用所创建的数据(比如采集到的双目源图像、计算得到的视差图)等。
此外,存储器1902可以包括(图19中未示出)高速随机存取存储器,还可以包括(图19中未示出)非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1902还可以包括(图19中未示出)存储器控制器,以提供处理器1901对存储器1902的访问。
在一些实施例中,车载双目摄像机1900还可选包括有:外围设备接口1903和至少一个外围设备。处理器1901、存储器1902和外围设备接口1903之间可以通信总线或信号线(图19中未示出)相连。各个外围设备可以通信总线或信号线与外围设备接口1903相连。具体地,外围设备可以包括:射频组件1904、触摸显示屏1905、摄像头组件1906、音频组件1907、定位组件1908和电源组件1909中的至少一种。
其中,摄像头组件1906可以包括至少两个摄像头,用于采集双目源图像。
在一些实施例中,摄像头组件1906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
除了图19所示例的各个硬件之外,实施例中车载双目摄像机通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
1.一种车载双目摄像机检测道路限高杆的方法,其特征在于,所述方法包括:
在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域,其中,所述双目源图像包括第一源图像与第二源图像;
基于所述双目源图像得到所述检测区域的稠密视差图与v视差图;
在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,其中,所述基准图像为所述第一源图像或所述第二源图像;
基于所述稠密视差图、所述v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标;
根据确定出的道路路面在所述基准图像中对应的纵坐标,与所述目标直线段在所述基准图像中对应的纵坐标,确定所述道路限高杆的高度。
2.根据权利要求1所述的方法,其特征在于,所述在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,包括:
对基准图像进行边缘检测和二值化处理,得到边缘二值化图像;
在所述边缘二值化图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段。
3.根据权利要求2所述的方法,其特征在于,在所述边缘二值化图像中检测得到满足预设斜率范围的直线段,包括:
针对所述边缘二值化图像中的任一有效像素点进行如下处理:
根据所述稠密视差图,确定所述有效像素点和所述有效像素点的左右两个相邻像素点各自的视差值,其中,所述有效像素点的像素值为第一预设值;
若所确定出的视差值中,存在两个以上满足第一预设条件的视差值,则将所述有效像素点的像素值重置为第二预设值,其中,所述第一预设条件为:视差值小于预设的视差值阈值;
在经过上述处理后的边缘二值化图像中检测得到满足预设斜率范围的直线段。
4.根据权利要求2所述的方法,其特征在于,所述在所述边缘二值化图像中检测得到满足预设斜率范围的直线段,包括:
针对所述边缘二值化图像中的任一行,统计得到所述行中有效像素点的个数,并确定所述行在所述检测区域中对应的列数量,其中,所述有效像素点的像素值为第一预设值;
将有效像素点的个数与对应的列数量之间的关系满足第二预设条件的行,确定为目标行;
针对任一所述目标行,在所述目标行中检测得到满足预设斜率范围的直线段。
5.根据权利要求4所述的方法,其特征在于,所述将有效像素点的个数与对应的列数量之间的关系满足第二预设条件的行,确定为目标行,包括:
将有效像素点的个数与对应的列数量之间的关系满足第二预设条件的行,确定为标记行;
若所确定出的标记行中存在连续的行,则在所述连续的行中,确定有效像素点个数最大的行;
将所述有效像素点个数最大的行,和所确定出的标记行中不连续的行,确定为目标行。
6.根据权利要求1所述的方法,其特征在于,所述在所述直线段中确定用于表示道路限高杆的目标直线段,包括:
根据所述稠密视差图与所述v视差图,在所述直线段中确定出用于表示道路路面的路面直线段;
针对除所述路面直线段以外的其他任一直线段,根据所述直线段的视差值,计算出所述直线段的距离值;
将距离值最小的直线段确定为基准线段;
针对除所述路面直线段与所述基准线段以外的其他任一直线段,计算出所述直线段与所述基准线段之间距离值的差值;若所述差值大于预设的差值阈值,则将所述直线段确定为孤立直线段;
将除所述路面直线段和所述孤立直线段以外的其他直线段作为备选直线段;
若所述备选直线段的数量不大于2,则将所述备选直线段确定为用于表示道路限高杆的目标直线段;若所述备选直线段的数量大于2,则将所述备选直线段中,纵坐标最大和最小的直线段确定为表示道路限高杆的目标直线段。
7.根据权利要求6所述的方法,其特征在于,所述根据所述稠密视差图与所述v视差图,在所述直线段中确定出用于表示道路路面的路面直线段,包括:
在所述v视差图中拟合出用于表示道路路面的路面相关线;
基于所述路面相关线,在所述v视差图中确定路面包络区域;
针对任一所述直线段,根据所述稠密视差图确定所述直线段的视差值,根据所述直线段的视差值,将所述直线段投影至所述v视差图中,得到所述直线段在所述v视差图中的投影像素点,其中,直线段的视差值为直线段上每一像素点视差值中的中值;
针对所得到的投影像素点中的任一投影像素点,若所述投影像素点位于所述路面包络区域内,则确定所述投影像素点对应的直线段为用于表示道路路面的路面直线段。
8.根据权利要求1所述的方法,其特征在于,所述基于所述稠密视差图、所述v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标,包括:
在所述目标直线段中,确定出纵坐标最大的目标直线段;
在所述v视差图中,确定所述纵坐标最大的目标直线段的视差值所对应的列,其中,目标直线段的视差值为目标直线段上每一像素点视差值中的中值;
在属于所述列的像素点中,确定出具有最大像素值的目标像素点;
将所述目标像素点对应的纵坐标确定为道路路面在所述基准图像中对应的纵坐标。
9.一种车载双目摄像机检测道路限高杆的装置,其特征在于,所述装置包括:
区域确定模块,用于在采集到的双目源图像中确定包括道路限高杆与道路路面的检测区域,其中,所述双目源图像包括第一源图像与第二源图像;
视差图获取模块,用于基于所述双目源图像得到所述检测区域的稠密视差图与v视差图;
直线段检测模块,用于在基准图像中检测得到满足预设斜率范围的直线段,并在所述直线段中确定用于表示道路限高杆的目标直线段,其中,所述基准图像为所述第一源图像或所述第二源图像;
位置确定模块,用于基于所述稠密视差图、所述v视差图以及所述目标直线段的视差值,确定道路路面在所述基准图像中对应的纵坐标;
高度确定模块,用于根据确定出的道路路面在所述基准图像中对应的纵坐标,与所述目标直线段在所述基准图像中对应的纵坐标,确定所述道路限高杆的高度。
10.一种车载双目摄像机,其特征在于,包括存储器、处理器、通信接口、摄像头组件,以及通信总线;
其中,所述存储器、处理器、通信接口、摄像头组件通过所述通信总线进行相互间的通信;
所述摄像头组件,用于采集双目源图像,并通过所述通信总线将所述双目源图像发送至所述处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-8任一所述方法的步骤。
技术总结