2.1 Gabor变换
Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。
二文滤波函数可以表示为:
其中 , ,常数 , 为方向,径向频率 ,空间频率
Gabor函数实际上是复数形式的函数,在实际的滤波过程中需要对其进行分解,得到下列公式:
Gabor滤波器与原图像进行卷积时,需要分别用实部和虚部与原图像进行卷积,其中实部对图像进行滤波得到的是图像平滑的效果,虚部则是一个有效的边缘检测算子。
为了估计每个像素点的纹理主导方向,将输入的灰度图像 和一组Gabor滤波器用事先定义好的方向来进行卷积,
其中 代表卷积运算, 代表滤波方向的总数。
最终,Gabor滤波的模 计算如下: (2.4)
所有的方向中最大的模所对应的方向即为这个像素点的纹理的主导方向。几乎所有的估计纹理方向的方法都是用了大量的滤波方向,为了得到精确的方向角度,但是大量的滤波方向就意着大量的卷积计算,虽然精确,但是耗时太多,不能满足实时性的要求,因此我们参考了Peyman Moghadam等人的方法。
二文空间里的任意一个向量都能由线性独立的两个向量唯一确定。而图像中每个像素点的纹理方向都可以使用一个向量来表示,因此,可以使用2个独立的不同方向Gabor滤波器来得到。为了更精确地估计每个像素点 的主要纹理方向 ,使用了4个方向滤波器 来和输入的灰度图像进行卷积,并且计算每个点的Gabor模。将每个点的Gabor模 以将此排序 。为了充分利用4个模,建立了2个新的向量 和 ,其中
和 分别为新向量 和 的两个角度。2.7)
像素点P的方向为: (2.8)
即为所求的图像中每个像素的主导的纹理方向。
2.2 投票机制
由上可以求出每个像素点 的主导纹理方向 ,则可以在一个与图像大小相同的空间(称之为投票空间)内画出一条由该像素点出发的一条射线 (这个空间每个点的初始值为0),每有一条射线经过该点,则这个点的值加上一个权值,在遍历所有点之后,找出这个空间内哪个点的值最大,则该点即为消失点。
权值的选取是取得良好消失点的关键。在传统的投票机制中,属于道路强边缘点的主导方向和随机非道路区域点的主导方向对于投票有着相同的影响。然而我们知道道路强边缘点中投票应该占有更大的份额,而非道路区域点则应占有较小的份额。这样的投票结果往往会影响消失点的估计。为了解决这个影响,将点的主导方向的三角函数 也作为权值的一部分。这是因为道路中的纹理大多是顺着道路方向的,是垂直方向的,尤其是车辙和轮胎留下的痕迹。而非道路区域点的纹理方向则是随机的。所以消失点是由更靠近垂直方向的角度范围决定的,而不是由更靠近水平方向的角度范围决定的。这样以来就削减了水平方向的角度对于消失点估计的影响。
其次,如果投票空间内的点沿着射线方向依次累加的话,则图像矩阵中越往上的点,它的值就会越大,越往下的点,它的值就会越小,这样投票结果往往会是上面的点。为了解决这个问题,提出了一个距离函数 。它是以标准化的Eucliean距离为基础而改进得到的。它表明在点 的射线 上越靠近点 的点值越大,即占投票的权值就越大,越远离点 的点值越小,即占投票的权值越小。具体公式如下: 基于机器视觉的乡村道路跟踪方法研究(4):http://www.youerw.com/jisuanji/lunwen_7044.html