Wind power generation plays a crucial role in transitioning to renewable energy sources. However, wind turbines are exposed to adverse environmental conditions that can lead to wear and failure of critical components such as blades. Early detection of these anomalies is essential to ensure the efficient operation and safety of wind turbines.
Wind turbine blades are subject to mechanical stresses and variable weather conditions, which can result in cracks, deformations, or even fractures. Early detection of these failures is essential to avoid costly interruptions in power generation and to ensure the safety of the infrastructure. Conventional inspection techniques often require periodic, manual shutdowns, which entails additional costs and limits the frequency of revisions.
Early detection of blade failures not only contributes to the operational efficiency of wind turbines but also reduces costs associated with unplanned maintenance and extensive repairs. In addition, worker safety is enhanced by minimizing the need for physical inspections in potentially hazardous conditions, such as high altitudes and harsh weather environments.
In this work, 100 images of wind turbine blades were used, taken from a wind farm located in the Universidad del Istmo area in the Mexican state of Oaxaca. These images include both damaged and undamaged blades.
2.3. Orange Data Mining Application and Image Management
Orange is a machine learning and data mining suite for data analysis through Python version 3.12.6 scripting and visual programming [
29]. Orange is open-source data mining software version 3.37.0 for visualizing, analyzing, and modeling data.
Several authors, such as Mohapatra and Swarnkar [
43], have used Orange Data Mining to compare different artificial intelligence techniques. Ishak et al. [
44] used the software in the classification method on the dataset lenses. Tebala and Marino [
45] classified sector of economy activity.
Orange provides a graphical user interface that allows users to create data mining workflows by dragging and dropping widgets onto a palette. Widgets version 3.37.0 can include a simple data table, graph, machine learning model, or custom interface.
The software can perform tasks such as data preprocessing, classification, regression, clustering, network analysis, data visualization, and more. It also supports many data file formats, including CSV, Excel, SQL, and others.
The Orange Data Mining interface has widgets associated with different actions, such as data manipulation, transform, and model, which can be seen in the image analytics. The image embedding widget connects to the Test and Score widget to obtain results of testing classification algorithms. The widget does two things. First, it shows a table with different classifier performance measures, such as classification accuracy and area under the curve. Second, it outputs evaluation results, which can be used by other widgets for analyzing the performance of classifiers, as shown in
Figure 4.
It is necessary to use models such as logistic regression, which is a widely used statistical method, for modeling the probability of a binary outcome based on one or more predictor variables. Unlike linear regression, which predicts a continuous outcome, logistic regression is used when the dependent variable is categorical and typically binary (0 or 1, success or failure, respectively) [
46]. The core idea of logistic regression is to model the log-odds of the probability of an event occurring as a linear combination of the predictor variables. The log-odds, also known as the logit, is defined as in Equation (3).
where
P is the probability of the event occurring. The logistic regression model can be expressed as Equation (4).
Here, β0 is the intercept, and β1, β2, …, βn are the coefficients of the predictor variables X1, X2, …, Xn, respectively.
The probability
P that the event occurs can be derived from the logit model by applying the inverse of the logit function, which is the logistic function, Equation (5).
This transformation ensures that the predicted probabilities lie within the (0, 1) interval. The coefficients
βi are typically estimated using maximum likelihood estimation (MLE), which finds the values that maximize the likelihood of the observed data given the model. According to Li et al. [
47], tree-based models, such as decision trees, are powerful and interpretable methods for both classification and regression tasks. These models partition the feature space into a set of rectangles (for regression) or regions (for classification) based on the values of input variables, leading to predictions that are easily interpretable and often robust to outliers.
A decision tree model is constructed by recursively splitting the data into subsets based on a feature that maximizes a specific criterion. For a classification problem, the most common criteria are Gini impurity and entropy. The Gini impurity for a node
t is given by Equation (6).
where
pk is the proportion of samples belonging to class
k in node
t, and
K is the number of classes. The goal is to choose splits that minimize the weighted sum of Gini impurities of the child nodes.
For regression tasks, the decision tree algorithm typically uses the mean squared error (MSE) as the splitting criterion. The MSE for a node
t is given by Equation (7).
where
is the actual value of the target variable for observation
i,
is the mean of the target values in node
t, and
Nt is the number of observations in node
t. The algorithm selects the split that minimizes the sum of the MSEs of the resulting child nodes.
The splitting process continues until a stopping criterion is met, such as a maximum tree depth or a minimum number of samples per leaf. The resulting tree model can be visualized as a hierarchical structure where each internal node represents a decision based on a feature, and each leaf node represents a predicted outcome.
One of the key strengths of tree-based models is their ability to capture non-linear relationships between the input features and the target variable without requiring feature scaling. Moreover, tree models are naturally capable of handling both numerical and categorical data. However, they tend to be prone to overfitting, which can be mitigated through techniques like pruning or by using ensemble methods such as random forests or gradient boosting; naive Bayes is a simple yet effective probabilistic classifier based on Bayes’ theorem, with the strong assumption that features are conditionally independent given the class label [
48]. Despite its simplicity, naive Bayes often performs surprisingly well in a variety of classification tasks, particularly in text classification and other domains where this independence assumption holds approximately true. Bayes’ theorem forms the foundation of naive Bayes and is expressed as Equation (8).
where:
is the posterior probability of the class C given the feature vector X = {x1, x2, …., xn}
is the likelihood of observing the feature vector X given the class C.
is the prior probability of the class C.
is the marginal likelihood, which acts as a normalization constant.
Finally, neural networks are a class of machine learning models inspired by the structure and function of biological neurons. These models are particularly powerful in capturing complex, non-linear relationships between inputs and outputs, making them highly suitable for a wide range of predictive tasks [
49]. The architecture of a neural network consists of interconnected layers of artificial neurons, typically organized into an input layer, one or more hidden layers, and an output layer.
The output of each neuron in a layer is computed as a weighted sum of its inputs, followed by the application of an activation function. Mathematically, for a given neuron
j in layer
l, the output
is given by Equation (9).
where
represents the weights connecting neuron
i in layer
l − 1 to neuron
j in layer
l;
is the output of neuron
i in the previous layer;
is the bias term for neuron
j; and
f(⋅) is the activation function, such as the ReLU (Rectified Linear Unit), sigmoid, or tanh function.
The network’s final output is produced by the neurons in the output layer, and the overall network function can be represented as Equation (10).
where
is the predicted output,
X is the input feature vector, and
θ represents the set of all network parameters (weights and biases).
Training a neural network involves finding the optimal parameters
θ that minimize a loss function
L(
, which measures the difference between the predicted output
and the true output
y. This is typically achieved through backpropagation, where the gradients of the loss function with respect to the network parameters are computed using the chain rule, and the parameters are updated via an optimization algorithm such as stochastic gradient descent (SGD); see Equation (11).
where
η is the learning rate.
To determine which neural network model fits best for a particular task, one must evaluate several architectures and hyperparameter configurations. Key factors to consider include the number of hidden layers, the number of neurons per layer, the choice of activation functions, and the regularization techniques (e.g., dropout, L2 regularization) to prevent overfitting.
Model selection can be systematically approached by dividing the dataset into training, validation, and test sets. The training set is used to fit the model, the validation set is used to tune hyperparameters and select the best model, and the test set provides an unbiased evaluation of the model’s performance. Cross-validation techniques can further enhance the robustness of model selection by averaging performance metrics over multiple folds of the data.
Finally, metrics such as accuracy, precision, recall, F1-score, or mean squared error (depending on the task) are used to compare the performance of different models. The model with the best performance on the validation or test set is considered the best fit for the given problem.
The models employed by Orange Data Mining utilize a neural network to ascertain the optimal model, with the logistic regression widget selected to facilitate this determination. The tree algorithm is a straightforward approach that partitions the data into nodes based on class purity (information gain for categorical and MSE for numeric target variables). The Tree widget, designed in-house, is capable of handling both categorical and numeric datasets. The Neural Network widget utilizes the sklearn Multi-layer Perceptron algorithm, which is capable of learning both non-linear and linear models. Naive Bayes is a fast and simple probabilistic classifier based on Bayes’ theorem, assuming feature independence. Subsequently, the confusion matrix provides the number or proportion of instances between the predicted and actual class. The selection of elements from the matrix is then fed into the corresponding instances of the output signal. This allows the user to identify which instances were misclassified and how. Subsequently, an image viewer is incorporated to facilitate observation of the algorithmic identification of images exhibiting defects, as illustrated in
Figure 5.