2_基于深度学习的目标检测识别算法

目前可以将现有的基于深度学习的目标检测与识别算法大致分为以下三大类

  • 基于区域建议的目标检测与识别算法,如R-CNN, Fast-R-CNN, Faster-R-CNN;
  • 基于回归的目标检测与识别算法,如YOLO, SSD;
  • 基于搜索的目标检测与识别算法,如基于视觉注意的AttentionNet,基于强化学习的算法

一、基于区域建议的目标检测与识别算法

  这类算法的主要步骤是:

  • 首先使用选择性搜索算法(Selective Search,SS)、Bing、EdgeBoxes这些目标候选区域生成算法生成一系列候选目标区域;
  • 然后通过深度神经网络提取目标候选区域的特征;
  • 最后用这些特征进行分类,以及目标真实边界的回归;

  目前此类算法比较知名的有R-CNN, Fast-R-CNN, Faster-R-CNN三种方法。从顺序上,Fast-R-CNN针对R-CNN的不足做了改进,而Faster-R-CNN对Fast-R-CNN做了改进,三者在非实时水平上,精度和速度明显改善。

  1、R-CNN

  R-CNN,Fast-R-CNN的作者同为Ross Girshick。

  R-CNN的工作流程

  ⦁ 首先用选择性搜索算法(Selective Search,SS)提取1k-2k个候选区域

  ⦁ 使用深度卷积神经网络提取每一个候选区的深度特征

  ⦁ 训练SVM分类器来对这些特征进行分类

  ⦁ 最后通过边界回归算法重新定位目标边界框

 

  Selective Search对算法的贡献:此前,在一些传统的目标识别算法中,使用的是滑动窗口进行候选区提取,这样会导致在一章图片中会产生高达百万个候选区,而在R-CNN中,使用选择性搜索算法,每次提取的候选区大概只有1k到2k可能包含物体的区域。

  使用深度CNN提取建议区域的特征时,需要注意的是,有些网络对输入图片的大小有要求,如Alex-net要求输入的图片尺寸为227像素*227像素的大小。因此,由SS提取得到的候选区的尺寸大小不一,需要在输入神经网络之前调整大小。通过深度CNN提取特征后,每个目标候选区域相应得到一个4096维的特征向量。

  以上得到了每个候选区域的特征向量,接下来使用SVM分类器对特征进行分类。


  相对与传统的方法,R-CNN的主要优势有:
  ⦁ 使用深度学习方法提取深度特征,而不是使用人为设计,因此提高了任务精度。
  ⦁ 采用区域建议提取可能目标,而不是使用滑动窗口的方式取检测目标,这样减少了不必要的候选区。
  ⦁ 加入了边界回归的策略来进一步提高检测精度

  不足之处

  虽然相对于传统的目标检测与识别算法,R-CNN在公共数据集上的准确率有着突破性的进展,如在PASCAL VOC的准确率从35.1%提升到了53.7%,但是R-CNN也有一定的局限性。目标候选区的重叠使得CNN特征提取的计算中有着很大的冗余,着很大程度上限制了检测速度。针对这个缺点将R-CNN升级为Fast-R-CNN。
  R-CNN主要存在以下三个不足之处:

  • 整个模型分为多个步骤,包括Selective Search提取候选区,训练CNN提取深度特征,训练SVM进行分类没训练边框回归器。
  • 测试时间长,由于每张图片要处理大量的目标候选框
  • 训练时所需空间大,花费时间多,R-CNN训练时处理每一张图片全部resize到227*227分辨率的图像候选框(为了避免图像扭曲严重,中间可以采取一些技巧减少图像扭曲),并输入网络中,这使得处理每一章图片所使用的空间大,同时整个模型需要训练CNN, SVM分类器,以及目标边框回归器,从而导致训练时间花费很多。

  2、Fast-R-CNN

  (待续)

转载于:https://www.cnblogs.com/houjun/p/8424928.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测是计算机视觉领域中的一个重要任务,其目的是在图像或视频中识别出特定的目标,并确定它们的位置和大小。基于深度学习目标检测算法通常可以分为两类:单阶段和双阶段。 1. 单阶段目标检测算法 单阶段目标检测算法是指直接对整张图像进行检测,直接输出目标类别和位置信息。代表性的算法包括YOLO(You Only Look Once)和SSD(Single Shot Multibox Detector)等。 YOLO算法采用了全卷积神经网络,将输入图像分成若干个网格,每个网格预测一个边界框和其所包含物体的概率,然后用非极大值抑制(NMS)算法来剔除重叠的边界框,得到最终的检测结果。SSD算法则是在不同尺度的特征图上进行检测,通过不同的卷积层来预测不同大小的边界框,同时也采用了NMS算法来剔除重叠的边界框。 2. 双阶段目标检测算法 双阶段目标检测算法是指先通过一些算法(如R-CNN、Fast R-CNN、Faster R-CNN等)生成一些候选区域,然后对这些候选区域进行分类和位置回归。这类算法的特点是准确率较高,但速度相对较慢。 其中,Faster R-CNN算法是目前最为流行的双阶段目标检测算法,其主要思路是在输入图像上通过卷积神经网络(如VGG、ResNet等)生成一些候选区域,然后对这些候选区域进行RoI(Region of Interest)池化,最后通过全连接层进行分类和位置回归。 总的来说,基于深度学习目标检测算法在实际应用中表现出了很好的效果,但不同算法各有优缺点,需要结合具体场景选择合适的算法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值