一种高分辨率遥感影像汽车识别检测方法

2013-04-07 07:46董艳丽
测绘通报 2013年10期
关键词:分类器样本特征

王 巍,袁 涛,周 伟,董艳丽

一、引 言

利用遥感数据高效自动提取地物信息一直是遥感数据处理领域的研究热点[1],近年来,很多学者对相关问题进行了深入研究。熊秩群采用面向对象的图像分类技术,利用QuickBird卫星图像进行了上海市区绿地信息提取[2];李彦利用小波变换方法对遥感影像进行特征提取,利用图像特征进行高斯混合建模来识别影像中的关键目标[3];王志伟通过目标影像子窗口归一化提取目标的若干个不变矩特征作为BP神经网络的输入向量的方法,对1 m分辨率卫星影像中机场上的停留客机的识别进行了研究[4];Jens Leitloff在高分辨率影像上划分出感兴趣区域,利用支持向量机方法,对高速公路和停车场上的汽车进行识别[5]。从识别效果来看,面向对象信息提取、基于专家知识的决策树、支持向量机及BP神经网络等方法能够在一定程度上提高地物识别效率,但自动化程度不高。面向对象信息提取和基于专家知识的决策树常见于从遥感影像上提取绿地信息或地物分类的研究中[6-9],两种方法都比较依赖波段信息;支持向量机和BP神经网络这两种方法较之面向对象信息提取和基于专家知识的决策树而言,对诸如飞机和汽车等小尺度目标识别会有更好的效果[4-6],但是也存在不足之处。如支持向量机方法虽然不需要大规模的训练样本来确定分类决策,但容易出现过拟合或训练不足的问题,并且很难通过增大样本容量来提高识别率;此外,经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题[10],从应用上来看,目前只能用于内容比较单一的小块影像[5]。BP神经网络的最大缺点在于算法效率低,训练出分类器速度慢,学习过程中易陷入局部极小和易出现振荡现象[10-11],从而导致训练分类器失败。

Paul Viola和Michael Jones在2001年提出了基于Adaboost的人脸检测方法[12],该方法不仅能达到很好的人脸检测效果,而且检测速度非常快,能够达到实时性。近年来,利用图像Haar特征对照片或视频中的人脸、数字进行监控与识别,Haar特征对目标的检测更加敏感,并且计算效率也比较高,已经用于实现实时或准实时的监测[13-14],并且已有学者将这种目标识别技术应用于照片和视频中的车辆识别[15-16]。但是,目前仍缺少利用Haar特征在高分辨率遥感影像上进行地物识别的研究。相对照片和视频来说,遥感影像中地物更加复杂,对地物识别的背景干扰非常强。本研究选择汽车作为识别目标,是因为汽车体积较小,已经接近目前米级和亚米级遥感卫星地物识别的极限,由于其出现区域主要集中在公路和停车场,与影像背景差异明显,非常适合利用图像Haar特征进行地物识别。研究的目的在于通过有针对性的数据处理,提出利用机器学习的算法对影像中的汽车进行自动识别并标注的新方法,探索高分辨率遥感数据新的应用领域。

二、理 论

1.Haar特征简介

Haar特征原理因类似于Haar小波而得名,一般Haar特征的定义是由两个全等的矩形相邻组合而成,特征模板内有白色和黑色两种矩形,如图1所示。每种矩形特征值定义为白色矩形像素的和减去黑色矩形像素的和,扩展Haar特征则在一般Haar特征基础上发展出了旋转45°的矩形特征模版。

图1 一般Haar特征示意图

Haar特征值反映了图像的灰度变化情况,使用Haar矩形特征比单纯使用像素级信息要有效的多,而且对噪声、光照等更具有鲁棒性。矩形特征对一些简单的图形结构,如边缘、线段比较敏感,但是其只能描述特定走向(水平、垂直、对角)的结构。矩形特征可以位于图像任意位置,大小也可以任意,但不能超过图像范围[12,17-18]。

2.Adaboost算法

Adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)[10],是目前在计算机视觉领域运用非常广泛的技术。

首轮调用弱分类器时,按均匀分布从样本集中选取子集作为该次训练集,以后每轮对前一轮训练失败的样本,赋予较大的分布权值(Dt(i)为第i轮各个样本在样本集中参与训练的概率),使其在这一轮训练出现的概率增加,即在后面的训练学习中集中对比较难训练的样本进行学习,经过T轮的迭代,从而得到T个弱的基分类器(h1,h2,…,ht)。其中ht相应的权值αt的大小根据该分类器的效果而定。最后的强分类器由生成的多个弱分类器加权联合产生。具体算法如下[8,10]:

1)设定初始弱分类器权值D1(i)=1/M,其中i=1,2,…,M(M为样本总数)。

2)针对t=1,2,…,T:

b.设置弱分类器ht的权重αt=log[(1-ε)/ε],ε即上步骤中最小错误。

c.更新样本分布权值:Dt+1(i)=[Dt(i)exp(-αtyiht(xi))]/Zt,Zt将样本权重归一化。

三、试验流程与精度

试验数据选取的是2010年3月郑州市如意湖附近的WorldView-2全色波段数据,空间分辨率为0.5 m。数据经过目视检查,无云雾覆盖,无条带坏点,纹理清晰,数据质量较好;另外还搜集了研究区域2010年的地籍数据资料。在对WorldView-2全色影像数据进行正射纠正、空间配准后,与城市地籍数据叠加,去除房屋,选定感兴趣区域,去除不可能存在汽车的区域,排除背景干扰,以提高提取精度;然后在Visual C++平台下利用OpenCV函数库,在高分辨率遥感影像上计算地物目标Haar特征,并利用Haar特征和Adaboost算法训练分类器,对感兴趣区域内的汽车进行识别。主要流程如图2所示。

图2 研究流程图

1.图像配准

以地籍矢量数据为参照,对WorldView-2全色波段数据进行图像配准,使数据具有相同的地理参考系统,采用最邻近法重采样,重采样后影像分辨率设置为0.5 m。

2.定义汽车检测感兴趣区域

将地籍数据与影像叠加,地籍数据可能与影像在局部仍有差异,需要经过一定的人工修改,在Arc-GIS中将修改后的地籍数据中的房屋生成多边形,并利用掩膜工具将房屋从影像中去除,得到用于汽车检测的影像,这样可以尽可能地避免背景干扰,提高汽车识别率。

3.选择样本

在高分辨率影像上截取训练分类器所需的样本,样本分为正样本和负样本。正样本就是想要识别的地物,即影像上的汽车,正样本为尺寸统一的位图格式以满足训练分类器的需要;负样本就是影像上除汽车外可能对汽车识别产生干扰的其他地物,包括斑马线、桥梁、灌木、路灯、河流中的船只等,并且负样本中不能出现待识别的目标,数量一般要大于正样本数量,截取图像不能小于所创建的正样本尺寸。增加样本数量理论上可以提高分类器精度,但样本数超过一定数量后,对分类器的改善效果并不明显。经过试验,本研究正样本选取500个,大小统一为32像素×32像素的位图;负样本1500个,大小为从45像素×45像素至60像素×60像素的位图,如图3所示。

图3 部分正样本与负样本

4.分类器训练

首先利用OpenCV提供的创建样本集工具将位图格式的正样本转化为训练分类器时所需要的格式(*.vec);然后利用分类器训练工具载入正负样本,计算样本Haar特征值,利用Adaboost算法针对训练集训练不同的弱分类器,再把这些弱分类器组合起来,构成一个更强的最终分类器(强分类器)[10,16-18];最后的强分类器由生成的多个弱分类器加权联合产生。分类器训练过程中可适当修改程序参数以提高计算速度,训练结束得到XML格式的分类器文件。

5.汽车目标识别与标记

本研究在Microsoft Visual C++2008平台下,结合OpenCV函数库,编写了汽车识别程序,程序可以直接调用之前训练得到的分类器,用于输入图像的检测。检测到图像中的地物目标(汽车)后分类器输出为1,否则输出为0。识别程序中设定搜索窗口在图像中移动,从而检测整幅图像。为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描,以确定最优搜索窗口参数,同时建立标记函数,用“+”来标记检测到的汽车;然后调用cvNamedWindow()函数命名图像窗口,cvShowImage()函数展示通过分类器检测后的结果影像。

6.精度评价

由于整幅影像上的汽车数量较大,不便于统计识别率等数据,因此在影像数据上选择特定感兴趣区域,利用训练好的分类器进行目标自动识别检测。为评价分类器识别精度,定义识别率(S)、漏检率(A)、错检率(R),其关系为

式中,a为正确识别的汽车数量;b为影像上未被检测出的汽车数量;c为其他地物被误判成汽车的数量;m为影像上的实际汽车数量。

四、试验结果

1.汽车目标识别结果

利用上述检测程序载入训练好的分类器,对经过掩膜处理后的图像进行检测,程序运行后,对识别的汽车目标用“+”自动标注,生成识别效果图,结果如图4所示。

图4 汽车识别效果图

2.汽车目标识别精度

由于整幅影像上的汽车数量较大,不便于统计识别率等数据,因此在影像数据上随机均匀选择一定区域进行精度统计,统计结果见表1。

以上10个检测区域平均识别率为82.86%,漏检率为17.14%,错检率为16.93%;4、8、9号检测区域的汽车识别率较低,主要原因是这3个区域是住宅小区、商业区,区域中的目标检测干扰较多,负样本数量偏少,而公路、停车场等区域由于地物比较单一,识别率较高。从总体上看其识别效果良好,并且检测时间很短,可以达到实时监测的要求。

表1 汽车识别率统计 (%)

五、结束语

通过试验可以看出,利用Haar特征的自动识别技术可以应用于高分辨率遥感影像上的地物识别,并且效果较好;在提取正样本Haar特征的基础上,通过Adaboost算法训练用于地物识别的分类器,算法效率高,自动化程度也很高。对于同一种遥感数据中的同一种地物可使用已经训练好的同一个分类器进行识别,分类器具有一定的普适性,对不同景数据存在的色调、对比度等差异具有鲁棒性。利用这种方法进行地物检测时,可继续扩大正负样本容量以获取最佳分类器,虽然选择样本和分类器训练需要消耗一定时间,但是一个训练好的分类器可用于同种类型的其他数据,因此这种方法更适合用于大量数据的检测处理,由于检测时间很短,也可以用于实时或准实时的地物监测。随着遥感数据的时间分辨率不断提高,该方法会有更好的应用前景。

[1] 明冬萍,骆剑承,沈占锋,等.高分辨率遥感影像信息提取与目标识别技术研究[J].测绘科学,2005,30(3):18-20.

[2] 熊秩群,吴健平.面向对象的城市绿地信息提取方法研究[J].华东师范大学学报:自然科学版,2006(4):84-90.

[3] 李彦,沈旭坤.基于高斯模型的遥感影像目标识别方法的初探[J].系统仿真学报,2009(S1):57-60.

[4] 王志伟,关泽群.基于多不变量特征的遥感影像小地物识别[J].遥感信息,2005(6):17-19.

[5] LEITLOFF J,HINZ S,STILLA U.Vehicle Detection in Very High Resolution Satellite Images of City Area[J].IEEE Transactions on Geoscience and Remote Sensing,2010,48(7):2795-2806.

[6] 邓书斌.ENVI遥感图像处理方法[M].北京:科学出版社,2011.

[7] 黄慧萍,吴炳方,李苗苗,等.高分辨率影像城市绿地快速提取技术与应用[J].遥感学报,2004,8(1):68-74

[8] 黎展荣,王龙波.利用高分辨率影像计算城市绿地覆盖率[J].测绘通报,2006(12):51-53.

[9] 张春晓,侯伟,刘翔,等.基于面向对象和影像认知的遥感影像分类方法——以都江堰向峨乡区域为例[J].测绘通报,2010(8):11-14.

[10] BRADSKI G,KAEBLER A.Learning OpenCV[M].Sevastopol:O’Reilly Media,Inc,2008.

[11] 许宜申,顾济华,陶智,等.基于改进BP神经网络的手写字符识别[J].通信技术,2011,44(5):106-109.

[12] VIOLA P,JONES M.Robust Real-time Object Detection[J].International Journal of Computer Vision,2001:1-22.

[13] 郭磊,王秋光.Adaboost人脸检测算法研究及OpenCV实现[J].哈尔滨理工大学学报,2009,14(5):123-126.

[14] 朱文佳,戚飞虎.基于 Gentle Adaboost的行人检测[J].中国图象图形学报,2007,10(2):1905-1908.

[15] 魏武,张亚楠,武林林.基于遗传算法的改进AdaBoost算法在汽车识别中的应用[J].公路交通科技,2010,27(2):114-118.

[16] 刘慧英,王小波.基于OpenCV的车辆轮廓检测[J].科学技术与工程,2010,10(12):2987-2991.

[17] FREUND Y,SCHAPIRE R.A Short Introduction to Boosting[J].Journal of Japanese Society for Artificial Intelligence,1999,14(5):771-780.

[18] VIOLA P,JONES M.Rapid Object Detection Using a Boosted Cascade of Simple Features[J].Computer Vision and Pattern Recognition,2001,14(5):1-9.

猜你喜欢
分类器样本特征
根据方程特征选解法
用样本估计总体复习点拨
如何表达“特征”
不忠诚的四个特征
推动医改的“直销样本”
抓住特征巧观察
基于实例的强分类器快速集成方法
随机微分方程的样本Lyapunov二次型估计
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器