目标检测是计算机视觉领域中一个新兴的应用方向。相比前两年,它的性能越来越好。

对象定位

在构建对象检测之前,我们先了解一下对象定位。

定位分类问题:
不仅要用算法判断图片中是不是一辆汽车,还要在图片中标记出它的位置。
定位分类问题通常只有一个较大的对象位于图片中间位置。

对象检测问题:
图片可以含有多个对象,甚至单张图片中会有多个不同分类的对象。

图片分类的思路可以帮助学习分类定位,而对象定位的思路又有助于学习对象检测

分类和定位


图片分类的流程(标准的分类pipeline):

  • 输入一张图片到多层卷积神经网络
  • 输出一个特征向量
  • 特征向量反馈给softmax单元来预测图片类型

定位的思路

想定位图片中汽车的位置,实际上就是让神经网络多输出几个单元,输出一个边界框。

具体说就是让神经网络再多输出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


神经网络输出的是四个参数、分类标签出现的概率。

鉴于我们所要处理的问题,我们假设图片中只含有一个对象。

则y是一个向量:

  • 第一个组件Pc表示是否含有对象(如果对象属于前三类则Pc=1。如果是背景则Pc=0)。
  • 第二个组件bx、by、bh和bw表示如果检测到对象,就输出被检测对象的边界框参数。
  • 第三个组件c1、c2、c3表示在Pc=1的情况下,判断对象属于1-3中的哪一类

损失函数


上图是对误差函数的简单的描述。

通常做法是对边界框坐标应用平方误差或类似方法,对Pc应用逻辑回归函数(甚至采用平方预测误差也是可以的)。

吴恩达神经网络和深度学习-学习笔记-40-目标定位相关推荐

  1. 吴恩达神经网络与深度学习——深度神经网络

    吴恩达神经网络与深度学习--深度神经网络 深度神经网络 符号 前向传播 矩阵维度 m个样本 为什么使用深层表示 搭建深层神经网络块 正向传播和反向传播 前向和反向传播 前向传播 反向传播 参数和超参数 ...

  2. 吴恩达神经网络和深度学习

    [前言] 在学习了深度学习和神经网络之后,为什么我要以博客的形式来做笔记?这CSDN有那么多的优秀文章,我自己写的都比不上 别人的我写的真的有意义吗,为什么我要浪费大量的时间去做这项工作?我相信一句话 ...

  3. 吴恩达神经网络与深度学习——浅层神经网络

    吴恩达神经网络与深度学习--浅层神经网络 神经网络概述 神经网络表示 计算神经网络的输出 m个样本的向量化 for loop 向量化 向量化实现的解释 激活函数 sigmoid tanh函数 ReLu ...

  4. 吴恩达神经网络和深度学习-学习笔记-38-使用开源的方案+迁移学习+数据增强data augmentation

    使用别人的开源成果 想要用现成的网络,最好在网络上找到开源的实现,这要比从头开始实现快得多. 比如:直接在Google上搜索resnets github,找到合适的后点击下载会得到URL,然后在cmd ...

  5. 吴恩达神经网络和深度学习-学习笔记-28-端到端的深度学习(end-to-end deep learning )

    深度学习最令人振奋的最新动态之一,就是端到端深度学习end-to-end deep learning的兴起. 什么是"端到端深度学习" 以前有一些数据处理系统或学习系统,它们需要多 ...

  6. 吴恩达神经网络和深度学习-学习笔记-8-梯度消失与爆炸 + 梯度检测

    梯度消失与爆炸 介绍 直观理解是: 权重W只比1(即单位矩阵)大一点,深度神经网络的激活函数将爆炸式增长. 权重W只比1(即单位矩阵)小一点,深度神经网络的激活函数将指数式递减. 虽然我(吴恩达老师) ...

  7. 吴恩达-神经网络和深度学习课程-学习心得(一)

    前言: 陆陆续续学完了吴恩达老师在网易云课堂上开设的深度学习工程师微专业的部分内容(01.神经网络与深度学习,04.卷积神经网络,02.改善深层神经网络),在进一步应用实践之前,对之前的学习的内容做个 ...

  8. 吴恩达神经网络和深度学习-学习笔记-39-计算机视觉现状

    Data vs hand-engineering 你可以把大部分的机器学习问题看成是在你的数据相对较少的地方,应用到你拥有大量数据的地方. 我们今天有相当数量的语音识别数据,至少相对于这个问题的复杂性 ...

  9. 吴恩达神经网络和深度学习-学习笔记-22-误差分析

    单一误差分析 假设我们面对一个猫分类器的准确率不够的原因. 队友看了一下算法分类出错的例子,注意到算法将一些够狗分类为猫. 在这种条件下,我们应不应该做一个项目专门处理狗?比如搜集更多的狗的图片,或者 ...

  10. 吴恩达神经网络和深度学习-学习笔记-21-何时该改变开发集+测试集或指标

    需要我们改变开发集+测试集或指标的情况,是现有的指标或开发测试集并不能帮助我们选择出最好的模型! 如果你的评估指标,无法正确评估好算法的排名,那么就需要花时间定义一个新的评估指标. (加权来排除某一类 ...

最新文章

  1. R使用gbm包构建gbdt模型进行回归分析实战
  2. 所有受限制的应用程序包_【译】使用Blazor构建桌面应用
  3. 力扣面试题 01.07. 旋转矩阵
  4. 钱荒下银行理财收益率角逐:邮储银行垫底
  5. 【ZooKeeper Notes 5】单机启动多个zk实例注意点
  6. centos最新版solr5.3.1安装和数据整理以及遇到的问题解答
  7. 电脑没声音解决方法,win11
  8. 使用 Metasploit 利用 MySQL 默认空密码或弱密码漏洞 (CVE-2002-1809, CNNVD-200212-263, CVE-1999-0502)
  9. (转)mysql 字符串 拼接 截取 替换
  10. 医院药库管理系统 v6.26 下载
  11. 微信小程序仿陶票票课程设计
  12. 华为手机怎么使用新系统鸿蒙,华为手机鸿蒙系统如何退回EMU
  13. 小米路由pro php,家庭实测 | 荣耀路由Pro2 可以吊打小米路由器吗?
  14. Li‘s 影像组学视频学习笔记(25)-查看准确度、灵敏度、特异度及混淆矩阵
  15. Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表、地图)
  16. 修改Exchange2010 OWA登录时的企业logo
  17. 计算机重启遇到你的账户已被停用,win10 administrator你的账户已被停用怎么办
  18. C语言多线程之“哲学家就餐”问题
  19. 试论社会学专业定×××方法课程教学现状及改革途径
  20. 分布式数据库案例分享:腾讯移动支付平台米大师

热门文章

  1. 如何自学python知乎-你是如何自学 Python 的?
  2. python自学看什么书-自学Python一年,看了几十本书,我发现了这些捷径!
  3. 自动语音识别的原理是什么,它的作用是什么
  4. ntp时间同步会导致mysql关闭吗_NTP 时间同步网络弱电系统安全监测平台研究
  5. 数据结构笔记:二叉树的构造(根据遍历顺序构造二叉树)
  6. php微信自动登录,利用php怎么实现一个自动登录微信并获取昵称的功能
  7. 2020年最好用的手机是哪一款_2020年换手机不用盲目,目前这4部最值得买,好看好用性价比高...
  8. python结束多线程_如何中断/停止/结束挂起的多线程python程序
  9. Idea在debug时打上断点没有用 Skipped breakpoint at ... because it happened inside debugger evaluation
  10. 2021 ZUST,XCPC选拔赛