An unmanned aerial vehicle based wind turbine blade inspection method

By using drones equipped with multiple sensors and dynamic image adjustment, combined with grayscale conversion and wind speed data noise reduction, high-precision crack detection of wind turbine blades across the entire range was achieved, solving the problem of detection accuracy in complex environments and providing data support for full lifecycle management.

CN122135355APending Publication Date: 2026-06-02华能吐鲁番风力发电有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
华能吐鲁番风力发电有限公司
Filing Date
2026-02-27
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing wind turbine blade inspection technologies are difficult to achieve full-range inspection in complex environments, have low inspection accuracy, and traditional methods cannot effectively distinguish between crack patterns and background textures.

Method used

By using drones equipped with multiple sensors and dynamically adjusting images based on flight altitude and light intensity, and employing a multi-step crack screening, optimization, and verification process through grayscale conversion and wind speed data noise reduction, and combining timestamps to correlate crack time sequences, fine linear cracks can be accurately identified.

Benefits of technology

It improves the quality and applicability of image acquisition, accurately identifies cracks, reduces detection errors, provides data support for the full life cycle management of wind turbine blades, and reduces maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122135355A_ABST
    Figure CN122135355A_ABST
Patent Text Reader

Abstract

This invention relates to the field of wind turbine blade inspection technology, and discloses a method and system for wind turbine blade inspection based on unmanned aerial vehicles (UAVs). The method includes acquiring raw image data, real-time flight altitude, and ambient light intensity through UAV sensors, and dynamically adjusting to obtain an initial blade image; synchronizing wind speed data with the image acquisition angle, and obtaining a smoothed image through grayscale conversion and noise suppression; extracting linear features from the smoothed image and filtering and merging them to obtain candidate crack regions; optimizing the crack boundaries of the candidate crack regions and filtering to obtain a set of separated cracks; calculating the density of adjacent pixels based on the set of separated cracks and determining the real cracks, and obtaining a marked crack image by combining timestamp temporal correlation; performing crack connection and jagged edge elimination on the marked crack image, and obtaining the final crack identification result through grayscale mapping and segmentation verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wind turbine blade inspection technology, and in particular to a wind turbine blade inspection method and system based on unmanned aerial vehicles (UAVs). Background Technology

[0002] The health of wind turbine blades is related to the efficiency of wind power generation and the life of the equipment. Visual inspection technology is gradually becoming an important means of wind turbine blade inspection. Under the current technology, it is mostly necessary to rely on manual high-altitude operation with equipment or traditional fixed vision devices to collect local images, and then manually identify damage. A simple grayscale threshold segmentation algorithm is used for preprocessing, with the threshold taken as an empirical fixed value, to screen out suspicious damage areas. Overall, visual images replace part of the manual observation.

[0003] However, manual carrying of equipment for high-altitude inspections is difficult to adapt to complex outdoor environments and the overall inspection efficiency is low; traditional fixed vision devices are limited by installation location and cannot achieve full-leaf image acquisition, making it difficult to meet the full-range detection needs; traditional fixed threshold algorithms can only filter areas based on experience values, lacking a targeted feature differentiation mechanism and failing to effectively distinguish between split lines and background textures, resulting in low detection accuracy.

[0004] Therefore, existing wind turbine blade inspection technology is difficult to adapt to the needs of high-altitude operations in complex environments, resulting in low detection accuracy of wind turbine blade inspection. Summary of the Invention

[0005] This invention provides a method and system for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs) to improve the accuracy of wind turbine blade inspection in complex environments.

[0006] Firstly, in order to solve the above-mentioned technical problems, the present invention provides a method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs), comprising: The original image data, real-time flight altitude, and ambient light intensity are acquired by the drone's sensors. The original image data is then dynamically adjusted based on the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. Synchronize wind speed data and image acquisition angle, perform grayscale conversion on the initial blade image based on the image acquisition angle to obtain a corrected grayscale image, and perform noise suppression on the corrected grayscale image based on the wind speed data to obtain a smoothed image; Linear feature segments are extracted from the smoothed image, and the linear feature segments are filtered and merged in combination with preset blade regions and preset crack screening conditions to obtain candidate crack regions. Crack boundary optimization is performed on the candidate crack regions to obtain boundary crack regions, and the boundary crack regions are then filtered to obtain a set of separate cracks. The density of adjacent pixels is calculated based on the separated crack set to obtain a linear feature value. If the linear feature value exceeds a preset crack judgment threshold, it is judged as a real crack and the crack position is marked. The crack position is temporally correlated with the image acquisition timestamp to obtain a marked crack image. The marked crack image is connected to obtain an expansion crack image, and the expansion crack image is then de-aliased to obtain a connected crack image. The image of the connected crack is mapped to grayscale to generate a density distribution map. The density distribution map is segmented to obtain candidate connected components. If the candidate connected components meet the preset crack morphology verification criteria, the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained.

[0007] Secondly, the present invention provides a wind turbine blade inspection system based on unmanned aerial vehicles (UAVs), comprising: The original image acquisition and dynamic adjustment module is used to acquire original image data, real-time flight altitude and ambient light intensity through the UAV sensor, and dynamically adjust the original image data in combination with the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. The image grayscale conversion and noise suppression module is used to synchronize wind speed data and image acquisition angle, convert the initial blade image to grayscale based on the image acquisition angle to obtain a corrected grayscale image, and suppress noise in the corrected grayscale image based on the wind speed data to obtain a smoothed image. The crack screening and merging module is used to extract linear feature segments from the smoothed image, and to screen and merge the linear feature segments in combination with a preset blade region and a preset crack screening condition to obtain candidate crack regions. The separated crack set generation module is used to optimize the crack boundaries of the candidate crack regions to obtain boundary crack regions, and to filter the boundary crack regions to obtain a separated crack set. The crack temporal association marking module is used to calculate the density of adjacent pixels based on the separated crack set to obtain linear feature values. If the linear feature values ​​exceed the preset crack judgment threshold, it is judged as a real crack and the crack position is marked. The crack position is temporally associated with the image acquisition timestamp to obtain the marked crack image. The discontinuous crack connection module is used to connect the marked crack images to obtain an expansion crack image, and to remove the jagged edges from the expansion crack image to obtain a connected crack image. The final crack result generation module is used to perform grayscale mapping on the connected crack image to generate a density distribution map, segment the density distribution map to obtain candidate connected components, and if the candidate connected components meet the preset crack morphology verification criteria, then the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained.

[0008] Compared with the prior art, the present invention has the following beneficial effects: (1) This invention uses a drone equipped with multiple sensors to collect data and dynamically adjusts the original image by combining flight altitude and light intensity. This solves the problems of limited collection range of traditional fixed devices and low efficiency of manual inspection, and improves the quality and applicability of image acquisition in complex environments.

[0009] (2) The present invention adopts a grayscale conversion combined with wind speed data noise reduction processing method to specifically eliminate the interference of environmental factors on the image. Then, through a multi-step crack screening, optimization, connection and verification process, the threshold of each step is determined based on the crack characteristics of the wind turbine blade and the measured data, accurately identifying fine linear cracks, effectively distinguishing cracks from background texture, and improving detection accuracy.

[0010] (3) The present invention combines timestamps to correlate crack locations in a time sequence, which can track the growth trajectory of cracks, provide data support for the full life cycle health management of wind turbine blades, and reduce subsequent maintenance costs. Attached Figure Description

[0011] Figure 1 This is a schematic diagram of the wind turbine blade inspection method based on UAV provided in the first embodiment of the present invention; Figure 2 This is a schematic diagram of the structure of a wind turbine blade inspection system based on a drone provided in the second embodiment of the present invention. Detailed Implementation

[0012] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0013] Reference Figure 1 The first embodiment of the present invention provides a method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs), including the following steps: S11: Acquire raw image data, real-time flight altitude, and ambient light intensity through the UAV sensor; dynamically adjust the raw image data by combining the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. S12, synchronize wind speed data and image acquisition angle, perform grayscale conversion on the initial blade image according to the image acquisition angle to obtain a corrected grayscale image, and perform noise suppression on the corrected grayscale image according to the wind speed data to obtain a smoothed image; S13, extract linear feature segments from the smoothed image, and combine the linear feature segments with the preset blade region and preset crack screening conditions to obtain candidate crack regions; S14, perform crack boundary optimization on the candidate crack region to obtain the boundary crack region, and filter the boundary crack region to obtain the set of separated cracks. S15, calculate the density of adjacent pixels based on the separated crack set to obtain linear feature values. If the linear feature values ​​exceed the preset crack judgment threshold, it is judged as a real crack and the crack position is marked. Combine the image acquisition timestamp to perform temporal correlation on the crack position to obtain the marked crack image. S16, the marked crack image is connected to obtain an expansion crack image, and the expansion crack image is de-aliased to obtain a connected crack image. S17, perform grayscale mapping on the connected crack image to generate a density distribution map, segment the density distribution map to obtain candidate connected components, and if the candidate connected components meet the preset crack morphology verification criteria, then confirm that the candidate connected components are fine linear cracks and obtain the final crack identification result.

[0014] In step S11, the process of acquiring raw image data, real-time flight altitude, and ambient light intensity through the UAV sensor, and dynamically adjusting the raw image data based on the real-time flight altitude and ambient light intensity to obtain an initial leaf image includes: Acquire real-time flight altitude, ambient light intensity, and regional spatial coordinates of the wind turbine blade surface; The camera exposure time adjustment coefficient and gimbal angle compensation data are generated based on the ambient light intensity. By combining the real-time flight altitude, the adjustment coefficient, and the compensation data, the acquisition location coordinates covering the spatial coordinates of the area are calculated; Drive the drone to the specified acquisition location coordinates to begin acquiring raw image data. Verify the raw image data based on the spatial coordinates of the region to obtain an initial leaf image.

[0015] It should be noted that the real-time flight altitude is collected as floating-point data by a laser altimeter with a range of 0-100m and an accuracy of ±0.05m at a frequency of 10 frames / second, and then smoothed by a 3-cycle moving average to obtain the effective flight altitude value H; the light sensor with a range of 0-200000lux and an accuracy of ±5% is collected as floating-point data at the same sampling frequency, and then simultaneously denoised by a 3-cycle moving average to obtain the effective light intensity value I.

[0016] It is worth noting that the preset camera base exposure time is 500μs, which is suitable for normal lighting (I=5000-15000lux). The dimensionless adjustment coefficient k(I) is calculated according to the effective light intensity value I in intervals and takes the value between 0.2 and 5.0. Where: low light environment I≤1000luxkk(I)=4.0-0.0028×I; mild low light environment 1000<I≤5000luxk(I)=1.2+0.000035×I; mild strong light environment 5000<I≤20000luxk(I)=1.375-0.00001875×I; strong light environment 20000<I≤100000luxk(I)=1.0-0.000005×I; super strong light environment I>100000luxk(I)=0.5-0.0000025×I. The interval division and corresponding piecewise functions have been calibrated through numerous outdoor wind turbine blade inspection scenarios.

[0017] The preset gimbal base pitch angle α0 = 45°, base yaw angle β0 = 0°, compensation accuracy of 0.1°, and effective only when I > 1000 lux. Compensation data is obtained by querying a preset mapping table. An environmental simulation system consistent with outdoor inspection is built to simulate the full range of effective light intensity (1000-200000 lux, divided into calibration nodes at 100 lux intervals) and simultaneously simulate different effective flight altitudes of the UAV (3-100m, divided into 1m intervals). Subsequently, for each light intensity-flight altitude combination, the optimal values ​​of gimbal pitch angle compensation Δα and horizontal angle compensation Δβ are collected using a high-precision gimbal attitude tester and reflectivity tester. The criteria for determining the optimal value are that the lens is pointed at the target blade area and the reflectivity is ≤5%, and the collection range is complete and unobstructed. Each calibration node is repeatedly collected 3 times, and the average value is taken as the standard calibration data for that node. The effective light intensity and real-time flight altitude are used as input parameters, and the corresponding optimal values ​​of Δα and Δβ are used as output parameters. Finally, a preset mapping table is constructed.

[0018] It should be noted that the preset area spatial coordinates are obtained by full-size modeling of the blade using 3D laser scanning technology, and represent the 3D spatial coordinate parameters corresponding to each physical location on the blade surface. The origin of the coordinates is set at the center of the wind turbine hub, the X-axis is parallel to the horizontal direction of the ground, the Y-axis is perpendicular to the vertical direction of the ground, and the Z-axis is along the extension direction of the blade.

[0019] Specifically, based on real-time flight altitude, adjustment coefficients, and compensation data, an affine transformation formula is used to map the regional spatial coordinates to coordinates in the UAV's data acquisition coordinate system. The joint rotation matrix is ​​obtained by performing matrix multiplication on the basic rotation matrices based on pitch and yaw angles in the order of "pitch first, then yaw." For pitch angle, the basic rotation matrix is ​​a matrix rotating around the X-axis, used to adjust the coordinate components of the 3D point in the vertical direction; for yaw angle, the basic rotation matrix is ​​a matrix rotating around the Y-axis, used to adjust the coordinate components of the 3D point in the horizontal direction. The origin corresponding to the regional spatial coordinates is used as the origin of the world coordinate system. The X, Y, and Z distances of the UAV relative to the origin of the blade's world coordinate system are obtained through the UAV's onboard positioning module, resulting in the translation vector. The scaling factor is calculated using the formula 0.8 + 0.2 × k(I), making the scaling factor range 0.84-1.8, adaptable to the entire flight altitude range of 3-100m.

[0020] For example, the outdoor inspection scenario is a mild low-light environment (I=3000 lux), the effective light intensity meets the compensation activation conditions, the effective flight altitude H=50m, the adjustment coefficient is calculated to be 1.305 using the formula, and the scaling factor is calculated to be 1.061 using the scaling factor formula; Δα=1.0°, Δβ=0°, and the actual pitch angle of the gimbal. The yaw angle β = 0°, and the joint rotation matrix is ​​calculated using the yaw and pitch angles. The relative distances of the translation vectors are 2m along the X-axis, 50m along the Y-axis, and 5m along the Z-axis. Finally, the acquisition coordinates corresponding to the starting point (0,0,0) at the blade root are calculated to be (2,50,5) using the affine transformation formula.

[0021] After driving the drone to the acquisition location coordinates, it pauses at each point for 2 seconds to collect raw image data. The raw image data stream is then verified based on the regional spatial coordinates. During verification, the deviation between the actual spatial coordinates corresponding to the image data and the regional spatial coordinates is calculated. If the deviation exceeds a preset threshold, such as 2 pixels (corresponding to an actual distance of 8 micrometers), the data is deemed invalid. Through multiple sets of experiments, it was determined that the coordinate deviation in blade image acquisition mainly comes from drone hovering jitter (≤±0.03m) and gimbal angle adjustment deviation (≤0.1°), corresponding to an image pixel deviation ≤1.5 pixels. Therefore, a deviation threshold of 2 pixels is set, with a 0.5-pixel margin, which can effectively avoid misjudging valid data due to occasional jitter. At the same time, if the threshold is set too small (e.g., 1 pixel), valid data may be deemed invalid due to minor deviations; if the threshold is set too large (e.g., 3 pixels), blurry or misaligned images with excessive coordinate deviations may be deemed valid, introducing interference data.

[0022] In step S12, the synchronized wind speed data and image acquisition angle are used to perform grayscale conversion on the initial blade image based on the image acquisition angle to obtain a corrected grayscale image. Then, noise suppression is applied to the corrected grayscale image based on the wind speed data to obtain a smoothed image. This includes: The red, green, and blue color channel values ​​of the initial leaf image are obtained, and the red, green, and blue color channel values ​​are weighted and summed according to a preset weighting ratio to obtain a single-channel basic grayscale matrix. Read the image acquisition angle that is synchronously acquired with the initial leaf image, map the image acquisition angle to the pixel coordinates of the single-channel basic grayscale matrix to obtain the line-of-sight incident angle numerical sequence, and derive the grayscale attenuation numerical sequence based on the line-of-sight incident angle numerical sequence. The grayscale attenuation numerical sequence is inversely transformed to obtain the brightness compensation numerical matrix. The single-channel basic grayscale matrix and the brightness compensation numerical matrix are multiplied by a dot product to obtain the corrected grayscale image. Acquire wind speed data synchronously with the corrected grayscale image, calculate the wind turbulence amplitude based on the wind speed data, and convert it into a motion blur matrix; By combining the local texture frequencies of the corrected grayscale image with the motion blur degree matrix, a noise distribution density map is generated; The filter kernel size sequence is determined based on the noise distribution density map. The filter kernel size sequence is then used to perform convolution operations and edge gradient weighted correction on the corrected grayscale image to obtain a smoothed image.

[0023] It's worth noting that the preset weighting ratio is set to 0.299 for the red channel, 0.587 for the green channel, and 0.114 for the blue channel. This preset weighting ratio has been verified through numerous wind turbine blade inspection images and is adapted to the color characteristics of the blade surface coating (mostly white and gray tones), effectively preserving the grayscale difference between cracks and the blade background. The image acquisition angles include the gimbal pitch angle, yaw angle, and the line-of-sight angle of the light from the drone camera relative to the blade normal.

[0024] It is worth noting that the three-dimensional spatial position parameters of the blade surface are converted into two-dimensional pixel coordinates of a single-channel basic grayscale matrix. The mapping from three-dimensional spatial points to two-dimensional pixel points is achieved through two-step coordinate transformation. The first step is the transformation from the world coordinate system to the camera coordinate system. A joint rotation matrix is ​​constructed using the pitch and yaw angles of the UAV gimbal, and a translation vector is constructed in combination with the relative position of the UAV and the blade. The world coordinates of the three-dimensional points on the blade surface are converted into camera coordinates with the camera optical center as the origin. The second step is the transformation from the camera coordinate system to the pixel coordinate system. The three-dimensional coordinates in the camera coordinate system are projected onto the imaging plane using the perspective projection formula in combination with the camera intrinsic parameters, and finally converted into two-dimensional pixel coordinates.

[0025] It should be noted that the joint rotation matrix and translation vector follow the same method used in step S11 to construct the location coordinates acquired by the UAV. Finally, the first step of coordinate transformation is completed by substituting the world coordinate system to camera coordinate system conversion formula. The camera intrinsic parameters include the camera focal length and pixel size. The perspective projection formulas are u=(f×Xc) / (Zc×d)+u0 and v=(f×Yc) / (Zc×d)+v0. These must be calculated using the same unit, meters. Here, u is the horizontal pixel coordinate value in the pixel coordinate system, v is the vertical pixel coordinate value in the pixel coordinate system, f is the camera focal length, Xc is the horizontal coordinate component in the camera coordinate system, Yc is the vertical coordinate component in the camera coordinate system, Zc is the depth coordinate component in the camera coordinate system, d is the camera pixel size, u0 is the horizontal component of the principal point coordinates, and v0 is the vertical component of the principal point coordinates.

[0026] For example, the 3D world coordinates of a point on the surface of a wind turbine blade are (50.2, 12.5, 8.6) meters. When a drone collects data at this point, the gimbal's pitch angle is 46 degrees and its yaw angle is 0 degrees. A rotation matrix is ​​constructed using the pitch and yaw angles. Combined with the relative position of the drone and the blade, a translation vector of (2.5, 1.8, 0.5) meters is obtained, converting the world coordinates to (1.2, 0.8, 5.5) meters in the camera coordinate system. Then, the camera's intrinsic parameters are determined: the camera focal length f = 8 mm, the pixel size d = 4 micrometers, and the principal point coordinates are (1280, 960). These principal point coordinates represent the pixel position at the intersection of the camera's optical axis and the imaging plane. Substituting these coordinates into the perspective projection formula, the pixel coordinates are calculated. The calculated values ​​are u = 1716 and v = 1291. This point corresponds to the pixel in the 1716th column and 1291st row of the grayscale matrix.

[0027] It should be noted that the viewing angle of each pixel coordinate is read and arranged in the pixel order of the single-channel basic grayscale matrix to form a sequence of viewing angle values. Each angle value in this sequence corresponds to a pixel position in the matrix.

[0028] In this embodiment, the Lambert cosine law is introduced to derive the grayscale attenuation numerical sequence. Since grayscale value is positively correlated with reflective brightness, the grayscale attenuation factor k = cosθ can be derived, and the corresponding grayscale attenuation value G(θ) = G0 × cosθ, where G0 is the base grayscale value at perpendicular incidence. For example, when collecting data from the middle region of a leaf, the incident angle θ1 is 42 degrees, cos42° ≈ 0.743. If the base grayscale value G0 at perpendicular incidence in this region is 145, then the attenuated grayscale value G(42°) = 145 × 0.743 ≈ 108. By calculating the incident angle for each pixel, the complete grayscale attenuation numerical sequence can be obtained.

[0029] It is worth noting that an inverse transformation is performed on the grayscale attenuation numerical sequence, with a compensation factor of 1 / cosθ, to obtain the brightness compensation numerical matrix. The single-channel basic grayscale matrix and the brightness compensation numerical matrix are then multiplied pixel-by-pixel to obtain the corrected grayscale image. This processing enhances the contrast of defect features.

[0030] Wind speed data is recorded in real-time by the wind speed sensor onboard the drone, in meters per second. The formula for calculating the wind jitter amplitude is the real-time wind speed multiplied by the jitter displacement coefficient, where the jitter displacement coefficient is 0.08 pixels / (m / s). Extensive outdoor testing and calibration ensure that the calculated jitter amplitude is consistent with the actual drone jitter. When the wind speed in the data collection area is 10 m / s, substituting into the formula yields a wind jitter amplitude of 0.08 × 10 = 0.8 pixels. The wind jitter amplitude is mapped into a motion blur matrix according to a preset mapping rule. The jitter displacement value is divided into intervals and assigned values; for example, a blur value of 0.3 is assigned when the displacement is ≤0.5 pixels, 0.6 when it is 0.5-1.0 pixels, and 1.0 when it is >1.0 pixels. Then, based on the spatial coordinates of the regions, the blur value of each region is filled into the pixel position corresponding to the corrected grayscale image, transforming it into a motion blur matrix.

[0031] In generating the noise distribution density map, the local texture frequency of the corrected grayscale image needs to be calculated first. In this embodiment, the image is divided into several fixed-size blocks, with the fixed size selected as 16×16 pixels to match the characteristic scale of the fine cracks in the wind turbine blades. The texture frequency is characterized by the number of grayscale value changes within each block. The local texture frequency value is equal to the total number of grayscale changes in the horizontal and vertical directions within the block divided by the total number of maximum grayscale changes within the block. The normalized value is the local texture frequency value of the block. For a 16×16 pixel block, the maximum number of horizontal changes is 16×(16-1)=240 times, the maximum number of vertical changes is also 240 times, and the total number of maximum grayscale changes within the block is 480 times.

[0032] It should be noted that the algorithm iterates through adjacent pixels in both the horizontal and vertical directions within a small image patch, comparing the grayscale value difference between adjacent pixels. A grayscale value change is defined as a change greater than or equal to a preset grayscale difference threshold. Finally, the total number of changes in both directions is counted. The preset grayscale difference threshold T=2 (per unit grayscale level) is determined through multi-scene calibration of blade images. The grayscale difference of a fine crack in a blade is usually ≥3, while the grayscale fluctuation caused by slight noise is ≤1. Setting T=2 can effectively distinguish between grayscale changes caused by cracks and grayscale fluctuations caused by noise.

[0033] In this embodiment, the calculated local texture frequency value and the motion blur degree matrix are weighted and summed. The local texture frequency weight coefficient and the motion blur weight coefficient can be calibrated according to the actual inspection scenario. In this embodiment, they are both set to 0.5. For example, if the local texture frequency value of a certain pixel is 0.8 and the motion blur value is 1.0, its noise density value is calculated to be 0.5×0.8+0.5×1.0=0.9. The noise density values ​​of all pixels are filled into a matrix with the same size as the corrected grayscale image to obtain the noise distribution density map.

[0034] It is worth noting that the filter kernel size sequence is determined based on the noise distribution density map. A 3×3 kernel is used in smooth areas with noise density below 0.3, a 5×5 kernel is used in transition areas with density between 0.3 and 0.7, and a 7×7 kernel is used in severely blurred areas with density exceeding 0.7. The corresponding size filter kernel is centered on the current pixel to be processed and slides a window across the corrected grayscale image. The grayscale values ​​of all pixels within the coverage area of ​​the filter kernel are extracted. The grayscale values ​​of each pixel are multiplied by the weights of the filter kernel itself, summed, and then divided by the sum of the weights within the filter kernel to obtain the convolution smoothing result.

[0035] It should be noted that all the filter kernels used are Gaussian filter kernels, and their weights follow a two-dimensional Gaussian distribution. The pixel at the center of the kernel has the largest weight, and the weights gradually decrease towards the edge pixels. In addition, the sum of all weight values ​​is normalized to 1. Specifically, the 3×3 Gaussian filter kernel (standard deviation σ=0.8) corresponds to the smooth region with noise density below 0.3, with the weight distribution concentrated in the center pixel, with a center weight of approximately 0.225, the weights of the four adjacent pixels each approximately 0.124, and the weights of the four edge pixels each approximately 0.031; the 5×5 Gaussian filter kernel (standard deviation σ=1.0) corresponds to the transition region with noise density from 0.3 to 0.7, with a relatively uniform weight distribution, a center weight of approximately 0.054, a near-center pixel weight of approximately 0.050, and an edge pixel weight of approximately 0.006, with a moderate weight decay rate; the 7×7 Gaussian filter kernel (standard deviation σ=1.2) corresponds to the severely blurred region with noise density exceeding 0.7, with a more dispersed weight distribution, a center weight of approximately 0.027, a near-center pixel weight of approximately 0.026, and an edge pixel weight of approximately 0.002.

[0036] In this embodiment, the Sobel edge detection algorithm is used to calculate the edge gradient magnitude of the image. Weighted enhancement is applied to edge regions (gradient magnitude > 20) with a weight coefficient of 1.2, while the weight coefficient for non-edge regions is set to 1.0. The final grayscale value of the pixel is obtained by multiplying the convolution smoothing result by the weight coefficient, forming a smoothed image. Sobel edge detection was performed on 1000 sets of corrected grayscale images of wind turbine blades under different operating conditions. The gradient magnitude distribution between crack edges and background regions was statistically analyzed. The gradient magnitude of crack edges on wind turbine blades was ≥ 20, with over 88% of crack edges having gradient magnitudes between 20 and 50, indicating significant abrupt grayscale changes at crack edges. In contrast, the gradient magnitude of smooth background regions on the blades was ≤ 18, showing gradual grayscale changes. A gradient magnitude margin of 2 is reserved to effectively avoid edge misjudgment caused by slight noise or grayscale fluctuations.

[0037] It is worth noting that moderate enhancement is needed after smoothing to restore edge contrast. In the experiment, multiple weight coefficients of 1.0, 1.1, 1.2, 1.3, and 1.4 were tested. When the coefficient is 1.0, there is no edge enhancement and fine cracks are easily blurred and indistinguishable. When the coefficient exceeds 1.2, edge artifacts are introduced, residual noise is amplified, and image uniformity is reduced. When the coefficient is 1.2, the edge gradient and gray-level transition weakened by filtering can be effectively restored.

[0038] In step S13, the extraction of linear feature segments from the smoothed image, and the merging of these linear feature segments in conjunction with a preset blade region and preset crack screening conditions to obtain candidate crack regions, includes: High-frequency signals are extracted from the smoothed image using a preset multi-scale gradient operator and converted into a binary edge response map. The binary edge response map is then skeletonized to obtain linear feature lines. Calculate the direction angle and geometric length of the linear feature line segment, and map the linear feature line segment to a preset blade region to obtain the blade partition category; The linear feature segments are selected according to the preset crack screening conditions corresponding to the blade partition category to obtain abnormal cracks. The abnormal cracks are then clustered and merged to obtain candidate crack regions.

[0039] It should be noted that the preset multi-scale gradient operator is the multi-scale Sobel operator, with preset scale ranges of 3×3, 5×5, and 7×7, balancing the subtle features of cracks (typically 0.1-2mm wide, corresponding to 1-10 image pixels) with the suppression of interference from blade surface texture. This multi-scale gradient operator is applied to the smoothed image, extracting high-frequency signals pixel by pixel. These high-frequency signals correspond to areas of abrupt grayscale value changes in the image, i.e., areas where edges such as cracks or scratches may exist. Simultaneously, low-frequency signals (grayscale signals in uniform areas of the blade surface) are suppressed, resulting in a multi-scale gradient response map.

[0040] Subsequently, the multi-scale gradient response map is binarized. The preset gradient response threshold can be determined based on the grayscale characteristics of the blade surface coating. Based on the typical grayscale transitions of white and gray coatings at the crack edge, such as ≥30 grayscale levels, the default value is set to 20-30, corresponding to an 8-bit grayscale image with a grayscale range of 0-255. Pixels with gradient response values ​​greater than this threshold are marked as foreground pixels with a grayscale value of 255, corresponding to possible edge regions; pixels with gradient response values ​​less than or equal to this threshold are marked as background pixels with a grayscale value of 0, corresponding to smooth areas on the blade surface, thus obtaining the binarized edge response map. Finally, the binarized edge response map is skeletonized using the Zhang-Suen skeleton extraction algorithm, traversing the binarized edge response map pixel by pixel, deleting redundant pixels on the edges, retaining the center lines of the edges, ensuring that the width of the skeleton lines is 1 pixel, and preserving the connectivity and overall shape of the edges, ultimately obtaining linear feature lines.

[0041] The geometric length of the linear feature segment is calculated by counting the number of pixels in each segment and converting it to the actual physical length based on the camera pixel size (for example, if the pixel size is 4 micrometers and a linear feature segment contains 25 pixels, its actual geometric length is 25 × 4 micrometers = 100 micrometers). The pixel length can also be retained for subsequent screening. The orientation angle is obtained by fitting the pixel coordinates of each linear feature segment to a straight line using the least squares method to obtain the slope of the segment. Then, the angle between the segment and the positive X-axis is calculated based on the slope to obtain the orientation angle. The orientation angle ranges from 0° to 180° and is used to characterize the extension direction of the linear feature segment.

[0042] It should be noted that the preset blade regions are divided into three core areas based on the structural characteristics of the wind turbine blades: the root area, the middle area, and the tip area. Each area corresponds to a specific range of pixel coordinates, which corresponds to the mapping relationship between the area's spatial coordinates and the image's pixel coordinates. By extracting the midpoint pixel coordinates of each linear feature line segment and determining which preset blade region's coordinate range the midpoint falls into, the blade region category of the linear feature line segment can be determined. For example, if the midpoint coordinates of a linear feature line segment are (1716, 1291), and it falls within the coordinate range of the middle region of the blade, then the blade region category of this line segment is the middle region.

[0043] It is worth noting that by comparing the corresponding preset crack screening conditions, the linear feature segments that meet the conditions are retained as abnormal cracks. The preset crack screening conditions are determined based on the structural characteristics and crack distribution patterns of each region. In the root region, the blades are thicker and the cracks are mostly horizontally extending with relatively long actual lengths. The preset screening conditions are: pixel length ≥ 15 pixels (corresponding to actual length ≥ 60 micrometers), directional angle 80°-100° (horizontal extension), and line segment continuity ≥ 90% (no obvious breaks). In the middle region, the blade surface is flat and the cracks are mostly vertically extending with medium lengths. The preset screening conditions are: pixel length ≥ 10 pixels (corresponding to actual length ≥ 40 micrometers), directional angle 0°-20° or 160°-180° (vertical extension), and line segment continuity ≥ 85%. In the tip region, the blades are thinner and the cracks are mostly short, horizontally or obliquely extending. The preset screening conditions are: pixel length ≥ 5 pixels (corresponding to actual length ≥ 20 micrometers), directional angle is not strictly limited (30°-150°), and line segment continuity ≥ 80%. The above continuity is calculated as the ratio of the actual pixel length of the line segment to the pixel length of the fitted straight line.

[0044] The process involves clustering and merging abnormal cracks using a distance-based clustering algorithm. A preset clustering distance threshold of 2-3 pixels (corresponding to an actual distance of 8-12 micrometers) is used. The pixel distance between any two abnormal cracks is determined by calculating the shortest distance between pixels using Euclidean distance. If the distance is less than or equal to the clustering distance threshold, and the absolute value of the difference in the direction angles of the two segments is less than or equal to a preset direction angle threshold of 30°, they are considered segments of the same crack and are connected and merged to fill in the breakpoints, forming complete crack segments. If the distance is greater than the clustering distance threshold or the direction difference is too large, they are considered different cracks and are not merged. After clustering and merging, each merged crack segment and the pixel area it covers constitutes a candidate crack region.

[0045] It should be noted that the clustering distance threshold, combined with camera acquisition parameters (pixel size 4 micrometers), and referencing statistical data from 500 blade cracks of different grades (the actual gap of the same crack segment is ≤12 micrometers, 90% ≤8 micrometers, and the minimum spacing between different independent cracks is ≥15 micrometers), achieves precise demarcation. At the same time, a 0.5 pixel interference offset margin is reserved to avoid insufficient clustering caused by lighting and shaking. The preset orientation angle threshold (≤30°) is set based on the linear continuity of blade crack extension. Referring to the statistical results of 500 sampled cracks, the orientation angle difference of the same segment is ≤25°, and the difference between different cracks is ≥40°. A 5° deviation margin is reserved to compensate for the orientation deviation caused by drone shaking and blade curvature.

[0046] In step S14, the candidate crack regions are optimized to obtain boundary crack regions, and the boundary crack regions are then filtered to obtain a set of separated cracks, including: Obtain local image data of the candidate crack region, and construct a pixel similarity matrix based on the local image data; The candidate crack regions are aggregated according to the pixel similarity matrix to obtain a connected region. If the connected region satisfies a preset eccentricity threshold, the connected region is marked as the initial crack region. The edge contour of the initial crack region is extracted and the pixel expansion amplitude is calculated. The boundary expansion range of the initial crack region is adjusted according to the pixel expansion amplitude, and a preset smoothing operator is applied to eliminate the jagged protrusions of the initial crack region to obtain the boundary crack region. The texture consistency index of the boundary crack region is statistically analyzed, and a set of separate cracks is obtained based on the texture consistency index.

[0047] It should be noted that the extraction range of the local image data is 5-8 pixels outward from the boundary of the candidate crack region. This 5-8 pixel range balances the background information around the crack with computational efficiency. The local image data uses smoothed grayscale pixel data. A pixel similarity matrix is ​​then constructed based on this local image data. The matrix dimension is consistent with the number of pixels in the local image. For example, if the local image contains 7×8 pixels, the pixel similarity matrix is ​​a (7×8)×(7×8) square matrix. The element (4,6) in the matrix represents the similarity between the 4th and 6th pixels in the local image. The absolute value of the difference in grayscale values ​​between the two target pixels is weighted and summed with the spatial distance, then divided by a preset normalization coefficient, and the difference is taken from 1. The absolute value of this sum is then used to obtain the similarity between the two target pixels. The grayscale distance weight is preset to 0.7, and the spatial distance weight is preset to 0.3. This is because grayscale similarity has higher priority than spatial distance in crack recognition, while also taking into account the spatial correlation of pixels. The preset normalization coefficient is set to 255 (i.e., the maximum difference in grayscale values). (Maximum spatial distance, corresponding to the diagonal distance of 8 pixels) is approximately 266.31. The closer the similarity value is to 1, the more likely the two pixels belong to the same crack area.

[0048] The algorithm employs a similarity threshold-based aggregation method. The preset pixel similarity threshold is 0.6-0.7, determined by the uniformity of grayscale on the blade surface. Grayscale uniformity is normalized to the 0-1 range using the average grayscale variance. A lower threshold is used for high grayscale uniformity (≥0.8), and vice versa. The pixel similarity matrix is ​​traversed, and pixels with similarity values ​​greater than or equal to the threshold are grouped into the same pixel group. Adjacent pixel groups are merged through connectivity analysis to form multiple connected components. The eccentricity of each connected component is then calculated. The eccentricity is calculated as the ratio of the major axis to the minor axis of the smallest bounding rectangle of the connected component. The eccentricity ranges from 0 to 1. A value closer to 1 better reflects the morphological characteristics of wind turbine blade cracks (mostly slender linear shapes), while a value closer to 0 often indicates areas with surface impurities, noise, or other interference. The preset eccentricity threshold is 0.75-0.85. Iterate through all connected components and determine whether the eccentricity of each connected component is greater than or equal to the threshold. If it is satisfied, the connected component is marked as the initial crack region and the region that meets the crack morphology characteristics is retained. If it is not satisfied, it is determined to be an interfering connected component and is removed.

[0049] It should be noted that the preset eccentricity threshold was determined by statistical analysis of the connected domain morphology of 500 wind turbine blade cracks of different grades. The actual eccentricity of the connected domain corresponding to the cracks was ≥0.75, with more than 85% of the cracks having an eccentricity ≤0.85. Furthermore, the finer and longer the crack morphology, i.e., microcracks with a length >10mm and a width <0.5mm, the closer the eccentricity was to 0.85. Meanwhile, the connected domains corresponding to impurities, noise, and other interference areas on the blade surface, such as dust spots, coating scratches, and light reflection artifacts, all had an eccentricity ≤0.7, and their shapes were mostly close to circular or irregular blocks. Meanwhile, dynamic adaptation is performed based on the uniformity of grayscale on the blade surface. If the uniformity of grayscale on the blade surface is high, the grayscale difference between the interference area and the crack is more obvious, and the eccentricity threshold can be set to a lower value, such as 0.75, to avoid missing short and thin cracks with slightly lower eccentricity. If the uniformity of grayscale is low, the interference area is prone to forming a slender connected domain, and the threshold can be set to a higher value, such as 0.85, to prevent the interference area from being misjudged as the initial crack area.

[0050] It is worth noting that the Canny edge detection algorithm is used to extract the edge contour of each initial crack region. During extraction, the low threshold is preset to 15 and the high threshold is preset to 45 (corresponding to an 8-bit grayscale image). While extracting the edge contour, edge noise is suppressed to obtain the initial edge contour.

[0051] It should be noted that the pixel expansion amplitude is equal to the average gradient magnitude of all pixels on the edge contour of the initial crack region divided by 50, and then multiplied by the result of dividing the pixel area of ​​the initial crack region by 100. Here, 50 corresponds to the upper limit of the gradient magnitude of a typical blade crack edge; the pixel area of ​​most initial crack regions is concentrated between 50 and 150 pixels, and 100 corresponds to the middle reference value of this range. The pixel expansion amplitude ranges from 1 to 3 pixels. Based on this pixel expansion amplitude, the boundary of the initial crack region is uniformly expanded outward by the corresponding number of pixels to obtain the expanded crack region.

[0052] In this embodiment, a 3×3 Gaussian smoothing operator is used. The standard deviation of the Gaussian smoothing operator is preset to 0.8. The smoothing operator is applied to the edge contour of the expanded crack region and smoothed pixel by pixel to finally obtain the boundary crack region.

[0053] It should be noted that each boundary crack region is divided into several 3×3 pixel local blocks. The gray-level variance within each local block is calculated, and the average gray-level variance of all local blocks is calculated. This average is the texture consistency index of the boundary crack region. The smaller the average gray-level variance, the more uniform the texture within the boundary crack region, and the more it conforms to the texture characteristics of a crack region (the gray level of the crack region is relatively uniform, and the gray level is significantly different from the surrounding background). The larger the average gray-level variance, the more complex the texture within the region, which is mostly a mixture of background texture and crack texture, and has strong interference.

[0054] The preset texture consistency threshold is 200-300, corresponding to an 8-bit grayscale image. Based on the complexity of the blade surface texture, the texture consistency index of each region is determined to be less than or equal to this threshold. If it meets the threshold, it is considered a valid crack region and retained; otherwise, it is considered an interference region and discarded. Finally, all retained valid crack regions are separated to ensure that each valid crack region corresponds to an independent crack, with no overlap or connectivity, thus forming a separated crack set.

[0055] In step S15, the density of adjacent pixels is calculated based on the separated crack set to obtain a linear feature value. If the linear feature value exceeds a preset crack judgment threshold, it is judged as a real crack and the crack location is marked. The crack location is temporally correlated with the image acquisition timestamp to obtain a marked crack image, including: The density of adjacent pixels is calculated based on the set of separated cracks to obtain linear feature values; If the linear feature value exceeds the preset crack judgment threshold, it is judged as a real crack and the crack location is recorded. A crack feature index is established by combining the image acquisition timestamp and the crack location. The temporal evolution increment is obtained by comparing the crack feature index with historical records. Based on the temporal evolution increment, the location and shape of the historical crack are used as the starting point and the location and shape of the current crack are used as the ending point to draw the growth trajectory. The growth trajectory is marked using visualization methods to obtain the annotation information. The growth trajectory and annotation information are integrated to generate a visual annotation layer. The visual annotation layer is aligned and superimposed on the initial blade image to obtain the marked crack image.

[0056] It should be noted that for each independent crack region, the neighboring pixels of each pixel are clearly identified, and the 8-neighbor adjacency rule is preferentially selected, that is, the 8 pixels around a pixel in the vertical, horizontal, left-right, and diagonal directions, to avoid the omission of crack pixel associations in the diagonal direction by the 4-neighbor adjacency rule. Then, the absolute value of the gray-level difference of all adjacent pixel pairs in a single crack region is counted, the average of all the absolute values ​​of gray-level difference is calculated, and divided by the maximum gray-level difference of 255 in the 8-bit grayscale image to obtain the gray-level normalization result. Then, the ratio of the actual number of connected pixels in a single crack region to the theoretical maximum number of connected pixels is calculated. The gray-level normalization result and the connectivity ratio are weighted and summed to obtain the linear feature value of a single crack region.

[0057] The theoretical maximum number of connected pixels refers to the maximum number of adjacent pixel pairs when all pixels in the crack region are completely connected without any breaks under the 8-neighborhood rule. It is the difference between the total number of pixels and 1.

[0058] As a linear feature, pixel connectivity takes precedence over grayscale consistency in determining the authenticity of cracks. The weight of the normalized grayscale difference is preset to 0.4, and the weight of the connectivity ratio is preset to 0.6. The weight preset is based on the statistical analysis of 500 wind turbine blade crack samples. The results show that pixel connectivity contributes about 60% to the crack authenticity determination, while grayscale consistency contributes about 40%. Therefore, the grayscale weight is set to 0.4 and the connectivity weight to 0.6. The linear feature values ​​are normalized to 0-1 using the min-max method. The closer the value is to 1, the denser the pixel cluster and the better the connectivity in the crack area, which is more consistent with the linear features of a real crack.

[0059] It is worth noting that, considering the differences in crack characteristics across different blade zones, a zone-based threshold calibration method can be used to set preset crack judgment thresholds. Since the root crack pixels are relatively densely clustered, while the tip crack pixels are relatively sparsely distributed, the preset thresholds are set as follows: 0.75-0.80 for the root region, 0.70-0.75 for the middle region, and 0.65-0.70 for the tip region. The calculated linear feature values ​​are then compared with the preset crack judgment thresholds for the corresponding regions. If the linear feature value exceeds the preset threshold, the crack region is determined to be a real crack and retained; otherwise, it is discarded. For regions determined to be real cracks, their crack location information is recorded, including the coordinates of the smallest bounding rectangle of the crack region (i.e., the coordinates of the top-left and bottom-right corner pixels, the coordinates of the crack midpoint, and the start and end pixel coordinates of the crack). Simultaneously, the pixel coordinates are converted to actual physical coordinates based on the camera pixel size.

[0060] It should be noted that the acquisition timestamp of the initial blade image of the current frame is extracted. The timestamp format uses UTC time accurate to milliseconds, such as 2026-02-01 10:30:25.123. This timestamp is stored synchronously with the positioning data and gimbal angle data when the UAV acquired the image. Subsequently, combined with the actual crack location information (pixel coordinates and actual physical coordinates) and linear feature values, a feature index for a single actual crack is established. The feature index adopts a combined encoding method of "timestamp + physical coordinates of the crack midpoint + linear feature value".

[0061] Next, a preset crack history database is invoked. This database stores the feature indices and corresponding crack parameters (position, shape, and linear feature values) of real cracks detected in historical inspection images of the same wind turbine blade and the same inspection area. Based on the feature index of the current crack, the historical crack records in the database are compared, and historical crack records that simultaneously meet the requirements of adjacent timestamps and displacement deviation ≤ 3-5 pixels are retained. Finally, the temporal evolution increment of the current crack and the matching historical cracks is calculated. The evolution increment specifically includes the position offset (horizontal and vertical pixel offset of the crack midpoint and actual physical offset), shape change (pixel change of crack length and crack width and actual physical change), and linear feature value change. The above changes are integrated to obtain the temporal evolution increment of the real crack.

[0062] In this embodiment, the crack length is taken as the change in the long axis pixel length of the smallest bounding rectangle, and the crack width is taken as the change in the short axis pixel length of the smallest bounding rectangle, which is then combined with the pixel size to convert into the actual physical change.

[0063] It is worth noting that, based on the timestamp of the current inspection image, historical crack records in the database that are closest to and earlier than the current timestamp are selected. These cracks, which were detected in the previous frame of the inspection image, are determined to be adjacent in timestamp.

[0064] It should be noted that the trajectory starts with the location (midpoint coordinates) and shape (minimum bounding rectangle, edge contour) of the historical crack and ends with the location and shape of the current real crack. A cubic Bézier curve is used to fit the key points of the historical and current crack locations to draw the growth trajectory, ensuring smoothness. The trajectory line width is preset to 2 pixels, and the color is preset to red. The drawn growth trajectory is then visualized and annotated. The annotation information includes the core parameters of the temporal evolution increment (position offset, length change), the detection timestamp of the current crack, and the preliminary crack level determination result, i.e., determined based on the length change. For example, a length change ≥ 5 micrometers / frame indicates a fast-growing crack, labeled "fast-growing," with the annotation located beside the growth trajectory. Next, the growth trajectory and annotation information are integrated to generate an independent visual annotation layer. This layer has the same size and pixel coordinates as the initial blade image, containing only the crack growth trajectory and corresponding annotation information. The background is set to transparent to ensure that the details of the initial blade image are not obscured after overlay. Finally, the visual annotation layer is aligned with the initial leaf image of the current frame using a pixel coordinate alignment algorithm, with the alignment deviation controlled within 1 pixel. The aligned visual annotation layer is then overlaid on the top layer of the initial leaf image. A transparent overlay mode (70% transparency preset) is used during overlay to preserve the original grayscale information of the initial leaf image while clearly presenting the crack location, growth trajectory, and annotation information, ultimately resulting in a marked crack image.

[0065] It should be noted that wind turbine blades are mainly made of fiberglass and carbon fiber composite materials. The natural growth rate of cracks in these materials has a clear range. Under normal operating conditions (without extreme wind speeds, impacts, or other external forces), the natural growth rate of cracks is mostly 1-3 micrometers per frame, corresponding to an inspection frame interval of 1 hour per frame, which is considered slow growth. When the crack length change is ≥5 micrometers per frame, it exceeds the natural growth rate of the material, indicating that the crack may be subjected to external forces (such as increased blade vibration, local stress concentration, or material aging and damage), or has entered an unstable growth stage. If not warned and dealt with in time, it may expand rapidly in a short period of time, leading to a decrease in the structural strength of the blade and causing safety hazards.

[0066] In step S16, the process of connecting the marked crack image to obtain an expansion crack image, and then removing jagged edges from the expansion crack image to obtain a connected crack image, includes: Obtain the pixel coordinates of the crack ends from the marked crack image, and construct a crack distribution matrix based on the pixel coordinates of the crack ends; The shape and orientation of the structural elements in the crack distribution matrix are analyzed to generate an anisotropic structural element matrix. The spacing between crack segments and the length of the crack itself in the crack distribution matrix are analyzed to determine the number of adaptive iterations. An expansion crack image is generated using the anisotropic structural element matrix and the number of adaptive iterations. Based on the expansion crack image, the effective connection range is locked, and the expansion crack image is subjected to aliasing based on the effective connection range to obtain the connection crack image.

[0067] It should be noted that, for the marked crack image, non-crack pixels such as labeled text and growth trajectory in the visual annotation layer are removed, retaining only the foreground pixels (grayscale value 255) corresponding to the actual crack and the background pixels of the blade (grayscale value 0), resulting in a binarized crack image. Subsequently, an end-of-crack detection algorithm is used to extract the coordinates of the crack end pixels. End-of-crack detection employs 8-neighbor connectivity analysis, counting the number of adjacent foreground pixels for each foreground pixel. If the number of adjacent foreground pixels in the 8-neighborhood of a foreground pixel is ≤1, then that pixel is determined to be a crack end pixel (crack start or end). Simultaneously, the complete pixel coordinates of that pixel are recorded to distinguish between the crack start end and branch end (branch ends are determined according to the same rules). After extracting the coordinates of all crack end pixels, a crack distribution matrix is ​​constructed. The matrix dimension is completely consistent with the size of the marked crack image. The value of each element in the matrix follows the rule: if the coordinate is a crack end pixel, the value is 2; if the coordinate is a non-end foreground pixel of the crack, the value is 1; if the coordinate is a background pixel, the value is 0.

[0068] It should be noted that the least squares method is used to fit a straight line to the pixel coordinates of the main crack, and the direction angle of the fitted line is the crack propagation direction. Considering that wind turbine blade cracks are mostly slender linear with diverse propagation directions, an anisotropic structural element matrix is ​​generated. The shape of the structural elements is adapted to the crack propagation direction, with linear structural elements preferred, such as 3×7 or 5×9 rectangular linear structures. The length direction is consistent with the crack propagation direction, and the width direction is perpendicular to the propagation direction. The distribution of foreground pixels in the anisotropic structural element matrix matches the crack propagation direction, and the values ​​of the anisotropic structural element matrix are consistent with the crack distribution matrix. The values ​​are in binary form, with foreground pixels having a value of 1 and background areas having a value of 0.

[0069] It should be noted that if the crack width is ≤2 pixels, corresponding to an actual width ≤8 micrometers, a 3×7 rectangular linear structure is selected to accommodate fine cracks. If the crack width is >2 pixels but ≤4 pixels (corresponding to an actual width of 8-16 micrometers, suitable for medium-width cracks), a 5×9 rectangular linear structure is selected. For these types of cracks, which are wider than fine cracks, the width of the 3×7 structure (3 pixels) cannot completely cover the crack body, and after expansion, the crack edges are prone to incompleteness and insufficient continuity.

[0070] The minimum pixel spacing D1 between adjacent crack segments in the crack distribution matrix is ​​calculated, which is the shortest straight-line distance between the edge pixels of two adjacent crack segments. Simultaneously, the crack length is obtained by counting the number of foreground pixels contained in each crack segment. The adaptive iteration count is calculated using the formula round(D1 / D2×0.8+D3 / 100×0.2), where the round function rounds to the nearest integer. D1 is the minimum pixel spacing, D2 is the length of the structuring element (consistent with the length direction of the rectangular linear structure, 7 or 9 pixels), and D3 is the crack length. The iteration count ranges from 1 to 5. For example, if the minimum pixel spacing is 4 pixels, the crack length is 120 pixels, and the structuring element length is 7 pixels, then the iteration count is round(4 / 7×0.8+120 / 100×0.2) = round(0.457+0.24) = 1. Finally, the dilation operation is performed. In each iteration, the structuring element of the corresponding crack segment is used for local dilation. If there is a foreground pixel (1) of the structuring element in the neighborhood (coverage of the structuring element) of a pixel in the crack distribution matrix, the value of the pixel is updated to 1 (i.e., dilated into a crack pixel). After the iteration is completed, the dilated crack distribution matrix is ​​converted into a binary image, which is the dilated crack image.

[0071] The weights 0.8 and 0.2 in the formula are based on historical crack data. Through regression analysis of 500 samples, it was found that the crack spacing contributes about 80% to the necessity of connection, and the crack length contributes about 20% to the iterative stability. Therefore, the weights are set to 0.8 and 0.2. It is worth noting that there are two types of effective foreground pixels in the crack distribution matrix: those with a value of 1 (non-end foreground pixels) and those with a value of 2 (end pixels). The dilation operation only updates the background pixels with an original value of 0, without covering or modifying the original crack pixels with values ​​of 1 and 2. That is, the background pixel is only updated to 1 when the neighborhood of the background pixel meets the condition, while the pixels with values ​​of 1 and 2 always retain their original values. At the same time, when the dilated crack distribution matrix is ​​converted into a binary image (i.e., a dilated crack image) after the iteration is completed, the pixels with values ​​of 1 and 2 will be uniformly classified as crack pixels, and the pixels with values ​​of 0 will be classified as background pixels. The position information corresponding to the original values ​​of 1 and 2 will be stored in the crack parameter database in advance for subsequent secondary calculation of crack parameters.

[0072] It is worth noting that the effective connectivity range is the main crack region and adjacent connected regions in the expansion crack image. By performing connected component analysis on the expansion crack image, connected components with an area ≥ 5 pixels (corresponding to an actual area ≥ 80 square micrometers) are retained, i.e., small noise connected components generated during the expansion process are eliminated. Simultaneously, combined with the crack distribution matrix, connected components with an overlap rate ≥ 70% with the original crack region are retained and determined as the effective connectivity range. Here, the original crack region refers to the effective crack region determined in the crack distribution matrix before the expansion operation, i.e., the crack region corresponding to the separated crack set, containing all pixel regions with values ​​of 1 and 2; the overlap rate is equal to the number of overlapping pixels between the effective connected component and the original crack region (i.e., the crack region corresponding to the separated crack set before expansion) divided by the total number of pixels in the original crack region.

[0073] Subsequently, the image of the expansion crack within the effective connection range is processed to eliminate jagged edges. The 5×5 Gaussian smoothing operator is used first, with the standard deviation preset to 1.0-1.2 to adapt to the jagged features of the crack edge after expansion. The pixels within the effective connection range are smoothed and filtered. After the jagged edges are eliminated, the image is binarized and optimized to restore the clear distinction between the crack foreground pixel (255) and the background pixel (0), thus obtaining the connected crack image.

[0074] In step S17, the grayscale mapping of the connected crack image generates a density distribution map, the density distribution map is segmented to obtain candidate connected components, and if the candidate connected components meet the preset crack morphology verification criteria, the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained, including: The crack density matrix is ​​obtained by calculating the crack pixel ratio based on the connected crack image. A density distribution map is constructed based on the crack density numerical matrix, and adaptive threshold segmentation is performed based on the density distribution map to obtain candidate connected components. The candidate connected components are extracted using skeletonization to obtain the central axis, and the aspect ratio of the central axis and the mean square error of the linear regression fitting of the central axis are calculated. If the aspect ratio and the mean square error meet the preset crack morphology verification criteria, then the candidate connected region is confirmed as a fine linear crack, and the final crack identification result is obtained.

[0075] In this method, a 3×3 square detection template is used to perform neighborhood detection on foreground pixels with a gray value of 255 in the image of the connected crack. Taking the current foreground pixel to be detected as the center of the template, the 8 neighboring pixels of this pixel are selected as the detection objects. The number of gray values ​​of 0 in the 8 neighbors is counted. If the gray values ​​of all pixels in the 8 neighbors are 0, the central foreground pixel is determined to be an isolated small noise pixel, and the gray value of the central pixel is corrected from 255 to 0. If there is at least one foreground pixel with a gray value of 255 in the 8 neighbors, its gray value of 255 is kept unchanged.

[0076] It should be noted that the sliding window method is used to calculate the crack pixel ratio. The sliding window size is set to 5×5 pixels, and the window sliding step size is set to 1 pixel. The entire connected crack image is traversed pixel by pixel. For each sliding window, the number of crack foreground pixels within the window is counted, and the ratio of this number to the total number of pixels in the window (25) is calculated. This ratio is the crack density value of the current window's center pixel, ranging from 0 to 1. The closer the density value is to 1, the denser the crack pixels in that area, and the more likely it is to be the main crack area. The crack density values ​​of all window center pixels are arranged in order of their corresponding coordinates to construct a crack density matrix that is exactly the same size as the connected crack image.

[0077] It should be noted that the density values ​​(0-1) of the crack density numerical matrix are multiplied by 255 and mapped to the grayscale range (0-255) of an 8-bit grayscale image to obtain a grayscale crack density distribution map. Subsequently, the Otsu thresholding algorithm is used to adaptively threshold the density distribution map. The inter-class variance between the foreground and background is calculated under different thresholds, and the grayscale value with the largest inter-class variance is selected as the segmentation threshold to ensure that the difference between the crack region and the background region is maximized after segmentation. During the segmentation operation, regions in the density distribution map with grayscale values ​​greater than the segmentation threshold are marked as foreground regions, and regions with grayscale values ​​less than or equal to the segmentation threshold are marked as background regions. After segmentation, a binary segmented image is obtained. Finally, connected component analysis is performed on the binarized segmented image. The 8-neighbor connectivity rule is used to merge adjacent foreground pixels into a connected component. Each connected component corresponds to a possible microcrack region. Micro connected components with an area ≤3 pixels and an actual area ≤48 square micrometers are removed. This threshold is based on the statistical area of ​​common noise on the blade surface, such as dust spots, i.e., more than 90% are ≤3 pixels, which can effectively filter out non-crack interference. The remaining connected components are the candidate connected components.

[0078] It is worth noting that each candidate connected component is extracted separately, retaining the foreground pixels of a single candidate connected component and removing background pixels to obtain an independent binarized image of each candidate connected component. Subsequently, the Zhang-Suen skeleton extraction algorithm is used to skeletonize each independent candidate connected component, removing redundant edge pixels, retaining the centerline of the connected component, ensuring that the skeleton (central axis) width is 1 pixel, and preserving the overall extension direction and connectivity of the candidate connected component, finally obtaining the central axis of each candidate connected component.

[0079] Among them, the length of the major axis (parallel to the direction of the central axis extension) and the length of the minor axis (perpendicular to the direction of the central axis extension) of the smallest bounding rectangle are statistically analyzed. The direction of the central axis extension is consistent with the direction of the crack extension mentioned above. The aspect ratio is the length of the major axis divided by the length of the minor axis. The aspect ratio ranges from 1 to ∞. The larger the value, the thinner and longer the central axis is, and the more it conforms to the morphology of a fine linear crack.

[0080] It should be noted that the least squares method is used to fit the pixel coordinates of the central axis to obtain the fitted straight line equation. The sum of the squares of the Euclidean distances between all pixel coordinates of the central axis and the fitted straight line is calculated, and then divided by the number of pixels on the central axis to obtain the mean square error (MSE). The MSE ranges from 0 to ∞. The smaller the value, the better the linearity of the central axis, and the closer it is to a straight line, which conforms to the linear characteristics of a fine crack. For example, the minimum bounding rectangle of the central axis of a candidate connected region has a major axis of 32 pixels and a minor axis of 2 pixels, with an aspect ratio of 32 / 2 = 16. Linear regression fitting of this central axis yields a MSE of 0.85, indicating that the candidate connected region has good linearity and is likely a fine linear crack.

[0081] It should be noted that the preset crack morphology verification standard is calibrated based on actual samples of fine linear cracks in wind turbine blades. Considering the differences in fine crack characteristics across different blade zones, a zoned calibration method is adopted. Fine cracks in the root region require higher linearity, with a preset verification standard of aspect ratio ≥ 12 and mean square error ≤ 1.2. Fine cracks in the middle region have relatively regular morphology, with a preset verification standard of aspect ratio ≥ 10 and mean square error ≤ 1.5. Fine cracks in the tip region may exhibit slight bending, with a preset verification standard of aspect ratio ≥ 8 and mean square error ≤ 1.8. These standards are based on statistical analysis of 500 fine crack samples from wind turbine blades, including 150 samples from the root region, 200 from the middle region, and 150 from the tip region, ensuring the representativeness of the zoned calibration. This method can detect fine cracks with a pixel width of 25-125 pixels and can also remove interfering areas such as impurities and scratches.

[0082] It is worth noting that, after traversing all candidate connected components, the aspect ratio and mean square error of each candidate connected component are compared with the preset verification criteria of the corresponding region. If both the aspect ratio and mean square error satisfy the preset threshold, the candidate connected component is confirmed as a fine linear crack and is retained; if either criterion is not met, it is judged as an interfering connected component and is discarded. Finally, all confirmed fine linear cracks are integrated, and the core parameters of each fine linear crack (pixel coordinate range, actual physical size, aspect ratio, mean square error, and blade partition to which it belongs) are recorded to form a complete final crack identification result.

[0083] In summary, this invention discloses a method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs), which solves the problem that existing wind turbine blade inspection technologies are difficult to adapt to the needs of high-altitude operations in complex environments, resulting in low detection accuracy of wind turbine blade inspections.

[0084] Reference Figure 2 The second embodiment of the present invention provides a wind turbine blade inspection system based on unmanned aerial vehicles (UAVs), comprising: The original image acquisition and dynamic adjustment module is used to acquire original image data, real-time flight altitude and ambient light intensity through the UAV sensor, and dynamically adjust the original image data in combination with the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. The image grayscale conversion and noise suppression module is used to synchronize wind speed data and image acquisition angle, convert the initial blade image to grayscale based on the image acquisition angle to obtain a corrected grayscale image, and suppress noise in the corrected grayscale image based on the wind speed data to obtain a smoothed image. The crack screening and merging module is used to extract linear feature segments from the smoothed image, and to screen and merge the linear feature segments in combination with a preset blade region and a preset crack screening condition to obtain candidate crack regions. The separated crack set generation module is used to optimize the crack boundaries of the candidate crack regions to obtain boundary crack regions, and to filter the boundary crack regions to obtain a separated crack set. The crack temporal association marking module is used to calculate the density of adjacent pixels based on the separated crack set to obtain linear feature values. If the linear feature values ​​exceed the preset crack judgment threshold, it is judged as a real crack and the crack position is marked. The crack position is temporally associated with the image acquisition timestamp to obtain the marked crack image. The discontinuous crack connection module is used to connect the marked crack images to obtain an expansion crack image, and to remove the jagged edges from the expansion crack image to obtain a connected crack image. The final crack result generation module is used to perform grayscale mapping on the connected crack image to generate a density distribution map, segment the density distribution map to obtain candidate connected components, and if the candidate connected components meet the preset crack morphology verification criteria, then the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained.

[0085] It should be noted that the UAV-based wind turbine blade inspection system provided in this embodiment of the invention is used to execute all the process steps of the UAV-based wind turbine blade inspection method in the above embodiment. The working principles and beneficial effects of the two are one-to-one, so they will not be described again.

[0086] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.

[0087] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. In particular, it should be noted that any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention for those skilled in the art.

Claims

1. A method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs), characterized in that, include: The original image data, real-time flight altitude, and ambient light intensity are acquired by the drone's sensors. The original image data is then dynamically adjusted based on the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. Synchronize wind speed data and image acquisition angle, perform grayscale conversion on the initial blade image based on the image acquisition angle to obtain a corrected grayscale image, and perform noise suppression on the corrected grayscale image based on the wind speed data to obtain a smoothed image; Linear feature segments are extracted from the smoothed image, and the linear feature segments are filtered and merged in combination with preset blade regions and preset crack screening conditions to obtain candidate crack regions. The candidate crack regions are optimized to obtain boundary crack regions, and the boundary crack regions are then filtered to obtain a set of separate cracks. The density of adjacent pixels is calculated based on the separated crack set to obtain a linear feature value. If the linear feature value exceeds a preset crack judgment threshold, it is judged as a real crack and the crack position is marked. The crack position is temporally correlated with the image acquisition timestamp to obtain a marked crack image. The marked crack image is connected to obtain an expansion crack image, and the expansion crack image is then de-aliased to obtain a connected crack image. The image of the connected crack is mapped to grayscale to generate a density distribution map. The density distribution map is segmented to obtain candidate connected components. If the candidate connected components meet the preset crack morphology verification criteria, the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained.

2. The wind turbine blade inspection method based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The process of acquiring raw image data, real-time flight altitude, and ambient light intensity through UAV sensors, and dynamically adjusting the raw image data based on the real-time flight altitude and ambient light intensity to obtain an initial blade image includes: Acquire real-time flight altitude, ambient light intensity, and regional spatial coordinates of the wind turbine blade surface; Based on the ambient light intensity, an adjustment coefficient for the camera exposure time and compensation data for the gimbal angle are generated. By combining the real-time flight altitude, the adjustment coefficient, and the compensation data, the acquisition location coordinates covering the spatial coordinates of the area are calculated; Drive the drone to the specified acquisition location coordinates to begin acquiring raw image data. Verify the raw image data based on the spatial coordinates of the region to obtain an initial leaf image.

3. The wind turbine blade inspection method based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The step of converting the initial leaf image to grayscale based on the image acquisition angle to obtain a corrected grayscale image includes: The red, green, and blue color channel values ​​of the initial leaf image are obtained, and the red, green, and blue color channel values ​​are weighted and summed according to a preset weighting ratio to obtain a single-channel basic grayscale matrix. Read the image acquisition angle that is synchronously acquired with the initial leaf image, map the image acquisition angle to the pixel coordinates of the single-channel basic grayscale matrix to obtain the line-of-sight incident angle numerical sequence, and derive the grayscale attenuation numerical sequence based on the line-of-sight incident angle numerical sequence. The grayscale attenuation numerical sequence is inversely transformed to obtain a brightness compensation numerical matrix. The single-channel basic grayscale matrix and the brightness compensation numerical matrix are multiplied by a dot product to obtain a corrected grayscale image.

4. The wind turbine blade inspection method based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The step of suppressing noise in the corrected grayscale image based on the wind speed data to obtain a smoothed image includes: Acquire wind speed data synchronously with the corrected grayscale image, calculate the wind turbulence amplitude based on the wind speed data, and convert it into a motion blur matrix; By combining the local texture frequencies of the corrected grayscale image with the motion blur degree matrix, a noise distribution density map is generated; The filter kernel size sequence is determined based on the noise distribution density map. The filter kernel size sequence is then used to perform convolution operations and edge gradient weighted correction on the corrected grayscale image to obtain a smoothed image.

5. The method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The step of extracting linear feature segments from the smoothed image and filtering and merging these segments in conjunction with a preset blade region and preset crack screening conditions to obtain candidate crack regions includes: High-frequency signals are extracted from the smoothed image using a preset multi-scale gradient operator and converted into a binary edge response map. The binary edge response map is then skeletonized to obtain linear feature lines. Calculate the direction angle and geometric length of the linear feature line segment, and map the linear feature line segment to a preset blade region to obtain the blade partition category; The linear feature segments are selected according to the preset crack screening conditions corresponding to the blade partition category to obtain abnormal cracks. The abnormal cracks are then clustered and merged to obtain candidate crack regions.

6. The wind turbine blade inspection method based on unmanned aerial vehicles (UAVs) according to claim 2, characterized in that, The process involves optimizing the crack boundaries of the candidate crack regions to obtain boundary crack regions, and then filtering these boundary crack regions to obtain a set of separated cracks, including: Obtain local image data of the candidate crack region, and construct a pixel similarity matrix based on the local image data; The candidate crack regions are aggregated according to the pixel similarity matrix to obtain a connected region. If the connected region satisfies a preset eccentricity threshold, the connected region is marked as the initial crack region. The edge contour of the initial crack region is extracted and the pixel expansion amplitude is calculated. The boundary expansion range of the initial crack region is adjusted according to the pixel expansion amplitude, and a preset smoothing operator is applied to eliminate the jagged protrusions of the initial crack region to obtain the boundary crack region. The texture consistency index of the boundary crack region is statistically analyzed, and a set of separate cracks is obtained based on the texture consistency index.

7. The wind turbine blade inspection method based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The step of temporally associating the crack location with the image acquisition timestamp to obtain a marked crack image includes: A crack feature index is established by combining the image acquisition timestamp and the crack location. The temporal evolution increment is obtained by comparing the crack feature index with historical records. Based on the temporal evolution increment, the growth trajectory is drawn with the position and shape of the historical crack as the starting point and the position and shape of the current crack as the ending point. The growth trajectory is marked using visualization methods to obtain annotation information. The growth trajectory and annotation information are integrated to generate a visual annotation layer. The visual annotation layer is aligned and superimposed on the initial blade image to obtain a marked crack image.

8. The method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The process of connecting the marked crack images to obtain an expanding crack image, and then removing jagged edges from the expanding crack image to obtain a connected crack image, includes: Obtain the pixel coordinates of the crack ends from the marked crack image, and construct a crack distribution matrix based on the pixel coordinates of the crack ends; The shape and orientation of the structural elements in the crack distribution matrix are analyzed to generate an anisotropic structural element matrix. The spacing between crack segments and the length of the crack itself in the crack distribution matrix are analyzed to determine the number of adaptive iterations. An expansion crack image is generated using the anisotropic structural element matrix and the number of adaptive iterations. Based on the expansion crack image, the effective connection range is locked, and the expansion crack image is subjected to aliasing based on the effective connection range to obtain the connection crack image.

9. The method for inspecting wind turbine blades based on unmanned aerial vehicles (UAVs) according to claim 1, characterized in that, The process involves generating a density distribution map by performing grayscale mapping on the connected crack image, segmenting the density distribution map to obtain candidate connected components, and confirming that the candidate connected component is a fine linear crack if it meets a preset crack morphology verification standard, thus obtaining the final crack identification result, including: The crack density matrix is ​​obtained by calculating the crack pixel ratio based on the connected crack image. A density distribution map is constructed based on the crack density numerical matrix, and adaptive threshold segmentation is performed based on the density distribution map to obtain candidate connected components. The candidate connected components are extracted using skeletonization to obtain the central axis, and the aspect ratio of the central axis and the mean square error of the linear regression fitting of the central axis are calculated. If the aspect ratio and the mean square error meet the preset crack morphology verification criteria, then the candidate connected region is confirmed as a fine linear crack, and the final crack identification result is obtained.

10. A wind turbine blade inspection system based on unmanned aerial vehicles (UAVs), characterized in that, include: The original image acquisition and dynamic adjustment module is used to acquire original image data, real-time flight altitude and ambient light intensity through the UAV sensor, and dynamically adjust the original image data in combination with the real-time flight altitude and the ambient light intensity to obtain an initial leaf image. The image grayscale conversion and noise suppression module is used to synchronize wind speed data and image acquisition angle, convert the initial blade image to grayscale based on the image acquisition angle to obtain a corrected grayscale image, and suppress noise in the corrected grayscale image based on the wind speed data to obtain a smoothed image. The crack screening and merging module is used to extract linear feature segments from the smoothed image, and to screen and merge the linear feature segments in combination with a preset blade region and a preset crack screening condition to obtain candidate crack regions. The separated crack set generation module is used to optimize the crack boundaries of the candidate crack regions to obtain boundary crack regions, and to filter the boundary crack regions to obtain a separated crack set. The crack temporal association marking module is used to calculate the density of adjacent pixels based on the separated crack set to obtain linear feature values. If the linear feature values ​​exceed the preset crack judgment threshold, it is judged as a real crack and the crack position is marked. The crack position is temporally associated with the image acquisition timestamp to obtain the marked crack image. The discontinuous crack connection module is used to connect the marked crack images to obtain an expansion crack image, and to remove the jagged edges from the expansion crack image to obtain a connected crack image. The final crack result generation module is used to perform grayscale mapping on the connected crack image to generate a density distribution map, segment the density distribution map to obtain candidate connected components, and if the candidate connected components meet the preset crack morphology verification criteria, then the candidate connected components are confirmed as fine linear cracks, and the final crack identification result is obtained.