AI時代的網站與手機App建置與開發Part26 - ML.NET與人臉辨識
· 摘要 人臉辨識的應用很廣泛 , 例如應用在海關的出入境管制 , 企業的門禁系統 , 判斷人臉是否配戴眼鏡 , 口罩等配件 , 或是手機登入管制 , 都是人臉識別常見的應用場合 . 圖 : 人臉識別示意圖 在本篇文章中 , 我們將使用 Microsoft ML.NET 搭配 Facenet.onnx 人臉辨識模型執行人臉辨識 . . · 準備訓練資料 首先請準備兩張欲判斷是否為同一個人的人臉照片 , 加入到 Visual Studio 專案中名稱為 Faces 的資料夾中 , 並到 [ 屬性 ] 視窗將兩張人臉照片的 [ 複製到輸出目錄 ] 屬性的內容值設定為 : 有更新時才複製 . 圖 1 所示即為欲判斷是否為同一個人的兩張人臉照片 , 讀者可以使用自行提供的人臉照片 : 圖 1: 欲判斷是否為同一個人的兩張人臉照片 · 準備人臉辨識 模型 首先請啟動瀏覽器 , 瀏覽至 faceNet.onnx, 下載名稱為 faceNet.onnx 的人臉辨識模型 ( 下載網址 : https://github.com/NicolasSM-001/faceNet.onnx- ). 請將人臉辨識模型加入到 Visual Studio 專案中名稱為 Models 資料夾中 , 並到 [ 屬性 ] 視窗將 faceNet.onnx 檔案的 [ 複製到輸出目錄 ] 屬性的內容值設定為 : 有更新時才複製 . · 定義抽取人臉特徵向量的類別 public class OnnxModelExtractor : IDisposable { private InferenceSession _session; // 存放抽取人臉特徵向量的模型的變數 private string _inputName; // 存...