## 3 Methodology
### BFRS Detection Algorithm from Multi-Sensor Stream Data  
The BFRS detection framework consists of the following four steps: Firstly, preprocess the collected discreet multi-sensor stream data from smartphones, including (1) timestamp alignment for multi-sensor recordings based on linear interpolation and (2) spatial transformation for the 3-axis acceleration data. Secondly, augment the training dataset based on the movement feature, model BFRS using the driving speed and 3-axis acceleration recordings, and represent the bump features based on spectrum modeling. Thirdly, design the CNN-based deep learning network to deal with the non-homogenous BFRS spectrum and collect BFRS. Finally, represent the BFRS detection result based on the weighted cluster method. The algorithm is depicted in Algorithm 1. ``` Input : \(\mathbf{S_{noise}}\) denoted as (1) and (2) Output : \(BFRS\) denoted as (2) \[\text{BFRSDection}(\mathbf{S_{noise}})\ \Big{\{}\mathbf{P}(\mathbf{x},\mathbf{y}),\mathbf{Ori}(\mathbf{a}_{x},\mathbf{y} _{y},\mathbf{a}_{z}),\mathbf{Acc}(\mathbf{a}_{x},\mathbf{a}_{y},\mathbf{a}_{z}),\mathbf{D}_{speed} \Big{\}}\] // step 1: preprocessing and spatial transformation \[\mathbf{Ori}_{aligned}=\text{AlignOrientation}\big{(}\mathbf{Ori}(\mathbf{a}_{x},\mathbf{y} _{y},\mathbf{a}_{z}),\mathbf{t}_{acc}\

## 4 Experiments and Discussion

This section focuses on the performance of the BFRS detection method. The multi-sensor stream data are acquired using smartphones with GPS, gyroscope, and accelerometer sensors. GPS locations, three-axis orientations, and three-axis acceleration datasets are collected. Smartphones are used as the source for sensor data collection, utilizing the inherent data processing techniques of the smartphone operating system. This setup effectively addresses the issue of \"data flow/drift\" in motion sensors (such as the gyroscope). The raw acceleration data are preprocessed using these techniques before being recorded by the MATLAB Mobile 2023 app and subsequently sent to the proposed method. Each dataset collected typically lasts no longer than 10 min. Due to the robust preprocessing capabilities of the smartphone, extra calibration for the motion sensors is not conducted during the data collection process. BFRS is modeled after timestamp alignment between the accelerometer and GPS and gyroscope sensors. Then, the direction of the three-axis accelerometer is reoriented by the three-axis acceleration information, and the spectrum model is applied to the accelerometer data. The BFRS is computed based on CNN and represented using the weighted cluster method. After that operation, the cluster result is compared with the actual BFRS positions, treating detections within 10 m of the actual BFRS as correct and those outside this range as wrong. These criteria serve as our evaluation metrics, and precision, recall, and F1-score are calculated. Based on the criteria, comparisons are conducted with different BFRS detection methods; in addition, BFRS in different areas is computed, and results are evaluated with different methods. ### Multi-Sensor Stream Data Collected Using Smartphone

As shown in Figure 7, the total length computed based on GPS recordings is 6411 m with speed ranges from 0 km/h to 39.65 km/h, in an area of 0.92 km\({}^{2}\). The time duration of the stream data is 860 s, with 860 sampling of GPS points and 86,662 records of three-axis acceleration and three-axis orientation records. In the research area, BFRS refers to surface features that have variations in elevation greater than 3 cm and extend horizontally along the road for more than 4 cm. Due to the geographic coordinates inherent in the detection results, which differ from traditional methods of evaluating neural network models, data from a specific spatial area was selected as the training set, and data from a different area (not included in the training set) was used for testing.