tensorFlow MTCNN人脸检测

步骤一:P-NET,该步骤主要生成了一堆候选区域的边框,并采用NMS(非极大值)机制进行相应的合并。这与目标检测过程中的原理类似。

步骤二:R-NET,即对步骤一的结果再进一步细划,得到更精细的候选区域。

步骤三:O-NET,输出结果。(人脸边框和特征点位置)

补充:

(1) 文中训练使用了Online Hard sample mining策略,即在一个batch中只选择loss占前70%的样本进行BP;

(2) 不同阶段,classifier、boundingbox regression 和 landmarks detection在计算Loss时的权重是不一样的;

(3) 训练数据共4类,比例3:1:1:2,分别是negative,IOU<0.3; positive,IOU>0.65; part face,0.4

本算法从三个方面对CNN检测器进行训练:人脸分类、边界框回归、地标定位(关键点定位)。

√OS 模块
      os.getcwd():返回当前工作目录。
      os.path.join(path1[,path2[,......]]):
      返回值:将多个路径组合后返回。
      注意:第一个绝对路径之前的参数将被忽略。
      例:
      >>> import os
      >>> vgg16_path = os.path.join(os.getcwd(),"vgg16.npy")
      #当前目录/vgg16.npy,索引到 vgg16.npy 文件

相关文章: