浅谈Android指纹识别技术
当今时代,随着移动智能手机的普及,指纹解锁早已是手机不可或缺的一个功能。除了现在比较新款的iPhone或者部分手机采用了Face ID之外,人们几乎天天都会用到指纹解锁技术。但你知道指纹解锁技术背后的原理吗?
原理
指纹识别的前提是对指纹的采集,所以我们首先就应该了解第一步:指纹采集。
第一步:指纹采集
指纹采集主要分为两种方式:滑动式采集和按压式采集
滑动式采集是将手指在传感器上滑过,从而使手机获得手指指纹图像。滑动式采集具有成本相对偏低,而且可以采集大面积图像的优势。但这种采集方式存在体验较差的问题,使用者需要一个连续规范的滑动动作才能实现采集成功,采集失败的概率大大增加。某品牌手机曾经使用过这种采集方式,因滑动式采集存在的短板而受到诟病。
按压式采集顾名思义就是在传感器上按压实现指纹数据采集,这种采集方式当然用户体验好一些,不过成本比滑动采集高,技术难度也相对高一些。此外,由于一次采集的指纹面积相对滑动式采集来说要小一些,就得多次采集,通过“拼凑”,拼出较大面积的指纹图像。这就必须仰仗先进的算法,用软件算法来弥补滑按压式采集获得的指纹面积相对偏小的问题,以保障识别的精确度。
第二步:指纹评估
在采集到指纹之后,然后对采集的指纹进行质量评估,如果质量不合格,会要求再采一次。如果合格则对图像进行增强和细化。
第三步:“提取“特征
经过处理后会依次对得到的二值化图、细化图和提取特征图。在获得比较清晰的图像后,就开始对其进行特征提取。经过特征提取将数据储存下来之后,就可以进行下一步的匹配工作了。
第四步:指纹匹配
在匹配中要注意一点,那就是由于同一个手指的两幅图像会因为手指的位移、偏转以及按压的力度不同而产生差异,这就要在匹配时进行校准,通过特征点集校准等方式保证指纹识别的准确性。
版本演变
指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别。另外,实际开发场景中,使用指纹的主要场景有两种:
纯本地使用。即用户在本地