• 人脸识别完整项目实战(3):项目系统架构设计


    一、前言

    本文是《人脸识别完整项目实战》系列博文第1部分,第3节《项目系统架构设计》,本章内容系统介绍:人脸系统系统的项目架构设计,包括:业务架构、技术架构、应用架构和数据架构四部分内容。

    本内容已经录制成视频课程,详见:网易云课堂

    整个《人脸识别完整项目实战》系统架构结构如下图所示:

     

    项目概述篇:系统介绍人脸识别项目的系统架构设计、项目关键技术说明、项目业务需求分析、项目业务流程设计;

    环境部署篇:提供C++和Python两种编程语言的版本,系统介绍项目开发环境概述、DLib框架源码编译、项目工程文件创建、项目开发环境配置、项目性能优化设置;

    程序设计篇:从实时视频采集开始,涵盖人脸区域检测、人脸特征点标定、人脸对齐、人脸比对和活体检测等全部技术环节的代码设计、运行演示和执行结果输出;

    模型训练篇:基于人脸识别区域检测和人俩识别特征点标定两个应用场景,介绍数据样本采集、算法模型训练和算法模型测试的过程,让大家都人脸识别有一个完整的直观的认识;

    算法原理篇:基于人脸识别区域检测和人俩识别特征点标定两个应用场景,人脸区域检测和人脸特征点标定的算法原理和实现机制,让大家对人脸识别与机器学习、深度学习进行有效关联;

    学习框架篇:系统介绍主流深度学习框架,重点就本课程用到Dlib深度学习框架进行介绍,通过dlib深度学习实战案例1和dlib深度学习实战案例2,两个完整的案例,让大家对dlib的深度学习框架有一个直观的认识;

    二、正文

    2.1 业务架构

    人脸识别系统的业务架构,可以分为三大层次:样本标注、模型训练和模型应用。样本标注,包括样本标注工具的使用、人脸区域检测样本标注和人脸特征点标定样本标注;模型训练,包括人脸区域检测模型训练、人脸区域检测模型评估,人脸特征点标定模型训练、人脸特征点标定模型评估,已经人脸比对模型训练和人脸比对模型评估;模型应用,包括实时视频采集、实时图像抓拍、实时人脸检测、实时人脸特征点标定、实时人脸特征点对齐、实时人脸比对、实时眨眼识别、实时张嘴识别。人脸识别业务架构如下图所示:

    2.2 技术架构

    人脸识别的技术架构,可以划分为四个层次:基础设施层、学习框架层、算法模型层和计算机视觉技术层。基础设施层主要包括CPU/GPU/云集算和大数据,其中与人脸识别项目相关度最高的是GPU,对应的开发框架是cuda。学习框架层主要包括计算机视觉相关的Opencv、Dlib、TensorFlow和Keras。算法模型层涉及的关键技术主要包括人脸区域检测算法模型(Hog/CNN),人脸特征点检测算法模型(ResNet/CNN),人脸对齐算法模型、人脸验证算法模型和活体检测算法模型。计算机视觉技术层主要包括实时视频采集、实时图像抓拍、实时人脸检测、实时人脸特征点标定、实时人脸特征点对齐、实时人脸比对、实时眨眼识别、实时张嘴识别等。人脸识别系统的技术架构如下图所示:

    2.3 应用架构

    典型的人脸识别系统,通常采用C/S/D架构,分为客户端、服务器端和数据端。其中客户端承担人脸采集和人脸注册两大职责。人脸采集功能包括视频采集、实时人脸区域检测、实时人脸区域抓拍和人脸识别接口调用。人脸注册功能包括:实时视频采集、实时人脸区域检测、实时人脸区域抓拍和人脸注册接口调用。服务器端负责实际的人脸特征点检测、人脸特征点对齐、人脸比对、眨眼识别、张嘴识别等实际功能,并提供人脸识别服务接口和人脸注册服务接口。数据端负责数据资源和模型资源的管理和维护,包括注册人脸图像库、注册人脸标签库、人脸区域检测模型、人脸特征点标注模型和人脸验证模型等。人脸识别系统的应用架构如下图所示:

    2.4 数据架构

    人脸识别系统的数据架构,分为样本数据、训练模型和应用数据三个层次。样本数据层是训练人脸识别相关模型的输入数据,包括人脸图像和标签数据;训练模型层则包括人脸区域检测模型、人脸特征点标注模型、人脸验证模型等;应用数据层则包括注册人脸资源库和注册人脸标签库。人脸识别系统数据架构如下图所示:

    三、未完待续

    本文是《人脸识别完整项目实战》系列博文第3章《项目系统架构设计》,全文共53个章节,持续更新,敬请关注。人脸识别技术交流QQ群:859860225 。

    微信公众号:

  • 相关阅读:
    linux 命令——19 find (转)
    linux 命令——18 locate (转)
    linux 命令——17 whereis(转)
    linux 命令——16 which(转)
    linux 命令——15 tail (转)
    linux 命令——14 head (转)
    Java for LeetCode 038 Count and Say
    Java for LeetCode 037 Sudoku Solver
    Java for LeetCode 036 Valid Sudoku
    Java for LeetCode 035 Search Insert Position
  • 原文地址:https://www.cnblogs.com/hadoopdev/p/10570479.html
Copyright © 2020-2023  润新知