1. 程式人生 > >人臉檢測之MTCNN網路

人臉檢測之MTCNN網路

     最近開始進行人臉檢測,所以根據自己的理解和別人的部落格總結一下自己對人臉檢測的認識,如果錯誤希望能夠指出。

     人臉檢測的模型其實也有很多,簡單點可以基於MNIST的網路模型進行對自己的檢測,採用同樣的網路模型,不同的資料進行訓練會產生不同的作用,但這種情況往往無法進行泛化。也可以基於detect_object中的ssd_mobilenet網路為基礎在裡面加入一些人臉的資料和標籤進行檢測。開始的時候我找到了一個基於ssd_mobilenet的網路進行的,並將pb檔案集成了移動端但是發現對於複雜的場景及效率都不是很高。後來得出的結論是這些小眾的網路只適合用來根據自己的興趣進行測試(因為沒有理論支撐)。不能用來進行標準的人臉檢測。

     MTCNN網路是目前使用比較廣泛的網路,它包含了人臉檢測和人臉對齊。其中人臉檢測可以用來進行後續的人臉識別。人臉對齊幫我們找出了人臉的眼睛,嘴,鼻子的位置可以用來進行對應的3D處理。 我們可以在文獻地址中對文獻進行下載。

   MTCNN網路是一個三層網路結構,第一層pnet的結果經過bounding box regression和NMS處理之後變為24x24的大小放入第二層進行處理,第二層rnet處理後的結果同樣經過bounding  box regression 和NMS處理之後變成48x48的大小放入第三層onet網路進行處理,結果同樣經過bounding  box  regression 和 NMS處理變成人臉框和麵部標籤輸出。具體網路結構如下:


     卷積計算使用的是步長為1,pading  = "VALID"的方式,即:計算時劃過每個點並且每個點都要取到,對於超過邊界的點使用0表示。這樣可以保證在計算過程中圖片中的每個點都會被使用到。此時處理後的結果為R1-R2+1(R1為卷積計算前的大小,R2為卷積核的大小)。

     池化採用的是步長為2,pading = "VALID"的方式,此時池化後的大小為1+x(x為R/2下取整數)。

      對於MTCNN網路來說其輸入的資料來源是對應的圖片金字塔。圖片金字塔的意思就是我們根據不同的規模把圖片分成不同的大小,這些圖片就像金字塔一樣將圖片裁剪後堆起來。此時一張圖片就相當於變成了多張,如下。然後對每一張圖片分別放入到


p網路中進行處理。並對處理後的結果進行NMS處理。由於一張圖片被分成了很多張小的金字塔型別的圖片。所以對處理後的圖片整體進行一次NMS處理並最終生成對應的處理後的結果,然後對處理後的結果再進行R網路的處理,然後將結果進行NMS處理後再進行O網路的處理。生成最終的結果。

     在卷積層計算之後採用的PRELU的啟用函式,其啟用函式的形式為:g(z) = max(0,z)+a * min(0,z)

       在進行訓練時採用了線上選取資料的方式,即對損失函式選取前70%的資料進行訓練,因為後30%的資料對訓練的影響會很小。

      在資料選取方面採用IOU(選取的圖片佔真實人臉的比例)來進行。共分為4各部分:negative:IOU<0.3,Landmark face: IOU在0.3和0.4之間,part face:IOU在0.4到0.65之間,positve:IOU大於0.65。根據上述原則對資料進行劃分並按照3:1:1:2的原則分配資料量。劃分的主要目的是為了用來標記資料。

相關推薦

人臉檢測MTCNN網路

     最近開始進行人臉檢測,所以根據自己的理解和別人的部落格總結一下自己對人臉檢測的認識,如果錯誤希望能夠指出。     人臉檢測的模型其實也有很多,簡單點可以基於MNIST的網路模型進行對自己的檢測,採用同樣的網路模型,不同的資料進行訓練會產生不同的作用,但這種情況往往

人臉檢測MTCNN程式碼實現

上一篇部落格介紹了MTCNN網路的原理,這篇部落格介紹一個程式碼的實現。 對應的MTCNN網路目前也有寫好的程式碼,大家可以在程式碼連結 上下載程式碼,然後進行識別。對於下載後的程式碼主要有以下的說明。 1. 該程式碼中的包含了已經訓練好的模型,模型的資料儲存在.npy檔

第九節、人臉檢測Haar分類器

白色 har cas 詳情 大小 一次 水平 分類 需求 人臉檢測屬於計算機視覺的範疇,早期人們的主要研究方向是人臉識別,即根據人臉來識別人物的身份,後來在復雜背景下的人臉檢測需求越來越大,人臉檢測也逐漸作為一個單獨的研究方向發展起來。 目前人臉檢測的方法主要有兩大類:基於

人臉檢測face_recognition演算法除錯

參考:https://github.com/ageitgey/face_recognition 公司專案需求,要出一個人臉檢測與識別的demo,檢視網上比較成熟的是face_recognition方案,因此在電腦上按照推薦步驟進行除錯。face_recognition使用dlib最先進的面部

HAAR與DLib的實時人臉檢測實現與對比

人臉檢測方法有許多,比如opencv自帶的人臉Haar特徵分類器和dlib人臉檢測方法等。 對於opencv的人臉檢測方法,優點是簡單,快速;存在的問題是人臉檢測效果不好。正面/垂直/光線較好的人臉,該方法可以檢測出來,而側面/歪斜/光線不好的人臉,無法檢測。因此,該方法不適合現場應用。而對於dlib人臉檢

淺析人臉檢測Haar分類器方法

一、Haar分類器的前世今生 人臉檢測屬於計算機視覺的範疇,早期人們的主要研究方向是人臉識別,即根據人臉來識別人物的身份,後來在複雜背景下的人臉檢測需求越來越大,人臉檢測也逐漸作為一個單獨的研究方向發展起來。 目前的人臉檢測方法主要有兩大類:基於知識和基於統計。 “基於

隨想錄(人臉檢測dlib)

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】       opencv大家用的很多,但是opencv的效率實在不敢恭維。所以,大家開始慢慢尋找其他的一些開源庫,dlib就是不錯的一個選擇。當然,ope

人臉檢測MTCNN的訓練步驟和樣本的處理,文字描述

2018年04月20日 21:46:50 BigCowPeking 閱讀數:335 <span class="tags-box artic-tag-box"> <span class="l

Pytorch實現人臉檢測演算法MTCNN

     本人最近在研究人臉識別、人臉檢測和姿態估計等視覺領域的演算法,也在研究各類神經網路例如ResNet、Feature Pyramid Net、Retina Net和DenseNet。所以將自己研究的論文和演算法原始碼修復奉獻給大家。      迫於專案和比賽

人臉檢測MTCNN學習

Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》論文解讀。本文來自於中國科學院深圳先進技術研究院,目

淺析人臉檢測Haar分類器方法【牛文強薦】

由於工作需要,我開始研究人臉檢測部分的演算法,這期間斷斷續續地學習Haar分類器的訓練以及檢測過程,在這裡根據各種論文、網路資源的查閱和對程式碼的理解做一個簡單的總結。我試圖概括性的給出演算法的起源、全貌以及細節的來龍去脈,但是水平有限,只能解其大概,希望對初學者起到

人臉檢測PCN漸進式人臉檢測

論文為山世光老師組2018 cvpr的作品。人臉3D變換基礎:平面內旋轉(左右歪頭問題):roll,本人重點討論的問題平面外左右旋轉(正臉,側臉問題):yaw平面外俯仰(仰頭,低頭問題):pitch 方向相關人臉檢測的思路:(a) 使用資料增強的方法,增加各種角度的人臉進行訓

人臉檢測S3FD

該方法出自論文S3FD: Single Shot Scale-invariant Face Detector 文章改進點: (1)基於不同layer層的不同scale的anchor策略 其中各個卷積層的滑動步長,anchor大小,感受野大小分別如下,其中anchor 的a

MTCNN-將多工級聯卷積神經網路用於人臉檢測和對齊

論文連結:  摘要:由於姿勢、光照或遮擋等原因,在非強迫環境下的人臉識別和對齊是一項具有挑戰性的問題。最近的研究顯示,深度學習演算法可以很好的解決上述的兩個問題。在這篇文章中,我們利用檢測和校準之間固有的相關性在深度級聯的多工框架下來提升它們的效能。尤其是,我們利

MTCNN人臉檢測 附完整C++代碼

若有 文件 nta return 版本 list warnings rtt task 人臉檢測 識別一直是圖像算法領域一個主流話題。 前年 SeetaFace 開源了人臉識別引擎,一度成為熱門話題。 雖然後來SeetaFace 又放出來 2.0版本,但是,我說但是。。。 沒

MTCNN實時人臉檢測網絡詳解與opencv+tensorflow代碼演示

window gre 交叉 級聯 選擇 als beta text 多任務 MTCNN模型概述 多任務卷積神經網絡(MTCNN)實現人臉檢測與對齊是在一個網絡裏實現了人臉檢測與五點標定的模型,主要是通過CNN模型級聯實現了多任務學習網絡。整個模型分為三個階段,第一階段通過一

實時卷積神經網路實現人臉檢測和情感/性別分類

本文提出了一種通用的實現方法卷積神經網路(CNN)構建框架設計實時CNN。建立實時面部檢測視覺系統,實現性別分類和情緒分類。 其中:IMDB性別分類測試準確率:96%;fer2013情緒分類測試準確率:66%。 具體效果如下圖:  這裡提供下資料集下載: 1、情緒

利用MTCNN和facenet實現人臉檢測人臉識別

利用MTCNN和facenet實現人臉檢測和人臉識別     人臉檢測和人臉識別技術算是目前人工智慧方面應用最成熟的技術了。本部落格將利用mtcnn和faceNet搭建一個實現人臉檢測和人臉識別的系統。基本思路也很簡單,先利用mtcnn的進行人臉檢測,當然也可以使用其他的

目標檢測網路篇(2)【STN-空間變換網路

1. STN是什麼 STN:Spatial Transformer Networks,即空間變換網路,是Google旗下 DeepMind 公司的研究成果。該論文提出空間變換網路STN,分為引數預測、座標對映、畫素採集三大部分,可以插入到現有的CNN模型中。通

目標檢測模型篇(1)【CTPN連線文字提議網路

1. 前言 本週開始看模型篇,本週目標:CTPN,RRPN,DMPNet,EAST,衝鴨!! 第一篇,CTPN(Connectionist Text Proposal Network),其實是基於Faster R-CNN改進的,將RPN的體系結構擴充套件到文字