超声波指纹识别技术_超声指纹识别原理-程序员宅基地

技术标签: 综合  超声波-指纹识别  指纹识别  小米手机  

前言: 2015年,整个超声技术界最引人注目的事情莫过于高通推出了超声波指纹识别技术Sense ID,而小米手机也成功搭载了这一项黑科技。自上世纪五十年代全国超声热之后,超声技术终于有机会成为大众话题之一

超声检测技术基础之基础

绝大多数超声波的检测技术原理都基于pulse-echo——你在山谷里喊一声就是pulse, 被岩壁或者树反射回来的回声就是echo。
对于超声检测而言,特制的晶片(称为换能器)在电脉冲的激励下,产生机械振动(类似于人摸一下电门浑身一抖),振动产生超声波脉冲(pulse),超声波脉冲在传播过程中,会被传播介质(如人体)一部分一部分地被反射或者散射回来(echo),尤其是介质中物理性质不连续的地方,(比如手机上方的一根手指),反射波尤为强烈。反射或散射回换能器的回波,又使换能器产生振动,这种振动被换能器转换为电信号,对于电信号进行不同的处理,可以得到不同的信息,比如传播介质的结构,有没有运动的物体在介质中,介质的弹性等等。
如果把超声波的声束想像成一条线,那么一次超声PULSE-ECHO得到的通常只有一条线的信息,指纹至少是一个面,用超声扫描的方式在不同的位置进行PULSE-ECHO就能够得到一系列线的信息,从而获取整个指纹信息。医院里用的超声成像设备也大多就是这样的工作原理。
指纹识别超声

从高通的宣传视频(h可以确认:SenseID技术中,超声波是垂直于手指表面发射的。不管内部的具体实现,其基于的基本原理就是下图所示,

    ![](https://img-blog.csdn.net/20160927230124785)

相信你只要一看,大致就能看明白,马上可以回家告诉你家孩子。
你:“声波传播速度是340m/s,如果小换能器到乳突线距离是d0, 声波传播的时间就是d0/340,而到小犁沟距离是d1, 声波传播的时间就是d1/340,d1>d0,所以对着小犁沟时声波回来慢一点,这样我们根据时间先后就可以知道究竟是线还是沟……”
你开始等待着孩子带着崇拜眼神说“粑粑你好厉害哦”。
你家孩子:“粑粑,你好象说得不对……”

你怒:“什么不对?老湿上课讲过的,时间=距离除以速度,你又全忘了是不是,老子收拾你!”

你家孩子:“可是声波过去还要回来,传播的距离不应该是2d0,2d1吗?”

你:“……”

好吧,我承认上面那个糗是我犯下的,不过不影响原理说明。重点就是,这种情况,声波被发射然后返回的时间有先后。相邻位置,时间短的是线,时间长的是沟。

现在问题来了,如果超声波束只是一条垂直于手指表面的线,只能得到手指上某一点到换能器的距离,要得到完整的指纹信息,假定指纹识别精度要求到0.2mm,超声波束的间距至少应该小于0.1mm,假定识别的指纹面积为8mm*8mm,则需要得到80*80个点的信息才是完整的指纹信息,相应地,也就需要80*80条超声波束,所以技术的核心解决问题在于:短时间内,如何得到这近4千条超声波束的信息?(各位可以脑补一下:一个小机器人扛着超声换能器,一个位置接一个位置跑,每跑一个位置发射接收一次超声波,估计跑不了100个位置小机器人就加入叛军参加对地球人的进攻了)。

那么,究竟如何得到这80*80个点甚至更多点的信息?

*注:乳突线和小犁沟分别得到的回波差异可能不仅仅是时间先后,有可能回波强度也有较大差别,都可以用于形成指纹图像。为了说明得比较直观,这里选用了最简单的时间先后。
手机上采用的指纹识别技术

上图是从一家叫sonavation的公司网站上 (http://www.sonavation.com/ ultrasound-biometric - sensor/)扒下来的,显示的不是蜂窝,竖起的一根根小柱子是超声波换能器。其中道理很简单——让一个小机器人扛着超声波换能器跑,不如干脆搞几千个并排的超声换能器放那里别动(业界称为矩阵阵列,MATRIX ARRAY),各自独自工作(也可以像控阵雷达一样,合并起来用,独自干活还是合并使用完全取决于集成的ASIC芯片运算能力)。每个换能器可以得到与其正对位置回波的传播时间,从而判断究竟是线还是沟。

上图是Sonavation网站提供他的们现有产品的原型图片,左边的长方形是换能器矩阵,中间的小黑块是ASIC。以下是这家公司识别出的指纹(图中提到乳突线上还有些小洞叫pores,也可以帮助指纹识别),基本上可以确定高通使用的也是类似方案。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liyongqi_/article/details/52685582

智能推荐

数据压缩实验三 Huffman编解码算法实现与压缩效率分析_哈夫曼编码的压缩效率与-程序员宅基地

文章浏览阅读2.4k次。一、实验原理1、Huffman编码Huffman Coding(哈夫曼编码)是一种无失真的编码方式,是可变字长编码(VLC)的一种。Huffman编码基于信源的概率统计模型,它的基本思路是:出现概率大的信源符号编长码,出现概率小的信源符号编短码,从而使平均码长最小。在程序实现时常使用一种叫树的数据结构实现Huffman编码,由它编出的码是即时码。2、Huffman编码方法_哈夫曼编码的压缩效率与

大神自述|7岁接触建模的大神建模师,分享建模经验与技巧_建模师大神-程序员宅基地

文章浏览阅读522次。我的名字是瑞恩·里德(Ryan Reid),我目前是大学学习3D图形和设计的高级学生。 我从小就开始画画,我父亲在七岁时向我介绍了3D软件,自从我一直在学习和练习我的手艺。 我会显示一些我创建Mondus的过程 。在我进入Mondus建模之前,我想找到CG社区没有挖掘的东西。 我首先在ZBrush中做了一些头脑风暴和概念,然后选择创造一个非洲男性,有着色(也称为白化病)。 我做了一些关于它是如何造成的研究,它基本上是一个遗传的疾病,其特征是很少或没有黑色素生产。 我遇到一个名叫Deejay Jewell的_建模师大神

Java版WMS系统奇门云网关(奇门仓储)接口实现_奇门wms struct-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏9次。基于spring框架 实现的奇门云网关 WMS端 通用API方法:package org.tempuri;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.StringReader;import java.io.Strin..._奇门wms struct

原生应用的开发-flutter、rn - window篇_pc原生应用开发技术-程序员宅基地

文章浏览阅读471次。原生应用开发框架React-Nativefacebook 推出的使用react,js开发的原生框架react官网Weex阿里巴巴开源的使用vue开发的原生框架weex官网Flutterdart语言,类似es6,如果对面向对象有深入理解的话,很快上手,google公司推出的Flutter官网React-Native基于react优雅的架构设计支持热重..._pc原生应用开发技术

faiss学习(二)另外两种基础索引,保存索引_indexivfflat-程序员宅基地

文章浏览阅读9.7k次,点赞2次,收藏8次。在上一篇文章里面的官方demo建立索引方式使用的是最基本的索引,这里在介绍两种基础索引更多索引类别1--更快的检索IndexIVFFlat官方介绍:为了加快搜索速度,可以将数据集分割成几部分。我们在d维空间中定义Voronoi单元格,并且每个数据库矢量都落入其中一个单元格中。在搜索时,只有查询x所在单元中包含的数据库向量y与少数几个相邻查询向量进行比较。(划分搜索空间)这是通过Inde..._indexivfflat

IAR源文件注释中文显示乱码_iar中文乱码-程序员宅基地

文章浏览阅读1.7w次,点赞5次,收藏14次。IAR注释中文显示乱码,在Tools>>Options>>Editor>>Default character 选择正确的编码比如UTF-8,然后关闭文件,再次打开。_iar中文乱码

随便推点

Linux中禁用ctrl alt del快捷键重启_linx 关闭 ctrl alt del-程序员宅基地

文章浏览阅读363次,点赞7次,收藏8次。【代码】Linux中禁用ctrl alt del快捷键重启。_linx 关闭 ctrl alt del

Vue.js动态获取浏览器高度、宽度并进行实时修改DOM元素高度_vue3 dom元素获取距离浏览器工具栏的高度-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏7次。需求:项目中有高度、宽度自适应需求,需要适应不同分辨率的高度及宽度,在不同分辨率下效果区别不会很大html代码如下:<template> <div id="home"> <div class="head" > <v-head></v-head> </div&..._vue3 dom元素获取距离浏览器工具栏的高度

在SpringBoot中使用Spring Security实现权限控制_spring-security配置允许访问ip-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏6次。以前在Spring框架中使用Spring Security需要我们进行大量的XML配置,但是,Spring Boot在这里依然有惊喜带给我们,我们今天就一起来看看。 毫无疑问,Spring Boot针对Spring Security也提供了自动配置的功能,这些默认的自动配置极大的简化了我们的开发工作,我们今天就来看看这个吧。创建Project并添加相关依赖 配置applicat..._spring-security配置允许访问ip

vmware16,vmware17虚拟机安装以及序列号备份,安装win11,进入启动界面闪退_vm17pro密钥许可证-程序员宅基地

文章浏览阅读737次,点赞9次,收藏8次。检测到hyper-v 时,勾选自动安装。_vm17pro密钥许可证

用sqoop将hive导入mysql中文乱码_sqoop --default-character-set=utf8-程序员宅基地

文章浏览阅读1.5k次。修改/etc/my.cnfcharacter-set-server=utf8[client]default-character-set=utf8注释掉 sql_mode重新新建mysql表在hive的元数据库中执行以下SQL语句,然后重新创建刚才的表即可 。alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;alter table TABLE_PARAMS modify column PAR_sqoop --default-character-set=utf8

python中将xml格式转json格式-程序员宅基地

文章浏览阅读845次。一、简介 在用python写脚本时,通常需要处理xml格式的文件或字符串。由于json格式处理的方便性, 我们可将其转为json格式进行处理。 二、步骤 1、安装工具包xmltodict 在命令行输入:pip install xmltodict 2、在代码使用xmltodict.parse(xml_str)进行处理 如 def load_json(xml_path): #获取xml文件 xml_f..._python xml 转json 格式