1. 程式人生 > >python三步實現人臉識別

python三步實現人臉識別

輸出 但是 使用 window img 軟件包 更多 red iss

原文地址https://www.toutiao.com/a6475797999176417550

Face Recognition軟件包

這是世界上最簡單的人臉識別庫了。你可以通過Python引用或者命令行的形式使用它,來管理和識別人臉。

該軟件包使用dlib中最先進的人臉識別深度學習算法,使得識別準確率在《Labled Faces in the world》測試基準下達到了99.38%。

它同時提供了一個叫face_recognition的命令行工具,以便你可以用命令行對一個文件夾中的圖片進行識別操作。

特性

在圖片中識別人臉

找到圖片中所有的人臉

技術分享圖片技術分享圖片

找到並操作圖片中的臉部特征

獲得圖片中人類眼睛、鼻子、嘴、下巴的位置和輪廓

技術分享圖片技術分享圖片

找到臉部特征有很多超級有用的應用場景,當然你也可以把它用在最顯而易見的功能上:美顏功能(就像美圖秀秀那樣)。

技術分享圖片

鑒定圖片中的臉

識別圖片中的人是誰。

技術分享圖片技術分享圖片

你甚至可以用這個軟件包做人臉的實時識別。

技術分享圖片

這裏有一個實時識別的例子:https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py

安裝

環境要求

  • Python3.3+或者Python2.7

  • MacOS或者Linux(Windows不做支持,但是你可以試試,也許也能運行)

安裝步驟

在MacOS或者Linux上安裝

首先,確保你安裝了dlib,以及該軟件的Python綁定接口。如果沒有的話,看這篇安裝說明:https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf

然後,用pip安裝這個軟件包:

技術分享圖片

如果你安裝遇到問題,可以試試這個安裝好了的虛擬機:https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b

在樹莓派2+上安裝

看這篇說明:https://gist.github.com/ageitgey/1ac8dbe8572f3f533df6269dab35df65

在Windows上安裝

雖然Windows不是官方支持的,但是有熱心網友寫出了一個Windows上的使用指南,請看這裏:https://github.com/ageitgey/face_recognition/issues/175#issue-257710508

使用已經配置好的虛擬機(支持VMWare和VirtualBox)

看這篇說明:https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b

使用方法

命令行接口

如果你已經安裝了face_recognition,那麽你的系統中已經有了一個名為face_recognition的命令,你可以使用它對圖片進行識別,或者對一個文件夾中的所有圖片進行識別。

首先你需要提供一個文件夾,裏面是所有你希望系統認識的人的圖片。其中每個人一張圖片,圖片以人的名字命名。

技術分享圖片

然後你需要準備另一個文件夾,裏面是你要識別的圖片。

技術分享圖片

然後你就可以運行face_recognition命令了,把剛剛準備的兩個文件夾作為參數傳入,命令就會返回需要識別的圖片中都出現了誰。

技術分享圖片

輸出中,識別到的每張臉都單獨占一行,輸出格式為<圖片名稱>,<人名>

通過Python模塊使用

你可以通過導入face_recognition模塊來使用它,使用方式超級簡單,文檔在這裏:https://face-recognition.readthedocs.io

自動找到圖片中所有的臉

技術分享圖片

看看這個例子自己實踐一下:https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

你還可以自定義替換人類識別的深度學習模型。

註意:想獲得比較好的性能的話,你可能需要GPU加速(使用英偉達的CUDA庫)。所以編譯的時候你也需要開啟dlib的GPU加速選項。

技術分享圖片

你也可以通過這個例子實踐一下:https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture_cnn.py

如果你有很多圖片和GPU,你也可以並行快速識別,看這篇文章:https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_batches.py

自動識別人臉特征

技術分享圖片

試試這個例子:https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py

識別人臉鑒定是哪個人

技術分享圖片

這裏是一個例子:https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

還有更多的說明和例子

請查看:https://github.com/ageitgey/face_recognition

python三步實現人臉識別