论文部分内容阅读
本文提出了一种特征融合的单级CNN人脸检测算法和基于faster RCNN(region-based convolutional neural network,RCNN)的级联 CNN 人脸检测算法。第一,本文通过特征融合改进单级CNN人脸检测算法。为得到判别性能更强的特征,本文训练两个不同的网络分别用于提取特征,之后将不同网络提取的特征融合。经主成分分析(principle component analysis,PCA)降维后,得到更加紧凑的特征,再利用支持向量机(support vector machine,SVM)实现二分类。测试阶段,为检测多尺度的人脸,首先对待测图像生成图像金字塔,在图像金字塔的每一级上,采用滑动窗口法(sliding window)得到每一个窗口的特征。为降低计算量,本文将网络转化成全卷积网络以共享卷积计算,一次前向计算即可得到所有滑动窗口的特征。且在最后一个池化操作时,采用偏置下采样(offsetpooling)以缩小滑动窗口的步长,从而提升检测框位置的准确度。实验结果表明,融合后的特征具有更强的判别能力,更好的刻画人脸和非人脸特征。第二,本文利用faster RCNN实现级联CNN人脸检测并对faster RCNN加以改进。在候选区域提取阶段,增加锚点(anchor)尺度,且限制正负anchor比例以进一步均衡正负样本,此外,本文考虑人脸的特殊结构,利用人脸关键部位实现对anchor的分类和回归,同时结合在线难例挖掘(OHEM)进一步提升网络的性能。在fastRCNN阶段,利用人脸关键部位响应图实现对候选区域的分类和回归,替代原来的全连接层,大大减少了参数,从而提高速度,同时结合OHEM进一步提升检测器的分类性能。本文方法在FDDB上测试,在误检数为500时,取得95.9%的召回率,误检数为351时,召回率为95.71%,仅次于小米科技的95.89%,在使用GPU时,平均测试速度为100fps。