10行python機器學習全卷機網,實現100+張人臉同時定位!
- A+
今天介紹一個快速定位人臉的深度學習算法MTCNN,全稱是:Multi-task Cascaded Convolutional Networks多任務級聯卷機網。這個快速定位的深度學習有3個很好的作用。
1.可以構建除人臉外其他快速定位的應用。
2.可以在定位人臉后,提高后面對人臉識別的速度。
3.分步驟級聯算法,可以嘗試提高每層算法的優化,給出一個優化算法的可行方案。
本案就是利用MTCNN構建3個卷積網逐層處理,最終確定人臉個數,人臉的具體位置和五官位置!
上圖簡析了程序的3個步驟。
stage1: 在構建圖像金字塔的基礎上,通過全卷機網檢測人臉個數和大致區域,同時利用boundingbox regression (邊框回歸)和 NMS(非極大值抑制(Non-Maximum Suppression)來進行修正。(注意:這里的全卷積網絡與R-CNN里面帶反卷積的網絡是不一樣的,這里只是指只有卷積層,可以接受任意尺寸的輸入,靠網絡stride來自動完成滑窗)
stage2: 將通過stage1的所有窗口輸入作進一步判斷,同時也要做boundingbox regression 和 NMS。
stage3: 和stage2相似,只不過增加了更強的約束:5個人臉關鍵點。
程序對應的 create_mtcnn建立了這3個全卷積層。
以上程序構成的全卷積網絡的概覽
以上3圖詳解了3個全卷積層的尺寸構成。逐層細化,以此來加快速度是一個基本思路。
程序結合opcv對圖像進行實時采集和處理顯示。最終結果
下一篇文章我們講講這里面用到的boundingbox regression (邊框回歸)和 NMS(非極大值抑制(Non-Maximum Suppression)算法。
需要代碼可以點擊左下角的了解跟多,可以從我們網站上下載源碼。另外關注我們,有更多可以實際運行的深度學習案例。
昂鈦客ai專注人工智能社群,做最真實的人工智能!請關注我們、留言、點贊!
文章代碼請百度網盤下載 http://pan.baidu.com/s/1eRYTaj4 密碼:ywjo