RCNN第一步生成独立候选区原理详解

本文详细介绍了目标检测中候选框的生成方法,包括滑窗法和选择性搜索算法。滑窗法通过不同大小窗口在图像上的滑动进行物体检测,而选择性搜索则基于图像分割技术,通过子区域合并策略提高计算效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标检测物体的候选框是如何产生的?

本文转自作者:small_munich
原文:https://blog.youkuaiyun.com/small_munich/article/details/79595257

如今深度学习火热的今天,RCNN/SPP-Net/Fast-RCNN等文章都会谈及bounding boxes(候选边界框)的生成与筛选策略。那么候选框是如何产生,又是如何进行筛选的呢?其实物体候选框获取当前主要使用图像分割与区域生长技术。区域生长(合并)主要由于检测图像中存在的物体具有局部区域相似性(颜色、纹理等)。目标识别与图像分割技术的发展进一步推动有效提取图像中信息。滑窗法作为一种经典的物体检测方法,个人认为不同大小的窗口在图像上进行滑动时候,进行卷积运算后的结果与已经训练好的分类器判别存在物体的概率。选择性搜索(Selective Search)是主要运用图像分割技术来进行物体检测。

—————————— 滑窗法(Sliding Window) ——————————

首先来看一下滑窗法的物体检测流程图:
在这里插入图片描述

通过滑窗法流程图可以很清晰理解其主要思路:首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non-Maximum Suppression, NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。
  滑窗法简单易于理解,但是不同窗口大小进行图像全局搜索导致效率低下,而且设计窗口大小时候还需要考虑物体的长宽比。所以,对于实时性要求较高的分类器,不推荐使用滑窗法。
  
—————————— 选择搜索(Selective Search) —————————

同样来看一下选择搜索的物体检测流程图:
在这里插入图片描述
  滑窗法类似穷举进行图像子区域搜索,但是一般情况下图像中大部分子区域是没有物体的。学者们自然而然想到只对图像中最有可能包含物体的区域进行搜索以此来提高计算效率。选择搜索方法是当下最为熟知的图像bouding boxes提取算法,由Koen E.A于2011年提出,具体详见论文。下面大致说一下选择搜索算法的过程:
  选择搜索算法的主要观点:图像中物体可能存在的区域应该是有某些相似性或者连续性区域的。因此,选择搜索基于上面这一想法采用子区域合并的方法进行提取bounding boxes候选边界框。首先,对输入图像进行分割算法产生许多小的子区域。其次,根据这些子区域之间相似性(相似性标准主要有颜色、纹理、大小等等)进行区域合并,不断的进行区域迭代合并。每次迭代过程中对这些合并的子区域做bounding boxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。

选择搜索优点:
  计算效率优于滑窗法。
  由于采用子区域合并策略,所以可以包含各种大小的疑似物体框。
  合并区域相似的指标多样性,提高了检测物体的概率。

代码下载:
 分割代码工程vs2015 x64 : 
    链接:https://pan.baidu.com/s/1JfZuUvMGaz7rvDyh9ZQn2Q 密码:7k6l 
 
 选择搜索cpp文件 or (作者官网下载matlab code): 
    链接:https://pan.baidu.com/s/1ioLEjuydczshp0XDbtDk7w 密码:ymr3
    (需要配置opencv_contrib文件)
参考文献:
https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/
http://cs.brown.edu/~pff/segment/
https://koen.me/research/selectivesearch/
<深度学习与计算机视觉> 作者:叶韵

在 Faster R-CNN 的测试阶段,需要先对输入图像进行多尺度的特征提取,然后使用 Region Proposal Network (RPN) 生成候选框。这个过程包括以下步骤: 1. 生成多尺度的图像特征。一般使用卷积神经网络(CNN)来提取图像特征。Faster R-CNN采用了一种特殊的CNN架构,即在一个共享的卷积网络中同时生成分类特征和回归特征,并且使用RoI Pooling层来对不同尺度的候选框进行特征提取。 2. 将特征图送入RPN网络生成候选框。RPN网络基于图像特征,通过滑动窗口的方式在不同位置和尺度上生成候选框,同时计算每个候选框是否是物体的前景或背景。对于每个位置,RPN网络会预测出k个anchors的前景概率和回归偏移量,这些anchors是预先定义好的一些固定大小的框,用于覆盖不同大小和比例的物体。 3. 根据候选框的前景概率和回归偏移量,对候选框进行精炼。根据RPN网络输出的前景概率,可以将所有候选框按照前景概率进行排序,选取前N个框作为最终的候选框。同时,根据RPN网络输出的回归偏移量,对候选框进行位置的微调,以更好地适应实际物体的形状和大小。 总的来说,Faster R-CNN生成候选框的过程是通过RPN网络来完成的,该网络在图像特征上预测出一些固定大小和比例的anchors,并对这些anchors进行前景概率和回归偏移量的预测,最终得到一些有前景概率的候选框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值