文章目录
1.序言
该项目是由mtcnn+arcsoftmax进行人脸识别的
2 人脸侦测
2.1 总体流程
思路概述:采用 级联 思想,上一个网络的输出作为下一个网络的输入
2.2 网络结构
2.2.1 Pnet
作用:判断是否存在人脸,并给出人脸框和关键点,为R网络提供建议框
输入:12x12x3的图片
输出:
1、人脸的概率。我采用二分类的方式做损失函数,故只输出了1x1x1 1个通道(如果采用多分类损失函数,则可输出2个通道)
输出一个通道的原因:一是损失函数采用的是二分类做损失函数,另一个就是在进行坐标反算的时候
2、人脸检测框偏移量的坐标(左上右下)。输出了1x1x4 4个通道
3、人脸关键点坐标。输出为1x1x10(代码中未实现)
2.2.2 Rnet
作用:对Pnet的输出的建议框,进一步进行判定,并进一步提高人脸的存在与否的精度
输入:24x24x3
输出:全连接
1、1==》人脸/无人脸
2、4==》建议框坐标偏移量
3、10==》关键点坐标偏移量(代码未实现)
3)Onet
作用:对Rnet的输出进一步精化,并进一步提高人脸的存在与否的精度
区别:和其他的网络相比,O网络的层数总共为6层
输入:48x48x3
输出: 全连接
1、1==》人脸/无人脸
2、4==》建议框坐标偏移量
3、10==》关键点坐标偏移量(代码未实现)
2.3 数据处理
使用数据集:CelebA
下载链接:https://pan.baidu.com/s/1_e8pSnfeMT0fCFEtvm8pSA
提取码:wpav
2.3.1 数据生成
项目文件夹构成
思路:
2.3.2 dataset
注意:我做的时候,在返回值,将图片数据、置信度、偏移量是分开返回的(置信度和偏移量可不分开返回)
问题:
在进行训练