前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇卷积神经网络综述范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
0引言
人脸作为人类个体鲜明显著的生物特征之一,包含着丰富的个人信息。随着计算机视觉和机器学习技术的发展,相关的人脸识别等技术已成为这些项目任务的热点课题,并在法医、电子化客户关系管理、安防、生物识别和娱乐影音等诸多领域中得到广泛应用。人脸除了可进行身份认证和识别外,还可以提取出性别、种族和年龄等信息,特别是可以将年龄及分布特征用于人机交互和商业智能等应用中,因此年龄估计研究具有重要的科学意义和实用价值。
相对于人脸识别,人脸所能表征的年龄信息要受到很多因素的影响,例如不同个体的基因差异、生活习惯、环境、抗压能力、健康情况和种族差别等有很大的关系。同时,相同个体因发型、化妆和表情的不同也会影响年龄的估计。因此,如果要基于传统的分类算法(如支持向量机)并利用人脸图像信息来进行年龄分类将很难得到理想的结果。针对这些问题,目前的研究还相对不足,如果能有效解决上述问题,对大部分潜在的应用领域也都将带来深刻的影响。
1相关工作
年龄分类的主要流程是先根据人脸图像获取特征,再通过机器学习方法构建模型,通过把年龄分为多个年龄区段,即每个年龄段对应一个类别(比如未成年或成年人等)。因此可以把年龄分类看成是一个二分类或者多分类的分类问题来进行求解。1994年,Kwon和Lobo则从人脸图像中获取年龄分类,把人分为3种不同的类别,也就是儿童、青年人和老年人,强调重要特征点的选择。2002年Lanitis等人提出了能自动对年龄实现估计的年龄量化方法。而且,王先梅等的综述中也整体梳理了相关年龄估计技术的研究发展。王绍宇等人还基于SMV采用生物特征对人进行分类,分为小孩和成人。此外在2016年,董远等人更将迁移学习和卷积神经网络用于人的年龄和性别分类。
基金项目:甘肃省自然科学基金资助项目(1014RJZA009);甘肃省教育厅硕士生导师基金资助项目(0803-07)。
作者简介:王燕(1971-),女,甘肃兰州人,副教授,硕士,主要研究方向:模式识别、图像处理、智能信息处理; 公维军(1987-),男,甘肃张掖人,硕士研究生,主要研究方向:模式识别。
文章编号:1001-9081(2011)07-1822-03doi:10.3724/SP.J.1087.2011.01822
(兰州理工大学 计算机与通信学院, 兰州 730050)
()
摘 要:提出了一种基于双阈值的两级级联分类器的人脸检测加速方法。该方法首先应用Gabor滤波器提取经模板匹配保留的似人脸样本特征,经主成分分析(PCA)降维后的特征作为第一级BP神经网络输入进行检测,在输出端应用双阈值对人脸/非人脸进行粗检测,然后把介于双阈值之间的人脸/非人脸模块作为第二级AdaBoost算法设计的输入并再次进行精检测,从而在提高检测速度的同时达到提高检测率和降低误检率的目的。实验表明,应用双阈值进行级联分类加速检测后,该方法的检测精度要优于基于简单阈值的分类器。
关键词:人脸检测;双阈值;分类器;级联;加速
中图分类号:TP391.4文献标志码:A
Accelerated algorithm of face detection based on
dual-threshold cascade classifiers
WANG Yan,GONG Wei-jun
(School of Computer and Communication, Lanzhou University of Technology, Lanzhou Gansu 730050, China)
Abstract: The paper proposed an accelerating way of face detection based on dual-threshold cascade classifiers. First, it applied Gabor filter to extract the face-like features that were retained by template matching, then put eigenvectors extracted by the way of Principal Component Analysis (PCA) into the BP neural network as first classifier, then used dual-threshold to decide face or non-face on output end, and put the face or non-face of midway between up and down threshold into the AdaBoost classifier as the second classifier to decide. In this way, it can improve the detection rate and reduce the false rate while speeding up the detection speed. The experimental results prove that the precision of cascade classifier of face detection based on dual-threshold is superior to the classifier of single threshold.
Key words: face detection; dual-threshold; classifier; cascade; acceleration
0 引言
人脸作为人类视觉中常见而复杂的模式,它所表现的信息在人与人的交流及人机交互领域都有着重要的意义。对人脸进行检测在安保视频监控,目标身份检测、门禁系统、智能人机接口和侦查犯罪等诸多领域都有着广泛的应用背景。人脸检测可描述为对一幅给定的图像(静态或者视频),采用一定的方法和策略对其进行搜索以确定其中是否含有人脸以及人脸在图像中出现的位置。
人脸是一类非刚性的自然形体,虽然具有很强的共性,但由于个体表情、光照、遮掩以及成像角度等因素的影响,使得人脸具有比较复杂而细致的模式变化。如果能够很好地提取关键特征及设计良好的分类器,将为解决后续跟踪识别及相似的复杂模式检测问题提供有益的指导,所以人脸检测是当前模式识别领域的一个热点研究课题。
之前不少学者提出了各种综合算法以及一些改进算法,Rowley等人[1]提出了使用神经网络算法设计的人脸检测模型,Viola等人[2]等人提出了用简单特征训练级联人脸检测器的AdaBoost方法,这之后又有学者在此基础上提出了改进算法,如Lienhart等人提出的扩展特征的旋转人脸检测[3]、支持向量机[4]等。还有学者提出各种模型算法,如肤色模型的人脸检测[5-6]等。上述基于单一分类器的人脸检测在一定程度上提高了检测精度,但是由于自身特点的局限性,并且分类阈值的单一性等造成了进一步提升精度和降低报警率的困难。本文通过级联分类这种粗细检测的原则,提出了一种基于双阈值的级联分类器的加速人脸检测方法。与以往级联的方法不同,本方法结合基于知识与统计的方法[7],先应用模板匹配将大量背景去除,只将其中很少的似人脸送入第一级BP神经网络构成的分类器进行双阈值初检,将介于上下阈值的人脸/非人脸送入应用Haar特征的AdaBoost算法的第二级分类器进行精确判别。实验证明该方法能够有效提高检测率,降低误检率并提高检测速度。
1 两级分类器的构建
1.1 基于Gabor小波的BP神经网络分类器
1.1.1 Gabor小波特征提取
Gabor小波变换(加窗傅里叶变换)由于其小波核函数具有和人脑大脑皮层简单细胞的二维反射区相类似的特性,使其在空间频率、方向选择及空间位置的局部信息上有着良好的采集和分辨能力,因此在以生物学和视觉特性为背景的图像学和人脸检测等多方面得到了广泛的应用。
二维Gabor滤波器函数形式为:
Gj(w)exp(-)[exp(ikjw)-exp(-)](1)
其中:kj,φuu・,w(x,y);δ为高斯窗口的尺度因子,控制滤波器的带宽和尺度;φu与ωv控制滤波器的调制方向和频率。只要选择合适的δ、φu和ωv,就可以使Gabor小波滤波器构成Gabor滤波器组来一同作用于图像,从而实现目标图像的Gabor小波分解,得到我们所要的特征。在本文中通过检测窗口与Gabor滤波器组卷积即可得到我们所要提取的特征。
1.1.2 BP神经网络
BP神经网络是一种基于误差修正学习规则的网络,它实现一种由输入到输出的非线性空间的一种映射,它的模型一般由输入层、隐层、输出层组成,隐层可以由一层或多层组成。该算法学习的目的是对网络的连接权值进行调整,使得对任意输入都能得到所谓期望的输出[8],它采用了优化的梯度下降算法,直到调整的误差满足需求为止。
1.2 基于AdaBoost算法的人脸检测分类器
1.2.1 Haar特征模板和积分图像
应用AdaBoost学习算法的特征级联人脸检测方法是由Viola和Jones提出来的,该方法采用一种“积分图像”的表示方法,能快速从人脸中计算出所用到的人脸特征。
Haar型特征是Viola等人提出的一种简单的矩形矩阵。Haar型特征的值是指图像上两个或者多个形状大小相同的矩形内部所有像素灰度值之和的差值。这些以图像灰度值为自变量的矩形特征在边缘检测方面有着很好的表现能力,对人脸脸部的各种特征有很好的提取和编码能力,检测速度很快。
Haar型特征的计算是通过引入积分图像实现的,见图1。对于一个灰度图像I,它的积分图像i的定义为图像中(x,y)点左上部分所有像素点的累加:
I(x,y)∑x′≤x,y′≤yi(x′,y′)(2)
图1 积分图像
这时,1、2、3、4的积分图的值分别为A、A+B、A+C、A+B+C+D,D点的矩形特征可以通过4+1-(2+3)计算得出,这样,只要对图像遍历一次,就可以得到积分图,就可以在恒定的时间内得到任意尺度下的图像的特征。
1.2.2 AdaBoost学习算法
AdaBoost学习算法选择少量而又非常重要的矩形特征来构造一系列弱分类器,然后将这些弱分类器级联起来构成一个强分类器。算法通过选择最能区分正负样本的矩形特征。对于每一个特征,弱分类器给定一个最优的分类函数的阈值,使得最少的样本被错误分类。一个弱分类器hj(x)包含矩形特征fj,阈值θj和用于控制不等式方向的pj:
hj(x)1, pjfj(x)≤pjθj
0, 其他 (3)
具体学习算法如下:
设(X1,Y1)、(X2,Y2)、…、(Xn,Yn)为具体输入的图像,用Yj0,1来标记正负样本,T为循环次数。
1)初始化权值w1,对正样本(Yj1)和负样本(Yj0)有I1/(2m),1/(2n)。
2)当t1,2,…,T时:
①标准化权值,wt,i
②对每一个特征j,训练相应的分类器hj使该分类器对该特征进行分类,误差为εj∑Tt1wt|hj(x)-yi|。
③选择最小误差分类的分类器。
④更新权值wt+1,twt,jβ1-eit,若Xi被正确地分类,则ei0;反之,ei1,βt(1-ei)/t。
⑤最终的强分类器为:
h(x)1, ∑Tt1αtht(x)≥∑Tt1αt
0, 其他 (4)
其中αtlb (1/βt)。
2 基于双阈值的级联分类器的加速算法
2.1 系统构造框架
为了解决基于传统的检测方法中无论是单分类器还是级联分类器均由单一阈值造成漏检与误检之间的矛盾,本文在兼顾速度的同时通过利用双阈值设置检测缓冲区,达到提高检测率与降低误检率和漏检率的目的。具体流程如图2所示。
图2 人脸检测系统框架
2.2 样本选取和图像预处理
该系统所用的人脸训练样本来自MIT、ORL训练图库。为了便于训练,统一将其裁剪为21×18的样本图像进行相应的分类器训练,在训练当中可以根据后期检测结果适时添加一些非人脸样本,减少一定的盲目性。
无论在训练还是在检测前,为了减少图像由于光照、背景以及采集设备等造成的影响,都将进行一定的预处理。在本系统中,我们采用了连续性能更好的Gamma光照补偿,这样当原始图像分布不均匀,并且主要集中在较低范围灰度级时,经过均衡处理后,图像的灰度动态范围变大,对比度增强,人脸特征更加突出。这样可以进一步减少光照等因素带来的影响,从而更有利于提取人脸特征。
2.3 系统加速算法设计
传统基于滑动窗的检测方法在待测图像中依次滑动,通过将每一个窗口送入训练好的神经网络分类器进行判别,而经实验测试一张21×18的图片在本文所训练的神经网络分类器中运行时间为0.07s左右,若进行全部窗口测试,计算量相当大,这也是时间复杂度相对较高的原因之一。基于此,本文对基于欧氏距离的模板匹配算法[9]进行模板改进,去除眼睛模板,在应用多尺度压缩的图像金字塔方法的测试图片上进行整体模板匹配[10],通过保留与人脸相似度大的窗口位置进行神经网络分类器测试进而将大量背景去除,通过这种加速处理方法来提高前期算法的效率。
2.4 双阈值级联分类器
第一级分类器我们采用神经网络的方法[11-12]。它是通过主成分分析(Principal Component Analysis,PCA)降维[13]后进行BP神经网络训练得到的分类器,由于传统BP神经网络在应用时存在一些问题,如容易形成局部最小问题、收敛速度问题而不能保证全局最小结果[14],因此本文在训练BP神经网络时采用具有自适应能力的动量项对BP神经网络进行优化设计。对隐层的神经元来说:
Δwji(n)αΔwji(n-1)+ηδj(n)yj(n)(5)
对于输出层来说:
Δwji(n)αΔwji(n-1)+ηδk(n)yj(n)(6)
在式(5)和式(6)中,α为动量因子,调节范围在(0,1),其中式中第二项相当于ηδ(n)y(n)-η,可以根据这一项来判断误差曲面的趋势以进行自适应调整,从而不至于过大造成过冲或过小造成收敛速度慢,从而起到一定的稳定作用。根据具体实验效果,得出了以下自适应因子数据参照表,见表1。
表1 自适应因子参照表
通过自适应因子来调节学习速度进而控制反馈回路。通过应用优化设计的BP网络,其收敛速度和鲁棒性得到了很大的提高。
将达到一定程度的匹配模块经过Gabor特征提取输入第一级分类器,在应用神经网络进行粗检测时,如果高于双阈值中的上阈值则直接判别为人脸,不再送入细检测分类器;而低于下阈值的直接判别为非人脸,直接剔除;而由于训练集范围的有限性及光照,遮掩等各种原因,在介于高阈值和低阈值之间的范畴中,有存在人脸的可能性。因此,把介于这两个阈值之间的人脸与部分非人脸图像块再输入基于Haar特征的AdaBoost分类算法的第二级分类器进行再次判别,由于只检测第一级分类器输出介于双阈值之间的人脸或非人脸的小尺寸图像,所以在此进一步进行加速检测。
由于第二级分类器采用灰度级上的积分特征提取,所以能够快速地对介于双阈值中的人脸/非人脸从灰度级上进行确认。最后通过这两级级联分类器的最终确认并合并人脸中心位置以确定最终位置,从而得到检测后最终的人脸图像。
2.5 算法描述
根据粗细检测的原则,对检测图片进行分类器级联检测,由第一级神经网络分类器进行粗检测,在与第二级分类器级联时,通过设置双阈值接口算法来进行细检测从而达到既降低计算复杂度又提高精度的目的。具体算法描述如下:
1)初始化分类器,预处理测试集图片
2)FOR i1:n//n为测试集图片数
Input classifier_gabor&bp( )//进入第一级分类器
FOR j1:m //m为第一级分类器初检图像块数
IF wj>Threshold_up
yj+1 accept//加入到人脸集
ELSE IF
(wjThreshold_down)
Input classifier_adaboost( )//进入第二级分类器
IF (wj>Threshold_adaboost)
yj+1 accept//再次确认加入到人脸集
ELSE discard
ELSE discard
END
END
Threshold_up与Threshold_down为系统第一级分类器的上下阈值。
3 系统测试结果与分析
为了验证该算法的加速性能与检测率,采用2组实验进行检测,第一组采用一张320×240的标准视频的一帧静态多人脸图像进行速度检测,验证本文算法的加速性能;第二组进行识别率检测,首先对CMU实验室的CMU_PIE中的gallery图库中的68张简单背景正面人脸进行检测,由于背景单一且为单人脸,检测率最高达到了100%,同时为了进一步验证算法设计的有效性,我们对部分MIT+CMU的测试图片以及室外收集的部分图片进行了测试(包含120张图片,235个人脸,其中包括部分不超过±20°的侧面人脸),并对单一使用AdaBoost算法检测人脸与BP神经网络、Gabor+BP神经网络人脸检测方法做了对比实验,实验1和实验2的结果如下所示,图4为应用双阈值级联分类器的对比效果。
表2 不同算法检测速度和检测率
图3 部分测试图片检测效果
图4 双阈值级联分类效果对比
通过以上实验结果表明,本文提出的算法在精确度和鲁棒性上有了明显的提高,从表2的检测速度上来看,虽然本文提出的算法相比AdaBoost算法较慢,但比传统算法有很大幅度的提高,有进一步提升的潜力;同时从图4中可以清晰地看出,应用双阈值粗细检测方法能进一步降低误检率,精度有相对较大的提升。
4 结语
本文提出了一种基于双阈值的两级级联分类器的人脸加速检测方法,通过模板匹配方法来降低在分类器中的计算时间,同时在两级级联分类器之间设置双阈值接口进行级联检测,并在第一级分类器的收敛性上做了一定的改进,在加速的同时更加提高了精度。通过应用双阈值级联分类器的加速算法判断人脸/非人脸,解决了基于传统阈值分类器在检测当中的矛盾问题,速度也有相应的提高,误检率进一步降低,系统整体性能得到了提升。
参考文献:
[1] ROWLEY H A, BALUJA S, KANADA T. Neural network-based face detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(1):23-38.
[2] VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]// Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2001:511-518.
[3] LIENHART R, MAYDT J. An extended set of haar-like features for rapid object detection[C]// Proceedings of the International Conference in Image Processing. New York:IEEE, 2002:900-903.
[4] HEISELE B, SERRE T, POGGIO T. A component-based framework for face detection and identification[J]. International Journal of Computer Vision, 2007, 74(2):167-181.
[5] HSU R L, ABDEL-MOTTALEB M, JAIN A K. Face detection in color images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5):696-706.
[6] 月书仁,梁昔明,叶吉祥,等.基于脸部信息和支持向量机的人脸检测[J].计算机应用,2006,26(5):1032-1034.
[7] 梁路宏,艾海舟,徐光佑,等.人脸检测研究综述[J].计算机学报,2002,25(5) :449-458.
[8] 王志良,孟秀艳.人脸工程学[M].北京:机械工业出版社,2008.
[9] 梁路宏,艾海舟,徐光佑,等.基于模板匹配与人工神经网确认的人脸检测[J].电子学报,2001,29(6):744-747.
[10] 林宇生,杨静宇. 基于Gabor滤波特征和支持向量机的人脸检测[J]. 计算机工程与应用, 2007, 43(1):33-34.
[11] 聂祥飞,郭军.基于Gabor小波的人脸检测[J].计算机工程,2006,32(21):44-46.
[12] 顼改燕,徐华,翟忠武,等.基于Gabor滤波器和BP神经网络的人脸皮肤皱纹区域自动识别[J].计算机应用,2010,30(2):430-432.
关键词:辛烷值;快速检测方法;气相色谱法;红外光谱法;拉曼光谱法
中图分类号:TB 文献标识码:A doi:10.19311/ki.1672-3198.2016.07.092
辛烷值是表征车用汽油抗爆性的重要指标,1926年美国科学家埃得将辛烷值引入汽油性能指标。汽油在燃烧过程中,抵抗爆震的能力叫作抗爆性,辛烷值就是表示汽油抗爆性的指标。辛烷值越高,其抗爆性能越好,汽油在汽缸中燃烧越充分,燃烧效率越高,尾气排放中的一氧化碳、碳氢化合物含量越低,对环境的危害相应越小。
马达法辛烷值和研究法辛烷值是汽油的辛烷值的传统测量方法,方法用样品量大,时间长、费用高,不适于生产控制的在线测试。本文对近几年出现的几种辛烷值测量的快速分析方法进行总结和综述,介绍相关方法的应用进展。
1 拉曼光谱法
拉曼分析方法作为一种光谱检测技术,不仅样品预处理简单、分析速度快、效率高、重现性好,另外还具有受水分干扰小、样品无损、可进行微量样品探测、检测频带宽、可快速跟踪反应过程等特点;即便是非极性基团如c=c,c=c等红外吸收较弱的官能团,在拉曼光谱中也可以得到很强的吸收谱带。因此,特别适合用于对含碳、氢基团较高的汽油样品的辛烷值检测。
康健爽等2010年提出了一种使用拉曼分析测定汽油辛烷值的方法,并设计了辛烷值拉曼光谱在线检测系统。这种辛烷值在线监控系统能够实时监控乙醇汽油中的组分变化,并给出对应的拉曼分析曲线;根据光栅型和傅立叶变换型光谱仪各自特点,选用光栅型拉曼光谱仪应用于辛烷值在线检测。以Lambert-Beer定律为基础,采用化学计量学方法,将检测数据和采用标准方法测得的属性数据之间关联,建立分析模型,在具体算法实现过程中,分别采用PCA和PLS两种方法建立关联分析模型,并用于乙醇汽油辛烷值的快速预测,指导实际调和过程。实践证明,相对传统的检测手段,该系统具有测试速度快、分析时间短、检测费用低、经济效益高等特点。
2 气相色谱法
李长秀等2003年建立了一种新方法,该方法将气相色谱结果关联建模用以计算汽油样品的辛烷值。对汽油的组成采用高分辨毛细管柱进行测定,根据汽油单体烃组分的含量和纯组分辛烷值乘积的大小,将单体烃组分分为两组,每一组为一个变量,建立实测辛烷值与两个变量间的回归模型。实际分析时,根据样品的类型带入相应的模型进行关联计算即可得到样品的辛烷值。该方法与采用标准方法测定催化裂化汽油辛烷值的结果相比,测定结果的偏差约0.5个单位。该方法因为操作相对简单,样品量耗费少,且建模过程快速、简便,适于稳定工艺过程中的汽油辛烷值的在线监测。
于爱东等采用毛细管气相色谱法对汽油单体烃类进行分离,用PONA汽油组成软件对汽油单体烃进行定性、定量、Pona组成计算.将汽油单体烃分为37组,建立实测辛烷值与37个变量之间的回归模型,计算汽油辛烷值。该模型计算辛烷值与实测辛烷值的极差为0.26个单位,适用辛烷值在88~92之间的油品。辛烷值的计算公式能够较好地反映汽油单体烃与辛烷值之间的关系。方法操作简单,样品用量少,结果准确,适合于炼厂蒸馏、催化过程中汽油辛烷值的实时监测。
3 近红外光谱法
近红外光谱分析方法是一种间接分析方法,它先利用一组汽油标准样品,在汽油的近红外光谱数据间和汽油辛烷值建立数据关联分析模型,再用该模型预测未知汽油样品的辛烷值。测量精度除受仪器精度影响外,还受所建分析模型精度影响。
韩言正等介绍了一种自主开发研制的汽油辛烷值近红外光谱在线分析仪。该分析仪包括近红外光谱在线测量、光谱预处理和实时建模等部分。对于原始的近红外光谱数据,采用多项式卷积算法进行光谱平滑、基线校正和标准归一化;通过模式分类与偏最小二乘进行实时建模。该分析仪已成功应用于某炼油厂生产过程的辛烷值在线监测。
汽油辛烷值预测体系具有非线性的特点,史月华等据此提出主成分回归残差神经网络校正算法(PCRRANN)用于近红外测定汽油辛烷值的预测模型校正。该方法结合了主成分回归算法(PC),与PLS(PartialLeastSquare),PCR,PLS(NPLS,Non lin-earPLS)等经典校正算法相比,预测能力有明显的提高。
1图像特征表示方法概述
设计图像的特征表示是计算机视觉中一项非常基本的研究内容,图像的分类、检索、标注等工作都是以提取图像特征为初始步骤,好的特征表示可以在相关图像分析中取得更佳的效果.因此,图像特征的设计与构造,直接影响算法的性能.而如何定义一个好的图像特征却是非常困难的:一方面,设计的图像特征对于同一类别下图像之间的变化(比如尺度、光照变化、对象位置变化等)要有足够的鲁棒性;另一方面,设计的图像特征要具备足够的判别性来处理不同类别间图像的变化.近年来,研究者提出了大量的底层特征用于各种图像分析任务,其中最具有代表性的是基于梯度朝向直方图的SIFT(scale-invariantfeaturetransform)[1]和HOG(histogramoforientedgradient)[2].尽管这类特征取得了一定意义的成功,但研究者发现,这类单一的底层特征并不足以在某些应用上达到更好的效果,因此提出了一类中间层的图像特征表示方法.其中,BoW(bagofwords)[3]是这类图像特征表示方法的典型代表,该方法在场景分类中获得了较好的性能.BoW算法生成图像特征表示分为3个过程:图像底层特征的获取、学习过完备字典和计算图像的码字直方图表示.然而,BoW方式并没有考虑特征向量在图像空间上的位置关系,使得其特征描述能力并没有达到最大化.为了弥补这一缺陷,空间金字塔匹配(spatialpyramidmatching,简称SPM)[4]方法通过在一幅图像的不同层次上计算码字直方图,形成了一个BoW多层特征,将BoW模型与图像空间进行合理融合.然而,由于SPM方法利用直方图交核函数来度量两幅图像间的相似度,导致无法产生低维度的图像特征表示,而且需要完整计算训练集图像间相似度的Gram矩阵,因此,其算法复杂度为O(n2)(其中,n为训练集中图像的个数).为了解决这一问题,有效匹配核算法(efficientmatchkernel,简称EMK)[5]在码字间相似性的基础上构造了一个低维特征映射空间,整个图像的特征可以表示为码字映射在这个低维特征空间后的平均,且可以采用线性SVM方法训练分类器,在图像分类应用中获得了非常不错的效果.然而,有效匹配核算法仍然依赖于人为定义的图像局部特征(如SIFT或HOG),只不过是通过计算有限维空间的局部线性特征表示来推出整体图像的线性特征.
Bo等人扩展了有效匹配核算法并提出了核描述子(kerneldescriptor,简称KD)[6]方法.这种方法只需定义任意两个局部图像块之间的相似性,且该相似性函数满足核函数定义.由于每个核函数都隐性定义了一个映射,它将图像块映射为再生核希尔伯特空间(reproducingkernelHilbertspace,简称RKHS)中一个非常高维的向量,这样,核函数可以表示为RKHS中两个高维向量的内积,通过核主成分分析(kernelprincipalcomponentanalysis,简称KPCA)[7]算法,可以由核函数推出图像块特征的有限维线性表示.这种低维空间中的表示就称为核描述子,并且采用EMK算法将其推广到整个图像的特征表示.尽管核描述子方法的设计思想较为新颖,但仍然存在计算复杂度过高这一缺陷,限制了其在大规模图像数据库上的应用.事实上,在KPCA方法的离线阶段,所有联合基向量对之间的相似性都需要计算,这是非常耗时的.更重要的是:在线阶段计算一个新图像块的特征映射时,该图像块与所有联合基向量之间的相似性也是需要计算的,而这实际上是不需要的.Xie等人[8]通过使用不完整Cholesky分解替代KPCA算法,成功地解决了这个问题,并且通过迭代,应用不完整Cholesky分解算法表示整个图像特征[9].但文献[8,9]中,通过不完整Cholesky分解得到的标志联合基向量并没有对应实际的图像块,因此,其产生的特征判别能力并没有最大化地得到利用.
Wang等人提出了有监督的核描述子方法[10],该方法利用训练集中的图像类标来辅助设计底层图像块特征.尽管他们利用该特征取得了不错的分类效果,但这个算法运行过程中需要大量有类标的图像,并且对象优化函数求解过程复杂,时间复杂度过高.除了上述生成图像底层特征表示的方法以外,另外一类构成图像特征的方法基于深度学习理论.2006年,Hinton等人[11,12]提出了用于深度信任网络(deepbeliefnetwork,简称DBN)的无监督学习算法,DBN的多层结构,使得它能够学习得到层次化的特征表示,实现自动特征抽象,文献[12]将DBN模型成功用于手写数字识别应用上.Bengio等人在文献[13]中提出了基于自编码器(auto-encoder)[14]的深度学习网络,在手写数字识别图像数据库上得到了类似的实验结果.另外,文献[1517]提出了一系列基于稀疏编码的深层学习网络,在图像应用中取得了一定的成功.LeCun等人用误差梯度设计并训练卷积神经网络(convolutionalneuralnetwork,简称CNN),其在图像分类,特别是手写体字符识别应用中得到优越的性能.在此基础上,Krizhevsky等人[21]将CNN模型应用到分类大规模ImageNet图像数据库,更加充分地显示了深度学习模型的表达能力.尽管在深度学习模型下获得的图像特征有很强的判别表示能力,但其要求计算机硬件条件较高,单机环境下很难实现.除此之外,更加详细地介绍图像特征描述子领域的综述可以参考文献[23].本文在大数据时代背景下,为了能够快速得到图像块的线性特征表示,提出了有效图像块描述子(efficientpatch-leveldescriptor,简称EPLd)方法.该方法在不完整Cholesky分解基础上,可以自动地进行图像块筛选,对于求解新图像块的线性特征表示,只需计算它和一小部分基图像块的相似性就足够了.有了图像块的特征表示之后,一幅图像就对应着一个图像块特征的集合,该集合可以看作是特征空间中基于某个分布的样本集,这样,两幅图像之间的差异可以看作两个分布的距离.本文采用基于高维概率分布的MMD距离[24]进行估算,进而计算两幅图像间的相似性.本文首先介绍核描述子方法,然后给出有效图像块描述子算法的具体实现过程以及如何利用MMD距离计算两幅图像的相似性,并在几个著名的图像分类数据库上进行实验,最后给出工作的结论和展望.
2核描述子方法简介
核描述子方法是对图像像素点属性(梯度/形状/颜色+位置)基础上生成的联合基向量应用KPCA方法,从而计算新图像块的有限维特征表示.为了方便叙述,本文采用像素点的梯度属性来介绍核描述子方法.通过公式(2)可以看到,核描述子方法的主要缺陷有以下3点:(1)算法计算复杂度高,因为需要对dodp维的联合基向量形成的Gram矩阵计算特征值分解,如果联合基向量的维度过高或者个数过多,KPCA算法甚至无法实施;(2)对联合基向量进行KPCA获得的tij并不是稀疏的,这也就意味着在计算新图像块的特征表示时,需要和所有的联合基向量进行在线计算,所以算法需要存储全部的联合基向量;(3)算法无法进行特征选择,即,并不知道联合基向量中哪些样本最具代表性.
3有效图像块描述子算法
针对核描述子方法的3点不足之处,文献[8]解决了其主要缺陷的第一、第二两点,但是文献[8]在本质上仍然使用联合基向量,所以没有明确地进行特征选择,即,找出哪些图像块是最具代表性的,使得其特征表示能力并没有达到最大化.为了更加完善地解决核描述子方法的缺陷,本文提出了一种新的图像块特征表示方法,称为有效图像块描述子.该方法基于对图像块相似度矩阵执行不完整Cholesky分解。总体上来说,有效图像块描述子算法由两部分构成:1)首先从训练图像集中均匀抽取足够的图像块,然后在这些图像块形成的Gram矩阵上执行不完整Cholesky分解算法.如果设定N代表图像块的个数,M代表分解后矩阵的秩,通常情况下,M<<N.这样做的好处有两点:首先,在分解过程中只需要按需计算O(MN)个Gram矩阵元素的值;其次,对Gram矩阵执行Cholesky分解的时间复杂度为O(M2N),远远低于KPCA算法的O(N3).2)经过第1步分解步骤之后,选择出了M个最具代表性的基图像块,新图像块的特征表示仅仅通过O(M)次计算就可以得到.算法的具体步骤将在以下部分详细介绍.
3.1Gram矩阵的低秩近似半正定的Gram矩阵K可以分解为GGT,所以不完整Cholesky分解的目标就是找到一个矩阵G,其大小为NM,使得TGG在M足够小的情况下近似K.在执行不完整Cholesky分解算法的过程中,选择出M个最具代表性的基图像块,利用所有图像块和这M个基图像块之间的相似性,可以近似恢复Gram矩阵K.这里,M的值是可以通过算法在线确定的,由算法中提前给定的近似精度参数来控制.关于不完整Cholesky分解的详细执行过程可以参考文献[26],其中,作为输入参数的Gram矩阵K实际上是按需计算的,即,算法执行过程中需要用到哪两个训练图像块间的相似度,就按照公式(1)计算得到.算法执行后,就得到了一些具有代表性的基图像块,用向量P保存基图像块的索引序号,同时得到了矩阵G,使得.TGGK
3.2构造图像块特征映射算法一旦获得了NM的矩阵G,新图像块的特征(有效图像块描述子)就可以由G构造.其中,新图像块特征维度大小由M确定,每一维度i的值可由新图像块与P(i)所指示的基图像块间相似性K(newpatch,P(i))恢复得到。通过算法1可以看到:选择出的M个最具代表性的基图像块可以看成是一系列局部图像块的非线性滤波器,将每个新图像块和这些基图像块进行相似性度量的过程,也可看成是对这个新图像块进行特征提取的过程.另外,针对图像块相似度矩阵执行不完整Cholesky分解往往可以保证获得精度非常高的低秩近似,且分解过程中只与某些训练样本(图像块)有关.也就是说,利用这些训练样本就可以很好地近似恢复相似度矩阵,所以训练集中的图像块具有不同程度的重要性.因此,我们称重要性最高的前M个图像块为“最具代表性”的基图像块.为了更加形象地展示这些重要的基图像块,我们在Scene-15图像库上提取了最重要的前16个基图像块,如图1所示(每个图像块由其像素点的梯度幅值来表示).可以看到,每个图像块都包含了丰富的边缘和纹理信息.本文提出的有效图像块描述子算法不只继承了文献[8]的有效性,而且很好地解决了核描述子算法中的第3点缺陷,最大限度地发挥了图像块特征的判别能力.
4利用MMD距离计算图像间的相似性
基于算法1,每一个图像块都可以用有效图像块描述子来表示.一幅图像通过稠密采样确定很多关键点,每一个关键点都对应着一个局部的图像块,因此,一幅图像就对应着一个局部特征的集合.假定图像I1包含m个图像块,则其特征集合可以表示为Fp(patchp1,patchp2,…,patchpm),图像I2包含n个图像块,其特征集合表示为Fq(patchq1,patchq2,…,patchqn).Fp可以看作特征空间中来自分布p的一个样本集,同样,Fq也可以看作是来自分布q的样本集.这样,图像I1与I2之间的差异性就可以由p和q两个分布的距离表示.当然,这两个概率分布之间的距离只能通过这两个样本集进行估算.为此,本文采用基于高维概率分布的MaximumMeanDiscrepancy(MMD)距离[24]进行估算.MMD距离可以看作是将两个概率分布,通过非线性核函数映射到再生核希尔伯特空间(RKHS)后均值的距离.对于上述分布p和q的MMD距离估计可由公式(3)计算。单纯地利用公式(3),并没有考虑局部特征在整幅图像上的空间分布信息.为了解决这个问题,本文首先采用空间金字塔方法将整幅图像进行逐层划分;然后,在两幅图像每个层次对应的小图像上计算它们之间的MMD距离;最终,将所有层次的MMD距离按照其对应层次的权重进行汇总求和,然后度量两幅图像I1与I2之间的差异性.
5实验
本文使用像素点的梯度、形状和颜色属性分别构造基于梯度的有效图像块描述子(EPLd-G)、基于形状的有效图像块描述子(EPLd-S)和基于颜色的有效图像块描述子(EPLd-C).为了测试有效图像块描述子算法的性能,分别在3个著名的图像分类数据库(Scene-15,Caltech-101[28]和UIUC-8[29])上做了实验.在接下来的实验中,计算3个不同类型的有效图像块描述子都是首先将图像按照固定比率缩放到不超过300300像素点;特别地,在计算EPLd-G和EPLd-S时,将缩放后的图像中的像素点的灰度值标准化为[0,1]范围.图像块通过每隔8个像素点的稠密采样方式从训练集图像中进行抽取,大小为1616像素点.EPLd-All是将EPLd-G,EPLd-S和EPLd-C这3个描述子串接起来形成的.训练线性SVM分类器使用LIBLINEAR[30],其中,图像间的相似性利用MMD距离来定义.在计算MMD时,将图像按照11,22和33分为3个层次来汇总求和,尺度参数在不同的数据库上利用交叉验证方法确定.所有的实验均重复10次,每次的训练集和测试集都随机抽取确定,将10次分类准确率的平均值和方差记录下来.实验中的其他参数从公平比较的角度考虑,与文献[6,8]设置相同.
5.1Scene-15Scene-15场景数据库包含4485张图片,这些图片分属15个类别,有室内场景和室外场景,每一个类别包含200张~400张图片不等.按照惯例,从每个类别中随机抽取100张图片作为训练,剩余图片作为测试.在算法中设置Pivots的个数为200,即,利用不完整Cholesky分解选出200个最具代表性的基图像块来构造维度为200的有效图像块描述子.实验结果列在表1中(其中,KD代表核描述子方法[6],EKD代表有效核描述子方法[8],EPLd代表本文提出的有效图像块描述子方法),EPLd方法获得在这个数据库上的最佳分类准确率(87.0%).另外,EPLd方法在所有4种不同情况(梯度、形状、颜色和上述3种属性的汇总)下的性能均超过了文献[6,8].在实验中,除了测试分类准确率来体现EPLd的判别能力,还通过不同维度下测试分类准确率来体现EPLd的有效性.我们发现,在特征维度只有50维的情况下也获得了接近最优分类准确率的性能,这充分体现出EPLd算法的有效性和健壮性.事实上,通过表2可以看到:特征维度从50维增加到300维,分类准确率并没有得到明显的提升.造成这一现象的原因是,不完整Cholesky分解容易获得高质量的低秩近似.表2中的数据表明:即使是50维的低秩近似也足以体现Gram矩阵中的关键信息,而这些关键信息直接决定了分类的性能.在后面的实验中,从算法效率的角度考虑都使用了100维的特征表示.
5.2Caltech-101Caltech-101图像数据库包含9144张图片.这9144张图片隶属于101个对象类别外加一个背景类别,每个类别中的图片在31张~800张不等.表3中,将EPLd与其他有代表性的描述子算法进行了对比.同样根据惯例,每个类别随机挑出30张图片进行训练,从剩余图片中挑选不超过50张进行测试.可以看到:EPLd算法达到了最佳的分类准确率(77.1%),甚至在仅仅使用梯度属性的情况下(EPLd-G)也达到了非常不错的分类效果(73.7%).
5.3UIUC-8UIUC-8图像数据库包含1579张图片,这1579张图片隶属于8个运动类别,每个类别下包含图片137张~250张不等.按照惯例,随机从每个类别中抽取70张图片进行训练,从剩余图片中挑选60张进行测试.分类准确率结果列于表4中.通过表4可以看到,EPLd-All非常接近最佳分类准确率(87.2%vs.87.23%).在实验部分的最后,本文对比了构造3种不同描述子(EPLdvs.KDvs.EKD)的计算效率.其中,最耗时的是形状特征,一幅标准图像(最大300300分辨率,图像块大小为1616像素点,图像块间隔8个像素点)上的EPLd-S与EKD-S描述子在Matlab环境下计算需要耗时2s,而KD-S需要耗时2.5s.对于梯度特征,EPLd-G与EKD-G描述子耗时0.9s,KD-G耗时1s.以上对比结果列在表5中.表5中的对比结果是在生成100维特征情况下得到的,如果提高特征的维度,EPLd与EKD的计算效率提升相对于KD会表现得更加明显.另外一点需要指出的是:EPLd与EKD的计算耗时虽然基本相同,但EPLd描述子的特征判别能力相对于EKD描述子要强很多,这一点通过在3个图像数据库上的实验对比结果可以得到印证.所以,综合考虑,EPLd描述子无论在计算效率还是在判别能力上都要优于EKD和KD描述子.
6结束语