本文是《人臉識别完整項目實戰》系列博文第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 。
微信公衆号: