1. 程式人生 > 實用技巧 >C# 人臉識別庫 0.2

C# 人臉識別庫 0.2

ViewFaceCore 0.2

超簡單的 C# 人臉識別庫

前言:

首先謝謝大家對這個庫的關注,前一篇博文得到了大家的支援Star,十分開心。本想盡快實現大家的期待的活體檢測功能,但是前段時間太忙了,是在抱歉!!!

、GitHub & Important

  • 本次更新的內容在 antispoofing 分支上。
  • 活體檢測需要fas_first.cstafas_second.csta兩個模型
    • 為方便使用,這兩個模型也被包含在 Nuget 包中,0.2.x 版本在70M+ 的大小
  • 如果沒有需要活體檢測的需要,請繼續使用 0.1.x 版本
  • 0.2.x 版本將繼續新增新的功能,也會繼續包含必須的模型檔案
  • 0.1.x 版本將保持現有功能,並進行 bug 修復等工作

一、ViewFaceCore 介紹

這是基於SeetaFace6人臉識別開發的 .NET 平臺下的人臉識別庫
這是一個基於 .NET Standard 2.0 開發的庫
這個庫已經發布到NuGet,你可以一鍵整合到你的專案

更多請參見 C# 人臉識別庫

二、更新

本次更新內容

  1. 添加了活體檢測相關的方法
  2. 修復了識別結果部分未判斷的 bug
  3. 修改了部分結構

更新後無需修改之前的程式碼。

三、使用

1. 新增方法:

方法名 返回值 引數列表 備註
AntiSpoofing AntiSpoofingStatus Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global 檢測單幀圖片
AntiSpoofingVideo AntiSpoofingStatus Bitmap bitmap, FaceInfo info, FaceMarkPoint[] points, bool global 檢測視訊幀圖片
  • 這兩個方法也是對應到 SeetaFace6 中 活體檢測相關方法。
  • 如果檢測失敗則返回AntiSpoofingStatus.Error。
  • AntiSpoofing的返回值 可能為AntiSpoofingStatus.Real
    AntiSpoofingStatus.SpoofAntiSpoofingStatus.Fuzzy。
  • AntiSpoofingVideo 的返回值 可能為AntiSpoofingStatus.RealAntiSpoofingStatus.SpoofAntiSpoofingStatus.FuzzyAntiSpoofingStatus.Detecting。
    • AntiSpoofingStatus.Detecting 說明傳入的圖片數量還不夠檢測,需要繼續呼叫此方法傳入 Bitmap

AntiSpoofingStatus 列舉的各個值的含義註釋中都有說明

關於global 引數:活體檢測方法預設是區域性檢測,如果要全域性檢測請使用 global 引數指定

  • false:區域性活體檢測 -是對具體人臉的成像細節通過演演算法分析,區別是一次成像和二次成像,如果是二次成像則認為是出現了攻擊。【需要fas_first.csta 模型 】
  • true: 全域性活體檢測 -就是對圖片整體做檢測,主要是判斷是否出現了活體檢測潛在的攻擊介質,如手機、平板、照片等等。【需要fas_first.cstafas_second.csta模型】
方法名 返回值 引數列表 備註
AntiSpoofingVideo AntiSpoofingStatus Bitmap[] bitmap, FaceInfo info, FaceMarkPoint[] points, bool global 檢測單幀圖片

此方法可以讓你檢測視訊中的人臉,你需要讀取視訊,比提取每一幀影象,然後指定要檢測的人臉索引,即可進行檢測。

四、參與專案

你需要按照 SeetaFace6 檔案 說明,並下載相關的開發包以及模型

  • 可以將開發包的 lib 目錄include 目錄 放至C:\vclib\seeta 下 ,所有模型檔案放到C:\vclib\seeta\model 目錄下
    • 然後按照 github 上的編譯指引進行編譯。
  • 也可以放在自定義的目錄中
    • 此時需要配置 ViewFace 專案中各個路徑,確保各個依賴引用能被正確的載入。
    • 修改 ViewFaceCore 專案的編譯命令,確保生成時可以將最新的檔案複製到生成目錄。

五、也許…

  • 此專案還未實現 SeetaFace6 中的許多特性,也許:

    想起 GitHub 密碼,持續更新…
    刪除程式碼倉庫跑路…

  • 如果在使用過程中遇到問題,你也許可以:

    在 GitHub報告Bug
    向我傳送郵件

人臉跟蹤、人臉屬性、質量評估、眼睛狀態Coming soon ...