本文是根据Andrew Ng的深度学习视频学习,自己总结的。这一系列先只学习关键技术和设计,具体的实例等下一期进行。

这里讲一些在YOLO中经常用到的一些概念和优化算法。

一:交并比(Intersection over union)
如何衡量两个区域的重合度呢?也就是看看两个区域的相似程度。

假设有两个区域A和B,

也就是用区域的重合交集面积比上总的并集面积,取值在0~1之间,取值越大,重合度越高,两个区域越相似。一般取一个阈值,大于该阈值,即可认为是相似区域,即A和B所要描述的是一个区域,这个阈值一般取0.5,如果要求严格一点可以取0.6甚至是0.7更大的值。

二:非极大抑制(Non-max suppression)
顾名思义,不是最大的就抑制住。
当我们划分完子域后,建立了模型,训练完毕后,对某个测试图像进行测试,结果发现有一些临近的子域都是在试图举手表明自己该区域发现了某个物体,且都给出了自己的置信概率度Pc,如下图,我们一看,输出了好几个结果,但是其实就是两个结果是最好的。怎么用算法得出我们想要的结果呢?

非极大抑制算法过程如下:

1:将所有的物体检测输出都放到一个“容器(程序上的)”内,先过丢弃Pc小于某个阈值的,加入是0.6的,我们要求严格一些。
2:找到最大Pc的物体检测区域A,输出这个预测,得到了一个结果。
3:计算其他“容器”内所剩下的同类别的预测和A的IoU值,将IoU大于某个阈值的区域也去抑制掉,丢弃掉,因为很可能是在描述同一个物体,严格一点的话,阈值可能是0.6/0.7。
4:重复步骤2,直到“容器”内为空了。

这个思路很简单,我就是想得到大概率有物体的区域,且把重合度高的区域的预测给屏蔽。

有一点需要明确的是,非极大值抑制是同类别之间的抑制,不同类别的话就不用这个操作了。

三:Anchor Boxes

之前说,如果出现了多个物体中心点出现在一个区域如何处理,我们给出的方案是,适当增加区域M的划分,减少重合概率,其实就是这里要讲的方法。

我们之前通过单目标检测和多目标检测都是划定了一个区域(单目标检测都是将整个图像作为唯一的区域,多目标检测是将图像划分到了MXM个子区域),每个区域都是1X1X(1+4+N)的张量,这个输出和标签的设计就限制了我们再一个区域内检测物体的数目只能是1个,那么Anchor Box的做法就是修改标签设计,使得每个区域可以有多个物体的中心点,如下:

不管是单目标检测还是多目标检测,在每个区域内的标签张量都是
Y = [Pc,Bx,By,Bh,Bw,C1,C2,…,CN]
现在对齐做出改变
Y = [Pc,Bx,By,Bh,Bw,C1,C2,…,CN,Pc,Bx,By,Bh,Bw,C1,C2,…,CN]
或者是
Y = [Pc,Bx,By,Bh,Bw,C1,C2,…,CN,Pc,Bx,By,Bh,Bw,C1,C2,…,CN,Pc,Bx,By,Bh,Bw,C1,C2,…,CN]

等等等等。
将其重复设置两个位置出来,就提供了在一个区域内检测多个物体的可能性。一半情况下,一个区域内出现两个已经是比较罕见了,因为如果你已经采用了比较大的M区域划分,那么久已经很大概率减少了这种情况出现的可能性,所以一般情况下设置2个Anchor的位置即可。

那么在人为打标签的时候,也就多了一些信息,如果设置Anchor Box是2个,区域划分是M,在一个图像内就可以检测 2 X M X M个物体了。

最后都是要经过非极大值抑制的,使用了Anchor box后一个区域内现在可以输出多个物体的检测预测,再去抑制其他跟自己同类别的IoU大于某个阈值的预测,步骤都是一样的。

CV《物体识别与检测3 - 多目标识别的优化技术》相关推荐

  1. CV《神经风格转换》

    本文是根据Andrew Ng的深度学习视频学习,自己总结的.这一系列先只学习关键技术和设计,具体的实例等下一期进行. 一:神经风格转换处相识 这个是个非常激动人心的小领域,也是一个生成模型,能把一个图 ...

  2. 吴恩达深度学习笔记13-Course4-Week4【人脸识别和神经风格转换】

    人脸识别(Face Recognition) 一.人脸识别简介(What is face recognition?) 人脸验证:输入一张带人名/ID的人脸图片,验证是不是那个人.一对一问题. 人脸识别 ...

  3. 深度学习笔记 第四门课 卷积神经网络 第四周 特殊应用:人脸识别和神经风格转换...

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

  4. 4.4)深度卷积网络:人脸识别和神经风格转换

    目录 1)What is face recognition? 2)One-shot learning 3)Siamese network 4)Triplet Loss(重点) 5)Face Verif ...

  5. 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换(作业:快乐屋人脸识别+图片风格转换)

    文章目录 作业1:快乐房子 - 人脸识别 0. 朴素人脸验证 1. 编码人脸图片 1.1 使用卷积网络编码 1.2 Triplet 损失 2. 加载训练过的模型 3. 使用模型 3.1 人脸验证 3. ...

  6. 吴恩达【深度学习工程师】 04.卷积神经网络 第四周特殊应用(2)神经风格转换...

    该笔记介绍的是<卷积神经网络>系列第四周:特殊应用(2)神经风格转换 主要内容有: 1.神经风格转换 2.卷积网络隐藏单元可视化显示 3.神经风格转换代价函数 4.内容代价函数 5.风格代 ...

  7. 《Pytorch - 神经风格转换》

    上一篇我们学习了神经风格转换的详细内容,现在我们找了个网上的例子,一起运行分析下,具体实现过程是如何操作的. 一:代码细节步骤解析 第一步:获取当前可用的设备信息,CPU还是GPU # 获得当前的设备 ...

  8. 吴恩达Coursera深度学习课程 deeplearning.ai (4-4) 神经风格转换--编程作业

    吴恩达Coursera深度学习课程 deeplearning.ai (4-4) 神经风格转换–编程作业 注:由于这个作业目前未找到完整的中文版的,所以楼主综合了几篇不完整的,自己完整运行了一遍(pyt ...

  9. 【吴恩达深度学习编程作业】4.4特殊应用——人脸识别和神经风格转换(问题未解决)

    参考文章:1.人脸识别与神经风格转换 2.神经风格转换编程作业 神经网络风格中遇到的问题已经解决了并将解决方案写在了备注里面,但是人脸识别那里运行到database就出错了,目前仍没有找到解决方案.我 ...

  10. 人脸识别与神经风格转换

    文章参考参考,在此基础上对人脸识别和神经风格转换的内容做一个简述. 人生苦短,我学torch 人脸识别 模型构建 人脸识别仅仅用的表层特征做对比是远远不够的,这里用到的就是FaceNet的特征提取.由 ...

最新文章

  1. Angr 初体验之探索口令
  2. 查看大日志文件的专门工具logviewer
  3. android UI设计属性中英对照表(未修订)
  4. linux中程序包管理方式出现的原由(转载)
  5. [国家集训队]聪聪可可
  6. DevExpress之TreeList绑定复杂数据类型
  7. 2019最新某私塾在线高级java软件架构师实战培训教程
  8. java字符串模糊匹配_正则表达式实现字符的模糊匹配功能示例
  9. 360浏览器极速模式对iframe的支持
  10. 一些排序算法的Python实现
  11. 离散数学第一章 命题逻辑
  12. 简述人工智能发展的先决条件
  13. linux安装seaweedfs
  14. 淡墨写韵,不守起承转合
  15. Matlab App Designer 函数写法
  16. ajaxfileupload 上传插件
  17. 回顾 深度学习 实验三 线性回归
  18. (文献随笔)关于乳腺癌脑转移文献合集(一)
  19. 微信小程序实现首行缩进、取消首行缩进
  20. 计算机无法打开声音,驱动正常但是电脑没声音怎么办-电脑自学网

热门文章

  1. freemarker判断是否为空
  2. lintcode 中等题:Single number III 落单的数III
  3. NFS网络文件系统服务介绍与实战
  4. XShell技巧收集
  5. Serverless 实战 —— 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
  6. 容器编排技术 -- Kubernetes kubectl rollout status 命令详解
  7. 容器编排技术 -- Kubernetes kubectl create service clusterip 命令详解
  8. Homebrew命令详解
  9. vlan 间路由+单臂路由(实验思路讲解+配置)
  10. BGP——邻居关系(IBGP+EBGP)的建立(讲解及配置命令)