YaoleiQi / DSCNet

Pytorch Implement of Dynamic Snake Convolution (ICCV2023)
418 stars 37 forks source link

关于特征融合部分一些困惑 #23

Open lilics12138 opened 1 year ago

lilics12138 commented 1 year ago

作者您好!我是一名初学者,在阅读代码的过程中没有找到关于特征融合的部分,请问这部分以后会开源吗? 以及在阅读paper过程中对这随机丢弃过程有一些困惑: (1)我的理解是在Figure 4中是表示随机丢弃x或y方向特征中的一个,公式中表示随机丢弃一组由同一个offset得到的x和y方向的特征,图和公式我理解得不一致,应该是如何丢弃的呢? (2)特征融合是进行多次DSConv然后得到多个offset,进而得到多个特征来进行融合的吗?offset每次是否都不一样 由于我刚接触图像分割,可能上述问题有很幼稚的地方,望见谅。期待您的回复!

YaoleiQi commented 1 year ago

您好,很感谢您对我们工作的关注,关于您提出来的两个问题,我来详细说明一下特征融合部分的操作过程:

  1. 首先,特征融合部分的随即丢弃的设计初衷,是希望能够降低模型的参数量与计算量,同时以防止模型在一定程度上陷入过拟合,Figure是一个示意,旨在说明在训练过程中利用类似dropout的方式丢掉一部分蛇形卷积提取的特征(例如沿着x或y轴提取的特征,甚至如果我设计线性动态卷积,并将他以某一个角度旋转,那么也可以丢弃某些角度的特征),以减少冗余参数量,但呈然,采用随机dropout是当时的一种解法,因为如果使用NAS或其他方法,会更加合理,但这一操作也会引入新的额外计算量,所以在这份工作里,我们选择了这样一种做法,但并不是最优的。

  2. 【补充一些我的深入思考:】这里,在我深入研究与思考后,一些策略或许可以用于该任务中,例如博弈论内常用的shapley value,来判断不同形态的卷积核的贡献,从而来有根据的选择融合特征?又或者我尝试整张图中所有学到的卷积核的形态,并以矩阵的形式计算相似度,从而聚类出对应的卷积核形态分布,过程中发现了一些有趣的现象:整体的分布趋于两极化,其中背景处的形态大多相似,管状结构处的形态大多相似,如果能以此作为标准来减少对背景区域的特征提取(血管占比整个图像不到 0.5%),可能会是个有效方法,但这个操作需要较大的运算量,如果您感兴趣,我们可以一起探讨~

  3. 目前的实现中,一种形态对应一类offset (沿着x轴采用同一个,沿着y轴和x轴不同),学习到一种形态的卷积,以一定比例提取较多的通道特征,这期间offset用的是同一个,如果每一个都不一样,那么会是个较大的开销。

最后,非常感谢您的问题,针对您的问题,我也为我的思考,做了一些新的实验,因此没能够及时回复,但结果来说确实是更好的,也很感谢能够和您再次深入探讨!感兴趣可以加我的wechat:13082556710~谢谢