Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution

Yunpeng Chen, Haoqi Fan, Bing Xu, Zhicheng Yan, Yannis Kalantidis, Marcus Rohrbach, Shuicheng Yan, Jiashi Feng

Introduction

The efficiency of Convolutional Neural Networks (CNNs) keeps increasing with recent efforts to reduce the inherent redundancy in dense model parameters and in the channel dimension of feature maps . However, substantial redundancy also exists in the spatial dimension of the feature maps produced by CNNs, where each location stores its own feature descriptor independently, while ignoring common information between adjacent locations that could be stored and processed together.

As shown in Figure 1(a), a natural image can be decomposed into a low spatial frequency component that describes the smoothly changing structure and a high spatial frequency component that describes the rapidly changing fine details . Similarly, we argue that the output feature maps of a convolution layer can also be decomposed into features of different spatial frequencies and propose a novel Multi-frequency feature representation which stores high- and low-frequency feature maps into different groups as shown in Figure 1(b). Thus, the spatial resolution of the low-frequency group can be safely reduced by sharing information between neighboring locations to reduce spatial redundancy as shown in Figure 1(c). To accommodate the novel feature representation, we generalize the vanilla convolution, and propose Octave Convolution (OctConv) which takes in feature maps containing tensors of two frequencies one octave apart, and extracts information directly from the low-frequency maps without the need of decoding it back to the high-frequency as shown in Figure 1(d). As a replacement of vanilla convolution, OctConv consumes substantially less memory and computational resources. In addition, OctConv processes low-frequency information with corresponding (low-frequency) convolutions and effectively enlarges the receptive field in the original pixel space and thus can improve recognition performance.

We design the OctConv in a generic way, making it a plug-and-play replacement for the vanilla convolution. Since OctConv mainly focuses on processing feature maps at multiple spatial frequencies and reducing their spatial redundancy, it is orthogonal and complementary to existing methods that focus on building better CNN topology , reducing channel-wise redundancy in convolutional feature maps and reducing redundancy in dense model parameters . Moreover, different from methods that exploit multi-scale information , OctConv can be easily deployed as a plug-and-play unit to replace convolution, without the need of changing network architectures or requiring hyper-parameters tuning. Compared to the closely related Multi-grid convolution , OctConv provides more insights on reducing the spatial redundancy in CNNs based on the frequency model and adopts more efficient inter-frequency information exchange strategy with better performance. We further integrate the OctConv into a wide variety of backbone architectures (including the ones featuring group, depth-wise, and 3D convolutions) and demonstrate universality of OctConv.

Our experiments demonstrate that by simply replacing the vanilla convolution with OctConv, we can consistently improve the performance of popular 2D CNN backbones including ResNet , ResNeXt , DenseNet , MobileNet and SE-Net on 2D image recognition on ImageNet , as well as 3D CNN backbones C2D and I3D on video action recognition on Kinetics . The OctConv-equipped Oct-ResNet-152 can match or outperform state-of-the-art manually designed networks at lower memory and computational cost.

Our contributions can be summarized as follows:

We propose to factorize convolutional feature maps into two groups at different spatial frequencies and process them with different convolutions at their corresponding frequency, one octave apart. As the resolution for low frequency maps can be reduced, this saves both storage and computation. This also helps each layer gain a larger receptive field to capture more contextual information.

We design a plug-and-play operation named OctConv to replace the vanilla convolution for operating on the new feature representation directly and reducing spatial redundancy. Importantly, OctConv is fast in practice and achieves a speedup close to the theoretical limit.

We extensively study the properties of the proposed OctConv on a variety of backbone CNNs for image and video tasks and achieve significant performance gain even comparable to the best AutoML networks.

Related Work

Improving the efficiency of CNNs. Ever since the pioneering work on AlexNet and VGG , researchers have made substantial efforts to improve the efficiency of CNNs. ResNet and DenseNet improve the network topology by adding shortcut connections to early layers. ResNeXt and ShuffleNet use sparsely connected group convolutions to reduce redundancy in inter-channel connectivity. Xception and MobileNet adopt depth-wise convolutions that further reduce the connection density. Meanwhile, NAS , PNAS and AmoebaNet propose to atomically find the best network topology for a given task. Pruning methods, such as DSD and ThiNet , focus on reducing the redundancy in the model parameters by eliminating the least significant weight or connections in CNNs. Besides, HetConv propose to replace the vanilla convolution filters with heterogeneous convolution filters that are in different sizes. However, all of these methods ignore the redundancy on the spatial dimension of feature maps, which is addressed by the proposed OctConv, making OctConv orthogonal and complementary to these previous methods. Noticeably, OctConv does not change the connectivity between feature maps, making it also different from inception-alike multi-path designs .

Multi-scale Representation Learning. Prior to the success of deep learning, multi-scale representation has long been applied for local feature extraction, such as the SIFT features . In the deep learning era, multi-scale representation also plays a important role due to its strong robustness and generalization ability. FPN and PSP merge convolutional features from different depths at the end of the networks for object detection and segmentation tasks. MSDNet and HR-Nets , proposed carefully designed network architectures that contain multiple branches where each branch has it own spatial resolution. The bL-Net and ELASTIC-Net adopt similar idea, but are designed as a replacement of residual block for ResNet and thus are more flexible and easier to use. But extra expertise and hyper-parameter tuning are still required when adopt them to architectures beyond ResNet, such as MobileNetV1 , DenseNet . Multi-grid CNNs propose a multi-grid pyramid feature representation and define the MG-Conv operator as a replacement of convolution operator, which is conceptually similar to our method but is motivated for exploiting multi-scale features. Compared with MG-Conv, OctConv adopts more efficient design to exchange inter-frequency information with higher performance as can be found in Sec. 3.3 and Sec. 4.3. For video models, the recently proposed SlowFast Networks introduce multi-scale pathways on the temporal dimension. As we show in Section 4.4, this is complementary to OctConv which operates on the spatial dimensions.

In a nutshell, OctConv focuses on reducing the spatial redundancy in CNNs and is designed to replace vanilla convolution operations without needing to adjust backbone CNN architecture. We extensively compare OctConv to closely related methods in the sections of method and experiment and show that OctConv CNNs give top results on a number of challenging benchmarks.

Method

In this section, we first introduce the octave feature representation and then describe Octave Convolution, which operates directly on it. We also discuss implementation details and show how to integrate OctConv into group and depth-wise convolution architectures.

For the vanilla convolution, all input and output feature maps have the same spatial resolution, which may not be necessary since some of the feature maps may represent low-frequency information which is spatially redundant and can be further compressed as illustrated in Figure 1.

To reduce the spatial redundancy, we introduce the octave feature representation that explicitly factorizes the feature map tensors into groups corresponding to low and high frequencies. The scale-space theory provides us with a principled way of creating scale-spaces of spatial resolutions, and defines an octave as a division of the spatial dimensions by a power of 22 (we only explore 212^{1} in this work). We follow this fashion and reduce the spatial resolution of the low-frequency feature maps by an octave.

In the next subsection, we introduce a convolution operator that operates directly on this Multi-frequency feature representation and name it Octave Convolution (OctConv).

2 Octave Convolution

The octave feature representation presented in Section 3.1 reduces the spatial redundancy and is more compact than the original representation. However, the vanilla convolution cannot directly operate on such a representation, due to differences in spatial resolution in the input features. A naive way of circumventing this is to up-sample the low-frequency part XLX^{L} to the original spatial resolution, concatenate it with XHX^{H} and then convolve, which would lead to extra costs in computation and memory and diminish all the savings from the compression. In order to fully exploit our compact Multi-frequency feature representation, we introduce Octave Convolution, which can directly operate on factorized tensors X={XH,XL}X=\{X^{H},X^{L}\} without requiring any extra computational or memory overhead.

where (p,q)(p,q) denotes the location coordinate and Nk={(i,j):i={−k−12,…,k−12},j={−k−12,…,k−12}}\mathcal{N}_{k}=\{(i,j):i=\{-\frac{k-1}{2},\ldots,\frac{k-1}{2}\},j=\{-\frac{k-1}{2},\ldots,\frac{k-1}{2}\}\} defines a local neighborhood. For simplicity, in all equations we omit the padding, we assume kk is an odd number and that the input and output data have the same dimensionality, i.e. cin=cout=cc_{in}=c_{out}=c.

Octave Convolution. The goal of our design is to effectively process the low and high frequency in their corresponding frequency tensor but also enable efficient inter-frequency communication. Let X,YX,Y be the factorized input and output tensors. Then the high- and low-frequency feature maps of the output Y={YH,YL}Y=\{Y^{H},Y^{L}\} will be given by YH=YH→H+YL→HY^{H}=Y^{H\rightarrow H}+Y^{L\rightarrow H} and YL=YL→L+YH→LY^{L}=Y^{L\rightarrow L}+Y^{H\rightarrow L}, respectively, where YA→BY^{A\rightarrow B} denotes the convolutional update from feature map group AA to group BB. Specifically, YH→H,YL→LY^{H\rightarrow H},Y^{L\rightarrow L} denote intra-frequency update, while YH→L,YL→HY^{H\rightarrow L},Y^{L\rightarrow H} denote inter-frequency communication.

To compute these terms, we split the convolutional kernel WW into two components W=[WH,WL]W=[W^{H},W^{L}] responsible for convolving with XHX^{H} and XLX^{L} respectively. Each component can be further divided into intra- and inter-frequency part: WH=[WH→H,WL→H]W^{H}=[W^{H\rightarrow H},W^{L\rightarrow H}] and WL=[WL→L,WH→L]W^{L}=[W^{L\rightarrow L},W^{H\rightarrow L}] with the parameter tensor shape shown in Figure 2(b). Specifically for high-frequency feature map, we compute it at location (p,q)(p,q) by using a regular convolution for the intra-frequency update, and for the inter-frequency communication we can fold the up-sampling over the feature tensor XLX^{L} into the convolution, removing the need of explicitly computing and storing the up-sampled feature maps as follows:

where ⌊⋅⌋\lfloor\cdot\rfloor denotes the floor operation. Similarly, for the low-frequency feature map, we compute the intra-frequency update using a regular convolution. Note that, as the map is in one octave lower, the convolution is also low-frequency w.r.t. the high-frequency coordinate space. For the inter-frequency communication we can again fold the down-sampling of the feature tensor XHX^{H} into the convolution as follows:

where multiplying a factor 22 to the locations (p,q)(p,q) performs down-sampling, and further shifting the location by half step is to ensure the down-sampled maps well aligned with the input. However, since the index of XHX^{H} can only be an integer, we could either round the index to (2∗p+i,2∗q+j)(2*p+i,2*q+j) or approximate the value at (2∗p+0.5+i,2∗q+0.5+j)(2*p+0.5+i,2*q+0.5+j) by averaging all 4 adjacent locations. The first one is also known as strided convolution and the second one as average pooling. As we discuss in Section 3.3 and Fig. 5, strided convolution leads to misalignment; we therefore use average pooling to approximate this value for the rest of the paper.

An interesting and useful property of the Octave Convolution is the larger receptive field for the low-frequency feature maps. Convolving the low-frequency part XLX^{L} with k×kk\times k convolution kernels, results in an effective enlargement of the receptive field by a factor of 2 compared to vanilla convolutions. This further helps each OctConv layer capture more contextual information from distant locations and can potentially improve recognition performance.

3 Implementation Details

As discussed in the previous subsection, the index {(2∗p+0.5+i),(2∗q+0.5+j)}\{(2*p+0.5+i),(2*q+0.5+j)\} has to be an integer for Eq. 3. Instead of rounding it to {(2∗p+i),(2∗q+j)}\{(2*p+i),(2*q+j)\}, i.e. conduct convolution with stride 2 for down-sampling, we adopt average pooling to get more accurate approximation. This helps alleviate misalignments that appear when aggregating information from different scales, as shown in Appendix A. and Appendix C.. We can now rewrite the output Y={YH,YL}Y=\{Y^{H},Y^{L}\} of the Octave Convolution using average pooling for down-sampling as:

where f(X;W)f(X;W) denotes a convolution with parameters WW, pool(X,k)\mathtt{pool}(X,k) is an average pooling operation with kernel size k×kk\times k and stride kk. upsample(X,k)\mathtt{upsample}(X,k) is an up-sampling operation by a factor of kk via nearest interpolation.

The details of the OctConv operator implementation are shown in Figure 2. It consists of four computation paths that correspond to the four terms in Eq. (4): two green paths correspond to information updating for the high- and low-frequency feature maps, and two red paths facilitate information exchange between the two octaves.

Group and Depth-wise convolutions. The Octave Convolution can also be adopted to other popular variants of the vanilla convolution such as group or depth-wise convolutions. For the group convolution case, we simply set all four convolution operations that appear inside the design of the OctConv to group convolutions. Similarly, for the depth-wise convolution case, the convolution operations are depth-wise and therefore the information exchange paths are eliminated, leaving only two depth-wise convolution operations. We note that both group OctConv and depth-wise OctConv reduce to their respective vanilla versions if we do not compress the low-frequency part.

Efficiency analysis. Table 1 shows the theoretical computational cost and memory consumption of OctConv over the vanilla convolution and vanilla feature map representation. More information on deriving the theoretical gains presented in Table 1 can be found in the supplementary material. We note the theoretical gains are calculated per convolutional layer. In Section 4 we present the corresponding practical gains on real scenarios and show that our OctConv implementation can sufficiently approximate the theoretical numbers.

Integrating OctConv into backbone networks. OctConv is backwards compatible with vanilla convolution and can be inserted to regular convolutional networks without special adjustment. To convert a vanilla feature representation to a Multi-frequency feature representation, i.e. at the first OctConv layer, we set αin=0\alpha_{in}=0 and αout=α\alpha_{out}=\alpha. In this case, OctConv paths related to the low-frequency input is disabled, resulting in a simplified version which only has two paths. To convert the Multi-frequency feature representation back to vanilla feature representation, i.e. at the last OctConv layer, we set αout=0\alpha_{out}=0. In this case, OctConv paths related to the low-frequency output is disabled, resulting in a single full resolution output.

Comparison to Multi-grid Convolution . The multigrid conv (MG-Conv) is a bi-directional and cross-scale convolution operator. Though being conceptually similar, our OctConv is different from MG-Conv in both the core motivation and design. MG-Conv aims to exploit multi-scale information in existing CNNs, while OctConv is focusing on reducing spatial redundancy among neighborhood pixels. In terms of design, MG-Conv adopts max-pooling for down-sampling. This requires extra memory for storing the index of the maximum value during training and further yields lower accuracy (see Appendix C.). MG-Conv also first up-samples and then convolves with the enlarged feature maps. Differently, OctConv aims for reducing spatial redundancy and is a naive extension of convolution operator. It uses average pooling to distill low-frequency features without extra memory cost and its upsampling operation follows the convolution, and is thus more efficient than MG-Conv. The meticulous design of the lateral paths are essential for OctConv to be much more memory and computationally efficient than MG-Conv and improve accuracy without increasing the network complexity. We compare OctConv to MG-Conv in Table 4.

Experimental Evaluation

In this section, we validate the effectiveness and efficiency of the proposed Octave Convolution for both 2D and 3D networks. We first present ablation studies for image classification on ImageNet and then compare it with the state-of-the-art. Then, we show the proposed OctConv also works in 3D CNNs using Kinetics-400 and Kinetics-600 datasets. The best results per category/block are highlighted in bold font throughout the paper.

Image classification. We examine OctConv on a set of most popular CNNs by replacing the regular convolutions with OctConv (except the first convolutional layer before the max pooling). The resulting networks only have one global hyper-parameter α\alpha, which denotes the ratio of low frequency part. We do apple-to-apple comparison and reproduce all baseline methods by ourselves under the same training/testing setting for internal ablation studies. All networks are trained with naïve softmax cross entropy loss except that the MobileNetV2 also adopts the label smoothing , and the best ResNet-152 adopts both label smoothing and mixup to prevent overfitting. Same as , all networks are trained from scratch and optimized by SGD with cosine learning rate . Standard accuracy of single centeral crop on validation set is reported.

Video action recognition. We use both Kinetics-400 and Kinetics-600 for human action recognition. We choose standard baseline backbones from Inflated 3D ConvNet and compare them with the OctConv counterparts. We follow the setting from using frame length of 8 as standard input size, training 300k iterations in total, and averaging the predictions over 30 crops during inference time. To make fair comparison, we report the performance of the baseline and OctConv under precisely the same settings.

2 Ablation Study on ImageNet

We conduct a series of ablation studies aiming to answer the following questions: 1) Does OctConv have better FLOPs-Accuracy trade-off than vanilla convolution? 2) In which situation does the OctConv work the best?

Results on ResNet-50. We begin with using the popular ResNet-50 as the baseline CNN and replacing the regular convolution with our proposed OctConv to examine the flops-accuracy trade-off. In particular, we vary the global ratio α∈{0.125,0.25,0.5,0.75}\alpha\in\{0.125,0.25,0.5,0.75\} to compare the image classification accuracy versus computational cost (i.e. FLOPs) with the baseline. The results are shown in Figure 3 in pink.

We make following observations. 1) The flops-accuracy trade-off curve is a concave curve, where the accuracy first rises up and then slowly goes down. 2) We can see two sweet spots: The first at α=0.5\alpha=0.5, where the network gets similar or better results even when the FLOPs are reduced by about half; the second at α=0.125\alpha=0.125, where the network reaches its best accuracy, 1.2% higher than baseline (black circle). We attribute the increase in accuracy to OctConv’s effective design of multi-frequency processing and the corresponding enlarged receptive field which provides more contextual information to the network. While reaching the accuracy peak at 0.1250.125, the accuracy does not suddenly drop but decreases slowly for higher ratios α\alpha, indicating reducing the resolution of the low frequency part does not lead to significant information loss. Interestingly, 75%75\% of the feature maps can be compressed to half the resolution with only 0.3%0.3\% accuracy drop, which demonstrates effectiveness of grouping and compressing the smoothly changed feature maps for reducing the spatial redundancy in CNNs. In Table 2 we demonstrate the theoretical FLOPs saving of OctConv is also reflected in the actual CPU inference time in practice. For ResNet-50, we are close to obtaining theoretical FLOPs speed up. These results indicate OctConv is able to deliver important practical benefits, rather than only saving FLOPs in theory.

Results on more CNNs. To further examine if the proposed OctConv works for other networks with different depth/wide/topology, we select the currently most popular networks as baselines and repeat the same ablation study. These networks are ResNet-(26;50;101;200) , ResNeXt-(50,32×\times4d;101,32×\times4d) , DenseNet-121 and SE-ResNet-50 . The ResNeXt is chosen for assessing the OctConv on group convolution, while the SE-Net is used to check if the gain of SE block found on vanilla convolution based networks can also be seen on OctConv. As shown in Figure 3, OctConv equipped networks for different architecture behave similarly to the Oct-ResNet-50, where the FLOPs-Accuracy trade-off is in a concave curve and the performance peak also appears at ratio α=0.125\alpha=0.125 or α=0.25\alpha=0.25. The consistent performance gain on a variety of backbone CNNs confirms that OctConv is a good replacement of vanilla convolution.

Frequency Analysis. Figure 4 shows the frequency analysis results. We conducted the Fourier transform for each group of feature maps and visualized the averaged results. From the energy map, the low frequency group does not contain high frequency signal, while the high frequency group contains both low and high frequency signals. This confirms that low-frequency group indeed captures low-frequency information as expected. Note that OctConv gives the high frequency group the flexibly to store both low and high frequency signals for better learning capacity.

Summary. 1) OctConv can help CNNs improve the accuracy while decreasing the FLOPs, deviating from other methods that reduce the FLOPs with a cost of lower accuracy. 2) At test time, the gain of OctConv over baseline models increases as the test image resolution grows because OctConv can detect large objects better due to its larger receptive field, see Appendix C. 3) Both the information exchanging paths are important, since removing any of them can lead to accuracy drop, see Appendix C. 4) Shallow networks, e.g. ResNet-26, have a rather limited receptive field, and can especially benefit from OctConv, which greatly enlarges their receptive field.

3 Comparing with SOTAs on ImageNet

Small models. We adopt the most popular light weight networks as baselines and examine if OctConv works well on these compact networks with depth-wise convolution. In particular, we use the “0.75 MobileNet (v1)” and “1.0 MobileNet (v2)” as baseline and replace the regular convolution with our proposed OctConv. The results are shown in Table 3. We find that OctConv can reduce the FLOPs of MobileNetV1 by 34%34\%, and provide better accuracy and faster speed in practice; it is able to reduce the FLOPs of MobileNetV2 by 15%, achieving the same accuracy with faster speed. When the computation budget is fixed, one can adopt wider models to increase the learning capacity because OctConv can compensate the extra computation cost. In particular, our OctConv equipped networks achieve 2%2\% improvement on MobileNetV1 under the same FLOPs and 1% improvement on MobileNetV2.

Medium models. In the above experiment, we have compared and shown that OctConv is complementary with a set of state-of-the-art CNNs . In this part, we compare OctConv with MG-Conv , GloRe , Elastic and bL-Net which share a similar idea as our method. Seven groups of results are shown in Table 4. In group 1, our Oct-ResNet-26 shows 0.6%0.6\% better accuracy than R-MG-34 while costing only one third of FLOPs and half of #Params. Also, our Oct-ResNet-50, which costs less than half of FLOPS, achieves 1.9%1.9\% higher accuracy than R-MG-34. In group 2, adding our OctConv to GloRe network reduces the FLOPs with better accuracy. In group 3, our Oct-ResNeXt-50 achieves better accuracy than the Elastic based method (78.8% v.s. 78.4%) while reducing the computational cost by 31%. In group 4, the Oct-ResNeXt-101 also achieves higher accuracy than the Elastic based method (79.6% v.s. 79.2%) while costing 38% less computation. When compared to the bL-Net , OctConv equipped methods achieve better FLOPs-Accuracy trade-off without bells and tricks. When adopting the tricks used in the baseline bL-Net , our Oct-ResNet-50 achieves 0.9% higher accuracy than bL-ResNet-50 under the same computational budget (group 5), and Oct-ResNeXt-50 (group 6) and Oct-ResNeXt-101 (group 7) get better accuracy under comparable or even lower computational budget. This is because MG-Conv , Elastic-Net and bL-Net are designed following the principle of introducing multi-scale features without considering reducing the spatial redundancy. In contrast, OctConv is born for solving the high spatial redundancy problem in CNNs, uses more efficient strategies to store and process the information throughout the network, and can thus achieve better efficiency and performance.

Large models. Table 6 shows the results of OctConv in large models. Here, we choose the ResNet-152 as the backbone CNN, replacing the first 7×77\times 7 convolution by three 3×33\times 3 convolution layers and removing the max pooling by a lightweight residual block . We report results for Oct-ResNet-152 with and without the SE-block . As can be seen, our Oct-ResNet-152 achieves accuracy comparable to the best manually designed networks with less FLOPs (10.9G v.s. 12.7G). Since our model does not use group or depth-wise convolutions, it also requires significantly less GPU memory, and runs faster in practice compared to the SE-ShuffleNet v2-164 and AmoebaNet-A (N=6, F=190) which have low FLOPs in theory but run slow in practice due to the use of group and depth-wise convolutions. Our proposed method is also complementary to Squeeze-and-excitation , where the accuracy can be further boosted when the SE-Block is added (last row).

4 Experiments of Video Recognition on Kinetics

In this subsection, we evaluate the effectiveness of OctConv for action recognition in videos and demonstrate that our spatial OctConv is sufficiently generic to be integrated into 3D convolution to decrease #FLOPs and increase accuracy at the same time. As shown in Table 6, OctConv consistently decreases FLOPs and meanwhile improves the accuracy when added to C2D and I3D , and is also complementary to the Non-local . This is observed for models pre-trained on ImageNet as well as models trained from scratch on Kinetics. The higher accuracy, lower FLOPs and the ability of being complimentary to existing metods, e.g. Non-local method, confirm the effectiveness of the proposed OctConv method. Performance further increases when combining OctConv with the SlowFast Networks . Specifically, we apply OctConv on the spatial dimensions and SlowFast on the temporal dimension.

Conclusion

In this work, we address the problem of reducing spatial redundancy that widely exists in vanilla CNN models, and propose a novel Octave Convolution operation to store and process low- and high-frequency features separately to improve the model efficiency. Octave Convolution is sufficiently generic to replace the regular convolution operation in-place, and can be used in most 2D and 3D CNNs without model architecture adjustment. Beyond saving a substantial amount of computation and memory, Octave Convolution can also improve the recognition performance by effective communication between the low- and high-frequency and by enlarging the receptive field size which contributes to capturing more global information. Our extensive experiments on image classification and video action recognition confirm the superiority of our method for striking a much better trade-off between recognition performance and model efficiency, not only in FLOPs, but also in practice.

Acknowledgement. We would like to thank Min Lin and Xin Zhao for helpful discussions of the code development.

References

Appendix A. The Misalignment Problem

As shown in Figure 5, up-sampling after the strided convolution with odd convolutional filter, e.g. 3×33\times 3, will cause the entire feature map to move to the lower right, which is problematic when we add the up-sampled shifted map with the unshifted map.

Appendix B. Relative Theoretical Gains of OctConv

In Table 1 of the main paper, we reported the relative theoretical gains of the proposed multi-frequency feature representation over regular feature representation with respect to memory footprint and computational cost, as measured in FLOPS (i.e. multiplications and additions). In this section, we show how the gains are estimated in theory.

Memory cost. The proposed OctConv stores the feature representation in a multi-frequency feature representation as shown in Figure 6, where the low frequency tensor is stored in 2×2\times lower spatial resolution and thus cost 75%75\% less space to store the low frequency maps compared with the conventional feature representation. The relative memory cost is conditional on the ratio (α\alpha) and is calculated by

Computational cost. The computational cost of OctConv is proportional to the number of locations and channels that are needed to be convolved on. Following the design shown in Figure 2 in the main paper, we need to compute four paths, namely H→HH\rightarrow H, H→LH\rightarrow L, L→HL\rightarrow H, and L→LL\rightarrow L.

We assume the convolution kernel size is k×kk\times k, the spatial resolution of the high-frequency feature is h×wh\times w, and there are (1−α)c(1-\alpha)c channels in the high-frequency part and αc\alpha c channels in the low-frequency part. Then the FLOPS for computing each paths are calculated as below.

We omit FLOPS for adding YH→HY^{H\rightarrow H} and YL→HY^{L\rightarrow H} together, as well as that of adding YL→LY^{L\rightarrow L} and YH→HY^{H\rightarrow H} together, since the FLOPS of such addition is less than h×w×ch\times w\times c, and is negligible compared with other computational costs. The computational cost of the pooling operation is also ignorable compared with other computational cost. The nearest neighborhood up-sampling is basically duplicating values which does not involves any computational cost. Therefore, by adding up all FLOPS in Eqn 6, we can estimate the overall FLOPS for compute YHY^{H} and YLY^{L} in Eqn 7.

For vanilla convolution, the FLOPS for computing output feature map YY of size c×h×wc\times h\times w with the kernel size k×kk\times k, and input feature map of size c×h×wc\times h\times w, can be estimated as below.

three out of four internal convolution operations are conducted on the lower resolution tensors except the first convolution, i.e. f(XH,WH→H)f(X^{H},W^{H\xrightarrow{}H}). Thus, the relative computational cost compared with vanilla convolution using the same kernel size and number of input/out channels is: Therefore, the computational cost ratio between the OctConv and vanilla convolution is (1−34α(2−α))(1-\frac{3}{4}\alpha(2-\alpha)).

Note that the computational cost of the pooling operation is ignorable and thus is not considered. The nearest neighborhood up-sampling is basically duplicating values which does not involves any computational cost.

Appendix C. ImageNet Ablation Study Results

Table 7 shows that the gain of OctConv over baseline models increases as the test image resolution grows. Such ability of better detecting large objects can be explained as the larger receptive field of each OctConv.

Table 8 shows an ablation study to examine down-sampling and inter-octave connectivity on ImageNet. The results confirm the importance of having both inter-frequency communication paths. It also shows that pooling methods are better than strided convolution and the average pooling works the best.

Table 9 reports the values that are plotted in Figure 4 of the main text for clarity of presentation and to allow future work to compare to the precise numbers.