基于PCA—SFIT算法的交通标志识别

2018-10-21 12:09李亚琼聂冰花
名城绘 2018年12期

李亚琼 聂冰花

摘要:针对SIFT特征点检测算法在进行交通标志识别过程中存在SIFT描述子生成复杂,维数较高,算法效率较低的问题,本文将主成分分析算法PCA与SIFT特征点检测算法结合起来进行交通标志的识别,利用PCA对高维数据进行线性变换获得数量较少的新数据,从而达到降维的效果,解决SIFT描述子维数较高的问题,大大减少特征匹配的时间。实验结果表明,基于PCA-SIFT 的特征描述子能有效降低特征空间维数,提高识别匹配速度,完成交通标志的有效分类,且计算简单,速度快,识别率高,具有更高的准确性和匹配速度。

关键词:SIFT;PCA;特征描述子;交通标志识别

随着社会进步和经济的发展,我国的公路交通行业得到了持续、快速地发展。高度发达的现代交通为人类的生活带来了便利,但同时交通安全、交通拥挤等问题也变得越来越严重。为了解决这些问题,智能交通系统(ITS)这一研究领域应运而生[1]。道路交通标志识别系统 (TSR)作为智能交通系统的主要研究方向,已成为国内外学者研究的热点之一。基于计算机视觉的交通标志识别是智能车辆的关键技术和难点之一,如何快速、准确地从自然场景图像中识别出交通标志,对于保证驾驶安全,避免交通事故具有重要意义[2]。

近年来,在计算机视觉领域,基于局部不变量描述符的方法在目标识别方面取得了显著的进展。在2004年,哥伦比亚大学的David G.Lowe提出了一种新的提取点特征的算法——SIFT(Scale Invariant Feature Transform)算法[3],这种基于尺度空间的算子,具有对图像的平移、旋转变换、尺度缩放、亮度变化良好的不变性,同时对视觉变化、仿射变换以及噪声也保持一定程度的稳定性,是目前比较流行的特征检测算子。SIFT特征点检测算法己经被广泛应用于很多领域,但是由于图像数据量一般较大,并且SIFT描述子的生成本身较为复杂,维数较高,直接加以应用算法效率较低[4]。

交通标志图像包含大量彼此相关因素,從而会造成特征的重复和浪费,增加识别的复杂度。特征提取是一种有效的特征降维方法,在模式识别、图像处理和计算机视觉中得到了成功的运用。主成分分析法 (Principal Component Analysis,简称PCA)作为一种特征提取的经典方法[5],是一种常用的数学分析方法,它通过对高维数据进行线性变换获得数量较少的新数据,并且这些新数据能够充分描述原数据的特征,即这些变量在描述数据特征方面是比较重要的“主分量”,因此主成分分析又被称作主分量分析。PCA方法的基本思想是在原始数据空间中寻找主要特征,由于主要特征消除了原数据之间的冗余性,其数量远小于初始数据量,使得数据可以在较低的维数空间被处理。图像经PCA处理后得到的特征在一般情况下是最佳描述特征,所以PCA方法在特征提取方面应用广泛,目前已经应用于图像处理、信号处理和模式识别等多个领域。然而PCA方法首先要将图像矩阵转换成行向量,这就导致了图像向量的维数相当高,从而增加了计算的复杂度,使得后续的线性辨别分析耗费大量的时间。因此,PCA的主要缺点是需要很大的存储空间和计算复杂度[6]。

针对上述问题,本文将SIFT算法与PCA算法结合起来,应用到交通标志的识别过程中。充分利用PCA方法对原始变量进行变换后提取少数新变量,新变量之间互不相关,并且尽可能多的保留了原数据的所有信息。通过原始数据的方差找到一组向量,将原始数据向该向量投影以降低数据的维数,并且保存了数据的主要信息的特点,从而解决SIFT描述子维数较高的问题,大大减少特征匹配的时间[7],实验结果表明,基于PCA-SIFT 的特征描述子能有效降低特征空间维数,提高识别匹配速度,完成交通标志的有效分类,且计算简单,速度快,识别率高,具有更高的准确性和匹配速度。

1 SIFT算法介绍

SIFT算法可以在不同的空间和图像区域中检测到大量的特征点,用于图像的匹配,其匹配算法包括两个阶段,分别为从待匹配图像中提取出对尺度缩放、旋转、亮度变化无关的SIFT特征向量和SIFT特征向量的匹配[8]。具体步骤如下所述:

Step1:尺度空间的构建及极值点检测:建立尺度空间即建立一幅图像尺度从大到小的若干幅图像的有机集合。在图像二维平面空间和尺度空间同时寻找局部极值点以实现尺度不变性。Koenderink[9]和Lindber[10]指出,在一系列合理的假设下,高斯函数是尺度空间核函数中唯一的线性核。

Step4:计算特征点的特征描述子:把每个特征点附近的的窗口切成的子窗口,首先将每一个像素的梯度方向旋转为特征点的主方向,以确保旋转不变性;然后利用高斯平滑滤波为每一个方向做加权,再在每一个子窗口中计算它的方向直方图。这样,每个特征点都可以得到一个128维的特征向量。最后对得到的特征向量进行归一化处理,以减少光照变化产生的影响。梯度方向直方图反映了图像的结构信息,由于经过归一化后可以去除光照的影响,而梯度的计算本身与光照无关,所以特征向量对光照的仿射变换是不变的[11]。

2 基于PCA-SIFT算法的交通标志识别

虽然SIFT算子在目标识别领域已达到良好的效果,但是在大规模的数据存储和计算中,由于其维数过高导致计算量过大,耗时太长。因此,本文采用一种基于PCA-SIFT算法的交通标志识别方法,该算法利用PCA对图像进行降维处理,通过计算主成分将高维数据投影到较低维的空间,并且改变了描述子的生成方式。其主要步骤如下:

Step1: 计算或者载入投影矩阵

选择一系列具有代表性的训练样本,提取训练样本图像的特征点,i为特征点的个数,在每一个特征点区域划定一个大小为40×40像素的区域块。

计算40×40区域的水平和垂直方向的梯度。形成一个大小为40×40×2=3200的矢量,然后将该矢量放入i×3200大小的矩阵R中。

将特征值从大到小排列,选择最大的前j个特征值对应的特征向量作为主成分方向,并由这些向量组成j×3200的投影矩阵A;j确定了生成PCA-SIFT描述子的维数,可以根据计算出的特征值来设定,也可以根据经验设定一个值。投影矩阵只计算一次,并且储存。

Step2:检测特征点:如第2节所述。

Step3:PCA- SIFT描述子的生成。

对于测试图像的每一个特征点,输入其位置与方向信息,在同尺度提取一个40×40的区域块并旋转至由梯度直方图得到的特征点的主方向。

计算40×40区域水平和垂直方向的梯度;形成大小为3200的矢量;并将之前构建的投影矩阵A与此矢量相乘,生成一个维数为j的PCA-SIFT描述子。

此外,PCA-SIFT与SIFT算子具有相同的尺度、主方向和亚像素位置,但是在生成描述子的时候,它利用特征点邻域40×40的区域块提取主成分,并由提取的主成分来确定最后生成的PCA-SIFT算子的维数,从而达到更精确的表示方法。当然在进行交通标志识别之前,首先要对交通标志图像进行一些必要的预处理,比如对齐正规化、直方图均衡等,为了增加匹配的稳定性,要对获取的各个兴趣点的特征向量进行归一化处理,以便对光照和形变有更强的适应性。对于一些不怎么清晰的交通标志图像,可能提取到的特征數相对较少,这时为了提取到足够多的特征点数,可以将图像尺度再扩大一倍,以增加特征点数。

3 实验结果与分析

为了验证本文所采用的SIFT-PCA算法在图像扭曲形变、旋转、光照变化等情况下的匹配效果,并确定算法应用到交通标志识别过程中的可行性和有效性,进行如下对比实验。

实验一:选取在不同光照环境下的同一个交通标志如图1中(a)、(b)所示,并对(a)、(b)进行旋转变形如图1中(c)、(d)所示。本算法的实验平台是在matlab2010a环境下实现对交通标志的识别,识别效果如图1所示。

实验二:选取在不同环境下不同的交通标志如图2 (a)、(b)、 (c)、(d)所示,进行交通标志识别,识别结果如图2所示。

实验三:为了有效说明本文基于PCA-SIFT算法的交通标志识别方法的优越性,选取PCA算法、SIFT算法和本文算法的耗时时间和识别率作为客观评价指标进行对比试验,实验结果如表1和表2所示。

综合以上客观与主观评价可以得到以下结论:

(1)从图1和图2可以看出,本文所采用的基于PCA-SIFT算法的交通标志识别方法在交通标志识别过程中,对同一交通标志在不同环境下的旋转变形、光照变化等具有良好的不变性和较高的匹配率,说明此方法可以应用到不同环境、不同场景下的交通标志识别中,是一种鲁棒性较强的识别方法。

(2)从表1可以看出,虽然在特征描述子生成阶段,PCA-SIFT算法的描述子生成时间要略长于SIFT算法;但是在匹配阶段,PCA-SIFT算法的算子匹配时间要比SIFT算法快很多,SIFT算法的描述子生成和匹配的总耗时为3.79秒,而PCA-SIFT算法的总耗时为2.22秒,因此充分说明了本设计算法在进行交通标志识别的过程中总时间要快于SIFT算法,其实时性较强,更加符合实际需要。

(3)从表2可以看出, PCA-SIFT算法在进行交通标志的识别过程中,其具有较高的识别率,识别正确率为95.6%;而SIFT算法的识别率较低,则为93.1%;PCA算法的识别率最低,为85.5%,因此,从识别率这一客观指标来看,本文方法的识别正确率要高于其他两种方法,是一种更加有效的交通标志识别方法。

综上所述,无论从主观视觉效果还是客观评价指标都可以得出相同的结论:在交通标志识别的应用中,本文方法明显优于PCA和SIFT两种算法,不仅提高了正确识别率,节省了识别时间,而且在交通标志的识别过程中表现出较强的识别鲁棒性。

4 结语

本文针对SIFT特征点检测算法在进行交通标志识别过程中存在SIFT描述子生成复杂,维数较高,算法效率较低的问题,采用了一种将PCA算法与SIFT特征点检测算法相结合的方法进行交通标志识别,以期利用PCA算法对特征点实现降维的效果,解决SIFT描述子维数较高的问题。大大减少特征匹配的时间。实验结果表明:无论是主观还是客观衡量指标两个方面,本文方法较之PCA和SIFT两种算法都有一定的改进效果,提高了交通标志识别的正确率,节省了匹配时间和识别时间,提高了系统的鲁棒性,是一种比较有效的交通标志识别算法。

参考文献 :

[1] 李祥熙,张航.交通标志识别研究综述[J].公路交通科技应用技术版,2010,(6):253-257.

[2] 刘红.自然场景下交通标志识别研究[D].河南:郑州大学, 2011.

[3] Lowe D G.Distinctive image features from scale-invariant key points[J].International Journal of Computer Vision,2004,60(2): 91-110.

[4] 朱利成,姚明海.基于SIFT算法的目标匹配和识别[J].机电工程, 2009,26(4):73-75.

[5] BAJORSKI P. Statistical inference in PCA for hyperpectral images[J].IEEE Journal of Selected Topics in Signal Processing, 2011,5(3): 438-435.

[6] 张潘潘.道路交通标志检测与识别算法的研究[D].山东:山东大学, 2012.

[7] Yan Ke,Sukthankar R. PCA-SIFT:A More Distinctive Repres- entation for Local Image Descriptors[C]//2004 IEEE Computer Society Conference on Computer Vision and Pattern Recogni- tion,Washington:IEEE Computer Society,2004:506- 513.

[8] 李玲玲,李翠华,曾晓明,等.基于Harris-Affine和SIFT特征匹配的图像自动配准[J].华中科技大学学报(自然科学版),2008,36(8):13-16.

[9] Koenderink J J. The structure of images[J]. Biological Cyberne- tics, 1984, 50(5):363-370.

[10] Tony Lindeberg. Scale-space theory: A basic tool for analysing structures at different scales[J]. Journal of Applied Statistics,1994, 21(2):225-270.

[11] 霍春雷,周志鑫,刘青山,等.基于SIFT特征和广义紧互对原型对距离的遥感图像配准方法[J].遥感技术与应用,2007,22(4):524-530.

(作者单位:国家知识产权局专利局专利审查协作河南中心)

注:李亚琼和聂冰花为本文做出同等贡献,为共同第一作者、(姓名右上角标1是表示等同第一作者)