基于人脸识别的门禁控制系统开发指南

在本文中,将详细介绍如何开发一个基于人脸识别技术的门禁控制系统。该系统能够检测和记录人脸图像到数据库中,识别进入特定区域的已知用户,并在用户的人脸与数据库中的图像匹配时授予访问权限。

系统工作原理

人脸识别门禁控制系统主要由两个子系统组成:

cvservice是一个使用Intel® Computer Vision SDK (Intel® CV SDK)的C++应用程序。它连接到USB摄像头(用于检测人脸),然后基于授权用户的培训数据文件执行人脸识别,以确定检测到的人是否为已知用户或之前未知的用户。当用户被识别时,消息会发布到MQTT*代理,处理后的输出帧以原始格式写入stdout(以便通过ffmpeg进行压缩和流式传输)。在这里,使用摄影视觉库进行面部检测和识别。

webservice使用MQTT代理与cvservice交互。它是一个基于Node.js*的应用程序,用于在用户访问站点提供视觉反馈。当用户被识别为授权用户时,系统会向他们打招呼,或者给他们注册为新用户的选项。它显示高质量、低延迟的运动JPEG流,以及用户界面和数据分析。

用户界面包含三个标签:

  • 实时视频流
  • 用户注册
  • 访问历史数据分析

以下是实时视频流标签的样子:

以下是用户注册标签的样子:

以下是访问历史数据分析标签的例子:

硬件要求

第五代Intel® Core™处理器或更新版本,或

Intel® Xeon® v4或Intel® Xeon® v5处理器,配备Intel® Graphics Technology(如果OEM在BIOS和主板中启用)[在NUC6i7KYK上测试]

USB网络摄像头[与Logitech* C922x Pro Stream测试]

软件要求

Ubuntu* 16.04

Intel® CV SDK Beta

如何设置

下载并安装OpenCL*

Intel® CV SDK需要OpenCL*,可以单独下载。提供了一个帮助安装过程的脚本:

tar xf install_OCL_driver2_sh.tgz

然后准备一个临时工作区并运行脚本:

mkdir opencl-temp ./install_OCL_driver2.sh install --workspace opencl-temp

对于这个应用程序,不需要重新编译Linux*内核,因此在安装过程中被问到时回答

no

。更多详细信息和说明在

这篇文章

中提供。文章中提到的系统分析器实用程序可以用来确认正确的安装。

安装Intel® CV SDK的指南在

这里

提供。完成注册后,下载Ubuntu*的存档,解压缩它,并运行GUI安装程序:

tar xaf intel_cv_sdk_ubuntu_.tgz cd intel_cv_sdk_ubuntu_ ./install_GUI.sh

当被提示时,作为root用户或具有root权限的用户安装。其余的指南假设将在默认位置安装Intel® CV SDK。

这个参考实现使用ffmpeg将cvservice的视频输出压缩并流式传输到webservice客户端。ffmpeg单独从Ubuntu仓库安装:

sudo apt update sudo apt install ffmpeg

安装Paho* MQTT* C客户端库依赖项:

sudo apt update sudo apt install libssl-dev

构建可执行文件(从cvservice目录):

mkdir build cd build cmake .. make

如何在webservice文件夹中设置Node.js服务的说明。

运行应用程序

启动webservice,包括服务器和前端组件。

使用以下命令启动ffserver:

sudo ffserver -f ./ffmpeg/server.conf

导出所需的环境变量:

export MQTT_SERVER=localhost:1883 export MQTT_CLIENT_ID=cvservice export FACE_DB=./defaultdb.xml export FACE_IMAGES=../../webservice/server/node-server/public/profile/

从cvservice/build目录启动cvservice并管道到ffmpeg:

./cvservice 0 2>/dev/null | ffmpeg -f rawvideo -pixel_format bgr24 -video_size vga -i - http://localhost:8090/fac.ffm http://localhost:8080
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485