# Image-Based Structural Health Monitoring: A Systematic Review
## 4 Discussion
### Guidelines and Prerequisites
#### 4.6.5 New Algorithms for Grayscale and Colored Images  
A thorough examination of image processing applications in the disciplines of material deterioration and steel corrosion is necessary [160]. Corrosion forms and, in certain situations, the goal of the monitoring is used to categorize various corrosion detection and measuring techniques. Since the conclusion must be provided in qualitative form for easier and quicker understanding, the key issue is to produce quantitative data based on the photos that were gathered. In addition, recent developments in algorithm techniques on image collection and deep learning can improve the removal of dust, decrease quality degradation of photos and 3D images, collect faster scanning acoustic microscope SAM images, process X-ray microtomography that gives out specifics on surface roughness, determine a range of rust, and analyze the deepness of corrosion pits. Deep learning has become extremely popular in scientific computing, and businesses that deal with complex problems routinely use its approaches. To execute certain tasks, some of the deep learning algorithms which utilize different kinds of neural networks include:  
Convolutional Neural Networks (CNNs)  
CNN employs a different approach, simulating how we view our surroundings with our eyes. Here, the principle of how we see, assemble, and process and interpret images, is converted into three phases. The first stage is to define a convolutional layer. The convolutional layer is employed for image feature extraction as it deals with spatial redundancy through weight sharing. At this stage, filters are defined to specify the size of the partial pictures to be examined, as well as a step length that determines how many pixels must be calculated between computations. The average or maximum value of results, depending on the application, is determined during the next stage which is called the pooling layer. A pooling layer has been defined by [161] as a set of hyperparameters as \(f_{pool}\)\((K,S)\) where \(K\) means Kernel Size- refers to the height \(k_{h}\) and width \(k_{w}\) of the pooling window, and \(S\) means Stride- is passed as a tuple \((S_{h}\), \(S_{w}\) ) that signifies the number of pixels by which the pooling should slide along the height and width, respectively. It works as in the case of convolutions. Lastly in the step of CNN, a fully connected layer, is produced where individual sub-images are joined again to detect the connections and conduct the classification. Hyperparameters of the convolution operation and a sample are both illustrated in the works of [161]. Long Short-Term Memory Networks (LSTMs)  
LSTMs are recurrent neural network (RNN) types that can learn and remember long-term dependencies. The default habit is to recall prior knowledge over extended periods. Information is retained by LSTMs over time. They are valuable in time-series prediction because they can recall earlier inputs. Four interconnected layers that clearly communicate with one another make up the chain-like structure of LSTMs. Along with time-series predictions, LSTMs are frequently used in speech recognition, music production, and pharmaceutical research. Recurrent Neural Networks (RNNs)  
RNNs have directed cycles that enable the current phase to receive the LSTM outputs as inputs. The LSTM result becomes an entry to the initial stage and may recall previous inputs because of its internal memory. In image captioning, time series analysis, natural language processing, handwriting identification, and machine translation, RNNs are often used. Generative Adversarial Networks (GANs)  
Deep learning algorithms called GANs produce new data instances that closely resemble the training data. GAN consists of two components: a discriminator that learns from the false data it encounters, and a generator that learns to make false data. The discriminator develops the ability to distinguish between genuine sample data and falsedata produced by the generator.