VarGFaceNet:地平线提出轻量级、有效可变组卷积的人脸识别网络
作者 | Mengjia Yan、Mengao Zhao、Zining Xu、Qian Zhang、Guoli Wang、Zhizhong Su
译者 | 刘畅
编辑 | Jane
出品 | AI科技大本营(ID:rgznai100)
【导读】为了提高用于人脸识别的轻量级网络的判别和泛化能力,本文提出了一种有效的可变组卷积网络,称为VarGFaceNet。VarGNet引入了刻板组卷积,以解决小计算量与块内计算强度不平衡之间的冲突。
作者采用可变组卷积来设计了网络,该网络可以支持大规模人脸识别,同时减少计算成本和参数。具体来说,作者对头部(head)进行设置,用于在网络开始时保留基本信息,并提出特定的嵌入方法以减少用于嵌入的全连接层的参数。
为了提高解释能力,作者采用等效的角度蒸馏损失来指导我们的轻量级网络,并应用递归知识蒸馏来缓解教师模型和学生模型之间的差异。值得一提的是,LFR(2019)挑战赛,deepglintlight赛道冠军证明了本文模型和方法的有效性。
论文地址:
https://arxiv.org/abs/1910.04985v2
VarGFaceNet代码开源网址:
https://github.com/zma-c137/VarGFaceNet
引言
随着计算资源的激增,基于深度表示的人脸识别已广泛应用于监控,营销和生物识别等许多领域。然而,由于需要进行大规模的身份分类,因此在有限的计算成本系统(例如移动端和嵌入式系统)上实现人脸识别仍然是一项艰巨的任务。
许多工作提出了用于常见计算机视觉任务的轻型网络,例如SqueezeNet,MobileNet ,MobileNetV2,ShuffleNet,SqueezeNet。它们大量的使用1×1卷积,与AlexNet 相比,可减少50倍的参数,同时在ImageNet上保持AlexNet级别的准确性。
MobileNet 利用深度可分离卷积来实现计算时间和准确性之间的权衡。基于这项工作,MobileNetV2 提出了一种倒置的bottleneck结构,以增强网络的判别能力。
ShuffleNet 和ShuffleNetV2 使用逐点组卷积和通道随机操作进一步降低了计算成本。即使它们在推理过程中花费很少的计算并在各种应用程序上有良好的性能,但嵌入式系统上的优化问题仍然存在于。
为了解决这个冲突,VarGNet 提出了一个可变组卷积,可以有效地解决块内部计算强度的不平衡。同时,作者探索了在相同卷积核大小的情况下,可变组卷积比深度卷积具有更大的学习能力,这有助于网络提取更多的信息。
但是,VarGNet是针对常用任务设计的,例如图像分类和目标检测。它将头部的空域减小到一半,以节省内存和计算成本,而这种方式并不适合人脸识别任务,因为它需要更详细的面部信息。而且,在最后的conv和全连接层之间,只有一个平均池化层,可能无法提取足够的区分性信息。
基于VarGNet,作者提出了一种有效的用于轻量级人脸识别的可变组卷积网络,简称VarGFaceNet。为了增强VarGNet对大规模人脸识别任务的判别能力,作者首先在VarGNet的块上添加SE块[13]和PReLU [8]。然后,在网络开始时删除了下采样过程,以保留更多信息。为了减少网络参数,作者用可变组卷积将特征张量缩小到fc层之前的1×1×512。
VarGFaceNet的性能表明,这种设置方法可以保留判别能力,同时减少网络参数。为了增强轻量级网络的解释能力,我们在训练过程中采用了知识蒸馏方法。目前有几种方法可以使深层网络更小,更高效,例如模型修剪,模型量化和知识蒸馏。最近,ShrinkTeaNet 引入了一个角度蒸馏损失来关注教师模型的角度信息。
受角度蒸馏损失的启发,作者采用等效损失和更好的实现来指导VarGFaceNet。此外,为了减轻教师模型和学生模型之间优化的复杂性,作者引入了递归知识提炼,它将递归的学生模型视为下一代的预训练模型。
LFR挑战赛是关于轻量级人脸识别挑战,它要求FLOPs数在1G以下且内存占用在20M以下的网络。VarGFaceNet在这一挑战上实现了SOTA的性能,这在第3节中有介绍。总之,本文贡献如下:
- 为了提高VarGNet在大规模人脸识别中的判别能力,作者采用了不同的头部并提出了一个新的嵌入块。在嵌入块中,作者先通过1×1卷积层将通道扩展到1024,以保留基本信息,然后使用可变组conv和逐点conv将空域缩小到1×1,节省计算成本。如下文所示,这样的操作能提高人脸识别任务的性能。
- 为了提高轻量级模型的泛化能力,作者提出了递归知识蒸馏,以减少教师模型和学生模型之间的泛化差距。
- 作者分析了可变组卷积的性能,并在训练过程中采用了等效的角度蒸馏损失。实验证明了本文方法的有效性。
数据集和评价标准
从头训练VarGFaceNet
使用ResNet指导训练VarGFaceNet
采用递归知识蒸馏进行训练
(*本文为 AI科技大本营整理文章,请微信联系 1092722531)
◆
精彩推荐
◆
推荐阅读
你点的每个“在看”,我都认真当成了AI
VarGFaceNet:地平线提出轻量级、有效可变组卷积的人脸识别网络相关推荐
- 地平线开源轻量级、有效可变组卷积的人脸识别网络VarGFaceNet
点击我爱计算机视觉标星,更快获取CVML新技术 作者 | Mengjia Yan.Mengao Zhao.Zining Xu.Qian Zhang.Guoli Wang.Zhizhong Su 译者 ...
- python机器学习库keras——CNN卷积神经网络人脸识别
全栈工程师开发手册 (作者:栾鹏) python教程全解 github地址:https://github.com/626626cdllp/kears/tree/master/Face_Recognit ...
- CVPR 2020 | 旷视研究院提出数据不确定性算法 DUL,优化人脸识别性能
IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 大会官方论文结果公布 ...
- cvpr2020 人脸检测与识别_CVPR 2020 | 旷视研究院提出数据不确定性算法 DUL,优化人脸识别性能...
本文是旷视CVPR2020论文系列解读第7篇,提出了 Data Uncertainty Learning(DUL)算法,把数据不确定性估计理论应用于人脸识别领域.DUL 算法的两种训练模式可与人脸识别 ...
- 博士论文——基于卷积神经网络的人脸识别研究 __张燕红
论文题目 作者 年份 关键词 链接 备注 基于卷积神经网络的人脸识别研究 张燕红 2018 人脸识别:卷积神经网络:特征提取:分块策略:正则化 博士论文 摘要:随着信息技术的蓬勃发展,人们的学习和生活 ...
- 卷积神经网络人脸特征提取,cnn卷积神经网络模型
1.卷积神经网络 有哪些改进的地方 卷积神经网络的研究的最新进展引发了人们完善立体匹配重建热情.从概念看,基于学习算法能够捕获全局的语义信息,比如基于高光和反射的先验条件,便于得到更加稳健的匹配.目前 ...
- (论文阅读)基于融合深度卷积神经网络的人脸识别方法研究-褚玉晓
一.基于融合深度卷积神经网络人脸识别方法设计 1.PCA算法提取人脸特征 主要成分分析法(Principal Component Analysis,PCA) 第一步,计算人脸图像的平均值并执行归一化的 ...
- 卷积神经网络实现人脸识别微笑检测
一:卷积神经网络介绍: 1. 定义: 卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neu ...
- 基于CNN卷积神经网络的人脸识别
一.利用卷积神经网络进行人脸检测,称作CFF(卷积人脸搜索) 卷积神经网络人脸识别的大致流程: 1)对本地人脸进行特征提取 2)打开摄像头(opencv) 3)从cap获取信息 4)找人脸 5)对人脸 ...
最新文章
- vi/vim 删除:一行, 一个字符, 单词, 每行第一个字符 命令
- 网站内容才是SEO的第一要素
- BIEE汇总数据如何放在后面
- python天蝎座-day1笔记
- 【nginx】【小记】泛解析大量域名的情况下 将不带www的域名,301到与之对应的www前缀的域名
- Eclipse的使用总结
- 64位windows系统 asp.net 对word Com 组件访问的设计.对于word2010/2007同样适用
- VS2010SP1dvd1安装失败。
- 小菜鸡跟着小破站黑马程序员学习JAVA的真实经历、感受与收获
- 跑分cpu_跑分完爆骁龙 865?明年这些中端处理器真的要起飞
- 计算机大作业的范本,计算机应用基础大作业.doc
- 【React Router 6 快速上手一】重定向Navigate / useRoutes路由表 / 嵌套路由Outlet
- 微信小视频会上传到服务器么,微信新出的视频号功能怎么样发布短视频?能上传一分钟以上吗?...
- 尚不成熟的单个摄像头触屏方案
- 百度高德离线地图二次开发入门步骤
- 口腔APP开发具有什么好处
- Windows下的Autorun程序
- 南大自考流程详解-计算机应用/计算机科学与技术
- 乌镇步入“一脸游”时代:刷脸完成景区入园和吃住游
- 听音扒谱app_广播/会的人都说听音写谱没有那么难!听歌扒谱子技巧关键是方法正确...
热门文章
- 2017浅谈面试(一)
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
- 利用phpmailer类邮件发送
- 一步步构建大型网站架构
- asp.net 控制页面css样式
- postman发送post请求,用request.getParameter()获取请求参数
- java json 长度限制_[原创]Java中字符串、数组、集合及JSONArray的长度属性
- SpringCloud系列一:SpringCloud的简介和架构
- Centos 7 意外断电如何处理
- WebFrom模拟MVC