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

简介: 哈喽,我是树酱。最近业务功能需求开发中Web端需要接入人脸识别,于是做了技术预演。可能你会问:不是蛮多云服务商开放这方面的接口支持,直接用不香吗?还要自己造轮子多费劲呀。 是的,我也调研了不少解决方案,但是人家是要收费的呀(而且费用不低)或者甲方不买单~“卑微前端开发”

微信截图_20220514235101.png


哈喽,我是树酱。最近业务功能需求开发中Web端需要接入人脸识别,于是做了技术预演。可能你会问:不是蛮多云服务商开放这方面的接口支持,直接用不香吗?还要自己造轮子多费劲呀。 是的,我也调研了不少解决方案,但是人家是要收费的呀(而且费用不低)或者甲方不买单~“卑微前端开发”


1.第三方解决方案


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


微信截图_20220514235112.png


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


  • 五官定位
  • 人脸对比、搜索等等
  • 人脸核身(身边场景最多)


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


微信截图_20220514235131.png


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


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


微信截图_20220514235145.png


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


主要有以下几个环节👇:


  • 1 调起摄像头,获取摄像头的视频流数据
  • 2 使用人脸识别库(下文讲解)识别视频流数据中的人脸数据,通过算法定位人脸
  • 3 当捕获到人脸数据,则报错捕获状态下的视频流当前帧,用canvas绘制图像
  • 4 将绘制的图片转为base64格式


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


啊乐同学:树酱,那步骤一调用摄像头,是如何发起的?


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


微信截图_20220514235156.png


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


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


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


2.开源库


2.1 Tracking.js


介绍:Tracking.js 库给浏览器带来不同的计算机视觉算法和技术,通过使用流行的 HTML5 规范可以让你实时的对网页进行颜色跟踪、人脸识别等等,体积也很小 官网链接


微信截图_20220514235206.png


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


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


微信截图_20220514235215.png


拓展阅读:



2.2 Face-api.js


介绍:Face-api.js 本质上是一个建立在Tensorflow.js内核上的 javascript API,它实现了三种卷积神经网络架构,用于完成人脸检测、识别和特征的检查,可以在浏览器中进行人脸识别。官网链接


微信截图_20220514235227.png


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


啊乐同学:树酱,这个Tensorflow.js是什么?


微信截图_20220514235241.png


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


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


微信截图_20220514235254.png


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


3.最后


如果你有其他解决方式,欢迎在评论区留言,也可以加我微信,我们一起喝茶🍵 讨论




相关文章
|
2月前
|
监控 Linux C#
【干货分享】.NET人脸识别解决方案
【干货分享】.NET人脸识别解决方案
|
4月前
|
计算机视觉
关于人脸识别最近浏览器打不开摄像头的解决方案
关于人脸识别最近浏览器打不开摄像头的解决方案
|
数据采集 编解码 小程序
微信小程序 | 人脸识别的最终解决方案
微信小程序 | 人脸识别的最终解决方案
1539 0
微信小程序 | 人脸识别的最终解决方案
|
数据采集 移动开发 前端开发
漏刻有时数据可视化大屏数据采集工具(2):百度人脸识别调用微信摄像头ajax上传识别的解决方案
漏刻有时数据可视化大屏数据采集工具(2):百度人脸识别调用微信摄像头ajax上传识别的解决方案
79 0
|
JSON PHP 计算机视觉
php百度人脸识别param[image_template] is null使用BASE64图片类型json_decode返回NULL的处理解决方案
php百度人脸识别param[image_template] is null使用BASE64图片类型json_decode返回NULL的处理解决方案
119 0
|
PHP 计算机视觉
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
php利用百度人脸识别实现人脸融合的解决方案(1)image_type为URL类型
93 0
|
机器学习/深度学习 人工智能 移动开发
《白皮书》:专为人脸识别定制的安全解决方案
为全面分析人脸识别市场现状、面临的风险隐患及有效的安全保障措施,顶象近日发布《人脸识别安全白皮书》。该白皮书就保障人脸识别系统安全的能力列出具体要求,并推荐了专业的人脸安全解决方案。
227 0
《白皮书》:专为人脸识别定制的安全解决方案
|
存储 人工智能 算法
全新的智能人脸识别测温系统解决方案
随着春节假期的来临,全国各大城市的火车站、机场、地铁等公共场所将成为疫情防控的重点区域。在这些人流密集的区域实现非接触式筛查、高温群体快速检测是许多城市共同面临的挑战。需要全新的智能人脸识别测温系统来解决这些难题。
485 0
全新的智能人脸识别测温系统解决方案
|
4月前
|
弹性计算 Java PHP
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
对于初次购买阿里云产品的用户来说,第一步要做的是注册账号并完成实名认证,然后才是购买阿里云服务器或者其他云产品,本文为大家以图文形式展示一下新手用户从注册阿里云账号、实名认证到购买云服务器完整详细教程,以供参考。
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
|
3月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之uniapp框架如何使用阿里云金融级人脸识别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。