# FANet: Improving 3D Object Detection with Position Adaptation
## 3 Methods
#### Position Adaptive Convolution Embedded Network  
In the 3D space, the relationship between points is very different from the relationship between points in the 2D plane. In the 2D plane space, the features learned by using the convolutional neural network can reflect the correlation between points well, but in the 3D space, due to the disorder and irregularity of points, using the convolutional kernel operator to learn features in the 2D space will make the correlation poor, leading to inaccurate detection. Therefore, we redesigned the convolutional kernel function to enable it to learn point features dynamically. As shown in Figure 3, we first defined a weight library consisting of several weight matrices. Next, we designed a vector of LearnNet learning coefficients to combine the weight matrices based on the location of the points. Finally, we generated dynamic kernels by combining the weight matrices and their associated positional adaptation coefficients. In this way, the kernel is constructed in a data-driven manner, giving our approach greater flexibility than 2D convolution to better handle irregular and disordered point cloud data. In addition, we make the learning process less complex by combining weight matrices rather than forcing the kernels to be predicted from the location of the points. Firstly, a weight bank consisting of several weight matrices is defined. Then, the LearnNet is designed. The weighting matrix is combined according to the location of the points. Finally, a dynamic kernel is generated by combining the weighting matrix and its related location adaptive coefficients. Where the weight bank W is defined as Formula (1), \(W_{T}\in\mathbb{R}^{C_{p}\times\text{cq}}\) is the weight matrix, \(C_{P}\) is the input channel, and \(C_{q}\) is the output channel. \(T\) is the number of weight matrices controlling the weights stored in the weight repository \(W\). The larger the value of \(T\), the more diverse the weight matrix assembled by the kernel. However, too many weight matrices can cause redundancy and heavy memory and computing overheads. Experiments [29] have shown that optimal accuracy can be achieved when T is 8. The next step is to create a mapping of the discrete kernel of the weight matrix to the continuous 3D space. We use LearnNet to learn coefficients based on the location relationships of the points to combine the weight matrix and produce a dynamic kernel that fits the point cloud. The input to LearnNet is a specific positional relationship between  
Figure 3: The framework of position adaptive convolution. the center point \(D_{i}(x_{i},y_{i},z_{i})\) and the neighboring point \(D_{j}\big{(}x_{j},y_{j},z_{j}\big{)}\) of a local region in the point cloud; LearnNet predicts the location adaptive coefficient \(A_{j,i}^{T}\) of each weight matrix \(W_{T}\), and the expression of the point location relationship \(P\) is as in Formula (2). \[W=\left\{W_{T}|T=1,\ldots,t\right\} \tag{1}\]  
\[P=\big{(}D_{j}-D_{i},D_{i}\big{)} \tag{2}\]  
Expression of the output vectors \(A_{ij}\) of LearnNet:  
\[A_{i,j}=\text{softmax}(\text{relu}(\delta(\text{P}))) \tag{3}\]  
\[A_{i,j}=\left\{A_{i,j}^{T}\big{|}T=1,\ldots,t\right\} \tag{4}\]  
In Formula (3), \(\delta\) is a non-linear function implemented for use with a multi-layer sensor; Relu is the activation function; Softmax is a normalization function; and the score of the Softmax output is in the (0,1) range. This normalization ensures that each weight matrix is selected with probability, with higher scores indicating stronger relationships between the position input and the weight matrix. The higher the score, the stronger the relationship between the location input and the weight matrix.