基于LRC-SNN的图像高效重建与识别
2020-07-21宋林林
索 静,宋林林,李 强
(1.太原工业学院 电子工程系,太原 030000; 2.太原理工大学 信息与计算机学院,山西 晋中 030600)
0 概述
图像集分类[1]是指从多个图像中进行目标识别的过程,对于图像集分类问题而言,训练集由各个类别中的一个或多个图像集构成,测试集包含具有相同主题的多个图像,分类算法通过某些相似度指标可对这些测试图像集与训练图像集进行匹配,进而确定测试图像的主题。与传统的基于目标识别的单图像分类算法相比,图像集分类算法具有多种优势,其可有效应对图像内的多种外观变化,如视角变化、遮挡、非刚性形变、光照变化及背景变化等。上述特性使得图像集分类技术在侦察、基于视频的脸部识别、摄像头网络人脸检测等领域得到广泛应用,引起了计算机视觉和模式识别领域相关学者的关注[2]。本文利用线性回归分类(Linear Regression Classification,LRC)和共享最近邻(Share Nearest Neighbor,SNN)子空间分类理论进行图像重建和识别,并提出一种改进的基于LRC-SNN的图像集高效分类算法。
1 相关工作
近年来,图像分类算法成为图像处理领域的研究热点之一。文献[3]提出了一种圆周特征描述方法,该方法利用圆心在轮廓线上的圆、轮廓线、叶片形状区域两两相交所得到的3类叶片图像的圆周特征,通过改变圆的半径来产生由粗到细的圆周特征描述。文献[4]提出了一种基于深度卷积神经网络、可应用于大规模图像分类的深度学习框架,其在经典AlexNet的基础上分别从框架和内部结构2个方面对网络进行优化和改进。文献[5]通过在卷积结构单元中添加通道关注模块和空间关注模块,实现网络的混合关注,并提出一种递归深度混合关注网络方法。文献[6]提出一种融合Zernike矩全局特征和加速鲁棒性特征包BoF-SURF局部斑点特征的花粉图像分类识别算法。文献[7]研究深度卷积神经网络的发展及其在计算机视觉领域的应用。
图像集分类算法可分为有参数算法和无参数算法两大类。其中,有参数算法[8-9]首先根据某种统计分布对图像集进行建模,然后计算这些分布间的相似度。然而,如果同一对象的测试图像集和训练图像集间的统计关联较弱,则参数估计值可能不够准确,导致算法的性能较差。
无参数算法利用多种指标来衡量图像集间的相似性,该类算法是目前图像集分类问题中的研究热点。其中,较为典型的算法有基于时域图像序列的脸部识别算法(TIS)[10]、判别规范关联分析识别算法(DCC)[11]、流形-流形距离识别算法(MMD)[12]、流形判别分析算法(MDA)[13]、仿射壳体图像集线性距离算法(AHISD)[14]、凸壳体图像集距离算法(CHISD)[15]、图形嵌入判别分析算法(GEDA)[16]、稀疏近似最近邻点算法(SANP)[17]、协方差判别学习算法(CDL)[18]、正规化最近邻点算法(RNP)[19]、平均序列稀疏表示分类算法(MSSRC)[20]、集合-集合距离度量学习算法(SSDML)[21]等。另外,图像集还可表示为线性子空间或复杂非线性流形的组合。对于线性子空间,往往利用某个子空间中的向量与另一子空间中向量间的最小角度余弦值来衡量2个图像集的相似度。文献[22]将训练和测试图像集看作高维空间的子空间,提出一种对偶线性回归分类算法(DLRC)以进行图像集分类,该算法综合利用了各个图像集的最后一幅图像、其他被比较图像集的变化以及线性回归分类算法,从而确定2个子空间的距离。文献[23]对文献[22]的研究进行拓展,提出一种成对线性回归模型(PLRC)以进行图像集分类,该模型利用图像集的平均图像而非最后一幅图像来确定子空间的距离。然而,上述算法要求特征向量的维度远大于画廊图像集和测试图像集中图像的总体数量,此外,进行图像集合表示时往往做出部分先验假设。在许多实际应用中,这些假设可能无法成立,尤其是当集合内部存在大量复杂的数据变化时。因此,上述算法只适用于小规模的测试图像集。
文献[24]利用深度学习理论提出一种自适应深度网络模板(ADNT)算法。该算法利用一种深度自动编码器来定义训练集中各个类别的模型,并通过高斯受限玻尔兹曼器(GRBM)对自动编码器的权重进行初始化。在分类时,ADNT利用学习过的类别模型重建测试集中的各幅图像,将重建误差作为指标来确定测试图像集。仿真结果表明,ADNT算法的性能优于多种经典算法,但其依赖于人工LBP特征,并且需要对多个参数进行微调才能保证算法性能。另外,ADNT算法的训练需要大量图像,计算成本很高。
本文提出一种改进的图像重建与识别算法。对各个画廊图像集进行下采样后,每个类别的画廊图像集形成高维空间中的一个子空间。在测试阶段,测试图像集中的每个测试图像表示为每个画廊图像集中图像的线性组合。利用最小二乘算法估计各个测试图像的回归模型参数,然后利用估计后的回归模型并结合画廊子空间对测试图像进行重建,真实测试图像和重建图像间的欧氏距离作为距离度量。在此基础上,每个测试图像对画廊中的各个类别进行投票,最后累积权重最高的类别作为图像类别。
2 问题描述
(1)
图1 本文算法结构
3 图像识别算法
3.1 图像的子空间表示
(2)
如果Xμ属于第c个类别,则有可能将Xμ的图像向量表示为同一类别画廊图像的线性组合:
(3)
3.2 回归模型参数估计
(4)
(5)
(6)
Xμ=QcΓc,c=1,2,…,C
(7)
其中,Γc∈RN×M表示参数矩阵。利用最小二乘法估计即可计算得到Γc:
Γc=(Q′cQc)-1Q′cXμ,c=1,2,…,C
(8)
(9)
(10)
3.3 加权投票策略
(11)
(12)
其中,α为常数。根据各个测试图像确定的类别c的累积权重可计算为:
(13)
(14)
本文提出的图像集分类算法具体描述如算法1所示。
算法1图像集分类算法
输入画廊图像集Kc,c=1,2,…,C,测试图像集Yμ
输出测试图像集Yμ的类别μ
形成画廊:
For c in 1 to C do
For n in 1 to N do
向量化,T=ab
End
End
测试:
For m in 1 to M do
向量化,T=ab
End
For c in 1 to C do
For m in 1 to M do
End
End
算法1流程如图2所示。
3.4 奇异性问题
3.4.1 扰动
通过添加微小扰动项对回归量Qc进行正规化,便可解决Qc的奇异问题。通过经验发现,添加矩阵ε并保证矩阵元素服从-0.5≤ε≤0.5随机均匀分布,可克服Qc的奇异性。修正后的Qc表示为:
(15)
式(15)需要在所有处理步骤之前实现,且矩阵Qc的数值在0~255之间,因此,任何像素值的最大变化为0.5,经过分析可知上述过程不会对分类精度产生影响。
3.4.2 基于QR分解的基本解
解向量的非0元素数量满足γc≤r,因此,通过回归量Qc的QR分解计算式(3)或式(7)的基本解便可解决奇异性问题,其中,r表示回归量Qc的秩。该方法所得的结果精度可满足本文图像重建的需要。
3.5 快速线性图像重建
与式(3)~式(6)相比,使用式(7)~式(10)可显著缩短算法处理时间。在形成画廊期间利用Moore-Penrose伪逆矩阵[26]计算回归量Qc的逆矩阵,可进一步缩短算法的处理时间。因此,本文将测试期间的计算过程分解为2次矩阵操作,如算法2所示。
算法2图像快速重建和分类算法
输入画廊图像集Kc,c=1,2,…,C,测试图像集Yμ
输出测试图像集Yμ的类别μ
形成画廊:
For c in 1 to C do
For n in 1 to N do
向量化,T=ab;
End
End
测试:
For m in 1 to M do
向量化,T=ab;
End
For c in 1 to C do
End
(16)
(17)
对于ETH-8数据集,快速线性图像重建算法的计算效率相对其他算法几乎提升了2倍。数据集规模越大,计算效率的提升幅度越明显。
4 仿真验证
本文在如下4个常见数据集上对算法的性能进行验证:CMU人体识别数据集(CMU MoBo),YouTube名人数据集(YTC),UCSD/Honda人脸识别数据集,ETH-8目标识别数据集。将本文算法与如下典型的图像集分类算法进行比较:基于时域图像序列的脸部识别算法(TIS)[11],判别规范关联分析识别算法(DCC)[12],流形-流形距离识别算法(MMD)[13],流形判别分析算法(MDA)[14],仿射壳体图像集线性距离算法(AHISD)[15],凸壳体图像集距离算法(CHISD)[15],图形嵌入判别分析算法(GEDA)[16],稀疏近似最近邻点算法(SANP)[17],协方差判别学习算法(CDL)[18],正规化最近邻点算法(RNP)[19],平均序列稀疏表示分类算法(MSSRC)[20],集合-集合距离度量学习算法(SSDML)[21],DLRC算法[22],PLRC算法[23],自适应深度网络模板算法(ADNT)[24]。其中,ADNT算法的分类精度最高,本文采用文献[24]中的实验设置。为了便于比较,本文给出已有文献提供的所有算法的平均识别结果。
4.1 CMU人体识别数据集上的分类结果
CMU人体识别数据集包含从6个不同视角拍摄的25个人体在跑步机上的运动视频,除了最后一个人体外的其他所有人体均有不同运动模式拍摄的4个视频,即缓慢走动、快速走动、弯腰走动及手中持球走动的视频。本文采用前24个人体的视频序列,每个视频的多个帧组成一个图像集合。与文献[13,15,17,24]类似,随机选择各个人体的一种步态视频作为画廊图像集,其余3种步态作为测试集。从每个画廊视频中随机选择50个帧,利用文献[27]中的Viola-Jones脸部检测算法自动检测各个图像帧中的人脸区域。与文献[18]类似,本文按40×40分辨率对图像再次采样,并转换为灰度图像。利用直方图均衡化方法增加图像对比度。与文献[22-24]不同,本文没有使用任何LBP特征,而是对原始图像进行实验,在式(12)中设置α=0.2。重复10次实验,每轮实验随机选择不同的画廊和测试图像集,以增加本文测试环境的多样性。表1所示为不同算法对CMU人体识别数据集的平均分类精度和标准差。可以看出,本文算法的精度远高于其他参数化算法和非参数化算法。
表1 各种算法对CMU-MoBo人体识别数据集的平均分类精度和标准差
4.2 YouTube名人数据集上的分类结果
YouTube名人数据集包含由47位名流和政客构成的1 910个视频片断,如图3所示,其为目前规模较大的图像集分类数据集。从YouTube下载的这些真实视频噪声较大、分辨率较低、录制视频时压缩率较高。与文献[13-15,17,26]类似,本文实验采用5折交叉验证策略:将数据集划分为5个部分,保证不同部分的重叠交叉最小化。每部分包含423个视频片断,每个人体为9个视频片断,其中,随机选择3个片断作为画廊视频集,其他6个作为单独的测试集。采用文献[24]中的方法对所有被跟踪的人脸图像按分辨率30×30进行重采样,并将其转换为灰度图像,通过直方图均衡化方法提高图像的对比度。从每部分数据集中每个人体的3个画廊视频中随机选择20个图像作为画廊数据集,如果某个画廊视频片断的视频帧数量少于20个,则该视频的所有图像均作为画廊数据集,则每个画廊数据集最多有60个图像,在式(12)中设置α=10.5。重复10实验,每次实验的画廊图像、画廊图像集和测试图像集均随机选择且各不相同。表2所示为不同算法对YouTube数据集的平均分类精度和标准差。可以看出,本文算法的精度高于其他所有参数化算法和非参数化算法,ADNT算法分类精度也比较理想,但本文算法使用的训练数据量远低于ADNT算法,运行速度更快。此外,本文算法无需对任何参数进行微调,也不需要参数训练,因此,其更适用于真实应用场景。
图3 YouTube名人数据集
表2 各种算法对YouTube数据集的平均分类精度和标准差
4.3 UCSD/Honda数据集上的分类结果
UCSD/Honda数据集包含20个人体的59个视频,每个人体有1个~5个视频。该数据集的主要作用是作为标准的视频数据集,对各种人脸跟踪和识别算法进行性能评估,其所有视频均有严重的摇头和姿态变化,另外,部分视频序列存在局部遮挡现象。本次实验设置与文献[13-15,17,24]相同,利用文献[27]中的Viola-Jones人脸检测算法自动检测各个视频帧的人脸。与文献[24]类似,本文对检测出的人脸图像按分辨率20×20进行重采样并转换为灰度图像,通过直方图均衡化方法提高图像的对比度。将图像与均值图像相减然后与标准差相除,实现图像的标准化。从各个人体中随机选择一个视频作为画廊图像集,将其余视频作为测试图像集。为了保证画廊图像数量远低于像素点数,从各个画廊视频中随机选择少量视频帧,比如50个。在式(12)中设置α=0.2。为了保证实验得分的稳定性,重复进行10实验,每次实验的画廊图像、画廊图像集和测试图像集均随机选择且各不相同。表3所示为不同算法对UCSD/Honda数据集的平均分类精度和标准差。从中可以看出,即使采用极少量的画廊图像,本文算法的分类精度也较高。
表3 各种算法对UCSD/Honda数据集的平均分类精度和标准差
4.4 ETH-8数据集上的分类结果
ETH-8数据集由苹果、梨子、西红柿、奶牛、狗、马、轿车和茶杯8种对象组成,每种类别有8个不同的图像集,每个图像集包含从不同角度拍摄的41幅图像,如图4所示。本文实验只采用经过修剪后只包含对象且没有边缘区域的图像,采用文献[24]的实验设置,按照分辨率32×32对图像进行重采样,并将其转换为灰度图像,通过与均值图像相减以及与标准差相除进行图像的标准化。与文献[13-15,17,26]类似,随机选择各个图像类别的5个图像集作为画廊图像集,其余5个图像集作为独立的测试图像集,在式(12)中设置α=0.2。实验重复10次,每次实验均随机选择不同的画廊和测试图像集。表4所示为不同算法对ETH-8数据集的平均分类精度和标准差。从中可以看出,本文算法的性能与ADNT算法接近。
图4 ETH-8数据集
表4 各种算法对ETH-8数据集的平均分类精度和标准差
4.5 低分辨率条件下的实验结果
利用分辨率更低的图像进行实验,进一步评估本文算法与ADNT算法的性能。实验设置与4.4节相同,对于ADNT算法,采用文献[24]中相同的参数设置。实验重复10次,每次均随机选择不同的画廊和测试图像集。表5给出了2种算法的平均分类精度和标准差。从表5可以看出,对于CMU数据集,当图像分辨率降低时,本文算法的分类精度仍然有所提升。对于UCSD/Honda数据集,当图像分辨率降低时,本文算法的分类精度也非常理想。对于ETH-8数据集,图像分辨率为20×20时,本文算法的分类精度最优。综上,虽然图像分辨率发生变化,但本文算法的分类精度没有受到显著影响。另外,对于分辨率较低的目标图像,本文算法的性能总是优于ADNT算法,这表明本文算法更适用于低分辨率应用场景。
表5 2种算法对低分辨率图像的平均分类精度和标准差
5 计算时间分析
以ETH-8数据集为实验对象,对所有算法在该数据集上的计算时间进行测试,表6所示为CPU RAM条件下各算法所需的训练时间和每个图像进行分类所需的测试时间的比较结果,其中,NR表示不需要训练。从中可以看出,与其他算法相比,本文算法的运行效率最高,这主要是因为:
1)本文算法不需要任何训练。
2)虽然本文算法根据所有画廊图像集合对测试图像集中的各个图像进行重建,但是采用了高效的矩阵表示法,使得本文算法的效率优于其他算法。
表6 不同算法进行图像集分类时的计算时间比较
6 性能分析
从表1可以看出,DLRC算法、PLRC算法、ADNT算法和本文算法的图像集分类性能远优于其他算法。其中,本文算法和ADNT算法的平均分类精度接近,高于DLRC算法和PLRC算法,这主要是因为:
1)本文算法与DLRC算法和PLRC算法具有显著差异。DLRC算法将训练和测试图像集看作高维空间的子空间,利用测试图像集和训练图像集间的距离来确定测试图像集的类别。为了确定子空间之间的距离,DLRC算法利用各个图像集的最后一幅图像以及训练图像集和测试图像集间的变化来求解线性回归问题。PLRC算法是DLRC算法的拓展,其不采用每个图像集的最后一幅图像,而是利用均值图像以及相关子空间和非相关子空间概念进行图像分类。DLRC和PLRC算法均需要测试图像集和训练图像集中的图像总量远低于特征向量中的特征数量,而这一要求有时无法满足。除了画廊图像集,这2种算法还将测试图像集作为回归量,导致在测试期间容易发生矩阵缺秩问题。另外,这2种算法对部分数据集还采用了LBP特征。因此,DLRC算法和PLRC算法采用原始图像时表现出的性能不具有普遍性。
2)与DLRC和PLRC算法不同,本文算法对测试图像集中的各个图像独立对待,并将其看作高维空间中的点。本文算法根据画廊子空间对各个测试图像进行重建,并采用加权投票以及原始测试图像和重建测试图像间的欧氏距离进行目标分类,加权投票策略增加了本文算法面对噪声以及测试图像集中部分异常数据时的鲁棒性。本文算法对测试图像集中的图像数量不做任何要求。利用原始图像进行仿真,结果验证了本文算法的普遍性。与DLRC和PLRC算法相反,只要在构建画廊图像集时解决回归量Qc的奇异性问题,本文算法在测试阶段便不会发生矩阵缺秩问题,原因是算法没有利用测试图像集作为回归量。另外,本文算法既可同时处理所有图像集,也可每次处理一幅图像然后对分类决策进行实时更新,因此,其适用于现场视频监控任务。本文算法的精度优于多数参数化算法和非参数化算法。
3)ADNT算法对YouTube和ETH-8数据集的精度更高,但是其需要大量的训练数据和人工LBP特征。另外,ADNT算法利用受限Boltzman机器方法进行参数初始化,参数微调的时间较长。相比而言,本文算法只需少量训练数据,即使采用原始图像,算法性能也与ADNT相当。如果图像分辨率较低,本文算法的性能优于ADNT算法,测试阶段本文算法效率比ADNT算法快10倍。当有新的数据需要处理时,本文算法也具有良好的可拓展性。
综上,本文算法对训练数据的要求较少,对低分辨率数据具有较好的处理效果,因此,其更适用于可用训据数据量有限、对决策效率要求高的应用场景。
7 结束语
本文提出一种改进的图像集分类算法。通过线性回归分类技术结合画廊图像集对测试图像集中的图像进行重建,利用累积加权重建误差确定测试图像集的类别。该算法对训练数据的需求量较少,面对不同的数据集时具有良好的普适性,在分辨率较低、训练数据较少的条件下仍然能够取得较好的分类性能。在常见的图像分类数据集上进行仿真,结果表明,本文算法测试阶段的效率比ADNT算法高10倍,且其精度与ADNT算法相差不大。下一步将研究并设计一种基于最优路径搜索的图像分类方法,以提高分类精度和时间效率。