基于sift-svm的嵌入式印鉴识别系统设计.doc
12页基于 SIFT-SVM 的嵌入式印鉴识别系统设计 朱胜银 赵红东 王敬 杨志明 河北工业大学电子信息工程学院 中国电子科技集团公司第五十三研究所 摘 要: 为了克服 PC 印鉴识别系统体积大、成本高并且识别精度低、适应性差的缺点, 设计了基于 SIFT-SVM 的嵌入式印鉴识别系统系统计算印鉴图像的 SIFT 特征并进一步构造基于 SIFT 匹配的印鉴特征向量, 将构造的印鉴特征向量输入支持向量机进行训练, 并采用遗传算法优化 SVM 的惩罚因子和核参数, 使识别性能最优系统以 ARM11 处理器作为印鉴特征提取和识别的核心单元, 采用 ZC301摄像头进行图像采集, 并以蜂鸣器、LED、LCD 作为报警显示设备实验表明, 该系统对印鉴在模糊、旋转等多种情形下取得了 93.5%的良好识别率, 且当笔划加粗仅 5%时仍具有很好的适用性系统具有识别精度好、适用性强, 体积小、设计灵活的优点关键词: SIFT; 嵌入式; 印鉴识别; 支持向量机; 遗传算法; 作者简介:朱胜银 (1990-) , 男, 河南信阳人, 硕士, 主要从事图像处理、模式识别方面的研究E-mail:ZhuShengyin_zuliet@作者简介:赵红东 (1968-) , 男, 河北沧州人, 博士生导师, 博士后, 教授, 主要从事半导体光电子器件研究。
E-mail:zhaohd@收稿日期:2017-06-01Design of embedded seal imprint identification system based on SIFT-SVMZHU Sheng-yin ZHAO Hong-dong WANG Jing YANG Zhi-ming School of Electronics and Information Engineering, Hebei University of Technology; Abstract: In order to overcome the shortcomings of large volume, high cost, low recognition accuracy and poor adaptability in PC seal identification system, an embedded seal imprint identification system based on SIFT-SVM was designed.The system first computed the SIFT characteristics of the seal image and further constructed feature vector based on SIFT matching.The seal feature vector was used to train support vector machine.The SVM's penalty factor and kernel parameter were optimized by genetic algorithm to get the best recognition performance.The system used the ARM11 processor as the core unit of the feature extraction and recognition and used the ZC301 camera to acquire image.The buzzer, LED and LCD were used as alarm display devices.The experimental results show that the system achieves a good recognition rate of 93.5%in the cases of seal blur, rotation and so on.It still has good applicability when seal's stroke is only in 5%thickening.The system has the advantages of good recognition accuracy, strong applicability, small volume and flexible design.Keyword: SIFT; embedded; seal identification; support vector machine; genetic algorithm; Received: 2017-06-011 引言印鉴作为办公凭证的工具, 在政府条文、金融支票等领域起着重要的作用[1]。
针对传统人工折角识别费时费力的缺点, 开展印鉴自动鉴别系统具有重要的现实意义国内外研究者在印鉴识别算法方面做了一些研究Lee 和 Kim[1]利用笔画特征图对印鉴进行配准识别, 该方法对于笔画骨架相似而粗细不一致的印鉴存在局限性郭田德等[2-3]利用印鉴不同差图像的特征进行识别, 该方法计算量大, 且对边缘残缺的印鉴存在局限性何瑾等[4]根据 SIFT 特征点实现印鉴配准, 提取的特征点不受光照、尺度等影响, 稳定性高在研究印鉴鉴别方法的同时, 印鉴自动鉴别系统也在不断发展, 但基本都是基于 PC 平台, 系统体积大、成本高[5]嵌入式系统作为专用系统, 根据功能需求可对软硬件进行裁剪[6], 设计灵活、方便, 体积小针对以往印鉴识别方法稳定性差、适用性不高、识别率低并且鉴别系统体积大的问题, 采用基于 SIFT-SVM 的印鉴识别方法, 并设计了基于嵌入式平台的印鉴鉴别系统2 系统算法原理2.1 SIFT 基本原理SIFT 尺度不变特征变换基于尺度空间理论, SIFT 特征点对尺度、旋转、光照等变化具有良好的鲁棒性[7]该算法步骤为:(a) 尺度空间极值点检测二维空间高斯函数:其中:σ 为高斯函数尺度值, σ 值大图像概貌特征明显, σ 值小图像细节特征[8]明显。
构造基于尺度空间的高斯差分金字塔:将式 (2) 代入式 (3) 得:在高斯差分尺度空间图像 D x (, y, σ) 内进行局部极值点检测, 将采样点与图像域 8 个近邻点和上下尺度域 18 个点进行比较, 寻找极大、极小值点作为候选关键点b) 精确定位关键点用三维二次函数对候选关键点进行拟合以准确定位极值点位置和尺度, 并去除边缘噪声响应点和对比度低的极值点[7]以 y, σ 为常量, 对 x 的二次拟合函数为:可精确定位位置 x, 同理可准确确定 y, σc) 确定关键点主方向用直方图统计关键点中心领域的梯度方向式 (6) 、 (7) 分别为梯度的模值和方向, 以 10 度为一个区间, 在采样区域内对 36 个方向区间进行直方图统计, 将直方图的峰值作为该关键点的主方向以具有旋转不变性[8]d) 确定关键点描述符将关键点邻域划分为 4×4 子区域块, 每个区域子块间隔为 mσ 个像元, 计算每个区域子块 8 个方向 (以 45 度为一方向区间) 的梯度方向累加值, 构成 128 维向量作为该关键点的描述符2.2 构造基于 SIFT 匹配的印鉴特征向量将 SIFT 关键点特征向量按照最近、次近距离比策略进行匹配筛选, 确定比率阈值 T, 当最近邻距离比 Ratio=l1/l2Video For LinuxV4L USB devicesUSB Video Class (UVC) USB ZC301[P]Image Processor and Control Chip support, ZC301 摄像头图像采集应用程序利用 V4L2_fd=open (“/dev/video2”) 打开视频设备;ioctl (V4L2_fd, VIDIOC_QUERYBUF, ioctl (V4L2_fd, VIDIOC_QBUF, ioctl (V4L2_fd, VIDIOC_DQBUF, &buf) 获取视频缓存帧。
4.3 印鉴识别算法的设计与实现印鉴识别子程序以遗传优化过程为主函数, 调用 SVM 分类识别和 SIFT 特征提取子函数, 印鉴识别子程序流程图如图 3 所示基于 GA 优化的 SVM 对印鉴识别的流程与步骤如下:(1) 初始化种群个体 s={ζ, C};(2) 提取预处理后印鉴样本 SIFT 匹配特征, 并依据公式 (12) 构造印鉴特征向量3) 将印鉴样本特征向量输入 SVM, 依据公式 (14) 对分类结果进行统计, 记录当代种群最优个体 s, 并计算最优个体下适应度函数的值 v (T) , 转至步骤 (5) ;(4) 应用选择算子从当代种群中筛选新的优良个体 v (T) ;接着应用交叉、变异算子产生下一代种群个体 v (T+1) , 转至步骤 (3) 5) 如果种群的适应度函数足够大, 或者 T 达到我们预设的终止代数, 则转至步骤 (6) , 否则转至步骤 (4) ;(6) 查询当代种群的最优良个体, 即为最佳的惩罚因子 C 与核函数参数 ζ 的组合, 此组参数的 SVM 确定全局最优分类面, 并记录最终测试样本的分类识别率图 3 印鉴识别子程序流程图 Fig.3 Flow chart of seal identification subroutine 下载原图4.4 报警显示子系统的设计与实现报警显示子系统应用程序利用 m_fd=::open ("/dev/myled", O_RDWR) , m_fd0=::open ("/dev/pwm", O_RDONLY) 打开蜂鸣器和 LED 设备, 进一步利用ioctl 函数实现对蜂鸣器和 LED 的状态控制。
蜂鸣器驱动模块由系统定制完成, LED 驱动模块设计步骤:(1) 对设备驱动进行初始化, 包括分配 cdev, 初始化 cdev, 注册 cdev, 硬件初始化cdev_init (&cdev, &led_fops) , cdev_add, #define LEDCON0x7F008820, #define LEDDAT 0x7F0088242) 实现 LED 设备操作static struct file_operations led_fops={.read=dev_read, .write=dev_write, .ioctl=dev_ioctl}3) 驱动注销cdev_del, unregister_chrdev_region5 实验结果与分析实验中制作了 3 类印鉴样本库, A、B 库由印鉴仿真软件产生, C 库是由激光雕刻的印鉴实际盖印产生, 其中 A 库 74 枚印鉴, B 库 32 枚, C 库 17 枚3 类印鉴样本库均由待测真、假印鉴组成, 分别将 A、B 库中的待测假印鉴按照笔划粗细、字宽、环绕角度、空间相对位置、汉字笔划尺寸划分为 5 组, 每组的待测真印鉴为颜色不同深浅、旋转的印鉴;C 库中的待测真印鉴由标准印鉴不同盖印实际采集而来, 待测假印鉴是由按照标准印鉴雕刻的伪造印鉴实际盖印产生, 仅汉字的尺寸相差 0.5mm。
实验以平均匹配距离 daiv特征指标对待测印鉴在不同情形下的识别性能进行了分析, 并将本文基于 SIFT 的印鉴匹配特征在不同分类器下的识别精度进行了比较实验所用的部分印鉴样本如图 4、图 5 所示图 4 不同类型的真印鉴图像. (a) , (b) , (c) 是在颜色不同深浅和笔画缺失情况下的印鉴; (d) , (e) , (f) 为标准印鉴图像以 20°角度间隔做旋转后的图像 Fig.4 Different types of true seal images. (a) , (b) ,。





