本发明涉及图像处理技术领域,特别是涉及一种基于双目视觉的地平面检测方法。
背景技术:
地平面检测是智能驾驶等领域的一项关键技术,目前提出的地平面检测方法主要有以下几种:
(1)基于超声探测器、激光雷达、毫米波雷达等障碍物探测器的检测方式。利用障碍物探测器检测前方障碍区,确定可通行地平面。
(2)基于单目视觉的检测方法。主要利用单目图像的色度、纹理等2D信息,对地平面进行检测。此类方法易受光照、阴影等影响,且在较复杂的环境下并不能得到较好性能。
(3)基于双目视觉的检测方法。主要分为基于视差图的方法与基于3D点云的方法。基于视差图的方法主要利用统计的方法生成V/U视差图,在此基础上进行地平面的检测。基于3D点云的方法将视差图转换成3D点云信息进行地平面建模。
技术实现要素:
本发明所要解决的技术问题是提供一种基于双目视觉的地平面检测方法,适用于不同地平面环境下的地平面检测,能有效应对不平坦路面的检测问题,且可以精准处理地平面与障碍物边界。
本发明解决其技术问题所采用的技术方案是:提供一种基于双目视觉的地平面检测方法,包括以下步骤:
(1)获取双目图像采集设备采集的左右目原始图像;
(2)对左右目原始图像进行预处理,利用立体匹配技术获得稠密视差图;
(3)利用特征算子在稠密视差图上进行运算,得到特征图;
(4)对特征图进行分割,将其分割成多个区域块;
(5)对每个区域块进行二类分类,判断此区域是否属于地平面区域;
(6)对地平面区域进行后处理,剔除不符合条件的连通域,确定最终地平面区域。
所述步骤(3)具体为:依次以视差图各像素点为中心取像素块;以每个像素块为中心对其八邻域块或四邻域块进行采样;将各像素块平均视差值以一定策略进行比较,按照一定规则得到八/四个二进制码;将八/四个二进制码按照一定顺序排列得到八/四位二进制编码;将所述八/四位二进制编码转换成十进制编码;每个中心块里的中心像素值赋为上述十进制编码数值,得到特征图。
所述中心的像素块及其八邻域像素块或四邻域像素块的大小根据实际应用场景进行调整。
所述步骤(4)具体为:利用图像色度信息对原始图像进行超像素分割;将分割区域映射到特征图中,将特征图分割成多个超像素块。
所述步骤(4)具体为:直接将特征图分割成多个不重合的矩形像素块。
所述步骤(5)为直接利用阈值判断各区域块的像素统计特性进行分类:提取特征图区域块或其质心窗中像素的统计特性;设置阈值判断此区域块是否属于地平面区域。
所述步骤(5)提取特征图各区域块图像特征向量,利用机器学习算法进行分类:统计每个特征图区域块或其质心窗中像素点的规律,得到特征向量;利用机器学习方法分析特征向量,对区域块进行分类。
所述步骤(5)利用深度卷积网络直接分析各区域块特征图进行分类:直接在特征图上基于各区域块进行采样,将采样图像输入深度卷积网络;利用深度卷积网络对输入样本图像进行分类。
所述步骤(6)具体包括以下子步骤:
(61)判断是否有多个地平面连通域,若只有一个属于地平面区域的连通域,则此连通域为最终地平面区域,否则执行步骤(62);
(62)统计各地平面区域连通面积,若面积小于阈值T1则剔除此地平面连通域;
(63)判断是否有多个地平面连通域,若只有一个属于地平面区域的连通域,则此区域为最终地平面区域,否则执行步骤(64);
(64)将连通域面积最大的地平面区域视差值按行进行统计,得到V视差图;
(65)将V视差图规范化到0-255之间;
(66)检测V视差图中地平面区域映射斜线,得到图像每行对应的地平面视差统计值;
(67)将每个地平面连通区域的视差值与视差统计值相减,若差值绝对值大于阈值T1则将此连通域删除;
(68)最后未被删除的地平面连通域即为最终地平面区域。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明利用一种基于视差图的特征算子可以快速有效地提取地平面及非地平面区域特征。此算子直接在获取的稠密视差图上进行运算,无需转换成3D点云进行建模,从而减少运算量。该算子提取路面局部区域信息,有别于直接利用V\U视差图等基于全局统计的方法,因此适用于不同地平面环境下的地平面检测,尤其能有效应对不平坦路面的检测问题,且可以精准处理地平面与障碍物的边界。本发明采用的方法结合稠密视差图像信息,不易受天气、光照、阴影等因素影响。
附图说明
图1是本发明的流程图;
图2是地面连通域判断流程图;
图3是左目原始图像;
图4是右目原始图像
图5是稠密视差图;
图6是视差算子示意图;
图7是利用基于视差的算子运算后得到的特征图;
图8地平面区域检测结果图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于双目视觉检测地平面的方法,如图1所示,具体包括以下步骤:
步骤1,获取双目摄像机采集到的左右目原始图像。其中左右目图像分别如图3和图4所示。
步骤2,对左右目图像进行预处理,利用立体匹配技术获得稠密视差图,如图5所示。
步骤3,利用特征算子在稠密视差图上进行运算,得到特征图P。具体为:
(1)依次以视差图各像素点为中心取像素块;
(2)以每个像素块为中心,并对其八邻域块进行采样,如图6所示,b0为中心像素块,b1-b8为其八邻域块;
(3)对各像素块平均视差值进行比较,按照一定规则得到八个二进制码,该步骤有两种可实施方案:
方案一:
如图6所示,若D(b0)>D(b1)、D(b0)>D(b3)、D(b0)>D(b4),则对应v1、v3、v4赋值为1,否则赋值为0。若D(b2)>D(b0)、D(b5)>D(b0)、D(b6)>D(b0),则对应v2、v5、v6赋值为1,否则赋值为0。若D(b0)=D(b7)、D(b0)=D(b8),则对应v7、v8赋值为1,否则赋值为0。其中,D(bi)为bi像素块的内像素点的平均视差值。
方案二:
如图6所示,若(D(b0)+D(b7)+D(b8))/3>(D(b1)+D(b3)+D(b4))/3,则v1赋值为1,否则赋值为0。若(D(b2)+D(b5)+D(b6))/3>(D(b0)+D(b7)+D(b8))/3,则v2赋值为1,否则赋值为0。若D(b0)>D(b1)、D(b0)>D(b3)、D(b0)>D(b4),则对应v3、v4、v5赋值为1,否则赋值为0。若D(b2)>D(b0)、D(b5)>D(b0)、D(b6)>D(b0),则对应v6、v7、v8赋值为1,否则赋值为0。其中,D(bi)为bi像素块的内像素点的平均视差值。
(4)将八个二进制码按照一定顺序排列得到八位二进制编码v1v2v3v4v5v6v7v8。
(5)将上述八位二进制编码转换成十进制编码。每个中心像素块里的中心像素值赋为上述十进制编码数值,最终得到特征图P。如图7所示。
像素块的尺寸可根据实际应用场景进行调整。在本实施方式中,中心像素块及其领域像素块只包含一个像素点。值得一提的是,本实施方式中还可以仅仅对中心像素块的四邻域块进行采样,如此得到四个二进制码,将这四个二进制码按照顺序排列得到四位二进制编码,将这四位二进制编码转换成十进制编码,每个中心像素块里的中心像素值赋为上述十进制编码数值时也可以得到特征图。
步骤4,对特征图P按照一定策略进行分割,将其分割成多个区域块。分割方式有两种,一种是(1)利用图像色度信息对左目原始图像进行超像素分割;(2)将分割区域映射到特征图P中,将P分割成多个超像素块。另一种是直接将特征图P分割成多个不重合的矩形像素块。
步骤5,对每个区域块进行二类分类,判断此区域块是否属于地平面区域。该步骤有三种可实施方案:
方案一:直接利用阈值判断各区域块统计特性进行分类。具体包括以下步骤:1.提取特征图各区域块或其质心窗中像素的统计特性。2.设置阈值判断此区域块是否属于地平面区域。
方案二:提取各区域块图像特征向量,利用机器学习算法进行分类。具体包括以下步骤:(1).提取每个区域或区域块质心窗中像素点统计特征,得到特征向量(2)利用SVM等机器学习方法分析特征向量,进行分类。
方案三:利用深度卷积网络直接分析各区域块特征图进行分类。具体包括以下步骤:1.直接在特征图P上对各区域块进行质心窗采样,将采样图像作为输入样本输入深度卷积网络2.利用深度卷积网络对输入样本图像进行分类。
步骤6,对地平面区域进行后处理,剔除不符合条件的地平面连通域,确定最终地平面区域,具体如图2所示,包括:
(1)判断是否有多个地平面连通域,若只有一个属于地平面区域的连通域,则此区域为最终地平面区域,否则执行步骤(2);
(2)统计各地平面区域连通面积,若面积小于阈值T1则剔除此地平面连通域
(3)判断是否有多个地平面连通域,若只有一个属于地平面区域的连通域,则此区域为最终地平面区域,否则执行步骤(4);
(4)将连通域面积最大的地平面区域视差值按行进行统计,得到V视差图;
(5)将V视差图规范化到0-255之间;
(6)检测V视差图中地平面区域映射斜线,得到图像每行对应的地平面视差统计值;
(7)将每个地平面连通区域的视差值与视差统计值相减,若差值绝对值大于阈值T1则将此连通域删除。
(8)最后未被剔除的地平面连通域即为地平面区域(见图8,白色区域为检测的地平面区域)。
综上所述,本发明提出了一种基于双目视觉的地平面检测方法,利用一种新提出的特征算子,可以快速有效地提取地平面及非地平面区域特征。此算子直接在获取的稠密视差图上进行运算,无需转换成3D点云进行建模,从而减少运算量。该算子可提取路面局部区域信息,有别于直接利用V\U视差图等基于统计的方法,因此适用于不同地平面环境下的地平面检测,尤其能有效应对不平坦路面的检测问题,且可以精准处理地平面与障碍物边缘。同时,不易受天气、光照、阴影等因素影响。