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

民和网站建设公司属于网络营销站点推广的是

民和网站建设公司,属于网络营销站点推广的是,中山企业网络推广方案,个人入驻的跨境平台前言 本文从 U-Net 入手熟悉分割的简单方法#xff0c;再看 YOLOv8 的方法。主要梳理 YOLOv8 的网络结构#xff0c;以及 Predict 过程的后处理方法。 U-Net 代码地址#xff1a;https://github.com/milesial/Pytorch-UNet YOLOv8 代码地址#xff1a;https://github.com/…前言 本文从 U-Net 入手熟悉分割的简单方法再看 YOLOv8 的方法。主要梳理 YOLOv8 的网络结构以及 Predict 过程的后处理方法。 U-Net 代码地址https://github.com/milesial/Pytorch-UNet YOLOv8 代码地址https://github.com/ultralytics/ultralytics YOLOv8 官方文档https://docs.ultralytics.com/ 1. U-Net 1.1 网络结构 CBR Conv2d(3, 64, kernel_size(3, 3), stride(1, 1), padding(1, 1), biasFalse) BatchNorm2d(64, eps1e-05, momentum0.1, affineTrue, track_running_statsTrue) ReLU(inplaceTrue)1.2 转置卷积 torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride1, padding0, output_padding0, groups1, biasTrue, dilation1, padding_modezeros, deviceNone, dtypeNone )H o u t ( H i n − 1 ) × stride [ 0 ] − 2 × padding [ 0 ] dilation [ 0 ] × ( kernel_size [ 0 ] − 1 ) output_padding [ 0 ] 1 H_{out} (H_{in} - 1) \times \text{stride}[0] - 2 \times \text{padding}[0] \text{dilation}[0] \times (\text{kernel\_size}[0] - 1) \text{output\_padding}[0] 1 Hout​(Hin​−1)×stride[0]−2×padding[0]dilation[0]×(kernel_size[0]−1)output_padding[0]1 W o u t ( W i n − 1 ) × stride [ 1 ] − 2 × padding [ 1 ] dilation [ 1 ] × ( kernel_size [ 1 ] − 1 ) output_padding [ 1 ] 1 W_{out} (W_{in} - 1) \times \text{stride}[1] - 2 \times \text{padding}[1] \text{dilation}[1] \times (\text{kernel\_size}[1] - 1) \text{output\_padding}[1] 1 Wout​(Win​−1)×stride[1]−2×padding[1]dilation[1]×(kernel_size[1]−1)output_padding[1]1 stride 控制原图像素之间的填充量数值为 stride − 1 \text{stride}-1 stride−1kernel_sizepadding kernel_size 为转置卷积核大小并且和 padding 一同决定原图四周填充量数值为 kernel_size − padding − 1 \text{kernel\_size}-\text{padding}-1 kernel_size−padding−1dilation 控制卷积核采样点的间距空洞卷积默认为1即最普通的卷积 注转置卷积在卷积时的 stride 固定为1output_padding 固定为0而参数中设置的 stride、padding 用于控制卷积之前对输入的填充 以 kernel_size 2 , stride 2 , padding 0 , H i n 640 , W i n 640 \text{kernel\_size}2,\text{stride}2,\text{padding}0,H_{in}640,W_{in}640 kernel_size2,stride2,padding0,Hin​640,Win​640 为例 像素间填充 2-11 640 × 640 → 1279 × 1279 640\times640\to1279\times1279 640×640→1279×1279四周填充 2-0-11 1279 × 1279 → 1281 × 1281 1279\times1279\to1281\times1281 1279×1279→1281×12812x2卷积 1281 × 1281 → 1280 × 1280 1281\times1281\to1280\times1280 1281×1281→1280×1280 查看不同卷积的可视化https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 1.3 Loss 单分类 loss BCEWithLogitsLoss(P, Y) dice_loss(sigmoid(P), Y) 多分类 loss CrossEntropyLoss(P, Y) dice_loss(softmax(P), one_hot(Y))1BCEWithLogitsLoss 对于每个样本 l − [ y l o g σ ( x ) ( 1 − y ) l o g ( 1 − σ ( x ) ) ] l-[ylog\sigma (x)(1-y)log(1-\sigma (x))] l−[ylogσ(x)(1−y)log(1−σ(x))]最后求均值 2dice_loss l 1 − sum ( 2 × P × Y ) sum ( P ) sum ( Y ) l 1-\frac{\text{sum}(2\times P\times Y)}{\text{sum}(P)\text{sum}(Y)} l1−sum(P)sum(Y)sum(2×P×Y)​ 这里的 Y Y Y 作为标签是固定的 P P P 通过让目标区域值靠近1提高分子值背景区域靠近0降低分母值即 P → Y P\to Y P→Y从而降低loss 1.4 Predict 单分类 mask sigmoid(P) threshold 多分类 mask P.argmax(dim1)2. YOLOv8-seg 2.1 网络结构 结构图中数据按 yolov8m-seg 的 predict 过程绘制输入图像为 1280x720预处理时通过 LetterBox 对图像进行保长宽比缩放和 padding使其长宽都能被最大下采样倍率32整除。在 train 过程中输入大小统一为 640x640。 主干 CBS Conv2d(3, 48, kernel_size(3, 3), stride(2, 2), padding(1, 1), biasFalse) BatchNorm2d(48, eps0.001, momentum0.03, affineTrue, track_running_statsTrue) SiLU(inplaceTrue)C2f 模块 SPPF Segment-head 分割 检测 注DLF层中的卷积层参数是固定的在这里是 torch.arange(16)。 Anchor   Anchor坐标是把特征图看做一个网格每个像素边长为1把每个格子的中心点坐标取出来。以 x0 (h48,w80) 为例左上角坐标为 (0.5,0.5)右下角点为 (79.5,47.5)。   DLF的输出对应目标框左上角坐标和右下角坐标到Anchor坐标的距离与Anchor融合并乘上对应的下采样倍率得到 dbox。 lt, rb dfl(box).chunk(2, dim1) x1y1 anchor_points - lt x2y2 anchor_points rb2.2 预测 模型推理输出 Y: [b,4,5040] mc: [b,32,5040] p: [b,32,96,160]Y为检测结果4对应检测框坐标 mc为分割结果32对应分割的特征向量通过和p做矩阵乘法可以转化成mask形式模型最终推理的输出preds包含两项 (1)torch.cat(y, mc], 1), 即检测和分割的结果, shape:[b,37,5040] (2)包含3项的元组a. [x0, x1, x2], 即detect层的中间输出b. mc [b,32,5040]c. p [b,32,96,160]NMS p nms((20,37,5040), conf0.25, iou0.7, agnosticFalse, max_det300, nc1)(1) 分类得分阈值筛选 class_scores conf0.25 [5040,37] -- [n1,37] (2) 提取类别 [n1,37] -- [n1,38] (xyxy, cls_score, cls, 32) (3) 若此时box数量大于 max_nms30000, 选取 cls_score 较大的30000个 (4) 调库 torchvision.ops.nms(boxes, scores, iou_thres), 选取前 max_det300 项 [n1,38] -- [n2,38] (5) nms-merge, 默认跳过mask masks process_mask(protos, 模型输出p [b,32,96,160]masks_inpred[:, 6:], nms结果的mask部分bboxespred[:, :4], nms结果的box部分shapeimg.shape[2:], 输入图像大小(384,640)upsampleTrue )def process_mask(protos, masks_in, bboxes, shape, upsampleFalse):c, mh, mw protos.shapeih, iw shape矩阵乘法sigmoid得到maskmasks (masks_in protos.float().view(c, -1)).sigmoid().view(-1, mh, mw)比例变换downsampled_bboxes bboxes.clone()downsampled_bboxes[:, 0] * mw / iwdownsampled_bboxes[:, 2] * mw / iwdownsampled_bboxes[:, 3] * mh / ihdownsampled_bboxes[:, 1] * mh / ih裁减掉box范围以外的值masks crop_mask(masks, downsampled_bboxes) # CHWif upsample:masks F.interpolate(masks[None], shape, modebilinear, align_cornersFalse)[0] # CHW按阈值0.5转为二值图maskreturn masks.gt_(0.5)
http://www.dnsts.com.cn/news/116387.html

相关文章:

  • 买的虚拟主机怎么做网站苏州外贸公司网站建设流程
  • 网站后台管理系统展望修邦建设网站
  • 购买空间后怎么上传网站纪念平台网站建设
  • 网站海外推广服务机械电子工程网
  • 无锡大型网站设计公司色see琪琪电影院
  • 宁波营销型网站建设优化建站硬件开发属于什么行业
  • 网站怎么添加关键词 好让百度收入_ 现在网站用的是模板做的搭建网站赚钱吗
  • 企业网站需求方案网站认证是什么
  • 房产交易网站wordpress无法重定向
  • 合肥网站建设专业设计网络营销策划方案步骤
  • 烟台网站优化微信的微网站模板下载
  • 荣耀手机商城官方网站下载高效网站推广方案
  • 松江泖港网站建设软件实施工资一般多少
  • 模块式网站制作阿里云wordpress主机
  • 东莞seo建站公司百度搜索网站的图片
  • html5 制作手机网站46设计网站官网
  • 友情链接是在网站后台做吗电商网站开发要多少钱
  • 昆明做网站费用深圳建筑工程信息网
  • 邯郸营销型网站免扣连线矢量图
  • 查询网站收录敦化网站开发
  • 义乌网站建设公司哪家好微信端网站开发流程
  • 杨凌做网站网站架构设计师待遇怎么样
  • 沈阳开发网站的地方帝国系统做网站地图
  • 查询注册过的网站seo与网站优化 pdf
  • 网站建设有关的职位济南网站优化的周期
  • 做著名建筑物网站简介可信网站认证多少钱
  • c mvc 大型网站开发快速搭建论坛
  • 深圳做网站多少钱网站换网址了怎么找
  • 云霄建设局网站做视频网站 投入
  • 湖南响应式网站建设公司桌面应用程序开发