MTCNN 的原理
概述
MTCNN(Multi-Task Cascaded Convolutional Neural Network)是一种基于卷积神经网络的多任务face检测模型。它同时能够检测脸部、定位眼睛、鼻子和嘴巴等关键点,并调整边界框以获得更精确的 crop 图片。
MTCNN 的原理
第一段:精修框(Adjusting Bounding Box)
def create_Onet(weight_path):
input = Input(shape = [48,48,3])
# 卷积层1,输出通道数为32,步长为1,填充方式为valid
x = Conv2D(32, (3, 3), strides=1, padding='valid', name='conv1')(input)
# PReLU激活函数,共享轴[1,2],即对所有通道进行非线性变换
x = PReLU(shared_axes=[1,2],name='prelu1')(x)
# 下采样层(MaxPool),池化大小为3x3,步长为2
x = MaxPool2D(pool_size=3, strides=2, padding='same')(x)
# 卷积层2,输出通道数为64,步长为1,填充方式为valid
x = Conv2D(64, (3, 3), strides=1, padding='valid', name='conv2')(x)
x = PReLU(shared_axes=[1,2],name='prelu2')(x)
# 下采样层(MaxPool),池化大小为3x3,步长为2
x = MaxPool2D(pool_size=3, strides