Android 刷脸登录功能初探

2022-01-10 00:05
114
0
添加收藏

产品经理:“最近人工智能挺火的啊!”我:“是啊!”产品经理:“咱也跟个风,做个刷脸登录吧!”我:“刷脸登录和人工智能没啥关系吧。”产品经理:“不管有没有关系,咱现在打算做一个刷脸登录的功能,你回去准备准备吧!”我:“。。。。。。”复制代码

开始之前

先介绍一下两个概念,让刚接触这一块的读者有个感性的认识。

  1. 人脸检测
    • 检测一张照片中是否有人脸,如果有,给出人脸的相关坐标,人脸识别(比对)的基础
  2. 人脸识别(比对)
    • 识别两张照片是不是一个人。

现在网上大多数介绍文章都弄混了这两个概念,大多数关于人脸识别(比对)的介绍或demo其实都说的是人脸检测。

开始研究

经过几天的研究,比对了市面上现有的几家产品,作出如下评测:

  • Face++
    • 优点:接入方便,支持SDK,API调用等方式,文档清晰
    • 缺点:价格极度的贵,一般的创业公司不会接受,大厂估计都自己去实现了
  • 腾讯优图
    • 优点:没啥优点
    • 缺点:接入极度麻烦
  • 科大讯飞
    • 优点:运行速度快,免费,结果准确
    • 缺点:文档较乱,demo是多个功能(语言、人脸识别等)的集合体
      综合公司的情况和平台的功能,我决定选用科大讯飞来完成这次的业务需求。

离线功能

我:“上次提的刷脸登录功能可以实现,都不叫事。”产品经理:“这么快,可以可以,这次做完了,我给老大提一下这个事。”我:“呵,好啊。”产品经理:“哦,对了,记得这次咱们的产品要考虑到离线登录的情况,客户没网也要进app里的。”我:“????没网还登录啥啊。”产品经理:“恩恩,解决一下吧,我还有个会,先走了。都不叫事。”我:“?????”复制代码
  • 又经过一番研究,发现离线功能真的不好实现,第三方基本上都不支持,支持的也是价格很贵,公司接受不了。好吧,只能自己去实现了。
  • 要想实现,就是两个步骤
    1. 通过openCV获取两张照片的人脸信息并保存。
    2. 通过javaCV比对保存的信息。

最后解决了公司的这次业务需求。

全部评论