庄屹 陈玮 尹钟
摘 要:在与人交互情况下,针对物体识别系统通过反馈信息自动优化识别能力问题,提出一种结合梯度直方图(HOG)特征提取和支持向量机(SVM)进行特定物体识别的方法。运用Tensorflow训练语音识别模型反馈人机交互信息,使系统实现自优化。以手表类别作为识别对象,通过HOG特征描述对手表进行特征提取,通过二维主成分分析(2DPCA)和线性判别分析(LDA)对整体和局部特征进行降维,运用改进的空间金字塔匹配模型通过SVM对其分类,并运用非极大值抑制(NMS)确定区域,运用训练的梅尔倒谱(MFCC)特征语音识别模型对反馈信息进行识别,最终整合信息优化识别系统。实验表明,该系统对手表有较高的识别率,并能通过人机交流在较短时间内使系统实现自优化。
关键词:物体识别;自优化系统;梯度直方图;支持向量机;梅尔倒谱
DOI:10. 11907/rjdk. 182221
中图分类号:TP301文献标识码:A文章编号:1672-7800(2019)003-0010-06
0 引言
随着智能化的不断普及,很多场合都可以用机器识别物体,物体识别系统正朝着愈发精确成熟的方向发展。物体识别关键在于特征提取和分类器设计,特征提取主要从全局特征提取和局部特征提取两个方向入手。不同物体拥有不同性质的特征,在不同特征提取以及不同分类器下实现的识别效果也略有差距。对于一个投入使用的识别系统,由于其分类模型已经确定,其识别率也就确定下来,无法直接提高识别能力。目前,物体识别系统的主要分类器是运用卷积神经网络(CNN)或者相对成熟的Tensorflow深度学习神经网络进行训练。基于神经网络的模型训练要拥有较高识别率,对样本量有着极高要求,而在样本量有限的情况下,神经网络训练下的模型识别效果相差很多,并且无法进行自优化操作。在2005年的CVPR(Internaltional Conference on Computer Vision and Pattern Recogintion 计算机视觉与模式识别国际会议)上,来自法国的研究人员Navneet Dalal & Bill Triggs[1]提出利用梯度直方圖(HOG)进行特征提取,利用线性支持向量机(SVM)作为分类器,从而实现行人检测,但对于空间金字塔的匹配模型并没有进行优化。本文提出一种改进的HOG特征提取和SVM进行物体识别,同时通过Tensorflow训练自己的语音识别模型反馈人机交互信息,基于Python 3.6 环境编写程序实现自优化识别。在加州学院256类图像数据库(“The Caltech-256 object category dataset”)以及ImageNet图像数据库基础上进行实验,结果表明该系统能实现自优化功能,提高了手表类别的识别能力。
1 改进的HOG特征提取与SVM分类
1.1 HOG特征提取及降维算法
1.1.1 HOG特征提取
一幅图像可通过梯度或边缘的方向密度分布很好地描述局部目标的表象和形状(appearance and shape),梯度主要存在于边缘[2]。如图1所示,HOG特征提取步骤如下:
(1)灰度化。
(2)通过[γ]校正法对输入图像进行颜色空间的归一化。
(3)计算图像每个像素的梯度(大小、方向),以此捕获轮廓信息。
(4)将图像划分成小像素点,并计算每个像素点的梯度直方图(不同梯度的个数),即可形成像素点的图像块。
(5)将几个像素点组成一个图像块,一个图像块内所有像素点的特征串联起来便得到该图像块的HOG特征。
(6)联结所有图像块的HOG特征得到全图HOG特征,此即为最终可供分类使用的特征向量[3]。
1.1.2 LDA算法
LDA是一种用于监督学习的降维技术,其数据集的每个样本都有类别输出,这点和PCA不同。PCA是一种无监督降维技术,不考虑样本类别输出。数据以低维度进行投影,投影后希望每一种类别数据的投影点尽可能地接近,而不同类别的数据与类别中心之间的距离应尽可能大。本文主要运用二类LDA算法提取局部特征[4]。
1.1.3 2DPCA算法
2DPCA算法是一维PCA算法的改进优化。利用二维图像矩阵直接构造一个协方差矩阵,选取最大的几个特征值对应的特征向量为最佳投影轴,将原始图像矩阵经过投影后提取主元分量,以达到数据降维和压缩效果[5]。
1.2 空间金字塔匹配模型改进
1.2.1 图像预处理
以手表图像为例,为达到识别目的,首先要对训练集中的图像进行预处理。对手表图像进行滤波去噪,确定手表的表盘位置并将图像归一化为128×128,步骤如下:①对图像进行差分高斯滤波(DoG),用于消除图像阴影以及高频和低频噪音干扰;②对图像进行对比度均衡化与图像增强,提高图像清晰度;③对图像霍夫变换进行圆形边缘提取,确定最小外接矩形并截取得到手表表盘,如图2所示。
对于任何圆, 假设中心像素点p[(x0,y0)]已知,圆半径已知,将其旋转360°,可通过极坐标方程得到每个点上的坐标。同样,如果只是知道图像上的像素点、 圆半径,旋转360°,则会有一个集中的交点。也就是说,圆的中心点处坐标值最强,这就是霍夫变换检测圆的数学原理[7]。
1.2.2 改进的空间金字塔匹配
传统的空间金字塔匹配模型一般在水平和数值方向进行相同划分,即分割后的每个空间都是形如n×n的正方形区域[8],这样得到的图像结构信息在一定程度上是不连续的,使得表盘中的结构信息划分成极小的碎片,影响最终识别效果。
为此对空间金字塔的划分方案进行改进,如图3所示,确定Level 0层(1×1),Level 1层(1×4)、(4×1),Level 2层(2×8)、(8×2),从而使其底层特征分布直方图的统计特性不被破坏。传统情况下,由于划分的局部区域过小,所以得到的空间分布直方图区分度不高。改进的匹配模型保留了较大范围的特征分布,尽管不能在细节上提供更精确的信息,但是较大范围的特征信息保证了一定的一致性和连续性,便于更好地完成识别工作,如图4所示。
1.3 SVM分类器及非极大值抑制
1.3.1 SVM分类器训练
支持向量机(Support Vector Machine,SVM)是Corinna Cortes & Vapnik等[9]于1995年首先提出的,对于小样本、非线性及高维样本问题表现出许多特有优势。
SVM本身是一个线性分类器,最开始解决的是线性可分问题,然后拓展到非线性可分问题,甚至扩展到非线性函数中。解决线性不可分,主要方法是利用非线性映射,将低维空间内不可分的样本映射成高纬空间线性可分样本。然后如线性可分一般,计算一个超平面将样本分成两类,使两边分类的点尽可能远离超平面,也就是保证虚线部分的点尽可能远离即可,这些虚线上的点即为支撑向量。远离超平面距离的概念有很多种,在SVM中主要使用几何距离。几何距离见式(10),即使SVM问题转换成一定约束情况下式(11)中|W|最小[10]。
从Scene-15数据集选取1000张场景图片进行128×128的归一化操作作为初始负样本,从加州理工学院256类图像数据库(“The Caltech-256 object category dataset”)中提取200张作为初始正样本,分别对其进行HOG特征提取后导入SVM分类器进行训练,见图5。
1.3.2 非极大值抑制
非极大值抑制[11](Non-Maximum Suppression,NMS)是指对非最大值元素进行抑制,即搜索邻域极大值。邻域有维数和大小两个参数,在目标检测中用于提取分数最高的窗口[12]。经分类器分类后,每个窗口会有一个分数(score)。滑动窗口会导致很多窗口交叉或包含,这时用NMS选取邻域里分数最高的(目标手表的概率最大)窗口,抑制那些分数低的窗口,如图6所示。本系统分数大于0.8即认为识别出手表。
2 MFCC语音识别模型
2.1 声音特征提取
声音特征提取步骤:①获取数据集中分好类的语音文件(wav)列表;②对文件列表进行随机化;③取一定数量(batch_size)的语音文件作为一个批次(batch);④提取一個批次语音文件的梅尔倒谱(MFCC,Mel-Frequency Cepstral Coefficients)特征并进行归一化处理;⑤根据文件名得到语音文件的类标。
MFCC梅尔倒谱系数是语音识别中最为常用的特征,步骤如下:①获得语谱图便于进行频率分析;②将声音信号输入梅尔滤波器组;③取对数。人声系统信号由基调信息与声道信息卷积而成。在语谱图FFT变换后,卷积变成了乘法,即[FFT(s)×FFT(v)]。取对数后,乘法变成了加法,即[log(FFT(s))+log(FFT(v))],把卷积信号转换成加法信号[13];④DCT(离散余弦变换)又称为“倒谱域”,倒谱域的低频部分描绘了声道信息,高频部分描绘了基调信息。选择DCT代替FFT,是因为DCT变换之后的值仍为实数,会更加方便[14]。
2.2 基于Tensorflow的神经网络构建
在Tensorflow中,运用已经搭好的神经网络进行训练。LSTM(Long Short-Term Memory,长短期记忆网络)作为一种时间递归神经网络,适合处理和预测时间序列中间隔和延迟相对较长的重要事件[15],见图7。
LSTM和卷积神经网络(RNN)之间的区别在于算法中添加了“处理器”用于判断信息有用与否,该处理器作用的结构称为“判断神经元”[16]。
一个判断神经元存在三扇门,分别称其为输入门、遗忘门和输出门。消息进入LSTM网络,可根据规则判断,留下符合算法认证的信息,不符的信息通过遗忘门被遗忘[17]。
2.3 Tensorflow训练模型
根据反馈给机器的对错(Yes or No)关键字信息判断识别的图像是正样本还是负样本。
2.3.1 No的情况
(1)如果图像中有手表出现,但系统没有识别出来,便将该图像添加入正样本数据集,提取HOG特征后重新进行图像识别模型训练。
(2)如果图像中并无手表,系统错判物体为手表,便将该图像添加入负样本数据集,提取HOG特征后,重新进行图像识别模型训练。
2.3.2 Yes的情况
系统识别正确,用户反馈正确信息。
该系统利用TensorFlow和AIY团队创建的语音命令数据集。成千上万的用户在AIY网站上传了包含30个词的65 000条语音数据,每条数据长度为1s。数据集为应用程序构建基本可用的语音样本,包含“yes”、“no”等常用单词[18]。导入Tensorflow的LSTM网络训练,设置为16个epoches,在训练到18000步时,阈值收敛情况如图8所示,图中纵坐标即表示此时收敛的阈值,阈值越接近0代表此时分类效果越好[19]。
根据划分的测试集进行标签判断,得到语音信息识别率分别为Yes(0.903 73)、No(0.931 09),均达到90%以上,且识别到的样本置信平均分数为Yes(score=0.814 77)、No(score=0.841 39),信息识别准确率达到80%以上即认为识别到语音信息。
3 改进模型的自优化识别系统
3.1 系统方案
基于改进HOG+SVM与MFCC语音分类模型的自优化识别系统主要由模型训练模块、图像识别模块以及语音识别系统模块3大部分组成,通过用户界面进行关联[20],系统结构如图9所示。
3.2 系统流程
系统流程见图10。
3.3 系统测试与结果分析
3.3.1 分类器实验
实验选用图像来源于ImageNet手表集图像素材。初始情况下,选用加州理工学院256类图像数据库(“The Caltech-256 object category dataset”)中的200张手表图片作为初始正样本,从Scene-15数据集中选取1000张场景图片作为负样本。将本文方法与其它方法进行比较,如表1所示。
从表1可以看出,在同等条件实验中,3种分类器识别率相当。虽然初始识别率SVM并不是最佳的,但对于一个自由化系统,识别率会根据人机交互信息的不断增多,其智能性也越来越高,所以每次优化时的训练时间十分重要。而从训练时间看,SVM的训练时间明显优于其它两种方法[21]。综合考虑,利用SVM进行物体分类识别效率最高。
3.3.2 系统实验
系统自由化性能测试,同样从ImageNet图像素材中选取3组数据,每一组10幅图像,分别为5个包含手表的图像和5个不含手表的图像,识别结果见表2。
从表2可以看出,系统的自优化性不断增强。在第一组数据中加入带有圆形物体的高干扰项,导致负样本识别错误,而添加负样本特征的分类器重新训练后,可以看到高干扰项得到了明显辨识。同时,由于正样本数量的不断增加,对手表图像的识别率也在不断提高。
图11(a)是初始对某图像的识别结果,图11(b)是优化一段时间后再次对该图像识别结果
图11反映了系统运行过程。图11(a)表示导入一张图像后的识别结果,可以看出此时的置信分数并未达到0.8。添加正样本特征优化模型经过一段时间优化后,再次对同一幅图像进行识别,可以看到已经识别到了相应区域,区域的置信分数达到了0.858 1。
4 结语
本文提出一种改进的梯度直方图(HOG)特征提取与支持向量机(SVM)进行物体识别,同时通过Tensorflow训练MFCC特征语音识别模型,反馈人机交互信息进而使系统实现自优化,对传统机器学习方法与深度学习方法相结合进行探索,以对优化空间金字塔模型进行深入研究。实验表明,该系统具有良好的自优化功能,提高了手表类别的自动识别能力。基于此实验结论,预测该系统能不断提升识别能力。但随着正样本增加,模型的复杂程度及大小也随之增加,优化时间也不断延长,如何进一步简化模型以及缩短优化时间是下一步研究方向。
参考文献:
[1] DALALAND N, TRIGGS B. Histograms of oriented gradients for human detection[C]. IEEE Conference on Computer Vision and Pattern Recognition,2005:886-893.
[2] YAMAUCH Y,MATSUSHIMA C,YAMASHITA T. Relational hog feature with wild-card for object detection[C]. IEEE International Conference on Computer Vision Workshops,2011,21(5):1785-1792.
[3] RAFAEL C,GONZALEZ,RICHARD E WOODS. Digital image processing[M]. Third edition. New Jersey:Pearson Education,2008.
[4] XIE Y L. LDA and its application in face recognition[J]. Computer Engineering and Application,2010,46(19):189-192.
[5] VYTAUTAS PERLIBAKAS. Measures for PCA-based face recognition[J]. Pattern Recognition Letters,2004,25(6):711-724.
[6] YANG J, LIU C. Horizontal and vertical 2DPCA-based discriminant analysis for face verification on a large-scale database[J]. IEEE Transactions on Information Forensics & Security,2007,2(4):781-792.
[7] 何扬名,戴曙光. 提高霍夫变换识别圆形物体准确率的算法[J].微计算机信息,2009(10):279-281.
[8] 胡正平,涂潇蕾. 多方向上下文特征结合空间金字塔模型的场景分类[J].信号处理, 2011,27(10):1536-1542.
[9] 齐敏,李大健,赫重阳. 模式识别导论[M]. 北京:清华大学出版社,2009:98-101.
[10] 邹冲,蔡敦波,刘莹. 组合SVM分类器在行人检测中的研究[C].计算机科学,2017,44(S1):188-191.
[11] NEUBECK A,GOOL L V. Efficient non-maximum suppression[C]. International Conference on Pattern Recognition.2006:850-855.
[12] 张强,张陈斌,陈宗海. 一种改进约束条件的简化非极大值抑制[J].中国科学技术大学学报,2016(1):6-11.
[13] TIWARI V. MFCC and its applications in speaker recognition[J]. International Journal on Emerging Technologies Issn,2010(3)521-527.
[14] 陳瑶瑶,郝建华,张子博. 基于DCT变换的端到端语音加密算法[J].电子测量技术, 2015(8):140-143.
[15] 赵力. 语音信号处理[M]. 北京:机械工业出版社,2017:140-151.
[16] SUNDERMEYER M,SCHLüTER R,NEY INTERSPEECH H. LSTM neural networks for language Modeling[J]. INTERSPEECH,2012,31(43):601-608.
[17] GERS FA,SCHMIDHUBER JA,CUMMINS FA. Learning to forget: continual prediction with LSTM[J]. Neural Computation,2014,12(10):2451-2471.
[18] VARIANI E,BAGBY T,MCDERMOTT E. End-to-end training of acoustic models for large vocabulary continuous speech recognition with Tensorflow[J]. Interspeech,2017(6):1641-1645.
[19] 黄文坚,唐源. Tensorflow实战[M]. 北京:电子工业出版社,2017:101-103.
[20] 左德承,张展,董剑. 面向事务处理的容错计算机系统结构设计与实现[J].高技术通讯,2008,18(2):111-115.
[21] 曹贵宝. 随机森林和卷积神经网络在神经细胞图像分割中的应用研究[J].山东大学学院,2014(1):123-153.
(责任编辑:杜能钢)