3.2.1. Construction of DBNN Model

The DBNN model consists of two parallel sub-networks, the CNN module and the BP neural network module, which are followed by a concatenate layer, a full connection layer, and an output layer, as illustrated in Figure 6b. In this model, the CNN module consists of two convolutional layers, made up of 16 and 32 the 3 × 3 convolution kernels, respectively, and two pooling layers. Each convolution kernel can be regarded as a feature extractor, which convolves with the input DDMs to generate feature maps. Taking the operation of the *k*th convolution kernel in the first convolution layer as an example, the input DDM is processed by the convolution kernel to generate the feature map *h* (1) *<sup>k</sup>* , which can be expressed as follows:

$$h\_k^{(1)} = f\left(\left(\mathcal{W}\_k^{(1)} \* X\right) + b\_k^{(1)}\right) \tag{1}$$

where *X* is the input DDM, *<sup>W</sup>*(1) *<sup>k</sup>* and *b* (1) *<sup>k</sup>* are the weight and bias of the *k*th convolution kernel respectively, ∗ represents the convolution operation, and *f* denotes the activation function; this study adopts the widely used ReLU function with the following equation:

$$f(z) = \max(0, z) \tag{2}$$

The max pooling layers with size 2 × 2 and stride 2 are applied in the CNN module to downsample the feature maps from the convolution layers, so as to reduce the redundant information and retain critical features.

In the DBNN model, the BP module consists of two fully connected layers equipped with 16 and 32 neurons, respectively. Each neuron in the module conducts the weighted summation operation on the inputs, which is subsequently processed by the ReLU activation function to create an output feature. As an example, consider the operation of the *i*th neuron in the first fully connected layer, its output feature *y* (1) *<sup>i</sup>* can be expressed by the following equation:

$$y\_i^{(1)} = f\left(\sum \left(x\_j \times w\_{ij}^{(1)}\right) + b\_i^{(1)}\right) \tag{3}$$

where *xj* is the *<sup>j</sup>*th input feature of the neuron, *<sup>w</sup>*(1) *ij* and *b* (1) *<sup>i</sup>* are the weight and bias of this neuron, respectively. *f*(·) denotes the ReLU activation function.

The features output from the CNN module and the BP module are then transferred into the concatenation layer. After being further nonlinearly processed by the full connection layer with 64 neurons, these concatenated features are finally delivered to the output layer. The output layer contains two neurons with the softmax activation function [40–42] and outputs probabilities *pi* of the input DDM corresponding to the submerged region and the unsubmerged region, respectively. The probabilities *pi* can be expressed as follows:

$$p\_i = \frac{\exp(v\_i)}{\sum\_{j=1}^k \exp(v\_j)}\text{ where }i = 1,2\tag{4}$$

where *k* is the number of neurons in the output layer, set to 2; and *v*1, *v*<sup>2</sup> are the input values of the softmax function. It should be noted that the softmax function in the neural networks outputs a set of probability values belonging to each classification category, and the summation of all probability values equals 1, where the category corresponding to the largest probability value is the attribution category of the sample. As a binary classification model, the proposed DBNN model only outputs two probability values. Therefore, if there is a probability value greater than 0.5, the corresponding category will be identified as the classification category. Since there are only two probability values output from the DBNN model and their summation is 1, the probability value belonging to the flooded region can be selected as the prediction result of the model. Therefore, samples with probability values greater than 0.5 are regarded as submerged.

**Figure 6.** (**a**) Flooding monitoring process of DBNN method; (**b**) DBNN model structure. FC: full connection layer.
