日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

facenet + Mtcnn 实现人脸识别(实现步骤)

發布時間:2024/4/18 pytorch 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 facenet + Mtcnn 实现人脸识别(实现步骤) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上關于facenet以及Mtcnn原理的博客有很多,本文便不再贅述,如果有不明白的可以參考該博客http://www.uml.org.cn/ai/201806124.asp。

本文更多的是幫助大家使用facenet以及Mtcnn 實現人臉識別功能,這里我們利用的是Github上的一個開源項目,項目鏈接:https://github.com/davidsandberg/facenet

解壓后得到facenet文件夾,我們把它放到主目錄下,方便使用,如圖:

值得注意的是如果單單git該項目的話,并不能實現功能我們還要下載其附帶的預訓練模型:

這里的資源是需要連接外網的,有篇博客提供了國內資源下載:https://pan.baidu.com/share/init?surl=LLPIitZhXVI_V3ifZ10XNg

密碼:12mh。下載后我們會得到一個20170512-110547的壓縮文件,解壓后放入之前的facenet文件夾,這里我用到的是20180402-114759,不過并不影響。

到這里我們的一切項目準備工作就已經完成了,接下來我們按步驟進行。

1.給代識別的人臉建造數據庫

在facenet文件夾中新建文件夾test_imgs,在文件夾下創建若干個文件夾存放若干個人的照片,形如:

每個文件夾下的照片具體是多少并沒有嚴格要求,但是不能太少,10張以上是必須的,不然SVM分類的準確率會下降。

2.對已經建好的數據庫的圖片進行Mtcnn和剪裁處理

在運行之前我們要先配置python路徑,在終端以此輸入:

export PYTHONPATH=~/facenet/src/align

export PYTHONPATH=~/facenet/src

如果依然報缺少模塊錯誤,就將二者順序反一下輸入,注意此處每打開一次終端就得重新輸入一次,想要徹底解決,需要修改配置文件,具體見下文,接下來開始處理:

因為訓練網絡里所用到的圖片的大小均為160x160像素,所以我們要將圖片處理成對應像素,并利用Mtcnn將圖片中的人臉剪裁出來。這里我們用到的代碼是位于facenet/src/align中的align_dataset_mtcnn.py,具體使用方法如下。

1.進入align_dataset_mtcnn.py所在的文件夾。

2.執行上述指令,參數解析:(1).py文件(2)待處理的人臉數據庫絕對路徑(3)處理后的人臉數據庫路徑,此處給出就好,具體將由程序代碼自動生成(4)--image_size 160 圖像尺寸 (5)在Mtcnn檢測得到的人臉的基礎上縮小32像素。

執行后我們產生了如圖所示的文件夾test_imgs_160:

3.利用處理好的數據庫進行SVM分類,產生.pkl文件

此處我們用到了位于/facenet/src中的classifier.py文件具體使用如下圖。

1.進入classifier.py所在的文件夾,已在則忽略

2.運行上述命令,參數解析(1).py文件 (2)模式選擇,仔細看源碼我們發現,有兩種模式可供選擇,這里我們選擇TRAIN(訓練模式)(3)待分類的人臉數據庫(4)之前下載的模型,這里要替換成所下載的版本,我的是20180402-114759。(5)pkl文件所在的位置及名字,此處同樣給出就好,代碼會自動創建。

4.修改原項目自帶的模型文件,以及.pkl文件

1.進入/facenet/contributed,打開face.py文件。

2.修改選中部分為自己的模型文件以及.pkl文件,并保存。

5.調用代碼實現時實人臉識別

在facenet/contributed文件夾下運行real_time_face_recognization.py文件即可查看效果。

/----------------------------------------------------------------------------------------------------------------------------------------------------------------/

文章截止到這里就已經可以實現基本的人臉識別效果,以下內容為自己修改部分。

1.解決需要重復導入python路徑問題:

回到主目錄打開配置文件:

在文件最下面添加:

保存文件。

注意要根據自己的實際情況對路徑作出修改!

2.原有的項目僅能對數據庫中的人進行識別,而未在數據庫中的人物也能識別,不符合我們的需求,所以我們對閾值做了修改

打開上文提到的face.py文件

添加a = unknow,修改閾值,如果分類的預測率 小于 設定閾值,則返回 a.

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的facenet + Mtcnn 实现人脸识别(实现步骤)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。