python三步實現人臉識別


Face Recognition軟件包

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

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

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

特性

在圖片中識別人臉

找到圖片中所有的人臉

face/2C5ibeGc6h6RE3NWwi7njZj3Bh6bEXYB.jpg

images/8J2Cs7fx6KQsAHjpsRR4nFTjQdjbHcHh.jpg

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

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

face/c24aXPRWF2ye3WdTKbC2bdFGZmBCwrtG.jpg

face/K5mzWPj8Fn253RNJnyfC4hrc55bEpKCC.jpg

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

 

face/d77HG2fa3SHWKH4bnyGW7nYrdXGhMwMJ.jpg

鑒定圖片中的臉

識別圖片中的人是誰。

face/ayWXswfWKNZxAT7QGTxzXmxYSTsrfirx.jpg

images/a37YQjhYKN3Gn7Dd4HGSKa2ssPcH8ciM.jpg

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

face/KyZfSapDPiyisCinDSN6FZSkEQAxDikd.png

這里有一個實時識別的例子:

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安裝這個軟件包:

face/dWRaCAPQaJJew5MypJQKeyRCDSNatSYz.jpg

如果你安裝遇到問題,可以試試這個安裝好了的虛擬機:

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的命令,你可以使用它對圖片進行識別,或者對一個文件夾中的所有圖片進行識別。

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

images/3RQG35tpC2cSSjrwwZmSk7aJx8a7h7GE.jpg

然后你需要准備另一個文件夾,里面是你要識別的圖片。

images/RGAYWwBEkai7KiwBbsrG3HF8YGrX6x64.jpg

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

face/iRJb7d4H2Emyfa2wjYabJfR6X4RcextK.jpg

輸出中,識別到的每張臉都單獨占一行,輸出格式為

通過Python模塊使用

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

自動找到圖片中所有的臉

face/7FGab4SdRTHPYKn3fFeFPwrAy6pTHNaN.jpg

看看這個例子自己實踐一下:

https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

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

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

images/zPjiMHkQQ3pGbQaTbWTKFAS6DPeRMiNJ.jpg

你也可以通過這個例子實踐一下:

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

自動識別人臉特征

face/ADK7prbbQy5nahFGTA5C3AmdXchYe5WH.jpg

試試這個例子:

https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py

 

識別人臉鑒定是哪個人

images/7GCiTet4wtxJCKMWR8cdtpWyATT534NZ.jpg

這里是一個例子:

https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

 

本文出處https://www.toutiao.com/a6475797999176417550


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM