OctConv的motivation很有意思,通过分解图像高频成分和低频成分并作一定的融合得到multi-frequency的feature representation,既可以丰富特征表示,又可以降低特征冗余(高维度大分辨率的特征确实应该存在大量冗余,不过自己没验证过),当然在参数量和计算量上也比较有优势,毕竟在low frequency(low resolution)的feature上,计算量会减75% (通道不变的情况下)。其次,引入参数
是否对NAS会有帮助?Figure 4 给了一些有意思的东西:(1) 网络越大,不同
的OctConv带来的gain/gap变小了,这点从冗余性的角度解释不清,OctConv确实能在feature representation上带来优势,随着网络本身的表征能力变强,OctConv的优势开始减弱。(2)
在[0.125-0.5]会带来稳定的提升,这个点会不会有什么特殊的意义?
另外,OctConv的multi-frequency feature representation本质上类似于multi-scale feature representation. 将feature分成2个scale,去做4个conv(Low->Low, High->High, Low->High, High->Low ) 然后fuse到一起,得到multi-scale representation。
类似于multi-scale feature representation,最近出了一些比较好的工作,HRNet(Deep High Resolution Network)[1,2] 引入了多个不同resolution的branch,最高的分辨率到了原图的1/4,最低的有1/32,这样四个branch并行得到multi-resolution feature representation. 在整个过程中会有很多次融合,即不同resolution的feature通过donwsample/upsample方式进行融合,得到更丰富的feature representation.
与OctConv不同的时,HRNet更多是在Block层面上做的multi-resolution,一个Block中包含多个Basicblock,在一个Block内resolution相同,Block之间resolution不同,而 OctConv则更直接,在conv层面做的multi-resolution. HRNet相对OctConv来说结构更加固定,通过4个branch实现,而OctConv则相对灵活。两者相通的地方就是这种multi-resolution的获取方式均可看作一个大的Group Convolution,不同的group有不同的resolution,此外,OctConv更像是HRNet中间的fusion模块,除了具体downsample/upsample的方式外,其实HRNet的fusion和OctConv已经很相似了。且从[1]的ablation study中可以看出,中间不同resolution的fusion模块对性能影响极大,在这种多resolution representation中,不同resolution的融合能够得到更好的特征表示,这也是OctConv的一个motivation.
此外,[1][2]核心都在high resolution上面,如何得到high resolution feature representation,除了maintain high resolution (1/4原图大小),还依靠low resolution带来的信息,这样的multi-resolution方式优化了high resolution的特征表示。后面一大堆的实验确实证明了 High Resolution在视觉任务中的优势。
有不对的地方欢迎指正。
[1] Ke Sun, Bin Xiao, Dong Liu, Jingdong Wang. [Deep High-Resolution Representation Learning for Human Pose Estimation](https://arxiv.org/pdf/1902.09212.pdf). CVPR 2019.
[2] Ke Sun, Yang Zhao, Borui Jiang, Tianheng Cheng, Bin Xiao, Dong Liu, Yadong Mu, Xinggang Wang, Wenyu Liu, Jingdong Wang. [High-Resolution Representations for Labeling Pixels and Regions](https://arxiv.org/pdf/1904.04514.pdf)