新增測試方法「直接使用emb特徵進行計算對比」python
上一個版本是使用knn對準備好的若干張照片進行「訓練」,首先準確率不是很高(還沒細究問題,猜想緣由是本身準備的圖片問題,以及實時採集實時的環境影響),但最主要的緣由仍是對每一個目標對象都必須準備若干張照片進行訓練,再看當前市面上的人臉識別都是直接採集一張圖片放入數據庫,並不須要再訓練,直接即可以識別,而facenet的最初思想即是如此,是一開始的本身走遠了。git
因此本次的更新即是,直接將想要測試的對象的一張照片以其英文名命名(中文會亂碼),放入一個名爲test_img
文件夾中,接下來對其進行人臉檢測並切割,切割後的人臉圖片尺寸爲160*160,存入emb_img
文件夾中,這一步的主要目的是爲了避免要每次測試的時候都還要從新開始人臉檢測,當人臉識別程序啓動時,先讀取emb_img
文件夾圖片並輸入網絡獲得其emb(128維特徵),用於後續與攝像頭捕捉的照片進行比較github
整體來講,基本上沒什麼思想,能夠說是很簡單,甚至能夠說是一個簡單版的knn,由於個人想法是之後可以將每張照片的emb存入數據庫,並使用kd樹優化(本次更新沒有作),但是這樣的話不就和knn同樣了麼,哎,作完本身才發現本身在作一件傻事,但是仍是以爲knn不太好....先無論了,就醬數據庫
新增兩個文件夾
、兩個.py文件
網絡
文件夾(涉及我的和同窗照片,未上傳,測試時本身直接新建便可)測試
test_img : 此文件夾中直接存放須要識別對象的一張照片emb_img: 此文件夾能夠本身新建,或者無論(腳本中對這個文件夾檢測了,沒有則新建),用於存放剪切後的160*160尺寸的人臉圖片優化
.py文件(一個用來批處理圖片,一個用來運行檢測)code
calculate_dection_face.py : 代碼中已經註明了有些路徑本身要更改一下,先執行此腳本,進行人臉定位切割(有點殘忍的感受)new_face_recognition.py : 直接執行便可,這次默認使用的是電腦自帶的攝像頭(若是要使用手機的,本身改一下,仍是之前方法),路徑也要注意對象
這次代碼中的路徑我使用的都是絕對路徑,因此要根據本身的路徑更改一下圖片
github地址:https://github.com/WindZu/fac... 若是以爲有用,給個小星星啦,我會很開心的:)