前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读学习 - AffordanceNet for Object Affordance Detection

论文阅读学习 - AffordanceNet for Object Affordance Detection

作者头像
AIHGF
修改2020-06-12 11:16:32
1K0
修改2020-06-12 11:16:32
举报
文章被收录于专栏:AIUAIAIUAI

AffordanceNet - Object Affordance Detection

[Paper]

[Code-Caffe]

摘要: AffordanceNet, 主要用于从 RGB 图片中同时检测多种 objects 以及其 affordance. 网络主要有两个分支:object 检测分支来对 object 进行定位和分类;affordance 检测分支来对 object 的每个像素归类到其最可能的 affordance label. 针对 affordance 任务的多分类问题,其主要特点:

  • deconvolutional layers
  • 鲁棒的 resizing 策略
  • multi-task loss 函数

由于其网络结构类似于 Mask R-CNN,关注了下.

1. 问题阐述

  • 目标: 同时学习图片中的 object 位置、类别及 affordance. 理想情况下,能检测到图片内所有相关的 objects,并将 object 的每一个像素划分到最可能的 affordance 标签.
  • object 位置: 相对于图片左上角的方框位置;
  • object 类别: 方框内 object 类别;
  • object affordance: 方框内每一个像素的 object 类别. 具有相同功能的 object 像素区域被作为一个 affordance.
这里写图片描述
这里写图片描述

2. AffordanceNet 网络结构

这里写图片描述
这里写图片描述

主要包括:

  • CNN backbone - 如VGG,用于提取图片特征;
  • RPN - 与 CNN backbone 共享权重参数,并输出 RoIs;
  • RoI alignment(RoIAlign) 层- Mask R-CNN中的 RoI 对齐层,对于每个 RoI,RoIAlign 从图片 feature map(如,VGG 的 conv5_3 层的输出) 中提取和池化特征,得到固定尺寸 7×7 的 feature map.
  • object 检测网络分支 - 采用两个全连接层来回归 object 位置,并分类;
  • object affordance 检测分支 - 包括一序列的 conv-deconv 层,以得到平滑精确的 affordance map;其最后一层接 softmax 层以输出 multiclass affordance mask.

2.1 RoIAlign

基于 Mask R-CNN.

Faster R-CNN-RPN,RPN 与 backbone 网络共享权重,并输出在不同 size 的 bounding boxes(RoI/object proposal);

对于每个 RoI,采用 RoI Pool 层得到 image feature map 的小的固定尺度(7×7) 的feature map;

RoI Pool 层通过将每个 RoI 划分为规则网格,再采用 max-pooling 对每个网格单元的 feature map values 进行处理.

由于将 RoI 坐标从输入图像空间映射到图像 feature map 空间,以及将 RoI 划分规则单元格时,存在严格的舍入操作(harsh rounding operations),导致 RoI 和提取的特征间的不对齐.[ This quantization, however, causes misalignments between the RoI and the extracted features due to the harsh rounding operations when mapping the RoI coordinates from the input image space to the image feature map space and when dividing the RoI into grid cells.]

对此,Mask R-CNN 提出 RoIAlign 层来准确对齐 RoI 提取的特征.

与 RoI Pool 的不同在于, RoIAlign 不是采用 rounding 操作,而是采用双线性插值(bilinear interpolation),对于每个 RoI 单元格,采样其四个规则化的位置,计算输入特征的插入值,再采用 max 处理.

RoIAlign 对于像素级任务,如图像分割,十分重要.

2.2 高分辨率 Affordance Mask 的 Deconvolution

Mask R-CNN 和 FCIS 等实例分割方法,采用固定尺寸 mask (如,14×14,28×28) 来表示 object 的 segmentation mask. 对每个 RoI 预测的 mask 的像素值都是二值,前景或背景,是可行的.

但是,对于 affordance 检测问题,小尺寸的 mask 可能效果不理想,因为每个 object 有多种 affordance 类别.

因此,这里采用一序列的 deconvolutional 层来处理高分辨率的 affordance mask.

这里写图片描述
这里写图片描述

2.4 End-to-End 网络结构

两大分支—— object 检测和 affordance 检测.

给定输入图片,采用 VGG16 作为 backbone 网络来提取深度特征;

RPN 与 backbone 网络共享权重参数,并输出候选 bounding boxes(RoIs);

对于每个 RoI,采用 RoIAlig 层来提取和池化其对应特征到 尺寸为7×7的 feature map.

object 检测分支,采用两个全连接层,其输出均为 4096,其后接 classification 层和回归层,对 object 进行分类并回归 object 位置;

affordance 检测分支,将 7× 的feature map 多重 deconv 上采样到 244×244 的分辨率;然后,采用 softmax 层对 244×244 map 内的每个像素划分到最可能的 affordance 类别.

采用 multi-task loss 实现了 end-to-end 的训练.

affardance 检测分支的 loss 与实例分割 loss 是不同的.

实例分割中,分类层的输出决定 object label;因此,每个 RoI 的分割可以看做是二值分割,foreground 和 background,可以使用 per-pixel sigmoid 层和 binary cross entropy loss.

affordance 检测中,affordance labels 与 object labels 是不同的. 每个 RoI 中的 affordace 数是不是二值的,往往大于2,.

因此,这里采用 per-pixel softmax 和 multinomial cross entropy loss.

4. 网路训练 Train 和推断 Inference

训练

  • SGD,momentum=0.9,weight_decay=0.005
  • Titan X GPU
  • 200k 次迭代,前 150k 次 learning_rate=0.001,后 50k 次learning_rate=0.0001
  • 输入图片 resized 短边长度为 600 个像素;长边长度不超过 1000 个像素;超过 1000 个像素的,设置为 1000.
  • RPN 采用 15 个 anchors(5 scales,3 aspect rations);RPN 输出的前 2000 个 RoIs(positive : negative = 1:3) 用于计算 multi-task loss. 如果 RoI 与 groundtruth box 的 IoU 大于 0.5,则为 positive;其它为 negative.

推断

  • 选取 RPN 输出的前 1000 个 RoIs,结合 NMS 进行 object 检测;
  • 选取分类 score 大于 0.9 的输出 boxes 作为最终的检测 objects;如果没有满足条件的 boxes,则选取最大 score 作为唯一检测 object.
  • 采用检测到的 object 作为 affordance 检测分支的输入, 来预测每一个像素的 C+1 个 affordance 类别. 取每个像素对于 affordance 类别的最大值作为 affordance label.
  • 最后,预测得到每个 object 的 244×244 的 affordance mask,根据提出的 resize 方法, 被 resized 到object 的 box 尺寸. 检测到的不同 object 间会有重叠(overlap),最终的 affordance label 是由 affordance 优先次序来决定的. 例如,由于 “contain(箱子)”上会放有很多其它物体,那么它会被认为比其他 affordances 具有较低的优先权.

5. Results

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年12月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AffordanceNet - Object Affordance Detection
    • 1. 问题阐述
      • 2. AffordanceNet 网络结构
        • 2.1 RoIAlign
        • 2.2 高分辨率 Affordance Mask 的 Deconvolution
        • 2.4 End-to-End 网络结构
      • 4. 网路训练 Train 和推断 Inference
        • 5. Results
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档