Non-contact fatigue damage detection system

A non-contact vibration sensor and machine learning algorithms enable real-time detection and classification of fatigue damage in diverse environments, overcoming limitations of existing systems.

WO2026024264A2PCT designated stage expired Publication Date: 2026-01-29OHIO UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/034471
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-27
Filing Date
2024-06-18
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing systems for detecting and tracking fatigue damage based on acoustic emissions are unable to do so in real time and are limited by the use of sensors that cannot operate with thin films or at high temperatures.

Method used

A non-contact vibration sensor, such as a laser Doppler vibrometer, is used to detect surface vibrations, and machine learning algorithms analyze the extracted features from waveforms to identify damage, allowing real-time detection and classification of acoustic emissions.

Benefits of technology

Enables real-time detection and classification of fatigue damage in various environments, including thin films and high temperatures, using a non-contact sensor and machine learning for accurate damage identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024034471_29012026_PF_FP_ABST
    Figure US2024034471_29012026_PF_FP_ABST
Patent Text Reader

Abstract

Systems, methods, and computer program products for detecting damage to an object (186). A non-contact vibration sensor (161) is used to sense surface vibrations on a surface of the object (186). A waveform (32) is defined based on the surface vibration data (171), and one or more features (34) (38) (42) (44) are extracted from the waveform (32). The extracted features (34) (38) (42) (44) are analyzed to determine if damage has occurred to the object (186).
Need to check novelty before this filing date? Find Prior Art

Description

NON-CONTACT FATIGUE DAMAGE DETECTION SYSTEM

[0001] The present application claims the filing benefit of co-pending U.S. Provisional Application Serial No. 63 / 523,478, filed June 27, 2023, the disclosure of which is incorporated by reference in its entirety.STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[0002] This invention was made with government support under contract number FA8650-21 -D-2014 awarded by the U.S. Department of Defense. The government has certain rights in the invention.FIELD OF THE INVENTION

[0003] The present invention generally relates to the measurement and processing of acoustic emissions, and in particular, to methods, systems, and software products for collecting and processing surface vibration data to detect damage associated with acoustic emissions.BACKGROUND OF THE INVENTION

[0004] This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present invention, which are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

[0005] Known systems for detection and tracking of fatigue damage based on acoustic emissions cannot detect and track the fatigue damage in real time. Thus, it is currently impossible to identify sources of damage in real time using acoustic emissions. Known systems for detection and tracking of fatigue damage also use sensors that cannot be used with certain types of objects or environments, such as thin films and at high temperatures.

[0006] Accordingly, there is a need for improved systems, methods, and computer program products for detecting and tracking fatigue damage.SUMMARY

[0007] In an aspect of the invention, a system for detecting damage to an object is provided. The system includes a non-contact vibration sensor, one or more processors in communication with the non-contact vibration sensor, and a memory incommunication with the one or more processors. The memory includes program code that, when executed by the one or more processors, causes the system to receive surface vibration data from the non-contact vibration sensor, define a waveform based on the surface vibration data, extract one or more features from the waveform, and determine if damage has occurred to the object based on the one or more features extracted from the waveform.

[0008] In an embodiment of the system, the non-contact vibration sensor may be configured to transmit a sensor signal, receive a portion of the sensor signal reflected from a surface the object, and generate a surface vibration signal that conveys the surface vibration data based on the portion of the sensor signal reflected from the surface the object.

[0009] In another embodiment of the system, the non-contact vibration sensor may include a laser Doppler vibrometer.

[0010] In another embodiment of the system, the program code may further cause the system to determine if damage has occurred to the object based on the one or more features extracted from the waveform by, based on the one or more features, classifying a source of an acoustic emission in the object that contributed to the surface vibration, and determining damage has occurred to the object if the source of the acoustic emission is classified as a fracture.

[0011] In another embodiment of the system, the program code may further cause the system to partition the waveform into one or more windowed waveforms, and extract the one or more features from each windowed waveform.

[0012] In another embodiment of the system, the waveform may be partitioned into either time-domain windows or frequency-domain windows.

[0013] In another embodiment of the system, the one or more features extracted from the waveform may be selected from a group consisting of an absolute energy, an energy, an amplitude, a peak amplitude, counts, counts to peak, peak frequencies, a rise time, a duration, a measured area of a rectified signal envelope energy, average frequency, initiation frequency, and reverberation frequency.

[0014] In another embodiment of the system, the one or more processors may be provided by a plurality of nodes each including at least one processor, and each of the one or more features may be extracted from the waveform by a different node.

[0015] In another embodiment of the system, the program code may cause the system to determine if damage has occurred to the object based on the one or morefeatures by providing the one or more features extracted from the waveform to a machine learning model trained to identify waveforms associated with damage to the object.

[0016] In another embodiment of the system, the one or more features used to train the machine learning model may include a rise time, counts, and an absolute energy.

[0017] In another aspect of the invention, a method is provided. The method includes receiving surface vibration data from a non-contact vibration sensor, defining a waveform based on the surface vibration data, extracting one or more features from the waveform, and determining if damage has occurred to the object based on the one or more features extracted from the waveform.

[0018] In an embodiment of the method, receiving the surface vibration data from the non-contact vibration sensor may include transmitting a sensor signal, receiving a portion of the sensor signal reflected from a surface the object, and generating a surface vibration signal that conveys the surface vibration data based on the portion of the sensor signal reflected from the surface the object.

[0019] In another embodiment of the method, the non-contact vibration sensor may include a laser Doppler vibrometer.

[0020] In another embodiment of the method, determining if damage has occurred to the object based on the one or more features extracted from the waveform may include classifying a source of an acoustic emission in the object that contributed to the surface vibration based on the one or more features, and determining damage has occurred to the object if the source of the acoustic emission is classified as a fracture.

[0021] In another embodiment of the method, the method may further include partitioning the waveform into one or more windowed waveforms, and extracting the one or more features from each windowed waveform.

[0022] In another embodiment of the method, the waveform may be partitioned into either time domain windows or frequency-domain windows.

[0023] In another embodiment of the method, the one or more features extracted from the waveform may be selected from a group consisting of an absolute energy, an energy, an amplitude, a peak amplitude, counts, counts to peak, peak frequencies, a rise time, a duration, a measured area of a rectified signal envelope energy, average frequency, initiation frequency, and reverberation frequency.

[0024] In another embodiment of the method, each of the one or more features may be extracted from the waveform by a different program thread running on a different processor.

[0025] In another embodiment of the method, determining if damage has occurred to the object based on the one or more features extracted from the waveform may include providing the one or more features to a machine learning model trained to identify waveforms associated with damage to the object.

[0026] In another embodiment of the method, the one or more features used to train the machine learning model may include a rise time, counts, and an absolute energy.

[0027] In another aspect of the invention, a computer program product is provided. The computer program product includes a non-transitory computer- readable storage medium, and program code stored on the non-transitory computer- readable storage medium. The program code is configured so that, when executed by one or more processors, the program code causes the one or more processors to receive surface vibration data from a non-contact vibration sensor, define a waveform based on the surface vibration data, extract one or more features from the waveform, and determine if damage has occurred to the object based on the one or more features extracted from the waveform.

[0028] The above summary presents a simplified overview of some embodiments of the invention to provide a basic understanding of certain aspects of the invention discussed herein. The summary is not intended to provide an extensive overview of the invention, nor is it intended to identify any key or critical elements, or delineate the scope of the invention. The sole purpose of the summary is merely to present some concepts in a simplified form as an introduction to the detailed description presented below.BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above, and the detailed description of the embodiments given below, serve to explain the embodiments of the invention.

[0030] FIG. 1 is a diagrammatic view of a graphical user interface.

[0031] FIG. 2 is a graphical view of waveforms representing surface vibration data.

[0032] FIG. 3 is a graphical view of a waveform depicting various features thereof.

[0033] FIGS. 4 and 5 are graphical views including plots of features extracted from a surface vibration waveform.

[0034] FIG. 6 is a schematic view of an exemplary data collection system.

[0035] FIG. 7 is a graphical view including plots of features extracted from raw surface vibration data.

[0036] FIG. 8 is a pictorial view depicting strain and crack observations for each of four test object response zones I - IV.

[0037] FIG. 9 is a graphical view including plots of additional features extracted from the raw surface vibration data of FIG. 7.

[0038] FIG. 10 is a graphical view including a plot the absolute energy of a waveform versus time.

[0039] FIGS. 11 -13 are graphical views depicting the types of waveforms generated by various sources of acoustic stimulation.

[0040] FIG. 14 is a graphical view depicting a matrix showing the amount of correlation between a full set of features extracted from a waveform.

[0041] FIG. 15 is a graphical view depicting a matrix showing the amount of correlation between a partial set of features extracted from a waveform.

[0042] FIGS. 16 and 17 are schematic views of data flow processes.

[0043] FIG. 18 is a schematic view of an exemplary object testing system including the data collection system, an image correlation system, and a tensile strength tester.

[0044] FIGS. 19-22 are graphical views including plots of features extracted from surface vibration data using different sized windows.

[0045] FIG. 23 is a graphical view of surface vibration data measured by a laser Doppler vibrometer.

[0046] FIGS. 24 and 25 are graphical views of the surface vibration data of FIG. 23 after frequency domain conversion using different windows.

[0047] FIGS. 26 and 27 are graphical views depicting zoomed in portions of the graphs of FIGS. 24 and 25.

[0048] FIG. 28 is a graphical view of normalized frequency magnitude versus frequency for a test object with only an elastic zone and with no load applied.

[0049] FIGS. 29-32 are graphical views of cumulative absolute energy versus time determined from data provided by different vibration sensors.

[0050] FIGS. 33 and 34 are graphical views of stress versus strain for a plurality of test objects.

[0051] FIGS. 35-41 are graphical views each including a plot of cumulative energy verses time for a different test object.

[0052] FIG. 42 is a graphical view of a bar chart including bars that show total time (in milliseconds) required to extract different features from a waveform.

[0053] FIG. 43 is a graphical view including a plot of calculation time versus number of threads.

[0054] FIG. 44 is a graphical view including plots of load versus deformation and amplitude versus time.

[0055] FIG. 45 is a graphical view including a plot of average frequency versus time.

[0056] FIG. 46 is a graphical view including a plot of absolute energy versus time.

[0057] FIG. 47 is a graphical view including a line plot of stress verses strain and a scatter plot of Mahalanobis distances versus time.

[0058] FIGS. 48-53 are graphical views including plots of velocity versus time for multiple tests under different load levels.

[0059] FIGS. 54-57 are graphical views including plots of velocity versus time for raw surface vibration data and filtered surface vibration data.

[0060] FIGS. 58-60 are graphical views of time-domain plots of surface vibration data.

[0061] FIG. 61 is a graphical view including a plot of surface vibration data collected using a laser Doppler vibrometer.

[0062] FIG. 62 is a graphical view including a plot of surface vibration data collected using a PZT PICO sensor.

[0063] FIGS. 63-66 are graphical views including scatter plots of amplitude versus time and peak frequency versus time.

[0064] FIG. 67 is a graphical view including a plot of velocity versus time for a full surface vibration waveform.

[0065] FIGS. 68 and 69 are graphical views of different halves of the plot of FIG. 67.

[0066] FIGS. 70 and 71 are graphical views of different portions of the waveform of FIG. 68.

[0067] FIGS. 72-74 are graphical views of portions of the waveform of FIG. 69.

[0068] FIG. 75 is a graphical view including a scatter plot of amplitude versus time.

[0069] FIG. 76 is a graphical view including an exemplary scatter plot of peak frequency versus time.

[0070] FIG. 77 is a graphical view including an exemplary scatter plot of absolute energy versus time.

[0071] FIG. 78 is a graphical view including a scatter plot of energy versus time.

[0072] FIGS. 79-82 are graphical views including scatter plots of amplitude versus energy with different numbers of datapoint clusters.

[0073] FIGS. 83-85 are graphical views including plots of velocity verses time representing a waveform extracted from surface vibration data for a test object.

[0074] FIG. 86 is a graphical view including a scatter plot in which the datapoints have been clustered into four clusters.

[0075] FIG. 87 is a schematic view of an exemplary damage detection system including a damage detection process.

[0076] FIGS. 88-90 are flow charts depicting process strings of the damage detection process of FIG. 87.

[0077] FIGS. 91 and 92 are graphical views of scatter plots of a features extracted from surface vibration data.

[0078] FIG. 93 is a schematic view of a computer that may be used to implement one or more of the components or processes described herein.

[0079] It should be understood that the appended drawings are not necessarily to scale, and may present a somewhat simplified representation of various features illustrative of the basic principles of the invention. The specific design features of the sequence of operations disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes of various illustrated components, may be determined in part by the particular intended application and use environment. Certain features of the illustrated embodiments may have beenenlarged or distorted relative to others to facilitate visualization and a clear understanding.DETAILED DESCRIPTION OF THE INVENTION

[0080] One or more specific embodiments of the present invention are described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers’ specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.

[0081] Embodiments of the invention include a damage detection system having one or more processors that process data collected in real time to detect, and identify sources of, acoustic emissions in an object using a non-contact vibration sensor. Acoustic emission is a phenomenon in which acoustic waves are emitted in an object in response to the object undergoing changes in its internal structure. These changes may include plastic deformation and fractures (the formation of cracks), and may be due to stresses on the object, e.g., thermal, mechanical, or other stresses. For example, acoustic emissions may occur in response to mechanical loading of a material or structure that results in structural changes. These structural changes may generate local sources of acoustic emissions that produce displacements in the surface of the object, referred to herein as “surface vibrations”.

[0082] The disclosed systems, methods, and software products may be used for detecting damage in thin films and for high temperature applications where conventional vibration sensors cannot be used. To this end, a non-contact vibration sensor may be used to detect surface vibrations by transmitting a sensor signal (e.g., a laser beam) to a surface of the object being monitored, receiving a reflected portion of the sensor signal from the surface of the object (referred to as a “reflected signal”), processing the reflected signal to detect the surface vibrations, andidentifying any fatigue or damage that may be occurring in the object based on the detected surface vibrations.

[0083] One example of a non-contact vibration sensor is a laser Doppler vibrometer, such as an Optomet laser Doppler vibrometer, available from Optomet GmbH of Darmstadt, Germany. A laser Doppler vibrometer is a device that makes non-contact vibration measurements of a surface by directing a laser beam onto the surface. The amplitude and frequency of surface vibrations can then be determined based on the Doppler shift of the frequency of the reflected laser beam due to motion of the surface.

[0084] The output of the non-contact vibration sensor may be an analog surface vibration signal (e.g., a voltage) or a digital surface vibration signal (e.g., data representing a sequence of discrete values) that conveys surface vibration data. The surface vibration signal may be operatively coupled to a data collection system. In either case, the surface vibration signal may be proportional to the surface velocity component in the direction of the signal transmitted by the vibration sensor. The surface vibration signal may thereby convey the surface vibration data. Thus, for optimal results, the non-contact vibration sensor may be placed generally perpendicular to the object being monitored so that the sensor signal is perpendicular to the surface of the object. The data collection system may include one or more computers or processors as described in more detail below. The data collection system may record and process the surface vibration data received from the non-contact vibration sensor. This recording and processing of surface vibration data may be performed using one or more of custom designed Python scripts and machine learning, for example.

[0085] One embodiment of the damage detection system uses a laser Doppler vibrometer as the non-contact vibration sensor to detect surface vibrations, and processes the surface vibration data using a data collection system that is custom built and scalable. The damage detection system may also include a complete closed loop control system to aim the non-contact vibration sensor and monitor damage occurring in a monitored object in real time. Embodiments of the damage detection system may be configured to monitor vibrations in different types of surfaces and objects, and thus may be used for many applications. These applications may include, but are not limited to, monitoring buildings duringearthquakes, bridge structures, detecting vibrations from foot traffic, or for monitoring additive manufactured components.

[0086] Embodiments of the damage detection system may include automated data collection and processing of nondestructive evaluation data for monitoring of fatigue life in objects. Experimental data was collected using test objects designed to induce crack growth in predefined locations and monitored using a combination of acoustic emission detection and digital image correlation. The experimental data was collected using a noncontact laser-based approach to detect damage to the test objects. Through controlled source experiments, a processing method has been demonstrated that can detect and classify individual sources of acoustic emissions in objects by analyzing surface vibrations.Data Collection and Multi-Physics Data Fusion

[0087] Custom program code has been developed to control a laser Doppler vibrometer and acquire data in a desirable format. FIG. 1 depicts a graphical user interface (GUI) for controlling the laser Doppler vibrometer. The user interface may be a python graphical user interface configured to enable control of the laser Doppler vibrometer directly from the data collection system. This may allow the same control as the Optomet Laser Doppler vibrometer software, but removes the limit for length of test. FIG. 2 depicts graphs each including a plot of a waveforms generated in real time based on data from the laser Doppler vibrometer. The plots include (from top to bottom) a raw surface vibration waveform, a filtered surface vibration waveform, and an absolute filtered surface vibration waveform. Each plot was generated in real time as the data was collected.

[0088] Two approaches may be used during data collection, a continuous data approach and an interrupted approach. The continuous data approach accepts all data coming into the system and examines it in individual windows. These windows may be designated as waveforms, and individual features may be extracted from each windowed waveform that are used to characterize the waveform and to identify the occurrence of damage, e.g., fractures.

[0089] FIG. 3 depicts a graph 30 including an exemplary waveform 32. The waveform 32 may be characterized by one or more features, such as energy, peak amplitude, counts, counts to peak, peak frequencies, rise time, a duration, and a measured area of the rectified signal envelope (MARSE) energy. The energy E of the waveform 32 may be provided by:and the peak amplitude A may be provided by:where Gpis the gain of the preamplifier in decibels, and Vmaxis the system input in volts.

[0090] A threshold crossing count 34 (referred as simply “count”) occurs each time the waveform 32 crosses above a vibration threshold 36. The counts thereby provide the number of excursions by the waveform 32 above the vibration threshold 36. Counts to peak refers to the number of counts 34 between the waveform’s first acoustic emission threshold crossing (referred to as a hit start 40) and the peak amplitude 38 of the waveform 32. The peak frequency may be reported in kHz, and may be defined as the frequency in the power spectrum at which the peak magnitude occurs. The peak frequency may be determined by performing a real time fast Fourier transform (FFT) on the waveform 32. The peak frequency that contains the largest magnitude (as well as one or more of the other features of waveform 32) may be reported. Rise time 42 may be defined as the elapsed time between the hit start 40 and peak amplitude 38, and may be reported in microseconds or any other suitable scale. Hit duration 44 may be defined as the elapsed time between the hit start 40 and the waveform’s last vibration threshold crossing (referred to as the hit stop 46), and may be reported in microseconds or any other suitable scale.

[0091] MARSE energy EM may be derived from the integral of the rectified voltage signal over the duration of the waveform 32, and may be reported in units of 10 Vs per count. MARSE energy EM may be provided by:10 x log (40)EM G pD Eqn. 3SF X 102x~2o“where GER is the energy reference gain.

[0092] Additional features of the waveform 32 may include average frequency fAVG, initiation frequency fiNT, and reverberation frequency fnvB. These frequencies may be defined as:Counts fAVG x 1000 Eqn.4DurationCounts to Peak flNT ~ X 1000 Eqn. 5Rise TimeCounts — Counts to Peak fRVB - X 1000 Eqn. 6Duration — Rise Time

[0093] Initial tests were performed on test objects each consisting of a Ni718 dog bone per the American Society for Testing and Materials (ASTM) specification E8 “Standard Test Methods for Tension Testing of Metallic Materials”. These initial tests provide both strain and surface vibration data for later use. During these tests, both a conventional contact surface vibration sensor and the laser Doppler vibrometer were used to demonstrate the ability of the laser Doppler vibrometer to detect the same types of activity. FIGS. 4 and 5 show exemplary results where the laser Doppler vibrometer data shows clear activity. These results were analyzed by examining the waveforms using 400 microsecond windows. Specifically, FIG. 4 depicts an example of the surface vibration data in the form of a graph of raw data from the laser Doppler vibrometer system including a plot 47 of stress in Mpa and a plot 48 of velocity in m / s. FIG. 5 depicts a graph 50 including a plot of the laser-based surface vibration data 52 and a plot 54 of conventionally acquired surface vibration data showing similar trends.

[0094] As can be seen from the data, when a spike is observed using the conventional PICO sensor, the laser Doppler vibrometer shows a spike as well. However, the laser Doppler vibrometer is showing activity that the PICO sensor does not detect, suggesting that the laser Doppler vibrometer is a more sensitive method of detecting surface vibrations.

[0095] FIG. 6 depicts an exemplary data collection system 60 including a plurality of nodes 62-63 (e.g., one master node 62 and five processing nodes 63) in communication with each other (e.g., through a network switch 66), and a mass storage device 68 (e.g., external hard drive). Each node 62-63 may include one or more processors, a memory including program code that is executed by the one or more processors, and an input / output module configured to communicate with input and output devices, e.g., a user display, keyboard, mouse, etc. The same experimental data was processed on a standard personal computer (PC) and using the data collection system 60. When processed on the PC, feature extraction took 61 minutes compared to 281 minutes on a single processing node 63. However, when using five processing nodes 63, the processing time was reduced to 41minutes. This processing time is expected to be reduced further with the addition of more processing nodes 63 and through the increased use of graphical processing units.

[0096] The same analysis was completed on middle tension test objects designed to nucleate a crack in a given location in both monotonic and fatigue loading. The results of the crack nucleation and growth experiments combine surface vibration and digital image correlation data. FIGS. 7-9 show the results of the monotonic loading including a connection between the strain evolution, observed crack nucleation, and the acoustic emission activity. FIG. 7 depicts a graph 70 showing features extracted from raw surface vibration data. Plot 72 shows load versus time in units of Ib f, and plot 74 shows velocity versus time in units of mm / s. FIG. 8 depicts strain and crack observation for each of four test object response zones l-IV, with each zone corresponding to the amount of tension being applied to the test object. Zone I corresponds to the elastic response, and is characterized by slowly increasing strain and a flat acoustic emission. Zone II corresponds to the plastic response, and is characterized by linear strain accumulation, an RMS energy bump then drop before growing rapidly, and an amplitude response similar to RMS. Zone III corresponds to crack growth, and is characterized by linear strain accumulation, RMS drops after initial spike then flat lines, and an amplitude with a similar trend to RMS. Zone IV corresponds to failure, and is characterized by slowly increasing strain and a sudden increase in amplitude and RMS energy. FIG. 9 depicts a graph 90 including the plot 72 from FIG. 7, a plot 92 of longitudinal strain in units of in / in, a plot 93 of maximum amplitude versus time of the acoustic energy in units of mm / s, and a plot 94 of root mean square (RMS) energy of the surface vibration data.

[0097] The same test object geometry was also used to investigate fatigue loading. FIG. 10 depicts a graph 100 including a plot 102 of the absolute energy of the waveform versus time and a vertical line 104 indicating the onset of crack growth as observed using digital image correlation. It is possible that the crack may have nucleated earlier, but could not be seen at the scale the images were taken. Shifts from this window approach to an interrupted approach (also referred to as a hit approach) were found to improve the ability of machine learning to reliably identify waveforms associated with damage, and to potentially reduce the storage space needed for data acquisition.Artificial Intelligence for Damage Monitoring

[0098] The amount of data that is collected with this type of testing makes live identification of damage impossible using known methods of analysis. However, machine learning methods may be used to examine the surface vibration data and enable the identification of fatigue related data. Embodiments of the damage detection system may include an algorithm developed to achieve machine learning models by using a controlled experimental method with known sources of acoustic stimulation to generate training data. A sheet of Ni718 with the same thickness as the dog bone test objects tested above was acquired and stimulated with acoustic stimulation sources including pencil lead breaks, ball drops, coin taps, and friction.

[0099] FIGS. 11-13 depict graphs showing the types of waveforms generated from each acoustic stimulation source with the exception of the ball drop due to the ball drop and coin tap producing essentially identical waveforms with the exception that the ball drop produced a higher amplitude. Features were extracted from the above waveforms and a correlation matrix generated to identify those features that were highly uncorrelated with each other. Only highly uncorrelated features were used to train the machine learning model to avoid biasing the results.

[0100] FIG. 14 shows the full correlation matrix, which includes (moving from top to bottom and left to right, respectively) a row and column for each of absolute energy, amplitude, counts, counts to peak, rise time, duration, energy, average frequency, initiation frequency, reverberation frequency, and rise time. FIG. 15 shows a reduced matrix of waveform features used for machine learning. It was determined experimentally that the rise time, counts, and absolute energy features are sufficient to describe the different sources of acoustic stimulation. These features were used with a K-means clustering algorithm to determine which waveforms corresponded to the applied sources of acoustic stimulation. It was found that pencil lead break and coin tap / ball drop were well identified, but the friction source was often misclassified by machine learning models which only used rise time, counts, and absolute energy.

[0101] FIG. 16 depicts a data flow process 160 in accordance with an embodiment of the data collection system 60. The laser Doppler vibrometer 161 and PICO sensor 162 may be used to provide raw input data 163 to the system. The raw input data 163 may be digital data generated by an analog-to-digital converter (not shown) that converts analog signals received from the laser Doppler vibrometer 161and PICO sensor 162 into digital signals. The raw input data 163 may be provided to a low-pass filter 164 (e.g., a 10thorder Butterworth low-pass filter) and a high-pass filter 165 (e.g., a 10th order Butterworth high-pass filter). The filters 164-165 may be implemented, for example, using a digital signal processor or other suitable device or circuit, such as a filtering algorithm in the processing node 63. The low-pass and high-pass filtered data may be stored on the mass storage device 68 of data collection system 60. The filtered data (e.g., the high pass filtered data) may be processed by a short time Fourier transform 166, and the frequency-domain output used for peak identification 167. The identified peaks may be used for spectrum visualization 168 and load data time correlation 169.

[0102] FIG. 17 depicts another data flow process 170 illustrating the flow of raw surface vibration data 171 from the laser Doppler vibrometer 161 to the master node 62, and the flow of windowed waveform data 172 from the master node to one of the processing nodes 63. The surface vibration data that comes out of the laser Doppler vibrometer 161 may be encrypted. Thus, to make this data directly usable for live monitoring, one or more of the master node 62 and processing nodes 63 may use a packet analyzer (e.g., WireShark) to extract data packets from the laser Doppler vibrometer 161 . Wireshark is a free and open-source packet analyzer that may be used for network troubleshooting, analysis, software, and communications protocol development. Once the data stream has been identified and validated, the master node 62 may decode the file.

[0103] Raw vibration sensor data may be processed using a windowed waveform approach to simulate live data collection using windows having a predetermined length, e.g., 400 microseconds. The processing node 63 may partition the surface vibration data into predetermined length windows of data, and extract features from the windowed data. Features extracted from each window of data may include, but are not limited to, maximum amplitude, energy, counts, duration, and average frequency. In an embodiment of the system, data processing may be split between nodes 63 by using one node for reading the data and another node 63 for extracting features from the data. This division of data processing may facilitate performing real-time calculations and plotting of trends.

[0104] FIG. 18 depicts an exemplary object testing system 180 including the data collection system 60, an image correlation system 182, and a tensile strength tester 184. A test object 186 (e.g., a Ni718 dog bone) may be operatively coupled to thetensile strength tester 184 by a pair of clamps 188 so that the tensile strength tester 184 can apply a tensile force 190 to the test object 186. The laser Doppler vibrometer 161 may emit a sensor signal 192 (e.g., a laser) that illuminates a spot 194 on a portion of the test object 186. The PICO sensor 162 may be operatively coupled (e.g., mechanically coupled) to another portion of the test object 186 and operatively coupled (e.g., electrically coupled) to a PICO sensor module 196 (e.g., an amplifier). The PICO sensor module 196 may amplify or otherwise process the signal generated by the PICO sensor 162, and transmit the resulting surface vibration data to the data collection system 60. The image correlation system 182 may be operatively coupled to a camera 198 that captures images of the test object 186. These images may be correlated in time with the surface vibration data and analyzed to determine a condition of the test object 186, e.g., whether the test object 186 is in zone I, II, III, or IV (FIG. 8). The test setup 180 may thereby be configured to perform monotonic tension tests as well as compact tension tests. These tests may use one or more of conventional acoustic emission, digital image correlation, and laser detected acoustic emission techniques to identify waveform features indicative of damage in the surface vibration data provided by the vibration sensors. The improved data collection enabled by the test setup 180 may enable faster processing as key areas are targeted.

[0105] FIGS. 19-22 depict graphs 200-203 each including a respective plot 208-211 of absolute energy verses number of parts for surface vibration data processed using a 400 millisecond window (graphs 208 and 209) and using a 400 microsecond window (graphs 210 and 211 ). Plots 208 and 210 represent the area under the curve of the waveforms defined by the surface vibration data, and plots 209 and 211 represent the cumulative absolute energy of the waveforms defined by the surface vibration data. As can be seen, there are no major differences in the trend data for either window size. However, some finer detail can be observed in the cumulative absolute energy plots 209, 211 . Thus, the window size may be chosen to increase processing speed without sacrificing trend data.

[0106] FIG. 23 depicts a graph of surface vibration data measured by the laser Doppler vibrometer 161 . This time-based data was partitioned into a plurality of windows (e.g., 11 windows), and each window converted to the frequency-domain, e.g., using an FFT. FIG. 24 depicts a graph of the FFT for one window (e.g., the second window) and FIG. 25 depicts a graph of the FFT for a later window includingthe point in time where the sample 186 fractured (e.g., the last window). As can be seen, there is a marked shift in frequency at the time of the fracture.

[0107] FIGS. 26 and 27 depict zoomed in portions of the graphs of FIGS. 24 and 25, respectively. As can be seen, there is significant low frequency content below 1 kHz in the early parts of the waveform. This low frequency content exists in the final window as well, though it is reduced in strength as other frequencies dominate. The low frequency content present in each window may be noise that can be filtered out or otherwise ignored.

[0108] FIG. 28 depicts a graph of normalized FFT magnitude versus frequency for a test object with only an elastic zone and with no load applied. The noise represented by the graph may be subtracted from the raw surface vibration data, leaving only surface vibration data associated with acoustic emission events.

[0109] FIGS. 29 and 30 depict plots of cumulative absolute energy versus time determined from data provided by the laser Doppler vibrometer (FIG. 29) and the PICO sensor module 196 (FIG. 30). As can be seen, the data from the laser Doppler vibrometer 161 is delayed slightly relative to the data from PICO sensor module 196. Part of this time offset may be due to differences in the triggers for starting data collection. Another part of this time offset may be due to differences in sensing and thresholding required from the two systems. Generally, the same trends are observed and are linked to specific damage.

[0110] FIGS. 31 and 32 depict plots of cumulative absolute energy versus time determined from data provided by the laser Doppler vibrometer (FIG. 31) and the PICO sensor (FIG. 32) for another test object. As can be seen, the earlier trends in damage are clearer, and the final crack is less apparent in the data obtained from the laser Doppler vibrometer as compared to the data obtained from the PICO sensor. The early damage may be more critical to estimating the life of the test object.Outlier analysis may be used to leverage multiple features, and may enable more robust detection.

[0111] FIG. 33 depicts a graph including plots of stress versus strain for each of 12 different test objects. FIG. 34 depicts a graph including a plot of stress versus strain for one test object based on data received from the laser Doppler vibrometer, another plot of stress versus strain based on data received from the PICO sensor, and a plot of cumulative absolute energy based on data received from the PICO sensor. All tests show consistency in the stress-strain response, with slight variationin the final breaking strain. The variation in surface vibration is likely capturing the variation in damage nucleation and evolution that manifests in different final breaking strains. Laser-based acoustic emission measurements and conventional acoustic emission measurements are combined to show the similar responses.

[0112] FIGS. 35-41 depict graphs each including a plot of cumulative energy verses time for a different test object, (e.g., test objects two through eight) obtained from laser Doppler vibrometer data. All graphs show a trend of nucleation and final failure, but the exact nucleation varies. This is expected to be worse in additive manufacturing material. Test object five (FIG. 38) and test object eight (FIG. 41 ) show slightly different responses than the other test objects.

[0113] Amplitudes were extracted using the data collection system 60 and a personal computer for comparison of computational speed. A data collection system including five processing modules took 41 min, while a data collection system with only one processing module took 281 minutes to process the same data. In contrast, the personal computer took 61 minutes. In each case, the amplitudes extracted from the data were identical.

[0114] FIG. 42 depicts a bar chart including bars that show total time (in milliseconds) to calculate features. The features represented by the bars (from left to right) include absolute energy, amplitude, counts, counts to peak, peak frequency, rise time, duration, and total time. The time to calculate each feature was examined to identify the program code that would provide the most gains if the code could be modified to speed up calculation of the feature in question. FIG. 43 depicts a graph including a plot of calculation time versus number of threads. The plot shows that adding more threads reduces computation time, but the gains are limited by the longest feature calculation time.

[0115] Compact tension experiments may be conducted to generate the training set for classification of material state. For example, three data sets may be obtained and processed. Feature correlation may also be used to reduce the amount of data needed and increase speed of computation for machine learning.Middle Tension Fatigue Crack Growth

[0116] FIG. 44 depicts a graph including a plot 440 of load versus deformation and a plot 442 of amplitude versus time. FIG. 45 depicts a graph including a plot of average frequency versus time. As can be seen, the amplitude and averagefrequency plots spike a few times during crack initiation, but the amplitude reduces during crack growth while the average frequency increases.

[0117] FIG. 46 depicts a graph including a plot of absolute energy versus time, and FIG. 47 depicts a graph including a line plot of stress verses strain and a scatter plot of Mahalanobis distances versus time. The Mahalanobis distance is a measure of the distance between a point P and a distribution D. The amplitude spikes correspond with the shift in the hysteresis loops that indicate crack growth. Initial examination of the digital image correlation images shows the test objects may crack much later than the surface vibration data suggests.Monotonic Crack Growth Experiments

[0118] FIGS. 48-53 depict graphs including plots of velocity versus time for multiple tests under different load levels. The plots indicate general trends of early activity that dies off before resurging near final failure. Sensor location appears to have a large effect on the measured surface vibrations when a discontinuity such as a hole is present. Machine learning may be trained with this type of data to correlate damage with sensor location.De-noising

[0119] Different wavelets may produce different denoising results. FIGS. 54-56 depict graphs including plots of velocity versus time for raw surface vibration data (FIGS. 54 and 56) and filtered surface vibration data (FIGS. 55 and 57). For example, Sym20 wavelets (FIGS. 54 and 55) seem to show spikes better than DB34 wavelets (FIGS. 56 and 57).Hit Extraction

[0120] Multiple methods of extracting hits may be used. FIGS. 58-60 depict graphs each including a time-domain plot 582 of surface vibration data. The graph 580 of FIG. 58 includes a box 584 that identifies a portion of the plot 582 corresponding to a hit. FIG. 59 depicts a graph showing the extracted hit, and FIG. 60 depicts the filtered hit. Both the amplitude method and the energy method may work well for clean signals, but other methods may be preferred for noisy signals. For example, a frequency-domain approach may provide better results for signals with high noise levels.Comparing Laser and PZT Based Data

[0121] FIGS. 61 and 62 depict graphs each including a plot of surface vibration data for a test conducted in which data was collected using a laser Dopplervibrometer (FIG. 61 ) and a PZT PICO sensor (FIG. 62). Both sensors recorded the same source at the same time and captured the event. As can be seen from the plots, the frequency and shape of the waveforms are different, and these differences may be accounted for when using machine learning, both for training of the model and analysis of waveforms by the model.

[0122] FIGS. 63-66 depict graphs each including a scatter plot of amplitude versus time (FIGS. 63 and 65) and peak frequency versus time (FIGS. 64 and 66). The plots of FIGS. 63 and 64 are based on data obtained using a laser Doppler vibrometer, and the plots of FIGS. 65 and 66 are based on data obtained using a PZT PICO sensor. The trends demonstrated by data generated using the laser Doppler vibrometer and PZT PICO sensor are essentially the same. However, the exact values of the amplitude and peak frequency vary depending on which type of vibration sensor was used. With regard to trends, both the laser Doppler vibrometer and PZT PICO sensor produce an amplitude that is higher when the signal strikes. The peak frequency is also higher in the hit signal than in the noise, but the laser Doppler vibrometer data indicates the peak frequency is 20 kHz while the PZT PICO sensor data indicates the peak frequency is 190 kHz.Middle Tension Laser Surface Vibration Data Breakdown

[0123] FIG. 67 depicts a graph including a plot of velocity versus time for a full surface vibration waveform, and FIGS. 68 and 69 depict graphs of an early half of the plot and a later half of the plot, respectively. FIGS. 70 and 71 depict a portion of the early half of the waveform containing an early spike. This spike appears to be a single wave in FIG. 70, but the magnified view of FIG. 71 shows that the spike comprises many smaller waves. These individual waves may represent individual cracks rather than reflections based on the amplitude. FIGS. 72-74 show the second half of the waveform in more detail, which also reveals that both the earlier and later spikes are comprised of many smaller waves.Extracting features from Waveforms

[0124] Extracting features from waveforms rather than analyzing the waveforms using the time-domain window approach of FIGS. 67-74 may reduce number of small waveforms and make trends more apparent. By way of example, FIG. 75 depicts a graph including a scatter plot of amplitude versus time, FIG. 76 depicts a graph including an exemplary scatter plot of peak frequency versus time, FIG. 77 depicts a graph including an exemplary scatter plot of absolute energy versus time,and FIG. 78 depicts a graph including a scatter plot of energy versus time. The amplitude plot of FIG. 75 shows a large magnitude early than becomes uniform. The peak frequency plot of FIG. 76 shows the peak frequency is consistent across the whole test, which may indicate that the lower frequency content seen in previous cases was noise. The trends in the absolute energy plot of FIG. 77 (a true energy metric) and the energy plot of FIG. 78 are similar. The energy plot (which is not a true energy plot) can be calculated faster than the absolute energy plot (which is a true energy plot). Because the plots of FIGS. 77 and 78 are similar, it may be advantageous to use the more easily calculated energy feature to analyze waveforms.Clustering Analysis

[0125] Cluster analysis (sometimes referred to as “clustering”) groups data in a such a way that data points in the same cluster are more similar in some way to each other (e.g., by proximity in time, frequency, etc.) than to data in other clusters. Clustering data based on energy and amplitude has been determined to show a correlation between those two features. Clustering may be used with different extracted features and the number of clusters may be varied to optimize the detection of damage. FIGS. 79-82 depict graphs each including a scatter plot of amplitude versus energy, with clustering within each plot indicated by the closed shapes surrounding the clustered data points in each group. The plots have been clustered into two clusters (FIG. 79), three clusters (FIG. 80), four clusters (FIG. 81 ), and five clusters (FIG. 82). Clustering feature data into five clusters may be optimal. However, damage has been detected using as few as two clusters. Use of additional features may reduce the requirement to one cluster.

[0126] FIGS. 83-85 depict graphs each including a plot of velocity verses time representing a waveform extracted from surface vibration data for a test object (a Ni718 sheet). The sources of acoustic stimulation include a pencil lead break (FIG. 83), a coin tap (FIG. 84) and friction (FIG. 85), and each type of acoustic stimulation was provided by a controlled source. Waveforms were then identified and extracted in a hit-based approach from the surface vibration data.

[0127] FIG. 86 depicts a graph including a scatter plot in which the datapoints have been clustered into four clusters. The depicted datapoints represent data from the friction and coin tap tests.

[0128] Tests were run to generate surface vibration data, features extracted from the resulting waveforms, and clusters defined for the resulting datapoints based on the stimulation source. Cluster 0 includes datapoints from a pencil lead break, cluster 1 includes datapoints from a ball drop, and cluster 2 includes datapoints from friction. The average and standard deviation of each feature was calculated for the clusters. The results are shown in Table I below.

[0129] The average cluster values were compared to the average value for all hits of a given type. Average cluster values were monitored during data acquisition to validate the clustering results. The source identification may be used to help train machine learning models. Table II below shows average values for hits with each source of stimulation.

[0130] FIG. 87 depicts an exemplary embodiment of the damage detection system 900 including a non-contact vibration sensor 902 (e.g., a laser Dopplervibrometer), and a damage detection process 904. The non-contact vibration sensor 902 may emit a sensor signal 906, e.g., one or more lasers, ultrasonic frequencies, etc. At least a portion of the sensor signal 906 emitted by the non-contact vibration sensor 902 may be reflected off a monitored system 908, and a least a portion of this reflected signal may be received by the non-contact vibration sensor 902. One or more of the non-contact vibration sensor 902 and damage detection process 904 may determine a level of surface vibrations in the monitored system 908 based on the reflected energy received by the non-contact vibration sensor 902.

[0131] The damage detection process 904 may include one or more of a data intake thread 910, a hit feature processing thread 911 , and a hit classification thread 912. The results generated by these process threads 910-912 may be used by a hit classification reporting process 916 to generate hit classification reports.Advantageously, embodiments of the damage detection system 900 can detect damage to materials without contact, and thus may be used in situations where contact sensors cannot be used. This non-contact data can be classified in real time, e.g., in less than 10 milliseconds. The damage detection system 900 is also adaptable to various non-contact vibration sensors.

[0132] FIG. 88 depicts a process 920 that may be associated with the data intake thread 910 of damage detection process 904. In block 922, the process 920 may connect to the non-contact vibration sensor 902. In response to connecting to the non-contact vibration sensor 902, the process 920 may proceed to block 924 and start collecting data. In block 926, the process 920 may determine if the testing or monitoring of the monitored system 908 has stopped. If the testing has stopped (“YES” branch of decision block 926), the process 920 may terminate. If the testing has not stopped (“NO” branch of decision block 926), the process 920 may proceed to block 928.

[0133] In block 928, the process 920 may collect a data snapshot (e.g., one or more surface vibration data samples) and compare the data snapshot to a threshold. If the snapshot is greater than the threshold (“YES” branch of decision block 930), the process 920 may proceed to block 932 and save (e.g., flag) the snapshot as a hit before proceeding to block 934. If the snapshot is not greater than the threshold (“NO” branch of decision block 930), the process 920 may bypass block 932 and proceed directly to block 934. In block 934, the process 920 may clear the datasnapshot (e.g., delete the surface vibration data samples from a buffer), return to block 926, and continue to monitor the monitored system 908.

[0134] FIG. 89 depicts a process 940 that may be associated with the hit feature processing thread 911 of damage detection process 904. In block 942, the process 940 may determine if the testing / monitoring of the monitored system 908 has stopped. If the testing has stopped (“YES” branch of decision block 942), the process 940 may terminate. If the testing has not stopped (“NO” branch of decision block 942), the process 940 may proceed to block 944.

[0135] In block 944, the process 940 may determine if new hits are available. If new hits are not available (“NO” branch of decision block 944), the process 940 may return to block 942 and continue to monitor the monitored system 908. If new hits are available (“YES” block of decision block 944), the process 940 may proceed to block 946 and filter and process data associated with the hit, e.g., extract features from the hit data. The process 940 may then proceed to block 948, save the processed data as a hit, and return to block 942.

[0136] FIG. 90 depicts a process 950 that may be associated with the hit classification thread 912 of damage detection process 904. In block 952, the process 950 may load a machine learning model. The process 950 may select which machine learning model to load based on one or more of the type of system 908 being monitored, the type of non-contact vibration sensor 902 being used to collect data, the type of features being extracted from the data, or any other suitable parameter of the damage detection scenario in question. In block 954, the process 950 may determine if the testing / monitoring has stopped. If the testing has stopped (“YES” branch of decision block 954), the process 950 may terminate. If the testing has not stopped (“NO” branch of decision block 954), the process 950 may proceed to block 956.

[0137] In block 956, the process 950 may determine if any processed hits (e.g., filtered or domain transformed hits) are available. If processed hits are not available (“NO” branch of decision block 956), the process 950 may return to block 954 and continue to monitor the monitored system 908. If processed hits are available (“YES” block of decision block 956), the process 950 may proceed to block 958, predict a hit using the machine learning model, and return to block 954.

[0138] FIGS. 91 and 92 depict graphs, with each graph including a scatter plot of surface vibration data, a dashed vertical line indicating crack initiation, and a soldvertical line indicating crack growth. Each scatter plot includes a plurality of datapoints. Each datapoint is indicated by a triangular symbol or a diamond-shaped symbol, with the diamond-shaped symbols representing crack hits. As shown by FIG. 95, the graphical user interface may be configured so that selecting a datapoint (e.g., by causing a cursor to hover over a datapoint or clicking on a datapoint) causes a popup window to be displayed by the graphical user interface. The popup window may include information regarding the data point, such as a feature name and feature value of one or more features of the acoustic emission waveform represented by the data point.

[0139] Referring now to FIG. 93, embodiments of the invention described above, or portions thereof, may be implemented using one or more computer devices or systems, such as exemplary computer 1000. The computer 1000 may include a processor 1002, a memory 1004, an input / output (I / O) interface 1006, and a Human Machine Interface (HMI) 1008. The computer 1000 may also be operatively coupled to one or more external resources 1010 via the network 1012 or I / O interface 1006. External resources may include, but are not limited to, servers, databases, mass storage devices, peripheral devices, cloud-based network services, or any other resource that may be used by the computer 1000.

[0140] The processor 1002 may include one or more devices selected from microprocessors, micro-controllers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on operational instructions stored in memory 1004. Memory 1004 may include a single memory device or a plurality of memory devices including, but not limited to, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or data storage devices such as a hard drive, optical drive, tape drive, volatile or non-volatile solid state device, or any other device capable of storing data.

[0141] The processor 1002 may operate under the control of an operating system 1014 that resides in memory 1004. The operating system 1014 may manage computer resources so that computer program code embodied as one or more computer software applications, such as an application 1016 residing in memory1004, may have instructions executed by the processor 1002. In an alternative embodiment, the processor 1002 may execute the application 1016 directly, in which case the operating system 1014 may be omitted. One or more data structures 1018 may also reside in memory 1004, and may be used by the processor 1002, operating system 1014, or application 1016 to store or manipulate data.

[0142] The I / O interface 1006 may provide a machine interface that operatively couples the processor 1002 to other devices and systems, such as the external resource 1010 or the network 1012. The application 1016 may thereby work cooperatively with the external resource 1010 or network 1012 by communicating via the I / O interface 1006 to provide the various features, functions, applications, processes, or modules comprising embodiments of the invention. The application 1016 may also have program code that is executed by one or more external resources 1010, or otherwise rely on functions or signals provided by other system or network components external to the computer 1000. Indeed, given the nearly endless hardware and software configurations possible, persons having ordinary skill in the art will understand that embodiments of the invention may include applications that are located externally to the computer 1000, distributed among multiple computers or other external resources 1010, or provided by computing resources (hardware and software) that are provided as a service over the network 1012, such as a cloud computing service.

[0143] The HMI 1008 may be operatively coupled to the processor 1002 of computer 1000 to allow a user to interact directly with the computer 1000. The HMI 1008 may include video or alphanumeric displays, a touch screen, a speaker, and any other suitable audio and visual indicators capable of providing data to the user. The HMI 1008 may also include input devices and controls such as an alphanumeric keyboard, a pointing device, keypads, pushbuttons, control knobs, microphones, etc., capable of accepting commands or input from the user and transmitting the entered input to the processor 1002.

[0144] A database 1020 may reside in memory 1004, and may be used to collect and organize data used by the various systems and modules described herein. The database 1020 may include data and supporting data structures that store and organize the data. In particular, the database 1020 may be arranged with any database organization or structure including, but not limited to, a relational database, a hierarchical database, a network database, or combinations thereof. A databasemanagement system in the form of a computer software application executing as instructions on the processor 1002 may be used to access the information or data stored in records of the database 1020 in response to a query, which may be dynamically determined and executed by the operating system 1014, other applications 1016, or one or more modules.

[0145] In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, or a subset thereof, may be referred to herein as “program code.” Program code typically comprises computer-readable instructions that are resident at various times in various memory and storage devices in a computer and that, when read and executed by one or more processors in a computer, cause that computer to perform the operations necessary to execute operations or elements embodying the various aspects of the embodiments of the invention. Computer-readable program instructions for carrying out operations of the embodiments of the invention may be, for example, assembly language, source code, or object code written in any combination of one or more programming languages.

[0146] Various program code described herein may be identified based upon the application within which it is implemented in specific embodiments of the invention. However, it should be appreciated that any particular program nomenclature which follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified or implied by such nomenclature. Furthermore, given the generally endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API’s, applications, applets, etc.), it should be appreciated that the embodiments of the invention are not limited to the specific organization and allocation of program functionality described herein.

[0147] The program code embodied in any of the applications / modules described herein is capable of being individually or collectively distributed as a computer program product in a variety of different forms. In particular, the program code may be distributed using a computer-readable storage medium having computer-readableprogram instructions thereon for causing a processor to carry out aspects of the embodiments of the invention.

[0148] Computer-readable storage media, which is inherently non-transitory, may include volatile and non-volatile, and removable and non-removable tangible media implemented in any method or technology for storage of data, such as computer- readable instructions, data structures, program modules, or other data. Computer- readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read-only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store data and which can be read by a computer. A computer-readable storage medium should not be construed as transitory signals per se (e.g., radio waves or other propagating electromagnetic waves, electromagnetic waves propagating through a transmission media such as a waveguide, or electrical signals transmitted through a wire). Computer-readable program instructions may be downloaded to a computer, another type of programmable data processing apparatus, or another device from a computer- readable storage medium or to an external computer or external storage device via a network.

[0149] Computer-readable program instructions stored in a computer-readable medium may be used to direct a computer, other types of programmable data processing apparatuses, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions that implement the functions, acts, or operations specified in the text of the specification, the flowcharts, sequence diagrams, or block diagrams. The computer program instructions may be provided to one or more processors of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the one or more processors, cause a series of computations to be performed to implement the functions, acts, or operations specified in the text of the specification, flowcharts, sequence diagrams, or block diagrams.

[0150] The flowcharts and block diagrams depicted in the figures illustrate the architecture, functionality, or operation of possible implementations of systems, methods, or computer program products according to various embodiments of the invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function or functions.

[0151] In certain alternative embodiments, the functions, acts, or operations specified in the text of the specification, the flowcharts, sequence diagrams, or block diagrams may be re-ordered, processed serially, or processed concurrently consistent with embodiments of the invention. Moreover, any of the flowcharts, sequence diagrams, or block diagrams may include more or fewer blocks than those illustrated consistent with embodiments of the invention. It should also be understood that each block of the block diagrams or flowcharts, or any combination of blocks in the block diagrams or flowcharts, may be implemented by a special purpose hardware-based system configured to perform the specified functions or acts, or carried out by a combination of special purpose hardware and computer instructions.

[0152] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include both the singular and plural forms, and the terms “and” and “or” are each intended to include both alternative and conjunctive combinations, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” or “comprising,” when used in this specification, specify the presence of stated features, integers, actions, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, or groups thereof. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, “comprised of”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising”.

[0153] While all the invention has been illustrated by a description of various embodiments, and while these embodiments have been described in considerable detail, it is not the intention of the Applicant to restrict or in any way limit the scope ofthe appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the Applicant’s general inventive concept.

Claims

CLAIMSWhat is claimed is:1 . A system for detecting damage to an object, comprising: a non-contact vibration sensor; one or more processors in communication with the non-contact vibration sensor; a memory in communication with the one or more processors, the memory including program code that, when executed by the one or more processors, causes the system to: receive surface vibration data from the non-contact vibration sensor; define a waveform based on the surface vibration data; extract one or more features from the waveform; and determine if damage has occurred to the object based on the one or more features extracted from the waveform.

2. The system of claim 1 , wherein the non-contact vibration sensor is configured to: transmit a sensor signal; receive a portion of the sensor signal reflected from a surface the object; and generate a surface vibration signal that conveys the surface vibration data based on the portion of the sensor signal reflected from the surface the object.

3. The system of claim 1 , wherein the non-contact vibration sensor comprises a laser Doppler vibrometer.

4. The system of claim 1 , wherein the program code further causes the system to determine if damage has occurred to the object based on the one or more features extracted from the waveform by: classifying a source of an acoustic emission in the object that contributed to the surface vibration based on the one or more features extracted from the waveform; and determining damage has occurred to the object if the source of the acoustic emission is classified as a fracture.

5. The system of claim 1 , wherein the program code further causes the system to: partition the waveform into one or more windowed waveforms; and extract the one or more features from each windowed waveform.

6. The system of claim 5, wherein the waveform is partitioned into either time-domain windows or frequency-domain windows.

7. The system of claim 1 , wherein the one or more features extracted from the waveform are selected from a group consisting of an absolute energy, an energy, an amplitude, a peak amplitude, counts, counts to peak, peak frequencies, a rise time, a duration, a measured area of a rectified signal envelope energy, an average frequency, an initiation frequency, and a reverberation frequency.

8. The system of claim 1 , wherein the one or more processors are provided by a plurality of nodes each including at least one processor, and each of the one or more features is extracted from the waveform by a different node.

9. The system of claim 1 , wherein the program code causes the system to determine if damage has occurred to the object based on the one or more features by providing the one or more features extracted from the waveform to a machine learning model trained to identify waveforms associated with damage to the object.

10. The system of claim 9, wherein the one or more features used to train the machine learning model include a rise time, counts, and an absolute energy.

11. A method for detecting damage to an object, comprising: receiving surface vibration data from a non-contact vibration sensor; defining a waveform based on the surface vibration data; extracting one or more features from the waveform; and determining if damage has occurred to the object based on the one or more features extracted from the waveform.

12. The method of claim 11 , wherein receiving the surface vibration data from the non-contact vibration sensor comprises: transmitting a sensor signal; receiving a portion of the sensor signal reflected from a surface the object; and generating a surface vibration signal that conveys the surface vibration data based on the portion of the sensor signal reflected from the surface the object.

13. The method of claim 11 , wherein the non-contact vibration sensor comprises a laser Doppler vibrometer.

14. The method of claim 11 , wherein determining if damage has occurred to the object based on the one or more features extracted from the waveform includes: classifying a source of an acoustic emission in the object that contributed to the surface vibration based on the one or more features extracted from the waveform; and determining damage has occurred to the object if the source of the acoustic emission is classified as a fracture.

15. The method of claim 11 , further comprising: partitioning the waveform into one or more windowed waveforms; and extracting the one or more features from each windowed waveform.

16. The method of claim 15, wherein the waveform is partitioned into either time domain windows or frequency-domain windows.

17. The method of claim 11 , when the one or more features extracted from the waveform are selected from a group consisting of an absolute energy, an energy, an amplitude, a peak amplitude, counts, counts to peak, peak frequencies, a rise time, a duration, a measured area of a rectified signal envelope energy, an average frequency, an initiation frequency, and a reverberation frequency.

18. The method of claim 11 , wherein each of the one or more features is extracted from the waveform by a different program thread running on a different processor.

19. The method of claim 11 , wherein determining if damage has occurred to the object based on the one or more features extracted from the waveform comprises: providing the one or more features extracted from the waveform to a machine learning model trained to identify waveforms associated with damage to the object.

20. The method of claim 19, wherein the one or more features used to train the machine learning model include a rise time, counts, and an absolute energy.21 . A computer program product for detecting damage to an object, comprising: a non-transitory computer-readable storage medium; and program code stored on the non-transitory computer-readable storage medium that, when executed by one or more processors, causes the one or more processors to: receive surface vibration data from a non-contact vibration sensor; define a waveform based on the surface vibration data; extract one or more features from the waveform; and determine if damage has occurred to the object based on the one or more features extracted from the waveform.