resnet,fpn这些网络结构,特征融合用的是add操作,而在一些目标检测网络和语义分割网络中,特征的融合往往是用concat,为什么不用add呢?
查了一些资料,我的理解是,add用于特征信息的叠加,通道数不变,这对于单张图片分类是有好处的,比如一张13*13的小图有眼睛的特征,26*26的特征图有脸的信息,你一add,就能更好的说明这个是人脸。也就是说add是基于你默认对应通道的特征图语义类似(非常关键),从而对应的特征图可以共享一个卷积核。
但是在目标检测和语义分割网络中,一张图百分之九十九是有多个目标的,需要分类出来,那么直接语义叠加显然不合适。比如如果一张小特征图有猫的眼睛,一张大特征图有狗的尾巴,你直接叠加,是不是反而不利于分类了?所以,因为这个时候不能认为对应通道的特征图语义类似,所以接下来不能共享卷积核。因此他们用的是concat,增加特征图的数量(基于通道数叠加)。