检测算法中候选区域的生成方法

心已赠人 2022-03-15 14:44 318阅读 0赞
  1. 检测网络依赖于候选区域的位置,候选区域的生成方法和原始位置直接决定了整个算法的时间和效果。基于此,本文对当前主流检测算法faster-rcnn, yolossd中候选区域的生成方法进行总结。
  • faster-rcnn候选区域的生成方法

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70faster-rcnn网络插图

候选区域网络RPN的工作过程如上图右所示,采用anchor机制,在特征图上的每个像素位置生成k个anchor boxes,然后生成256维度的向量,作为分类和回归分支的输入,从而得到回归后的位置和是否为物体的分类信息。

由论文网络本身可知,faster-rcnn的候选区域是RPN网络的输出经roipooling后的box,那么RPN网络用于回归的原始anchor box是如何生成的,图右侧红框(滑窗)又是如何来的呢。首先滑窗的中心是特征图中的每个像素点,滑窗大小为特征图变为原图分辨率时需要放大的比例(论文中的网络结构处理后缩放比例为16)。k个anchor boxes指定的参数包括ratios和scales,这两个参数变化的基础就是滑窗的大小16。计算过程是通过修改anchor的长宽比,然后再进行尺度变换即可。具体的可参考文章faster rcnn如何生成anchors。

  1. 设滑窗的面积为A,则anchor box宽的计算结果为round(sqrt(A*ratios)),高的计算结果为anchor box的宽*ratios。
  2. 对长宽比变换后的anchor box的宽和高乘以scales即可

    • yolo v1候选区域的生成方法

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 1yolov1推理过程

由图可知,与faster rcnn通过全连接层分别得到分类和检测分支不同的是,yolov1通过全连接层输出后,对全连接层的节点重新进行reshape,得到7*7*30的detection层,7*7的feature map上的每一点对应原图均分为7*7后的一块儿区域,即上图的红框区域,30的深度信息分别表示两个检测框的坐标信息和分类信息。其中坐标信息包括box中心点相对于当前栅格在原图起始位置的偏移和box宽高相对于原图分辨率的比例及是否包含物体的置信度。综上,yolov1没有预设的候选区域,是通过全连接层激活后对应位置的值进行坐标回归的。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 2 物体中心所在的grid负责回归

  • yolov2候选框的生成方法

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 3 候选框回归过程

yolov2采用的faster rcnn中的anchor机制得到候选框区域,不同的是:

  1. anchor是基于当前feature map维度聚类获得的;
  2. 此处的anchor参数信息为长宽值;
  3. 回归元素为target-box的中心点和宽高信息;

    • yolov3候选框的生成方法

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 4 yolov3网络结构

yolov3候选框的选择方法和v2类似,不同的是:

  1. 在三个不同层位置使用了anchors进行回归;
  2. 单层anchor的数量由5个扩大到9个;

    • ssd候选区域的生成方法

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 5 在不同feature map上利用anchor进行位置回归

ssd候选框也是针对anchor进行的,利用了Multi-box机制(类似inception结构)在不同特征图上进行计算,可参考下图。yolov3也借鉴了类似的思路,不过yolov3利用了resnet机制和upsample机制。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h6aGoyMDA3_size_16_color_FFFFFF_t_70 6

参考文献:

  1. Object Detection for Dummies Part 3: R-CNN Family
  2. YOLO presentation
  3. yolo配置文件详解
  4. Zero to Hero: Guide to Object Detection using Deep Learning: Faster R-CNN,YOLO,SSD
  5. Understanding SSD MultiBox — Real-Time Object Detection In Deep Learning

发表评论

表情:
评论列表 (有 0 条评论,318人围观)

还没有评论,来说两句吧...

相关阅读