基于Python的开源人脸识别库:离线识别率高达99.38%
基于Python的開源人臉識別庫:離線識別率高達99.38%
2019年04月18日 18:13:18?AI終結者?閱讀數 1233
項目地址:https://github.com/ageitgey/face_recognition#face-recognition
本文的模型使用了C++工具箱dlib基于深度學習的最新人臉識別方法,基于戶外臉部數據測試庫Labeled Faces in the Wild 的基準水平來說,達到了99.38%的準確率。
dlib:http://dlib.net/
數據測試庫Labeled Faces in the Wild:http://vis-www.cs.umass.edu/lfw/
模型提供了一個簡單的?face_recognition?命令行工具讓用戶通過命令就能直接使用圖片文件夾進行人臉識別操作。
特征
在圖片中捕捉人臉
在一張圖片中捕捉到所有的人臉
找到并處理圖片中人臉的特征
找到每個人眼睛、鼻子、嘴巴和下巴的位置和輪廓。
import face_recognition
image = face_recognition.load_image_file("your_file.jpg")
face_locations = face_recognition.face_locations(image)
捕捉臉部特征有很重要的用途,當然也可以用來進行圖片的數字美顏digital make-up(例如美圖秀秀)
digital make-up:https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py
識別圖片中的人臉
識別誰出現在照片里
?
PS:如果你想要系統地學習人工智能,那么推薦你去看床長人工智能教程。非常棒的大神之作,教程不僅通俗易懂,而且很風趣幽默。點擊這里可以查看教程。
安裝步驟
本方法支持Python3/python2,我們只在macOS和Linux中測試過,還不知是否適用于Windows。
使用pypi的pip3?安裝此模塊(或是Python 2的pip2)
重要提示:在編譯dlib時可能會出問題,你可以通過安裝來自源(而不是pip)的dlib來修復錯誤,請見安裝手冊How to install dlib from source
https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf
通過手動安裝dlib,運行pip3 install face_recognition來完成安裝。
使用方法命令行界面
當你安裝face_recognition,你能得到一個簡潔的叫做face_recognition的命令行程序,它能幫你識別一張照片或是一個照片文件夾中的所有人臉。
首先,你需要提供一個包含一張照片的文件夾,并且你已經知道照片中的人是誰,每個人都要有一張照片文件,且文件名需要以該人的姓名命名;
然后你需要準備另外一個文件夾,里面裝有你想要識別人臉照片;
接下來你只用運行face_recognition命令,程序能夠通過已知人臉的文件夾識別出未知人臉照片中的人是誰;
針對每個人臉都要一行輸出,數據是文件名加上識別到的人名,以逗號分隔。
如果你只是想要知道每個照片中的人名而不要文件名,可以進行如下操作:
Python模塊
你可以通過引入face_recognition就能完成人臉識別操作:
API?文檔:?https://face-recognition.readthedocs.io.
在圖片中自動識別所有人臉
請參照此案例this example:?https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py
識別圖片中的人臉并告知姓名
請參照此案例this example:?https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py
Python代碼案例
所有例子在此 here.
https://github.com/ageitgey/face_recognition/tree/master/examples
·找到照片中的人臉Find faces in a photograph
https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py
·?識別照片中的面部特征Identify specific facial features in a photograph
https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py
·?使用數字美顏Apply (horribly ugly) digital make-up
https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py
·基于已知人名找到并識別出照片中的未知人臉Find and recognize unknown faces in a photograph based on photographs of known people
https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py
人臉識別方法的原理
如果你想學習此方法的人臉定位和識別原理,請參見read my article。
https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78
注意事項
·?本人臉識別模型僅限用于成人,對于兒童來說效果不佳,模型可能會由于使用默認的對比閾值(0.6)而無法清楚識別出兒童的臉。
總結
以上是生活随笔為你收集整理的基于Python的开源人脸识别库:离线识别率高达99.38%的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 研究38位知名CEO的邮件后,我们有这9
- 下一篇: 浅谈List保存的数据是引用数据类型的地