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

一、前言

本文是《人臉識別完整項目實戰》系列博文第1部分,第2節《項目系統架構設計》,本章內容系統介紹:人臉系統系統的項目架構設計,包括:業務架構、技術架構、應用架構和數據架構四部分內容。

本內容已經錄製成視頻課程,詳見CSDN學院

整個《人臉識別完整項目實戰》系統架構結構如下圖所示:

項目概述篇:系統介紹人臉識別項目的系統架構設計、項目關鍵技術說明、項目業務需求分析、項目業務流程設計;

環境部署篇:提供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 。

微信公衆號:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章