利索能及
我要发布
收藏
专利号: 2019106294872
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于VGG16的CNN‑SVM手写签名识别方法,其特征在于,包括如下步骤:(1)定义原始手写签名图像数据集为Image0,经标签化处理得到手写签名图像数据集Image1;

(2)对手写签名图像数据集Image1依次通过图像灰度化、二值化和尺寸归一化方法进行预处理,得到手写签名图像数据集Image2,包括:(2.1)定义循环变量i0用来遍历Image1,i0赋初值为1,i0∈[1,len(Image1)],len(Image1)为Image1中手写签名图像数量;

(2.2)如果i0≤len(Image1),执行步骤(2.3),否则执行步骤(2.5);

(2.3)定义图像像素集image={a1,a2,…,am},其中,am={R,G,B},使用加权平均法进行灰度化,具体公式为:Ga=0.299*R+0.578*G+0.114*B,其中,Ga为经过灰度化处理的像素值;

(2.4)令i0=i0+1,执行步骤(2.2);

(2.5)得到灰度化像素集g_image={Ga1,Ga2,…,Gam};

(2.6)定义循环变量i1用来遍历g_image,i1赋初值为1,i1∈[1,len(g_image)],len(g_image)为g_image的长度;

(2.7)如果i1≤len(g_image),执行步骤(2.8),否则执行步骤(2.14);

(2.8)定义像素值常量x,x赋值为125,与Gai1比较;

(2.9)如果Gai1≥x,执行步骤(2.10),否则执行步骤(2.11);

(2.10)令Gai1=0,执行步骤(2.12);

(2.11)令Gai1=255,执行步骤(2.12);

(2.12)通过大津算法OTSU对g_image进行二值化,设置阈值为125,若大于阈值则将像素值设为0;若小于阈值则将像素值设为255;

(2.13)令i1=i1+1,执行步骤(2.7);

(2.14)得到二值化图像集t_image={Ta1,Ta2,…,Tam},其中,Tam={0,255};

(2.15)定义循环变量i2用来遍历t_image,i2赋初值为1,i2∈[1,len(t_image)],len(t_image)为t_image的长度;

(2.16)如果i2≤len(t_image),执行步骤(2.17),否则执行步骤(2.19);

(2.17)通过尺寸归一化处理,将经过灰度化和二值化的单张图像长宽设定为28*28;

(2.18)令i2=i2+1,执行步骤(2.16);

(2.19)得到预处理后的手写签名图像数据集Image2,Image2={nor1,nor2,…,norm},其中,norm为灰度化、二值化和尺寸归一化后的单张图像;

(3)采用数据集ImageNet训练神经网络模型VGG16,训练得到权重集G;

(4)将权重集G迁移至CNN模型,将数据集Image2输入到训练好的CNN模型得到初始特征矩阵J,具体步骤如下:(4.1)将集合G中的权重迁移至CNN模型,训练得到模型M;

(4.2)定义循环变量i4用来遍历Image2,i4赋初值为1,i4∈[1,len(Image2)],len(Image2)为Image2中手写签名图像数量;

(4.3)如果i4≤len(Image2),执行步骤(4.4),否则执行步骤(4.6);

(4.4)将nori4输入模型进行特征提取,得到初始特征向量v,其中,nori4为Image2中第i4张图像;

(4.5)令i4=i4+1,执行步骤(4.3);

(4.6)得到初始特征矩阵J=[v1,v2,…,vm],以及对应的特征值集合F={A1,A2,…,Am},其中,vm为矩阵J中第m个特征向量,Am为vm对应的初始特征值;

(5)使用PCA降维方法对矩阵J进行降维得到矩阵J1,使用SVM对矩阵J1进行训练得到手写签名图像识别结果R,包括:(5.1)将矩阵J对应的特征值集合F中的特征值从大到小进行排序得到集合F1,F1={λ1,λ2,...,λm},其中,λm为F1中第m个特征值,满足λ1≥λ2≥λm;

(5.2)选择F1中前k个不为0的特征值所对应的特征向量(k

(5.3)将F1输入SVM,得到识别结果R,R={plabel,rlabel},其中,plabel,rlabel分别表示预测类别标签、实际类别标签。

2.根据权利要求1所述的一种基于VGG16的CNN‑SVM手写签名识别方法,其特征在于,所述步骤(1)中得到手写签名图像数据集Image1的具体步骤如下:(1.1)定义原始手写签名图像数据集Image0,Image0={C1,C2,…,Cm},其中,Cm为Image0中第m组手写签名图像数据集,全局变量m∈[1,100],定义id、num分别为Cm的序号和图像数量,满足Cm={id,num};

(1.2)定义循环变量i用来遍历Image0,i赋初值为1,i∈[1,len(Image0)],len(Image0)为Image0中手写签名图像数量;

(1.3)如果i≤len(Image0),执行步骤(1.4),否则执行步骤(1.6);

(1.4)定义id1、labeli、Ci分别为序号、标签、单组手写签名集合,对Ci添加对应的标签labeli;

(1.5)令i=i+1,执行步骤(1.3);

(1.6)得到手写签名图像数据集Image1,Image1={id1,labelid1,Cid1}。

3.根据权利要求1所述的一种基于VGG16的CNN‑SVM手写签名识别方法,其特征在于,所述步骤(3)中采用数据集ImageNet训练神经网络模型VGG16,训练得到权重集G的具体步骤如下:(3.1)输入数据集ImageNet,ImageNet={IN0,IN1,…,IND},其中,IND为单组同一标签的图像数据集;

(3.2)定义循环变量i3用来遍历ImageNet,i3赋初值为1,i3∈[1,len(ImageNet)],len(ImageNet)为ImageNet中图像数量;

(3.3)如果i3≤len(ImageNet),执行步骤(3.4),否则执行步骤(3.6);

(3.4)将INi3输入ImgeNet进行训练,其中,INi3为ImageNet中第i3张图像;

(3.5)令i3=i3+1,执行步骤(3.3);

(3.6)得到训练好的模型M0,得到权重集合G={g1,g2,…,gN},其中,gN为G中第N个权重。