10行Python代碼實現人臉定位


10行python機器學習全卷機網,實現100+張人臉同時定位!

  • A+
所屬分類: 未分類

今天介紹一個快速定位人臉的深度學習算法MTCNN,全稱是:Multi-task Cascaded Convolutional Networks多任務級聯卷機網。這個快速定位的深度學習有3個很好的作用。

1.可以構建除人臉外其他快速定位的應用。

2.可以在定位人臉后,提高后面對人臉識別的速度。

3.分步驟級聯算法,可以嘗試提高每層算法的優化,給出一個優化算法的可行方案。

本案就是利用MTCNN構建3個卷積網逐層處理,最終確定人臉個數,人臉的具體位置和五官位置!

10行python機器學習全卷機網,實現100+張人臉同時定位!

 

上圖簡析了程序的3個步驟。
      stage1: 在構建圖像金字塔的基礎上,通過全卷機網檢測人臉個數和大致區域,同時利用boundingbox regression (邊框回歸)和 NMS(非極大值抑制(Non-Maximum Suppression)來進行修正。(注意:這里的全卷積網絡與R-CNN里面帶反卷積的網絡是不一樣的,這里只是指只有卷積層,可以接受任意尺寸的輸入,靠網絡stride來自動完成滑窗)

stage2: 將通過stage1的所有窗口輸入作進一步判斷,同時也要做boundingbox regression 和 NMS。

stage3: 和stage2相似,只不過增加了更強的約束:5個人臉關鍵點。

程序對應的 create_mtcnn建立了這3個全卷積層。

10行python機器學習全卷機網,實現100+張人臉同時定位!

以上程序構成的全卷積網絡的概覽

10行python機器學習全卷機網,實現100+張人臉同時定位!

10行python機器學習全卷機網,實現100+張人臉同時定位!10行python機器學習全卷機網,實現100+張人臉同時定位!

以上3圖詳解了3個全卷積層的尺寸構成。逐層細化,以此來加快速度是一個基本思路。

程序結合opcv對圖像進行實時采集和處理顯示。最終結果

10行python機器學習全卷機網,實現100+張人臉同時定位!

下一篇文章我們講講這里面用到的boundingbox regression (邊框回歸)和 NMS(非極大值抑制(Non-Maximum Suppression)算法。

需要代碼可以點擊左下角的了解跟多,可以從我們網站上下載源碼。另外關注我們,有更多可以實際運行的深度學習案例。

昂鈦客ai專注人工智能社群,做最真實的人工智能!請關注我們、留言、點贊!

文章代碼請百度網盤下載 http://pan.baidu.com/s/1eRYTaj4  密碼:ywjo


免責聲明!

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



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