ShapeConv: Shape-aware Convolutional Layer for Indoor RGB-D Semantic Segmentation

论文链接:ShapeConv: Shape-aware Convolutional Layer  for Indoor RGB-D Semantic Segmentation

1 Why ShapeConv for RGB-D tasks

深度图包含物体的基础形状(局部信息,local geometry)和物体的位置(全局信息,在更大的context下的信息)。但是用传统卷积去卷深度特征图会带来问题。

如上图所示,第一行中凳子上的两个红色横线,经过第二行的两个红色卷积核p1,p2卷积过后(绿色同理),由于深度图中的像素值不同,会导致卷积结果不同,这会削弱网络对形状的感知,我们实现形状不变性,即对于形状相同的物体,经过卷积输出的结果应该相同,但是传统卷积也不能丢弃,因为具有相同形状的物体不能输出一样,因为他们的位置会不同,这也是学习的一部分。因此作者设计了ShapeConv,将卷积分成base, shape component两个部分,分别负责处理where the patch is(位置信息)和what the patch is(形状信息,或者说叫物体的inherent property)

2 Method

例子图中的p1,p2像素值是不同的,相应地,它们的特征图也会不同,就会导致不同的分割结果,但是事实上,这两个patch之间也存在一些不变量,即为形状。因此,作者把每个卷积窗口的输入PRKh×Kw×CinPRKh×Kw×Cin分成两个component,base-component PBPB和shape-component PSPS

2.1 ShapeConv Formulation

PB=m(P),PS=Pm(P),

m是平均操作,PBR1×1×CinPSRKh×Kw×CinPB会代表patch的位置,PS会代表patch的固有特征,这样一来,相同形状的物体尽管在不同的位置,它们的PS是相同的,但同时位置信息也不会丢弃,因为有PB

作者用两组weight来处理这两个components,分别是WBR1WSRKh×Kw×Kh×Kw×Cin,输出的结果会做相加,然后再用传统卷积的卷积核去卷它们。总体过程如下:

F=ShapeConv(K,WB,WS,P)=Conv(K,WBPB+WSPS)(1)=Conv(K,PB+PS)=Conv((K,PBS),

PB,PS的计算过程如下所示

{PB=WBPBPB1,1,cin=WB×PB1,1,cin,{PS=WSPSPSkh,kw,cin=Kh×Kwi(WSi,kh,kw,cin×PSi,cin),

PB的计算方式很简单,就是直接相乘。接下来讲下PS的计算。对于PS中坐标为(kh,kw,cin)的每个点,都由PSi,cinRKh×KwWSi,kh,kw,cinRKh×Kw相乘然后累加得到。然后PB,PS相加会得到PBS,其内涵重要的形状信息,这是普通卷积做不到的。

2.2 Training and Inference

从上面的运算过程可以看出,ShapeConv比普通卷积要多两个weights的product操作,会增加时间开销,因此作者把这两个乘积操作shift from patches to kernels,对卷积核进行weight product操作。

{KB=WBKBKB1,1,cin,cout=WB×KB1,1,cin,cout,{KS=WSKSKSkh,kw,cin,cout=Kh×Kwi(WSi,kh,kw,cin×KSi,cin,cout),。据此,可以重新定义ShapeConv:

F=ShapeConv(K,WB,WS,P)=Conv(WBm(K)+WS(Km(K)),P)=Conv(WBKB+WSKS,P)(2)=Conv(KB+KS,P)=Conv(KBS,P),

经过数学推导(此处略),公式(1)和(2)是等价的。这样一来,ShapeConv和普通卷积的复杂度一致,没有带来额外的推理时间,仅在训练时多训练了两组weights。

2.3 ShapeConv Newtwork

作者用ShapeConv去替换网络中的普通卷积,同时WB,WS都被初始化为恒等矩阵,可以让ShapeConv利用pretrained models里已经训练好的参数。

 

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇