## 2 Method
### Road Drivable Area Detection
#### 2.1.1 Improvement of the Lite-Mobilenetv2 Feature Extraction Module  
To accurately extract features from images with complex road conditions, it is crucial to use a sufficiently deep feature extraction module to capture the necessary nonlinear relationships. In the DeepLabv3+ algorithm, the Xception module offers advanced feature extraction but can lead to overfitting, performing well on training data but poorly on validation data. To meet real-time processing needs, balancing parameters and computational complexity is essential. Incorporating lightweight modules can help reduce computational load while maintaining performance.  
Figure 1: Diagram of the all-weather integrated defogging drivable area detection algorithm process.  
MobileNetv2 is known for its efficient design, using depthwise separable convolutions and linear bottlenecks to reduce computational load while maintaining accuracy. Inspired by these advancements, we modified the Xception feature extraction module [18] to create the Lite-Mobilenetv2 module, incorporating group convolutions and depthwise separable convolutions for greater efficiency.  
Group convolutions provide several benefits. (1) They significantly reduce the number of parameters. For instance, dividing feature maps into G groups reduces the parameter count to 1/G of the original. (2) In dense networks, they can act as a form of dropout, helping to prevent overfitting. (3) When GPU resources are limited, group convolutions allow parallel training across multiple GPUs, improving training efficiency.  
The main structure of the Lite-Mobilenetv2 module is detailed in Table 1:  
In the table, H2 represents the number of pixels in the input image; C denotes the number of input channels; n indicates the repetition times of Lite-bottleneck at this size; s represents the convolutional stride of the first repetition of each Lite-bottleneck module. Initially, an input size of 512 \(\times\) 512 with RGB channels undergoes convolution with a stride of 2, resulting in 32 feature maps of size 256 \(\times\) 256. These feature maps are then fed into Lite-bottleneck modules with different input-output sizes, ultimately yielding 320 feature maps of size 16 \(\times\) 16.  
The activation function for the \"dimensionality expansion layer\" and \"convolutional base layer\" of the Lite-bottleneck is the ReLU function [19; 20], while the activation function after the \"dimensionality reduction layer\" is the linear function [21]. Group convolutions with a group number of 2 are employed in the dimensionality expansion and reduction layers to prevent overfitting.  
During the feature extraction process, shallowly extracted feature maps of size 1282 \(\times\) 24 need to be input as low-level semantic features into the decoder. These are further processed by the Atrous Spatial Pyramid Pooling structure [22] (ASPP), continuing from the feature extraction module. Assuming the input image is denoted by I, this structure iterates N times, and its specific operations are outlined in Figure 2, as follows:  
\begin{table}
\begin{tabular}{c c c c c} \hline \multicolumn{1}{c}{**Input Size**} & \multirow{2}{*}{**Operator**} & \multirow{2}{*}{**c**} & \multirow{2}{*}{**n**} & \multirow{2}{*}{**s**} \\ \multicolumn{1}{c}{**(H2 \(\times\) C)**} & & & & \\ \hline
512\({}^{2}\) \(\times\) 3 & Conv2d & 32 & 1 & 2 \\
256\({}^{2}\) \(\times\) 32 & Lite-bottleneck & 16 & 1 & 1 \\
256\({}^{2}\) \(\times\) 16 & Lite-bottleneck & 24 & 2 & 2 \\
128\({}^{2}\) \(\times\) 24 & Lite-bottleneck & 32 & 3 & 2 \\
64\({}^{2}\) \(\times\) 32 & Lite-bottleneck & 64 & 4 & 2 \\
32\({}^{2}\) \(\times\) 64 & Lite-bottleneck & 96 & 3 & 1 \\
32\({}^{2}\) \(\times\) 96 & Lite-bottleneck & 160 & 3 & 2 \\
32\({}^{2}\) \(\times\) 160 & Lite-bottleneck & 320 & 1 & 1 \\ \hline \end{tabular}
\end{table}
Table 1: Components of the proposed feature extraction module.