darknet之输出转化边界框坐标

1. yolov2-tiny

  • 以输入为416*416,20类,5个anchor为例
  • 使用的anchor是相对于特征图的,即anchor值是除以32的
  • 一幅图的输出是1*125*13*13
  • 125由5个anchor组成,每个anchor中的值是[x,y,w,h,c,p1,p2…p20]
  • 所以输出就是13*13个第一个anchor的x,13*13个第一个anchor的y…13*13个第一个anchor的p20,共25*13*13个; 13*13个第2个anchor的x…13*13个第2个anchor的p20,共50*13*13个;…13*13个第5个anchor的p20,共125*13*13个;
  • 以下代码的结果是框的左上点和右下点除以输入图像宽高
for i in range(4, 125, 25):
      for j in range(13):
        for k in range(13):
          conf = sigmoid(input0_data[0][i][j][k]) * sigmoid(input0_data[0][i+1][j][k])
          if conf > 0.9:
            print(conf)
            tx=input0_data
YOLO 算法的的核心思想是将图像的目标检测问题转化为一个回归问题,工作原理是基于全卷积网络(Fully Convolutional Network,FCN),其检测算法的大致处理步骤分为调整输入图像的大小、使用卷积网络对输入图像执行一次预测、对预测结果进行非极大值抑制三步。具体如下: 1. 输入图像划分网格 首先,将输入图像划分成一个 S × S 的网格。例如,假设输入图像是 416x416 的尺寸,将其划分为 13x13 的网格。每个网格负责预测图像中某一区域的物体。假设网格的每个单元格包含边界框位置以及置信度信息,边界框位置信息即每个网格单元预测 B 个边界框(bounding boxes),每个边界框包含 4 个坐标参数(x, y, w, h),分别表示边界框的中心位置、宽度和高度;边界框置信度信息即每个边界框预测一个 置信度(Confidence),表示边界框包含物体的概率以及该边界框与真实的重叠程度(IoU);此外,每个网格还预测每个类别的概率。假设有 C 类物体,每个网格单元输出 C 个概率值,表示该区域是每个类别的可能性。 2. 每个网格的输出 对于每个网格单元,它会输出以下信息: • B 个边界框,每个边界框包括:4个坐标 (x, y, w, h)、1个置信度值。 • C 个类别概率。 假设我们有一个 13x13 的网格,B = 2(每个网格单元预测2个边界框),C = 80(80个类别)。则每个网格单元的输出是一个长度为 (B * 5 + C) 的向量,其中: • 每个边界框包含5个元素:x, y, w, h(坐标),置信度。 • C 个类别的概率。 因此,每个网格单元的输出向量长度为:2 * 5 + 80 = 90。每个网格单元输出的向量长度就是 90,这意味着每个网格单元都要输出 2个边界框 的信息、每个边界框的 5个参数(坐标和置信度)以及 80个类别概率。 3. 目标检测输出 YOLO 会对所有网格单元的输出进行合并,得到最终的检测结果。对于每个网格单元,它预测的边界框可能会有很大的重叠,因此需要采用 非极大值抑制(NMS) 进行处理,去掉重复的,只保留置信度最高的。 4. 损失函数 帮我梳理一下,更详细地解析
04-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值