1. 程式人生 > >C# 離線人臉識別Demo 使用ArcFace 2.0開發完成

C# 離線人臉識別Demo 使用ArcFace 2.0開發完成

導致 文檔 問題: 啟動 寬度 設置 iba 存儲 pen

環境:
win7以上 VS2013以上
sdk版本:ArcFace v2.0
x86 x64平臺Debug、Release配置都已通過編譯
下載地址:https://github.com/ArcsoftEscErd/ArcfaceDemo_CSharp.git
配置過程:
1. 到虹軟官網下載SDK2.0版本,點擊訪問下載
2. 解壓下載的x86或x64的zip包,本Demo以x64為例
技術分享圖片


3. 選擇平臺,如:技術分享圖片,將libarcsoft_face.dll和libarcsoft_face_engine.dll放到bin\x64\Debug下

技術分享圖片


4. 修改工程下App.config配置文件中的APP_ID和對應的SDKKEY64的值

技術分享圖片


5. 點擊啟動或者F5啟動;
6. 其他詳細信息請閱讀項目中doc目錄下的說明文檔;

常見問題:
1.後引擎初始化失敗
(1)請選擇對應的平臺,如x64,x86
(2)刪除bin下面對應的asf_install.dat,freesdk_132512.dat;
(3)請確保App.config下的appid,和appkey與當前sdk一一對應。

2.SDK支持那些格式的圖片人臉檢測?
目前SDK支持的圖片格式有jpg,jpeg,png,bmp等。

3.使用人臉檢測功能對圖片大小有要求嗎?
推薦的圖片大小最大不要超過2M,因為圖片過大會使人臉檢測的效率不理想,當然圖片也不宜過小,否則會導致無法檢測到人臉。

4.使用人臉識別引擎提取到的人臉特征信息是什麽?
人臉特征信息是從圖片中的人臉上提取的人臉特征點,是byte[]數組格式。

5.SDK人臉比對的閾值設為多少合適?
推薦值為0.8,用戶可根據不同場景適當調整閾值。

6.可不可以將人臉特征信息保存起來,等需要進行人臉比對的時候直接拿保存好的人臉特征進行比對?

可以,當人臉個數比較多時推薦先存儲起來,在使用時直接進行比對,這樣可以大大提高比對效率。存入數據庫時,請以Blob的格式進行存儲,不能以string或其他格式存儲。

7.在.Net項目中出現堆棧溢出問題,如何解決?
.Net平臺設置的默認堆棧大小為256KB,SDK中需要的大小為512KB以上,推薦調整堆棧的方法為:
new Thread(new ThreadStart(delegate {
ASF_MultiFaceInfo multiFaceInfo = FaceUtil.DetectFace(pEngine, imageInfo);
}), 1024 * 512).Start();

8.X86模式下批量註冊人臉有內存溢出或圖片空指針
請增加虛擬內存或每次批量註冊人臉控制在20張圖片範圍內

9.圖片中有人臉,但是檢測時未檢測到人臉
(1)請調整detectFaceScaleVal的值;
(2)請確認圖片的寬度是否為4的倍數;
(3)請確認圖片是否通過ImageUtil.ReadBMP方法進行數據調整。

C# 離線人臉識別Demo 使用ArcFace 2.0開發完成