候选区域算法

object recognition=目标识别=物体识别目标识别是要分辨出图片中有什么物体,输入是图片,输出是类别标签和概率。

object dection=目标检测=物体检测:目标检测输入是图片,不仅要检测图片中有什么物体,还要输出物体的外框(x, y, width, height)来定位物体的位置。

生成候选子区域的方法总共分为两类滑动窗口算法(sliding window algorithm)和 候选区域算法(region proposal algorithm)

滑动窗口算法:计算量比较大,基本上等于遍历图片的像素点,更何况不同的图,物体的远近不同,长宽比大小都可能不同,所以这种方法还是别用的好。

候选区域(RP)算法:用分割不同区域的办法来识别潜在的物体。在分割的时候,我们要合并那些在某些方面(如颜色、纹理)类似的小区域。相比滑窗法在不同位置和大小的穷举,候选区域算法将像素分配到少数的分割区域中。所以最终候选区域算法产生的数量比滑窗法少的多,从而大大减少运行物体识别算法的次数。同时候选区域算法所选定的范围天然兼顾了不同的大小和长宽比。

候选区域算法比较重要的特征就是要有较高的召回率。我们要通过这种方法保证拥有物体的区域都在候选区域列表里。所以不介意有很多区域什么都有,这都没关系,物体检测算法会过滤掉他们,虽然会浪费一点时间。

选择性(selective search)搜索算法:而在候选区域算法中,最常用的算法就是选择性搜索(selective search)算法,因为这个算法速度相对较快,并且召回率高。

选择性搜索算法需要先使用《Efficient Graph-Based Image Segmentation》论文里的方法产生初始的分割区域,然后使用相似度计算方法合并一些小的区域。

图1. 原图

图2. 原始分割图

但是我们不能使用原始分割图的区域作为候选区域,原因如下:

1. 大部分物体在原始分割图里都被分为多个区域

2. 原始分割图无法体现物体之间的遮挡和包含。

如果我们试图通过进一步合并相邻的区域来解决第一个问题,我们最终会得到一个包含两个对象的分段区域。

我们不要需要完美的的分割区域,我们只想要和实际物体高度重合的区域就行了。

选择性搜索算法使用《Efficient Graph-Based Image Segmentation》论文里的方法产生初始的分割区域作为输入,通过下面的步骤进行合并:

1. 首先将所有分割区域的外框加到候选区域列表中
2. 基于相似度合并一些区域
3. 将合并后的分割区域作为一个整体,跳到步骤1

通过不停的迭代,候选区域列表中的区域越来越大。可以说,我们通过自底向上的方法创建了越来越大的候选区域。表示效果如下:

图3. 候选区的建立

相似度
选择性搜索算法如何计算两个区域的相似度的呢?
主要是通过以下四个方面:颜色、纹理、大小和形状交叠
最终的相似度是这四个值取不同的权重相加

效果
opencv实现了选择性搜索算法,可以给出上千个根据有物体的可能性降序排列的候选区域。
下图是画出了前面200250个候选区域的效果。一般来说。10001200个候选区域基本能胜任物体检测的任务了。

图4. 选择性搜索算法效果图1

图5. 选择性搜索算法效果图2

----------------------------------------------------------------------------------------

第二部分来源:csdn回帖-https://bbs.csdn.net/topics/395282785

参考资料:

国内博客1:https://www.cnblogs.com/zhao441354231/p/5941190.html

—— 较清楚的描述了《Selective Search for Object Recognition》算法过程

国内博客2:https://blog.csdn.net/surgewong/article/details/39316931/

—— 介绍了算法过程中,各部分的具体计算公式,解决了博客1中的部分问题,包含github开源代码

国内博客3:https://blog.csdn.net/guoyunfei20/article/details/78723646

—— 有部分C++代码

#selective search作者网站:https://www.koen.me/research/selectivesearch/

国外博客:https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/

—— 原文原英文博客

学习笔记3分支--学习笔记2-候选区域算法相关推荐

  1. R-CNN算法学习(步骤一:候选区域生成)

    R-CNN算法学习(步骤一:候选区域生成) 论文链接:https://arxiv.org/abs/1311.2524 源码链接:https://github.com/rbgirshick/rcnn 算 ...

  2. Git学习笔记:分支管理3

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  3. Git学习笔记:分支管理(2)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  4. Git学习笔记:分支管理(1)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  5. 深度学习笔记(41) 候选区域

    深度学习笔记(41) 候选区域 1. 无对象区域 2. 候选区域 3. Faster R-CNN 1. 无对象区域 记得滑动窗法吧,使用训练过的分类器 在这些窗口中全部运行一遍,然后运行一个检测器,看 ...

  6. 机器学习笔记-多分类学习,类别不平衡,决策树

    读书笔记 多分类学习 基本思想:拆解法:将多分类任务拆解为若干个二分类任务求解,先对这些问题经拆分,为拆分出的每个二分类任务训练一个分类器,测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果 ...

  7. 深度学习入门之PyTorch学习笔记:多层全连接网络

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...

  8. 深度学习入门之PyTorch学习笔记:深度学习介绍

    深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...

  9. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

最新文章

  1. 用Python打造一款文件搜索工具,所有功能自己定义
  2. 2-5-PerformingMountsUnmounts
  3. Ubuntu 16.04 LTS下编译GPU版tensorflow
  4. 035_Breadcrumb面包屑
  5. 2020 职场,哪类程序员会是王者?!
  6. C++两天一个程序(一)
  7. 安卓代码还是xml绘制页面_我们应该绘制实际还是预测,预测还是实际还是无关紧要?
  8. 过渡效果_剪映教程:剪映怎么添加视频之间的过渡转场效果?
  9. linux 切换pip路径_windows环境下面如何快速配置pip环境变量
  10. python连接redis002
  11. 客户端js 读取 json 数据
  12. JAVA HD japan_小米小爱AI音箱HD【硬件分析】,你了解智能音箱吗
  13. 计算机思维发展阶段,巩固计算思维是每个教育阶段的重要目标。
  14. vue 按钮控制鼠标滚轮放大缩小
  15. Pr 视频速率与关键帧
  16. 如何更好的提问-在提问之前试试Stack Overflow、小黄鸭调试法
  17. php 磁盘配额,samba服务器安装+磁盘配额笔记
  18. j1900适合装哪版群晖_4000-10000元适合家庭使用的台式电脑选购指南(9月)
  19. 技术人在互联网如何变现
  20. 2017-美团大众点评-安全工程师A/B卷

热门文章

  1. 计算机和会计论文题目,财务会计(论文)参考题目.doc
  2. JAVA求职(盘点我这些年曾经面试过的一些公司)
  3. 设置eclipse背景颜色和字体颜色
  4. java微信Url转文本
  5. 一张图看懂SharpCapture
  6. 有多少人戴着黑帽子?
  7. CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成更高质量的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用
  8. 【安全防御之防火墙基础】
  9. MySQL必知必会 学习笔记
  10. 网站被DDOS攻击怎么办?防护经验!