发明内容
为了解决上述技术问题,本发明提供了一种基于线结构光三维测量的公路标线检测方法。
本发明所采用的技术方案是:一种基于线结构光三维测量的公路标线检测方法,其特征在于,包括以下步骤:
步骤1:获取路面灰度数据;
步骤2:对获取的路面灰度数据进行灰度校正;
步骤3:对灰度校正的数据进行平滑滤波处理;
步骤4:对平滑滤波处理的数据进行阶跃边缘点检测;
步骤5:标线边缘点筛选;
步骤6:将间断的边缘连接成完整边缘;
步骤7:去除虚假标线边缘;
步骤8:提取标线信息。
作为优选,步骤2的具体实现包括以下子步骤:
步骤2.1:计算大小为m×n的已知理想图像每列灰度均值,得到光强分布特征值,即大小为1×n的数组V,通过计算V的均值,得到光强分布的整体水平Vavg;
步骤2.2:计算光强分布特征值偏离整体水平的程度,得到校正数据每列灰度差异值Dif:
Dif=Vavg-V;
步骤2.3:当前数据第i行第j列的像素点的灰度值Iorg(i,j)校正为Inew(i,j):
Inew(i,j)=Iorg(i,j)+Dif_I;
其中,Dif_I表示当前数据每列的灰度差异值,Dif_I=Dif*(Iavg/Vavg),Iavg为当前数据的灰度均值。
作为优选,步骤4的具体实现包括以下子步骤:
步骤4.1:设定符合标线特征的边缘检测算子;
采用k*k的对角模板,其左、右对角模板元素T(m,n)取值分别为Tleft(m,n)、Tright(m,n).
步骤4.2:对图像f中的每个点(i,j)分别按照左、右两个对角模板做卷积运算,得到梯度分量Gleft与Gright;
其中k≥5且k≤11;f(i,j)为当前(i,j)像素的灰度值,p=(k-1)/2;
步骤4.3:计算像素点(i,j)梯度的大小F(i,j);
F(i,j)≈|Gleft|+|Gright|;
若F(i,j)>Th,则(i,j)为阶跃状边缘点;其中Th=αFavg,α>1,Favg为所有点的梯度均值。
作为优选,步骤5的具体实现过程是:分别统计当前点左、右对角模板中非零像素点灰度数据的总和GS_left、GS_right,若存在GS_left/n>T或者GS_right/n>T,则判断该点为标线边缘点;其中,n为模板中非零像素点的总数,T为当前图像中所有像素点的灰度数据的均值。
作为优选,步骤6的具体实现包括以下子步骤:
步骤6.1:选取种子点Ps;
选取每个连通区域主方向上的顶点作为种子点;假设连通区域的长、宽分别为l、w,若l>w,则选取长度方向的顶点作为种子点,反之,宽度方向上的顶点为种子点;
步骤6.2:连接相近的种子点;
计算种子点两两之间的欧式距离d,若d<Td,则连接满足条件的种子点;Td是距离阈值,为经验值。
作为优选,步骤7的具体实现过程是:利用“旋转卡壳”方法做连通区域的最小面积外接矩形Rcalipers,并计算得到Rcalipers平行切线间的最小距离及最大距离,即获得标线的宽度W及长度L。
作为优选,去除长度小于Tl的虚假边缘,去除宽度小于TW且不位于图像边缘的连通区域,Tl、TW是长度阈值及宽度阈值,为经验值。
作为优选,连通区域为标线区域,提取这些区域的宽度W长度L信息;计算最小面积外接矩形所覆盖区域的平均深度值,得到标线的高程信息。
本发明的有益效果是:
(1)本发明提出了基于激光器亮度分布的灰度校正方法,采用已知理想数据获取激光器的光强分布特征,可以保证不损害目标特征,再通过光强分布特征对图像中明亮区域进行校正,并对暗区进行补偿,使图像变得均匀,有效的克服了亮区造成的虚检边缘并增强了暗区标线的特征。
(2)设计了符合标线特征的k*k的对角边缘算子。相对于经典的3*3的边缘检测算子,该算子增强标线边缘的同时可去除纹理等小目标噪声边缘,对于具有一定宽度的目标边缘具有良好检测性能。同时,该算子保证了水平、垂直、对角方向均具有较大的响应,对与不同形态(横、纵、斜向)的标线边缘均具有良好的适用性。
(3)检测出的阶跃边缘点中,存在因路面水渍、油渍、修补等干扰因素的边缘点,这些边缘点的灰度值较低,与标线边缘具有显著的灰度差异。算法结合边缘检测算子,利用公路标线灰度高于路面背景灰度特征,通过比较模板内有效点的灰度均值与图像均值大小,达到快速准确筛选标线边缘点的目的。
(4)公路标线上或标线边缘长时间磨耗会出现油漆开裂或剥落现象,导致该区域的灰度对比度降低,标线边缘检测不完整。格式塔规则提出距离较短或互相接近的目标片段属于同一目标的可能性较大,根据这一原则,本发明将距离较近的标线片段连成一整体,有效的保证了标线检测的完整性。
具体实现方法为:
A.计算已知理想图像(大小为m×n)每列灰度均值,得到光强分布特征值,即大小为1×n的数组V,通过计算V的均值,得到光强分布的整体水平Vavg;
B.通过公式(1)计算光强分布特征值偏离整体水平的程度,得到校正数据每列灰度差异值Dif;
Dif=Vavg-V (1)
C.由于采集环境不同,如不同时间段光照不同,校正数据的灰度均值Vavg与当前数据的灰度均值Iavg存在差异,Iavg/Vavg越大,每列的灰度差异越大,因此,当前数据每列的灰度差异值Dif_I与Iavg/Vavg成正比,即:
Dif_I=Dif*(Iavg/Vavg) (2)
D.当前数据第i行第j列的像素点的灰度值Iorg(i,j)按照公式(3)校正为Inew(i,j)。
Inew(i,j)=Iorg(i,j)+Dif_I (3)
本实施例利用已知理想图像的光强分布特征值对图3(a)进行灰度校正,校正结果如图3(b)所示。
(2)平滑滤波:路面图像具有复杂的边缘特性,路面纹理对于图像的细节的影响十分显著,而这种纹理的边缘细节为非标线边缘,在标线提取过程中应弱化这种边缘特征,减少这种影响的一种方法是对图像进行平滑处理,算法采用均值滤波器对图像进行了平滑处理。
本实施例用模板中对应位置像素灰度的平均值来代替模板中心像素的灰度,算法采用5*5的全1模板进行滤波。
(3)边缘检测算子是利用图像边缘的突变性质来检测边缘的,以一阶导数为基础的边缘检测算子,通过计算图像的梯度值来检测图像阶跃边缘。在处理数字图像的离散域时,可用图像的一阶差分直接代替图像函数的导数。二维离散图像函数在x方向的一阶差分定义为f(x+1,y)-f(x,y),在y方向的一阶差分定义为:f(x,y+1)-f(x,y)。差分边缘检测通过求图像灰度迅速变化处的一阶导数算子的极值来检测奇异点。某一点的值则代表该点的“边缘强度”,通过对这些值设定阈值进一步得到边缘图像。同时,差分边缘检测要求差分方向与边缘方向垂直,此时需对图像不同方向进行差分运算。边缘检测一般分为垂直边缘、水平边缘、对角线边缘,各自方向模板为:
从左到右,分别为垂直边缘模板、水平边缘模板、对角边缘模板;
阶跃边缘点检测:一般情况下,路面标线相对于路面背景的灰度值较高,与路面背景之间存在一种典型的阶跃边缘,因此,算法通过求梯度变化较快的点提取阶跃边缘点。此外,标线具有规则的形状,大多表现为横、纵及斜向标线,为了同时识别不同形态的标线,算法设计的模板应保证在水平、垂直、对角方向均具有较大的响应,为了较大程度体现标线区域与背景区域的差异,算法设计了符合标线特征的边缘检测算子,即k*k(k≥5且k≤11)模板,相对于经典的3*3的模板,增强标线边缘的同时去除纹理等小目标噪声边缘,对于具有一定宽度的目标边缘具有良好检测性能。此外,标线区域较大且区域内像素点的灰度差值较小,基于此,算子采用的是对角模板,其左、右对角模板元素T(m,n)取值如公式(4)、(5),对图像f中的每个点(i,j)分别按照左、右两个对角模板做卷积运算,得到梯度分量Gleft与Gright,如公式(6)、(7)所示。
f(i,j)为当前(i,j)像素的灰度值,p=(k-1)/2。
像素点(i,j)梯度的大小为:
F(i,j)≈|Gleft|+|Gright| (8)
若F(i,j)>Th,则(i,j)为阶跃状边缘点。通过大量统计标线边缘的梯度值与所有像素梯度值的比例关系,算法设定Th=αFavg,其中,α>1,Favg为所有点的梯度均值。
请见图2,本实施例以7*7的模板为例,图中圆形代表标线区域中参与梯度计算的点,方形表示背景区域中参与运算的点,两者的差分运算值代表着边缘强度的大小。该模板不仅能保证对角方向的响应较大,如图2(c)、(d),同时也保证了水平、垂直方向的响应较大,如图2(a)、(b)。对于标线边缘点,模板对应位置灰度差异较大,即边缘强度大,因此可通过设定阈值得到边缘强度大的点,即可得到阶跃边缘点。7*7的对角边缘检测算子,其数学表达形式为:
Gleft=(f(i-3,j+1)+f(i-3,j+2)+f(i-3,j+3)+f(i-2,j+1)+f(i-2,j+2)+f(i-2,j+3)+f(i-1,j+1)+f(i-1,j+2)+f(i-1,j+3))-...
(f(i+1,j-3)+f(i+1,j-2)+f(i+1,j-1)+f(i+2,j-3)+f(i+2,j-2)+f(i+2,j-1)+f(i+3,j-3)+f(i+3,j-2)+f(i+3,j-1))
Gright=(f(i-3,j-1)+f(i-3,j-2)+f(i-3,j-3)+f(i-2,j-1)+f(i-2,j-2)+f(i-2,j-3)+f(i-1,j-1)+f(i-1,j-2)+f(i-1,j-3))-...
(f(i+1,j+3)+f(i+1,j+2)+f(i+1,j+1)+f(i+2,j+3)+f(i+2,j+2)+f(i+2,j+1)+f(i+3,j+3)+f(i+3,j+2)+f(i+3,j+1))
(9)
通过公式(9)及公式(8)计算像素点(i,j)两个对角方向的梯度分量Gx、Gy以及梯度的大小F(i,j)。若F(i,j)>Th,则(i,j)为阶跃状边缘点。通过大量统计标线边缘的梯度值与所有像素梯度值的比例关系,算法设定Th为所有点梯度均值的1.8倍,阶跃点的检测效果如图3(c)所示。
(3)标线边缘点筛选:检测出的阶跃边缘点中,存在因路面水渍、油渍、修补等干扰因素的边缘点,算法利用公路标线灰度高于路面背景灰度这一特征,筛选符合标线特征的边缘点。若某阶跃点属于标线边缘点,则以该点为中心,其模板中某一对角区域应位于标线区域内,该区域的灰度值较大。
具体判定方法为:分别统计当前点左、右对角模板中非零像素点灰度数据的总和GS_left、GS_right,若模板包含有标线上的点,其平均值应不少于图像的均值。因此,若存在GS_left/n>T或者GS_right/n>T,则判断该点为标线边缘点。其中,n为模板中非零像素点的总数,T为图像的均值。对于步骤4中的模板,n=18,T为图像的均值,结果如图3(d)所示。
(4)边缘连接:公路标线上或标线边缘长时间磨耗会出现油漆开裂或剥落现象,导致该区域的灰度对比度降低,标线边缘检测不完整,该步的目标是将间断的边缘连接成有意义的完整边缘,格式塔的接近原则强调某些距离较短或互相接近的部分,容易组成整体。因此,算法通过找到连通区域的种子点,再根据种子点之间的距离将位置相近的离散连通区域连成统一的整体。
A.种子点Ps的选取:由于标线具有线性性,算法选取每个连通区域主方向上的顶点作为种子点。假设连通区域的长、宽分别为l、w,若l>w,则选取长度方向的顶点作为种子点,反之,宽度方向上的顶点为种子点。
B.连接相近的种子点:计算种子点两两之间的欧式距离d,若d<Td,则连接满足条件的种子点。Td取值为经验值60,连接结果如图3(e)所示。
(5)去虚假标线边缘:用“旋转卡壳”思想做连通区域的最小面积外接矩形Rcalipers,如图3(f)所示,并计算得到Rcalipers平行切线间的最小距离及最大距离,即获得连通区域的宽度W及长度L,由于标线具有一定长度及宽度,去除长度小于Tl的连通区域以及宽度小于Tw的连通区域,Tl取值为30,Tw取值与连通区域的位置有关,若连通区域不位于图像边缘,表明采集到完整宽度的标线区域,考虑到一般标线的宽度不小于100mm,因此Tw≥100,反之,位于图像边缘的标线区域可能只采集到标线的局部范围,宽度不定,因此对该区域不做限制。
(6)标线信息提取:剩余的连通区域为标线区域,可提取这些区域的宽度W长度L信息,也可计算最小面积外接矩形所覆盖区域的平均深度值,得到标线的高程信息。
本发明基于线结构光的三维测量系统采集检测数据,三维测量系统利用激光三角测量原理,线结构光投射到被测物体表面形成线型激光线,相机与激光器成一定角度获取被测物激光线所在表面,通过提取激光线位置结合标定文件实现单个断面测量,通过连续断面测量实现物体三维测量。本测量系统可获取被测物体轮廓、被测物体表面灰度信息(测量系统可直接获取各测点的灰度和、激光线线宽信息,本发明所述灰度为灰度和或灰度和/激光线线宽)。由于线型激光器内部采用光纤耦合匀化技术,输出端必然会出现干涉现象,使得图像存在明暗相间条纹,表现为竖直方向亮暗分布不均。灰度分布不均图像中,明亮区域与标线特征相似,可能造成虚假标线边缘,同时暗区会掩盖真正标线区域特征。本发明提出了一种灰度校正方法,解决了因激光器亮度分布不均造成图像灰度分布不均的问题。
本发明根据标线的灰度及形态特征,设计了k*k的对角边缘检测算子,该算子增强标线边缘特征的同时降低了噪声的干扰,且对于不同形态特征的标线边缘均具有较大的响应,解决了现有方法中标线边缘检测不完整且对于不同形态标线适用性不强的问题;
路面水渍、油渍、修补的灰度与背景形成差异,与标线边缘类似,属于典型的阶跃边缘,同时这些边缘也符合线性特征。因此,传统的边缘检测结合直线检测方法难以克服此类虚检且效率低下。考虑到标线区域灰度值较高,而水、油、修补等灰度值较低,因此,算法通过分析边缘算子中参与运算点的灰度特征,达到了快速有效去虚检的目的。
公路标线上或标线边缘长时间磨耗会出现油漆开裂或剥落现象,导致该区域的灰度对比度降低,标线边缘检测不完整,算法提出了基于格式塔规则的标线连接方法,有效的解决了标线边缘断裂的问题。
本发明稍作改变同样适用于修补裂缝检测。具体修改步骤为:
A.一般情况下,修补的灰度低于路面背景灰度,因此步骤5中,将GS_left/n>T或者GS_right/n>T改为GS_left/n<T或者GS_right/n<T,可筛选出符合修补特征的边缘点。
B.修补不具有固定的宽度特征,因此,步骤7中,只需根据修补的长度特征去噪,即去除长度小于Tl的虚假修补边缘。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。