一、yolov1 bounding box

bounding box是怎么产生的?回归产生的,回归?哎呀,妈呀,回归是什么我都忘记了,好吧,我来举个初中的线性回归例子简单回顾一下

有两组数据A和B

A = [1,2,3,4,5]

B = [2,4,6,8,10]

利用回归的思想预测当A为6的时候B对应的值是多少

很明显回归参数就是2,回归程为y = 2x,所以A为6的时候B对应的值应该是12,这就是最简单的回归思路了。

然后yolo1中提到的就是直接利用整幅图像经过网络结构产生7*7的grid cell,每个grid cell预测x,y,w,h,confidence等几个值,其中confidence就是IOU的值啦。关键这个bounding box怎么回归产生的,对我这种小白来说还是纠结了好几天才算理解到一丢丢,所以赶紧小笔记记一下,欢迎各位大佬斧正(请原谅我想多了,就我这个级别的blog还有大佬看[笑哭])

好,我们去看一下Annotation里面的XML文件,截取一部分看一下

看到标注文件里面的Bounding box的格式了没,都是由[xmin,xmax,ymin,ymax]组成,中心坐标呢?

回顾yolov1论文还说要把坐标和长宽归一化,你中心坐标都没有如何回归?最后在scipts找到了vol_label.py文件才知道中心坐标是根据标签中的xmin,xmax,ymin,ymax计算出来的,哈哈哈,详见下面代码注释。

def convert(size, box):dw = 1./size[0] # 归一化的时候就是使用宽度除以整个image_size的宽度 dh = 1./size[1] # 归一化的时候就是使用高度除以整个image_size的高度x = (box[0] + box[1])/2.0 # 使用(xmin+xmax)/2得到x的中心点y = (box[2] + box[3])/2.0 # 使用(ymin+ymax)/2得到y的中心点w = box[1] - box[0] # 然后宽度就是使用xmax-xmin计算得到h = box[3] - box[2] # 然后高度就是使用ymax-ymin计算得到x = x*dw # 归一化中心坐标xw = w*dw # 归一化bbox宽度y = y*dh # 归一化中心坐标yh = h*dh # 归一化bbox高度return (x,y,w,h)def convert_annotation(year, image_id):in_file = open('VOCdevkit/VOC%s/Annotations/%s.xml'%(year, image_id))out_file = open('VOCdevkit/VOC%s/labels/%s.txt'%(year, image_id), 'w')tree=ET.parse(in_file)root = tree.getroot()size = root.find('size')w = int(size.find('width').text)h = int(size.find('height').text)for obj in root.iter('object'):difficult = obj.find('difficult').textcls = obj.find('name').textif cls not in classes or int(difficult) == 1:continuecls_id = classes.index(cls)xmlbox = obj.find('bndbox')# 获取标注中bbox的数据并以元组方式返回b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))# 向convert传入size = (w,h),和b,注释中分别是(xmin,xmax,ymin,ymax)   bb = convert((w,h), b)out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')

有了中心坐标x,y和bbox的w,h这样就可以愉快地训练出回归参数了

待更... ..

对YOLO bounding box的理解相关推荐

  1. 理解与总结:YOLOv1中候选框(Bounding Box或者Predict Box)——纯文字真的很干

    各位CV伙伴估计已经看了很多网上许多关于YOLO1的博客,在这里我推荐路过的朋友可以参考以下链接,有一定基础再来看我的这个博客.因为我参考了前人的知识再做的总结,有些小的基础的概念没有详细解释. 参考 ...

  2. 【目标检测】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling

    最近刚接触图像识别,理解一些概念十分困难,尤其是动不动就冒出个看不懂的英语,让人抓狂.查了不少资料后做一个总结并加上一些自己的理解,理解若有误,烦请大家指出,相互学习. 本文主要对region pro ...

  3. Bounding box regression RCNN我的理解

    0. bounding-box regression bouding-box regression 在R-CNN论文附录C中有详细的介绍,在后续的论文Fast-RCNN.Faster-RCNN.Mas ...

  4. 关于目标检测中bounding box编码和解码时weight参数的理解

    关于目标检测中的Bounding box回归原理网上已经有很多解释的文章了,但是为了更好的阐述我的问题,一开始我还是先简单的过一下边框回归的基本原理,然后解释我在看源码时遇到的一点疑惑,最后分享一下在 ...

  5. Deep3Dbox(3D Bounding Box Estimation Using Deep Learning and Geometry)理解

    文章目录 本文创新点 作者Ideal来源 作者方法 核心思想 目标 MultiBin loss 约束 训练 数据增强 网络结构及loss 角度loss 维度loss 实验 推理 性能 参考资料 文中所 ...

  6. bounding box的简单理解

    1. 小吐槽 OverFeat是我看的第一篇深度学习目标检测paper,因为它是第一次用深度学习来做定位.目标检测问题.可是,很难懂...那个bounding box写得也太简单了吧.虽然,很努力地想 ...

  7. 3.5 Bounding Box 预测-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.4 卷积的滑动窗口实现 回到目录 3.6 交并比 Bounding Box 预测 (Bounding Box Predictions) 在上一个视频中,你们学到了滑动窗口 ...

  8. Bounding box regression详解

    Bounding box regression详解 转载 http://blog.csdn.net/u011534057/article/details/51235964 Reference link ...

  9. 感知算法论文(八):Generalized Intersection over Union:A Metric and A Loss for Bounding Box Regression(2019)

    文章目录 摘要 引言 2. 相关工作 3. Generalized Intersection over Union 3.1 GIoU as Loss for Bounding Box Regressi ...

  10. 基于Bounding Box的激光点云聚类

    Camera系列文章 传感器融合是将多个传感器采集的数据进行融合处理,以更好感知周围环境:这里首先介绍Camera的相关内容,包括摄像头及图像知识基本介绍,OpenCV图像识别(特征提取,目标分类等) ...

最新文章

  1. UVA 331 Mapping the Swaps
  2. Python中静态方法的实现
  3. ng-content的一个实际例子
  4. SpringBoot自定义Starter(自动配置类)
  5. alternatives命令用法
  6. 【还是回来了】博客搬家--https://cangbean.github.io
  7. Mr.J--jQuery效果总结
  8. 《Android进阶之光》--事件总线
  9. wamp php不可用_解析wamp的php.ini设置不生效
  10. arttemplate模板引擎里面多层循环
  11. 教大家查看、使用Untiy内部库和方法
  12. 利用Exchange 2003实现移动办公新体验
  13. 什么是shell和shell编程
  14. i310100和i59400f哪个好 i3 10100和i5 9400f差距大吗
  15. 彻底解决pycharm中用matplotlib表格绘制时图表中汉字设置
  16. Captura录屏没有声音解决方法
  17. 这10个超厉害的工具堪称神器,却很少人知道!
  18. 2013-07《信息资源管理 02378》真卷解析,逐题解析+背诵技巧
  19. 蒙特卡洛树搜索(The monte carlo search tree)
  20. 联发科与晨星合并诞生新寨主

热门文章

  1. C# 改变鼠标样式
  2. 电脑网络通过usb分享给手机
  3. 带你了解二进制(基础篇)
  4. java freemark导出word 实现word分页
  5. 今日分享:自用的2款markdown在线编辑器推荐给你,快码住
  6. 小米 网络位置服务器,小米科普:一文看懂路由器上的 Mesh 组网是什么
  7. 罗姆ROHM开发出内置新电路的车载LDO稳压器BD9xxN1系列
  8. 数据结构——递归算法、递推算法、穷举算法、分治算法
  9. WDS桥接副路由器有线上网方法
  10. layui表格时间格式化