当前位置: 首页 > news >正文

网站的优化用什么软件seo推广软件排行榜前十名

网站的优化用什么软件,seo推广软件排行榜前十名,软件工程师证书报考网站,太原网站建设报价pytorch框架基于retinaface实现face检测 简介模型结构MobileNet-0.25SSH结构Head结构 Anchor编解码 环境开发环境 数据简介 训练测试参考 简介 RetinaFace是在RetinaNet基础上引申出来的人脸检测框架,所以大致结构和RetinaNet非常像。 主要改进:1.Mobi…

pytorch框架基于retinaface实现face检测

  • 简介
    • 模型结构
      • MobileNet-0.25
      • SSH结构
      • Head结构
    • Anchor编解码
  • 环境
    • 开发环境
  • 数据
    • 简介
  • 训练
  • 测试
  • 参考

简介

RetinaFace是在RetinaNet基础上引申出来的人脸检测框架,所以大致结构和RetinaNet非常像。

主要改进:1.MobileNet-0.25作为Backbone,当然也有ResNet版本。2.Head中增加关键点检测。3.Multi-task Loss4.论文地址:https://arxiv.org/pdf/1905.00641.pdf5.官方代码(mxnet):https://github.com/deepinsight/insightface/tree/master/RetinaFace6.大牛Pytorch版:oaifaye/retinafaceoaifaye/retinafaceoaifaye/retinaface

模型结构

在这里插入图片描述

MobileNet-0.25

图中ConvDepthwise指MobileNet中的Depthwise Separable Convolution(深度可分离卷积),常规卷积在提取图像 特征图内特征相关性 的同时也提取 特征图通道间特征相关性,这样参数多而且难以解释。ConvDepthwise将这两项工作分开来做,减少了参数而且提高了可解释性。

ConvDepthwise结构如下:先做3x3的卷积,并且groups设置成输入通道数,这组卷积核只负责提取每个特征图的特征,同时计算量大大减少然后做1x1的卷积用于改变通道数,这组1x1的卷积核只提取通道间的特征相关性,同时参数大大减少。两组操作处理后计算量和参数量降低,可解释性提升。
# 代码实现
def conv_dw(inp, oup, stride = 1, leaky=0.1):return nn.Sequential(nn.Conv2d(inp, inp, 3, stride, 1, groups=inp, bias=False),nn.BatchNorm2d(inp),nn.LeakyReLU(negative_slope= leaky,inplace=True),nn.Conv2d(inp, oup, 1, 1, 0, bias=False),nn.BatchNorm2d(oup),nn.LeakyReLU(negative_slope= leaky,inplace=True),)
### FPN结构 FPN 特征金字塔,多用于目标检测,因为目标有大有小,所以不同的特征层做融合有助于检测不同尺度的目标。
    这里FPN取了三个关键特征层,然后将通道数都处理成64,这样三个关键特征层由浅到深分别是1,64,80,80、1,64,40,40、1,64,20,20。深层的关键特征层经过2x的Upsampling与浅层进行融合,最后三个融合后的分支分别输出到SSH结构。

SSH结构

SSH(Single Stage Headless)模块可以进一步增加感受野,进一步加强特征提取, SSH利用的也是多尺度特征融合的思想,融合了三路不同深度的特征,最后cancat到一起,输出和输入尺寸不变。结构如下:

class SSH(nn.Module):def __init__(self, in_channel, out_channel):super(SSH, self).__init__()assert out_channel % 4 == 0leaky = 0if (out_channel <= 64):leaky = 0.1# 3x3卷积self.conv3X3 = conv_bn_no_relu(in_channel, out_channel//2, stride=1)# 利用两个3x3卷积替代5x5卷积self.conv5X5_1 = conv_bn(in_channel, out_channel//4, stride=1, leaky = leaky)self.conv5X5_2 = conv_bn_no_relu(out_channel//4, out_channel//4, stride=1)# 利用三个3x3卷积替代7x7卷积self.conv7X7_2 = conv_bn(out_channel//4, out_channel//4, stride=1, leaky = leaky)self.conv7x7_3 = conv_bn_no_relu(out_channel//4, out_channel//4, stride=1)def forward(self, inputs):conv3X3 = self.conv3X3(inputs)conv5X5_1 = self.conv5X5_1(inputs)conv5X5 = self.conv5X5_2(conv5X5_1)conv7X7_2 = self.conv7X7_2(conv5X5_1)conv7X7 = self.conv7x7_3(conv7X7_2)# 所有结果堆叠起来out = torch.cat([conv3X3, conv5X5, conv7X7], dim=1)out = F.relu(out)return out

Head结构

Head分三种:BboxHead:框的回归预测结果用于对先验框进行调整获得预测框,即解码前的bounding box的中心点偏移量和宽高。ClsHead:分类预测结果用于判断先验框内部是否包含脸。LdmHead:解码前的五官关键点坐标。

每个单元的使用两个1:1比例的Anchor(anchor_num=2),三个Head结构如下图。
在这里插入图片描述

class ClassHead(nn.Module):def __init__(self,inchannels=512,num_anchors=2):super(ClassHead,self).__init__()self.num_anchors = num_anchorsself.conv1x1 = nn.Conv2d(inchannels,self.num_anchors*2,kernel_size=(1,1),stride=1,padding=0)def forward(self,x):out = self.conv1x1(x)out = out.permute(0,2,3,1).contiguous()return out.view(out.shape[0], -1, 2)class BboxHead(nn.Module):def __init__(self,inchannels=512,num_anchors=2):super(BboxHead,self).__init__()self.conv1x1 = nn.Conv2d(inchannels,num_anchors*4,kernel_size=(1,1),stride=1,padding=0)def forward(self,x):out = self.conv1x1(x)out = out.permute(0,2,3,1).contiguous()out = out.view(out.shape[0], -1, 4)return outclass LandmarkHead(nn.Module):def __init__(self,inchannels=512,num_anchors=2):super(LandmarkHead,self).__init__()self.conv1x1 = nn.Conv2d(inchannels,num_anchors*10,kernel_size=(1,1),stride=1,padding=0)def forward(self,x):out = self.conv1x1(x)out = out.permute(0,2,3,1).contiguous()return out.view(out.shape[0], -1, 10)

Anchor编解码

环境

开发环境

  1. GPU服务器:pytorch1.13.0,python3.10,cuda==11.7
  2. nvidia-smi 查看 CUDA 版本
conda create -n retinaface python=3.7
conda activate retinaface
pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install tensorboard scipy numpy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install opencv_python Pillow==9.4.0 h5py -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

数据

简介

Wider Face数据集,标记使用retinaface_gt_v1.1.zip

训练

测试

参考

通俗解读人脸检测框架-RetinaFace

http://www.wangmingla.cn/news/78822.html

相关文章:

  • 西安企业名录seo推广公司
  • 甘肃住房建设厅网站seo优化主要工作内容
  • 深圳湾在深圳哪个区优化营商环境
  • 邢台做网站的公司千锋教育培训机构可靠吗
  • ui平面设计seo排名赚app靠谱吗
  • 质量好网站建设哪家便宜网站优化排名软件推广
  • 微信h5免费制作网站seo 优化思路
  • 农业交易平台网站建设在线一键免费生成网页网站
  • 自己做黑彩网站windows优化大师值得买吗
  • 大连网站建设意动科技公司网络推广方法怎么做
  • 做游戏破解版的网站seo网络优化公司哪家好
  • 建筑专业网站有哪些能打开的a站
  • 像优酷这样的网站需要怎么做百度收录提交入口网址
  • 小鼠标网站建设长沙网站优化排名推广
  • 建设行网站修改电话全面的seo网站优化排名
  • 有没有做批发的网站搜索引擎优化师工资
  • 网站商城网络整合营销整站优化关键词推广
  • 推荐做问卷的网站宁波seo推广费用
  • 医药招商网站大全谷歌google地图
  • 友链网站降权百度百科官网首页
  • 网站和数字界面设计师竞价推广方案
  • 自己做导航网站浏览器网站进入口
  • 上海市建设工程设计文件审查管理事务中心网站泉州seo优化
  • 网站点击率如何做百度搜索关键词排名查询
  • 网站如何建设与优化百度新闻首页头条
  • 临沂做网站的google官网进入
  • 怎样做一元购网站龙岗网络公司
  • 网页生成二维码生成器在广州做seo找哪家公司
  • 怎样通过阿里云建设网站京东seo搜索优化
  • 网站地图的作用免费制作网站app