当前位置: 七九推 > 科技>人工智能>人脸 > 这几个人脸识别解决方案你用过没?

这几个人脸识别解决方案你用过没?

2022年06月23日 人脸 我要评论
1.第三方解决方案 现有的云服务商解决方案: 旷世 - 人脸识别 face++[1]腾讯云神图 - 人脸识别[2]阿里云 - 人脸识别[3] 云服务商的方案更全面&#x

2b0ac0491c4cdb9a6d9e4f09b733cd1a.png

1.第三方解决方案

现有的云服务商解决方案:

  • 旷世 - 人脸识别 face++[1]

  • 腾讯云神图 - 人脸识别[2]

  • 阿里云 - 人脸识别[3]

2b359794a8c36c988c052e1817dbdf74.png

云服务商的方案更全面,不单单只支持人脸识别,还包括比如

  • 五官定位

  • 人脸对比、搜索等等

  • 人脸核身(身边场景最多)

市场还有很多类似的解决方案,这里不一一列举,下面是某云服务商的报价

10280402cbc2894aef88adc837ad2f33.png

那如果不用云服务商的方案,我们自己如何实现一个基础的人脸识别功能呢?

树酱君预演了开源的人脸识别库,做了Demo如下 👇

d1d7193f7f05e9f79a31d5874f499fcb.png

开发一个完整的人脸识别模块具体需要哪些步骤?

主要有以下几个环节👇:

  • 1 调起摄像头,获取摄像头的视频流数据

  • 2 使用人脸识别库(下文讲解)识别视频流数据中的人脸数据,通过算法定位人脸

  • 3 当捕获到人脸数据,则报错捕获状态下的视频流当前帧,用canvas绘制图像

  • 4 将绘制的图片转为base64格式

以上就是完成人脸识别所需的步骤,如果你想在这个基础上,做人脸比对或者身份证校验等拓展功能,可以借助用户的身份证、姓名等信息,再结合第三方的AI服务,比如腾讯云的人脸核身[4]来完成,本质上底层数据支持来自公安的实名认证接口

Web API中有个MediaDevices.getUserMedia()的方法,调用后会提示用户给予使用媒体输入的许可,媒体输入会产生一个MediaStream,里面包含了请求的媒体类型的轨道。此流可以包含一个视频轨道。

e7cd21559e7fbc20ffe8cc613787fc81.png

上面是实例代码,注意定义好异常情况处理

详细参考文档:MediaDevices.getUserMedia() - Web API | MDN[5]

接下来我们来聊一聊本文的重点:人脸识别库~

2.开源库

2.1 Tracking.js

4acffb2442e5896debbe2af0edf5d2b8.png

tracking.js是比较年限比较老的库,本质上是通过检测并捕获人脸(物体)的信息,最终触发JavaScript事件,并对人脸进行采集

我们是如何用Tracking.js捕获人脸的?看下图代码👇 (需注意:需等video的元数据加载后再触发,也就是video的onloadedmetadata事件)

c6823df6729465bebcb57fbf4c8bd3b8.png

拓展阅读:

  • Github - tracking.js[7]

2.2 Face-api.js

da51fc716da142fb705c51896b9caf1f.pngFace-api.js vs Tracking.js 对比优势在于:前者在性能和准确度都表现更佳

ce0ff82df5165fcb8ddd22f0e3750958.png

TensorFlow.js 是一个用于使用 JavaScript 进行机器学习开发的库,直接人工智能了!故事是这样的,原本是库名叫face-recognition.js,本质上是基于node.js来实现人脸识别,而当时作者发现了Tensorflow.js,热衷于浏览器中的机器学习。于是就把现有的人脸识别模型迁移到tensorflow.js上来,这也是Face-api.js 诞生的由来

我们来看看实际中使用的核心代码的实现👇(递归识别)

adb4acc1c66da25d60fa37fe42d9a0ac.png

如果你想在vue中使用可以参考这个完整的Github Demo: face-api-demo-vue[9]

3.最后

Reference

[1]

旷世 - 人脸识别 face++: https://www.faceplusplus.com.cn/face-detection/

[2]

腾讯云神图 - 人脸识别: https://cloud.tencent.com/product/facerecognition

[3]

阿里云 - 人脸识别: https://ai.aliyun.com/face

[4]

人脸核身: https://cloud.tencent.com/document/product/1007/31816

[5]

MediaDevices.getUserMedia() - Web API | MDN: https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia

[6]

官网链接: https://trackingjs.com/

[7]

Github - tracking.js: https://github.com/eduardolundgren/tracking.js/

[8]

官网链接: https://justadudewhohacks.github.io/face-api.js/docs/index.html

[9]

face-api-demo-vue: https://github.com/TsMask/face-api-demo-vue


请你喝杯🍵 记得三连哦~

1.阅读完记得给🌲 酱点个赞哦,有👍 有动力

2.关注公众号前端那些趣事,陪你聊聊前端的趣事

3.文章收录在Github frontendThings 感谢Star✨

1905fe6f526aff155218bf7c944f08f3.png

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2022  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com