假如一个bbox坐标为:[35 220 62 293 3]

第一步:将bbox转换为中心坐标和宽高形式(3种缩放比例进行缩放)

那么onehot:[0 0 0 1 0 0 0 0 0 0 ........],当然还可以平滑

计算bbox的中心坐标和宽高(35+62)/2 = 48.5   (220+293)/2=256.5  宽高为62-35 = 27  293-220=73

所以bbox的宽高中心坐标为(48.5 256.5 27 73)

然后根据缩放比例(8 16 32)进行缩放

缩放后的3组坐标为[[6.0625 32.0625 3.375 9.125][3.03 16.03 1.68 4.56][1.51 8.01 0.84 2.28]]

第二步:anchors中心和宽高获取

anchors的中心坐标和宽高总共3组每个缩放比例为8 :[[6.5 32.5 1.25 1.625][6.5 32.5 2 3.75][6.5 32.5 4.125 2.875]]

                 缩放比例为16:[[3.5 16.5 1.875 3.8125][3.5 16.5 3.875 2.8125][3.5 16.5 3.6875 7.4375]]

                 缩放比例为32:[[1.5 8.5 3.625 2.8125][1.5 8.5 4.875 6.1875][1.5 8.5 11.65625 10.1875]]

其中中心坐标为bbox的取整坐标加0.5,宽高坐标为kmeans聚类出来的

然后bbox的3组坐标分别和anchors的3组坐标计算iou

3组不同比例缩放的bbox对应3组anchors找到iou>0.3的并将网格的左上角坐标标记下来。

label格式为[np.zeros((train_output_sizes[i], train_output_sizes[i], anchor_per_scale,5 + num_classes)) for i in range(3)]

那么label i= [1,2,3]代表3种尺度:

label[i][yind, xind, iou_mask, :] = 0
label[i][yind, xind, iou_mask, 0:4] = bbox_xywh
label[i][yind, xind, iou_mask, 4:5] = 1.0
label[i][yind, xind, iou_mask, 5:] = smooth_onehot

Yolo V3理解bbox和label的关系的更多相关文章

  1. Pytorch从0开始实现YOLO V3指南 part1——理解YOLO的工作

    本教程翻译自https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/ 视频展示:https://w ...

  2. 深度学习笔记(十三)YOLO V3 (Tensorflow)

    [代码剖析]   推荐阅读! SSD 学习笔记 之前看了一遍 YOLO V3 的论文,写的挺有意思的,尴尬的是,我这鱼的记忆,看完就忘了  于是只能借助于代码,再看一遍细节了. 源码目录总览 tens ...

  3. Yolo V3整体思路流程详解!

    结合开源项目tensorflow-yolov3(https://link.zhihu.com/?target=https%3A//github.com/YunYang1994/tensorflow-y ...

  4. 一文看懂YOLO v3

    论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf论文:YOLOv3: An Incremental Improvement YOLO系列的 ...

  5. YOLO v3算法介绍

    图片来自https://towardsdatascience.com/yolo-v3-object-detection-with-keras-461d2cfccef6 数据前处理 输入的图片维数:(4 ...

  6. YOLO系列:YOLO v3解析

    本文好多内容转载自 https://blog.csdn.net/leviopku/article/details/82660381 yolo_v3 提供替换backbone.要想性能牛叉,backbo ...

  7. (转载)YOLO配置文件理解

    YOLO配置文件理解 转载自 [net] batch=64 每batch个样本更新一次参数. subdivisions=8 如果内存不够大,将batch分割为subdivisions个子batch,每 ...

  8. YOLO V3 原理

    基本思想V1: 将输入图像分成S*S个格子,每隔格子负责预测中心在此格子中的物体. 每个格子预测B个bounding box及其置信度(confidence score),以及C个类别概率. bbox ...

  9. Pytorch从0开始实现YOLO V3指南 part5——设计输入和输出的流程

    本节翻译自:https://blog.paperspace.com/how-to-implement-a-yolo-v3-object-detector-from-scratch-in-pytorch ...

随机推荐

  1. Python--day49--ORM框架SQLAlchemy之relationship的使用(有时间要从新看,这里状态不好,没有仔细听)

    小贴士:   迭代器:只有在循环的时候才一个一个往外拿 relationship

  2. joinColumns和inverseJoinColumns的用法

    最近在工作中使用springside,里面用到了hibernate的多对多 一开始我在配置department(部门表)和menu(栏目表)的时候,这样写的. Department实体类中的getMe ...

  3. HDU 6623"Minimal Power of Prime"(数学)

    传送门 •题意 给你一个大于 1 的正整数 n: 它可以分解成不同的质因子的幂的乘积的形式,问这些质因子的幂中,最小的幂是多少. •题解 定义 $ans$ 表示最终答案: ①如果 $ans \ge 5 ...

  4. P1026 翻硬币

    题目描述 小明正在玩一个"翻硬币"的游戏.桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo 如果 ...

  5. MySQL Workbench: mysqldump version mismatch

    Windows10 64bit系统下,步骤就是: Edit --> preferences --> Administrator --> Path to mysqldump tool: ...

  6. H3C查看历史命令--用户以上

    [H3Cwang]display history-command   sys   sysname H3C   sysname H3Cwang   display history-command   q ...

  7. 看到两道小学数学题,实在是解不动,用js写了一下

    把一个自然数的约数(除去它本身)按照从小到大的顺序写在它的左边,可以得到一个多位数,比如6的约数是1,2,3,写成一个多位数是1236,假如这个多位数中,没有直复数字,那么我们你这个多位数是唯一的.请 ...

  8. 土旦:移动端 Vue+Vant 的Uploader 实现 :上传、压缩、旋转图片

    面向百度开发 html <van-uploader :after-read="onRead" accept="image/*"> <img s ...

  9. vue-learning:12 - 2 - 区分:outerHTML - innerTHML - outerText - innerText - textContent

    区分:outerHTML - innerTHML - outerText - innerText - textContent 获取值 <div id="outer"> ...

  10. git authentication failed for 或 fatal:not a git repository

    第一种解决 (我的是第一种解决) github上更改密码之后,我在本地操作git发现出错,错误代码如上,在网上搜了一圈,没有解决问题,后发现需要进行如下操作: 进入控制面板>用户账号>凭据 ...