# Automatic Feature Construction-Based Genetic Programming for Degraded Image Classification
## 3 The Proposed Approach
### New Program Structure Based on Information Transmission
#### 3.2.1 New Function and Terminal Set  
To meet the functional requirements of each layer in the newly designed GP program, this study designs a corresponding terminal set and function set for each layer. The function set includes the image processing functions necessary for constructing GP program. The terminal set includes original image data and parameters for image processing functions, with a detailed list provided in Table 7. Notably, the terminal \(m\) represents three different manual feature extraction methods. When the value of \(m\) is 0, the SIFT method is used for feature extraction, and the input image region is treated as a key point [37]. When the value of \(m\) is 1, the HOG method is employed to extract features, calculating the average of a 10 \(\times\) 10 grid from the image area with a step size of 10 [7]. When the value of \(m\) is 2, the uniform LBP method is selected to extract histogram features, with a radius of 1.5 and a neighbor count of 8 [5]. The required parameter values for these functions will be automatically selected within a predefined range through the evolutionary process. The new method will evolve a GP with a multi-layer structure, capable of automatically selecting the appropriate functions and their corresponding parameters for each layer, tailored to different image classification tasks. Table 8 provides a detailed list of the function set from the preprocessing layer to the pooling layer in the image preprocessing stage. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Terminal** & **Type** & **Value Range** & **Description** \\ \hline Image & Array & [0, 1] & N image, each represented as a two-dimensional array, with pixel values \\ Data & & & normalized to the range [0, 1] \\ \(\sigma_{1}\) & Integer & [1, 3] & The standard deviation parameter for Gaussian filtering in Gaussian and \\ \(\sigma_{2}\) & Integer & [1, 2] & The standard deviation parameter for Gaussian filtering in the LoG function \\ \(\sigma_{1},\sigma_{2}\) & Integer & [0, 2] & The order of Gaussian derivatives \\ Coordinate & Integer & ([0, W-20], [0, H-20]) & Coordinate of the top-left corner of the selected region, where W and H \\  & & & respectively represent the width and height of each image data \\ Size & Integer & [20, 50] & Size of the width and height of a rectangle region, and size of the side length of \\  & & & a square region \\ K1,K2 & Integer & [2, 10] & The sliding window size required by the downsampling layer functions \\ m & Integer & [0, 1, 2] & Different values represent different manual feature extraction methods \\ i & Float & (0, 1) & Random number, rounded to two decimal places \\ P & Integer & \{0, 1\} & If i is 1, the manual features generated by the feature construction layer are sent \\  & & & to the feature concatenation layer \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Terminal set. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Function** & **Input** & **Output** & **Description** \\ \hline Roberts & Image Data & Image Data & The Roberts operator used for edge detection \\ Prewitt & Image Data & Image Data & The Prewitt operator used for edge detection \\ Relu & Image Data & Image Data & Rectified Linear Unit function \\ Sqrt & Image Data & Image Data & Take the square root of each pixel in the Image Data \\ Mean & Image Data & Image Data & \(3\times 3\) Mean Filter \\ Min & Image Data & Image Data & \(3\times 3\) Min Filter \\ Max & Image Data & Image Data & \(3\times 3\) Max Filter \\ Med & Image Data & Image Data & \(3\times 3\) Med Filter \\ Sobel & Image Data & Image Data & Sobel edge detector \\ LoG & Image Data, \(\sigma_{2}\) & Image Data & Laplace operator of the Gaussian filter \\ Abs & Image Data & Image Data & Return the absolute value of the pixel \\ Lap & Image Data & Image Data & Laplace filter \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Image preprocessing stage function set.