## 3 Methodology
### BFRS Collection Using Non-Homogeneous Spectrum Feature  
As analyzed in the previous section, the abnormal changes can be observed via the \(z\)-axis acceleration records, while there are also similar abnormal change features in the \(x\)-axis and \(y\)-axis acceleration recordings. Therefore, the spectrum for 3-axis accelerations is computed based on (7), and four-dimensional spectra are generated, as denoted in (12). \[\left(sf_{x^{\prime}}sf_{y^{\prime}}sf_{z}\right)=\text{MultiSpectrum}\big{(} Acc_{trans}\big{(}a_{x},a_{y},a_{z}\big{)}\big{)} \tag{12}\]  
With these multi-dimensional spectra, BFRS are initially detected based on the CNN model. As a type of feed-forward neural network that learns feature engineering by itself via filter (or kernel) optimization, CNN can automatically learn meaningful features without manual engineering. By training on vast amounts of data, CNN can learn a hierarchy of features, from simple to complex, and achieve or surpass human-level performance in various tasks. Due to its exceptional performance in computer vision tasks such as image classification and object detection, CNN has become a standard technique in this domain, and it is particularly well-suited for processing matrix data. Hence, the CNN model is applied in this article to deal with the multi-dimensional spectrum data. The CNN model usually consists of the convolutional layer, activation function, pooling layer, and fully connected layer, as follows:  
1. A convolutional layer uses a set of learnable filters (or kernels) to scan input. 2. The batch normalization layer normalizes the data on each mini-batch to accelerate the model. 3. The activation layer is used to introduce non-linearity, with the ReLU function usually employed. 4. The pooling layer down-samples the input data to reduce the data's dimensionality. 5. The dropout layer turns off a subset of neurons at random during training to prevent overfitting. Figure 4: The non-homogenous spectrum features in different dimensions. (**a**) Acceleration on \(x\)-axis. (**b**) Acceleration on \(y\)-axis. (**c**) Acceleration on \(z\)-axis. (**d**) Spectrum feature on \(x\)-axis. (**e**) Spectrum feature on \(y\)-axis. (**f**) Spectrum feature on \(z\)-axis. (6) A fully connected layer is used for tasks like classification at the end of a CNN. (7) The softmax layer converts a set of values into a set between 0 and 1, the sum of which equals 1. (8) A classification layer is used for classification tasks. In this article, a simple CNN model is designed and applied with 5 convolutional layers, 5 batch normalization layers, 5 activation layers, 4 pooling layers, 1 dropout layer, 1 fully connected layer, 1 softmax layer, and 1 classification layer. The 3-axis acceleration data are initially encoded as a spectrum feature in dimensions of 30 \(\times\) 25 \(\times\) 3 and converted to the size of 30 \(\times\) 25 \(\times\) 12 by the first round of convolution operations, followed by the batch normalization. Then, the process is repeated for the other four times, with the dimensions becoming 15 \(\times\) 13 \(\times\) 24, 8 \(\times\) 7 \(\times\) 48, 4 \(\times\) 4 \(\times\) 48, and 4 \(\times\) 4 \(\times\) 48, followed by the dropout, fully connection, and softmax operations with dimension finally becoming 1 \(\times\) 1 \(\times\) 2. Through these operations, the CNN model can \"hear\" the voice of the road surface and detect BFRS from the input dataset. The detailed structure is depicted in Figure 5.  
In Figure 5, the input three-dimensional spectra are input into the CNN model, followed by a convolutional layer with bath normalizations and an activation layer (using the ReLU function), a pooling layer (using the max pooling function), then the operation is repeated for another three rounds; finally, the BFRS are generated by the full connected layer with dropout and softmax functions. In addition, some complex CNN models can also be applied since they are just a module of the BFRS detection framework.