天天看點

人臉識别完整項目實戰(3):項目系統架構設計

本文是《人臉識别完整項目實戰》系列博文第1部分,第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 。

微信公衆号: