深度学习笔记(32) 目标定位
深度学习笔记(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=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡pcbxbybhbwc1c2c3⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
如果对象属于前三类(行人、汽车、摩托车),则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) 目标定位相关推荐
- HALCON 20.11:深度学习笔记(11)---目标检测
HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...
- yolo算法_吴恩达深度学习笔记(100)-目标检测之YOLO 算法讲解
YOLO 算法(Putting it together: YOLO algorithm) 你们已经学到对象检测算法的大部分组件了,在这个笔记里,我们会把所有组件组装在一起构成YOLO对象检测算法. 我 ...
- 深度学习笔记(34) 目标检测
深度学习笔记(34) 目标检测 1. 目标检测算法 2. 图像滑动窗口操作 3. 滑动窗口目标检测算法缺点 1. 目标检测算法 了解对象定位和特征点检测,现在来构建一个目标检测算法 通过卷积网络进行对 ...
- 深度学习笔记(40) YOLO
深度学习笔记(40) YOLO 1. YOLO对象检测算法 2. 构造训练集 3. 预测 3. 非极大值抑制 1. YOLO对象检测算法 之前已经学到对象检测算法的大部分组件: 博文 组件 作用 深度 ...
- 深度学习笔记(37) 交并比
深度学习笔记(37) 交并比 1. 交并比 2. 评价准则 1. 交并比 并交比(Intersection over Union)函数,可以用来评价对象检测算法,判断对象检测算法运作是否良好 在对象检 ...
- 深度学习笔记(36) 边界框预测
深度学习笔记(36) 边界框预测 1. 不精准的输出边界框问题 2. YOLO算法 1. 不精准的输出边界框问题 在滑动窗口法中,取这些离散的位置集合,然后在它们上运行分类器 在这种情况下,这些边界框 ...
- 深度学习笔记(35) 滑动窗口的卷积实现
深度学习笔记(35) 滑动窗口的卷积实现 1. 卷积实现 2. 减少计算成本 1. 卷积实现 为了构建滑动窗口的卷积应用,首先要知道如何把神经网络的全连接层转化成卷积层 假设对象检测算法输入一个14× ...
- 吴恩达深度学习笔记(四)
吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...
- 深度学习笔记(33) 特征点检测
深度学习笔记(33) 特征点检测 1. 特征点 2. 设定特征点 3. 关键特征点 1. 特征点 利用神经网络进行对象定位,即通过输出四个参数值bx.by.bh和bw给出图片中对象的边界框 概括地说, ...
最新文章
- 对学校的希望和寄语_新年元旦寄语【三篇】
- 同构字符串(Isomorphic Strings)
- 对一千万条数据进行排序---编程珠玑第二版 第一章
- 【2018.4.7】模拟赛之四-ssl2385 猜数【水题】
- python ==字符串
- 腾达路由器dns服务器未响应,腾达路由器的设置方法
- 如何将vue项目打包为.apk文件
- Qt文档阅读笔记-关于Qt Core的进一步认识
- Win2008 R2 VDI动手实验系列之八:远程桌面虚拟机终极测试
- Element UI 重置表单功能
- 微服务架构实战篇(一):使用start.spring.io 构建SpringBoot2.0项目
- 视网膜正常oct图_眼底OCT分层|图文并茂教你看
- 美女SEO系列六:什么是友情链接?
- 制作京东快报页面html,仿京东首页的京东快报,自动向上滚动的广告条
- python拼图游戏代码_Python图像处理——人物拼图游戏
- Linux服务器开发,手把手设计实现epoll
- 分享自己的页游运维架构
- 【源码】核磁共振成像的脑部肿瘤检测与分类
- mysql数据模型三要素_E-R模型的三要素为实体、属性、联系-智慧树数据库原理章节答案...
- 13.3断流_更新13.3.1后,用WiFi王者荣耀断流,时不时460.飞在天上的解决办法。
热门文章
- 如何及时还原被删除的活动目录对象
- Hyper-V passes Microsoft’s checkmarks exam: isn’t that always the case?
- 算法高级(6)-共识(Raft)算法
- linux常用指令(持续更新)
- 看完这篇文章,还说自己不会使用Zookeeper命令吗
- SCCM Learning2
- 封装一个方法,找出数组中重复数大于n的元素集合
- Spket在Eclipse/MyEclipse下的安装和配置支持Ext(图文教程)
- ubuntu之Matlab安装
- Java同步机制之Monitor监视器与syncrhoized实现原理