计算机应用   2017, Vol. 37 Issue (4): 1004-1007  DOI: 10.11772/j.issn.1001-9081.2017.04.1004
0

引用本文 

刘威, 汪阳, 郑建彬, 詹恩奇. 基于加速度传感器的中文签名身份认证[J]. 计算机应用, 2017, 37(4): 1004-1007.DOI: 10.11772/j.issn.1001-9081.2017.04.1004.
LIU Wei, WANG Yang, ZHENG Jianbin, ZHAN Enqi. Chinese signature authentication based on accelerometer[J]. Journal of Computer Applications, 2017, 37(4): 1004-1007. DOI: 10.11772/j.issn.1001-9081.2017.04.1004.

基金项目

国家自然科学基金资助项目(61303028)

通讯作者

刘威 (1993-), 男, 安徽阜阳人, 硕士研究生, 主要研究方向:模式识别、图像处理, E-mail: 1530379001@qq.com

作者简介

汪阳 (1977-), 男, 湖北武汉人, 副教授, 博士, 主要研究方向:机器人控制、嵌入式系统;
郑建彬 (1966-), 男, 湖北黄冈人, 教授, 博士, 主要研究方向:模式识别、嵌入式系统;
詹恩奇 (1972-), 男, 河南新野人, 副教授, 博士, 主要研究方向:信号处理、模式识别

文章历史

收稿日期:2016-08-15
修回日期:2016-12-26
基于加速度传感器的中文签名身份认证
刘威1,2, 汪阳1,2, 郑建彬1,2, 詹恩奇1,2    
1. 武汉理工大学 信息工程学院, 武汉 430070;
2. 光纤传感技术与信息处理教育部重点实验室 (武汉理工大学), 武汉 430070
摘要: 采集用户在签名过程中的三轴加速度信息,可用来实现身份认证。中文签名结构较为复杂,在空中书写的过程难以被模仿,但同时也会使同一用户不同次签名间的差异增大,提高认证难度。传统的二维签名或三维手势认证方法并不能解决这一问题。为了提高中文空中签名身份认证效果,改进了全局序列对齐(GSA)算法,对匹配后的序列进行插值操作。不同于传统GSA算法通过最终匹配分数反映序列间相似度,引入两种距离指标(欧氏距离和绝对值距离)计算序列间的差异。实验结果表明,基于距离指标的两种GSA算法均能提高认证精度,与传统算法相比,二者的系统等误率(EER)分别降低了37.6%和52.6%。
关键词: 生物特征    空中签名    身份认证    序列对齐    加速度传感器    
Chinese signature authentication based on accelerometer
LIU Wei1,2, WANG Yang1,2, ZHENG Jianbin1,2, ZHAN Enqi1,2     
1. College of Information Engineering, Wuhan University of Technology, Wuhan Hubei 430070, China;
2. Key Laboratory of Fiber Optic Sensing Technology and Information Processing of Ministry of Education (Wuhan University of Technology), Wuhan Hubei 430070, China
Abstract: Acceleration data in 3 axes during a signature process can be collected to authenticate users. Because of complex structures of Chinese signature, the process of signing in the air is hard to be forged, but it also increases differences between signatures performed by the same user which brings more difficulties in authentication. Classical verification methods applied to 2-D signature or hand gesture cannot solve this problem. In order to improve the performance of in-air Chinese signature verification, the classical Global Sequence Alignment (GSA) algorithm was improved, and the interpolation was applied to matching sequences. Different from classical GSA algorithm which uses matching score to measure similarity between sequences, two distance indexes, Euclidean distance and absolute value distance, were introduced to calculate the differences between sequences after interpolation. Experimental results show that both of the two improved GSA algorithms can improve the accuracy of authentication, the Equal Error Rate (EER) of them are decreased by 37.6% and 52.6% respectively compared with the classical method.
Key words: biometric    in-air signature    identity verification    sequence alignment    accelerometer    
0 引言

基于人体生物特征的身份认证技术正在成为信息安全领域研究的热点。生物特征可以划分为生理生物特征和行为生物特征两大类[1-2]。基于生理特征的身份认证技术主要利用指纹[3]、人脸[4]、虹膜[5]等生理特征实现身份认证。这些生理特征因其普适性和唯一性得到了普遍应用。基于生物行为特征的身份认证方法, 如声音识别[6]、步态行走识别[7]等在近年也受到了广泛关注, 手写签名[8-9]更是长期以来最为人们所接受的行为特征。但具体到应用中, 以上生物特征认证方法仍然存在技术成本高、认证效率低、易仿造等问题。本文提出了一种基于加速度传感器的中文空中签名认证方法。利用带有三轴加速度计的电路板, 采集用户在空中书写签名时的加速度信息。通过待测签名与模板签名的匹配比对, 判断用户身份真伪。

模式匹配中对序列间差异的度量主要有两种方案:一种是在动态规划过程中寻找两个序列的最大相似性, 表现为在匹配过程中构建分数矩阵, 寻找最大匹配分数。如最大共同子序列 (Longest Common Subsequence, LCS) 算法[10]、全局序列对齐 (Global Sequence Alignment, GSA) 算法[11]。另外一种如动态时间规整 (Dynamic Time Warping, DTW) 算法[12], 通过计算匹配后序列间的累计距离, 衡量序列之间最小差异。这些方法在基于生物特征的认证技术中都有广泛应用:文献[13]利用Lumia1520手机上自带的加速度传感器采集动态手势数据, 在LCS算法基础上, 提出了一种限制匹配窗口的近似判等最长共同子序列算法, 实现了身份认证。文献[14]结合DTW算法与改进的LCS算法, 设计了一个基于动态手势的身份认证系统, 在智能手机上实现, 并提高了认证精度。文献[15]将用户使用加速度传感器签名的过程录像, 通过模仿录像中的动作伪造签名;这种伪造方式增加了认证难度, 他们改进DTW算法, 综合利用三维手势动作的三轴加速度信息, 取得较好的认证效果。文献[16]限制用户使用特定手势, 使加速度数据变化主要集中在Y轴, 并且在预处理中去除重力加速度干扰, 之后运用动态规划思想, 计算加速度序列间的差异。

目前, 基于加速度传感器的身份认证研究多集中在采集手势运动或书写特定数字过程中的三轴加速度信息, 运用算法比对分析, 认证用户身份。针对中文空中签名身份认证的研究较少。而签名是人们日常生活中经常使用的行为特征, 即使是手持电路板在空中书写签名, 用户仍然能够保持自己签名时的习惯。相对于手势动作, 中文签名过程更为复杂, 也更难以被模仿。因此, 基于加速度传感器的中文空中签名身份认证研究是可行的。但中文签名本身结构的复杂性, 也使得同一用户不同次空中签名间的差异增大, 导致当前的认证算法不能较好地区分真伪签名。本文在传统GSA算法的基础上, 在匹配后的两签名序列间插入合适的值, 找到序列间最佳对齐方式, 减小真实签名间的差异。插值后的两序列长度相等, 序列中的点一一对应。采用绝对值距离衡量签名数据间的差异, 设定合适的阈值, 提高身份认证精度。

1 认证系统流程

基于加速度传感器的中文空中签名认证流程主要包含五部分:签名数据采集、预处理、特征提取、匹配和决策认证, 如图 1所示。

图 1 认证系统框图 Figure 1 Process of authentication system

签名数据采集是通过自制电路板的相关模块采集用户签名时的三轴加速度信息。三轴加速度传感器采用STMicroelectronics公司生产的超小型高性能的LSM303DLHC模块。实验时, 设定加速度计的采集频率为100 Hz。

数据的预处理是对传感器采集的原始加速度数据进行平滑滤波, 去除可能存在的人为抖动噪声和设备本身带来的工频噪声, 将信号进行规整, 尽可能地凸显真实签名和伪造签名之间的差异性, 得到一个差异性明显且有效的签名信号。本文提取签名中的每一个采样点数据, 分析匹配。

匹配算法采用基于绝对值距离的GSA算法。模板数据库中包含模板样本和模板匹配结果。进入系统时, 每个用户首先需手持加速度数据采集装置, 在空中连续书写自己的中文签名3次, 完成模板样本采集。对3组签名数据两两相互匹配, 得到3个匹配结果, 取其均值, 作为模板匹配结果。模板匹配结果用Ym指代, 代表一个用户三次签名的相似性。

待测签名需与模板数据库中的三组模板样本分别匹配, 同样得到3个匹配结果, 取其均值, 作为测试结果, 并用Yt指代。测试结果与模板匹配结果的比值q可用来反映待测签名与真实签名模板之间的相似程度:

$ q = {Y_t}/{Y_m} $ (1)

q将与最终的系统阈值Q比较, 判断待测签名真伪, 实现用户身份认证。

2 基于绝对值距离的全局对齐算法 2.1 GSA算法基本原理

动态规划, 是对一个多阶段的过程进行子阶段化并逐一求解找到最优解的一种数学方法[17]。全局序列对齐 (GSA) 算法也是基于动态规划思想, 构建分数矩阵, 在统一规则下寻找最佳匹配路径以确定序列间的对齐方式。在实现的过程中引入奖惩模式, 即不匹配时执行惩罚判分, 匹配时执行奖励判分。本文在构建分数矩阵的过程中, 针对两种状况实行都加分的策略, 但赋予了不同权重。具体实现过程如下:

假设一个标准参考信号序列R, 长度为M, Rm为其第m帧。另有一待测信号序列T, 长度为N, Tn为其第n帧, 如式 (1) 所示:

$ \left\{ \begin{array}{l} R = \left\{ {{R_1},{R_2},...,{R_m},...,{R_M}} \right\}\\ T = \left\{ {{T_1},{T_2},...,{T_n},...,{T_N}} \right\} \end{array} \right. $ (2)

定义一个分数矩阵S, 其大小为N×M。分数矩阵的填充是一个动态规整过程, 通过以下递推关系计算得到:

$ {S_{i,j}} = {\rm{max}}\left\{ {{S_{i,j - 1}} + h,{S_{i - 1,j - 1}} + \xi ,{S_{i - 1,j}} + h} \right\} $ (3)

其中:h是常量。ξ是一个复杂的决策函数, 遵从高斯分布, 表示两序列对应点之间的相似度:

$ \xi = {\rm{exp}}( - \frac{{{{(x - \mu )}^2}}}{{2{\sigma ^2}}}) $ (4)

其中:σ是常量;(i, j) 时刻μx的值取决于上一时刻两序列的值, 即μ=Ti-1, x=Ri-1。参数h和参数σ的取值由后续的实验确定。本文最终设定的参数为h=0.25, σ=0.6;并且, 分数矩阵构建的初始条件为:S1, 1=0, Si, 1=i×h, S1, j= j×h

在分数矩阵内部, 由式 (3) 的递推关系, 可以得到一条从S1, 1SN, M的最佳匹配路径。以采集到的同一人的前后两次签名为例, 图 2的曲线表示两签名x轴加速度数据经GSA算法匹配后得到的匹配路径。

图 2 x轴加速度数据匹配路径 Figure 2 Matching path between acceleration data of axis x

路径的终点SN, M的匹配分数指代两序列间的最大相似度。该分数值越大, 说明序列间的相似性越大。在本文的认证系统中, 每位用户的三组模板签名之间若利用GSA算法两两相互匹配, 将得到三组匹配分数。取三者均值作为该用户的训练结果, 记作S(m)。每一个待测签名在认证过程中均需与三组模板签名分别匹配, 得到三组匹配分数。取其均值, 作为测试结果, 并记作S(t)。测试结果与训练结果的比值可以反映待测签名与模板签名间的相似度。将该比值与系统阈值S(k) 比较, 若满足S(t)/ S(m) ≥S(k), 则判定测试签名与模板签名成功匹配, 测试签名为真实签名;否则, 匹配失败, 测试签名被认证为伪造签名。

2.2 改进绝对值距离GSA算法

通过传统的GSA算法, 可以确定签名加速度序列间的最大相似度。若要进一步量化序列间的差异值, 则要利用相关距离指标计算得到。具体操作中, 需首先回溯出构建分数矩阵过程中的最佳匹配路径。

在分数矩阵中, 通往Si, j的前一个点只能在Si, j-1Si-1, j-1Si-1, j中产生, 如图 3所示。

图 3 GSA算法分数矩阵 Figure 3 Score matrix of GSA algorithm

式 (3) 中, 当Si, j的取值为Si, j-1+h时, 分数矩阵中将产生垂直方向的移动, 此时, Rj-1Rj均与Ti匹配。水平方向上的移动则意味着Ti-1Ti均与Rj匹配。倾斜前进时, 序列间的点是一一对应的。将三个方向的移动分别编号, 垂直方向移动记为“1”, 倾斜方向移动记为“2”, 水平方向移动记为“3”。在填充分数矩阵过程中, 可以通过记录对应编号反映匹配路径的对应轨迹。分数矩阵构建完成后, 根据记录的方向编号可以回溯出一条从SN, MS1, 1的匹配路径。水平方向和竖直方向的移动会使序列间产生“一对多”或者“多对一”的匹配结果, 增大序列间的差异。在匹配后的序列间插入适当零值点, 使匹配后序列实现点与点之间的一一对应。插值规则如下:

1) 从路径的终点SN, M开始回溯, 保留TnRm;

2) 当路径回溯到某点Si, j时,有可能发生图 3所示的三个方向的移动。发生垂直移动时, 则在T序列内点Ti和点Ti+1间插入一个零值点;

3) 发生倾斜方向移动时, 仅保留原序列内的点, 不需插值;

4) 发生水平移动时, 在R序列内点Rj和点Rj+1之间插入一个零值点。

通过上述步骤完成插值操作后, 得到两个新的序列R′和T ′, 二者间的点一一对应, 且长度均为L′, 并满足如下条件:

$ {\rm{max}}(M,N) \le L' \le M + N $ (5)

在新的序列中, 用合适的值替换插入的零值点可以进一步减小序列间的差异, 得到最佳对齐序列,这一替代过程称为零值补偿。零值点由两点的平均值进行修正, 这两点分别为:此零值点相邻的前一个点和该零值点之后最近的一个非零值点。零值补偿的表达式如式 (6):

$ \begin{array}{l} {{T'}_k} = ({{T'}_{k - 1}} + {{T'}_{i + m}})/2\\ \;\;\;\;\;\;\;\exists {{T'}_{i + 1}} = {{T'}_{i + 2}} = \cdots = {{T'}_{i + m - 1}} = 0,\\ \;\;\;\;\;\;\;{{T'}_i} \ne 0,{{T'}_{i + m}} \ne 0 \end{array} $ (6)

零值补偿后产生的新序列记为R"和T", 其长度仍均为L′。两序列间的点仍满足一一对应, 且所有插入的零值点均已得到幅值补偿。对于新的序列, 可以引入距离指标来量化两者之间的差异。本文选择的距离指标是两序列的整体绝对值距离, 用δ(T", R") 表示,δ(T", R") 值越小, 代表序列间的差异值越小, 序列越相似。

$ \delta (T'',R'') = \sum\limits_{k = 1}^{L'} {\left| {{{T''}_k} - {{R''}_k}} \right|} $ (7)

应用到认证系统中, 当采用改进绝对值GSA算法进行匹配时, 匹配结果用距离值表示, 代表两个序列间的最小差异。此时系统的训练结果和某个测试签名的测试结果分别用D(m) 和D(t) 表示, 系统的设定阈值为D(k)。与传统GSA不同, 当满足D(t)/D(m)≤D(k) 时, 测试签名与模板签名匹配成功并被认证为真实签名。

3 实验与分析 3.1 实验数据库

通过上述签名采集系统, 采集40名用户的签名三轴加速度数据, 构成实验数据库。每名实验者手持嵌入有加速度计的电路板, 并保持加速度计的Z轴垂直指向自己, 在空中书写自己中文签名共20次, 作为真实签名样本。每组另需采集20个伪造签名, 从其他用户中任选三人伪造完成。本文的伪造方式为熟练伪造:采集用户真实签名时, 用户需在纸上手写自己真实签名作为之后伪造的依据。其他用户将根据二维手写签名记录模仿伪造空中手写签名。

实验数据库中共包含1 600个签名, 其中800个真实签名, 800个伪造签名。具体地, 在本文实验样本数据库中, 每个实验者的样本被细分为模板样本 (3个)、真实测试样本 (17个)、伪造测试样本 (20个)。

3.2 实验结果 3.2.1 传统GSA算法实验

传统GSA算法通过序列间的匹配分数评价序列间的相似度。为了能更准确地表现序列间的相似度, 本文将分数矩阵得到的最终匹配分数除以序列的最终长度L′。数据库中的每位用户均包含37组测试样本, 其中17个真实签名, 20个伪造签名。本实验中, 利用GSA算法将所有测试样本分别与模板签名匹配, 记录不同系统阈值下出现的所有错误匹配样本。最终统计40位用户共1 480组测试样本的匹配结果, 并计算不同阈值下系统的误拒率 (False Rejection Rate, FRR)、误纳率 (False Acceptance Rate, FAR)。其中:误拒率为被认证系统拒绝的真实签名数与真实签名总数的比值;误纳率表示被系统接受的伪造签名数占伪造签名总数的比例。统计结果如图 4所示。

图 4 传统GSA算法错误率变化曲线 Figure 4 Error rate of classical GSA algorithm

随着阈值的增大, 认证系统的误拒率随之增大, 误纳率则逐渐减小。图 4中两条曲线相交时得到系统的等错误率 (Equal Error Rate, EER) 为10.65%。实际应用中, 误纳率是影响系统安全性的最主要因素。实验应在保持误拒率在合理范围内的同时, 尽量降低系统误纳率。当设定系统阈值为0.92时, GSA算法取得最佳认证效果。此时, 680个真实签名样本中被系统错误拒绝的个数为79个; 800个伪造签名样本中, 有73个被错误接受。对应FRR为11.6%,FAR为9.13%。

3.2.2 基于距离指标的GSA算法实验

本次实验是在GSA算法匹配后并完成插值以及零值补偿操作的基础上, 分别运用欧氏距离和绝对值距离, 量化序列间的差异, 记录并对比两种方法的最终认证效果。

两种方法对应的检测错误权衡图 (Detection Error Tradeoff, DET) 曲线如图 5所示。

图 5 两种改进GSA算法DET曲线图 Figure 5 DET curves for two improved GSA algorithms

直线y=x与各曲线的交点即是该曲线对应算法的EER值。从图 5可以看出, 基于绝对值距离的GSA算法的EER值明显较小, 为5.05%。相同FAR条件下, 其FRR值也小于基于欧氏距离的GSA算法的对应值。系统阈值的选取过程同传统GSA算法一样, 尽量降低误纳率以提高系统安全性。两种算法在各自阈值下最佳认证效果如表 1所示。

表 1 基于距离指标的两种GSA算法认证效果 Table 1 Authentication results of two improved GSA algorithms

表 1的统计数据和图 4的认证结果对比可知,相对于通过匹配分数判定序列相似度的传统GSA算法, 改进后的基于距离指标的两种GSA算法认证效果有明显提升。说明对传统GSA算法匹配后的序列进行插值和零值补偿操作, 可以减小真实空中签名数据间的差异, 更好地区分真实和伪造样本。而采用不同的距离指标来量化序列间的差异度, 最终认证效果也不同。选择绝对值距离时, 认证效果最好, FRR为5.29%, FAR为4.50%。

4 结语

本文针对用户的身份认证问题, 提出了一种基于加速度传感器的空中中文签名身份认证方法。通过采集和比对用户在空中书写中文签名过程中三轴加速度数据, 来确认用户身份。根据中文空中签名认证的实际需求, 提出了一种基于绝对值距离的GSA算法。该方法在包含有采集自40位用户, 共1 600组签名的数据集上测试。实验结果表明本文方法在系统误拒率、误纳率上都有改进, 提高了系统认证精度。

本文的阈值确定过程较为简单,下一步将继续对阈值的选择方法进行研究。此外,在后续的采集过程中,将用户在空中书写真实签名的过程录像并作为模仿者伪造签名时的参考,可以增大认证难度,从而更好地测试认证系统的性能。

参考文献
[1] PHILLIPS P J, MARTIN A, WILSON C L, et al. An introduction evaluating biometric systems[J]. Computer, 2000, 33 (2) : 56-63. doi: 10.1109/2.820040
[2] YAMPOLSKIY R V, GOVINDARAJU V. Behavioural biometrics: a survey and classification[J]. International Journal of Biometrics, 2008, 1 (1) : 81-113. doi: 10.1504/IJBM.2008.018665
[3] 郝玉洁, 冯银付, 赖攀. 基于指纹识别的VPN身份认证研究[J]. 计算机应用, 2009, 29 (2) : 350-352. ( HAO Y J, FENG Y F, LAI P. VPN identity certification technology based on fingerprint identification[J]. Journal of Computer Applications, 2009, 29 (2) : 350-352. doi: 10.3724/SP.J.1087.2009.00350 )
[4] 张燕昆, 杜平, 刘重庆. 基于主元分析与支持向量机的人脸识别方法[J]. 上海交通大学学报, 2002, 36 (6) : 884-886. ( ZHANG Y K, DU P, LIU C Q. A face recognition method based on principal component analysis and support vector machine[J]. Journal of Shanghai Jiao Tong University, 2002, 36 (6) : 884-886. )
[5] CHO D, PARK K R, RHEE D W, et al. Pupil and iris localization for iris recognition in mobile phones[C]//Proceedings of the Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing. Piscataway, NJ: IEEE, 2006: 197-201. http://ieeexplore.ieee.org/abstract/document/1640689/
[6] 郭武. 复杂信道下的说话人识别[D]. 合肥: 中国科学技术大学, 2007. ( GUO W. Session variability text-independent speak-recognition[D]. Hefei: University of Science and Technology of China, 2007. ) http://cdmd.cnki.com.cn/Article/CDMD-10358-2008029515.htm
[7] 高海燕. 人体步态识别研究[D]. 北京: 北京交通大学, 2010. ( GAO H Y. Research on human gait recognition[D]. Beijing: Beijing Jiaotong University, 2010. ) http://cdmd.cnki.com.cn/Article/CDMD-10358-2008029515.htm
[8] FENG H, WAH C C. Online signature verification using a new extreme points warping technique[J]. Pattern Recognition Letters, 2003, 24 (16) : 2943-2951. doi: 10.1016/S0167-8655(03)00155-7
[9] KOSTORZ I, DOROZ R. On-line signature recognition based on reduced set of points[M]//BURDUK R, KURZYNSKI M, WOZNIAK M. Computer Recognition Systems 4. Berlin: Springer, 2011: 3-11.
[10] BERGROTH L, HAKONEN H, RAITA T. A survey of longest common subsequence algorithms[C]//SPIRE 2000: Proceedings of the Seventh International Symposium on String Processing Information Retrieval. Washington, DC: IEEE Computer Society, 2000: 39-48. http://ieeexplore.ieee.org/abstract/document/878178/
[11] HUANG X. On global sequence alignment[J]. Computer Applications in the Biosciences: Bioinformatics, 1994, 10 (3) : 227-235.
[12] 李正欣, 张凤鸣, 李克武. 基于DTW的多元时间序列模式匹配方法[J]. 模式识别与人工智能, 2011, 24 (3) : 425-430. ( LI Z X, ZHANG F M, LI K W. DTW based pattern matching method for multivariate time series[J]. Pattern Recognition and Artificial Intelligence, 2011, 24 (3) : 425-430. )
[13] 高焕之, 郭云楠, 刘晴, 等. 基于加速度传感器的WLALCS身份认证及实现[J]. 湖南大学学报 (自然科学版), 2014, 41 (8) : 111-116. ( GAO H Z, GUO Y N, LIU Q, et al. Accelerometer based authentication method in WLALCS[J]. Journal of Hunan University (Natural Sciences), 2014, 41 (8) : 111-116. )
[14] 周治平, 苗敏敏. 结合DTW与改进STLCS的动态手势认证研究[J]. 电子测量与仪器学报, 2015, 29 (7) : 1064-1073. ( ZHOU Z P, MIAO M M. Research of dynamic gesture authentication based on DTW and improved STLCS[J]. Journal of Electronic Measurement and Instrumentation, 2015, 29 (7) : 1064-1073. )
[15] CASANOVA J G, AVILA C S, DE SANTOS SIERRA A, et al. A real-time in-air signature biometric technique using a mobile device embedding an accelerometer[M]. Berlin: Springer, 2010 : 497 -503.
[16] OKUMURA F, KUBOTA A, HATORI Y, et al. A study on biometric authentication based on arm sweep action with acceleration sensor[M]. Piscataway, NJ: IEEE, 2006 : 219 -222.
[17] 李端, 钱富才, 李立, 等. 动态规划问题研究[J]. 系统工程理论与实践, 2007, 27 (8) : 56-64. ( LI D, QIAN F C, LI L, et al. Research on dynamic programming[J]. Systems Engineering-Theory & Practice, 2007, 27 (8) : 56-64. )