社区
机器视觉
帖子详情
目标识别、目标检测、滑动窗口、候选区域算法和选择性搜索算法区别
weixin_43405434
2019-12-08 06:18:34
目标识别、目标检测、滑动窗口、候选区域算法和选择性搜索算法区别
本帖只是本人对这几个概念的理解随笔,为了让初学者少走弯路,更好理解,就写了一下自己记录,大神勿喷,如有侵权,及时联系删除,谢谢!!
其中主要参考的blog为:
物体检测之选择性搜索(Selective Search):https://blog.csdn.net/yuanlulu/article/details/82157071#commentBox
注意:object dection=目标检测=物体检测
object recognition=目标识别=物体识别
目标检测的核心是目标识别
两者概念
目标识别是要分辨出图片中有什么物体,输入是图片,输出是类别标签和概率。而目标检测输入是图片,不仅要检测图片中有什么物体,还要输出物体的外框(x, y, width, height)来定位物体的位置。
为了定位物体,我们需要选择一些子区域并在子区域上运行物体识别算法。物体的位置就是物体识别算法返回最高概率的子区域内。
问题来了,那怎样定位物体位置呢?就有人想到用框来标记,这个框起来的区域就叫做候选子区域。那这些候选子区域是怎么生成的呢?
生成候选子区域的方法总共分为两类:
滑动窗口算法
(sliding window algorithm)和
候选区域算法
(region proposal algorithm)
产生候选子区域的最直接的方法就是滑窗法,但是这种办法效率比较低,所以我们一般使用‘候选区域’算法,而择性搜索(Selective Search)就是最流行的候选区域产生算法之一(个人理解:这个最流行可能是针对论文那两年说的,现在深度学习都是使用网络产生候选区域,不用算法生成了)。
滑窗(sliding window)法
在滑窗方案中,我们要使用一个小窗口遍历搜索整张图片,在每个位置上对滑窗内的图片做物体识别算法。不仅要搜索不同的位置,还要遍历不同的大小,工作量可想而知。
问题还没完,对于人脸和人体这种长宽比基本固定的物体还好,对于长宽不固定的物体,搜索起来简直就是噩梦,计算量直接飙升
候选区域(Region Proposal)算法
候选区域算法用分割不同区域的办法来识别潜在的物体。在分割的时候,我们要合并那些在某些方面(如颜色、纹理)类似的小区域。相比滑窗法在不同位置和大小的穷举,候选区域算法将像素分配到少数的分割区域中。所以最终候选区域算法产生的数量比滑窗法少的多,从而大大减少运行物体识别算法的次数。同时候选区域算法所选定的范围天然兼顾了不同的大小和长宽比。
候选区域算法比较重要的特征就是要有较高的召回率。我们要通过这种方法保证拥有物体的区域都在候选区域列表里。所以不介意有很多区域什么都有,这都没关系,物体检测算法会过滤掉他们,虽然会浪费一点时间。
选择性(selective search)搜索算法
而在候选区域算法中,最常用的算法就是选择性搜索(selective search)算法,因为这个算法速度相对较快,并且召回率高。
选择性搜索算法需要先使用《Efficient Graph-Based Image Segmentation》论文里的方法产生初始的分割区域,然后使用相似度计算方法合并一些小的区域。
下列两张图分别是原图和原始分割图:
但是我们不能使用原始分割图的区域作为候选区域,原因如下:
1. 大部分物体在原始分割图里都被分为多个区域
2. 原始分割图无法体现物体之间的遮挡和包含。
如果我们试图通过进一步合并相邻的区域来解决第一个问题,我们最终会得到一个包含两个对象的分段区域。
我们不要需要完美的的分割区域,我们只想要和实际物体高度重合的区域就行了。
选择性搜索算法使用《Efficient Graph-Based Image Segmentation》论文里的方法产生初始的分割区域作为输入,通过下面的步骤进行合并:
1. 首先将所有分割区域的外框加到候选区域列表中
2. 基于相似度合并一些区域
3. 将合并后的分割区域作为一个整体,跳到步骤1
通过不停的迭代,候选区域列表中的区域越来越大。可以说,我们通过自底向下的方法创建了越来越大的候选区域。表示效果如下:
相似度
选择性搜索算法如何计算两个区域的像素度的呢?
主要是通过以下四个方面:颜色、纹理、大小和形状交叠
最终的相似度是这四个值取不同的权重相加
效果
opencv实现了选择性搜索算法,可以给出上千个根据有物体的可能性降序排列的候选区域。
下图是画出了前面200250个候选区域的效果。一般来说。10001200个候选区域基本能胜任物体检测的任务了。
参考资料
#selective search作者网站:
https://www.koen.me/research/selectivesearch/
国外博客:
https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/
国内翻译的上面的博客:
https://blog.csdn.net/guoyunfei20/article/details/78723646
国内的博客:
https://blog.csdn.net/surgewong/article/details/39316931/
国内博客2:
https://www.cnblogs.com/zhao441354231/p/5941190.html
图像分割:
http://cs.brown.edu/people/pfelzens/segment/
...全文
1612
回复
打赏
收藏
目标识别、目标检测、滑动窗口、候选区域算法和选择性搜索算法区别
目标识别、目标检测、滑动窗口、候选区域算法和选择性搜索算法区别 本帖只是本人对这几个概念的理解随笔,为了让初学者少走弯路,更好理解,就写了一下自己记录,大神勿喷,如有侵权,及时联系删除,谢谢!! 其中主要参考的blog为: 物体检测之选择性搜索(Selective Search):https://blog.csdn.net/yuanlulu/article/details/82157071#commentBox 注意:object dection=目标检测=物体检测 object recogni
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
【
目标检测
】基于LCM
算法
实现红外小
目标检测
matlab源码.zip
【
目标检测
】基于LCM
算法
实现红外小
目标检测
matlab源码.zip
基于机器学习
算法
的视频
目标检测
matlab
算法
实现
基于机器学习
算法
的视频
目标检测
matlab
算法
实现
模板匹配为基础的
目标检测
算法
运用模板匹配
算法
实现
目标检测
,很好的图像处理方法
各类
目标检测
相关
算法
汇总解析
资源下载链接为: https://pan.quark.cn/s/a7099d6565b5 各类
目标检测
相关
算法
汇总解析(最新、最全版本!打开链接下载即可用!)
机器视觉
4,505
社区成员
15,378
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章