支持向量机在嵌入式图像识别中的研究
摘 要
本文采用支持向量机(Support Vector Machine,SVM)在嵌入式系统上对数字图像进行识别,采用离线训练的SVM参数,即在PC机上用浮点运算训练好支持向量机,然后在嵌入式系统上将浮点运算转化为定点整数运算,降低了运算的复杂性,提高了运算速度,以一定的精度损失带来训练过程数据计算的快捷性。
【关键词】图像识别 支持向量机 嵌入式系统 实时性
由于支持向量机自身的优势,使其得到国内外许多学者的青睐,越来越多的研究人员设法将其与嵌入式系统相结合,从而使其能够在资源受限的嵌入式系统中对图像识别取得良好的性能。但是由于支持向量机算法的运算量大,软硬件要求高,当将PC机上运行良好的支持向量机算法直接运行在资源受限的嵌入式系统上时,算法运行时间长,不能取得理想的效果。因此,必须对支持向量机算法求解进行优化,以满足嵌入式系统的实时性要求。
1 基于SVM的嵌入式图像识别
1.1 支持向量机训练和分类
SVM是在有限样本情况下实现两分类问题,即对于给定的训练集,其中。将模式分为和,目的是寻找一个判别函数f,使得:
(2-1)
基本思想可用图1来说明。图中的白点和十字代表两类样本,H为所求的分类超平面,H1,H2分别平行于分类超平面H,并且与分类超平面H之间的距离也是最大的。
1.2 算法实现的问题
由于用支持向量机识别图像的过程就是解决如式5-1所示的约束二次规划问题:
(2-2)
其中K(xi·xj)为核函数,xi和xj为图像的特征向量,核函数的参数不同,图像识别率也会不同。另外,支持向量机算法求解过程中,采用的浮点数运算,这在PC机上是没有问题的,但在只能进行定点运算或软浮点运算的嵌入式平台上,就会造成计算量大,运行速度慢。针对于此,本文采用定点整数运算来代替浮点运算,降低了运算量,提高了支持向量机的分类速度。
1.3 浮点数转化为定点数
在嵌入式系统中,假设定点数的表示范围为16位,用Q表示定点数中小数部分所占的位数,对于有符号数来说,符号位占一位,则剩余的16-Q为整数部分。则定点数与浮点数的换算关系为:
定点数=浮点数×2Q
1.3.1 不同Q格式的转换
假设有一个浮点数Float1,将其转换为Q1的定点数Fixed1,则Fixed1=Float1*2Q1。若将其转换为精度为Q2的定点数Fixed2,则Fixed2=Float1*2Q2。则不同Q格式直接的转换为:
Fixed2=Fixed1*2Q2/2Q1=Fixed1*2(Q2-Q1)
1.3.2 两个相同Q格式的定点数:
Fixed1=Float1*2Q ,
Fixed2=Float2*2Q,
则加法操作为:
Float1+Float2=Fixed1/2Q+Fixed2/2Q=(Fixed1+Fixed2)/2Q
乘法操作为:
Float1*Float2=Fixed1/2Q*Fixed2/2Q=Fixed1*Fixed2/22Q
2 实验结果与分析
2.1 训练数据集
CMU PIE 人脸数据集是美国卡耐基梅隆大学于2000年11月建立起来的,它包括来自68个不同人物的脸部图像,总共40000张图像。本文从数据集中选取其中10个人,每个人24张图像共计240张图片作为实验数据。其类别可以用0到9这10个数字来表示,选取每个人的前16幅图像作为训练样本,剩下的为测试样本,每幅图像的分辨率大小为64×64。
2.2 算法识别率的实验与比较
基于支持向量机的人脸图像识别,它是将一幅图像64×64像素点值重新排列成一个4096维的特征向量,然后根据最大值和最小值将像素点值归一化到[-1,1]区间,输入到支持向量机进行训练,经训练后用测试样本进行测试。
将SVM移植到嵌入式系统时,首先将PC机上训练好后的支持向量和拉格朗日参数,保存在mini2440的内存中,然后利用支持向量机的判决函数,对80幅人脸图像进行识别,其分类的结果如表1所示:
从表1可以看出,使用软件方法将支持向量机分类过程中的浮点数的加减乘除运算转化为整数的加减乘除运算,要比直接使用软浮点计算快。因为软浮点计算过程涉及到用软件对浮点数进行取指、对阶和计算,计算过程复杂。而整型运算则相对比较简单,虽然浮点数转化为整数的过程会造成精度的损失,但却降低了分类时间。
3 结语
本文介绍了将支持向量机用于嵌入式图像识别,对与资源受限的嵌入式系统,其浮点计算速度慢,因此需要将浮点数计算转化为定点整数计算,降低了运算的复杂性,加快了支持向量机对图像的分类速度,以一定的精度损失带来训练过程数据计算的快捷性。
参考文献
[1] Wang X.S.,Huang F.,Cheng Y.H..Super-parameter selection forGaussian-Kernel SVM based on outlier-resisting[J].MEASUREMENT. 2014(58):147-153.
[2] Tan M.,Pan G.,Wang Y.M..L1-norm latent SVM for compact features in object detection.NEUROCOMPUTING[J].2014,139:56-64.
[3] 包健.有限精度权值神经网络优化的研究与应用[D].华东理工大学,2011.
[4] Fu J.C..An approach of image semantic automatic tagging based on SVM. Applied Mechanics and Materials[J].2014,530-531:382-385.
[5] Xu H.,Caramanis C.,Mannor S..Robustness and Regularization of Support Vector Machines[J].JOURNAL OF MACHINE LEARNING RESEARCH.2009(10):1485-1510.
作者简介
何强(1987-),男,河南省信阳市人。硕士研究生学历。现供职于杭州电子科技大学计算机学院计算机系统结构专业。主要研究方向为嵌入式与智能控制技术。
作者单位
杭州电子科技大学 浙江省杭州市 310018