如MTCNN(Multi-task Cascaded Convolutional Neural Networks),MTCNN人臉識別的主要方法是:
當給定壹張照片的時候,將其縮放到不同尺度形成圖像金字塔,以達到尺度不變。
步驟1:使用P-Net生成候選窗和邊框回歸向量(bounding box regression vectors)。使用Bounding box regression的方法來校正這些候選窗,使用非極大值抑制(NMS)合並重疊的候選框。全卷積網絡和FasterR-CNN中的RPN壹脈相承;
步驟2:使用N-Net改善候選窗,將通過P-Net的候選窗輸入R-Net中,拒絕掉大部分false的窗口,繼續使用Bounding box regression和NMS合並;
步驟3:最後使用O-Net輸出最終的人臉框和特征點位置。和第二步類似,但是不同的是生成5個特征點位置。
可以看出,MTCNN是使用分階段的方式實現人臉檢測及人臉對齊任務,即每壹個階段由壹個網絡組成,使用中需要對這些網絡進行分階段的訓練,這樣的識別方式顯然不是壹種端對端的學習方式,人臉識別效率慢。且網絡泛化能力弱、魯棒性差。