目标检测之Faster RCNN-1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、计算机视觉图像处理的任务

计算机视觉中图像处理的任务大致可以分为几类:图像分类,目标检测,语义分割,实例分割,全景分割等。

图像分类(Image Classification)

输入下图像进计算机中,计算机只能识别出一堆数据,并不能知道输入的这堆数据代表着什么含义,而在人类的观感中能够第一时间反应出来,该图主要描述的是一只猫。图像分类的意义在于让计算机认识这是猫,并不是人、狗、车等其他的东西。
在这里插入图片描述

目标检测(Object detection)

在计算机认识到上图里包含猫之后,并不能告知我们图像里的猫在图像里的哪个位置,这个时候,新的任务就是目标检测。需要计算机描述出猫在图像里的那个位置(用矩形框框起来)。

在这里插入图片描述

语义分割(semantic segmentation)

虽然目标检测已经能够让计算机知道图像里包含的目标,以及目标的大概位置,但是在多目标检测的任务中,很容易出现多个检测框重合,而导致比较难以识别,另外,检测框本身不够精确。
此时出现新任务就是语义分割了,该任务需要计算机识别出每个像素点的分类。如下图,有三个人,检测出来为同一个物体,另外背景属于另一种物体。

实例分割(semantic segmentation)

在图像处理的任务中,图像里容易出现同一种类的目标,此时用语义分割会出现上图中两只小猫的状况,会被分为同一个物体,而不是同一种类的两个单独的物体。有的时候需要区分出同一种类的不同物体,实例分割就可以处理如下图的任务。下图中左边,我们可以看出有人、羊、狗三个种类的物体,羊又有五只羊,实例分割就很好的处理了该图片。
在这里插入图片描述

全景分割(Panoramic segmentation)

我们直接可以看到下图中有房屋、行人、轿车、天空等很多种类,用实例分割时,计算机无法辨别房屋天空不知应否当做另外一种物体,此时用到全景分割,将图像里的前景与背景都分辨出来。天空是一类物体,房屋是另一类物体,树木也是一类物体,将图像里的每个像素点都分辨出来,无论前景、背景。
在这里插入图片描述


二、目标检测之Faster RCNN结构图

常用的目标检测算法有Faster RCNN与YOLO等,在目标检测的任务发展历史中,Faster RCNN的地位举足轻重。
基本结构如下图:Faster R-CNN有共享卷积层、RPN、RoI pooling以及分类和回归四部分。
在这里插入图片描述


三、Faster RCNN之共享卷积层

共享卷积层是整个神经网络的backbone网络,它为后续的区域建议框提供特征图与锚点框。
通常使用的是预训练好、精度高、参数少的网络模型,如resnet50、resnet101、vgg、Goolenet等网络。
在这里插入图片描述
这里以Python版本中的VGG16模型中的faster_rcnn_test.pt的网络结构为例,一共有13个conv层,13个relu层,4个pooling层。

所有的conv层:卷积核size为3×3,pad为1,stride为1
所有的pooling层:卷积核size为2×2,pad为0,stride为2

那么根据上述的卷积核的参数,可以知道图像在经过conv层和relu层,图像的尺寸并不会变,而经过pooling层输出尺寸会变为输入的1/2。
最终设图像原来的尺寸为M×N,一个MxN大小的矩阵经过Conv layers固定变为(M/16)x(N/16),故而输入图像一般为16的倍数,或大于32x32。

这样最后生成的feature map可以和原图的像素全部对应起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值