和通用物体检测不同,人脸检测smaller ratio variations (from 1:1 to 1:1.5)
much larger scale variations (from several pixels to thousand pixels)
这边主要是引入了额外的标注,引入了一个多任务学习:
前面两个是分类以及定位损失,后面的是landmark损失。
可以看到结果如下
来看一下代码,主要参考的是这个老哥的代码,没有参考mxnet的biubug6/Pytorch_Retinafacegithub.com
先确定backbone,
backbone = models.resnet50(pretrained = cfg['pretrain'])
然后确定body,以及整体的网络
self.body = _utils.IntermediateLayerGetter(backbone, cfg['return_layers'])
#这玩意是能提中间层
self.fpn = FPN(in_channels_list, out_channels)
self.ssh1 = SSH(out_channels, out_channels)
self.ssh2 = SSH(out_channels, out_channels)
self.ssh3 = SSH(out_chan