【源头活水】FaceBoxes阅读笔记
“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。
地址:https://zhuanlan.zhihu.com/p/358094282
FaceBoxes: A CPU Real-time Face Detector with High Accuracy
01
02
The large visual variation of faces in the cluttered backgrounds requires face detectors to accurately address a complicated face and non-face classification problem;
The large search space of possible face positions and face sizes further imposes a time efficiency requirement.
03
04
Rapidly Digested Convolutional Layers (RDCL)
python class CRelu(nn.Module):
def init(self, in_channels, out_channels, kwargs): super(CRelu, self).__init__() self.conv = nn.Conv2d(in_channels, out_channels, bias=False, kwargs) self.bn = nn.BatchNorm2d(out_channels, eps=1e-5)
def forward(self, x): x = self.conv(x) x = self.bn(x) x = torch.cat([x, -x], 1) x = F.relu(x, inplace=True) return x
Multiple Scale Convolutional Layers (MSCL)
Multi-scale design along the dimension of network depth.
深度上做多尺度,就是拿不同层的feature map出来,图里拿了三个层出来。Multi-scale design along the dimension of network width.
宽度上做多尺度,就是Inception这个模块,模块如图所示。
anchor densification strategy
05
数据增强策略:
色彩失真
随机裁剪
resize到1024*1024
50%的水平翻转
Face-box 筛子,保留脸部中心在图片上的图片,去除face box 小于20px的框。(实际代码实现中,有一点不同是,随机裁剪之后会先被补成正方形,在resize到1024*1024,否则人脸就会被扭曲了)
损失函数:
跟RPN一样, 2-class softmax loss for 分类 and the smooth L1 loss for 回归
Hard negative mining
置信度排一排,从大到小,选一份positive三分negative做优化,目的是更快的优化和更稳定的训练。
others 很细节的问题 我直接复制了
All the parameters are randomly initialized with the “xavier” method. We fine- tune the resulting model using SGD with 0.9 momentum, 0.0005 weight decay and batch size 32. The maximum number of iterations is 120k and we use 10−3 learning rate for the first 80k iterations, then continue training for 20k iterations with 10−4 and 10−5, respectively. Our method is implemented in the Caffe library.
06
作者的结论几乎是又快又好,我的结论如下:
诚然,从速度和精度上,对比18年以前的工作,本文都做的很不错了。
存在的问题:
1、从结果上看,对侧脸,半边脸,被遮挡脸的识别表现的并不好。
2、从技术上看,数据增强部分我觉得可以优化一下,这个数据增强的策略对于异常处理并不友好(例如侧脸和半边脸)
3、从背景上看,人脸检测任务之后可能需要对更坏的场景做一些探索,比如光照或者是较暗的场景。(与文章无关)
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“源头活水”历史文章
解析神经架构搜索(NAS)中权重共享的影响
CVPR2021 | 密集连接网络中的稀疏特征重激活
MLP-Mixer 里隐藏的卷积
深度学习结合传统几何的视觉定位方法:HSCNet简介
CVPR 2021 | 帮你理解域迁移:可视化网络知识的变化
视觉Transformer中的位置嵌入
多任务权重自动学习论文介绍和代码实现
Covariate Shift: 基于机器学习分类器的回顾和分析
NAS中基于MCT的搜索空间采样方法
LSNet: Anchor-free新玩法,只用一个head统一目标检测,实例分割,姿态估计三种任务
CV+Transformer之Swin Transformer
爆火的 Swin Transformer 到底做对了什么
mBART:多语言翻译预训练模型
NiN 论文阅读
更多源头活水专栏文章,
请点击文章底部“阅读原文”查看
分享、在看,给个三连击呗!