Blazeface 人脸检测器

2020 年 3 月 16 日 TensorFlow

文 /  Debidatta Dwibedi, 副研究员, Google Research

Blazeface 是一种可检测图像中人脸的轻量级模型。Blazeface 使用自定义编码器的 Single Shot Detector 架构,可以用在与面部相关的计算机视觉应用的第一个步骤里(如面部关键点识别)。

  • Blazeface
    https://arxiv.org/abs/1907.05047

  • Single Shot Detector 
    https://arxiv.org/abs/1512.02325


可以在下方网址中获取该模型更多的细节信息,包括其在不同数据集上的表现。

  • 下方
    https://drive.google.com/file/d/1f39lSzU5Oq-j_OXgS67KfN5wNsoeAZ4V/view


Blazeface 是为移动设备上的前置摄像头设计的,在这种情况下拍摄到的人脸通常占画面中占据较大部分。也就是说,Blazeface 可能难以检测出远距离的面孔。


请观看我们的 演示,我们使用此轻量级模型从实时视频流中预测面部边界框。

  • 演示
    https://storage.googleapis.com/tfjs-models/demos/blazeface/index.html


该模型还可以作为 MediaPipe 的一部分使用,MediaPipe 是用于构建多模型机器学习流水线的框架。

  • MediaPipe
    https://github.com/google/mediapipe/tree/master/mediapipe/models



安装

若使用yarn:

$ yarn add @tensorflow-models/blazeface
若使用   npm:
$ npm install @tensorflow-models/blazeface

请注意,此软件包将@tensorflow/tfjs-core 和 @tensorflow/tfjs-converter指定为同版本依赖项,因此也需要安装它们。



使用

导入到 npm:
     
     
       
import * as blazeface from '@tensorflow-models/blazeface';
或作为独立的脚本标签:
     
     
       
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/blazeface"></script>
然后:
     
     
       
async function main() {
  // Load the model.
  const model = await blazeface.load();
 
  // Pass in an image or video to the model. The model returns an array of
  // bounding boxes, probabilities, and landmarks, one for each detected face.
 
  const returnTensors = false; // Pass in `true` to get tensors back, rather than values.
  const predictions = await model.estimateFaces(document.querySelector("img"), returnTensors);
 
  if (predictions.length > 0) {
    /*
    `predictions` is an array of objects describing each detected face, for example:
 
    [
      {
        topLeft: [232.28, 145.26],
        bottomRight: [449.75, 308.36],
        probability: [0.998],
        landmarks: [
          [295.13, 177.64], // right eye
          [382.32, 175.56], // left eye
          [341.18, 205.03], // nose
          [345.12, 250.61], // mouth
          [252.76, 211.37], // right ear
          [431.20, 204.93] // left ear
        ]
      }
    ]
    */
 
    for (let i = 0; i < predictions.length; i++) {
      const start = predictions[i].topLeft;
      const end = predictions[i].bottomRight;
      const size = [end[0] - start[0], end[1] - start[1]];
 
      // Render a rectangle over each detected face.
      ctx.fillRect(start[0], start[1], size[0], size[1]);
    }
  }
}
 
main();


登录查看更多
1

相关内容

一种目标检测算法
模型优化基础,Sayak Paul,67页ppt
专知会员服务
75+阅读 · 2020年6月8日
专知会员服务
31+阅读 · 2020年4月24日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
keras实战︱人脸表情分类与识别:人脸检测+情绪分类
数据挖掘入门与实战
21+阅读 · 2017年12月16日
深度学习人脸检测和识别系统 DFace | 软件推介
开源中国
7+阅读 · 2017年12月9日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Arxiv
5+阅读 · 2019年2月28日
Arxiv
4+阅读 · 2018年12月20日
Implicit Maximum Likelihood Estimation
Arxiv
7+阅读 · 2018年9月24日
Arxiv
6+阅读 · 2018年2月6日
VIP会员
相关资讯
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
keras实战︱人脸表情分类与识别:人脸检测+情绪分类
数据挖掘入门与实战
21+阅读 · 2017年12月16日
深度学习人脸检测和识别系统 DFace | 软件推介
开源中国
7+阅读 · 2017年12月9日
相关论文
Top
微信扫码咨询专知VIP会员