构建面部识别访问控制解决方案

该应用程序检测人脸并将图像登记至数据库。 它识别进入指定区域的已知用户,如果人脸与数据库中的一个图像匹配,则准予进入。

目标操作系统 Ubuntu* 16.04 LTS
完成需时 40 分钟

GitHub* (C++)

您的学习内容

学习如何创建使用面部识别来授权进入保安入口或限制区域的智能视频物联网解决方案。

深入了解以下解决方案:

  • 物联网的计算机视觉应用
  • 分析数据集的推理
  • 零售业或工业市场物联网

使用本参考实施中学习的技能开发类似的物联网解决方案。

学习构建并运行一个应用程序,其功能为:

检测并登记人脸的图像至数据库。
识别进入指定区域的已知用户。
如果人脸与数据库中的一个图像匹配,则准予进入。

它如何工作

该解决方案由两个主要服务组成,这些服务提供分析和数据解释的用户界面。

  1. 计算机视觉分析:此 C++ 应用程序使用英特尔® Distribution of OpenVINO™ toolkit,并连接至 USB 摄像头以检测人脸。
    • 该应用程序根据授权用户的训练数据文件执行面部识别,以确定检测到的人是否为已知用户。
    • 当用户被识别时,消息发布至 MQTT 中介,而经处理的输出帧以原始格式被写入 stdout(将通过管道被传输至 ffmpeg 进行压缩和串流)。 英特尔的摄影视觉库在此处被用于面部检测和识别。
  2. 应用程序用户界面:该应用程序使用 MQTT 中介与计算机视觉分析服务互动,并基于 Node.js* 以在用户接入站上提供视觉反馈。
    • 当用户被识别为授权用户时,会向其表示欢迎;或者向用户提供注册为新用户的选项。
    • 用户界面显示高质量、低延迟的移动 JPEG 流,伴有数据分析。

该用户界面还提供有关下列各项的信息:

  • 直播串流视频
  • 用户注册
  • 访问历史的分析