10行python機器學習卷積網,如何實時100人臉定位?!普通電腦運行

今天介紹一個快速定位人臉的深度學習算法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專注人工智能社群,做最真實的人工智能!請關注我們、留言、點贊!

10行python機器學習卷積網,如何實時100人臉定位?!普通電腦運行

請關注

相關推薦

推薦中...