# A LiDAR Multi-Object Detection Algorithm for Autonomous Driving
## 2 Methods
### The PointPillars Algorithm Based on the ECA Module
#### 2.2.2 ECA Modules-PointPillars  
The use of ECA modules can improve the expressiveness of the model by enabling the network to focus on the important information in the pseudo-image features and ignore the irrelevant information without imposing too much extra burden on the training, operation, computation, and storage properties of the algorithm. For the PointPillars algorithm, due to the column division of the point cloud and random sampling, there is a loss of information problem, combined with the two-dimensional backbone network of the PointPillars model. The original two-dimensional backbone network from the top to bottom sub-network consists of a series of convolutional blocks. The ECA modules are sequentially connected behind the original down-sampling modules Block1, Block2, and Block3 to reconstruct the backbone network, and the ECA Modules-PointPillars algorithm is proposed to improve the algorithm to address the practical challenges of the point cloud spatial loss due to the division of the columns of PointPillars, thus affecting the accuracy of the target detection. The ECA Attention Modules adaptively strengthen the important features and suppress the irrelevant features inside the column channels to compensate for the loss of spatial information. The network structure is shown in Figure 5.  
Figure 4: The structure diagram of the ECA module. The output features of the network after point cloud pseudo-imaging are input to the ECA1 module \((C,K)\), where \(C\) denotes the channel dimension of the input features and \(K\) denotes the size of the convolution kernel. The ECA modules connected after the convolution block of each top-down 2D backbone sub-network can be denoted as ECA2 module \((C,K)\), ECA3 module \((2C,K)\), and ECA4 module \((4C,K)\). The input features are fed into Block1 \((S,4,F)\) after the ECA1 module, where S denotes the step size, Block1 has \(4\times 3\) size 2D convolutional layers, and \(F\) denotes output channels. Each block is followed by a BatchNorm and a ReLU, and to ensure that the network layer can keep as much information as possible when processing the input, the first convolutional step size in the layer is \(S/S_{in}\), and the subsequent convolutional steps are all 1 to ensure that the network layer still has a step size of \(S\) after receiving an input with a step size of \(S_{in}\). This avoids over-compression of the input signal due to the large first convolutional step in the network layer and avoids the loss of information to the greatest extent possible. As can be seen in Figure 5, the output characteristics of Block1 are sequentially passed through ECA2 module, Block2 \((2S,6,2F)\), ECA3 module, Block3 \((4S,6,4F)\), ECA4 module, and the output characteristic sampling process used by ECA2 module for the up-sampling part is denoted as \(\text{UP1}(S,S,2C)\), where the parameters are initial step size \(S\), final step size \(S\), and \(2C\) output channels are obtained through the inverse convolution. The ECA3 module and ECA4 module are used for the up-sampling part of the output characteristic sampling process denoted as \(\text{UP2}(2S,S,2C)\) and \(\text{UP3}(4S,S,2C)\). The up-sampling network is followed by a BatchNorm and a ReLU, and then all the modules from different step sizes are connected to generate the final output characteristics, which are fed to the SSD detection header. In summary, the network output features after point cloud pseudo-imaging are inputted to the ECA1 module, and the output characteristics of Block1 are sequentially passed through ECA2, Block2, ECA3, Block3, and ECA4; each time the features are extracted, they undergo the process of enhancement of the positional feature information and the weakening of the irrelevant feature information, such as the background noise, by the ECA module. ECA2, ECA3, and ECA4 output features are used for up-sampling and connectivity, through which the final output features are generated and output to the SSD detection head.