【pytorch目标检测】开山之作:R-CNN算法解读

背景

  • 将“深度学习”和传统的“计算机视觉”的知识相结合,没有过多的使用深度学习
  • 2014年将PASCALVOC数据集检测率从35%提升到53%

【pytorch目标检测】开山之作:R-CNN算法解读_第1张图片
【pytorch目标检测】开山之作:R-CNN算法解读_第2张图片

具体步骤

【pytorch目标检测】开山之作:R-CNN算法解读_第3张图片
总体的步骤图

【pytorch目标检测】开山之作:R-CNN算法解读_第4张图片

1.候选区域生成:ROI(Regions of Interst)

  1. Selective Search算法
  2. 将图像分割承小区域,合并包含同一物体可能性较高的区域,提取约2000个候选区域
  3. 归一化处理,得到固定大小的图像

利用 Selective Search 算法通过图像分割的方法得到一些原始区域,然后利用一些合并策略将这些区域合并,得到一些层次化的区域结构,而这些结构就包含着可能需要的物体。这里的 SS 算法可以详见 此处,算法原始论文Selective Search for Object Recognition。(初始区域的获取是引用另一篇论文的:Efficient Graph-Based Image Segmentation)
【pytorch目标检测】开山之作:R-CNN算法解读_第5张图片

【pytorch目标检测】开山之作:R-CNN算法解读_第6张图片

2.CNN提取

将固定大小的图像,利用AlexNet CNN网络得到固定维度的特征输出

【pytorch目标检测】开山之作:R-CNN算法解读_第7张图片

3.SVM分类器

  • 线性二分类器对输出特征进行分类
  • 得到是否属于此类的结果,采用难样本挖掘来平衡正负样本的不平衡

【pytorch目标检测】开山之作:R-CNN算法解读_第8张图片

【pytorch目标检测】开山之作:R-CNN算法解读_第9张图片

对2000x20的每一列近NMS处理

【pytorch目标检测】开山之作:R-CNN算法解读_第10张图片

4.位置精修

通过回归器对特征边界回归=Bounding Box regression从而得到更为精准的目标区域
【pytorch目标检测】开山之作:R-CNN算法解读_第11张图片

存在的问题

  • 候选区域需要提前提取并保存,占用空间较大
  • 涉及分类中的全连接网络,所以尺寸是固定的,精度会低
  • 需要多步训练,步骤繁琐且训练速度慢

【pytorch目标检测】开山之作:R-CNN算法解读_第12张图片

你可能感兴趣的:(深度学习之图像检测,python,人工智能,神经网络,深度学习)