前端人脸识别解决方案

19 篇文章 1 订阅
14 篇文章 0 订阅

最近业务功能需求开发中Web端需要接入人脸识别,于是做了技术预演

1.第三方解决方案

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

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

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

 

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

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

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

  •  

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

  • 五官定位

  • 人脸对比、搜索等等

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

  •  

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

    主要有以下几个环节👇:

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

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

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

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

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

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

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

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

2.开源库

2.1 Tracking.js

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

 

 

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

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

 

拓展阅读:

  • Github - tracking.js[7]

2.2 Face-api.js

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

 

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

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

图片

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

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

图片

如果你想在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

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人像大数据系统采用高效的人脸检测定位及识别比对系统,可以第一时间帮助公安侦查人员快速识别辨别特定人员真实身份,把过去人工排查海量的视频图像资源比对需求变成现实,从而有效的为公安视频侦查、治安管理、刑侦立案等工作提供实战上的有效帮助和解决方法。第二可帮助公安侦查人员办案时候追查和通缉,真正从打变为防,能够极大的减少警力资源浪费和事故发生概率。 目前人脸抓拍比对系统主要应用在以下几个方面: 公安治安人员黑名单比对实时报警: 针对一些人员密集区域(如车站、地铁站、机场、社区等)的关键出入口、通道等卡口位置布置人员卡口,后端对重点关注人员、打防控人员进行黑名单布控,通过实时视频流比对布控黑名单,实现人脸比对识别。 不明身份人员身份确认: 治安人员在日常巡逻、人员身份验证过程中,避免肢体接触和冲突,使用前端摄像机或手机进行抓拍,后端通过数据库进行人员信息比对分析,达到人员身份确认的应用。 治安或刑侦人员对流动性人口中的无合法有效身份证件、无固定住所、无正当职业或合法经济来源的人员进行非接触性身份确认。 重要点位重点人员身份排查: 针对一些重要管控的区域,如大型保障活动,政府、公安出入口等布置前端摄像机对现场进行人脸抓拍,每日安排公安人员人工进行重点人员筛选排查。
智能家居人脸识别源码SSM是一种基于Java语言开发的用于智能家居的人脸识别系统的源代码。SSM是指Spring+SpringMVC+MyBatis,是一种常用的Java开发框架,提供了一种高效、简洁、灵活的开发方式。 智能家居人脸识别技术是指利用计算机视觉和模式识别的方法,通过摄像头对人脸进行图像采集和特征提取,并与预先存储的人脸特征进行比对,从而实现对人脸身份的快速识别。 智能家居人脸识别源码SSM提供了一套完整的人脸识别系统的实现框架和代码,包括前后端的开发解决方案前端采用了基于HTML、CSS和JavaScript的Web页面展示,以及基于AJAX的数据交互方式,使得系统在用户界面友好、操作便捷的同时,能够充分利用网络资源和实现实时交互。 智能家居人脸识别源码SSM的后端采用了Spring框架进行系统的基本配置和依赖注入管理,SpringMVC框架处理页面请求和业务逻辑,MyBatis框架实现数据持久化和访问。这样的框架组合能够有效提高系统的可扩展性和可维护性。 智能家居人脸识别源码SSM实现了人脸图像的采集、人脸特征提取、特征对比及识别、身份验证等功能。还提供了系统管理、用户管理、权限控制等基本功能,方便用户进行系统的配置和管理。 智能家居人脸识别源码SSM的开发源于对智能家居领域的需求和对人脸识别技术的研究,可以帮助开发人员快速搭建一个基于人脸识别的智能家居系统。同时,开发人员也可以在此基础上进行功能和界面的定制化开发,以满足不同用户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学而时习之不亦说乎。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值