{'fraction_non_alphanumeric': 0.03181970229135307, 'fraction_numerical': 0.010871383174443887, 'mean_word_length': 4.754812319538018, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
FFPA-Net: Efficient Feature Fusion with Projection Awareness for 3D Object Detection

Promising complementarity exists between the texture features of color images and the geometric information of LiDAR point clouds. However, there still present many challenges for efficient and robust feature fusion in the field of 3D object detection. In this paper, first, unstructured 3D point clouds are filled in the 2D plane and 3D point cloud features are extracted faster using projection-aware convolution layers. Further, the corresponding indexes between different sensor signals are established in advance in the data preprocessing, which enables faster cross-modal feature fusion. To address LiDAR points and image pixels misalignment problems, two new plug-and-play fusion modules, LiCamFuse and BiLiCamFuse, are proposed. In LiCamFuse, soft query weights with perceiving the Euclidean distance of bimodal features are proposed. In BiLiCamFuse, the fusion module with dual attention is proposed to deeply correlate the geometric and textural features of the scene. The quantitative results on the KITTI dataset demonstrate that the proposed method achieves better feature-level fusion. In addition, the proposed network shows a shorter running time compared to existing methods.


I. INTRODUCTION
3D object detection technology is widely used in promising fields such as autonomous driving [1]- [3], SLAM [4], and robotics perception [5], [6]. Nowadays, accurate and efficient 3D object detection is still one of the most challenging problems in computer vision. Some works detect 3D objects utilizing various data, like monocular images [7], [8], stereo images [9], [10], and LiDAR point clouds [5], [11]- [13]. However, individual sensors have drawbacks. The sparsity of LiDAR point clouds and the lack of color information make it difficult to ensure high accuracy. So, fusion of multimodal features is important for achieving robust 3D detection.
Previous front view projections and BEV projections usually lose depth or height information. In the other hand, for learning point-wise features, the raw LiDAR point clouds is often sampled to 16384 points due to computational  [14]. The detection category is car. The 3D average precision with Intersection-Over-Union (IoU) threshold of 0.7 is used as an evaluation metric for easy scene.
constraints [5], [11], [15]. These methods lead to different degrees of losing the 3D geometric information of the sensor signal. In addition, it is extremely time-consuming for the farthest point sampling and K-nearest neighbor (KNN) query operations in deep learning methods [11], [16], [17] that extract geometric features from the raw point cloud, especially the time consumption increases exponentially as the number of points increases. To ensure high inference speed and completeness of raw coordinates information, a novel projection method is introduced in our work. Specifically, the raw 3D coordinates information is recorded in the corresponding position in the 2D plane. This approach enables a faster feature computation with almost no loss of geometric information, which ensures that our architecture is efficient and effective. The quantitative comparisons of our approach with other methods are shown in Fig. 1. The efficient point cloud feature extraction network and the rational 2D-3D fusion module designed in this paper make the network achieves excellent 3D object detection performance.
Several works [15], [18]- [23] make efforts to tackle single-modality problem by combining data from multiple sensors. The direct data fusion without information preprocessing [18], [20], [24] neglects the different perspectives of RGB-images and point clouds. Although Liang et al. [21] use continuous convolution to solve this problem, their fusion from bird's eye view (BEV) maps is insufficient in accuracy. Another method of unidirectional fusion, EPNet [15], cannot deeply fuse the two complementary modalities. To alleviate cross-modal misalignment, we design two plug-and-play fusion modules, LiCamFuse and Bidirectional LiCamFuse (BiLiCamFuse). Euclidean information between the projected LiDAR coordinates and pixel coordinates is introduced into the calculation of the soft query weights in the LiCamFuse module, which improves the misalignment between the different modalities. Inspired by cost volume presented in PWC-Net [25], We design BiLiCamFuse, a bi-directional fusion method for augmenting the semantic information of point clouds and the geometric information of image pixels. The LiDAR points query not only the geometric features of their neighboring points but also the texture features of their neighboring pixels through the designed local KNN. We designed BiLiCamFuse, a bi-directional fusion method for augmenting the semantic information of point clouds and the geometric information of image pixels.
Our main contributions are as follows: • An efficient and accurate 3D object detection architecture, FFPA-Net, is proposed. The introduced query of local KNN in the projection map significantly improves the efficiency of geometric feature extraction. • A new data pre-processing method is proposed to achieve more efficient fusion of the different signal features. The indexes between different sensor signals are established in advance and stored in a map, while synchronized sampling provides fast and accurate query correspondence for feature fusion. • In our network, multiple methods are explored to achieve cross-modal feature fusion more reasonably and efficiently, including soft query weights with perceiving the Euclidean distance of bimodal features, and fusion modules based on dual attention correlating the geometric features and texture features of the scene. • Our proposed 3D object detection architecture is carefully evaluated over the popular KITTI benchmark dataset. The quantitative results show the effectiveness of our strategy in this paper. Further, the proposed 2D-3D fusion network achieves an inference speed of 17 FPS on a single NVIDIA RTX 2080Ti GPU, which is 46% less time-consuming than the EPNet [15], a highperformance 3D object detection network.

II. RELATED WORK A. Deep Learning for Point Clouds
As a pioneer, PointNet [16] proposes a simple but efficient method to obtain 3D geometric data from point clouds directly. PointNet++ [17] offers a hierarchical network by learning local features utilizing 3D Euclidean information and uses PointNet [16] recursively on different point sets.
Recently, some methods in other areas are introduced into deep learning for point clouds. PCT [26] makes use of the inherent order invariance of the transformer, applying attention mechanism for data learning, and improving its accuracy on feature extraction for point clouds by using implicit Laplace operator and normalization. EfficientLO-Net [27] uses a projection-aware representation of point clouds to organize the unordered data and applies an embedding mask on pose warping.

B. 3D Object Detection
How to process the point clouds data has been a critical concern in 3D object detection. Some previous works [18], [24] focus on projection. Ku et al. [18] use BEV and image as input to extract high-resolution feature maps. The region proposal network (RPN) is used to obtain region proposals for classes, maintaining great performance with a low GPU usage. Similarly, MV3D [24] generates 3D candidate boxes from BEV and projects them to three views, taking the front view of point clouds and images as reference for the region of interest pooling (ROI-Pooling). And finally the classifier and 3D box regressor are generated from a region-based fusion network. However, the above works are still based on the 2D object detection frameworks and cause much loss of 3D information. PointNet [16] and PointRCNN [11] directly take raw point clouds as input, fully utilizing the 3D information. Meanwhile, voxelization [28]- [30] is also an approach to learn distinctive features from irregular points.
To extract the characteristics of different types of data to achieve accurate and robust results on object detection, data fusion became a crucial work. PI-RCNN [23] extracts fullresolution semantic features as input in 3D detection. EPNet [15] constructs the point-wise correspondence between the raw point clouds and image data to enhance the semantic characteristics. Prakash et al. [1] design TransFuser to integrate LiDAR data and images using attention and add the global context into distinct modalities layer by layer. 3D-CVF [19] uses an automatic calibration projection to convert 2D camera features into smooth spatial feature maps with the highest correspondence to LiDAR features in BEV.

III. PROBLEM DEFINITION
The task for 3D object detection estimates the size, orientation, 3D position, and category of visible objects from provided sensor signals. The data input of our network are RGB image is the 3D coordinates of the LiDAR point, and F L i is the LiDAR features. Each bounding box of the network output is represented by a vector v = {x, y, z, h, l, w, φ}, in which x, y, z represent the coordinates of the center point of the box; h, l, w is the height, length, and width of the box respectively; φ is the heading angle of the box.

IV. EFFICIENT DETECTOR WITH 2D-3D FUSION
The overview of the model architecture is illustrated in Fig. 2. In FFPA-Net, the input sensor signal is first preprocessed. Then, geometric features are extracted by the stride-based point cloud feature encoder. Texture features are extracted by the convolutional network. Finally, all the feature representations are fed to the (Bi)LiCamFuse module for cross-modal feature fusion. With the fusion features, 3D proposal generation and foreground point segmentation are processed to ultimately solve the detection task.

Project
Project to 2D image

A. Proprietary Data Pre-processing for 2D-3D Fusion
The 3D coordinates of the raw LiDAR point are stored orderly on the 2D plane. The formulas [27] is as follows: where x, y, z are the 3D coordinates of the LiDAR points. ∆θ, ∆φ represent the horizontal and vertical resolution respectively. u and v represent the projection coordinates of the points in the LiDAR point clouds on the 2D plane. This 2D plane is called the XYZ map. Such an operation organizes the unordered 3D point data in an ordered format. The dimensions of the XYZ map are H ×W ×3, as shown in Fig. 2. Next, the corresponding relationships between LiDAR points and image pixels are obtained by projecting LiDAR into the image coordinate system through a mapping matrix, which is derived from the camera intrinsics and extrinsics. The projected coordinates onto the color image from the LiDAR point are represented by (u * , v * ). However, the stride-based downsampling operation in layer-by-layer point cloud feature learning breaks the one-to-one correspondence between the coordinates XY Z of the raw point cloud and the projected coordinates (u * , v * ) onto the color image from the point cloud.
To ensure LiDAR points and pixel points always correspond during feature fusion, we fill in the position of the map copied from the XYZ map with (u * , v * ). This generates a u * v * map with dimension H × W × 2, as shown in Figure  2. Such a method of creating different maps and maintaining synchronized indexes ensures that LiDAR points and pixels always maintain their original correspondence without recreating indexes at each layer, where the different maps are u * , v * map and XYZ map, respectively. Therefore, this method is accurate and takes less running time.

B. Stride-Based Point-Wise Encoder
In our network, sliding kernels [27] are set to sample center points and extract features by grouping neighbor points utilizing KNN in the kernels, which is more efficient.
1) Stride-Based Sampling: In our sampling scheme, stride-based kernels are set on the XYZ map, and the kernel center points are selected, which generate the indexes of sampling points directly. This method achieves uniform distribution of sampling center points and faster speed.
2) Feature Extraction: In kernel, the points beyond a fixed range from the center point are discarded, and those within it are reserved. The grouping points are obtained for each center point. With the center points and the grouping points, the features can be calculated by the following formula: in which x i represents the index of i-th center point, x k i is the index of k-th grouping point around the i-th center point, and K is the total number of the grouping points for each center point. f s i and f k i represent the feature of i-th center point and k-th grouping point around the i-th center point respectively. f i is the extracted feature of i-th center point. ⊕ indicates the concatenation of two tensors. F C(·) denotes a fully connected layer, and M AXP OOL(·) means the max-pooling layer.
Likewise, the stride-based sampling is applied to the pregenerated u * v * map, which ensures that the 3D LiDAR points saved in the XYZ map and the index (u * , v * ) of each LiDAR point in the image space saved in the u * v * map  Fig. 3.
The detailed network of our proposed LiCamFuse. The geometric features, texture features, and 2D Euclidean information are fused to generate matching weights for the two signals, which achieves adaptive feature fusion. always correspond. This provides a correspondence basis for the cross-modal feature fusion later. This process is indicated in Fig. 2. The stride-based sampling is both processed four times on the XYZ map and u * v * map, respectively, which generates multi-resolution feature representations.

C. LiDAR Image Fusion Module
We introduce Euclidean information into calculating pointwise weight maps to better leverage the correspondence between LiDAR features and image features. Two feature fusion modules are proposed in our work: LiCamFuse module offers an approach to fuse features moderately with high calculating speed; BiLiCamFuse module deeply fuses these two modalities in a bidirectional manner but with a little more calculation time. Both modules are plug-andplay, serving as feasible options selected according to the requirement of the detection task.
1) Image Feature Extraction: Image feature F I extraction is produced by 2D image convolution. The learning process is described as shown below: Conv 2 3×3 and Conv 1 3×3 are both 2D convolution. The superscript denotes the stride, and the subscript denotes the kernel size. C is the number of features' dimensions. The architecture is shown in Fig. 3.
2) LiCamFuse Module: To obtain texture features corresponding to LiDAR points in a point-wise manner, the image features after extraction are required to be indexed utilizing bi-linear interpolation. The sampled u * v * map, which offers the corresponding relationships between LiDAR points and image, severing as an indexing map for the image sampler. After sampling, the point-wise texture features of N × C are produced, where N = H × W , as shown in Fig. 3 The 2D coordinates obtained by projecting LiDAR points into the 2D image space ideally match the pixel coordinates of the image. However, they are often misaligned in the real world. Being able to perceive this misalignment is necessary for the process of fusing different modal features. Therefore, the proposed Euclidean information containing the differences between coordinates of points in different signals is introduced into the feature fusion module. For example, the 2D coordinates of point is x i = (u, v), and the corresponding pixel coordinates is y i = (u , v ). The 2D Euclidean information is generated by the followings: where · means the Euclidean distance between two points. Therefore, the 2D Euclidean information is a tensor of N ×7.
For each point, with the point-wise geometric features F L i , the point-wise texture features F I i , and the 2D Euclidean information F E i , the feature fusion can be performed by the following formulas: where indicates dot product, and means element-wise minus. F i denotes the fusion feature of the point.
3) BiLiCamFuse Module: To fuse LiDAR and image more rationally at a deeper level, for each selected point, the BiLiCamFuse module queries not only the neighboring LiDAR points but also the neighboring image pixels. In addition, 2D Euclidean information is introduced for correcting coordinate errors between LiDAR points and image pixel points, which ultimately generates point-wise features from the information of LiDAR points and image points.
The input of one BiLiCamFuse module includes two sets of point coordinates x L , x I and point features F L , F I . x L ∈ R 3 represents the 3D coordinates of the LiDAR point; x I ∈ R 2 denotes the 2D coordinates of the image pixel; F L , F I are the corresponding features respectively. Fig. 4 indicates the detailed fusion process. Each LiDAR point first queries K nearest neighbors with the representation p ik = {x L ik , F L ik } in XYZ map, where k-th point is one of the K neighboring points in XYZ map. And each point p ik queries M nearest neighbors in u * v * map with the indexed image feature F I ikm , in which m-th point is one of the M neighboring points in u * v * map. Actually, before the second KNN is performed, the correspondence between XYZ map and u * v * map is utilized to shift 3D LiDAR points to the image pixels. Moreover, 2D Euclidean information F E ikm is calculated between p ik and its M nearest neighbors in u * v * map, and the feature F L ik is duplicated M times. The features above are concatenated to generate indexed feature set {F E ikm , F I ikm , F L ik }. The fusion features of stage 1 for each selected point in u * v * map are calculated by the following formula: where MLP denotes Muti-Layer Perceptron, and F 1 ikm ∈ R c . The 2D Euclidean information is also used in the soft  Fig. 4. The semi-architecture of our BiLiCamFuse. In this network, LiDAR points search image points for feature augmenting. Neighbor points are queried for LiDAR points both in the point clouds and image pixels. And the feature fusion incorporating Euclidean information is operated twice based on the self-adaptive attentive weights. The same fusion operation is applied on the image points in the other semi-module. query weights learning. Therefore, for each point selected in LiDAR points, the fusion feature is: where softmax is used to normalize the weight. The same procedure as the stage 1 needs to be conducted again to learn the feature representation of each LiDAR point. The fusion features of stage 1 are combined, and the feature of the LiDAR point F L i is duplicated K times. Meanwhile, 2D Euclidean information F E ik is calculated between p i and its K nearest neighbors in LiDAR points. Therefore, the fusion features of stage 2, also the output feature F O i for each LiDAR point is: The interactive query mode provides a more accurate feature representation for LiDAR points. To achieve a more reasonable deep feature fusion, the same operation performed on the LiDAR points is employed on the image points, which means querying K neighbors in the image pixels for each image point and M neighbors in the LiDAR points for selected image neighbors, and fusion is processed. Therefore, the fusion feature for each image pixel F O i is obtained. The final feature for each point is: After the feature encoding and feature fusion of the point clouds is completed, the LiDAR points are restored to the resolution of the original size using an interpolation-based decoder. Finally, we further fuse the image features at the level of the point cloud resolution on the original size.

D. Loss Function
In this paper, the existing supervised loss [11], [15] function is adopted to supervise the proposed 3D object detection network. The total losses are as follows: where L rpn and L rcnn represent the loss of RPN and the loss of the refinement network. Both losses include classification loss, regression loss, and consistency enforcing loss. The kernel sizes based on the stride sampling module are [9,13] and [9,5] for the first two layers and the last two layers, respectively. The horizontal and vertical sliding strides are 2. The parameter settings of the 3D box extractor are consistent with PointRCNN [11].

B. Analysis of Experimental Results
From Table I, we compare fairly with existing methods on the KITTI test set [32]. The inference time and detection performance of each 3D object detection network are shown in Table I. Compared with advanced 3D detection networks [5], [12], [13], [24] based on LiDAR signals such as PointRCNN [11], our method reasonably fuses the texture information of the captured images. The proposed method achieves excellent 2D detection and 3D detection results. Notably, the inference time of our network is less compared to that of LiDAR signal-based algorithms. Less time consumption is attributed to the projection-aware feature learning of our network, which reasonably extracts local features and performs local KNN operations. The network designed in this paper achieves efficient 3D detection results. Our method detects 3D objects in a frame taking only 59 ms on an NVIDIA GeForce RTX 2080Ti GPU. As described in IV-C.3, BiLiCamFuse fuses LiDAR features and image features, more deeply. The deeper feature interaction fusion achieves high accuracy 3D object detection results.
In Table II, we also provide the results of other 3D detection networks on the KITTI val split [32]. Again, our method maintains excellent detection accuracy and speed on the validation dataset. Compared with advanced bimodal fusion 3D detection networks, the proposed LiCamFuse module introduces feature Euclidean information. LiCamFuse better perceives the degree of alignment of LiDAR features and image features and assigns appropriate fusion weights to each  TO EVALUATE THE 2D, 3D, AND BEV ACCURACY FOR THE CAR CATEGORY, WHERE THE 3D IOU THRESHOLD FOR RECALL IS SET TO 0.7. THE  LIDAR SIGNAL AND COLOR IMAGE OF THE INPUT TO THE NETWORK ARE REPRESENTED BY "L" AND "I", RESPECTIVELY. THE INFERENCE TIME OF   EACH METHOD ON THE 2080TI GPU DEVICE IS ALSO GIVEN IN THE TABLE. "∼" MEANS THE RUNTIME ON THE 1080TI GPU Table III, the results on the KITTI val split support the rationality of our proposed fusion module. The feature fusion weights are calculated in LiCamFuse to mitigate the maladaption of the two modalities. BiLiCamFuse is a deep point-wise feature fusion that enables LiDAR points to retain their own geometric features while querying the features of their neighboring pixels. The BiLiCamFuse achieves better fusion results but increases the network runtime.
2) Impact of Projection Resolution of Point Clouds on Network Performance: In the data preprocessing of this paper, the resolution of the point clouds projection influences the learning effect of the network. The larger the resolution of the point clouds projection, the fewer points are lost in the projection but the more zero points in the projection plane. Conversely, the smaller the resolution of the point clouds projection, the more points are lost in the projection but the fewer zeros in the projection plane. We present the most suitable projection resolution in Table IV. VI. CONCLUSIONS In this paper, an efficient and accurate 2D-3D fused 3D object detection network is designed. The proposed novel method of data pre-processing accelerates the fusion of multimodal features. Also, the introduced projection-based geometric feature extraction method is more efficient. Further, we propose two novel 2D-3D fusion modules. LiCam-Fuse adaptively and efficiently fuses features from different modalities, and BiLiCamFuse deeply fuses LiDAR point features and pixel point features. The proposed FFPA-Net achieves efficient and accurate 3D detection results on the popular KITTI test set and validation set.