论文部分内容阅读
随着互联网+时代的发展,智能眼镜被广泛应用于导航、图像捕捉和消息提醒等方面。基于智能眼镜的人脸识别系统可用于协助安保人员、警力或医疗等突发事件的处理。因此,人们对应用在移动端的人脸识别算法提出了更高的要求。人脸识别具有非强制性和非接触性的特点,是一种通过提取人脸特征信息进行身份验证的生物技术。但是,当前先进的人脸识别算法大部分建立在大型的深度卷积神经网络上,甚至通过采用多个神经网络级联的方式来取得较高的识别率,这样的做法带来了数百万的参数和昂贵的计算花费,以致于模型在移动端和嵌入式设备上的部署变得极其困难。为了使模型能够更好地应用在便携的智能眼镜端,本文主要研究神经网络结构在检测速度和识别率方向的优化,从而减小模型参数、提高模型运行效率。首先,在人脸检测模块中,本文将具有代表性的传统人脸检测器的Viola-Jones,和基于深度学习的人脸检测器MTCNN(全称为Multi-Task Cascaded Convolutional Networks)进行了对比实验,实验结果表明MTCNN算法优于传统的Viola-Jones检测器。但是MTCNN网络随着图像增大、人脸增多易产生严重的时延问题。为了进一步优化MTCNN网络的检测速度,使之精度下降不多的情况下,尽可能的减少计算量,本文提出将深度可分离卷积算法应用到MTCNN网络中,解决移动端设备人脸检测延时的缺陷,使人脸检测时间大大缩短。实验结果表明,改进后的MTCNN网络参数量仅占原来的11%,在一张图像的检测速度提升了 32%。其次,在人脸识别模块中,本文研究了基于深度学习的人脸识别方法,并对度量函数进行深入分析。由于人脸识别的测试集的类别不在训练集中,这使得人脸识别方法的核心转移到度量学习。度量函数在人脸识别中起着至关重要的作用,它使得未知类的特征之间可以较好的区分开。为了使类间距离减小,类内距离增加,从而更好的对人脸进行分类,本文提出了联合L-softmax、CosFace和ArcFace度量学习的方法并在ResNet(全称为Residual Net)网络结构中引入注意力机制,使人脸识别模型的损失函数降至更低,模型的泛化能力更强。实验结果表明,改进的模型在LFW数据集上能够获得99.56%的准确率。最后,由于人脸识别模型算法复杂,参数量大,不适用于智能眼镜端,因此本文对模型进行压缩使之能够嵌入到智能眼镜系统。为了使压缩后的模型几乎不损失精度,本文提出将Knowledge Distill算法应用于L1正则剪枝后的重训练模型,其中预训练模型作为教师,剪枝后的模型作为学生,提取教师网络Softmax层的概率引导监督学生网络,使重训练的学生模型更紧凑。实验结果表明,该方法能够减少大约30%的参数,且准确率几乎不下降。本文应用PytorchConverter工具将压缩后的Pytorch模型转换为移动端可运行的ncnn模型,对ncnn模型封装后即可通过Java调用。本文所选的智能眼镜设备是基于安卓(Android)系统设计的谷歌(Google)眼镜,该设备可通过WIFI连接手机端,也可实现单机模式,本课题采用的单机模式,直接将人脸库存于眼镜端。系统实验结果证明了本文所设计的系统的可行性与时效性。