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

网站开发线框湖南人文科技学院王牌专业

网站开发线框,湖南人文科技学院王牌专业,网站开发 程序开发原理,c 登录 wordpressDeformable ConvNets v2 简介:由于构造卷积神经网络所用的模块中几何结构是固定的,其几何变换建模的能力本质上是有限的。在DCN v1中引入了两种新的模块来提高卷积神经网络对变换的建模能力,即可变形卷积 (deformable convolution) 和可变形…

Deformable ConvNets v2

简介:由于构造卷积神经网络所用的模块中几何结构是固定的,其几何变换建模的能力本质上是有限的。在DCN v1中引入了两种新的模块来提高卷积神经网络对变换的建模能力,即可变形卷积 (deformable convolution) 和可变形兴趣区域池化 (deformable ROI pooling)。它们都是基于在模块中对空间采样的位置信息作进一步位移调整的想法,该位移可在目标任务中学习得到,并不需要额外的监督信号。新的模块可以很方便在现有的卷积神经网络 中取代它们的一般版本,并能很容易进行标准反向传播端到端的训练,从而得到可变形卷积网络 (deformable convolutional network)。但是增加偏移之后可能会将无关的信息考虑进去,影响最终的结果。所以在DCN v2中作者对DCN v1进行了提升,减小无关信息的干扰。

原文地址:Deformable ConvNets v2: More Deformable, Better Results

regular conv
DCNv1
DCNv2

pytorch代码实现

class DCNv2(nn.Module):def __init__(self, in_channels, out_channels, kernel_size, stride=1,padding=1, dilation=1, groups=1, deformable_groups=1):super(DCNv2, self).__init__()self.in_channels = in_channelsself.out_channels = out_channelsself.kernel_size = (kernel_size, kernel_size)self.stride = (stride, stride)self.padding = (padding, padding)self.dilation = (dilation, dilation)self.groups = groupsself.deformable_groups = deformable_groupsself.weight = nn.Parameter(torch.empty(out_channels, in_channels, *self.kernel_size))self.bias = nn.Parameter(torch.empty(out_channels))out_channels_offset_mask = (self.deformable_groups * 3 *self.kernel_size[0] * self.kernel_size[1])self.conv_offset_mask = nn.Conv2d(self.in_channels,out_channels_offset_mask,kernel_size=self.kernel_size,stride=self.stride,padding=self.padding,bias=True,)self.bn = nn.BatchNorm2d(out_channels)self.act = Conv.default_actself.reset_parameters()def forward(self, x):offset_mask = self.conv_offset_mask(x)o1, o2, mask = torch.chunk(offset_mask, 3, dim=1)offset = torch.cat((o1, o2), dim=1)mask = torch.sigmoid(mask)x = torch.ops.torchvision.deform_conv2d(x,self.weight,offset,mask,self.bias,self.stride[0], self.stride[1],self.padding[0], self.padding[1],self.dilation[0], self.dilation[1],self.groups,self.deformable_groups,True)x = self.bn(x)x = self.act(x)return xdef reset_parameters(self):n = self.in_channelsfor k in self.kernel_size:n *= kstd = 1. / math.sqrt(n)self.weight.data.uniform_(-std, std)self.bias.data.zero_()self.conv_offset_mask.weight.data.zero_()self.conv_offset_mask.bias.data.zero_()class Bottleneck_DCN(nn.Module):# Standard bottleneck with DCNdef __init__(self, c1, c2, shortcut=True, g=1, k=(3, 3), e=0.5):  # ch_in, ch_out, shortcut, groups, kernels, expandsuper().__init__()c_ = int(c2 * e)  # hidden channelsif k[0] == 3:self.cv1 = DCNv2(c1, c_, k[0], 1)else:self.cv1 = Conv(c1, c_, k[0], 1)if k[1] == 3:self.cv2 = DCNv2(c_, c2, k[1], 1, groups=g)else:self.cv2 = Conv(c_, c2, k[1], 1, g=g)self.add = shortcut and c1 == c2def forward(self, x):return x + self.cv2(self.cv1(x)) if self.add else self.cv2(self.cv1(x))class C2f_DCN(nn.Module):# CSP Bottleneck with 2 convolutionsdef __init__(self, c1, c2, n=1, shortcut=False, g=1, e=0.5):  # ch_in, ch_out, number, shortcut, groups, expansionsuper().__init__()self.c = int(c2 * e)  # hidden channelsself.cv1 = Conv(c1, 2 * self.c, 1, 1)self.cv2 = Conv((2 + n) * self.c, c2, 1)  # optional act=FReLU(c2)self.m = nn.ModuleList(Bottleneck_DCN(self.c, self.c, shortcut, g, k=(3, 3), e=1.0) for _ in range(n))def forward(self, x):y = list(self.cv1(x).split((self.c, self.c), 1))y.extend(m(y[-1]) for m in self.m)return self.cv2(torch.cat(y, 1))

具体修改

module.py文件修改

将pytorch代码实现中的定义代码添加至module.py文件最后
修改1

task.py文件修改

导入C2f-DCN模块
在这里插入图片描述
def parse_model函数部分导入C2f-DCN
在这里插入图片描述

yolov8.yaml配置文件修改

替换原有C2f模块,最后进行训练即可。
在这里插入图片描述

http://www.yayakq.cn/news/227395/

相关文章:

  • 诸城网站建设定制十堰推广公司
  • 上海企业网站建设补贴dw怎么做网站轮播图
  • 导航网站搭建hao123上网从这里开始作文
  • 网站正在建设中 蓝色西安市城乡与住房建设厅网站
  • 网站为什么要备案登记哈尔滨百度网站建设
  • 网站平面设计徐州网络建站模板
  • 网站建设与企业发展烟台微信网站建设
  • 购物网站平台建设深圳网站建设定制开发
  • 中山建网站公司即墨市网站建设
  • 服务器公司网站关键词快速排名不限行业
  • 桂林网站定制建设沪指重上3000点
  • 2017网站建设有市场吗ppt制作神器
  • 哪里培训网站开发好如何用ip做网站
  • 信息发布网站推广技巧网站建设盐城
  • 重庆江北区网站建设湛江专门做网站
  • 义乌网站制作电话中国石油网站建设在线第三次作业
  • 网站建设前期如何规划福建百度开户
  • 专业网站制作的地方wordpress 好seo吗
  • 营销型网站用什么系统给公司做网站 图片倾权
  • 网站建设锚点链接贵阳哪家网站做优化排名最好
  • 平凉市建设厅官方网站办公室平面设计图
  • 公司的网站如何建设谷歌网站流量分析
  • 优化seo网站西安wordpress放音乐播放器
  • 上海推广网站广东seo价格是多少钱
  • wordpress如何在地址栏中加网站logo公司已经有域名 怎么建网站
  • 宁波网站设计首选荣盛网络电商网站建设价格
  • 塘厦镇网站建设公司沭阳网站设计
  • 南京学校网站制作徐州网约车
  • 搭建网站 开源软件wordpress ftp 失败
  • 网站科技动效建站之星安装模板失败