基于Face-api.js框架,在前端完成人脸识别
本文为大家介绍的是一款在浏览器端运行的人脸识别框架,即Face-api.js 。它基于TensorFlow.js,完成了从人脸检测,提取特征点,计算描述符和人脸匹配等一系列步骤。
由于此框架的易用性,通过寥寥几行JavaScript代码即可完成端到端的识别,以下介绍人脸识别的一般步骤:
人脸检测
首先,我们从图片或者视频帧中定位出人脸位置。框架为我们提供了三种用于人脸检测的模型。
Tiny Face Detector
Tiny Face Detector是一款性能非常高的实时人脸检测器,与SSD Mobilenet V1人脸检测器相比,它更快,更小,资源消耗更少,作为回报,它在检测小脸时的表现稍差。这个型号极具移动性和网络友好性,因此它应该是移动设备和资源有限的客户端上的GO-TO人脸检测器。量化模型的大小仅为190 KB(tiny_face_detector_model)。
SSD Mobilenet V1
对于面部检测,该项目实现了基于MobileNetV1的SSD(单次多盒检测器)。神经网络将计算图像中每个面部的位置,并将返回边界框以及每个面部的概率。该面部检测器旨在获得检测面部边界框而不是低推理时间的高精度。量化模型的大小约为5.4 MB(ssd_mobilenetv1_model)。
MTCNN
MTCNN(多任务级联卷积神经网络)代表了SSD Mobilenet v1和Tiny Yolo v2的替代面部检测器,它提供了更多的配置空间。通过调整输入参数,MTCNN应该能够检测各种面部边界框大小。MTCNN是一个3级级联CNN,它同时返回5个面部标志点以及每个面的边界框和分数。此外,型号尺寸仅为2MB。
提取68个特征点
该套件实现了一个非常轻巧,快速,准确的68点面部标志探测器。默认模型的大小仅为350kb(face_landmark_68_model),微小模型仅为80kb(face_landmark_68_tiny_model)。两种模型都采用深度可分离卷积以及密集连接块的思想。此外,模型已经在一个标有68个面部标志点的约35k个面部图像的数据集上进行了训练。
计算描述符
对于面部识别,实现类似ResNet-34的体系结构以从任何给定面部图像计算面部描述符(具有128个值的特征向量),其用于描述人脸的特征。该模型不仅仅用于训练的面部集合,这意味着您可以将其用于任何人的面部识别,例如您自己。您可以通过比较它们的面部描述符来确定两个任意面的相似性,例如通过计算欧氏距离或使用您选择的任何其他分类器。
完成人脸识别
基于描述符,可以构建人脸识别匹配器。将其于视频帧中人脸描述符对比,若存在,则可输出人名及相似度。
补充
此外,项目还有其独特的表情检测和年龄检测功能,具体代码使用可见github开源项目。
https://github.com/justadudewhohacks/face-api.js
以下为额外功能效果图:
时间:2019-07-27 16:27 来源:可思数据 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [机器视觉]取快件只能“人脸识别”?上海邮政:已约谈申通、菜鸟驿站等,代收需征得同
- [机器视觉]人脸识别黑产:真人认证视频百元一套,能通过App验证
- [机器视觉]人脸识别进社区:“刷脸”背后的隐私安全之问
- [机器视觉]过半受访者对人脸识别技术使用心存疑虑
- [机器视觉]人脸识别国标拟规定:不得强制刷脸、预测偏好 不对14周岁以下人脸识别
- [机器视觉]“人脸识别”繁荣背后的反思
- [机器视觉]人脸识别技术的优缺点
- [机器视觉]谁“动”了你的脸——人脸识别技术背后的隐私保护
- [机器视觉]没有健康码难出行?人脸识别助力健康码无障碍使用
- [机器视觉]格灵深瞳:人脸识别最新进展以及工业级大规模人脸识别实践探讨
相关推荐:
网友评论: