一种自然场景中圆形交通标志定位方法转让专利

申请号 : CN201610919337.1

文献号 : CN106503704B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张重生郭晖肖怀远

申请人 : 河南大学

摘要 :

本发明公开了一种自然场景中圆形交通标志定位方法,包括以下步骤:A:将原始图像转化为HSV色彩模型,确定可能包含圆形交通标志的候选区域;B:进行二值化处理和中值滤波;C:利用Susan算子确定位于候选区域边缘的候选像素点;D:使用Sobel算子分别计算每个边缘点的梯度方向;E:寻找满足椭圆的极和极弦性质的所有的边缘点组的集合;F:用椭圆的一般方程公式求解所有的椭圆方程,并将对应的椭圆加入椭圆候选集合中;G:剔除椭圆候选集合中实际上不存在的椭圆,将最终保留下来椭圆作为最终定位的圆形交通标志所在的位置。本发明能够在较为复杂的自然场景中准确地定位一幅图像中圆形交通标志对应的子区域,极大地提高了定位效率及定位精度。

权利要求 :

1.一种自然场景中圆形交通标志定位方法,其特征在于,依次包括以下步骤:A:利用圆形交通标志的颜色特征,在将原始图像的RGB色彩模型转化为HSV色彩模型后,把符合红色所对应的颜色空间范围的像素点作为候选像素点,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域;

B:对转化为HSV色彩模型的原始图像进行二值化处理和中值滤波,得到二值图像;

C:利用Susan算子,在步骤B所得到的二值图像中确定位于候选区域边缘的候选像素点,并保留作为边缘点;

D:对步骤C保留下来的每个边缘点,使用Sobel算子分别计算每个边缘点的梯度方向;

E:将步骤D中保留的三个边缘点为一组边缘点组,寻找满足椭圆的极和极弦性质的所有的边缘点组的集合;

F:对于步骤E中得到的满足椭圆的极和极弦性质的所有的边缘点组的集合,利用椭圆的一般方程公式,求解所有的椭圆方程,并将对应的椭圆加入椭圆候选集合中;

G:对步骤F中得出的椭圆候选集合中的椭圆进行筛选,剔除椭圆候选集合中实际上不存在的椭圆,将最终保留下来的椭圆候选集合中的椭圆作为最终定位的圆形交通标志所在的位置。

2.根据权利要求1所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤A包括以下具体步骤:A1:使用如下公式将原始图像的色彩模型从RGB转化为HSV,v=max

其中,r、g和b分别为图像RGB色彩模型中红色、绿色以及蓝色的强度值;max为r、g和b中的最大者;min为r、g和b中的最小者;

A2:设定红色所对应的颜色空间范围是:H∈[0°,16°]∪[315°,360°],S∈[40%,

100%],V∈[10%,80%],将图像中符合设定的红色所对应的颜色空间范围的像素点作为候选像素点并进行保存,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域。

3.根据权利要求2所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤B包括以下具体步骤:B1:在转化为HSV色彩模型的原始图像中,将步骤A2中保存下来的候选像素点的像素值设置为1;将候选像素点以外的其它像素点的像素值设置为0,得到二值图像;

B2:对B1步骤得到的二值图像进行中值滤波,最终得到中值滤波后二值图像中像素值为1的每一个像素点;

中值滤波的具体方法如下:

对于步骤B1中得到的二值图像中像素值为1且具有8个相邻像素点的每一个像素点Pn,将像素点Pn及与其相邻的8个像素点作为一个观察窗,观察窗中9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;然后,判断该观察窗内像素值为1的像素点的个数是否大于5,如果大于5,则Pn像素点的像素值保持不变;否则将Pn的像素值设为0;最终得到中值滤波后二值图像中像素值为1的每一个像素点。

4.根据权利要求2所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤C包括以下具体步骤:C1:对步骤B2中最终得到的中值滤波后二值图像中像素值为1的每一个像素点,在转化为HSV色彩模型的原始图像中进行查找并使用其对应的灰度值,得到一个灰度图像;

C2:对于C1步骤中得到的灰度图像进行边缘检测,确定位于候选区域边缘的候选像素点,并保留作为边缘点。

5.根据权利要求4所述的自然场景中圆形交通标志定位方法,其特征在于:步骤C2的具体方法如下:初始化两个变量a和b,a和b的初始值均为0,将一个圆形模板放置在该灰度图像中的不同位置,将圆形模板所包含区域的中心点Pm与该区域中的其它每个点的灰度值用如下公式进行比较,如果两者灰度值差值的绝对值小于等于阈值t,则a加1,否则b加1;设定阈值f,若最终a的值小于阈值f,则判定该Pm为边缘点,并保留Pm;否则,不保留Pm;

其中,圆形模板的半径radius为[3,5]之间的一个整数,圆形模板所包含区域的中心点Pm的灰度值为I(x0,y0),m为middle的首字母缩写,圆形模板所包含区域中的其它点即待比较点c(x,y)的灰度值为I(x,y),阈值t为(0,0.5)之间的一个浮点数,阈值f为

6.根据权利要求1所述的自然场景中圆形交通标志定位方法,其特征在于:所述的步骤D中梯度方向计算方法如下:设一个观察窗内9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;观察窗内9个像素点所对应的灰度值依次为An-4、An-3、An-2、An-1、An、An+1、An+2、An+3和An+4;边缘点Pn即为位于观察窗中心位置的像素点,利用Sobel算子计算边缘点Pn的梯度方向为:其中,Gx为经横向边缘检测的图像灰度值,Gy为经纵向边缘检测的图像灰度值;

边缘点Pn的梯度方向θ为:

7.根据权利要求1所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤E包括以下具体步骤:E1:在步骤D保留的所有边缘点中,随机选取两个边缘点Pr和Pv;

E2:对两个边缘点Pr和Pv,假定它们位于同一个椭圆,利用椭圆的极和极弦性质,寻找与这两个点位于同一个椭圆上的第三个点;具体方法如下:首先利用步骤D中得到的边缘点Pr和Pv所对应的梯度方向,分别计算与边缘点Pr和Pv对应的梯度方向垂直的方向并分别作为边缘点Pr和Pv的切线方向;再令边缘点Pr的切线为PrT,边缘点Pv的切线为PvT,求切线PrT和切线PvT的交点T;令M点为线段PrPv的中点,连接MT,再令点G为MT的中点;

然后,从步骤D中保留的所有边缘点中找出位于线段GM上的所有边缘点的集合,记为S1;对S1中的每个边缘点,根据步骤D中得到的每个边缘点对应的梯度方向,分别计算与该梯度方向垂直的方向并作为该边缘点的切线方向,如果该边缘点的切线方向与PrPv的夹角小于阈值J,则记该点为Pw;

最后,将{Pr,Pv,Pw}作为一组,加入边缘点组的集合S2中,阈值J为夹角角度,范围为(0°,10°)之间;

E3:循环执行步骤E1和E2,直到循环的次数达到阈值H,设w为(0,20]之间的一个浮点数,|S1|为集合S1中元素的个数,阈值H为w*|S1|;

E4:步骤执行完毕后,得到满足椭圆的极和极弦性质的所有的边缘点组的集合S2。

8.根据权利要求7所述的自然场景中圆形交通标志定位方法,其特征在于:所述的步骤E1中,随机选取的两个边缘点Pr和Pv之间的距离大于等于d,阈值d为(0,2)之间的一个浮点数。

9.根据权利要求1所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤F包括以下具体步骤:F1:从边缘点组的集合中随机选取两个边缘点组,共6个边缘点,对可能存在的椭圆进行拟合,将这6个边缘点都带入到下述公式中的椭圆的一般方程中,得到一个超定线性方程组,然后利用最小二乘法求解该方程组,解出椭圆的方程;将该椭圆加入椭圆候选集合S3中;

其中,A、B、C、D、E为待求解的5个自由参数,F可以设定为任意值;

F2:循环执行步骤F1,直到循环次数达到阈值U,阈值U为k*|S2|,k为(0,20]之间的一个浮点数,|S2|为集合S2中元素的个数;

F3:步骤F2执行完毕后,得到最终的椭圆候选集合。

10.根据权利要求1所述的自然场景中圆形交通标志定位方法,其特征在于,所述的步骤G包括以下具体步骤:

G1:对椭圆候选集合中的每一个椭圆,剔除长短轴小于阈值Q的椭圆,阈值Q为(0,20)之间的一个浮点数;

G2:对于经步骤G1剔除后剩余的每个椭圆Ri,i=1,2,3,……,统计位于该椭圆上的边缘点数量;

边缘点数量统计方法如下:

初始化一个变量gi,i=1,2,3,……,gi初始值为0,设步骤D中得到的边缘点为Ph,过边缘点Ph做x轴和y轴的平行线,x轴和y轴的平行线分别与该椭圆Ri相交于点W1,W2,W3和W4,若点W1,W2,W3和W4中至少有一个点与边缘点Ph的距离小于阈值U,则认为边缘点Ph在椭圆Ri上,然后gi的值加1;其中,阈值U为(0,1)之间的一个浮点数;

G3:对于步骤G2中的每个椭圆Ri,以及其对应的gi值,设椭圆周长为Li,i=1,2,3,……,阈值为z%,z是取值范围为(0,100]的一个浮点数,若gi>Li*z%,则认为椭圆Ri是真实存在的并在椭圆候选集合保留Ri;否则将Ri从椭圆候选集合中移除;

G4:将步骤G3执行完毕后椭圆候选集合中所保留下来的椭圆作为最终定位的圆形交通标志所在的位置。

说明书 :

一种自然场景中圆形交通标志定位方法

技术领域

[0001] 本发明涉及一种交通标志的定位方法,尤其涉及一种自然场景中圆形交通标志的定位方法。

背景技术

[0002] 汽车是现代社会必不可少的交通工具之一。汽车在大规模普及的同时也带来了一系列的交通问题,尤其是交通堵塞问题。智能交通系统将智能控制技术、通信技术、传感器技术、人工智能和模式识别等先进技术运用于交通运输和智能调度,从而形成一种自动、智能、高效、便捷的交通运输调度与管理系统。
[0003] 交通标志识别是智能交通系统必须解决的科学问题。交通标志识别包含两项子任务:图像中交通标志的定位以及其类别的识别。如何在复杂的自然场景下,准确的定位到图像中交通标志对应的子区域,是交通标志识别的一个基础并且重要的问题。在进行目标区域定位时,现有的算法通常都借用Hough变换等方法进行定位。但对于复杂的自然场景中的图像而言,由于干扰点较多,定位到正确目标区域的成功率较低。

发明内容

[0004] 本发明的目的是提供一种自然场景中圆形交通标志定位方法,能够在较为复杂的自然场景中准确地定位一幅图像中圆形交通标志对应的子区域,有效克服了现有定位方法因图像形变而导致定位成功率较低的缺陷,极大地提高了定位效率及定位精度。
[0005] 本发明采用下述技术方案:
[0006] 一种自然场景中圆形交通标志定位方法,依次包括以下步骤:
[0007] A:利用圆形交通标志的颜色特征,在将原始图像的RGB色彩模型转化为HSV色彩模型后,把符合红色所对应的颜色空间范围的像素点作为候选像素点,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域;
[0008] B:对转化为HSV色彩模型的原始图像进行二值化处理和中值滤波,得到二值图像;
[0009] C:利用Susan算子,在步骤B所得到的二值图像中确定位于候选区域边缘的候选像素点,并保留作为边缘点;
[0010] D:对步骤C保留下来的每个边缘点,使用Sobel算子分别计算每个边缘点的梯度方向;
[0011] E:将步骤D中保留的三个边缘点为一组边缘点组,寻找满足椭圆的极和极弦性质的所有的边缘点组的集合;
[0012] F:对于步骤E中得到的满足椭圆的极和极弦性质的所有的边缘点组的集合,利用椭圆的一般方程公式,求解所有的椭圆方程,并将对应的椭圆加入椭圆候选集合中;
[0013] G:对步骤F中得出的椭圆候选集合中的椭圆进行筛选,剔除椭圆候选集合中实际上不存在的椭圆,将最终保留下来的椭圆候选集合中的椭圆作为最终定位的圆形交通标志所在的位置。
[0014] 所述的步骤A包括以下具体步骤:
[0015] A1:使用如下公式将原始图像的色彩模型从RGB转化为HSV,
[0016]
[0017]
[0018] v=max
[0019] 其中,r、g和b分别为图像RGB色彩模型中红色、绿色以及蓝色的强度值;max为r、g和b中的最大者;min为r、g和b中的最小者;
[0020] A2:设定红色所对应的颜色空间范围是:H∈[0°,16°]∪[315°,360°],S∈[40%,100%],V∈[10%,80%],将图像中符合设定的红色所对应的颜色空间范围的像素点作为候选像素点并进行保存,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域。
[0021] 所述的步骤B包括以下具体步骤:
[0022] B1:在转化为HSV色彩模型的原始图像中,将步骤A2中保存下来的候选像素点的像素值设置为1;将候选像素点以外的其它像素点的像素值设置为0,得到二值图像;
[0023] B2:对B1步骤得到的二值图像进行中值滤波,最终得到中值滤波后二值图像中像素值为1的每一个像素点;
[0024] 中值滤波的具体方法如下:
[0025] 对于步骤B1中得到的二值图像中像素值为1且具有8个相邻像素点的每一个像素点Pn,将像素点Pn及与其相邻的8个像素点作为一个观察窗,观察窗中9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;然后,判断该观察窗内像素值为1的像素点的个数是否大于5,如果大于5,则Pn像素点的像素值保持不变;否则将Pn的像素值设为0;最终得到中值滤波后二值图像中像素值为1的每一个像素点。
[0026] 所述的步骤C包括以下具体步骤:
[0027] C1:对步骤B2中最终得到的中值滤波后二值图像中像素值为1的每一个像素点,在转化为HSV色彩模型的原始图像中进行查找并使用其对应的灰度值,得到一个灰度图像;
[0028] C2:对于C1步骤中得到的灰度图像进行边缘检测,确定位于候选区域边缘的候选像素点,并保留作为边缘点。
[0029] 步骤C2的具体方法如下:
[0030] 初始化两个变量a和b,a和b的初始值均为0,将一个圆形模板放置在该灰度图像中的不同位置,将圆形模板所包含区域的中心点Pm与该区域中的其它每个点的灰度值用如下公式进行比较,如果两者灰度值差值的绝对值小于等于阈值t,则a加1,否则b加1;设定阈值f,若最终a的值小于阈值f,则判定该Pm为边缘点,并保留Pm;否则,不保留Pm。
[0031]
[0032] 其中,圆形模板的半径radius为[3,5]之间的一个整数,圆形模板所包含区域的中心点Pm的灰度值为I(x0,y0),m为middle的首字母缩写,圆形模板所包含区域中的其它点即待比较点c(x,y)的灰度值为I(x,y),阈值t为(0,0.5)之间的一个浮点数,阈值f为
[0033] 所述的步骤D中梯度方向计算方法如下:
[0034] 设一个观察窗内9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;观察窗内9个像素点所对应的灰度值依次为An-4、An-3、An-2、An-1、An、An+1、An+2、An+3和An+4;边缘点Pn即为位于观察窗中心位置的像素点,利用Sobel算子计算边缘点Pn的梯度方向为:
[0035] Gx=(An+2+2An+3+An+4)-(An-4+2An-3+An-2)
[0036] Gy=(An-2+2An+1+An+4)-(An-4+2An-1+An+2);
[0037] 其中,Gx为经横向边缘检测的图像灰度值,Gy为经纵向边缘检测的图像灰度值;
[0038] 边缘点Pn的梯度方向θ为:
[0039]
[0040] 所述的步骤E包括以下具体步骤:
[0041] E1:在步骤D保留的所有边缘点中,随机选取两个边缘点Pr和Pv;
[0042] E2:对两个边缘点Pr和Pv,假定它们位于同一个椭圆,利用椭圆的极和极弦性质,寻找与这两个点位于同一个椭圆上的第三个点;具体方法如下:
[0043] 首先利用步骤D中得到的边缘点Pr和Pv所对应的梯度方向,分别计算与边缘点Pr和Pv对应的梯度方向垂直的方向并分别作为边缘点Pr和Pv的切线方向;再令边缘点Pr的切线为PrT,边缘点Pv的切线为PvT,求切线PrT和切线PvT的交点T;令M点为线段PrPv的中点,连接MT,再令点G为MT的中点;
[0044] 然后,从步骤D中保留的所有边缘点中找出位于线段GM上的所有边缘点的集合,记为S1;对S1中的每个边缘点,根据步骤D中得到的每个边缘点对应的梯度方向,计算与该梯度方向垂直的方向并作为该边缘点的切线方向,如果该边缘点的切线方向与PrPv的夹角小于阈值J,则记该点为Pw;
[0045] 最后,将{Pr,Pv,Pw}作为一组,加入边缘点组的集合S2中,阈值J为夹角角度,范围为(0°,10°)之间;
[0046] E3:循环执行步骤E1和E2,直到循环的次数达到阈值H,设w为(0,20]之间的一个浮点数,|S1|为集合S1中元素的个数,阈值H为w*|S1|;
[0047] E4:步骤执行完毕后,得到满足椭圆的极和极弦性质的所有的边缘点组的集合S2。
[0048] 所述的步骤E1中,随机选取的两个边缘点Pr和Pv之间的距离大于等于d,阈值d为(0,2)之间的一个浮点数。
[0049] 所述的步骤F包括以下具体步骤:
[0050] F1:从边缘点组的集合中随机选取两个边缘点组,共6个边缘点,对可能存在的椭圆进行拟合,将这6个边缘点都带入到下述公式中的椭圆的一般方程中,得到一个超定线性方程组,然后利用最小二乘法求解该方程组,解出椭圆的方程;将该椭圆加入椭圆候选集合S3中;
[0051]
[0052] 其中,A、B、C、D、E为待求解的5个自由参数,F可以设定为任意值;
[0053] F2:循环执行步骤F1,直到循环次数达到阈值U,阈值U为k*|S2|,k为(0,20]之间的一个浮点数,|S2|为集合S2中元素的个数;
[0054] F3:步骤F2执行完毕后,得到最终的椭圆候选集合。
[0055] 所述的步骤G包括以下具体步骤:
[0056] G1:对椭圆候选集合中的每一个椭圆,剔除长短轴小于阈值Q的椭圆,阈值Q为(0,20)之间的一个浮点数;
[0057] G2:对于经步骤G1剔除后剩余的每个椭圆Ri,i=1,2,3,……,统计位于该椭圆上的边缘点数量;
[0058] 边缘点数量统计方法如下:
[0059] 初始化一个变量gi,i=1,2,3,……,gi初始值为0,设步骤D中得到的边缘点为Ph,过边缘点Ph做x轴和y轴的平行线,x轴和y轴的平行线分别与该椭圆Ri相交于点W1,W2,W3和W4,若点W1,W2,W3和W4中至少有一个点与边缘点Ph的距离小于阈值U,则认为边缘点Ph在椭圆Ri上,然后gi的值加1;其中,阈值U为(0,1)之间的一个浮点数;
[0060] G3:对于步骤G2中的每个椭圆Ri,以及其对应的gi值,设椭圆周长为Li,i=1,2,3,……,阈值为z%,z是取值范围为(0,100]的一个浮点数,若gi>Li*z%,则认为椭圆Ri是真实存在的并在椭圆候选集合保留Ri;否则将Ri从椭圆候选集合中移除;
[0061] G4:将步骤G3执行完毕后椭圆候选集合中所保留下来的椭圆作为最终定位的圆形交通标志所在的位置。
[0062] 本发明采用高准确率的椭圆拟合算法,基于圆形交通标志由红色环形区域包围的这一显著特点,以椭圆的几何性质为基础,将圆形交通标志定位划分为颜色分割和基于几何形状的椭圆检测两个阶段。本发明在颜色分割阶段过滤大部分干扰信息,极大地提高了交通标志定位的速度与准确率;且在椭圆检测阶段使用两组可能存在于椭圆上的边缘点进行拟合,最终在图像中准确定位圆形交通标志所在的子区域,有效克服了现有定位方法因图像形变而导致定位成功率较低的缺陷,极大地提高了定位效率及定位精度。

附图说明

[0063] 图1为本发明的流程示意图;
[0064] 图2为像素点P5及与其相邻的8个像素点所组成的一个观察窗的位置示意图;
[0065] 图3为图2中各个像素点所对应的灰度值的位置示意图;
[0066] 图4是椭圆极和极弦的位置关系示意图;
[0067] 图5是检测边缘点是否在椭圆上的位置关系示意图。

具体实施方式

[0068] 以下结合附图和实施例对本发明作以详细的描述:
[0069] 自然场景中的圆形交通标志由于拍摄角度等问题,很有可能产生形变,在拍摄后图片中呈现为一个椭圆。本发明针对这种情况,设计一种算法对图像中可能呈现为椭圆形状的交通标志进行检测,极大地提高了本申请的鲁棒性和定位的准确率。
[0070] 如图1所示,本发明所述的自然场景中圆形交通标志定位方法,基于圆形交通标志由红色环形区域包围这一显著特点,以椭圆的几何性质为基础,将圆形交通标志定位方法划分为颜色分割和基于几何形状的椭圆检测两个阶段。其中,颜色分割阶段对应本申请中的步骤A和步骤B,即将输入图像的颜色空间从RGB转化为HSV,然后利用红色所对应的颜色空间范围对图像中可能包含圆形交通标志的区域进行初步定位并得到候选区域。基于几何形状的椭圆检测阶段对应本申请中的步骤C、D、E、F和G,该阶段对颜色分割阶段中得到的候选区域进行二值化处理和边缘检测,以进行滤波,并针对交通标志所特有的圆形特征,利用改进的Hough变换算法进行椭圆区域搜索,最后筛选出最符合椭圆特征的目标区域。
[0071] 以下结合具体实施例对本发明所述的自然场景中圆形交通标志定位方法进行进一步阐述:
[0072] A:利用圆形交通标志的颜色特征,在将原始图像的RGB色彩模型转化为HSV色彩模型后,把符合红色所对应的颜色空间范围的像素点作为候选像素点,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域。
[0073] 其中,步骤A包括以下具体步骤:
[0074] A1:首先,使用公式(1)将原始图像的色彩模型从RGB转化为HSV。
[0075]
[0076]
[0077] v=max
[0078] 其中,r、g和b分别为图像RGB色彩模型中红色、绿色以及蓝色的强度值;max为r、g和b中的最大者;min为r、g和b中的最小者。
[0079] A2:根据红色所对应的颜色空间范围初步定位出图像中可能包含圆形交通标志的候选区域。
[0080] 交通标志中的红色在标准的HSV色彩模型中表现为H=0°,S=100%,V=100%。但由于自然环境中天气和光线等条件的影响,会产生一定程度的失真。为了进一步保证鲁棒性,本发明还特殊定义了红色所对应的颜色空间范围,最后选取的红色范围是:H∈[0°,16°]∪[315°,360°],S∈[40%,100%],V∈[10%,80%]。本发明所特殊选取的红色范围,能够稳定有效地分割出包含交通标志信息的目标区域,过滤掉大部分不属于交通标志的区域,极大地提高了交通标志定位的速度与准确率。最后,将图像中符合自定义的红色所对应的颜色空间范围的像素点作为候选像素点并进行保存,所有候选像素点所构成的各个子区域作为图像中可能包含圆形交通标志的候选区域。
[0081] B:对转化为HSV色彩模型的原始图像进行二值化处理和中值滤波,得到二值图像。
[0082] 其中,步骤B包括以下具体步骤:
[0083] B1:在转化为HSV色彩模型的原始图像中,将步骤A2中保存下来的候选像素点的像素值设置为1;将候选像素点以外的其它像素点的像素值设置为0,得到二值图像。
[0084] B2:由于自然场景中的图像一般含有较多噪声,因此本步骤中对B1步骤得到的二值图像进行中值滤波,最终得到中值滤波后二值图像中像素值为1的每一个像素点。
[0085] 中值滤波的具体方法如下:
[0086] 对于步骤B1中得到的二值图像中像素值为1且具有8个相邻像素点的每一个像素点Pn,将像素点Pn及与其相邻的8个像素点作为一个观察窗,观察窗中9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;然后,判断该观察窗内像素值为1的像素点的个数是否大于5,如果大于5,则Pn像素点的像素值保持不变;否则将Pn的像素值设为0;最终得到中值滤波后二值图像中像素值为1的每一个像素点。
[0087] 本实施例中,如图2所示,观察窗中9个像素点从左至右、从上至下依次为P1、P2、P3、P4、P5、P6、P7、P8和P9。
[0088] C:利用Susan算子,在步骤B所得到的二值图像中确定位于候选区域边缘的候选像素点,并保留作为边缘点。
[0089] 其中,步骤C包括以下具体步骤:
[0090] C1:对步骤B2中最终得到的中值滤波后二值图像中像素值为1的每一个像素点,在转化为HSV色彩模型的原始图像中进行查找并使用其对应的灰度值,得到一个灰度图像。
[0091] C2:对于C1步骤中得到的灰度图像进行边缘检测,确定出位于候选区域边缘的候选像素点并保留作为边缘点,具体方法如下:
[0092] 初始化两个变量a和b,a和b的初始值均为0,将一个圆形模板放置在该灰度图像中的不同位置,将圆形模板所包含区域的中心点Pm与该区域中的其它每个点的灰度值用公式(2)进行比较,如果两者灰度值差值的绝对值小于等于阈值t,则a加1,否则b加1;设定阈值f,若最终a的值小于阈值f,则判定该Pm为边缘点,并保留Pm;否则,不保留Pm。
[0093]
[0094] 其中,,圆形模板的半径radius为[3,5]之间的一个整数,圆形模板所包含区域的中心点Pm的灰度值为I(x0,y0),m为middle的首字母缩写,圆形模板所包含区域中的其它点即待比较点c(x,y)的灰度值为I(x,y),阈值t为(0,0.5)之间的一个浮点数,阈值f为[0095] D:对步骤C保留下来的每个边缘点,使用Sobel算子分别计算每个边缘点的梯度方向。
[0096] 对步骤C保留下来的每个边缘点,分别计算其梯度方向,梯度方向计算方法如下:
[0097] 设一个观察窗内9个像素点形成3×3矩阵排列,从左至右、从上至下依次为Pn-4、Pn-3、Pn-2、Pn-1、Pn、Pn+1、Pn+2、Pn+3和Pn+4;观察窗内9个像素点所对应的灰度值依次为An-4、An-3、An-2、An-1、An、An+1、An+2、An+3和An+4;边缘点Pn即为位于观察窗中心位置的像素点,利用Sobel算子计算边缘点Pn的梯度方向为:
[0098]
[0099] 其中,Gx为经横向边缘检测的图像灰度值,Gy为经纵向边缘检测的图像灰度值;
[0100] 边缘点Pn的梯度方向θ为:
[0101]
[0102] 如图2和图3所示,本实施例中,观察窗中9个像素点从左至右、从上至下依次为P1、P2、P3、P4、P5、P6、P7、P8和P9,9个像素点所对应的灰度值分别为A1,A2,…,A9,灰度值为A5的边缘点P5位于观察窗中心,利用Sobel算子可以计算边缘点P5的梯度方向:
[0103]
[0104] 边缘点P5的梯度方向θ为:
[0105] E:将步骤D中保留的三个边缘点作为一组边缘点组,寻找满足椭圆的极和极弦性质的所有的边缘点组的集合。
[0106] 步骤E包括以下具体步骤:
[0107] E1:在步骤D保留的所有边缘点中,随机选取两个边缘点Pr和Pv;
[0108] 为了进一步降低拟合时产生的误差,本发明中设置有阈值d,随机选取的两个边缘点Pr和Pv之间的距离大于等于d,阈值d为(0,2)之间的一个浮点数。阈值d的设置,能够避免随机选取的两个边缘点过于接近,从而杜绝两个边缘点在拟合时产生较大误差的情况。
[0109] E2:对两个边缘点Pr和Pv,假定它们位于同一个椭圆,利用椭圆的极和极弦性质,寻找与这两个点位于同一个椭圆上的第三个点,方法如下:
[0110] 利用步骤D中得到的边缘点Pr和Pv所对应的梯度方向,分别计算与边缘点Pr和Pv对应的梯度方向垂直的方向并分别作为边缘点Pr和Pv的切线方向。令边缘点Pr的切线为PrT,边缘点Pv的切线为PvT,求切线PrT和切线PvT的交点T。令M点为线段PrPv的中点,连接MT,再令点G为MT的中点。如附图4所示。
[0111] 从步骤D中保留的所有边缘点中找出位于线段GM上的所有边缘点的集合,记为集合S1。对集合S1中的每个边缘点,根据步骤D中得到的每个边缘点对应梯度方向,计算与该梯度方向垂直的方向并作为该边缘点的切线方向,如果该边缘点的切线方向与PrPv的夹角小于阈值J,则记该点为Pw。最后,将{Pr,Pv,Pw}作为一组,加入寻找满足椭圆的极和极弦性质所有的边缘点组的集合S2中,阈值J为夹角角度,范围为(0°,10°)之间。
[0112] E3:循环执行步骤E1和E2,直到循环的次数达到阈值H,设w为(0,20]之间的一个浮点数,|S1|为集合S1中元素的个数,阈值H为w*|S1|。
[0113] E4:步骤执行完毕后,得到满足椭圆的极和极弦性质的所有的边缘点组的集合S2。
[0114] F:对于步骤E中得到的满足椭圆的极和极弦性质的所有的边缘点组的集合S2,利用椭圆的一般方程公式,求解所有的椭圆方程,并将对应的椭圆加入椭圆候选集合中。
[0115] 步骤F包括以下具体步骤:
[0116] F1:从满足椭圆的极和极弦性质的所有的边缘点组的集合S2中随机选取两个边缘点组,共6个边缘点,对可能存在的椭圆进行拟合,使用该方法可以较为显著地减小点的分布对于真实存在的椭圆造成的影响,能够极大地提高椭圆定位的准确率。将这6个边缘点都带入到公式(5)中的椭圆的一般方程中,得到一个超定线性方程组,然后利用最小二乘法求解该方程组,解出椭圆的方程。将该椭圆加入椭圆候选集合S3中。
[0117]
[0118] 其中,A、B、C、D、E为待求解的5个自由参数,F可以设定为任意值,本发明中设置F为1000.0;
[0119] F2:循环执行步骤F1,直到循环次数达到阈值U,设k为(0,20]之间的一个浮点数,|S2|为集合S2中元素的个数,阈值U为k*|S2|。
[0120] F3:步骤执行完毕后,得到最终的椭圆候选集合S3。
[0121] G:对步骤F中得出的椭圆候选集合S3中的椭圆进行筛选,剔除椭圆候选集合中实际上不存在的椭圆,将最终保留下来的椭圆候选集合S3中的椭圆作为最终定位的圆形交通标志所在的位置。
[0122] 步骤G包括以下具体步骤:
[0123] G1:对椭圆候选集合S3中的每一个椭圆,剔除长短轴小于阈值Q的椭圆,阈值Q为(0,20)之间的一个浮点数。
[0124] G2:对于经步骤G1剔除后剩余的每个椭圆Ri,i=1,2,3,……,统计位于该椭圆上的边缘点数量。
[0125] 边缘点数量统计方法如下:
[0126] 初始化一个变量gi,i=1,2,3,……,gi初始值为0,设步骤D中得到的边缘点为Ph,过边缘点Ph分别做x轴的平行线Lx和y轴的平行线Ly,x轴的平行线Lx和y轴的平行线Ly分别与该椭圆Ri相交于点W1,W2,W3和W4,如附图5所示。若点W1,W2,W3和W4中至少有一个点与边缘点Ph的距离小于阈值U,则认为边缘点Ph在椭圆Ri上,然后gi的值加1。其中,阈值U为(0,1)之间的一个浮点数。
[0127] G3:对于G2中的每个椭圆Ri,及其对应的gi值,设椭圆周长为Li,i=1,2,3,……,阈值为z%,z是取值范围为(0,100]的一个浮点数,若gi>Li*z%,则认为椭圆Ri是真实存在的并在S3保留Ri;否则将Ri从S3中移除。
[0128] G4:将步骤G3执行完毕后S3中所保留下来的椭圆作为最终定位的圆形交通标志所在的位置。