基于核典型相关分析和支持向量机的图像识别技术

2022-07-06 11:37潘惠苹
南京理工大学学报 2022年3期
关键词:集上图像识别准确率

潘惠苹,任 艳,徐 春

(1.广东工商职业技术大学 计算机学院,广东 肇庆 526000;2.菲律宾克里斯汀大学 国际学院,菲律宾 马尼拉 1004; 3.新疆财经大学 信息管理学院,新疆 乌鲁木齐 830012)

图像识别由于受到环境和拍摄角度的影响,识别难度提升,特别是针对复杂环境的局部图像识别,其复杂度更高。在进行图像识别之前,对图像关键特征的有效提取非常重要[1],这是因为图像特征的维度一般较高,而高维数据的分类识别运算复杂程度高,因此识别准确率不高。

当前,关于图像识别的研究较多。白洁等[2]将卷积神经网络(Convolutional neural network,CNN)用于小规模图像样本识别,经过降维之后,CNN能够获得较高的图像样本识别准确率;曾长雄[3]对当前常用图像识别算法进行了应用场景及优缺点分析,研究结果均指出高维图像样本存在识别准确率低的问题。为了解决这个问题,苏树智等[4]提出采用图强化典型相关分析对图像样本特征进行更加全面的提取,结果表明可以更有效地获取图像数据的完整特征,有助于提高图像识别准确率。但是,这种对图像特征进行全面提取的方法必然增加识别运算的复杂度,并降低了图像识别效率,不利于流动图像的快速识别等需求。

核典型相关分析(Kernel canonical correlation analysis,KCCA)技术作为多维特征相关分析的重要方法,结合核技巧,可以将不同维度的图像特征经过相关分析,去除冗余图像特征。这样便降低了因图像全面特征参与识别运算导致的复杂度,为图像识别算法提供有效的图像特征。支持向量机(Support vector machine,SVM)是目前最常用的分类器,在高维空间划分中表现出较好的性能,且分类效率高于CNN。

本文尝试结合2种方法来实现更准确的图像识别。首先,采用KCCA技术用于图像特征相关分析,提取有效的图像样本特征。然后,采用SVM判别器进行图像识别,充分利用SVM快速判别的优势,同时为了保证图像识别准确率,采用KCCA技术进行图像特征预处理。

1 KCCA

1.1 典型相关分析

典型相关分析(Canonical correlation analysis,CCA)主要用于2个多维数据的相关性量化分析,设有X=[x1x2…xM],Y=[y1y2…yM]2个样本,CCA主要策略是对式(1)和(2)进行组合,获取两者间相关性最大值[5]。

(1)

(2)

式中:相关性最大值所对应的系数为φ(x)和φ(y)。

设X和Y的协方差矩阵分别为Cxx和Cyy,互协方差矩阵为Cxy,则有[6]

(3)

式中

Cxx=cov(x,x)=E(x2)-(E(x))2

(4)

Cyy=cov(y,y)=E(y2)-(E(y))2

(5)

Cxy=cov(x,y)=E(xy)-E(x)E(y)

(6)

(7)

可以通过拉格朗日函数法求解式(7),获得最佳φ(x)和φ(y)。

1.2 KCCA

在CCA基础上引入核函数,构建KCCA方法,较好地解决了2种不同维数特征之间的相关分析问题,主要结构如图1所示[7,8]。

图1 KCCA结构图

设有映射函数φ(x)满足K(x,y)=〈φ(x),φ(y)〉,则称K(x)为核函数,对归0化的样本X=[x1x2…xN],Y=[y1y2…yN]进行φ函数映射,然后根据式(3)求解样本X和Y的相关系数,式(3)变为[9]

(8)

(9)

2 SVM

设样本集(xi,yi),i=1,2,…,n,可以被线性方程经过非线性SVM映射得到[10]

yi(wTxi+b)-1≥0i=1,2,…,n

(10)

式中:wT为权重矩阵,b表示偏置。

(11)

式中:ai为拉格朗日系数。

分别对式(11)关于w和b求偏导,得到[12]

(12)

求解Q(a)获得最大值对应的a*,则[13]

(13)

最优SVM为

f(x)=sgn((w*)T+b)

(14)

对待识别的图像样本特征进行核相关分析,选择KCCA处理后的图像样本进行SVM判别,求解图像识别的超平面,其主要流程如图2所示。

图2 KCCA-SVM图像识别流程图

3 实例仿真

为了验证KCCA-SVM的图像识别性能,进行实例仿真。仿真对象为表1的加利福尼亚大学尔湾分校(University of California Irvine,UCI)机器学习数据集。首先,对不同参数条件下KCCA-SVM的图像识别性能进行了测试分析。其次,将KCCA-SVM与现有常用图像识别算法进行了性能对比。

表1 图像样本集表

3.1 不同核函数的图像识别性能

在进行KCCA时,选择合适的核函数对典型相关分析的图像特征提取效果差异较大,而图像特征直接影响了SVM图像识别性能,因此本文选择不同的核函数进行典型相关分析,然后进行SVM图像识别。图3显示,4类图像样本集受不同的KCCA核函数的影响,其识别准确率有较大差异,其中多项式核在4类图像样本上的KCCA-SVM识别准确率最差,而高斯核在ORL和PIE集上的KCCA-SVM识别准确率更高一些,Sigmoid核在Yale和AR集上的KCCA-SVM识别准确率更优。因此在选择KCCA核函数时,应根据具体的样本集来选择合适的核函数,本文对4类图像集的识别仿真选择对应识别准确率更高的核函数。

为进一步验证不同核函数的KCCA-SVM图像识别稳定性,对其识别准确率的RMSE值进行仿真,统计结果如表2所示。

图3 不同核函数的图像识别准确率图

表2 不同核函数的KCCA-SVM识别准确率表

从表2得,KCCA采用高斯核在ORL和PIE集上的识别准确率RMSE值更低,而KCCA采用Sigmoid核在Yale和AR集上的识别准确率RMSE值更优。通过统计不同核函数在4类图像样本集上的RMSE值,再次印证高斯核在ORL和PIE集上的图像识别准确率和稳定性更高,Sigmoid核在Yale和AR集上的识别准确率和稳定性方面表现更优。

3.2 不同图像维度的图像识别性能

为了进一步验证KCCA-SVM在图像识别中的性能,选择同一图像的不同图像维度进行KCCA处理,接着进行SVM判别,其不同维度的图像识别准确率如表3所示。

由表3得,图像维数对图像识别的准确率影响明显,在维数为10时,图像识别准确率最低,而维数为20和25时,识别准确率较高,两者值非常接近。当维数较少时,不足以包含图像所包含的重要特征,造成识别准确率低的情况,而当维数增加到20后,继续增加维数,准确率并未出现明显提高。这主要是因为维数增加到20后,所选取的图像特征已经能较全面地包含图像样本内容,即使再增加图像特征,准确率也不再大幅提升。下文继续对不同维数的图像识别稳定性进行仿真,统计结果如表4所示。

表3 不同维数的KCCA-SVM识别准确率表

表4 不同维数的KCCA-SVM识别准确率RMSE表

由表4得,维数增加,其对应图像识别准确率RMSE值在降低,这说明维数的增加对图像识别的稳定性有明显的正向提升。维数从20增加至25,虽然识别准确率不再明显提升,但其RMSE值仍在下降,表明图像特征的全面提取更有利于图像识别的稳定性提升。图像维数提升能够提高识别稳定性,但也带来了更大的识别运算量,影响识别效率,所以在图像识别的维数选择时,应根据实际情况选择。本文选择4类数据集的维数为20,进行KCCA-SVM识别运算。

3.3 不同算法的图像识别性能

分别采用SVM[14]、神经网络(Neural network,NN)[15]、CNN[16]算法和KCCA-SVM进行图像识别,其识别准确率与维数关系如图4所示。

图4 4种算法的识别准确率图

综合图4得,在4类数据集的最高识别准确率方面,KCCA-SVM算法最好,CNN次之,SVM算法最差。在维数的[0,10]阶段,4种算法的识别准确率先大幅提升,而后缓慢提升,对ORL和AR集,4种算法的识别准确率均达到了稳定。对Yale集,SVM算法从维数10开始便出现了震荡,保持识别准确率在0.7左右震荡,其他3种算法达到了稳定值。对PIE集,SVM仍维持0.68左右的震荡,本文KCCA-SVM算法也出现了微量震荡,而NN和CNN算法分别出现了准确率先升后降的问题,前者在维数为24之后开始下行,CNN算法在维数20后准确率缓慢下降,这主要是因为维数增加,需要参与NN网络计算的特征增加,网络复杂度提升,造成识别准确率下降。NN识别对图像特征维数依赖性强,对于高维图像数据的NN类算法识别,图像样本最好先经过降维处理后再训练。

横向对比,KCCA-SVM算法在AR集上表现了更高的识别准确率,达到了0.94,而在Yale集上识别准确率最低。在维数为20左右时,除了PIE集的准确率有轻微震荡,其他3种数据集均达到了稳定值。

3.4 人脸图像识别性能

此外,采用了人脸库CAS-PEAL-R1对所提算法进行了验证。中国科学院计算所的CAS-PEAL-R1数据库示例如图5所示。全部图像的尺寸统一为32×32。

图5 CAS-PEAL-R1示例图

将本文提出的KCCA-SVM算法与SVM、CNN算法进行了对比,识别准确率以及消耗时间结果如表5所示。从表5中可以看出,相比其它3种算法,本文算法在5次重复的实验中均保持了较好时间效率,识别准确率也有所提升。

表5 3种识别方法性能比较表

4 结束语

采用KCCA-SVM算法用于图像识别,选择合适的KCCA核函数,本文算法在高维图像样本识别中能够获得较高的识别准确率和稳定性,相比于常用图像识别算法,在常用公开图像样本集中,KCCA-SVM识别算法能够获得更高的图像识别准确率。后续研究将从多核KCCA以及对支持向量机(Twin support vector machine,TWSVM)方面等着手进行相关分析,结合SVM来提高图像识别的稳定性,降低因维数变化而带来的准确率震荡影响。

猜你喜欢
集上图像识别准确率
支持向量机的舰船图像识别与分类技术
基于计算机视觉的图像识别技术研究
关于短文本匹配的泛化性和迁移性的研究分析
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
人工智能背景下图像识别技术浅析
图像识别交互系统
师如明灯,清凉温润