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

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

目标操作系统 Ubuntu* 16.04 LTS
编程语言 C++
完成需时 40 分钟

在 GitHub* 上观看

它的功能

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

检测并登记人脸的图像至数据库

识别进入指定区域的已知用户

如果人脸与数据库中的一个图像匹配,则授予访问权限

该系统由两个主要子系统组成:

cvservice

  • 此 C++ 应用程序使用 OpenVINO™ 工具套件,并连接至 USB 摄像头以检测人脸。 然后,该应用程序根据授权用户的训练数据文件以确定检测到的人员是已知用户或是以前未知的用户。 当用户被识别时,消息发布至 MQTT* 中介,而经处理的输出帧以原始格式被写入 stdout(将通过管道被传输至 ffmpeg 进行压缩和串流)。 英特尔的摄影视觉库在此处被用于面部检测和识别。

webservice

  • 此应用程序使用 MQTT 中介与 cvservice 互动,并基于 Node.js* 以在用户接入站上提供视觉反馈。 当用户被识别为授权用户时,会向其表示欢迎;或者向用户提供登记为新用户的选项。 该应用程序显示高质量、低延迟的移动 jpeg 流,伴有用户界面和数据分析。

我们使用的软硬件

硬件要求

第五代英特尔® 酷睿™ 处理器(或更高)或 英特尔® 至强® 处理器(v4 或 v5),利用英特尔® 显卡技术

USB 网络摄像头

软件要求

Ubuntu* 16.04 LTS

OpenVINO™ 工具套件