C 開發實錄 基於免費SDK實現人臉識別應用開發

2022-07-25 04:03:12 字數 1939 閱讀 8949

隨著人臉識別技術應用範圍不斷擴充套件,如何在windows c#上基於免費sdk實現人臉識別應用開發,正成為開發者們關心的話題之一。

對於該需求,我推薦虹軟視覺開放平台的arcface 3.0,免費、離線且可商用,包含人臉識別、活體檢測、年齡檢測、性別檢測等豐富功能,演算法魯棒性強,接入門檻低,同時支援windows、ios、android(包含android10)、linux,是廣大開發者落地ai應用的利器。

為幫助開發者快速上手,虹軟工程師團隊針對c#開發打磨了一期課程,以技術解析和專項答疑等形式幫助開發者解決難題。建議有興趣嘗試arcface3.0的c#開發者可以提前學習,在實際開發中可事半功倍。

一、要點一【3分鐘跑通c# demo】

demo配置過程如下:

2. 檢查本地系統環境是否符合要求:

.net framework 4.5.1及以上

microsoft visual c++ 2013 執行庫

4. 配置執行demo:

b.將sdk lib資料夾中dll檔案拷貝到執行根目錄下

c.如本地.net framework的版本高於4.5.1,直接修改專案的目標框架

二、要點二【arcface重點介面及引數介紹】

1.引擎初始化介面:asfinitengine()

【說明】

引擎初始化介面用於初始化引擎,初始化中的引數設定用於定義引擎的屬性和演算法功能組合,與演算法能夠呈現出的效果息息相關。

【重要引數說明】

2.人臉特徵提取介面:asffacefeatureextract()

【說明】當人臉檢測完成時,可以根據獲取的人臉資訊通過此介面進行對應人臉的特徵提取。

【重要引數說明】

3.人臉屬性檢測:asfprocess()

【說明】人臉檢測成功後,可以根據人臉資訊通過此介面檢測人臉屬性,如年齡、性別等。

【重要引數說明】

【多執行緒策略】

【優化策略】

四、要點四【常見問題答疑】

1. 多執行緒呼叫問題

a. 同乙個引擎可以使用多執行緒呼叫不同演算法。

b. 多執行緒呼叫同乙個演算法介面需要啟用不同的引擎。

2. video和image模式的區別

video模式:

b. 用於預覽資料的人臉追蹤,處理速度快,可避免出現卡頓問題。

image模式:

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

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

3. 非託管記憶體的操作

c#呼叫c++ sdk介面,有些傳參需要以intptr的形式。

a. 複製前應先為intptr申請記憶體;

b. 當intptr不使用時,需要及時手動釋放。

4. 人臉特徵資料庫的儲存

人臉特徵提取介面返回的featurefeature對應asf_facefeature,資料庫儲存應將asf_facefeature .feature轉化為byte再進行資料庫儲存,featuresize表示byte的長度。

5. sdk dll檔案的引用方法(使用dllimport方法)

a. 使用相對路徑,將dll直接放到執行目錄下(web程式不建議使用);

b. 使用絕對路徑;

c. 將dll檔案放到系統盤windows下的system32資料夾下;

d. 為dll檔案所在資料夾新增環境變數。

C 開發實錄 基於免費SDK實現人臉識別應用開發

隨著人臉識別技術應用範圍不斷擴充套件,如何在windows c 上基於免費sdk實現人臉識別應用開發,正成為開發者們關心的話題之一。對於該需求,我推薦虹軟視覺開放平台的arcface 3.0,免費 離線且可商用,包含人臉識別 活體檢測 年齡檢測 性別檢測等豐富功能,演算法魯棒性強,接入門檻低,同時支...

SDUT ACM 免費餡餅(基於C語言)

statistic problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身...

基於C 開發的2048

昨天花了一晚上的時間寫了乙個過氣的小遊戲 2048,一直到晚上十二點多才把鍵盤響應事件寫好,感覺自己的腦子不行,還要再補補。先來一波執行的效果 主要演算法,可以實現不同邊長的2048 2private void up 316 17 18 19 20private void up remove bla...