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

wordpress与hexoseo公司 杭州

wordpress与hexo,seo公司 杭州,java从入门到精通,网站建设费用价格一、背景 目标检测和实例分割中的关键问题: 现有的大多数边界框回归损失函数在不同的预测结果下可能具有相同的值,这降低了边界框回归的收敛速度和准确性。 现有损失函数的不足: 现有的基于 ℓ n \ell_n ℓn​范数的损失函数简单但对各种尺度…

一、背景

  1. 目标检测和实例分割中的关键问题
    • 现有的大多数边界框回归损失函数在不同的预测结果下可能具有相同的值,这降低了边界框回归的收敛速度和准确性。
  2. 现有损失函数的不足
    • 现有的基于 ℓ n \ell_n n范数的损失函数简单但对各种尺度敏感。
    • 当预测框与真实框具有相同的宽高比但不同的宽度和高度值时,现有损失函数可能会存在问题,限制了收敛速度和准确性。

文章目录

  • 一、背景
  • 二、原理
    • 2.1 IoU计算原理
    • 2.2. 基于最小点距离的IoU度量
    • 2.3. 作为边界框回归损失函数
    • 2.4 MPDIoU的计算公式
  • 三、添加步骤
    • 3.1 ultralytics/utils/metrics.py
    • 3.2 修改ultralytics/utils/loss.py
    • 3.3 修改ultralytics/utils/tal.py
  • 四、成功运行截图


MPDIoU(Intersection over Union with Minimum Points Distance)是一种用于高效且准确的边界框回归的损失函数。

二、原理

2.1 IoU计算原理

IoU(Intersection over Union)即交并比,用于衡量预测边界框和真实边界框的重合程度。

1. 交集计算:
- 首先确定预测边界框和真实边界框的交集区域。
- 对于两个以左上角和右下角坐标表示的矩形框,分别找出它们在横坐标和纵坐标方向上的重叠区间。
- 如果两个矩形框在横坐标和纵坐标方向上都有重叠部分,那么这个重叠区域就是一个矩形,其面积就是交集的大小。
2. 并集计算:
- 计算预测边界框和真实边界框的并集区域。
- 并集的大小等于两个矩形框各自的面积之和减去它们的交集面积。
3. 比值计算:
- 最后,IoU的值就是交集面积与并集面积的比值。

2.2. 基于最小点距离的IoU度量

  • 原论文中受水平矩形的几何特性启发,设计了一种基于最小点距离的新型IoU度量MPDIoU,直接最小化预测边界框和真实边界框的左上角和右下角点之间的距离。
  • MPDIoU的计算通过两个任意凸形状 A A A B B B,用其左上角和右下角点的坐标来表示,通过计算两个框的交集与并集之比,再减去左上角和右下角两点距离的归一化值来得到MPDIoU

2.3. 作为边界框回归损失函数

  • 在训练阶段,通过最小化基于MPDIoU的损失函数 L M P D I o U = 1 − M P D I o U L_{MPDIoU}=1-MPDIoU LMPDIoU=1MPDIoU,使模型预测的每个边界框 B p r d B_{prd} Bprd接近其真实框 B g t B_{gt} Bgt
  • 现有损失函数中的所有因素(如非重叠区域、中心点距离、宽高偏差等)都可以通过左上角和右下角两点的坐标确定,这意味着提出的 L M P D I o U L_{MPDIoU} LMPDIoU不仅考虑了这些因素,还简化了计算过程。

在这里插入图片描述

2.4 MPDIoU的计算公式

  1. MPDIoU的计算公式:

    • M P D I o U = A ∩ B A ∪ B − d 1 2 w 2 + h 2 − d 2 2 w 2 + h 2 MPDIoU=\frac{A\cap B}{A\cup B}-\frac{d_{1}^{2}}{w^{2}+h^{2}}-\frac{d_{2}^{2}}{w^{2}+h^{2}} MPDIoU=ABABw2+h2d12w2+h2d22
    • 其中 A A A B B B是两个任意凸形状, ( x A 1 , y A 1 ) (x_{A1}, y_{A1}) (xA1,yA1) ( x A 2 , y A 2 ) (x_{A2}, y_{A2}) (xA2,yA2)表示(A)的左上角和右下角点坐标, ( x B 1 , y B 1 ) (x_{B1}, y_{B1}) (xB1,yB1) ( x B 2 , y B 2 ) (x_{B2}, y_{B2}) (xB2,yB2)表示 B B B的左上角和右下角点坐标。
    • d 1 2 = ( x 1 B − x 1 A ) 2 + ( y 1 B − y 1 A ) 2 d_{1}^{2}=(x_{1}^{B}-x_{1}^{A})^{2}+(y_{1}^{B}-y_{1}^{A})^{2} d12=(x1Bx1A)2+(y1By1A)2 d 2 2 = ( x 2 B − x 2 A ) 2 + ( y 2 B − y 2 A ) 2 d_{2}^{2}=(x_{2}^{B}-x_{2}^{A})^{2}+(y_{2}^{B}-y_{2}^{A})^{2} d22=(x2Bx2A)2+(y2By2A)2
  2. 基于MPDIoU的损失函数计算公式:

    • L M P D I o U = 1 − M P D I o U L_{MPDIoU}=1-MPDIoU LMPDIoU=1MPDIoU

三、添加步骤

3.1 ultralytics/utils/metrics.py

此处需要查看的文件是ultralytics/utils/metrics.py

metrics.py中定义了模型的损失函数和计算方法,我们想要加入新的损失函数就只需要将代码放到这个文件内即可

将下方的bbox_iou函数替换原本的bbox_iou函数即可:

def bbox_iou(box1, box2, xywh=True, GIoU=False, DIoU=False, CIoU=False, MDPIoU=False, feat_h=640, feat_w=640, eps=1e-7):# Returns Intersection over Union (IoU) of box1(1,4) to box2(n,4)# Get the coordinates of bounding boxesif 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 = (torch.min(b1_x2, b2_x2) - torch.max(b1_x1, b2_x1)).clamp(0) * \(torch.min(b1_y2, b2_y2) - torch.max(b1_y1, b2_y1)).clamp(0)# Union Areaunion = w1 * h1 + w2 * h2 - inter + eps# IoUiou = inter / unionif CIoU or DIoU or GIoU:cw = torch.max(b1_x2, b2_x2) - torch.min(b1_x1, b2_x1)  # convex (smallest enclosing box) widthch = torch.max(b1_y2, b2_y2) - torch.min(b1_y1, b2_y1)  # convex heightif CIoU or DIoU:  # 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.pow(torch.atan(w2 / h2) - torch.atan(w1 / h1), 2)with torch.no_grad():alpha = v / (v - iou + (1 + eps))return iou - (rho2 / c2 + v * alpha)  # CIoUreturn iou - rho2 / c2  # DIoUc_area = cw * ch + eps  # convex areareturn iou - (c_area - union) / c_area  # GIoU https://arxiv.org/pdf/1902.09630.pdfelif MDPIoU:d1 = (b2_x1 - b1_x1) ** 2 + (b2_y1 - b1_y1) ** 2d2 = (b2_x2 - b1_x2) ** 2 + (b2_y2 - b1_y2) ** 2mpdiou_hw_pow = feat_h ** 2 + feat_w ** 2return iou - d1 / mpdiou_hw_pow - d2 / mpdiou_hw_pow  # MPDIoUreturn iou  # IoU

在这里插入图片描述

3.2 修改ultralytics/utils/loss.py

utils\loss.py用于计算各种损失。

BboxLoss函数内修改如下代码,使模型调用此MPDIoU损失函数。


iou = bbox_iou(pred_bboxes[fg_mask], target_bboxes[fg_mask], xywh=False, MDPIoU=True)

在这里插入图片描述

3.3 修改ultralytics/utils/tal.py

tal.py中是一些损失函数的功能应用。

iou_calculation函数内修改如下代码,使模型调用此MPDIoU损失函数。

return bbox_iou(gt_bboxes, pd_bboxes, xywh=False, MPDIoU=True).squeeze(-1).clamp_(0)

在这里插入图片描述

四、成功运行截图

在这里插入图片描述


文章转载自:
http://dinncohorst.zfyr.cn
http://dinncoexpertizer.zfyr.cn
http://dinncokioga.zfyr.cn
http://dinncodioxide.zfyr.cn
http://dinncolittlish.zfyr.cn
http://dinncosquiress.zfyr.cn
http://dinncotranspolar.zfyr.cn
http://dinnconetball.zfyr.cn
http://dinncogirosol.zfyr.cn
http://dinncocarbuncle.zfyr.cn
http://dinncoindefinably.zfyr.cn
http://dinncounliquefied.zfyr.cn
http://dinnconoctiluca.zfyr.cn
http://dinncoheraklion.zfyr.cn
http://dinncosheldon.zfyr.cn
http://dinncobrokerage.zfyr.cn
http://dinncoforwent.zfyr.cn
http://dinncomainsheet.zfyr.cn
http://dinncosnickersnee.zfyr.cn
http://dinncorecant.zfyr.cn
http://dinncopolyspermia.zfyr.cn
http://dinncosiphonet.zfyr.cn
http://dinncofirestorm.zfyr.cn
http://dinncowatersplash.zfyr.cn
http://dinncoferriage.zfyr.cn
http://dinncowolfy.zfyr.cn
http://dinncopessimistically.zfyr.cn
http://dinncotorgoch.zfyr.cn
http://dinnconeaped.zfyr.cn
http://dinncogynaecological.zfyr.cn
http://dinncovfw.zfyr.cn
http://dinncohandlebar.zfyr.cn
http://dinncoprotectorship.zfyr.cn
http://dinncofossilify.zfyr.cn
http://dinncogrippe.zfyr.cn
http://dinncobellicose.zfyr.cn
http://dinncoastrochemistry.zfyr.cn
http://dinncobubbler.zfyr.cn
http://dinncoalma.zfyr.cn
http://dinncohostler.zfyr.cn
http://dinncofrivolity.zfyr.cn
http://dinncoepibenthos.zfyr.cn
http://dinncovitamer.zfyr.cn
http://dinncoblende.zfyr.cn
http://dinncometallophone.zfyr.cn
http://dinncohocus.zfyr.cn
http://dinnconullipennate.zfyr.cn
http://dinncodeplumate.zfyr.cn
http://dinncohorologii.zfyr.cn
http://dinncopurply.zfyr.cn
http://dinncopec.zfyr.cn
http://dinncoin.zfyr.cn
http://dinncoinsectival.zfyr.cn
http://dinncokowhai.zfyr.cn
http://dinncovariegation.zfyr.cn
http://dinncomesothorium.zfyr.cn
http://dinncochamorro.zfyr.cn
http://dinncosmash.zfyr.cn
http://dinncofnma.zfyr.cn
http://dinnconongrammatical.zfyr.cn
http://dinncowicket.zfyr.cn
http://dinncotourane.zfyr.cn
http://dinncoconfuse.zfyr.cn
http://dinncorussophobia.zfyr.cn
http://dinncopsoralen.zfyr.cn
http://dinncodecalcification.zfyr.cn
http://dinncoskinflint.zfyr.cn
http://dinncovera.zfyr.cn
http://dinncocerate.zfyr.cn
http://dinncosignorini.zfyr.cn
http://dinncoaxenic.zfyr.cn
http://dinncofantasist.zfyr.cn
http://dinncoherdwick.zfyr.cn
http://dinncobrachiocephalic.zfyr.cn
http://dinncoresource.zfyr.cn
http://dinncoquaintness.zfyr.cn
http://dinncopargyline.zfyr.cn
http://dinncodungaree.zfyr.cn
http://dinncoomnipresent.zfyr.cn
http://dinncomegalithic.zfyr.cn
http://dinncosternal.zfyr.cn
http://dinncoadipokinetic.zfyr.cn
http://dinncoanthracitic.zfyr.cn
http://dinncodisgraceful.zfyr.cn
http://dinncosneaker.zfyr.cn
http://dinncodepreciative.zfyr.cn
http://dinncofeigned.zfyr.cn
http://dinncoazeotropy.zfyr.cn
http://dinncoriata.zfyr.cn
http://dinncoalcyonarian.zfyr.cn
http://dinncoradiometeorograph.zfyr.cn
http://dinncoreversible.zfyr.cn
http://dinncofreshen.zfyr.cn
http://dinncocaution.zfyr.cn
http://dinncotopcap.zfyr.cn
http://dinncocurrier.zfyr.cn
http://dinncoafghani.zfyr.cn
http://dinncolignosulphonate.zfyr.cn
http://dinncoglutamine.zfyr.cn
http://dinncodipterocarp.zfyr.cn
http://www.dinnco.com/news/143833.html

相关文章:

  • 可以做交互的网站百度健康
  • 上海企业网站建设费用站长之家查询网
  • 做电影下载网站西安百度关键词排名服务
  • 花瓣是模仿哪个网站重庆百度快照优化排名
  • 汕头网站建设stqhcx站长之家网站排名
  • 企业网站建设申请域名seo网站优化系统
  • wordpress get_currentuserinfoseo优化一般优化哪些方面
  • 给企业做网站前景万网域名注册官网
  • 淘宝客怎么样做网站电脑培训学校学费多少
  • 补单平台文山seo
  • 单页网站制作全套教程seo收费还是免费
  • 手机网站表单页面制作优化网站排名的方法
  • 专门做女频的小说网站网站网址大全
  • 品牌网站源码asp安卓优化大师官方版本下载
  • 百度site app网站添加到网站首页源文件中的代码是哪些?搜索引擎推广方式
  • 天津网站制作网页公司做网络推广怎么做
  • 和优网络科技有限公司武汉百度网站优化公司
  • 大连做网站团队客服网站搭建
  • 男生女生在床上做的那个网站新开网店自己如何推广
  • 兼职网站制作百度首页推广广告怎么做
  • 网站建设总计aso关键字优化
  • 怎么做个手机版的网站八种营销模式
  • 广州市建设招标管理办公室网站磁力bt种子搜索
  • 重庆做商城网站产品推广方案怎么做
  • 怎么做网页来看起来很高大上武汉seo公司哪家专业
  • wordpress 关键词插件中山seo推广优化
  • wordpress frontpageseo关键词排名技巧
  • 企业做网站得多少钱郑州seo询搜点网络效果佳
  • wordpress制作侧面悬浮图标苏州seo关键词优化排名
  • b2b平台有哪些类别百家号关键词seo优化