MTCNN 人脸检测 人脸对齐
flyfish
总体
Loss
Stage 0:Image Pyramid
假设图片的宽度是640,高度是480
MIN_DET_SIZE=12
minsize=70
factor=0.709
0.171428571×0.709
那么金字塔窗口大小分别是
wh:110,83
wh:78,59
wh:56,42
wh:40,30
wh:28,21
wh:20,1
计算过程如下
从640和480中两个选择比较小的数,选择480 ,用于480和12的比较
MIN_DET_SIZE/minsize=0.171429
640×0.171429=110(计算结果如果有小数,则进一位)
480×0.171429=83
110×0.709=78
83×0.709=59
直到宽度小于12停止
Stage 1:P-Net
P-Net流程
输入图像尺寸,定义为(h, w)
最小人脸尺寸,定义为 min_face_size
Image Pyramid缩放因子,定义为factor
初始缩放因子定义为init_factor=12/min_face_size
P-Net网络的初始大小12×12×3
P-Net
R-Net
O-Net
P-Net和R-Net只关心classification和bounding box regression
O-Net关心 classification,bounding box regression,facial landmark localization
face classification判断是不是人脸,一个代表是人脸,一个代表不是人脸 因此输出是2维的.
bounding box regression回归出的是bounding box左上角和右下角的偏移dx1,dy1,dx2,dy2
也可以使用 中心位置(x,y)高度和宽度(w,h).
facial landmark localization回归出的是左右眼、鼻子、左右嘴角共5个点的位置(x,y),因此是10维的
第一阶段,浅层的CNN快速产生候选边框;
第二阶段,通过更复杂的CNN改善候选边框,丢弃大量的重叠边框;
第三阶段,使用更加强大的CNN,实现候选边框去留,同时显示五个面部关键点定位。