深度学习笔记(32) 目标定位

  • 1. 定位分类
  • 2. 定位边框
  • 3. 分类标签
  • 4. 损失函数

1. 定位分类

图片分类任务已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车
定位分类问题,这意味着不仅要用算法判断图片中是不是一辆汽车
还要在图片中标记出它的位置

如果正在构建汽车自动驾驶系统,那么对象可能包括以下几类:行人、汽车、摩托车和背景
这意味着图片中没有行人、摩托车和背景,输出结果会是汽车


2. 定位边框

如果还想定位图片中汽车的位置
那么可以让神经网络多输出几个单元,输出一个边界框
具体说就是让神经网络再多输出4个数字,标记为bx,by,bh和bw
这四个数字是被检测对象的边界框的参数化表示

图片左上角的坐标为(0,0),右下角标记为(1,1)
要确定边界框的具体位置,需要指定红色方框的中心点
这个点表示为(bx,by),边界框的高度为bh,宽度为bw

因此训练集不仅包含神经网络要预测的对象分类标签
还要包含表示边界框的这四个数字
接着采用监督学习算法,输出一个分类标签,还有四个参数值,从而给出检测对象的边框位置

此例中,bx的理想值是0.5,表示汽车位于图片水平方向的中间位置
by大约是0.7,表示汽车位于距离图片底部3/10的位置
bh约为0.3,因为红色方框的高度是图片高度的0.3倍
bw约为0.4,红色方框的宽度是图片宽度的0.4倍
为监督学习任务定义目标标签 y,这有四个分类


3. 分类标签

神经网络输出的是这四个数字和一个分类标签或分类标签的概率
目标标签y的定义如下:
y=[pcbxbybhbwc1c2c3]y= \left[ \begin{matrix} p_c \\b_x\\b_y\\b_h\\b_w\\c_1\\c_2\\c_3 \end{matrix} \right] y=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​pc​bx​by​bh​bw​c1​c2​c3​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​
如果对象属于前三类(行人、汽车、摩托车),则pc=1
如果是背景,则图片中没有要检测的对象,则pc=0
可以这样理解pc,它表示被检测对象属于某一分类的概率,背景分类除外

如果检测到对象,就输出被检测对象的边界框参数bx、by、bh和bw
最后,如果存在某个对象,那么pc=1
同时输出c1、c2和c3,表示该对象属于行人,汽车还是摩托车中的哪一类

鉴于所要处理的问题,假设图片中只含有一个对象
所以针对这个分类定位问题,图片最多只会出现其中一个对象

假如这是一张训练集图片,标记为x,即上图的汽车图片
而在y当中,第一个元素pc=1
因为图中有一辆车,bx、by、bh和bw会指明边界框的位置
所以标签训练集需要标签的边界框

图片中是一辆车,所以结果属于分类2,因为定位目标不是行人或摩托车,而是汽车
所以c1=0,c2=1,c3=0
并且c1、c2和c3中最多只有一个等于1

如果在背景图片的情况下

pc=0,y的其它参数将变得毫无意义
全部写成问号,表示“毫无意义”的参数


4. 损失函数

神经网络的损失函数,其参数为类别yyy和网络输出y^\hat{y}y^​
如果采用平方误差策略,则L(y^\hat{y}y^​,yyy) = (y^\hat{y}y^​1 - yyy1)2 +(y^\hat{y}y^​2 - yyy2)^2 +⋯(y^\hat{y}y^​8 - yyy8)^2
损失值等于每个元素相应差值的平方和

图片中存在定位对象,y1=1,所以y1=pc,损失值就是不同元素的平方和
另一种情况是,y1=0,即pc=0,损失值是(y^\hat{y}y^​1 - yyy1)2
不用考虑其它元素,只需关注神经网络输出pc的准确度


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(31) 迁移与增强
深度学习笔记(30) Inception网络
深度学习笔记(29) 1×1 卷积
深度学习笔记(28) 残差网络
深度学习笔记(27) 经典卷积网络


谢谢!

深度学习笔记(32) 目标定位相关推荐

  1. HALCON 20.11:深度学习笔记(11)---目标检测

    HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...

  2. yolo算法_吴恩达深度学习笔记(100)-目标检测之YOLO 算法讲解

    YOLO 算法(Putting it together: YOLO algorithm) 你们已经学到对象检测算法的大部分组件了,在这个笔记里,我们会把所有组件组装在一起构成YOLO对象检测算法. 我 ...

  3. 深度学习笔记(34) 目标检测

    深度学习笔记(34) 目标检测 1. 目标检测算法 2. 图像滑动窗口操作 3. 滑动窗口目标检测算法缺点 1. 目标检测算法 了解对象定位和特征点检测,现在来构建一个目标检测算法 通过卷积网络进行对 ...

  4. 深度学习笔记(40) YOLO

    深度学习笔记(40) YOLO 1. YOLO对象检测算法 2. 构造训练集 3. 预测 3. 非极大值抑制 1. YOLO对象检测算法 之前已经学到对象检测算法的大部分组件: 博文 组件 作用 深度 ...

  5. 深度学习笔记(37) 交并比

    深度学习笔记(37) 交并比 1. 交并比 2. 评价准则 1. 交并比 并交比(Intersection over Union)函数,可以用来评价对象检测算法,判断对象检测算法运作是否良好 在对象检 ...

  6. 深度学习笔记(36) 边界框预测

    深度学习笔记(36) 边界框预测 1. 不精准的输出边界框问题 2. YOLO算法 1. 不精准的输出边界框问题 在滑动窗口法中,取这些离散的位置集合,然后在它们上运行分类器 在这种情况下,这些边界框 ...

  7. 深度学习笔记(35) 滑动窗口的卷积实现

    深度学习笔记(35) 滑动窗口的卷积实现 1. 卷积实现 2. 减少计算成本 1. 卷积实现 为了构建滑动窗口的卷积应用,首先要知道如何把神经网络的全连接层转化成卷积层 假设对象检测算法输入一个14× ...

  8. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

  9. 深度学习笔记(33) 特征点检测

    深度学习笔记(33) 特征点检测 1. 特征点 2. 设定特征点 3. 关键特征点 1. 特征点 利用神经网络进行对象定位,即通过输出四个参数值bx.by.bh和bw给出图片中对象的边界框 概括地说, ...

最新文章

  1. 对学校的希望和寄语_新年元旦寄语【三篇】
  2. 同构字符串(Isomorphic Strings)
  3. 对一千万条数据进行排序---编程珠玑第二版 第一章
  4. 【2018.4.7】模拟赛之四-ssl2385 猜数【水题】
  5. python ==字符串
  6. 腾达路由器dns服务器未响应,腾达路由器的设置方法
  7. 如何将vue项目打包为.apk文件
  8. Qt文档阅读笔记-关于Qt Core的进一步认识
  9. Win2008 R2 VDI动手实验系列之八:远程桌面虚拟机终极测试
  10. Element UI 重置表单功能
  11. 微服务架构实战篇(一):使用start.spring.io 构建SpringBoot2.0项目
  12. 视网膜正常oct图_眼底OCT分层|图文并茂教你看
  13. 美女SEO系列六:什么是友情链接?
  14. 制作京东快报页面html,仿京东首页的京东快报,自动向上滚动的广告条
  15. python拼图游戏代码_Python图像处理——人物拼图游戏
  16. Linux服务器开发,手把手设计实现epoll
  17. 分享自己的页游运维架构
  18. 【源码】核磁共振成像的脑部肿瘤检测与分类
  19. mysql数据模型三要素_E-R模型的三要素为实体、属性、联系-智慧树数据库原理章节答案...
  20. 13.3断流_更新13.3.1后,用WiFi王者荣耀断流,时不时460.飞在天上的解决办法。

热门文章

  1. 如何及时还原被删除的活动目录对象
  2. Hyper-V passes Microsoft’s checkmarks exam: isn’t that always the case?
  3. 算法高级(6)-共识(Raft)算法
  4. linux常用指令(持续更新)
  5. 看完这篇文章,还说自己不会使用Zookeeper命令吗
  6. SCCM Learning2
  7. 封装一个方法,找出数组中重复数大于n的元素集合
  8. Spket在Eclipse/MyEclipse下的安装和配置支持Ext(图文教程)
  9. ubuntu之Matlab安装
  10. Java同步机制之Monitor监视器与syncrhoized实现原理