【人脸识别实战一】系统架构设计

发布时间:2023-12-06 13:00

1、前言

    《人脸识别实战》系列文章将讲述一个人脸识别系统的设计与实现过程。本文是系列文章的开篇,主要描述系统的整体架构和各模块的功能职责,以及系统所需要的环境依赖部署。详细的设计细节及项目源码地址在以下的公众号发布:

文章同步更新在公众号 AIPlayer,欢迎扫码关注,共同进步

【人脸识别实战一】系统架构设计_第1张图片

2、系统整体架构

【人脸识别实战一】系统架构设计_第2张图片

2.1 服务器端

(1)网络消息处理模块

    主要负责管理客户端发送来的网络连接请求、消息数据的收发与数据协议解析,以及对图像数据的编解码处理。在系统中以JSON格式进行消息封装,使用TCP连接进行收发通信,而图像数据的解码仅支持OpenCV对图像数据的编解码操作。

(2)图像处理模块

    图像处理模块负责处理人脸图像的数据,需要实现的功能包括:

  • 人脸检测:如果客户端发送来的图像数据是人脸图像则不需要再进行检测,否则就需要对人脸进行检测。系统将采用基于ncnn实现的MTCNN算法进行部署。

  • 人脸对齐:将检测到的人脸图像区域调整到正常角度,系统中将使用OpenCV的仿射变换来进行对齐。

  • 人脸特征提取:系统将集成FaceNet和InsightFace两种算法进行人脸的特征提取。

  • 人脸特征比对:使用欧式距离进行人脸特征比对,在阈值范围内选择最小值作为比对结果。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号