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

環境: 
    win7以上  VS2013以上
    sdk版本:ArcFace v2.0
    x86 x64平臺Debug、Release配置都已經過編譯
 
 
配置過程:
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方法進行數據調整。
相關文章
相關標籤/搜索