当前AI浪潮下,人脸识别是计算机视觉中应用最多的技术,身为公司的AI产品经理,该如何考虑自研的人脸识别产品呢?
大家都知道人脸识别已经成为计算机视觉中研究最多,应用最多的一项技术,但是真正能够将这项技术实现 自研落地 并实现 业务应用 的公司可以说并不多,只看国内的话,比较厉害的有百度、腾讯、阿里和商汤、旷视、云从、依图等一批独角兽公司。
其他很多公司可能更多的是购买的上述公司的技术服务,或者用一些开源的项目,包装一层外套,对外号称公司实现有人脸识别产品,但是说实话其实这样做,第一、没有自己的核心技术;第二、对产品的用户不负责。有一天技术公司自己掌握了业务场景需求,就可以提供完整的解决方案,而不需要只卖技术服务了,同样如果开源技术失去维护,使用该技术的产品将无法升级迭代。
在现在的AI浪潮下,如果公司有实际丰富的应用场景,同时公司又有一定的规模及技术能力,建议最好的方式就是自研核心的技术。那么一个AI产品经理该如何考虑自研的人脸识别产品?
大致可以从以下几个角度考虑:
第一、人脸识别的方式有哪些?
作为一个AI产品经理首先需要理解人脸识别技术,人脸识别从狭义上来分,主要指的是人脸验证和人脸识别,人脸验证采用的是1:1的方式,简单的理解就是“确定某人是某人”;人脸识别采用是1:N和1:N+1的方式,1:N指的是从N个人中找到跟当前最像的人、1:N+1指的是从N个人中找到最像的那个人,并确定是不是你要找的人。
目前1:1识别是采用唯一凭证+人脸的方式,首先根据唯一凭证找到这个人,再进行人脸验证判断是否是当前这个人,该技术目前多被采用作实名制验证,就跟火车上警察叔叔拿着你的身份证验证你是不是本人一样,其中的唯一凭证可以是身份证、票、账号、卡等;1:N和1:N+1的人脸识别方式提高了用户体验,用户只需要提供人脸,系统根据采集到的人脸到库里面比对搜索,找到跟你最像的一批人,1:N一般由人工来确认当前人脸是不是这批人中的某一个,该技术在天网中应用最多;1:N+1由系统判断当前采集到的人脸是谁,实际上即给出相似度最高的人脸。
第二、弄清楚应用场景
理清楚产品的应用场景是一个产品经理的基本能力,对于人脸识别来说,产品经理更要考虑清楚具体的应用场景,否则无法跟算法对接,上面第一点说过人脸识别有不同的方式,不同的应用场景需要使用不同的技术,甚至可以说即使是相同的应用场景,由于某些技术瓶颈原因,同样需要使用不同的技术;因此,算法是需要产品经理告诉他提供哪种技术能力的。
举例说明下:以人脸闸机为例,现在的火车站以及很多的公园景点都有了人脸识别闸机,还有一些小区或者公司也采用了人脸识别闸机,但是有没有考虑过它们的不同呢?为什么火车站或公园的人脸闸机需要使用身份证或者票加上人脸一起验证呢?但是一些公司里面的闸机就不需要了。
原因在于1:N的N的上限问题,据了解,目前N的上限基本没有哪家公司能做到超过10万的, N的上限导致了人脸识别的准确率和用户体验不能兼得 ;对于像火车站,公园景点的人流量是远超过10万的,自然无法用1:N的人脸识别,而对于一些公司或小区,N的容量已经足够支撑所有人,所以自然采用1:N的方式来提供用户体验。
目前典型的人脸识别应用场景有:人脸闸机、人脸考勤、人脸签到签退、人脸支付、安防人脸识别等;具体什么场景使用哪种技术,需要产品经理详细分析, 重点在现有的场景条件下怎么获得准确率和用户体验的平衡 。
第三、人脸识别产品的设计
了解了人脸识别的方式、理清楚了人脸识别的应用场景,作为算法工程师需要考虑具体技术的实现,那作为产品经理接下来就是考虑如何设计自己的产品了,在这个期间,AI产品经理一般不同于互联网产品经理的是AI产品经理可能还需要为算法承担一部分数据收集的工作,当然如果贵司有专业的数据采集,数据标注团队,那产品经理就可以重点考虑产品的设计了。人脸识别产品一般需要考虑哪些方面呢?
1. 定位人脸识别服务是本地还是服务端
这点很容易理解,简单地说就是你将人脸库放在哪里?是放在本地呢?还是放在服务端,如果是本地,那算法需要提供的是离线版的SDK服务,如果是服务端,那就需要提供云端API服务。
到底是提供SDK还是API服务可以参考之前的文章《如何做一款SDK产品》里面有部分介绍;
2. 前端页面设计
这点是给用户完成人脸识别的,主要考虑这几点:
第一、识别前的页面是什么样的?就是一个摄像头的启动后的页面吗?还是加一个人脸框?建议是为了保证人脸识别的准确率,还是加一个人脸框吧;
第二、识别成功后,返回的页面,以公司的1:N人脸考勤为例,人脸识别成功后,可以告诉给出的信息是“工号:xxx,姓名:xxx,打卡成功”,也可以直接是“打卡成功”,我个人倾向于给出工号姓名等详细信息,因为人脸识别也会出错,可能识别成其他人了,但是对于系统来说是认为识别成功的,所以这个时候用户看到信息后可以确认是不是识别成自己了,就是自己是不是打卡成功了,否则识别成功但是识别成其他人就需要手动打卡了;
第三、识别错误后,返回的页面,这点很重要,尽管所有人都不希望识别错误,但是这个情况是不可避免的,因此,产品经理一定要考虑清楚,识别错误后的处理措施,常见的处理方式有识别出错后,可以提示用户因为什么出错的,可能是光照不够?还是人脸过小过大?或者人脸角度不对?告诉用户这些原因可以帮助用户更好的识别,另外如果识别三次依然不对怎么办?是不是有应对措施呢?考虑手动打卡?还是其他的?这些需要考虑周全。
第四、人脸注册,这点放到最后说,是因为人脸注册跟人脸识别是两个独立的功能,既可以通过后台增加一个人的注册照也可以通过前端让用户完成人脸注册,比如人脸考勤,产品设计时当然不允许用户在前端注册,否则不是外部人注册了怎么处理,但是如果是人脸识别访客系统,那就需要在前端增加注册的功能,对于未知的用户可以完成人脸注册,方便用户后续识别访问。
3. 后台设计
这里不再赘述用户角色、用户权限等通用设计,重点介绍跟人脸识别相关的功能设计:
第一、人脸库的创建,考虑两点批量导入和单个人脸增加,即人脸注册功能;
第二、参数配置,人脸识别是需要设置阈值的,这里当然还包括系统的其他参数,多个人脸库是否考虑采用不同的阈值呢?不同库中的人脸是否具有不同的权限等;
第三、数据日志,记录每天的识别情况,包括识别成功的记录和识别出错的原因,错误原因需要定期导出分析并提交给算法,进一步优化算法,如果更详细的还可以包括每次识别的响应时间等。
如果只是搭建一个人脸识别产品以上三点基本应该就够了吧。如果是搭建人脸识别平台,那后台还需要考虑其他功能,比如应用管理、数据分析等。
第四、产品的迭代优化提升
一个人脸识别产品基本功能研发成功并推广应用了,那后面产品经理需要关注的是如何提升产品的性能,很多人会疑惑这个应该是算法或者研发考虑的,但是好的产品经理应该提前自己分析这些问题,而不是等工程师们来提出或解决。
比如人脸识别卡顿问题,产品经理是不是需要将这些原因都收集起来,总结归纳是硬件配置问题,还是浏览器问题,还是客户端问题等,再比如最常见的人脸识别安全性,如果早期因为技术问题,没有采用活体检测,那是否需要增加该功能提供安全性,如果早期采用了动作活体,那现在是否可以采用静默活体提供用户体验呢?
这一部分工作虽然很琐屑,但是关系到产品是否能够大面积推广应用,所以产品经理如果想要自己负责的产品能够带来更多的用户或者业务价值,那第四部分就必须重点考虑。
以上是分享了作为AI产品经理在设计人脸识别产品时需要重点考虑的几个部分,当然在设计产品的时候还有很多的细节要考虑,这就需要我们产品经理多学习了,不仅要学习产品的设计,规划相关的知识,还要了解AI视觉相关的知识,才能设计出更好的产品。
本文由 @Eric_d 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议