林树青 李蓉
摘 要: 支持向量机在处理样本类别不平衡时,对样本数量少的类别,其分类误差大,针对这一问题提出了一种多核心的加权向量机。将纸币的RGB色彩空间转换到YIQ色彩空间,使用直方图对样本进行特征的提取。在特征空间使用边界区间处理分类问题,加入最小化小样本误识率的机制,使用一种改进的加权支持向量机来识别样本。对样本的不同区域使用不同的核函数。实验表明本算法可行、可靠。
关键词: 多核学习; 加权支持向量机; 纸币识别; 惩罚因子; 加权值
中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2013)02-34-04
Recognition of counterfeit money based on improved weighted support vector machines
Lin Shuqing, Li Rong
(ZengCheng college of South China Normal University, Guangzhou, Guangdong 511363, China)
Abstract: To deal with the unbalanced problem in classification, a multi-kernel Support Vector Machines is presented in this paper. RGB color space of note is transformed to the YIQ color space and the characteristics are extracted by using histogram. The classification problem is dealt with by using the boundary interval in eigen-space, and an improved weighted support vector machines are added to minimize the false alarm rate of the small sample. The different kernel functions are used in different regions of the sample. Simulation results show that this algorithm is feasible and reliable.
Key words: multi-kernel learning; weighted support vector machines; recognition of the paper money; penalty factors; weighted value
0 引言
纸币的防伪技术是世界各国金融系统所面临的十分重要又棘手问题。目前主要依靠全息磁性安全线磁码、紫外光、红外投射检伪。但在高端产品中仅靠以上技术识伪是不够的,特别是现在很多是使用清分机对高仿纸币的识别。因此国外很多学者不断地研究探索智能识别系统,如Takeda等人利用神经网络系统去分析、识别纸币的特征信号[1,2];Omatu等人利用遗传算法分析、识别纸币的特征信号[3];He等人将纸币切割成m×n个等分区域,使用GA算法进行识别[4];近年来Jae-Kang等人[5]和Ahmadi等人[6]也进行了相应的研究。
本文使用多核心加权向量机来识别纸币,将纸币图像分割成m×n个区域,然后使用改进的加权向量机进行识别。对每个区域构建多核心的核矩阵。实验结果证明该算法的计算精确度高,鲁棒性好。
1 特征提取
假钞与真钞的颜色对假币识别用处不大,针对假钞与真钞在色度分布上的差异,我们将RGB色彩空间转换到YIQ色彩空间。其关系方程式为:
⑴
其中Y分量代表图像的亮度信息,即图像的灰度值(Gray value),人民币图像的每一个像素以一个位元组表示其Y值。
为了降低输入样本的维度,我们把样本图像转换成直方图。以百元人民币为例。假币使用编号HD90系列。由于取整张钞票图像来识别容易损失个别区域的不同图像特征所反映在色度分布上的信息,于是我们将钞票分割成m×n个区域,如图1所示。
图1 分割成3×2方式的百元真币
再将每个区域转换成Y值的直方图作为特征。结果一张钞票图像分为m×n个256维度的样本。分割后真、假人民币的直方图分别如图2、图3所示。
(a) (b)
(c) (d)
(e) (f)
图2 切割成3×2方式百元真人民币直方图
(a) (b)
(c) (d)
(e) (f)
图3 切割成3×2方式的百元假人民币直方图
2 加权支持向量机
2.1 C-SVM模型
C-SVM原始问题的数学描述为:
⑵
ω是超平面的法向量,b是超平面偏值,C是惩罚参数,为松弛变量。xi∈Xl为训练点,yi∈{-1,1}为每个训练点的正确分类。当训练集为非线性时,通过一个非线性映射φ(xi)把训练数据xi映射到一个高维线性特征空间。
利用Lagrange优化方法可得到其对偶问题:
⑶
⑷
ai为拉格朗日乘子。最优化求解ai中,只有ai≠0所对应的训练样本称为支持向量。ai=C所对应的xi称为边界支持向量,实际上是错分的训练样本点。分类函数为:
⑸
用NBSV+、NBSV-分别表示正类的边界支持向量数、负类的边界支持向量数,用NSV+、NSV-分别表示正类总的支持向量数、负类总的支持向量数,用l+、l-分别表示正、负类别样本数目。
由约束式⑷通过变换[7]可得到:
⑹
其中:。
从上式可看出,如果两类别样本数目不等,即l+≠l-,则对于样本数目大的类别,其错误分类率小,对样本数目小的类别,其错误分类率大。事实上我们在人民币识别时真钞的数量远远大于假钞数量。因此,我们对C-SVM加以改进,使样本数目小的类别,其错误分类率小。
2.2 改进的加权支持向量机
对于相同样本,一种情况是将其中一张真钞误识为假钞,其余都正确,另一种将其中一张假钞误识为真钞,其余识别都正确,虽两种情况的识别率相同,但造成的结果完全不同。
在一般情况下,学习机对所有的训练样本是一视同仁的,最佳的超平面与正类别及负类别具有相同大小的边界。我们重点考虑的不是把真钞误识为假钞,而是把假钞误识为真钞的问题。希望能将假钞被误识为真钞的可能性降至最小。
先把训练样本的真钞标识为正类别,假钞标识为负类别。通过调高假钞被分类错误是的惩罚值,让最佳的超平面往正的类别靠近,希望负类别的区间大于正类别的区间,降低假钞被误判为真钞的机率。提出了一种改进的加权向量机:
⑺
其中:c为常数,l+为真钞的数量,l-为假钞的数量,βi为对各样本的加权,满足0≤βi≤1,对要舍去的样本点,其权值取接近为零的数,而最重要的样本点,其权值取为1,这样就可以克服算法对各类别样本数不均衡引起的缺陷。φ(xi)为样本的特征映射函数。
在假钞识别时l+>l-(远远大于),所以负类别的惩罚参数大于正类别。当正负类别的样本数差异越大时,样本数少的类别会受到更大的惩罚值。
其对偶问题如下:
⑻
写成矩阵的表示方式:
⑼
其中,
G(K)=diag(y)Kdiag(y)是一个半正定矩阵。分类判别函数为:
(10)
使用与C-SVM算法相同的分析方法,可得到下式:
(11)
在假币识别时,设真币(正类)βi=β+,假币(负类)βi=β-。则上面不等式可写成:
(12)
我们希望能将假钞被误识为真钞的可能性降至最小,也就是要求将样本数目小的类别的错误分类率降至最低。因此我们令:,即:
(13)
这种方法以牺牲总样本的精度为代价来提高小样本类的精度。在人民币识别中,实际上当使用验钞机检验钱时通常验钞机检测出问题钞票之后会由人工再进行检查。所以对最终的结果影响不大。
图4显示了当正类别样本与负类别样本的数量比例为6:1时决策边界的变化,由于我们的方法强调负类别样本的惩罚值,使得负类别仍然可以保持较大的区间而不容易受到正类别样本数量增加的影响。但必须牺牲的是,正类别样本被错误分类的数量也可能会增加。
图4 本文算法与C-SVM在样本数量不同时决
3 核函数的选取
应用SVM过程中所面临的一个问题是如何确定其分类训练参数。使用不同类型的核函数、不同的核函数参数、不同的误差参数都会影响到最终的识别结果。核函数类型的选取目前仍然依赖经验。本文采用了一种多核方法[8,9]。
使用样本来训练多核支持向量机,钞票图像分割成m×n区域,每个区域的特征用来训练出一组核矩阵,其中每组核矩阵为M核矩阵的线性组合,个别的核矩阵是由对应区域的图像特征经过不同的核心函数的内积构成。形式如下:
(14)
s.t. trace(K)=c=M×l, Ki?0, μj≥0
μ1,…,μM×m×n为每块的权重,l为样本数量。在半定规划搜索最佳的μ1,…,μM×m×n组合,μ值越高的区域表示其用来识别真假的鉴别能力越高。因我们不知道哪个区域的鉴别能力较高,而不同区域的图像特征分布情况也不一样。所以每个区域块给出M个核心函数。核心函数使用RBF函数,表达式为k(xi,x)=。
4 实验结果与分析
为了验证本算法的可行性及优越性,我们选用2005年版的百元币,假币选用市面上仿真度高的HD90系列。其中训练样本为400张真币及10张假币。实验中取C=1。为了数据的准确性,我们对每组实验进行10次,结果取平均数,FP为把假钞识别为真钞的数量,FN为把真钞识别为假币的数量。
我们定义识别率为:
(15)
其中:TP(truce positive)为真钞被识别为真钞的数量、TN(true negative)为假钞被识为假钞的数量、l+为真钞的数量,l-为假钞的数量。
表1是使用5个RBF核心的结果,σ-2分别为0.01,0.05,0.1,0.5,1。从表1可发现3×2的分割方式的效果比其他方式好,可以用来识别假币。这时百元纸币的核心函数的权重分布为μ1=0,μ2=0.020,μ3=0.119,μ4=0.304,μ5=0.105,μ6=0.452。
表1 切割方式与5个RBF核心结果
[分割方式\&标准svm\&本文算法\&准确率\&FP;\&FN;\&时间\&准确率\&FP;\&FN;\&时间\&2×2\&100\&0\&0\&12.045\&100\&0\&0\&10.815\&2×3\&82.258\&0\&54.5\&13.4344\&82.652\&0\&54.2\&12.622\&2×4\&85.862\&0\&36.8\&19.998\&86.564\&0\&42.6\&18.986\&2×8\&92.576\&1\&36.6\&26.6684\&93.546\&0\&19.5\&25.856\&3×2\&98.624\&0\&8.6\&12.04\&100\&0\&5.4\&11.028\&3×3\&97.546\&0\&26.4\&20.3744\&98.542\&0\&36.5\&19.562\&3×4\&90.526\&0\&21.3\&23.548\&89.523\&0\&36.4\&22.536\&3×8\&86.356\&2\&20.9\&28.3804\&96.387\&0\&27.2\&27.568\&4×2\&93.656\&0\&18.5\&19.794\&95.684\&0\&18.1\&18.782\&4×3\&90.582\&0\&19.2\&24.6444\&93.567\&0\&16.5\&23.832\&4×4\&88.567\&0\&20.2\&26.664\&86.579\&0\&15.2\&25.652\&4×8\&90.846\&3\&20.4\&54.2014\&83.872\&1\&14.6\&53.389\&8×2\&98.108\&0\&23.5\&27.177\&87.265\&0\&15.3\&26.165\&8×3\&89.258\&0\&16.2\&30.3304\&90.256\&0\&12.2\&29.518\&8×8\&92.457\&5\&18.2\&133.836\&93.584\&4\&13.4\&132.824\&]
5 结束语
纸币的鉴别真伪的过程实质上就是一个模式识别的过程,把这种模式识别的技术应用到验钞系统中,实验证明在一定程度上提高了鉴伪的准确性。我们的目的是在软件方面,通过研究建立—个钞票实时处理系统,由软件算法中的相应结论改善硬件设备的构造,接下来的工作是研究怎样与硬件设备结合使用。
参考文献:
[1] F.Takeda, T.Nishikage, and S.Omatu,Banknote recognition bymeans of optimized masks, neural network and genetic algorithms[J].engineering Applications of Artificial Intelligence,1999.12(2):175-184
[2] F. Takeda, S. Omatu, A neuro-money recognition using optimized masks by GA[J]. Lecture Notes in Computer Science,1995.1011:190-201
[3] F.Omatu,S.Systems,Man and CybernetiCS, A neuro—papercurrency recognition method USing optimized masks by genetiC algorithm Takeda[J].IEEE International Conference on,1995.5:4367-437l
[4] C.He, M.Girolami, and G.Ross, Employing Optimized Combinations of One-Class Classifiers for Automated Currency Validation[J].Pattern Recognition,2004.37(6): 1085-1096
[5] L.Jae-Kang, K.Il-Hwan, New recognition algorithm for various
kinds of Euro banknotes[C] //proceedings of the 29th Annual Conference of the IEEE Industrial Electronics Society, USA,2003.3:2266-2270
[6] A.Ahmadi, S.Omatu, M.Yoshioka, Implementing a reliableneuron-classifier for paper currency using PCA algorithm[C] //Proceedings of the 41st SICE Annual Conference of the Society of Instrument and Control Engineers, Japan,2002.4:2466-2468
[7] 刘爽,贾传荧,陈鹏.一种自动选择参数的加权支持向量机算法[J].计算机工程与应用,2006.42(2):64-66
[8] R. Tomioka, T. Suzuki, M. Sugiyama, Optimization algorithms forsparse regularization and multiple kernel learning and their applications to CV/PR[C] //IEICE Technical Report, Japanese,2009:43-48
[9] Mingqing Hu, Yiqiang Chen, James Tin-Yau, Building sparsemultiple-kernel SVM classifiers[J].IEEE Transactions on Neural Networks,2009.20(5):827-839