# Sparsity-Robust Feature Fusion for Vulnerable Road-User Detection with 4D Radar
## 3 Method
### Sparsity-Robust Feature Fusion  
The main contribution of our Radar Pillar Feature Fusion Network is the Sparsity-Robust Feature Fusion (SRFF) neck, which is used to fuse high- and low-level features from our backbone via a lightweight attention module. Early features from a network backbone capture low-level patterns and provide localization, while deeper features represent high-level concepts and allow for better classification. Sparse data can pose a challenge for traditional convolution layers as initially, most of the information in the filter's receptive field is empty. With progressive layers, the valid information is propagated through the network and increases in density [16; 29; 32]. For this reason, while early low-level features can represent small structures due to their large spatial size, the sparsity of this information can be complemented by high-level features with denser information. The multi-level features each have different sparsities due to their effective receptive field. The combination of these features makes the network more robust for classes and small structures with few points. The input of the SRFF, as shown in Figure 2, is the aggregated outputs of each backbone stage, each with a different scale. The SRFF module is inspired by the work of [PERSON] et al. [2], which follows a similar approach in the context of 2D object detection. However, our approach is specially adapted to the processing of sparse radar data. For SRFF, several feature maps of different shapes serve as input to the module. By applying convolutions, these are standardized to have a uniform height and width and then concatenated. For the largest feature maps with a resolution of \(160\times 160\), a convolution layer of \(5\times 5\) is used, whereas for those with a resolution of \(80\times 80\), a \(3\times 3\) layer is used. The stride \(s\) of each layer is calculated as \(s=\frac{k+1}{2}\), where \(k\) refers to the size of the corresponding filter kernel. The resulting feature is then passed to the attention module, which refines the fused features. The output of the attention module is also the output of the SRFF. During development, two possible lightweight attention mechanisms were used and compared in an ablation study. Specifically, we compared the Convolutional Block Attention Module (CBAM) [33]and Channel-Spatial Attention Mechanism (CSAM) [34]. The CBAM (Figure 3a) is used to selectively emphasize or suppress the relevant channel and spatial features of a given image and is composed of two sub-modules: the Channel Attention Module (CAM) and the Spatial Attention Module (SAM). The CAM sub-module aggregates the spatial information of its input \(x\) by utilizing average (\(AvgPool\)) and max (\(MaxPool\)) pooling operations on two vectors of the shape \(1\times 1\times C\), with \(C\) corresponding to the channel depth. The inter-dependencies between channels are modeled by a multi-layer perceptron (\(MLP\)), followed by the sigmoid activation \(\sigma\) to produce a channel-wise attention vector. The shared \(MLP\) with one hidden layer reduces the parameter overhead with a hidden activation size of \(C/r\), where \(r\) is the reduction ratio. The channel attention \(A_{c}\) can be computed as:  
\[A_{c}(x)=\sigma(MLP(AvgPool(x))+MLP(MaxPool(x))) \tag{1}\]  
The output of the CAM is used to modulate and reweight the original features \(x\), resulting in \(x^{\prime}\). The SAM functions in a similar manner, compressing the channels at each spatial location by utilizing spatial average and max pooling along the channel axis and concatenating them to generate a feature descriptor. The resulting two-channel map is processed by a large kernel convolution to produce a spatial attention map \(A_{s}\). This spatial attention map captures the relevance of each spatial location with respect to its large kernel neighborhood and is multiplied with the original features \(x^{\prime}\) for spatial reweighting, resulting in \(x^{\prime\prime}\).