FaceNet 可應用於人臉分群、人臉分類,透過歐式距離來判斷人臉的相似度,而達到人臉辨識。
[操作步驟及說明]
解決方案流程為:
準備圖片 -> 訓練分類器 -> 人臉影像推論 。
準備圖片 ->人臉影像分群。
準備圖片 ->人臉影像比較。
1. 1_preprocess.ipynb
將 data/image 與 data/image_test 中的影像進行人臉影像提取,縮放到 160x160 pixel,存到 data/image-160 與 data/image_test 資料夾中。
備註:
data/image 的影像是訓練用影像;data/image_test 的影像是測試用影像。
data/image_test 提取出的人臉影像,會額外存到 data/clustering_image 中,讓 3_clustering.ipynb 使用。
data/image 與 data/image_test 內每個資料夾的影像,必須為同一人之影像。
圖檔格式需為 .jpg 或 .png 或 .jpeg。
2. 2_classifier.ipynb
訓練人臉影像分類器,會在 5~8 中用到。
3. 3_clustering.ipynb
準備圖片 ->人臉影像分群。
流程中的人臉影像分群,將第 1 點準備好的影像,相近的人臉分成一類,結果存到 data/clustering_result 資料夾中。
4. 4_compare.ipynb
準備圖片 ->人臉影像比較。
流程中的人臉影像比較,此範例輸入六張影像來源,和其他五張影像比較,輸出結果矩陣。數字越小,表示人臉影像越接近同一人。
5. 5_inference.ipynb
輸入一張影像,根據 2_classifier.ipynb 訓練出的分類模型進行分類,推論影像的人物為何人。
參數說明:
input_image 是要推論的影像路徑。
input_pkl 是 2_classifier.ipynb 訓練出的分類模型路徑,不建議更動檔案位置及名稱。
6. 6_inference_folder.ipynb
輸入要推論的影像資料夾位置,根據 2_classifier.ipynb 訓練出的分類模型進行分類,推論資料夾內影像的人物為何人。
參數說明:
input_image 是要推論的影像資料夾路徑。
input_pkl 是 2_classifier.ipynb 訓練出的分類模型路徑,不建議更動檔案位置及名稱。
7. 7_inference_webcam.ipynb
開啟 webcam,推論 webcam 所拍攝的人物為何人。
參數說明:
--deviceNumber 0 :0 指使用的第幾號 webcam,使用者若有複數以上的 webcam,可自行設定。
8. 8_inference_api.ipynb
使用網頁選取一張影像,推論影像中人物為何人。
參數說明:
--port 8801:8801 為 FaceNet 網頁所占用的埠。
運行後,若無更改 port 時,可使用 9_inference_api_browser.ipynb 開啟網頁。
這個 SDK 內建於 AppForAI 人工智慧開發工具。
單獨購買價格:5,000元,永久授權,單一 SDK 授權,單機授權,一次下載,無更新服務,一年電子郵件範例諮詢服務。如果是軟體客製化問題,請購買我們的客製化顧問服務點數。