retinaface代码讲解_RetinaFace文章及代码解读

本文详细介绍了RetinaFace人脸检测模型的实现原理,包括backbone网络、FPN、SSH模块以及多任务学习的分类、定位和landmark损失。通过Resnet50作为backbone,利用FPN进行特征融合,并通过SSH模块提取不同尺度特征。在训练过程中,使用了SmoothL1Loss和交叉熵损失函数。
摘要由CSDN通过智能技术生成

和通用物体检测不同,人脸检测smaller ratio variations (from 1:1 to 1:1.5)

much larger scale variations (from several pixels to thousand pixels)

这边主要是引入了额外的标注,引入了一个多任务学习:

前面两个是分类以及定位损失,后面的是landmark损失。

可以看到结果如下

来看一下代码,主要参考的是这个老哥的代码,没有参考mxnet的biubug6/Pytorch_Retinaface​github.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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值