尹 辉,谷 峰,岳剑飞,张洪顺
(1.空军航空大学,长春 130022;2.解放军66347部队,保定 071000)
针对遥感图像目标检测任务,图像分辨率的提高一方面可以分辨出地物目标内部更为精细的结构,清楚地描述地物目标的特征分布及相互之间的空间关联;另一方面目标内部一致性减弱、差异性增强以及复杂背景干扰等也给目标检测任务提出了新的挑战。如何提高高分辨率图像信息处理的时效性和准确性,突破图像数据向有价值信息转化的瓶颈成为遥感图像理解、机器视觉、人工智能等领域研究的热点。飞机作为一类重要的、典型的人造目标检测对象,受到广泛关注。
本质上,对飞机目标的检测,都是基于这样一种假设,即飞机目标与背景的反差较大。这种反差表现为以下2个方面:
第一,飞机的形状。与背景中的建筑物、草地、停机坪、道路相比,飞机在机身与机翼、机身与尾翼的交接处存在一定的凹陷,对于这种结构可以考虑用目标外接矩形充满程度的紧凑度来描述,结合目标的面积、周长、长宽比等特征进行目标分析[1]。此外,针对飞机这种凹凸形状,角点特征是一种很有效的描述子。文献[2]利用Harris角点来检测飞机这种形状的差异,然后通过核聚类方法将角点进行合并,角点之间满足一定规则即为目标。这类方法的拓展大都是对角点描述字的选取。如为了增加角点的放射、尺度不变性,提取Harris-Affine、最小核值相似区(SUSAN)角点,但无论哪种角点都对噪声比较敏感,最后飞机目标检测结果受角点之间聚类规则限制,而通常聚类后的误检不容易剔除。
第二,飞机与背景对光的反射率不同,表现在图像上为不同的纹理区域。不少学者提出了利用区域特征来检测飞机目标。典型的算法有高效斑点检测、区域检测等。其中,高效斑点检测利用图像中目标的局部不变性特征,如:尺度不变特征变换(SIFT),主成分分析(PCA)-SIFT,快速鲁棒性尺度不变特征提取(SURF),梯度位置方向直方图(GLOH)通过匹配技术来完成目标检测,其中Lowe提出的SIFT特征是现在公认的最好的特征描述字。
然而,该方法计算复杂度高,只适用于几何形状单一的目标检测,飞机目标的多样性使得其应用受到了限制。此外,区域检测方法中最稳定极值区域(MSER)检测器在视角变换下结构型图像和纹理型图像均能展现十分明显的优越性。实际上,以上基于这种假设的飞机目标检测与通用的目标检测方法相类似,不同的是要建立针对飞机目标的规则与模型。而飞机的种类多种多样,形状也各不相同,加上遥感图像中各类背景噪声的干扰,很难通过建立一种规则或者一个模型来枚举所有的目标。
为了解决这一难题,借鉴计算机视觉领域的机器学习理论,现有的遥感目标自动检测系统都是基于大量的样本学习[3-4]实现的,这样可以充分利用样本学习的优势,较好地摆脱了受遥感图像数据量大、目标特性多变、背景复杂等因素的制约。
然而,不同于普通自然场景下的目标检测问题,在对大幅高分辨率遥感图像进行精细化目标检测时,还应重点考虑2个方面:一是如何降低错检、漏检的概率,提高检测效果的问题;二是检测过程中的效率问题,这也是文本撰写的出发点。
本文的主要创新工作是将基于视觉显著计算模型与基于AdaBoost级联学习分类的目标检测方法相结合,提出一种基于视觉显著计算的搜索策略。一方面,该方法利用机器学习方法,提高目标检测的准确性;另一方面,利用视觉注意模型去除冗余搜索,减少检测时的计算量,快速搜索目标的潜在区域,尽早排除明显不存在目标的区域,这样在保证检测效果的同时兼顾了检测效率,使得检测器在检测速度和检测性能方面得到了很好的平衡。
AdaBoost级联分类器最成功的应用是Viola和Jones[5]提出的利用Haar特征和AdaBoost分类器实时人脸检测方法,这是实时人脸检测技术的分水岭。AdaBoost算法同时也是Boosting家族中最具代表性的算法,其他的扩展模型还包括Real Ada-Boost、Gentle AdaBoost、Modest AdaBoost等。
在构建AdaBoost分类器时并没有规定弱分类器的种类,较为常用的是Haar特征。除此之外常用的弱分类器特征还有联合类Haar、PCA、局部二进制模式(LBP)、Gabor特征等。
一般情况下,类Haar特征判别能力一般,但计算速度快;PCA特征判别能力强,但计算速度较慢。考虑到飞机通常在图像中表现为小尺度目标,而Haar特征的优势在于可以捕捉大范围的空间对比度特征,并能通过积分图像快速进行计算,非常适用于大尺寸遥感图像中的小尺度目标检测,因而本文采用的是Haar特征。
如图1(a)所示,应用Haar弱分类器对图像中的一个区域进行特征判别,白色矩形中的像素与减去黑色矩形中的像素和即为Haar特征,所得结果与设定阈值进行比较:
式中:1表示该区域为目标;0为非目标。
为减小区域图像对亮度变化的敏感,按公式(2)对其进行归一化处理:
式中:gj为特征函数;M为子图像中像素个数;msi为子图像均值;σ2为子图像方差。
每个弱分类器(由图1(b)所示的典型Haar特征算子组成)按照上述处理训练正、负样本集,并从正确分类的所有弱分类器中选取错分率最小的一个。
上述弱分类器的性能仅仅优于随机猜测的结果,但这可以通过训练多个弱分类器得到1个强分类器来提升算法性能。AdaBoost算法是通过将每个样本的权重调整作为其在每个阶段是否被正确分类的函数,然后用每个阶段的平均分类错误率在弱分类器中间决定最终权重值。算法描述如下:
图1 典型Haar特征算子示例
(1)输入训练的正样本和负样本以及它们的标签{(xi,yi)},其中yi=1表示正样本(飞机),yi=-1是负样本。
(2)初始化样本权重w=1/N,其中N是训练样本的数目。
(3)对训练的每一步j=1,…,M,进行如下4个步骤更改权重:
(a)重新归一化权重,使其加起来为1。
(b)通过找到最小化加权分类错误率来选择最好的分类器:
(c)计算修正误差率βj和分类器的权重αj:
(d)根据分类错误率ei,j更新权重:
(4)最终的分类器设置为:
为进一步提高检测器的速度,可以建立一个级联结构,构成级联强分类器。重复采用AdaBoost算法训练强分类器,采用这种策略对每个子窗口图像都使用一系列的弱分类器计算,在级联分类器的第1级使用很少的弱分类数目就可以去除大量的非目标子窗口,后面采用相对较多的弱分类器进一步去除背景。
随着级联分类器层数的深入,候选飞机子窗口的数量急剧减少,当子窗口图像通过了所有的强分类器才被认为是目标。这样使得大部分非目标图像在经过开始的几级分类器后就被拒绝,从而大大提高了检测效率。级联分类器的性能通过如下2个指标衡量。
(1)检测率,即:
式中:ri为第i级强分类器的检测率;K为总级联数。
因此,对于一个10级的级联强分类器,为了达到0.9的总检测率,每级强分类器的检测率要求为0.99左右。
(2)误检率,即:
式中:fi为第i级的误检率;K为级联数。
为了获得尽可能低的总误检率,要求级联强分类器的每级误检率为0.401 0,显然级联强分类器的总误检率远远低于单个强分类器。
训练好分类器后,就进入到检测阶段,经典的搜索策略是检测窗自左向右、自上而下地扫描整幅图像,通常图像中的目标尺度并不一致,一般战斗机的尺寸比较小,长度和翼展在十几米左右,面积约为几十个像素;运输机的尺寸比较大,长度和翼展为30~40m,面积约为几百个像素。
为实现多尺度检测,检测器在每个位置将在不同的尺度上进行缩放。整个搜索过程受缩放因子和平移步长的影响。
传统的搜索策略是一种贪心的遍历。假设一副1 000×1 000的遥感图像,从20×20像素大小窗口开始,以1.25倍为尺度步进,平移步长取1.5倍的尺度因子大小,直至检测窗口超出原始图像大小。经计算需要产生约110万个子窗口,而每个子窗口提取的Haar特征数目也是非常巨大的,显然这种搜索不仅给分类器增加负担,也使检测效率大幅下降,是不可取的。
针对如何消除遍历搜索中的冗余计算问题,文献[6]提出通过迭代来简化计算,使运算速度有了很大提高。文献[7]提出了基于视差梯度的可变搜索策略,算法工作量减少了28%,算法速度提高了3.5倍。
针对这种情况,本文通过详细分析基于视觉显著性的目标检测方法与搜索范围的联系,提出了基于视觉显著计算的搜索策略,根据飞机目标在图像中表现的显著特征,将大幅遥感图像分为几个小的飞机目标潜在区域,从而快速去除冗余搜索区域,提高了检测效率。
利用视觉显著性来辅助目标检测实际上就是让计算机模仿人的判读作业过程,当观察一副图像时,人眼总是优先关注那些“不同”的区域,比如高亮度区域,颜色、形状与周围环境反差较大的区域。而这种特性正是在前面引言提到的飞机目标检测的基础假设。本文选取亮度、颜色作为提取飞机显著区域的特征。除此之外,扩展算法还有其它更复杂的改进模型如基于梯度特征[8],基于普残差[9]的方法等,本文主要是验证方法的可行性,所以选择一种最具代表性的计算模型,利用文献[10]中的方法来生成视觉显著图。
如图2所示,本文方法分为两部分:一部分是级联分类器的设计,另一部分是目标显著区域提取。重点在飞机目标显著区域的提取,首先对输入的待检测图像进行直方图均衡化,去除光照的影响,提取颜色、亮度特征生成视觉显著图;再利用视觉注意的全局竞争机制和返回抑制策略来快速搜索显著图,生成目标的待检测区域,送入设计好的分类器中。
其中值得说明的是,在分类器设计阶段,本文训练样本进行了直方图均衡化预处理,并将样本归一化到128×128大小。本文采用的学习特征是计算简单、速度快的Haar特征,为减轻分类器的负担,本文采用PCA方法对特征进一步压缩。
实验数据来自公开的Google earth卫星图像,内容为美军25个主要的空军基地,共80幅遥感图像,涉及目前美军主要作战飞机。其中,训练样本60幅,测试样本20幅。为了更好适应实际检测时非目标本体引起的多样性,训练集中正样本的采集为手工裁剪的2 000个不同光照条件(有阴影/无阴影)、不同旋转角度(60幅原始图像中以45°步进旋转8个方向)、不同尺度大小的飞机目标切片,部分正样本如图3所示。
图2 本文算法流程
图3 部分飞机目标正样本切片
负样本包括了4 500个非飞机目标样本,需要特别说明的是,训练集中负样本的选取并非任意非飞机目标区域,主要是基于飞机机场内的典型负样本,如跑道、停机坪、草地、房屋等,这样才能真正体现正负样本之间的差异,提高级联分类器的检测率,降低误检率。
为了将本文方法与传统的遍历搜索目标检测方法相比,选取了3幅机场图像进行验证,如图4(a)所示,从左至右,第1幅大小为590×661像素,后2幅大小为988×659像素。从图4(b)后2幅图中可以清楚地看到,飞机目标区域被准确地提取出来,将显著图中非目标区域剔除,计算剩下的区域面积与原始图像的比值,发现本文方法搜索区域是原图像的1/3左右,而且目标全部包含在搜索区域当中,这说明该方法是可行的,减少了60%的工作量。但该方法也存在一些弊端,当背景过于复杂时,如图4(b)第1幅图像所示,基于视觉显著图模型的方法没有将全部的飞机目标定位出来。图中黑色方框标注区域为漏检目标,白色方框为误检目标。分析漏检的原因在于:第一,当目标与周围背景反差不大时(本文是基于亮度、颜色),本算法的第1步将目标区域当作背景剔除掉;第二,受机场停机坪及周围房屋、道路影响,本算法没有很好地将目标锁定在停机坪内,导致基于视觉显著搜索的方法只排除掉很少的部分。同时,对于存在的误检是因为背景中有部分建筑物存在与飞机机翼相似的结构,而这种情况是需要进一步增加规则来排除的。
图4 实验结果图
综上所述,本文提出的方法在一定程度上依赖于图像的内容,这主要受显著模型的限制。但基于这样的搜索策略加上基于统计学习的方法,还是可以保证实际的需要,由显著区域搜索的大小可以判定本文提出的方法平均可以提高50%的检测效率。
随着成像分辨率的提高,自然场景图像和遥感场景图像原本存在的尺度差异正在逐渐缩小,这为将机器视觉方法引入到高分辨率遥感图像目标检测任务中提供了良好的可行性。
针对如何权衡检测效果与检测率的问题,本文提出了基于视觉显著搜索的方法完成了飞机图像粗定位,去除了图像中大部分明显不存在目标的区域,减少了不必要的目标搜索空间,与高检测率的Ada-Boost级联分类器相结合,在保证高检测率的同时,提高了检测效率,降低了误检率。
但基于统计学习的方法,检测效果受学习样本的影响较大,不同样本集合对算法的性能也有一定的影响,本文主要适用于目标受少量光照、阴影的影响,对于目标存在放射变换、视点变换的情况没有考虑。下一步工作是结合特征缩放和平移算法来进一步提高目标的检测率。
[1] 王树国,黄勇杰,张生.可见光图像中飞机目标的特征选取及提取[J].哈尔滨工业大学学报,2010(7):1056-1059.
[2] 王鹏伟,吴秀清,余珊.基于角点特征和自适应核聚类算法 的 目 标 识 别 [J].计 算 机 工 程,2007,33(6):179-181.
[3] 张正,王宏琦,孙显,等.基于部件的自动目标检测方法研究[J].电子与信息学报,2010(5):1017-1022.
[4] 孙显.基于对象的Boosting方法自动提取高分辨率遥感图像中建筑物目标[J].电子与信息学报,2009,31(1):177-181.
[5] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[A].IEEE Vision and Pattern[C],2001:511-518.
[6] 张国云,张兢.基于Gabor小波的多尺度PCA支持向量机人脸识别方法[J].数据采集与处理,2009,24(4):437-442.
[7] 郭龙源,卢阿丽,杨静宇.基于视差梯度的快速区域匹配方法[J].计算机科学,2007,4(4):239-240.
[8] Liu T,Sun J,Lowe D G.Learning to detect a salient object[A].IEEE Conference on Computer Vision and Pattern Recognition[C],2007:466-474.
[9] 周伟,关键,张国华.高分辨率遥感图像感兴趣目标的提取算法[J].光电工程,2011(2):115-121.
[10]Achanta R,Hemami S,Estrada F,et al.Frequencytuned salient region detection[A].IEEE International Conference on Computer Vision and Pattern Recognition[C],2009:1597-1604.