基于快速MUSIC算法的道路双黄线检测方法
技术领域
本发明属于图像处理技术领域,具体涉及一种基于快速MUSIC算法的道路双黄线检测方法。
背景技术
随着自动驾驶技术的发展,双黄线的检测是实现车道偏离警告,车辆自动驾驶的关键技术。由于双黄线检测时对快速性要求比较高,传统的直线检测方法霍夫变换(HoughTransform,HT)因其实时性较差,不适用于双黄线检测,而最小二乘法容易受到噪声干扰,并且难以同时检测多条直线。因此,提出一种快速而又可靠性高的双黄线检测方法,是实现自动驾驶的一个关键问题。
发明内容
本发明的目的是提供一种基于快速MUSIC算法的道路双黄线检测方法,解决了现有技术中存在的道路双黄线检测实时性较差的问题。
本发明所采用的技术方案是,基于快速MUSIC算法的道路双黄线检测方法,具体按照以下步骤实施:
步骤1、将CCD摄像机采集的道路双黄线图像进行图像分割和边缘提取得到仅含双黄线的二值化图像,加入L组服从相同分布且与信号源无关的零均值高斯噪声得到L幅不同的图像;
步骤2、将上述得到的L幅图像转换为虚拟均匀线性阵列接收多快拍远场信号,在倾斜角范围内根据倾斜角检测分辨率的要求先划分少量网格,第一次利用MUSIC算法对远场信号进行搜索,得到双黄线倾斜角所在的范围;在倾斜角度范围内根据倾斜角分辨率的要求再次划分网格,第二次使用MUSIC算法对远场信号进行搜索,从而求得所有双黄线的倾斜角;
步骤3、根据步骤2求得的倾斜角构造虚拟均匀线性阵列接收多快拍近场信号,在直线偏移量范围内根据倾斜角检测分辨率的要求先划分少量网格,第三次利用MUSIC算法对近场信号进行搜索,得到每条直线倾斜角对应的偏移量范围;
步骤4、根据步骤3求得的倾斜角构造虚拟均匀线性阵列接收多快拍近场信号,在步骤3得到的偏移量范围附近根据分辨率的要求再次划分网格,第四次使用MUSIC算法对近场信号进行搜索,从而求得所有双黄线所对应的偏移量;
步骤5、通过步骤2得到的倾斜角和步骤4得到的偏移量确定直线的位置,进而实现双黄线的检测。
本发明的特点还在于,
步骤1具体如下:
步骤1.1、利用CCD摄像机采集道路双黄线图像,对采集的图像进行二值化和边缘提取,再将经过二值化和边缘提取后的图像裁剪为大小为M×M的图像D,定义图像左上角为坐标原点,水平向右为x轴正向,垂直向下为y轴正向,直线上的点坐标为(x,y),x,y均为整数,0≤x≤M-1,0≤y≤M-1;
步骤1.2、假设图中有d条直线,d条直线的倾斜角分别为θ=θ1,θ2,...,θd,倾斜角θ1,θ2,...,θd的范围为[-90°,90°],直线的偏移量分别为偏移量的范围为[-M,M],根据直线上的点坐标则直线方程为:
其中,θ与相对应,即当θ=θi时,i=1,2,...,d;
步骤1.3、对步骤1.1得到的二值图像D,加入L组服从相同分布、且与信号源无关的零均值高斯噪声,得到L组二值图像为(D1,D2,..,DL),以构成多快拍信号。
步骤2具体如下:
步骤2.1、建立远场模型,首先定义向量如下:
u=[1,ejμ,ej2μ,...,ej(M-1)μ]T (2)
式中,μ表示预设参数且j表示虚数;
步骤2.2、根据下式将二值图像(D1,D2,..,DL)转换成一维矢量:
是标量,其中k=1,2,...,L;
因此,L组二值图像(D1,D2,..,DL)转化为多快拍阵列信号Z=(z1,z2,...,zL);
步骤2.3、利用MUSIC算法搜索倾斜角范围:首先根据下式计算协方差矩阵
Rx=E(ZZH) (5)
式中,Rx为求得的协方差矩阵,
步骤2.4、然后对Rx进行特征值分解,获得特征值λp和特征向量αp,其中p=1,2,...,M,对特征值按从大到小顺序进行排序,信号子空间对应于d个较大特征值的特征向量,噪声子空间对应于剩余(M-d)个特征值的特征向量,噪声子空间对应的特征向量为噪声特征向量矩阵Gn=[αd+1,αd+2,...αM];
步骤2.5、假设d条直线的倾斜角范围均为[-90°,90°],首先将[-90°,90°]划分为N1个网格,N1由倾斜角检测分辨率决定,取[1,50]内的整数,则第v1个网格上的角度取值表示如下,其中v1=1,2,...,N1:
则基于上述公式构造的角度集为远场信号导向矢量为
步骤2.6、首先根据谱估计公式计算每个上的功率
然后搜索出绘制出的功率谱中前d个最大峰值,其对应的横坐标为
设定区间其中,Δθ为预先设定的参数,其中,i'=1,...,d,设定网格数量为N2,假设倾斜角检测分辨率为c°,则N2=2Δθ/c,则中第v2个网格上的角度取值表示如下,其中,v2=1,2,...,N2,
则基于上述公式构造的角度集为:
远场信号导向矢量为
步骤2.7、将和Gn代入式(7)得到根据谱估计公式搜索出每个倾斜角范围内的最大的峰值,其对应的网格上的角度为d条直线倾斜角θ=θ1,θ2,...,θd的估计值。
步骤3具体如下:
步骤3.1、预先设定参数μ1,且μ1≠μ,将二值图像(D1,D2,..,DL)按照下式转化成另外一种虚拟阵列信号r=(r1,r2,...,rL),
式中,Dk(x,y)为二值图像Dk中(x,y)坐标点的像素值,k=1,2,...,L;
步骤3.2、根据步骤2.7估计出的倾斜角,将r=(r1,r2,...,rL)表示为以下形式:
其中,
步骤3.3、将之前建立的多快拍信号模型r=(r1,r2,...,rL)代入式(5)进行协方差矩阵计算,Rxx为求得的协方差矩阵;
对Rxx进行特征值分解,获得特征值λq和特征向量αq,其中q=1,2,...,M,对特征值按从大到小顺序进行排序,信号子空间对应于d个较大特征值的特征向量;噪声子空间对应于剩余M-d个特征值的特征向量,噪声子空间对应的特征向量为噪声特征向量矩阵G′N=[αd+1,αd+2,...αM];
步骤3.4、第三次使用MUSIC搜索偏移量范围,假设每一个对应的偏移量范围均为[-M,M],根据偏移量检测分辨率决定网格数量N3,取[1,50]内的正整数,在[-M,M]上根据下式产生对应网格上的偏移量取值表示如下,其中v3=1,2,...,N3:
则基于上述公式构造的每一个倾斜角对应的偏移量集为则令
步骤3.5、将Bi和G′N代入式(7)求得首先根据谱估计公式分别绘制d次功率谱,然后分别搜索出每个功率谱的最大峰值,其对应的网格上的偏移量为
步骤4具体如下:
步骤4.1、对步骤3.5搜索到的偏移量设定区间再次划间隙均匀的网格,为预先设定的偏移量范围,设定网格数量为N4,假设偏移量分辨率为t像素,则则上第v4个网格的偏移量取值表示如下,其中v4=1,2,...,N4:
则基于上述公式构造的对应的偏移量集为则令
步骤4.2、将B′i和G′N代入式(7)求得首先根据谱估计公式分别绘制d次功率谱,然后分别搜索出每个功率谱的最大峰值,其对应的网格坐标即是双黄线的偏移量
本发明的有益效果是,基于快速MUSIC算法的道路双黄线检测方法,首先将CCD摄像机采集到的道路双黄线图像进行图像分割和边缘提取得到仅含双黄线的二值化图像,加入L组服从相同分布且与信号源无关的零均值高斯噪声得到L幅不同的图像,然后将这些图像转换为虚拟均匀线性阵列接收多快拍远场信号,在倾斜角范围内先均匀划分少量网格,利用MUSIC算法对远场信号进行搜索,得到双黄线倾斜角所在的范围,再在此角度附近根据倾斜角分辨率的要求划分网格,再次使用MUSIC算法对远场信号进行搜索,从而求得所有双黄线的倾斜角;再根据求得倾斜角构造虚拟均匀线性阵列接收多快拍近场信号,在直线偏移量范围内划分少量网格,利用MUSIC算法对近场信号进行搜索,得到每条直线倾斜角对应的偏移量范围,再在每个角度下偏移量范围附近根据分辨率的要求划分网格,再次使用MUSIC算法对近场信号进行搜索,从而求得所有双黄线所对应的偏移量。通过倾斜角和偏移量就可以实现双黄线的检测。该发明的提出,大大降低了划分网格的数量,减少了搜索次数,从而提高了双黄线检测时的实时性要求,并且具有较好的超分辨率检测性能。
附图说明
图1是本发明所使用的双黄线原图;
图2是对双黄线原图进行分割、边缘检测和裁剪后的图像;
图3是本发明的直线模型示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于快速MUSIC算法的道路双黄线检测方法,具体按照以下步骤实施:
步骤1、将CCD摄像机采集的道路双黄线图像进行图像分割和边缘提取得到仅含双黄线的二值化图像,双黄线原图如图1所示,加入L组服从相同分布且与信号源无关的零均值高斯噪声得到L幅不同的图像,具体如下:
步骤1.1、利用CCD摄像机采集道路双黄线图像,对采集的图像进行二值化和边缘提取,如图2所示,再将经过二值化和边缘提取后的图像裁剪为大小为M×M的图像D,定义图像左上角为坐标原点,水平向右为x轴正向,垂直向下为y轴正向,直线上的点坐标为(x,y),x,y均为整数,0≤x≤M-1,0≤y≤M-1;
步骤1.2、假设图中有d条直线,d条直线的倾斜角分别为θ=θ1,θ2,...,θd,倾斜角θ1,θ2,...,θd的范围为[-90°,90°],直线的偏移量分别为偏移量的范围为[-M,M],如图3所示,根据直线上的点坐标则直线方程为:
其中,θ与相对应,即当θ=θi时,i=1,2,...,d;
步骤1.3、由于MUSIC算法只能处理多个独立的、不相关的快拍信号,因此,需要对原始的二值图像D,加入L组服从相同分布、且与信号源无关的零均值高斯噪声,得到L组二值图像为(D1,D2,..,DL),以构成多快拍信号。
步骤2、将上述得到的L幅图像转换为虚拟均匀线性阵列接收多快拍远场信号,在倾斜角范围内根据倾斜角检测分辨率的要求先划分少量网格,第一次利用MUSIC算法对远场信号进行搜索,得到双黄线倾斜角所在的范围;在倾斜角度范围内根据倾斜角分辨率的要求再次划分网格,第二次使用MUSIC算法对远场信号进行搜索,从而求得所有双黄线的倾斜角,具体如下:
步骤2.1、建立远场模型,首先定义向量如下:
u=[1,ejμ,ej2μ,...,ej(M-1)μ]T (2)
式中,μ表示预设参数且j表示虚数;
步骤2.2、根据下式将二值图像(D1,D2,..,DL)转换成一维矢量:
是标量,其中k=1,2,...,L;
因此,L组二值图像(D1,D2,..,DL)转化为多快拍阵列信号Z=(z1,z2,...,zL);
步骤2.3、利用MUSIC算法搜索倾斜角范围:首先根据下式计算协方差矩阵
Rx=E(ZZH) (5)
式中,Rx为求得的协方差矩阵,
步骤2.4、然后对Rx进行特征值分解,获得特征值λp和特征向量αp,其中p=1,2,...,M,对特征值按从大到小顺序进行排序,信号子空间对应于d个较大特征值的特征向量,噪声子空间对应于剩余(M-d)个特征值的特征向量,噪声子空间对应的特征向量为噪声特征向量矩阵Gn=[αd+1,αd+2,...αM];
步骤2.5、假设d条直线的倾斜角范围均为[-90°,90°],首先将[-90°,90°]划分为N1个网格,N1由倾斜角检测分辨率决定,取[1,50]内的整数,则第v1个网格上的角度取值表示如下,其中v1=1,2,...,N1:
则基于上述公式构造的角度集为远场信号导向矢量为
步骤2.6、首先根据谱估计公式计算每个上的功率
然后搜索出绘制出的功率谱中前d个最大峰值,其对应的横坐标为
设定区间其中,Δθ为预先设定的参数,其中,i'=1,...,d,设定网格数量为N2,假设倾斜角检测分辨率为c°,则N2=2Δθ/c,则中第v2个网格上的角度取值表示如下,其中,v2=1,2,...,N2,
则基于上述公式构造的角度集为:
远场信号导向矢量为
步骤2.7、将和Gn代入式(7)得到根据谱估计公式搜索出每个倾斜角范围内的最大的峰值,其对应的网格上的角度为d条直线倾斜角θ=θ1,θ2,...,θd的估计值。
步骤3、根据步骤2求得的倾斜角构造虚拟均匀线性阵列接收多快拍近场信号,在直线偏移量范围内根据倾斜角检测分辨率的要求先划分少量网格,第三次利用MUSIC算法对近场信号进行搜索,得到每条直线倾斜角对应的偏移量范围,具体如下:
步骤3.1、预先设定参数μ1,且μ1≠μ,将二值图像(D1,D2,..,DL)按照下式转化成另外一种虚拟阵列信号r=(r1,r2,...,rL),
式中,Dk(x,y)为二值图像Dk中(x,y)坐标点的像素值,k=1,2,...,L;
步骤3.2、虚拟阵列信号转化结束,根据步骤2.7估计出的倾斜角,将r=(r1,r2,...,rL)表示为以下形式:
其中,
步骤3.3、将之前建立的多快拍信号模型r=(r1,r2,...,rL)代入式(5)进行协方差矩阵计算,Rxx为求得的协方差矩阵;
对Rxx进行特征值分解,获得特征值λq和特征向量αq,其中q=1,2,...,M,对特征值按从大到小顺序进行排序,信号子空间对应于d个较大特征值的特征向量;噪声子空间对应于剩余M-d个特征值的特征向量,噪声子空间对应的特征向量为噪声特征向量矩阵G′N=[αd+1,αd+2,...αM];
步骤3.4、第三次使用MUSIC搜索偏移量范围,假设每一个对应的偏移量范围均为[-M,M],根据偏移量检测分辨率决定网格数量N3,取[1,50]内的正整数,在[-M,M]上根据下式产生对应网格上的偏移量取值表示如下,其中v3=1,2,...,N3:
则基于上述公式构造的每一个倾斜角对应的偏移量集为则令
步骤3.5、将Bi和G′N代入式(7)求得首先根据谱估计公式分别绘制d次功率谱,然后分别搜索出每个功率谱的最大峰值,其对应的网格上的偏移量为
步骤4、根据步骤3求得的倾斜角构造虚拟均匀线性阵列接收多快拍近场信号,在步骤3得到的偏移量范围附近根据分辨率的要求再次划分网格,第四次使用MUSIC算法对近场信号进行搜索,从而求得所有双黄线所对应的偏移量,具体如下:
步骤4.1、对步骤3.5搜索到的偏移量设定区间再次划间隙均匀的网格,为预先设定的偏移量范围,设定网格数量为N4,假设偏移量分辨率为t像素,则则上第v4个网格的偏移量取值表示如下,其中v4=1,2,...,N4:
则基于上述公式构造的对应的偏移量集为则令
步骤4.2、将B′i和G′N代入式(7)求得首先根据谱估计公式分别绘制d次功率谱,然后分别搜索出每个功率谱的最大峰值,其对应的网格坐标即是双黄线的偏移量
步骤5、通过步骤2得到的倾斜角和步骤4得到的偏移量确定直线的位置,进而实现双黄线的检测。
实施例
利用本发明对含有双黄线的图像进行检测,图像如图1所示,图像大小为256×256,即M=256,直线的倾斜角和偏移量分别为(θ1=-26°,x1=93),(θ2=-15°,x2=100),(θ3=12°,x3=117),(θ4=23°,x4=127)。
首先,设置搜索倾斜角θ的相关初值:d=4,μ=0.555,第一次倾斜角网格数N1=18,Δθ=10°,第二次倾斜角网格数量为N2=14,μ=0.6倾斜角检测分辨率达到1°;
其次,设置搜索偏移量的相关初值:μ1=0.0039,第一次偏移量网格数N3=29,第二次偏移量网格数量为N4=26,μ1=0.0039,偏移量分辨率达到1像素点。
表1为本发明与改进前的MUSIC的检测结果,MUSIC算法检测时的角度设定分辨率和偏移量设定分辨率与本发明相同,倾斜角为1°,偏移量为1像素点,角度和偏移量搜索范围与本发明均相同,运行环境也与本发明相同。由表1的结果可以看出来,在检测道路双黄线时,本发明在保证检测直线分辨率不变的前提下,大大提高了检测速度,检测速度提高达40%。
表1本发明与改进前的MUSIC对双黄线的检测结果
算法 |
θ<sub>1</sub> |
x<sub>1</sub> |
θ<sub>2</sub> |
x<sub>2</sub> |
θ<sub>3</sub> |
x<sub>3</sub> |
θ<sub>4</sub> |
x<sub>4</sub> |
时间 |
MUSIC |
-26 |
93 |
-15 |
100 |
12 |
117 |
23 |
127 |
0.51s |
本文 |
-26 |
93 |
-15 |
100 |
12 |
117 |
23 |
127 |
0.31s |