速速圍觀!虹軟人臉技術公開課Windows專場完整視頻大公開

自ArcFace3.0上線以來,憑藉對人臉識別、活體檢測、年齡檢測、性別檢測等核心算法模型進行全面升級,大幅提升算法魯棒性,顯著降低接入門檻,同時支持Windows、iOS、Android(包含Android10)、Linux,在性能和開發效率上進行了整體提升,又保持著了免費、離線的初心,成為廣大開發者落地AI應用的利器。

實際使用中,開發者往往會提出一系列細節問題,為幫助開發者快速上手,虹軟工程師團隊悉心打磨了一系列課程,以技術解析和專項答疑等形式幫助開發者解決難題。上一期課程講解了安卓端AI應用開發技巧,本期重點幫助用戶快速接入Windows版本的ArcFace 3.0 SDK,以及對接入過程中常見問題的答疑。


要點1

【3分鐘跑通C++ demo】

SampleCode配置過程:


課程基於虹軟人臉識別SDK包中提供的示例代碼,以實操的形式介紹瞭如何快速接入使用。接入過程在課程視頻中有詳細介紹。建議觀看視頻後自行嘗試配置,即可對虹軟人臉識別技術有一個初步的瞭解。

Demo配置過程:

虹軟人臉識別SDK包中還包含可視化的Demo工程,根據如下步驟配置完成後,可運行調試,瞭解調用邏輯以及算法效果。

【1】從ArcFace SDK 包中獲取Demo,用VS2015啟動項目。


【2】替換ArcFace SDK頭文件和庫文件。


【3】將從官網獲取的APPID/SDKKEY配置到setting.ini文件中。


【4】將OpenCV和ArcFace DLL文件拷貝到執行目錄下。


【5】運行提示缺失系統庫,根據提示將缺失的系統庫拷貝到執行目錄下。


要點2

【ArcFace重點接口及參數介紹】

重要接口:InitEngine接口

初始化接口可以說是最重要的接口,若初始化失敗則其他接口無法正常調用,同時,初始化中的參數設置也與算法能夠呈現出的效果息息相關。

初始化失敗時,根據錯誤碼查詢原因即可。參數設置是開發者最關心的核心問題,也是保障在實際應用場景中最大化發揮算法效果的關鍵。視頻中主要介紹以下幾個參數在實際場景下如何應用。


detectMode: 檢測模式


detectFaceOrientPriority:人臉檢測角度優先級


detectFaceScaleVal:數值越大,能檢測越小的人臉


combinedMask:根據功能選擇組合方式,功能選擇越多,佔用的內存越大


重要參數Ⅰ:步長


含義:步長可以理解為一個圖像通道中一行像素的字節數。


作用:新版本引入步長的概念。老用戶都知道之前版本的接口圖像傳輸方式,對寬度有四字節對齊的要求。新版本引入圖像ASF_ImageData圖像數據結構體,將之前的圖像參數封裝在一起,並引入步長參數,主要為兼容更高字節對齊的圖像。

以下是一張大小為1000x554的圖片,以不同步長解析的結果:

速速圍觀!虹軟人臉技術公開課Windows專場完整視頻大公開

重要參數Ⅱ:compareModel參數


含義:目前支持生活照和證件照兩種比對模式。


作用:在ARCFace 3.0產品中新增比對模式的選擇,避免用戶需要既接入人證模塊場景,又要引入人證SDK。


速速圍觀!虹軟人臉技術公開課Windows專場完整視頻大公開


重要參數Ⅲ:combinedMask參數


Process接口中combinedMask參數,與初始化接口中該參數的含義不一樣。Process接口中的參數與初始化接口中該參數存在依賴關係,且有自身的取值範圍。如下圖所示,結合視頻課程可以幫助開發者理解得更深刻。

速速圍觀!虹軟人臉技術公開課Windows專場完整視頻大公開

要點3【門禁系統業務流程解析】


下圖為常見多人臉門禁場景的邏輯流程圖,可以從以下角度進行分析:


【線程角度】


主線程:包含人臉追蹤以及畫面預覽功能。


FR線程:開啟多個線程對多人臉同時進行特徵提取以及比對。


【優化策略】


FaceID:根據FaceID標識一個人,從進入畫面到離開畫面,對這一人臉只做一次識別即可,大大降低系統資源佔用。


嘗試次數:同一張人臉,特徵提取失敗可以做有限次數的嘗試,提高交互效果。

速速圍觀!虹軟人臉技術公開課Windows專場完整視頻大公開

要點4【常見問題答疑】


Ⅰ多線程調用問題


a) 同一個引擎可以使用多線程調用不同算法。


b) 多線程調用同一個算法接口需要啟用不同的引擎。


Ⅱ VIDEO和IMAGE模式的區別


VIDEO模式


a) 對視頻流中的人臉進行追蹤,人臉框平滑過渡,不會出現跳框的現象。


b) 用於預覽幀數據的人臉追蹤,處理速度快,可避免出現卡頓問題。


c) 在視頻模式引入faceId,該值用於標記一張人臉,當一個人臉從進入畫面到離開畫面,faceId 值不變。可用於業務中優化程序性能。


IMAGE模式


a) 針對單張圖片進行人臉檢測精度更高。


b) 在註冊人臉庫時,我們建議使用精度更高的IMAGE模式。


Ⅲ Windows版本在進行IMAGE模式人臉檢測時,回傳的faceId數組為何為空?


faceId是用來標識一個人從進入畫面直到離開畫面的這段時間,對人臉追蹤的一個標識,所以對單張靜態圖片來說,faceId在image模式下幾乎沒有實際意義的。


Ⅳ 如何將人臉識別1:1比對進行開發改為1:N搜索?


人臉庫可以在程序啟動時進行特徵提取或者將人臉特徵值保存在數據庫,程序啟動後讀入緩存中,如果人臉庫在數據不大的話,比如1000內(這個1000的值也只是舉例,具體需要根據設備性能以及業務場景界定這個數據),可以在識別照特徵提取後通過循環進行1:N的比對。在人臉庫比較大的時候,比如10000左右,並且設備性能也比較好,可以採用多線程進行比對。


分享到:


相關文章: