一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于WebAssembly技术进行虹膜识别身份的方法以及计算机设备与流程

2022-08-14 00:48:36 来源:中国专利 TAG:

基于webassembly技术进行虹膜识别身份的方法以及计算机设备
技术领域
1.本技术涉及到人工智能,特别涉及到一种基于webassembly技术进行虹膜识别身份的方法以及计算机设备。


背景技术:

2.现有的金融场景下身份认证主要靠银行预留手机号进行动态码认证和身份证号码认证,流程过于繁杂,限制过多,而通过虹膜识别技术进行身份识别将会便利许多。但目前很难直接在浏览器环境中快速精准地进行虹膜图像采集及虹膜图像处理,现有技术一般会在应用程序中采集和处理,或者采用浏览器javascript方式对虹膜图像进行采集和处理,又或者上传虹膜图像文件到后端(服务器端)进行处理。如果采用第一种方式,用户还需要下载并安装应用程序,步骤繁琐。如果采用第二种方式,将无法精准高效地进行虹膜图像处理,javascript作为一门动态语言,缺少编译过程,直接由浏览器解释执行,运行时需要大量的类型推导,计算量太大,造成其效率远低于传统编译型语言,且无法对虹膜图像进行精确处理。如果采用第三种方式,则需要网络进行传递,速度太慢。


技术实现要素:

3.本技术的主要目的为提供一种基于webassembly技术进行虹膜识别身份的方法以及计算机设备,旨在解决浏览器无法快速精准地进行虹膜图像采集及虹膜图像处理的问题。
4.本技术公开了一种基于webassembly技术进行虹膜识别身份的方法,应用于浏览器,包括
5.获取虹膜识别函数库;
6.通过webassembly编译器工具将所述虹膜识别函数库生成wasm程序文件;
7.加载、编译、实例化所述wasm程序;
8.获取用户的眼部图像;
9.调用所述wasm程序读取所述眼部图像文件;
10.调用所述wasm程序对所述眼部图像进行去干扰处理得到待识别眼部图像;
11.调用所述wasm程序对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像;
12.将所述第一虹膜图像发送至服务器,以与服务器内预存的第二虹膜图像进行对比;
13.接收所述服务器的比对结果,完成身份识别。
14.进一步地,所述调用所述wasm程序对所述眼部图像进行去干扰处理得到待识别眼部图像的步骤,包括:
15.将所述眼部图像进行高斯滤波处理得到高斯滤波图像;
16.将所述高斯滤波图像进行二值化处理得到二值化图像;
17.将所述二值化图像进行腐蚀处理得到第一处理图像;
18.将所述第一处理图像进行膨胀处理得到所述待识别眼部图像。
19.进一步地,所述调用所述wasm程序对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像的步骤,包括:
20.对所述待识别眼部图像进行边缘检测,计算所述待识别眼部图像的梯度,确定所述待识别眼部图像中虹膜区域的圆周线;
21.在二维霍夫空间内,绘制出所述待识别眼部图像中所有的梯度直线;
22.识别各个所述梯度直线相交次数最多的点,以该点作为所述待识别眼部图像中虹膜区域的圆心;
23.计算圆心到圆周线的距离,以该距离作为所述待识别眼部图像中虹膜区域的半径;
24.根据所述圆心和所述半径确定所述待识别眼部图像的虹膜位置,沿着所述虹膜位置切割所述待识别眼部图像获得所述第一虹膜图像。
25.进一步地,所述加载、编译、实例化所述wasm程序的步骤之后,所述获取用户的眼部图像的步骤之前,还包括:
26.向服务器发送虹膜识别请求;
27.接收服务器反馈的是否保存有所述第二虹膜图像的信息,如果保存有所述第二虹膜图像,则继续进程,如果未保存所述第二虹膜图像,提示用户进行所述第二虹膜图像采集;
28.将用户的身份信息发送至服务器。
29.进一步地,所述将所述第一虹膜图像发送至服务器,并与服务器内预存的第二虹膜图像进行比对的步骤之后,还包括:
30.接收服务器发送的用户欠款信息数据;
31.根据所述用户信息数据生成页面显示以提醒用户。
32.进一步地,所述获取用户的眼部图像的步骤,还包括:
33.将所述眼部图像暂存至javascript的数组内;
34.在所述wasm程序内申请内存;
35.将所述眼部图像文件复制到所述内存中。
36.本技术还提供一种基于webassembly技术进行虹膜识别身份的装置,包括:
37.虹膜识别函数库获取模块,用于获取虹膜识别函数库;
38.编译模块,用于将所述虹膜识别函数库编生成wasm程序文件;
39.加载模块,用于加载、编译、实例化所述wasm程序;
40.眼部图像获取模块,用于获取用户的眼部图像;
41.调用模块,用于调用所述wasm程序;
42.wasm程序模块,用于读取所述眼部图像文件,对所述眼部图像进行去干扰处理得到待识别眼部图像,并对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像;
43.发送模块,用于将所述第一虹膜图像发送至服务器,以与服务器内预存的第二虹膜图像进行对比;
44.接收模块,用于接收所述服务器的比对结果,完成身份识别。
45.进一步地,所述wasm程序模块,包括:
46.高斯滤波处理模块,用于将所述眼部图像进行高斯滤波处理;
47.二值化图像模块,用于将所述眼部图像进行二值化处理得到二值化图像;
48.腐蚀处理模块,用于将所述二值化图像进行腐蚀处理得到第一处理图像;
49.膨胀处理模块,用于将所述第一处理图像进行膨胀处理得到所述待识别眼部图像。
50.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
51.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
52.有益效果:
53.将其他高级编程语言写成的虹膜识别程序的字节码通过webassembly编译器工具编译成webassembly字节码,webassembly字节码是一种低层次类汇编的语言,使用二级制格式,让高级变成语言编写的代码能够以接近本地的性能运行在浏览器运行,因此用户能够直接在浏览器上进行虹膜图像采集和虹膜图像处理,操作更加简单,也节省了时间。
附图说明
54.图1是本技术一实施例的一种基于webassembly技术进行虹膜识别身份的方法的流程示意图;
55.图2是本技术一实施例的调用wasm程序对眼部图像进行去干扰处理得到待识别眼部图像的流程示意图;
56.图3是本技术一实施例的调用wasm程序对待识别眼部图像进行虹膜识别,获得第一虹膜图像的流程示意图;
57.图4是本技术一实施例的一种基于webassembly技术进行虹膜识别身份的装置的结构示意框图;
58.图5为本技术一实施例的计算机设备的结构示意框图。
59.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
60.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
61.参照图1,本技术提出一种基于webassembly技术进行虹膜识别身份的方法,应用于浏览器,包括
62.s1:获取虹膜识别函数库;
63.s2:通过webassembly编译器工具将所述虹膜识别函数库生成wasm程序;
64.s3:加载、编译、实例化所述wasm程序;
65.s4:获取用户的眼部图像;
66.s5:调用所述wasm程序读取所述眼部图像文件;
67.s6:调用所述wasm程序对所述眼部图像进行去干扰处理得到待识别眼部图像;
68.s7:调用所述wasm程序对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像;
69.s8:将所述第一虹膜图像发送至服务器,以与服务器内预存的第二虹膜图像进行对比;
70.s9:接收所述服务器的比对结果,完成身份识别。
71.在上述实施例中,如上述步骤s1所述,获取虹膜识别函数库;
72.人眼的外观由巩膜、虹膜、瞳孔三部分构成,巩膜即眼球外围的白色部分,眼睛中心为瞳孔部分,虹膜位于巩膜和瞳孔之间,包含了最丰富的纹理信息。虹膜具有唯一性、稳定性、防伪性。因此用虹膜进行身份识别更安全。虹膜识别函数库可采用opencv这一函数库,opencv是一个跨平台计算机视觉和机器学习函数库,由一系列c函数和少量c 类构成,轻量级而且高效,实现了图像处理和计算机视觉方面的很多通用算法。opencv中带有人眼检测分类器可以识别出照片中的虹膜图像。或者是别的能够实现虹膜识别的函数库,这一虹膜识别函数库可以采用多种语言进行编写,没有限制,例如c语言、c 语言、rust语言等等。
73.如上述步骤s2所述,通过webassembly编译器工具将所述虹膜识别函数库生成wasm程序;
74.浏览器运行javascript字节码,而虹膜识别函数库的程序不能由浏览器直接解释执行,现在webassembly编译器工具将虹膜识别函数库编译成wasm程序即webassembly格式的字节码,使得虹膜识别函数库能够在浏览器中运行,webassembly是除了javascript以外,另一种可以在浏览器中运行的编程语言。webassembly类似于虚拟指令集的程序架构,因为它不定义程序如何加载到执行引擎,也不定义程序如何执行i/o。这种设计分离可以将webassembly实现嵌入到浏览器中。
75.在运行时,wasm程序和javascript相互调用。webassembly是一种底层类汇编语言,代码是静态类型,所生成的字节码以二进制格式表示,而不是文本格式,浏览器执行时可以直接将其编译成机器码,这将大幅提高性能,文件会更小,传输和下载更快。
76.若使用opencv函数库作为虹膜识别的函数库,这一函数库由c语言编写,可以运用emscripten工具将其编译成wasm程序。也可以通过clang前端来把c语言代码变成llvm中间代码,再利用llvm后端编译器将llvm中间代码变成wasm程序。
77.如上述步骤s3所述,加载、编译、实例化所述wasm程序;
78.在浏览器中,wasm程序运行需要通过javascript进行调用,不能直接使用,所以要将wasm程序加载、编译、实例化,这样才能被javascript调用并在javascript中运行。
79.1、加载:需要将wasm程序加载到javascript中即写入内存中,这可以通过fetch函数进行加载,fetch函数先获取wasm程序中的字节码,再将取wasm程序转换成arraybuffer类型数组。2、编译:编译即是将wasm程序中的字节码编译成机器码;由于webassembly与其他的汇编语言不一样,它不依赖于具体的物理机器,它只是虚拟指令,而不是实际的物理机器的机器语言,所以现在需要将wasm程序中webassembly字节码编译成运行浏览器的设备上的机器码,。3、实例化:实例化是接收所引用对象、初始化模块元素、调用开始函数以及返回模块实例给wasm程序的过程。wasm程序作为一个webassembly二进制文件采用了模块的形式,实例化一个模块需要为所有导入提供定义,这些导入可能是从以前创建的实例导出的,通过调用导出函数来启动计算。
80.webassembly.instantiate函数可以直接完成编译和实例化。
81.如上述s4步骤所述,获取用户的眼部图像;
82.调用硬件的摄像头进行拍摄,获取用户的眼部图像,相比于获取用户的面部图像,直接获取眼部图像进行处理会更快速精准。
83.如上述步骤s5所述,调用所述wasm程序读取所述眼部图像文件;
84.javascript获取了用户的眼部图像之后将图像进行编码储存,然后调用wasm程序进行眼部图像处理。wasm程序提供了直接函数调用和间接函数调用两种函数调用方式。前一种方式通过指令立即数指定的函数索引直接调用函数,因此也可以称为静态函数调用。后一种方式要借助栈顶操作数和表间接调用函数,因此也可以称为动态函数调用。javascript将编码后的眼部图像参数按顺序压栈,以将眼部图像提供给wasm程序,wasm程序对眼部图像进行处理和识别之后将结果返回给javascript。
85.如上述步骤s6所述,调用所述wasm程序对所述眼部图像进行去干扰处理得到待识别眼部图像;
86.拍摄到的眼部图像包括了很多多余的信息,干扰太多,并且在清晰度等方面不能满足要求,直接进行识别的话,容易产生误差,需要对其进行包括消除噪声、灰度归一化、几何校正、图像分割等预处理操作。在眼部图像处理过程中,要减少图像噪声,降低细节层次,这样可以降低运算量,也要将眼部图像转换成灰度图像或者单色图像,灰度图像的每个像素只有一个采样颜色的图像,通常显示为从最暗黑色到最亮的白色的灰度,同时对灰度图像进行阈值处理,而单色图像只有黑色和白色两种颜色,这种处理可以最大程度地去除颜色的干扰,保留眼部图像的形状细节。
87.眼部图像经过一系列处理之后得到待识别眼部图像。
88.如上述步骤s7所述,调用所述wasm程序对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像;
89.wasm程序对处理好的待识别眼部图像进行识别,识别出眼部图像中的虹膜所在位置,并将虹膜特征提取出来获得第一虹膜图像。要对虹膜进行定位,一般认为,虹膜的内外边界可以近似地用圆形来拟合。内圆表示虹膜与瞳孔的边界,外圆表示虹膜与巩膜的边界,但是这两个边界并不是同心圆。通常,虹膜靠近上下眼皮的部分总会被眼皮所遮挡,因此还必须检测出虹膜与上下眼皮的边界,从而准确地确定虹膜的有效区域。虹膜与上下眼皮的边界可用二次曲线来表示。虹膜定位的目的就是确定这些圆以及二次曲线在图像中的位置。常用的定位方法大致分为两类,一是,边缘检测与hough变换相结合的方法;二是,基于边缘搜索的方法。在定位到虹膜图像之后,对图像进行分割得到第一虹膜图像。
90.如上述步骤s8和步骤s9所述,将所述第一虹膜图像发送至服务器,并与服务器内预存的第二虹膜图像进行对比;接收所述服务器的比结对结果,完成身份识别。
91.wasm程序得到第一虹膜图像之后,将第一虹膜图像作为输出结果返回给javascript,javascript将第一虹膜图像发送至服务器,由服务器进行比对。将处理好的保留虹膜特征的第一虹膜图像发送给服务器,可大大提高虹膜识别的效率,缩短用户等待的时间。服务器内保存有该用户的第二虹膜图像,这第二虹膜图像是用户的身份识别凭证,一般会设置一个阈值,如果第一虹膜图像和第二虹膜图像的相似度超过阈值,则验证此时进行操作的人是本人。那么用户就可继续操作,浏览器也可继续进行进程,如果相似度未超过
阈值,则验证此时进行操作的人并非本人,浏览器要中断进程,禁止用户继续操作。保证了用户的账户和操作的安全。
92.在上述实施例中,用户可直接在浏览器中进行虹膜识别,验证身份,不需要下载安装应用程序,而且速度很快。例如在现有的金融场景下身份认证主要靠银行预留手机号进行动态码认证和身份证号码认证,流程过于繁杂,办理金融业务时,至少要接收并输入一条手机验证码,有时甚至需要接收多条,过程繁杂,在手机暂时无法接收验证码的情况下,或者忘记携带身份证和手机的时候,不得不中断或放弃业务办理,用户现在直接在浏览器上就可进行虹膜识别,方便快捷。
93.参照图2,在一实施例中,所述调用所述wasm程序对所述眼部图像进行去干扰处理得到待识别眼部图像的步骤s6,包括:
94.s601:将所述眼部图像进行高斯滤波处理得到高斯滤波图像;
95.s602:将所述高斯滤波图像进行二值化处理得到二值化图像;
96.s603:将所述二值化图像进行腐蚀处理得到第一处理图像;
97.s604:将所述第一处理图像进行膨胀处理得到所述待识别眼部图像。
98.在上述实施例中,如上述步骤s601所述,将所述眼部图像进行高斯滤波处理得到高斯滤波图像;
99.对眼部图像进行高斯滤波处理即是图像与正态分布做卷积,最终得到滤波的结果。用正态分布计算眼部图像中每个像素的变换,将图像中每个像素值进行重置,每一个像素都设置成周边像素的平均值。通过高斯滤波处理过的眼部图像的视觉效果就像是经过一个毛玻璃在观察图像。在二维空间中,分布不为零的像素组成的卷积矩阵与原始图像做变换,原始像素的值有最大的高斯分布值,所以有最大的权重,相邻像素随着距离原始像素越来越远,其权重也越来越小,中间点失去细节。眼部图像通过高斯滤波处理后得到的高斯滤波图像,噪声会减少,细节层会降低,有利于进行识别。
100.opencv中含有图像处理的函数,但这一函数的实现效率过低,现在将二维高斯滤波拆成两个一维高斯滤波,即x方向上的高斯滤波和y方向上的高斯滤波,并用查表代替卷积的乘运算,可以提高运算速度,加快眼部图像的处理速度。
101.如上述步骤s602所述,将所述高斯滤波图像进行二值化处理得到二值化图像;
102.将高斯滤波图像进行二值化处理,就是将图像上的像素点的灰度值设置为0或255,整个图像会呈现出明显的黑白效果。
103.要进行眼部图像的二值化处理,首先获得眼部图像的灰度图。任何颜色都由红、绿、蓝三基色组成,将眼部图像中的红绿蓝三个颜色转换成灰度生成灰度图。对一幅彩色图进行灰度化,就是根据图像各个通道的采样值进行加权平均。灰度图只有一个通道,有256个灰度等级,255代表全白,0表示全黑。然后将具有256个灰度等级的灰度图像通过适当的阈值选取而获得二值化图像。
104.二值化图像中,所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。二值化图像仍然可以反映图像整体和局部特征,并且二值化图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使眼部图像变得简单,计算的数据量减小,也使接下来的虹膜识别变得简单。
105.如上述步骤s603所述,将所述二值化图像进行腐蚀处理得到第一处理图像;
106.对二值化图像进行腐蚀操作可以使目标区域范围变小,造成图像的边界收缩,可以用来消除图像中小且无意义的目标物。腐蚀操作针对的是二值化图像,二值化图像中只有0和1两个像素点,0就是黑色,1就是白色,腐蚀操作指针的是像素值为1的像素点。
107.腐蚀操作需要首先定义一个卷积核,核可以是任何的形状和大小,且拥有一个单独定义出来的参考点即锚点,通常和为带参考点的正方形或者圆盘;将卷积核与图像二值化图像进行卷积,计算卷积核覆盖区域的像素点最小值;将这个最小值赋值给参考点指定的像素;因此,图像中的高亮区域逐渐减小,腐蚀可以使一个孤立的低亮噪音扩大化,也可以使用图像中物体的一些高亮度的关键细节丢失。
108.如上述步骤s603所述,将所述第一处理图像进行膨胀处理得到所述待识别眼部图像。
109.膨胀操作会使目标区域范围变大,将与目标区域接触的背景点合并到该目标物中,使目标边界向外部扩张。膨胀操作的作用是可以用来填补目标区域中某些空洞以及消除包含在目标区域中的小颗粒噪声。
110.膨胀操作首先需要定义一个卷积核,核可以是任何的形状和大小,通常为带参考点的正方形或者圆盘;将卷积核与图像进行卷积,计算卷积核覆盖区域的像素点最大值;将这个最大值赋值给参考点指定的像素;因此,膨胀可以使一个孤立的高亮噪音扩大化,也可以使用物体的一些低亮度的关键细节丢失。
111.先进行腐蚀操作再进行膨胀操作是开运算,开运算能除去较小的明亮细节,保持整体的灰度级和较大的明亮区域不变。消除二值化图像中的小物体,在纤细处分离物体;平滑较大的边界并不明显改变其面积;其重点在于消除杂点,先用腐蚀将杂点消除,但是可能也会把连续的线腐蚀掉,成为不连续的线段,再使用膨胀将它们连续起来。
112.眼部图像经过高斯滤波处理、二值化处理、腐蚀处理、膨胀处理之后得到待识别眼部图像,这样能够有效去除干扰,并简化计算,提高眼部图像识别的可靠性和效率。
113.参照图3,在一个实施例中,所述调用所述wasm程序对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像的步骤s7,包括:
114.s701:对所述待识别眼部图像进行边缘检测,计算所述待识别眼部图像的梯度,确定所述待识别眼部图像中虹膜区域的圆周线;
115.s702:在二维霍夫空间内,绘制出所述待识别眼部图像中所有的梯度直线;
116.s703:识别各个所述梯度直线相交次数最多的点,以该点作为所述待识别眼部图像中虹膜区域的圆心;
117.s704:计算圆心到圆周线的距离,以该距离作为所述待识别眼部图像中虹膜区域的半径;
118.s705:根据所述圆心和所述半径确定所述待识别眼部图像的虹膜位置,沿着所述虹膜位置切割所述待识别眼部图像获得所述第一虹膜图像。
119.在上述实施例中,由于虹膜的内外边界可以近似地用圆形来拟合,所以对待识别眼部图像进行虹膜识别,即是识别出待识别眼部图像的圆。现通过霍夫梯度法对待识别眼部图像进行虹膜识别,霍夫梯度法的核心原理是圆上每一点切线的梯度直线都过圆心,如果许多条这样的梯度直线交于某一点,该点就很有可能是圆心。这样就将圆的检测问题转
化为了求点被多少条切线所经过的累加问题了。
120.如上述步骤s701所述,对所述待识别眼部图像进行边缘检测,计算所述待识别眼部图像的梯度,确定所述待识别眼部图像中虹膜区域的圆周线;
121.一般利用canny边缘检测算法对待识别眼部图像进行边缘检测。canny边缘检测算法的处理流程包括:计算图像中每个像素点的梯度强度和方向;应用非极大值抑制,以消除边缘检测带来的杂散响应;应用双阈值检测来确定真实的和潜在的边缘;通过抑制孤立的弱边缘最终完成边缘检测。这样就确定了虹膜区域的圆周线。
122.如上述步骤s702所述,在二维霍夫空间内,绘制出所述待识别眼部图像中所有的梯度直线;
123.梯度直线是每一个像素点在圆上切线的垂线,如果是虹膜区域上的梯度直线则会相交于一点,所以需要根据s701步骤中计算的梯度值绘制梯度直线。
124.如上述步骤s703所述,识别各个所述梯度直线相交次数最多的点,以该点作为所述待识别眼部图像中虹膜区域的圆心;
125.将待识别眼部图像非边缘处的像素点都变为零值
126.在梯度直线上的非边缘像素点都在累加器中被累加,然后根据累加器中从这些点中选择候选的圆心,这些圆心都大于给定阈值并且大于其所有近邻像素点。这些候选的圆心按照累加值降序排列,以便于最支持的圆心首先出现。
127.如上述步骤s704所述,计算圆心到圆周线的距离,以该距离作为所述待识别眼部图像中虹膜区域的半径。
128.确定圆心之后,计算边缘上的每一个像素点到圆心的距离,将其从大到小排列,选择边缘像素点最支持的距离,这个距离就是半径。
129.如上述步骤s705所述,根据所述圆心和所述半径确定所述待识别眼部图像的虹膜位置,沿着所述虹膜位置切割所述待识别眼部图像获得所述第一虹膜图像。
130.识别出待识别眼部图像的圆即是识别出待识别眼部图像上的虹膜,同时确定了虹膜的圆心和半径,根据这一圆心和半径切割待识别眼部图像获得的图像就是第一虹膜图像。
131.在一个实施例中,所述加载、编译、实例化所述wasm程序的步骤s3之后,所述获取用户的眼部图像的步骤s4之前,还包括:
132.s411:向服务器发送虹膜识别请求;
133.s412:接收服务器反馈的是否保存有所述第二虹膜图像的信息,如果保存有所述第二虹膜图像,则继续进程,如果未保存所述第二虹膜图像,提示用户进行所述第二虹膜图像采集;
134.s413:将用户的身份信息发送至服务器。
135.在上述实施例中,如上述步骤s411所述,向服务器发送虹膜识别请求;
136.由于用户可能没有进行虹膜图像采集,所以服务器中没有保存用户的第二虹膜图像,当浏览器向服务器虹膜识别请求时,服务器判断用户之前是否采集第二虹膜图像。
137.如上述步骤s412所述,接收服务器反馈的是否保存有所述第二虹膜图像的信息,如果保存有所述第二虹膜图像,则继续进程,如果未保存所述第二虹膜图像,提示用户进行所述第二虹膜图像采集;
138.如果保存有所述第二虹膜图像,用户可孙俪进行虹膜比对,如果服务器中没有保存第二虹膜图像,则需要浏览器端进行采集。可进行步骤s4、s5、s6、s7,让浏览器对眼部图像进行处理之后获得第二虹膜图像,再将处理后的眼部图像发送至服务器,这样可以减少服务器的运算量。
139.如上述步骤s413所述,将用户的身份信息发送至服务器;
140.将浏览器采集到的眼部图像发送给服务器之后,将用户的身份信息也发送至服务器,让服务器将第二虹膜图像和用户的身份信息进行绑定,这一身份信息包括但不限于身份证、手机号、银行卡号等等。这样才能通过虹膜识别确认身份。
141.在一个实施例中,所述将所述第一虹膜图像发送至服务器,并与服务器内预存的第二虹膜图像进行比对的步骤s8之后,还包括:
142.s801:接收服务器发送的用户欠款信息数据;
143.s802:根据所述用户信息数据生成页面显示以提醒用户。
144.在上述实施例中,如上述步骤s801所述,接收服务器发送的用户欠款信息数据。
145.在金融场景中,银行的服务器中会保存有用户的欠款信息、贷款信息、消费信息等等,当用户通过虹膜认证验证身份之后,服务器将这些信息发送给浏览器。
146.如上述步骤s802所述,根据所述用户信息数据生成页面显示以提醒用户。
147.浏览器接收服务器发送的用户信息数据之后,需要提醒用户,因此将这些信息进行解析之后生成页面提醒用户。
148.在一个实施例中,所述获取用户的眼部图像的步骤s4,还包括:
149.s401、将所述眼部图像暂存至javascript的数组内;
150.s402、在所述wasm程序内申请内存;
151.s403、将所述眼部图像文件复制到所述内存中。
152.在上述实施例中,如上述步骤中s401,将所述眼部图像暂存至javascript的数组内。
153.数组用于存放数据,浏览器在获取眼部图像之后,会对眼部图像进行编码生成数据,wasm程序要在浏览器中运行,需要通过javascript进行调用,因此眼部图像的数据不能直接由wasm程序使用,需要将这些数据暂时存放在javascript的数组内。
154.如上述步骤中s402,在所述wasm程序内申请内存;
155.wasm程序内的内存是一块ram,本质上是一个线性的字节数组,并且可以在限制范围内按页动态增长。wasm程序为了读取眼部图像的数据,则需要在webassembly模块内根据眼部图像的大小申请内存。
156.如上述步骤所述s403,将所述眼部图像文件复制到所述内存中。
157.在申请完内存之后,将眼部图像复制到内存内,以便让wasm程序进行读取。
158.参照图4,本发明还提供了一种基于webassembly技术进行虹膜识别身份的装置,其特征在于,包括:
159.虹膜识别函数库获取模块10,用于获取虹膜识别函数库;
160.编译模块20,用于将所述虹膜识别函数库编生成wasm程序文件;
161.加载模块30,用于加载、编译、实例化所述wasm程序;
162.眼部图像获取模块40,用于获取用户的眼部图像;
163.调用模块50,用于调用所述wasm程序;
164.wasm程序模块60,用于读取所述眼部图像文件,对所述眼部图像进行去干扰处理得到待识别眼部图像,并对所述待识别眼部图像进行虹膜识别,获得第一虹膜图像;
165.发送模块70,用于将所述第一虹膜图像发送至服务器,以与服务器内预存的第二虹膜图像进行对比;
166.接收模块80,用于接收所述服务器的比对结果,完成身份识别。
167.在一实施例中,所述wasm程序模块60,包括:
168.高斯滤波处理模块,用于将所述眼部图像进行高斯滤波处理;
169.二值化图像模块,用于将所述眼部图像进行二值化处理得到二值化图像;
170.腐蚀处理模块,用于将所述二值化图像进行腐蚀处理得到第一处理图像;
171.膨胀处理模块,用于将所述第一处理图像进行膨胀处理得到所述待识别眼部图像。
172.参照图5,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种虹膜图像数据、身份数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时可以实现上述任一实施例所述的基于webassembly技术进行虹膜识别身份的方法。
173.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一实施例所述的基于webassembly技术进行虹膜识别身份的方法。
174.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
175.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
176.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用
本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献