×

指纹识别当真安全?看完这几点你就明白了

消耗积分:1 | 格式:rar | 大小:未知 | 2017-11-22

分享资料个

一、指纹识别成智能手机标配
  伴随移动支付业务的火爆,指纹识别技术已成为今天智能手机的标配,而在CMOS图像传感器/TFT显示屏、超音波侦测等新技术的不断助推下,更让其市场迎来了发展的新春。
  据调研机构Yole预测,未来5年,指纹识别市场的复合年增率(CAGR)将达到19%,市场规模有望从2016年的28亿美元,增加到2022年的47亿美元。
  最初只是作为方便手机解锁功能的元器件——指纹识别传感器,如今在智能手机移动支付业务的带动下,已经变成要为移动支付把关的重要安全元素。据业内人士分析,目前的指纹识别市场,大多来自于OEM厂对全玻璃设计与防水功能的需求。这促使CMOS/TFT、超音波侦测等新技术,进一步推动高整合型指纹识别技术的演进。
  据统计,2016年的指纹识别传感器的出货量已达6.89亿颗,相较2013年的2300万颗,CAGR达到210%。当然,大量的需求也促使指纹识别传感器均价的走低,目前已从5美元下滑到3美元,甚至更低,未来供应商仍将继续面临价格压力。
  
  指纹识别市场对传感器制造商来说具有较高弹性,虽然今后5年的市场规模非常可观,但如何在激烈的市场竞争中脱颖而出,仍然是考验相关厂商的一道难题。
  二、指纹识别的原理
  指纹识别技术包含有以下两种主要的识别技术:
  第一种是采用不同指纹图像统计对比的方法;
  第二种是采用指纹图像本身固有的特征信息进行比对的方法。
  第一种方法主要是将两幅指纹图像进行统计对比,查看他们之间相似度的大小,根据大小来判断这两幅指纹是否取自于同一个人,从而实现身份识别的作用。第二种方法是根据两幅指纹图像的结构特征,比较他们的特征信息,确认他们的身份。特征包含两种类型:全局特征类型和局部特征类型。
  指纹识别技术的全过程是:
  (1)使用指纹采集设备采集指纹图像。
  (2)对指纹图像中的大量噪声点进行预处理,从而提升后面处理的效率。在预处理之后,得到了一个关于指纹图像的轮廓线,为下一步特征提取做准备。
  (3)进行指纹图像的特征提取,提取出其特征信息点。
  (4)对指纹图像进行特征匹配,把提取的特征点与数据库中预存的特征点进行比对,通过比对来判断身份。根据英国学者E.R.Herry 的研究发现,两个指纹图像中,如果特征点的对数有13 对是重合的,就可以认为这两个图像取自于同一个人。
  指纹识别系统的主要性能参数有以下几种:
  (1)误识率:指两个不同指纹被错误地识别成相同指纹的概率;
  (2)拒识率:指同一个手指的两个不同指纹样本不能匹配,即被认为来自不同手指的概率;
  (3)等错误率:第一和第二种错误相等时的数值;
  (4) 注册时间:从指纹被采集到完成指纹特征提出所需要消耗的时间;
  (5) 匹配时间:两个指纹样本进行一次对比匹配所需要消耗的时间;
  (6) 模板特征的大小:从一个指纹图像中提取出的指纹特征的存储容量;
  (7)分配内存的大小:在指纹识别的各个阶段,计算机系统需要占用的内存数量。
  三、指纹图像的质量评估
  在通过指纹采集设备把图像采集进入系统之后,我们需要对采集到的指纹图像的质量进行评估。如果图像的质量不达标,就会对后期产生影响。因此,需要对指纹图像进行评估。目前,指纹图像的质量评估有以下几种方法:
  (1)计算图像的信噪比:
  这种方法是指求出图像的信号与噪声的方差之比。首先计算图像所有像素的局部方差,将局部方差的最大值设为信号方差,最小值设为噪声方差,求出它们的比值,再转成dB 数,最后用经验公式进行修正。此方法在效率方面表现一般。
  (2)统计指纹图像细节点的数量:
  对指纹图像中细节点的数量进行识别和统计。通过数量的多少来判断该指纹图像的质量是否在合格的范围之内。此方法理论上可行,但是由于首先需要对指纹进行预处理、提取细节点,因此效率不高。
  (3)视觉客观测度:
  该方法建立在视觉测评过程和客观测度基础上,利用设定的评测参数,对指纹图像的质量评价出一个综合结果。这一方法从全局上对指纹图像的质量,能够得出很好的判断。但是从局部上来看,指纹的纹理分析缺少了对指纹方向信息的判断。
  (4)计算指纹图像方向信息:
  从指纹图像局部特征开始,结合指纹的全局特征来判断指纹图像的质量。通过检测图像的有效面积和清晰度,来确定图像是否合格。具体方法是:首先,通过计算图像方向信息,确定前景块和背景块;然后,通过比较前景块和背景块的比例来判断是否是偏手指;再次,通过图像块的对比度的大小来判断是干手指或湿手指(干手指对比度较大,湿手指对比度较小)。
  四、指纹图像的分割
  在指纹图像质量评估合格后,需要对图像进行灰度变换,即对指纹图像均衡化,使得图像灰度均衡,以及对图像进行归一化。在这些完成之后,还需要对图像按照一定的算法和要求进行分割。即把指纹图像中质量很差,后期无法处理的图像区域与有效区域进行区分,使后期处理集中到有效区域上,提供特征提取精度,减少处理时间。目前,常用的分割方法有以下几种:
  (1)基于方向图的分割方法:
  根据图像上纹理的方向,区分指纹区域和背景区域,然后按照不同的区域分割。如果指纹的纹理线不连续、图像的灰度 单一等方向难以正确估计或者有些区域变化剧烈,则此方法不能进行有效的分割。
  (2)基于图像的局部灰度均值、局部标准差和局部一致性的分割方法:
  利用指纹图像局部区域的灰度均值、标准差和一致性作为特征,再采用线性分类来分割指纹图像。局部图像的一致性显示了局部图像的纹理走向,但是这些特征对于模糊区域无法做出有效的表示。
  (3)多级分割法:
  就是将指纹图像进行多级分割,逐级减少分割的范围。例如:第一级分割图像的背景区域,第二级在前景区域中分割出模糊区域,第三级从模糊区域中分割出不可恢复区域。
  (4)动态阈值分割法:
  根据各个子块的局部灰度对比度自动调节阈值,基于像素的方差进行分割。该方法简单、快捷、分割效果好。具体为:将图像划分为不重叠的各个子块;计算每个子块的平均灰度和灰度方差;计算方差最大值与最小值之间的差值;定义动态阈值,并分割图像;平滑操作,去除孤立块。
  五、指纹图像的增强
  指纹图像增强就是将模糊的指纹纹理改变得更加清晰,例如:将断裂的指纹纹线进行连接,把连接的纹线区分开,而且在这个过程中还需要保持原有的指纹图像结构,使图像更加易于提取特征信息。目前,有以下几种指纹图像增强方法:
  (1)从脊线方向上采用平滑算子而在垂直于脊线的方向使用增强算子的图像增强算法。这种算法在理论上是十分正确的,但是要估计出脊线宽度以及滤波的参数却比较困难。如果参数估计有误,则会使得脊线产生污染,并且对于脊线上有折痕的指纹会产生偏差。
  (2)基于Gabor 滤波器的指纹图像增强算法。此算法是在使用上一方法之前先进行滤波。将指纹图像分成不同的区域,有效削弱垂直于主导纹线方向的噪声,提高方向信息提取的可靠性。
  (3)傅立叶增强后滤波的方法。基于时间和处理效果的考虑,先采用傅立叶变换来增强指纹图像,然后使用滤波器来修补指纹图像的纹线。具体为:首先,多级分割出可恢复区域块,将该块像素变为复数形式;利用离散傅立叶变换,滤掉频率过高或过低的频带噪点;利用方向滤波器消除指纹的断裂和叉连。
  六、指纹图像的提取
  在细化图像的基础上提取
  首先,需要对指纹图像进行细化处理,将指纹纹线变细,然后通过分析纹线上每一个像素点的8 个方向上的连接点来判定该像素点的类型、位置,并且通过分析该像素点所连接的纹线段来判断点位的方向,进而提取出特征点。这个方法存在的优点是原理比较简单而且容易实现;缺点是需要对大量的像素点进行细化处理,时间较慢,当图像质量不高时,细化处理会产生很多杂质项。
  从原始灰度图像上直接提取
  利用指纹方向图,在灰度图像上跟踪指纹的纹线,每跟踪一定的长度,根据图像的投影极值来确定纹线的位置,当遇到端点和分叉点时无法投影,跟踪过程自动终止。这个方法的优点是具有较高的效率和精度;缺 点是实现起来比较复杂,需要大量的运算,而且当图像质量不高时,求出的方向图可能不可靠,导致跟踪出的纹线出现偏差。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//m.obk20.com/www/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'指纹识别当真安全?看完这几点你就明白了',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);