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

搭建本地网站网站建设公司图片

搭建本地网站,网站建设公司图片,aws网站建设,朝阳网站建设多少钱前言 大家好#xff0c;我是Snu77#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进#xff0c;内容持续更新#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本#xff0c;同时修改内容也支持Re…前言 大家好我是Snu77这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进内容持续更新每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本同时修改内容也支持ResNet32、ResNet101和PPHGNet版本其中ResNet为RT-DETR官方版本11移植过来的参数量基本保持一致(误差很小很小)不同于ultralytics仓库版本的ResNet官方版本同时ultralytics仓库的一些参数是和RT-DETR相冲的所以我也是会教大家调好一些参数真正意义上的跑ultralytics的和RT-DETR官方版本的无区别。 欢迎大家订阅本专栏一起学习RT-DETR   一、本文介绍 本文给大家带来的改进机制是ShapeIoU其是一种关注边界框本身形状和尺度的边界框回归方法IoU同时本文的内容包括过去到现在的百分之九十以上的损失函数的实现使用方法非常简单在本文的末尾还会教大家在改进模型时何时添加损失函数才能达到最好的效果以下为修改了我的调参结果训练的结果图像。 官方链接RT-DETR剑指论文专栏持续复现各种顶会内容——论文收割机RT-DETR 目录 一、本文介绍 二、ShapeIoU 三、ShapeIoU的核心代码  四、ShapeIoU的使用方式 4.1 修改一 4.2 修改二 五、总结 二、ShapeIoU 官方论文地址 官方论文地址 官方代码地址 官方代码地址 ​ ​ 这幅图展示了在目标检测任务中两种不同情况或方法下的边界框回归的对比。 GT (Ground Truth): 用桃色框表示指的是图像中物体实际的位置和形状。在目标检测中算法试图尽可能准确地预测这个框。 Anchor: 蓝色框代表一个预定义的框是算法预设的一系列框用于与GT框进行匹配寻找最佳的候选框。 在图中我们看到四个不同的情况A、B、C、D每个都显示了一个anchor与GT的对比并给出了IoU交并比的数值。IoU是一个常用的度量用来评估预测边界框与真实边界框之间的重叠程度。 论文中给了一堆公式我也看不太懂大家有兴趣可以看看。 三、ShapeIoU的核心代码  其中缺少一个模块ops,大家根据自己结构代码中进行导入即可。 import numpy as np import torch import mathclass WIoU_Scale: monotonous: {None: origin v1True: monotonic FM v2False: non-monotonic FM v3}momentum: The momentum of running meaniou_mean 1.monotonous False_momentum 1 - 0.5 ** (1 / 7000)_is_train Truedef __init__(self, iou):self.iou iouself._update(self)classmethoddef _update(cls, self):if cls._is_train: cls.iou_mean (1 - cls._momentum) * cls.iou_mean \cls._momentum * self.iou.detach().mean().item()classmethoddef _scaled_loss(cls, self, gamma1.9, delta3):if isinstance(self.monotonous, bool):if self.monotonous:return (self.iou.detach() / self.iou_mean).sqrt()else:beta self.iou.detach() / self.iou_meanalpha delta * torch.pow(gamma, beta - delta)return beta / alphareturn 1def bbox_iou(box1, box2, xywhTrue, GIoUFalse, DIoUFalse, CIoUFalse, EIoUFalse, SIoUFalse, WIoUFalse, ShapeIoUFalse,hw1, mpdiouFalse, InnerFalse, alpha1, ratio0.7, eps1e-7, scale0.0):Calculate Intersection over Union (IoU) of box1(1, 4) to box2(n, 4).Args:box1 (torch.Tensor): A tensor representing a single bounding box with shape (1, 4).box2 (torch.Tensor): A tensor representing n bounding boxes with shape (n, 4).xywh (bool, optional): If True, input boxes are in (x, y, w, h) format. If False, input boxes are in(x1, y1, x2, y2) format. Defaults to True.GIoU (bool, optional): If True, calculate Generalized IoU. Defaults to False.DIoU (bool, optional): If True, calculate Distance IoU. Defaults to False.CIoU (bool, optional): If True, calculate Complete IoU. Defaults to False.EIoU (bool, optional): If True, calculate Efficient IoU. Defaults to False.SIoU (bool, optional): If True, calculate Scylla IoU. Defaults to False.eps (float, optional): A small value to avoid division by zero. Defaults to 1e-7.Returns:(torch.Tensor): IoU, GIoU, DIoU, or CIoU values depending on the specified flags.if Inner:if not xywh:box1, box2 ops.xyxy2xywh(box1), ops.xyxy2xywh(box2)(x1, y1, w1, h1), (x2, y2, w2, h2) box1.chunk(4, -1), box2.chunk(4, -1)b1_x1, b1_x2, b1_y1, b1_y2 x1 - (w1 * ratio) / 2, x1 (w1 * ratio) / 2, y1 - (h1 * ratio) / 2, y1 (h1 * ratio) / 2b2_x1, b2_x2, b2_y1, b2_y2 x2 - (w2 * ratio) / 2, x2 (w2 * ratio) / 2, y2 - (h2 * ratio) / 2, y2 (h2 * ratio) / 2# Intersection areainter (b1_x2.minimum(b2_x2) - b1_x1.maximum(b2_x1)).clamp_(0) * \(b1_y2.minimum(b2_y2) - b1_y1.maximum(b2_y1)).clamp_(0)# Union Areaunion w1 * h1 * ratio * ratio w2 * h2 * ratio * ratio - inter epsiou inter / union# Get the coordinates of bounding boxeselse:if xywh: # transform from xywh to xyxy(x1, y1, w1, h1), (x2, y2, w2, h2) box1.chunk(4, -1), box2.chunk(4, -1)w1_, h1_, w2_, h2_ w1 / 2, h1 / 2, w2 / 2, h2 / 2b1_x1, b1_x2, b1_y1, b1_y2 x1 - w1_, x1 w1_, y1 - h1_, y1 h1_b2_x1, b2_x2, b2_y1, b2_y2 x2 - w2_, x2 w2_, y2 - h2_, y2 h2_else: # x1, y1, x2, y2 box1b1_x1, b1_y1, b1_x2, b1_y2 box1.chunk(4, -1)b2_x1, b2_y1, b2_x2, b2_y2 box2.chunk(4, -1)w1, h1 b1_x2 - b1_x1, b1_y2 - b1_y1 epsw2, h2 b2_x2 - b2_x1, b2_y2 - b2_y1 eps# Intersection areainter (b1_x2.minimum(b2_x2) - b1_x1.maximum(b2_x1)).clamp_(0) * \(b1_y2.minimum(b2_y2) - b1_y1.maximum(b2_y1)).clamp_(0)# Union Areaunion w1 * h1 w2 * h2 - inter eps# IoUiou inter / unionif CIoU or DIoU or GIoU or EIoU or SIoU or ShapeIoU or mpdiou or WIoU:cw b1_x2.maximum(b2_x2) - b1_x1.minimum(b2_x1) # convex (smallest enclosing box) widthch b1_y2.maximum(b2_y2) - b1_y1.minimum(b2_y1) # convex heightif CIoU or DIoU or EIoU or SIoU or mpdiou or WIoU or ShapeIoU: # Distance or Complete IoU https://arxiv.org/abs/1911.08287v1c2 cw ** 2 ch ** 2 eps # convex diagonal squaredrho2 ((b2_x1 b2_x2 - b1_x1 - b1_x2) ** 2 (b2_y1 b2_y2 - b1_y1 - b1_y2) ** 2) / 4 # center dist ** 2if CIoU: # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47v (4 / math.pi ** 2) * (torch.atan(w2 / h2) - torch.atan(w1 / h1)).pow(2)with torch.no_grad():alpha v / (v - iou (1 eps))return iou - (rho2 / c2 v * alpha) # CIoUelif EIoU:rho_w2 ((b2_x2 - b2_x1) - (b1_x2 - b1_x1)) ** 2rho_h2 ((b2_y2 - b2_y1) - (b1_y2 - b1_y1)) ** 2cw2 cw ** 2 epsch2 ch ** 2 epsreturn iou - (rho2 / c2 rho_w2 / cw2 rho_h2 / ch2) # EIoUelif SIoU:# SIoU Loss https://arxiv.org/pdf/2205.12740.pdfs_cw (b2_x1 b2_x2 - b1_x1 - b1_x2) * 0.5 epss_ch (b2_y1 b2_y2 - b1_y1 - b1_y2) * 0.5 epssigma torch.pow(s_cw ** 2 s_ch ** 2, 0.5)sin_alpha_1 torch.abs(s_cw) / sigmasin_alpha_2 torch.abs(s_ch) / sigmathreshold pow(2, 0.5) / 2sin_alpha torch.where(sin_alpha_1 threshold, sin_alpha_2, sin_alpha_1)angle_cost torch.cos(torch.arcsin(sin_alpha) * 2 - math.pi / 2)rho_x (s_cw / cw) ** 2rho_y (s_ch / ch) ** 2gamma angle_cost - 2distance_cost 2 - torch.exp(gamma * rho_x) - torch.exp(gamma * rho_y)omiga_w torch.abs(w1 - w2) / torch.max(w1, w2)omiga_h torch.abs(h1 - h2) / torch.max(h1, h2)shape_cost torch.pow(1 - torch.exp(-1 * omiga_w), 4) torch.pow(1 - torch.exp(-1 * omiga_h), 4)return iou - 0.5 * (distance_cost shape_cost) eps # SIoUelif ShapeIoU:#Shape-Distance #Shape-Distance #Shape-Distance #Shape-Distance #Shape-Distance #Shape-Distance #Shape-Distanceww 2 * torch.pow(w2, scale) / (torch.pow(w2, scale) torch.pow(h2, scale))hh 2 * torch.pow(h2, scale) / (torch.pow(w2, scale) torch.pow(h2, scale))cw torch.max(b1_x2, b2_x2) - torch.min(b1_x1, b2_x1) # convex widthch torch.max(b1_y2, b2_y2) - torch.min(b1_y1, b2_y1) # convex heightc2 cw ** 2 ch ** 2 eps # convex diagonal squaredcenter_distance_x ((b2_x1 b2_x2 - b1_x1 - b1_x2) ** 2) / 4center_distance_y ((b2_y1 b2_y2 - b1_y1 - b1_y2) ** 2) / 4center_distance hh * center_distance_x ww * center_distance_ydistance center_distance / c2#Shape-Shape #Shape-Shape #Shape-Shape #Shape-Shape #Shape-Shape #Shape-Shape #Shape-Shape #Shape-Shapeomiga_w hh * torch.abs(w1 - w2) / torch.max(w1, w2)omiga_h ww * torch.abs(h1 - h2) / torch.max(h1, h2)shape_cost torch.pow(1 - torch.exp(-1 * omiga_w), 4) torch.pow(1 - torch.exp(-1 * omiga_h), 4)return iou - distance - 0.5 * shape_costelif mpdiou:d1 (b2_x1 - b1_x1) ** 2 (b2_y1 - b1_y1) ** 2d2 (b2_x2 - b1_x2) ** 2 (b2_y2 - b1_y2) ** 2return iou - d1 / hw.unsqueeze(1) - d2 / hw.unsqueeze(1) # MPDIoUelif WIoU:self WIoU_Scale(1 - iou)dist getattr(WIoU_Scale, _scaled_loss)(self)return iou * dist # WIoU https://arxiv.org/abs/2301.10051return iou - rho2 / c2 # DIoUc_area cw * ch eps # convex areareturn iou - (c_area - union) / c_area # GIoU https://arxiv.org/pdf/1902.09630.pdfreturn iou # IoU四、ShapeIoU的使用方式 4.1 修改一 第一步我们需要找到如下的文件ultralytics/utils/metrics.py,找到如下的代码下面的图片是原先的代码部分截图的正常样子然后我们将上面的整个代码块将下面的整个方法(这里这是部分截图)内容全部替换。 4.2 修改二 第二步我们找到另一个文件如下-ultralytics/models/utils/loss.py(注意这个文件和YOLOv8的修改内容不是一个)我们找到如下的代码块初始样子如下然后用我下面给的代码块替换红框内的代码。 loss[name_giou] 1.0 - bbox_iou(pred_bboxes, gt_bboxes,xywhFalse, GIoUFalse, DIoUFalse, CIoUFalse, EIoUFalse, SIoUFalse,WIoUFalse, ShapeIoUTrue, hw2, mpdiouFalse, InnerFalse,ratio0.75, eps1e-7, scale0.0) 替换完成的样子如下所示。 到此我们就可以进行设置使用了看到我这里以及将ShapeIoU都设置成True了,同时我们使用Inner思想将其设置为True即可此时使用的就是InnerShapeIoU。 如果inner为FalseShapeIoU为True那么使用的就是ShapeIoU。  五、总结 到此本文的正式分享内容就结束了在这里给大家推荐我的RT-DETR改进有效涨点专栏本专栏目前为新开的平均质量分98分后期我会根据各种最新的前沿顶会进行论文复现也会对一些老的改进机制进行补充如果大家觉得本文帮助到你了订阅本专栏关注后续更多的更新~ RT-DETR改进专栏RT-DETR专栏——持续复现各种顶会内容——论文收割机 ​​​
http://www.dnsts.com.cn/news/85258.html

相关文章:

  • 网站只做五周wordpress能大网站
  • 石河子市住房和城乡建设局网站网站建设制作设计公司
  • 房产网站设计公司欧亚专线快递查询官网
  • 站酷网官网下载网站如何推广运营
  • 网站的用户体验主要有那些类型做淘宝网站要会程序吗
  • 中国城投建设集团有限公司网站没有公司可以注册网站吗
  • 公司网站怎样制作企业网站建设的核心
  • 免费建网站模板平台建外贸网站比较好的公司
  • 手机网站有什么区别o2o模式的特点
  • 信阳企业网站建设深圳高端别墅设计公司
  • 加强网站建设的制度百度网站提交了多久收录
  • asp网站管理系统破解版人才网站建设的目标
  • 广平企业做网站推广建设网站的策划书
  • 大型网站建设报价网站联盟名词解释
  • 烟台网站seo傻瓜式网站制作
  • 推广做网站南充深圳市建设行业门户网站
  • 个人网站源码html自建企业网站
  • 手机电脑网站建设短视频交换链接是什么
  • 怎么做自己的网站主页wordpress绝对链接转相对
  • 正规app开发报价哈尔滨seo关键词优化
  • 商城网站前置审批现在哪个网站做电商好
  • 网站的建设框架网站利用e4a做app
  • 张家口网站建设电话莫名接到网站建设电话
  • 内容管理系统做网站扬州建设银行网站
  • 公司主网站百度收录大量网站之类的信息网站html静态化解决方案
  • 建设网站都需要哪些深圳网站建设流程图
  • 沈阳德泰诺网站建设公司wordpress怎么生成网站地图
  • 建站流程主要有哪些北京有哪些炫酷的网站页面
  • 深圳网站建设简介群晖ds216j能否做网站
  • 企业网站内容运营方案策划设计平台建设