基于Faster-RCNN的身份证复印件检测方法

阅读:819发布:2024-02-01

专利汇可以提供基于Faster-RCNN的身份证复印件检测方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于Faster-RCNN的身份证复印件检测方法,包括:选择若干身份证复印件图像,制作Faster-RCNN模型的数据集,设置Faster-RCNN模型的参数,对身份证复印件测试图像进行预处理,基于数据集对Faster-RCNN模型进行训练,输入测试图像,利用训练好的Faster-RCNN模型进行检测。本发明方法对图像模糊、 角 度众多、边框不清晰的身份证复印件同样能够取得较好的检测结果,实用性强,检测效果较好,发展前景良好。,下面是基于Faster-RCNN的身份证复印件检测方法专利的具体信息内容。

1.一种基于Faster-RCNN的身份证复印件检测方法,其特征在于,包括以下步骤:
步骤S1:制作Faster-RCNN模型的数据集;
步骤S2:设置Faster-RCNN模型的参数;
步骤S3:对身份证复印件测试图像进行预处理;
步骤S4:基于数据集对Faster-RCNN模型进行训练;
步骤S5:输入测试图像,利用训练好的Faster-RCNN模型进行检测。
2.根据权利要求1所述的身份证复印件检测方法,其特征在于,所述步骤S1具体包括:
步骤S11:选择若干身份证复印件图像作为数据集样本;
步骤S12:将数据集样本缩放到统一大小,采用最近邻内插值法,利用如下公式:
dsty=dstw/srcw*srcy dstx=dsth/srch*srcx f(dstx,dsty)=f(srcx,srcy)其中,dstx表示缩放后图像的横坐标,dsty表示缩放后图像的纵坐标,dstw表示缩放后图像的宽度,dsth表示缩放后图像的高度,srcx表示原图像的横坐标,srcy表示原图像的纵坐标,srcw表示原图像的宽度,srch表示原图像的高度,f(dstx,dsty)表示缩放后图像像素点(dstx,dsty)处的像素值,f(srcx,srcy)表示原图像素点(srcx,srcy)处的像素值;
步骤S13:利用标注工具获取数据集样本的图片名称、类别、身份证图片的左上坐标、右下角坐标,并且将获取的数据保存到txt文件中;
步骤S14:将得到的txt文件,制作成VOC2007数据集Annotations文件中的xml文件;
步骤S15:根据xml文件生成VOC2007数据集中的训练集train.txt、验证集val.txt、训练验证集trainval.txt和测试集test.txt;格式为txt;
步骤S16:下载VOC2007数据集,用步骤S14得到的xml文件替换Annotations文件中的数据,用步骤S15得到的txt数据替换ImageSets文件中的数据,将数据集样本图片放在JPEGImages文件中。
3.根据权利要求2所述的身份证复印件检测方法,其特征在于,所述步骤S2具体包括:
步骤S21:根据数据集样本的类别总数修改Faster-RCNN模型中与类别总数相关的参数;
步骤S22:根据数据集样本类别修改Faster-RCNN模型的类别标签;
步骤S23:修改append_flipped_images(self)函数。
4.根据权利要求1所述的身份证复印件检测方法,其特征在于,所述步骤S3具体包括:
步骤S31:输入测试图像;
步骤S32:测试图像采用最近邻插值法缩放到统一大小;
步骤S33:将测试图像转化为灰度图,使用如下公式:
Gray(u,v)=0.299*R(u,v)+0.587*G(u,v)+0.144*B(u,v)
其中,u表示测试图像上横坐标,v表示测试图像上纵坐标,R(u,v)表示像素点(u,v)处的红色通道值,G(u,v)表示像素点(u,v)处的绿色通道值,B(u,v)表示像素点(u,v)处的蓝色通道值,Gray(u,v)表示灰度图中像素点(u,v)处的灰度值;
步骤S34:测试图像中值滤波平滑,利用如下式子:
dst(u,v)=median{src(u+k,v+l)|(k,l)∈H}
其中,dst(u,v)表示输出图像上像素点(u,v)处的像素值,H表示二维模板,k表示二维模板上的横坐标,l表示二维模板上的纵坐标,src(u+k,v+l)表示测试图像上像素点(u+k,v+l)处的像素值,median表示取中位数。
5.根据权利要求2所述的身份证复印件检测方法,其特征在于,所述步骤S4具体包括:
步骤S401:下载ImageNet数据集下预训练得到的模型参数,用于初始化;
步骤S402:输入数据集的图像;
步骤S403:通过卷积神经网络提取图像特征图;
步骤S404:RPN通过分类函数判断anchors是否是检测目标;
步骤S405:计算预测框的缩放尺度与平移尺度,利用如下式子:
tw=log(w/wa) th=log(h/ha) tx=(x-xa)/wa ty=(y-ya)/ha
其中,x表示预测框的中心横坐标,y表示预测框的中心纵坐标,w表示预测框的宽,h表示预测框的高,xa表示anchor box的中心横坐标,ya表示anchor box的中心纵坐标,wa表示anchor box的宽,ha表示anchor box的高,tx表示预测框横坐标方向的位置平移尺度,ty表示预测框纵坐标方向的位置平移尺度,tw表示预测框宽的缩放尺度,th表示预测框高的缩放尺度;
步骤S406:计算标定框的缩放尺度与平移尺度,利用如下式子:
* * * *
其中,x 表示标定框的中心横坐标,y表示标定框的中心纵坐标,w表示标定框的宽,h表示标定框的高,表示标定框横坐标方向的位置平移尺度,表示标定框纵坐标方向的位置平移尺度, 表示标定框宽的缩放尺度,表示标定框高的缩放尺度;
步骤S407:通过平移尺度与缩放尺度对检测目标进行位置修正,获取建议框,同时剔除太小和超出边界的建议框;
步骤S408:计算RPN的整体损失以便RPN训练,利用如下式子:
其中,i为整数,pi表示第i个anchor预测为目标的概率, 表示第i个anchor对应的GT预测概率,ti={tx,ty,tw,th}表示预测框的四个参数化坐标的向量, 是与positive anchor对应的标定框的坐标向量, 表示分类损失, 表示回归损失,R表示Smooth L1函数,Ncls表示cls项的归一化值为mini-batch的大小,Nreg表示reg项归一化为anchor位置的数量,L({pi},{ti})表示损失函数;
步骤S409:将建议框映射到卷积神经网络的最后一层卷积特征图上;
步骤S410:通过RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
步骤S411:获取RoI Pooling层生成的特征图,进行分类并输出类别的概率;
步骤S412:再次计算平移尺度与缩放尺度,并进行位置精修,获取目标检测框;
步骤S413:根据训练结果调整学习率和迭代次数,重新训练,得到身份证复印件检测模型。
6.根据权利要求1所述的身份证复印件检测方法,其特征在于,所述步骤S5具体包括:
步骤S51:输入测试图像;
步骤S52:利用卷积神经网络提取测试图像的特征图;
步骤S53:使用滑动窗口在特征图上滑动,将其映射到一个维度更低的图像上;
步骤S54:利用RPN在每个滑动窗口上生成多个建议窗口;
步骤S55:将建议窗口映射到卷积神经网络最后一层卷积特征图上;
步骤S56:利用RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
步骤S57:根据特征图进行分类并输出结果。

说明书全文

基于Faster-RCNN的身份证复印件检测方法

技术领域

[0001] 本发明涉及模式识别技术领域,尤其涉及一种基于Faster-RCNN的身份证复印件检测方法。

背景技术

[0002] 随着社会实名制的发展,身份证复印件成为居民身份的有效证明。各金融行业的很多业务都要求提供身份证复印件,正确复印身份证是良好办公的前提。经济科学的发展和市场竞争的激烈化使金融行业的业务剧增,每天都不得不检测大量的身份证复印件。传统基于机器学习的身份证复印件检测软件已经不能满足要求,政府企事业单位需要一款能够快速准确地检测身份证复印件的软件,提高办公的效率与准确率。
[0003] 传统的身份证复印件检测软件都是使用经典机器学习的方法进行检测,准确率较低、泛化能较差,而人工身份证复印件检测不仅效率低下,且浪费人力资源。

发明内容

[0004] 针对上述现有技术的不足,本发明提供一种基于Faster-RCNN的身份证复印件检测方法,引用Faster-RCNN模型准确快速地判断身份证复印件是否操作正确。
[0005] 为实现上述目的,本发明的技术方案是:一种基于Faster-RCNN的身份证复印件检测方法,包括以下步骤:
[0006] 步骤S1:制作Faster-RCNN模型的数据集;
[0007] 步骤S2:设置Faster-RCNN模型的参数;
[0008] 步骤S3:对身份证复印件测试图像进行预处理;
[0009] 步骤S4:基于数据集对Faster-RCNN模型进行训练;
[0010] 步骤S5:输入测试图像,利用训练好的Faster-RCNN模型进行检测。
[0011] 进一步地,所述步骤S1具体包括:
[0012] 步骤S11:选择若干身份证复印件图像作为数据集样本;
[0013] 步骤S12:将数据集样本缩放到统一大小,采用最近邻内插值法,利用如下公式:
[0014] dsty=dstw/srcw*srcy dstx=dsth/srch*srcx f(dstx,dsty)=f(srcx,srcy)[0015] 其中,dstx表示缩放后图像的横坐标,dsty表示缩放后图像的纵坐标,dstw表示缩放后图像的宽度,dsth表示缩放后图像的高度,srcx表示原图像的横坐标,srcy表示原图像的纵坐标,srcw表示原图像的宽度,srch表示原图像的高度,f(dstx,dsty)表示缩放后图像像素点(dstx,dsty)处的像素值,f(srcx,srcy)表示原图像素点(srcx,srcy)处的像素值;
[0016] 步骤S13:利用标注工具获取数据集样本的图片名称、类别、身份证图片的左上坐标、右下角坐标,并且将获取的数据保存到txt文件中;
[0017] 步骤S14:将得到的txt文件,制作成VOC2007数据集Annotations文件中的xml文件;
[0018] 步骤S15:根据xml文件生成VOC2007数据集中的训练集train.txt、验证集val.txt、训练验证集trainval.txt和测试集test.txt;格式为txt;
[0019] 步骤S16:下载VOC2007数据集,用步骤S14得到的xml文件替换Annotations文件中的数据,用步骤S15得到的txt数据替换ImageSets文件中的数据,将数据集样本图片放在JPEGImages文件中。
[0020] 进一步地,所述步骤S2具体包括:
[0021] 步骤S21:根据数据集样本的类别总数修改Faster-RCNN模型中与类别总数相关的参数;
[0022] 步骤S22:根据数据集样本类别修改Faster-RCNN模型的类别标签;
[0023] 步骤S23:修改append_flipped_images(self)函数。
[0024] 进一步地,所述步骤S3具体包括:
[0025] 步骤S31:输入测试图像;
[0026] 步骤S32:测试图像采用最近邻插值法缩放到统一大小;
[0027] 步骤S33:将测试图像转化为灰度图,使用如下公式:
[0028] Gray(u,v)=0.299*R(u,v)+0.587*G(u,v)+0.144*B(u,v)
[0029] 其中,u表示测试图像上横坐标,v表示测试图像上纵坐标,R(u,v)表示像素点(u,v)处的红色通道值,G(u,v)表示像素点(u,v)处的绿色通道值,B(u,v)表示像素点(u,v)处的蓝色通道值,Gray(u,v)表示灰度图中像素点(u,v)处的灰度值;步骤S34:测试图像中值滤波平滑,利用如下式子:
[0030] dst(u,v)=median{src(u+k,v+l)|(k,l)∈H}
[0031] 其中,dst(u,v)表示输出图像上像素点(u,v)处的像素值,H表示二维模板,k表示二维模板上的横坐标,l表示二维模板上的纵坐标,src(u+k,v+l)表示测试图像上像素点(u+k,v+l)处的像素值,median表示取中位数。
[0032] 进一步地,所述步骤S4具体包括:
[0033] 步骤S401:下载ImageNet数据集下预训练得到的模型参数,用于初始化;
[0034] 步骤S402:输入数据集的图像;
[0035] 步骤S403:通过卷积神经网络提取图像特征图;
[0036] 步骤S404:RPN通过分类函数判断anchors是否是检测目标;
[0037] 步骤S405:计算预测框的缩放尺度与平移尺度,利用如下式子:
[0038] tw=log(w/wa) th=log(h/ha) tx=(x-xa)/wa ty=(y-ya)/ha
[0039] 其中,x表示预测框的中心横坐标,y表示预测框的中心纵坐标,w表示预测框的宽,h表示预测框的高,xa表示anchorbox的中心横坐标,ya表示anchorbox的中心纵坐标,wa表示anchorbox的宽,ha表示anchorbox的高,tx表示预测框横坐标方向的位置平移尺度,ty表示预测框纵坐标方向的位置平移尺度,tw表示预测框宽的缩放尺度,th表示预测框高的缩放尺度;
[0040] 步骤S406:计算标定框的缩放尺度与平移尺度,利用如下式子:
[0041]
[0042] 其中,x*表示标定框的中心横坐标,y*表示标定框的中心纵坐标,w*表示标定框的宽,h*表示标定框的高,表示标定框横坐标方向的位置平移尺度,表示标定框纵坐标方向的位置平移尺度, 表示标定框宽的缩放尺度,表示标定框高的缩放尺度;
[0043] 步骤S407:通过平移尺度与缩放尺度对检测目标进行位置修正,获取建议框,同时剔除太小和超出边界的建议框;
[0044] 步骤S408:计算RPN的整体损失以便RPN训练,利用如下式子:
[0045]
[0046]
[0047] 其中,i为整数,pi表示第i个anchor预测为目标的概率, 表示第i个anchor对应的GT预测概率,ti={tx,ty,tw,th}表示预测框的四个参数化坐标的向量, 是与positive anchor对应的标定框的坐标向量, 表示分类损失, 表示回归损失,R表示Smooth L1函数,Ncls表示cls项的归一化值为mini-batch的大小,Nreg表示reg项归一化为anchor位置的数量,L({pi},{ti})表示损失函数;
[0048] 步骤S409:将建议框映射到卷积神经网络的最后一层卷积特征图上;
[0049] 步骤S410:通过RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
[0050] 步骤S411:获取RoI Pooling层生成的特征图,进行分类并输出类别的概率;
[0051] 步骤S412:再次计算平移尺度与缩放尺度,并进行位置精修,获取目标检测框;
[0052] 步骤S413:根据训练结果调整学习率和迭代次数,重新训练,得到身份证复印件检测模型。
[0053] 进一步地,所述步骤S5具体包括:
[0054] 步骤S51:输入测试图像;
[0055] 步骤S52:利用卷积神经网络提取测试图像的特征图;
[0056] 步骤S53:使用滑动窗口在特征图上滑动,将其映射到一个维度更低的图像上;
[0057] 步骤S54:利用RPN在每个滑动窗口上生成多个建议窗口;
[0058] 步骤S55:将建议窗口映射到卷积神经网络最后一层卷积特征图上;
[0059] 步骤S56:利用RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
[0060] 步骤S57:根据特征图进行分类并输出结果。
[0061] 与现有技术相比,本发明具有有益效果:
[0062] (1)本发明引用Faster-RCNN模型可以准确快速判断身份证复印件是否操作正确,相比传统的使用机器学习的方法或人工身份证复印件检测,提高了效率、节约了人力资源,并且提高了身份证复印件检测人员检查身份证复印件的准确率;
[0063] (2)与其他系统有良好的结合性,能够嵌入到其他系统中。例如,可以与证件识别系统结合在一起,将检测到的身份证交给证件识别系统进行识别,提取需要的身份证信息。提高办公效率,节约了人力。
附图说明
[0064] 图1是本发明基于Faster-RCNN的身份证复印件检测方法的流程示意图。

具体实施方式

[0065] 下面结合附图及实施例对本发明做进一步说明。
[0066] 如图1所示,一种基于Faster-RCNN的身份证复印件检测方法,包括以下步骤:
[0067] 步骤S1:制作Faster-RCNN模型的数据集;
[0068] 所述步骤S1具体包括:
[0069] 步骤S11:选择若干身份证复印件图像作为数据集样本;
[0070] 步骤S12:将数据集样本缩放到统一大小,采用最近邻内插值法,利用如下公式:
[0071] dsty=dstw/srcw*srcy dstx=dsth/srch*srcx f(dstx,dsty)=f(srcx,srcy)[0072] 其中,dstx表示缩放后图像的横坐标,dsty表示缩放后图像的纵坐标,dstw表示缩放后图像的宽度,dsth表示缩放后图像的高度,srcx表示原图像的横坐标,srcy表示原图像的纵坐标,srcw表示原图像的宽度,srch表示原图像的高度,f(dstx,dsty)表示缩放后图像像素点(dstx,dsty)处的像素值,f(srcx,srcy)表示原图像素点(srcx,srcy)处的像素值;
[0073] 步骤S13:利用标注工具获取数据集样本的图片名称、类别、身份证图片的左上角坐标、右下角坐标,并且将获取的数据保存到txt文件中;
[0074] 步骤S14:将得到的txt文件,制作成VOC2007数据集Annotations文件中的xml文件;
[0075] 步骤S15:根据xml文件生成VOC2007数据集中的训练集train.txt、验证集val.txt、训练验证集trainval.txt和测试集test.txt;格式为txt;
[0076] 步骤S16:安装py-faster-rcnn,下载VOC2007数据集放在py-faster-rcnn\data目录下,用步骤S14得到的xml文件替换Annotations文件中的数据,用步骤S15得到的txt数据替换ImageSets文件中的数据,将数据集样本图片放在JPEGImages文件中。
[0077] 步骤S2:设置Faster-RCNN模型的参数;
[0078] 所述步骤S2具体包括:
[0079] 步骤S21:根据数据集样本的类别总数修改Faster-RCNN模型中与类别总数相关的参数;
[0080] 步骤S22:根据数据集样本类别修改Faster-RCNN模型的类别标签;
[0081] 步骤S23:修改append_flipped_images(self)函数。
[0082] 步骤S3:对身份证复印件测试图像进行预处理;
[0083] 所述步骤S3具体包括:
[0084] 步骤S31:输入测试图像;
[0085] 步骤S32:测试图像采用最近邻插值法缩放到统一大小;
[0086] 步骤S33:将测试图像转化为灰度图,使用如下公式:
[0087] Gray(u,v)=0.299*R(u,v)+0.587*G(u,v)+0.144*B(u,v)
[0088] 其中,u表示测试图像上横坐标,v表示测试图像上纵坐标,R(u,v)表示像素点(u,v)处的红色通道值,G(u,v)表示像素点(u,v)处的绿色通道值,B(u,v)表示像素点(u,v)处的蓝色通道值,Gray(u,v)表示灰度图中像素点(u,v)处的灰度值;步骤S34:测试图像中值滤波平滑,利用如下式子:
[0089] dst(u,v)=median{src(u+k,v+l)|(k,l)∈H}
[0090] 其中,dst(u,v)表示输出图像上像素点(u,v)处的像素值,H表示二维模板,k表示二维模板上的横坐标,l表示二维模板上的纵坐标,src(u+k,v+l)表示测试图像上像素点(u+k,v+l)处的像素值,median表示取中位数。
[0091] 步骤S4:基于数据集对Faster-RCNN模型进行训练;
[0092] 所述步骤S4具体包括:
[0093] 步骤S401:下载ImageNet数据集下预训练得到的模型参数放在py-faster-rcnn\data目录下,该模型参数用于初始化;
[0094] 步骤S402:输入数据集的图像;
[0095] 步骤S403:通过卷积神经网络提取图像特征图;
[0096] 步骤S404:RPN(Region Proposal Network)通过分类函数判断anchors是否是检测目标;
[0097] 步骤S405:计算预测框的缩放尺度与平移尺度,利用如下式子:
[0098] tw=log(w/wa)th=log(h/ha)tx=(x-xa)/wa ty=(y-ya)/ha
[0099] 其中,x表示预测框的中心横坐标,y表示预测框的中心纵坐标,w表示预测框的宽,h表示预测框的高,xa表示anchorbox的中心横坐标,ya表示anchorbox的中心纵坐标,wa表示anchorbox的宽,ha表示anchorbox的高,tx表示预测框横坐标方向的位置平移尺度,ty表示预测框纵坐标方向的位置平移尺度,tw表示预测框宽的缩放尺度,th表示预测框高的缩放尺度;
[0100] 步骤S406:计算标定框的缩放尺度与平移尺度,利用如下式子:
[0101]
[0102] 其中,x*表示标定框的中心横坐标,y*表示标定框的中心纵坐标,w*表示标定框的宽,h*表示标定框的高,表示标定框横坐标方向的位置平移尺度,表示标定框纵坐标方向的位置平移尺度, 表示标定框宽的缩放尺度,表示标定框高的缩放尺度;
[0103] 步骤S407:通过平移尺度与缩放尺度对检测目标进行位置修正,获取建议框,同时剔除太小和超出边界的建议框;
[0104] 步骤S408:计算RPN的整体损失以便RPN训练,利用如下式子:
[0105]
[0106]
[0107] 其中,i为整数,pi表示第i个anchor预测为目标的概率, 表示第i个anchor对应的GT预测概率,ti={tx,ty,tw,th}表示预测框的四个参数化坐标的向量, 是与positive anchor对应的标定框的坐标向量, 表示分类损失, 表示回归损失,R表示Smooth L1函数,Ncls表示cls项的归一化值为mini-batch的大小,Nreg表示reg项归一化为anchor位置的数量,L({pi},{ti})表示损失函数;
[0108] 步骤S409:将建议框映射到卷积神经网络的最后一层卷积特征图上;
[0109] 步骤S410:通过RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
[0110] 步骤S411:获取RoI Pooling层生成的特征图,进行分类并输出类别的概率;
[0111] 步骤S412:再次计算平移尺度与缩放尺度,并进行位置精修,获取目标检测框;
[0112] 步骤S413:根据训练结果调整学习率和迭代次数,重新训练,得到身份证复印件检测模型。
[0113] 步骤S5:输入测试图像,利用训练好的Faster-RCNN模型进行检测。
[0114] 所述步骤S5具体包括:
[0115] 步骤S51:输入测试图像;
[0116] 步骤S52:利用卷积神经网络提取测试图像的特征图;
[0117] 步骤S53:使用滑动窗口在特征图上滑动,将其映射到一个维度更低的图像上;
[0118] 步骤S54:利用RPN在每个滑动窗口上生成多个建议窗口;
[0119] 步骤S55:将建议窗口映射到卷积神经网络最后一层卷积特征图上;
[0120] 步骤S56:利用RoI Pooling层使得每个矩形框生成尺寸大小相同的特征图;
[0121] 步骤S57:根据特征图进行分类并输出结果。
[0122] 以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈