基于OSTU法的Y型分岔非结构化道路识别方法

文档序号:27918818发布日期:2021-12-11 10:56阅读:145来源:国知局
基于OSTU法的Y型分岔非结构化道路识别方法
基于ostu法的y型分岔非结构化道路识别方法
技术领域
1.本发明涉及一种基于ostu法的y型分岔非结构化道路识别方法,属于汽车智能驾驶系统技术领域。


背景技术:

2.近年来,基于视觉的高级辅助驾驶系统逐渐成为人们研究的热点内容之一。其中结构化道路由于具有明显的道路标识信息,对车道线的检测已经达到较高水平。相比之下,非结构化道路由于道路边界不明显,且多为弯曲道路,同时还会受到光照、阴影、水渍等的影响而导致检测效果不佳。目前,国内外学者已经提出许多检测非结构化道路的算法,算法大致分为三种:基于道路特征法、基于道路模型法及基于神经网络法。基于特征的道路检测算法,主要是根据道路在颜色、形状、边缘等信息进行检测。主要优点是对道路形状不敏感,需要的先验知识少,但是对阴影和水迹较为敏感。基于模型的方法,需要找到最匹配的道路模型。常用的模型有直线模型、蛇型线模型、样条曲线模型等。基于模型的道路检测可以有效克服路面污染、阴影、光照不均等环境因素影响。该方法检测出的道路区域较为完整,但是对于复杂的路面形状,无法建立有效的模型。基于神经网络的方法需要大量已知样本,其难点在于训练方法。由于道路所处环境不同,有些比较复杂,像光照、雨雪、阴影等影响会造成环环境发生很大变化,从而使神经训练很难达到全面化,容易产生局部优化问题。
3.目前,非结构化道路识别研究主要集中在单条道路上,针对非结构化道路分岔路口检测研究成果极少。分岔路口主要有y型分岔、十字分岔、t型分岔等。其中y型分岔路口检测难度最大,其它的分岔路口可参考单条道路的检测结果。显然,研发一种能有效精确识别y型分岔非结构化道路的方法,对提高汽车智能驾驶系统的可靠性具有很重要的意义。


技术实现要素:

4.本发明是一种基于ostu法的y型分岔非结构化道路识别方法,具体通过以下步骤实现:
5.步骤1、通过车载单镜头ccd摄像机获取y型分岔非结构化道路彩色图像。计算s分量,采用ostu方法计算识别阈值,初步识别道路区域和背景区域。
6.步骤1

1、对大小为m
×
n的彩色道路图像,由rgb模型计算s分量。
7.设wmin(i,j)=min(r(i,j),g(i,j),b(i,j)),wmax(i,j)=max(r(i,j),g(i,j),b(i,j)),则有
[0008][0009]
式中,i=0,

,m

1,j=0,

,n

1;表示取整运算;r(i,j)、g(i,j)、b(i,j)、s(i,j)取值范围均为[0,255]。
[0010]
步骤1

2、在s分量中,通过ostu法计算阈值thre。
[0011]
ostu算法又称作最大类间方差法,该算法的理论依据是:假定图像包含两类像素,直方图为双峰直方图,然后计算使得两类像素能分开的最佳阈值(类内方差),或等价的间类间方差最大。
[0012]
对于s分量图像,将道路和背景的分割阈值记作thre,属于道路的像素点数占整幅图像的比例记为ω0,平均灰度为μ0;背景像素点数占整幅图像的比例为ω1,平均灰度为μ1;整幅图像的平均灰度记为μ,类间方差记为g。
[0013]
s分量图像大小为m
×
n,其中像素的灰度值小于阈值thre的像素个数为n0,像素灰度大于阈值thre的像素个数为n1,那么:
[0014]
ω0=n0/m
×
n
[0015]
ω1=n1/m
×
n
[0016]
n0+n1=m
×
n
[0017]
ω0+ω1=1
[0018]
μ=ω0*μ0+ω1*μ1[0019]
g=ω0(μ0‑
μ)2+ω1(μ1‑
μ)2[0020]
g=ω0ω1(μ0‑
μ1)2[0021]
采用遍历的方法使得类间方差g最大的阈值,即为所求阈值thre。
[0022]
步骤1

3、彩色道路原图像,大小为m
×
n,通过阈值thre初步识别像素为两类:道路像素(取值为255)、背景像素(取值为0)。得到大小为m
×
n的黑白二值图像wr,其像素值为ω(i,j)。
[0023][0024]
式中,s(i,j)为s分量中的值。
[0025]
步骤2、对初步识别所得黑白图像,划分成多个方格,计算方格内黑白像素比例,从而将每个方格变成一个像素,转换成一个缩小的二值图像,如图2所示。
[0026]
步骤2

1、对黑白图像wr,设定初始值r(一般可设为r=4),将图像分成s
×
t个方格,其中每个方格大小为r
×
r,如图2(a)所示:
[0027][0028]
式中,表示取整运算。
[0029]
这里,若(m/r,n/r)不是整数,则可把图像顶部(道路通常处于图像中下区域),和左右截取一部分,使得s,t是整数。该处理方式合理,且计算量小。
[0030]
步骤2

2、计算每个方格黑白像素比例:
[0031]
pi(i,j)=n
b
(i,j)/n
z
(i,j)
[0032]
式中,i=1,

,s,j=1,

,t,n
b
(i,j)和n
z
(i,j)分别表示第i行,j列个方格中黑色像素和总的像素个数。pi(i,j)取值在[0,1]之间,[pi(i,j)]是一个维数为s
×
t的矩阵。
[0033]
步骤2

3、设定转换阈值,将[pi(i,j)]转换成二值图像wp。
[0034]
[0035]
考虑到道路区域黑点很少,故系数k
coef
的选取比较小,通常设定为[0.01 0.05]之间,一般可取为0.01。
[0036]
通过该步骤,图像wr由大小为m
×
n,缩小为图像wp,大小为s
×
t,如图2(b)所示。
[0037]
步骤3、选取道路种子,采用种子填充法搜索并保留道路连通区域,记为白色,其它区域记为黑色。
[0038]
步骤3

1、道路种子选取。从道路二值图像底部往上取四分之一区域,记为二值图像wb,其大小为其中表示取整运算。在二值图像wb中,找到所有行中最大的连续白色像素串,并记下其像素所在位置,及白色像素个数,用向量xs表示。
[0039]
xs=[ys ye nw xm]
[0040]
式中,xs表示所有行中最大的连续白色像素串所在位置,像素个数,所在行信息;
[0041]
ys表示所有行中最大的连续白色像素串所在列最左边位置,即列起始位置;
[0042]
ye表示所有行中最大的连续白色像素串所在列最右边位置,即列结束位置;
[0043]
nw表示所有行中最大的连续白色像素串白色像素个数,nw=yw

ys+1;
[0044]
xm表示所有行中最大的连续白色像素串所在行位置。
[0045]
该最大连续白色像素串中,所有的白色像素均可为道路初始种子。
[0046]
步骤3

2、搜索道路连通区域。从所选取道路种子(像素值为255)为中心,搜索周围4邻域,若有相等的像素值(像素值为255),则为新的种子,标记为相同的label。然后再以新的种子为中心,继续搜索,直到完成所有相等的像素值搜索为止,结束搜索。所得到的白色区域(像素值为255),记为道路连通区域,其它区域记为黑色(像素值为0)。
[0047]
步骤3

3、记录道路连通区域图像所在行位置。从图像第一行开始行扫描,直到有白色像素停止扫描,记所在行位置为xe。
[0048]
步骤4、识别道路左、右外边缘。道路左右内外边缘示意图如图3所示。以像素点[xm ys]、[xm ye](取值与步骤3

1向量xs中的相同)分别为左、右外边缘搜索起始点。识别方法如图4所示,具体描述如下。
[0049]
步骤4

1、向上一行搜索道路左外边缘。以点[xm ys](该点像素值为255)为左外边缘搜索起始点,向上一行取像素点lp1[xm

1 ys],即行数减1,列数不变。若像素点lp1像素值为0,则每次移动一个像素向右搜索,直到像素点像素值为255,停止搜索,对应的像素点(其像素值为255)即为该行左边缘像素点;若像素点lp1像素值为255,则每次移动一个像素向左搜索,直到像素点像素值为0或列数为1,停止搜索,对应的像素点(其像素值为255)即为该行左边缘像素点。
[0050]
步骤4

2、向上一行搜索道路右外边缘。以点[xm ye](该点像素值为255)为右外边缘搜索起始点,向上一行取像素点rp1[xm

1 ye],即行数减1,列数不变。若rp1像素点值为0,则每次移动一个像素向左搜索,直到像素点像素值为255,停止搜索,对应的像素点(其像素值为255)即为该行右边缘像素点;若像素点rp1像素值为255,则每次移动一个像素向右搜索,直到像素点像素值为0或列数为n,停止搜索,对应的像素点(其像素值为255)即为该行右边缘像素点。
[0051]
步骤4

3、循环执行步骤4

1与4

2,直到符合任一条件:1)行数不大于xe(xe的取值参考步骤3

3);2)右边缘像素点列值不大于左边缘像素点列值。则停止左右边缘搜索,重新记当前行位置为xe。
[0052]
步骤4

5、搜索图像第xm行至m行间道路左外边缘。以点[xm ys]为左外边缘搜索起始点,向下一行取像素点lp2[xm+1 ys],即行数加1,列数不变。搜索方法与步骤4

1类似。循环执行该步骤,直到行数大于m行,停止搜索。
[0053]
步骤4

6、搜索图像第xm行至m行间道路右外边缘。以点[xm ye]为右外边缘搜索起始点,向下一行取像素点rp2[xm+1 ye],即行数加1,列数不变。搜索方法与步骤4

2类似。循环执行该步骤,直到行数大于m行,停止搜索。
[0054]
步骤5、识别y型分岔非结构化道路内边缘。
[0055]
步骤5

1、在图像第xe+1行与第xm行中,在道路左右外边缘像素点之间,搜寻并记录每行连续黑色像素个数最大的黑色像素串。
[0056]
从xe+1行开始至xm行结束,在道路左右外边缘像素点之间,找到每行符合两个条件的连续黑色像素串:1)当前行中连续黑色像素个数最大;2)连续黑色像素个数大于当前行道路宽度(当前行道路宽度=当前行右外边缘列值

当前行左外边缘列值+1)的四分子一。并将其像素串所在位置,及黑色像素个数计入向量yw中。
[0057][0058]
式中,第一列表示第i行黑色像素串最左边像素列的位置大小;
[0059]
第二列表示第i行黑色像素串最右边像素列的位置大小;
[0060]
第三列表示第i行最大黑色像素串黑色像素个数大小;
[0061]
第四列(g
i
)取值为0或1。若当前行,没有符合两个条件的黑色像素串,则(g
i
)取值为0,此时,取值为(0 0 0);若有,则(g
i
)取值为1。
[0062]
步骤5

2、在列方向上继续搜寻黑色像素串连通的最大区域。最终确定道路分岔关键区域。
[0063]
在yw第四列(g
i
)中,找出连续1的个数最大值,保留相应的连续1,其它的1置0。对应向量yw变为yv,即:
[0064][0065]
那么,在第xe+1行与第xm行中,在道路左右外边缘像素点之间,行列均连通的最大
黑色像素区域为yu,即
[0066][0067]
式中,第一列表示第p行至第q行,黑色像素串最左边像素的列位置大小;
[0068]
第二列表示第p行至第q行,黑色像素串最右边像素的列位置大小;
[0069]
第三列表示第p行至第q行,黑色像素串像素个数大小。
[0070]
这里,yu即道路分岔关键区域。
[0071]
步骤5

3分岔道路内边缘分段确定。
[0072]
(1)在第p行至第q行的图像区域,分析步骤5

2可知,第列是道路左内边缘;第列是道路右内边缘。
[0073]
(2)在大于第q行的图像区域,识别分岔道路内边缘。分别以为道路左、右内边缘搜索起始点,搜索方法与道路右、左外边缘类似,即与步骤4

2、4

1类似,不同的每次向下一行搜索。循环执行搜索,直到符合任一条件:1)行数大于xm;2)右内边缘像素点列值不大于左内边缘像素点列值。则停止左右内边缘搜索。
[0074]
(3)在小于第p行的图像区域,识别分岔道路内边缘。分别以为道路左、右内边缘搜索起始点,搜索方法与道路右、左外边缘类似,即与步骤4

2、4

1类似。循环执行搜索,直到符合任一条件:1)行数不大于xe;2)左、右道路宽度小于设定道路阈值。则停止左右内边缘搜索。
[0075]
步骤6、由缩小的二值图对应到原图,识别道路内、外边缘及分岔道路,如图5所示。由图2可知,缩小二值图中的一个像素点,对应大小为m
×
n的道路原图中的一个方块,包含r
×
r个像素。
[0076]
步骤6

1、从图像底部开始搜索道路左外边缘。缩小二值图像中第s行道路左外边缘像素点,对应步骤1

3中wr图像的第m

r+1行到第m行的一个包含r
×
r个像素的方块。从该方块最底部最右端开始,向左搜索,直到像素值为0或图像第1列,停止搜索,记录相应白色像素位置为原图中的对应行左外边缘列位置。
[0077]
步骤6

2、在缩小二值图像中向上一行,即行数减1,由步骤4中搜索的相应行左边缘像素点,找出对应到wr图像中的一个方块。左边缘搜索方法与6

1类似。
[0078]
步骤6

3、循环执行步骤6

2,直到缩小的二值图中搜索行数小于步骤4中所识别的左边缘最小行数。可得对应原图的左外边缘。
[0079]
步骤6

4、搜索道路右外边缘。与搜索道路左外边缘类似,不同点在于:从该方块最底部最左端开始,向右搜索,直到像素值为0或图像第n列。可得对应原图的右外边缘。
[0080]
步骤6

5、道路内左、右边缘搜索,分别与道路外右、左边缘搜索方法类似。
[0081]
有益效果
[0082]
本发明是一种基于ostu法的y型分岔非结构化道路识别方法。对y型分岔非结构化道路彩色图像,首先计算s分量,通过ostu法计算阈值,初步识别道路区域和背景区域,得到
黑白图像wr。将图像wr分为多个方格,每个方格由黑色像素比例变成一个像素点,从而得到一个缩小的二值图像。通过找图像底部行中最大连续白色像素串的方法确定种子,采用种子填充法搜索道路连通区域。然后在二值图像的道路连通区域中,确定搜索起点,通过轮廓跟踪法搜索道路左右外边缘;再在左右外边缘间,通过找行列连续黑色像素个数最大的区域,确定道路分岔区域,并通过轮廓跟踪法搜索分岔道路左右内边缘。最后,再对应到图像wr上,据单向边缘跟踪法,精确识别y型分岔非结构化道路左右内外边缘及道路区域。
附图说明
[0083]
图1是本发明基于ostu法的y型分岔非结构化道路识别方法的构思流程图。
[0084]
图2是道路图像分块缩小示意图。
[0085]
图2(a)是黑白图像分块处理图。
[0086]
图2(b)是缩小的二值图。
[0087]
图3是道路左右内外边缘示意图。
[0088]
图4是道路左右外边缘识别示意图。
[0089]
图5是对应原图道路边缘识别示意图。
[0090]
图6y型分岔非结构化道路识别图
[0091]
图6(a)是道路彩色图像。
[0092]
图6(b)是s分量图。
[0093]
图6(c)是道路初步识别图像。
[0094]
图6(d)是缩小的二值图像。
[0095]
图6(e)是道路连通区域图。
[0096]
图6(f)是道路外边缘图。
[0097]
图6(g)是部分内边缘图。
[0098]
图6(h)是完整内边缘图。
[0099]
图6(i)是道路及边缘识别结果图。
[0100]
图7多种y型分岔非结构化道路及边缘识别图。
[0101]
图(a)、(c)、(e)、(g)、(i)、(k)是采集的原图。
[0102]
图(b)、(d)、(f)、(h)、(j)、(l)是道路及边缘识别图。
具体实施方式
[0103]
下面结合附图和实施例对本发明做进一步说明和详细描述:
[0104]
实施例:
[0105]
为了验证y型分岔非结构化道路识别方法的有效性,在不同的y型分岔非结构化道路场景下做了道路识别实验。具体实施方法为:
[0106]
一、以大小为450
×
800单幅y型分岔非结构化道路彩色图像为例,详细说明实施方法。
[0107]
(一)对y型分岔非结构化道路图像,先进行预处理,再进行s分量变换,计算阈值,初步识别分岔道路。
[0108]
对大小为450
×
800道路原图像,为便于图像划分方格,先做截取预处理。取r=4,
据步骤2可得到大小为112
×
200的缩小二值图像。故对原图像,截取上2行,左右各截取0列,得到大小为448
×
800(112
×
4,200
×
4)道路彩色图像,如图6(a)所示。
[0109]
由步骤1,对截取后的大小为448
×
800的道路彩色图像,进行s分量变换,所得到的s分量图像,如图6(b)所示。由ostu法,计算得到阈值thre=108。初步识别道路结果,如图6(c)所示。其中,白色区域为道路区域;黑色区域为背景区域。图(a)、(b)、(c)大小相同,均为448
×
800。
[0110]
(二)由步骤2,取r=4,将大小为448
×
800道路初步识别结果图像(即图6(c)),分割为多个4
×
4小方格;计算每个方格黑白像素比例;取k
coef
=0.01,将图像缩小为112
×
200的二值图像,如图6(d)所示。显然,图6(d)大小是图6(c)大小的四分之一,但这里为了更清晰观察图6(d),将其适当放大显示。图6(c)一个4
×
4小方格(包含16个像素)对应图6(d)中的一个像素。
[0111]
(三)由步骤3,xs=[1 190 190 109]。这里,选取像素[109 1]为种子,即第109行,第1列的白色像素为种子。采用种子填充法搜索图6(d),得到道路连通区域,结果如图6(e)所示,白色区域是道路连通区域。xe=61。
[0112]
(四)由步骤4,左、右外边缘分别以像素点[109 1]、[109 190]为搜索起始点,搜索道路左右外边缘,结果如图6(f)所示。白色区域为道路区域,黑色区域为背景区域,黑白交接处即为道路边缘。
[0113]
(五)由步骤5,
[0114][0115]
yu在图像第76行到第81行间。yu即道路分岔关键区域。对比图6(g)与图6(f),图6(g)多出的黑色区域,即yu区域。
[0116]
完整的内边缘图如图6(h)所示,道路分岔区域黑白交接处即为道路内边缘。
[0117]
(六)由步骤6,搜索道路左右内外边缘,如图5(i)所示。为方便对比,道路区域为白色,其它区域为原彩色图像信息。白色区域和原图像交接的像素是分岔道路边缘,很显然,y型分岔非结构化道路识别方法是有效的。
[0118]
二、以多幅道路彩色图像为例,验证道路识别方法的有效性。
[0119]
多幅道路图像识别结果,如图7所示。其中,左边一列图像,即图(a)、(c)、(e)、(g)、(i)、(k)是采集的道路原彩色图像;右边一列图像,即图(b)、(d)、(f)、(h)、(j)、(l)是道路及边缘识别图。右边一列图中,识别的道路用白色表示。可见,道路识别方法有效。
[0120]
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1