Defect detection using ultrasound scan data
11467128 · 2022-10-11
Assignee
Inventors
Cpc classification
G01N29/069
PHYSICS
G01N2291/044
PHYSICS
G01N29/449
PHYSICS
G01N29/4454
PHYSICS
International classification
G01N29/40
PHYSICS
Abstract
A defect detection method and apparatus detecting a defect in an object. The method comprises: obtaining ultrasound scan data derived from an ultrasound scan of the object under consideration, the ultrasound scan data being in the form of a set of echo amplitude values representing the amplitude of echoes received from the object during ultrasound scanning at certain spatial and temporal points; processing the ultrasound scan data to remove echo amplitude values received after a predetermined threshold time; generating at least one image from the processed ultrasound scan data; subjecting each generated image to an automated defect recognition process to determine whether there is a defect in the portion of the object represented by the image; issuing a notification indicating whether or not a defect has been found; and, if a defect has been found, storing the result of the automated defect recognition process in a defect database.
Claims
1. A method of detecting a defect in an object, comprising: obtaining ultrasound scan data derived from an ultrasound scan of the object under consideration, the ultrasound scan data being in a form of a set of echo amplitude values representing amplitude of echoes received from the object during ultrasound scanning at certain spatial and temporal points; processing the ultrasound scan data to remove echo amplitude values received after a predetermined threshold time; generating at least one image from the processed ultrasound scan data; subjecting the generated at least one image to an automated defect recognition process to determine whether there is a defect in a portion of the object represented by the image; issuing a notification indicating whether a defect has been found; and storing, provided the defect has been found, a result of the automated defect recognition process in a defect database, wherein the method further comprises, before the processing of the ultrasound data, dividing the set of echo amplitude values into a plurality of sub-sets and determining a value of the predetermined threshold time to be used, wherein the determining of the value of the predetermined threshold time comprises: for a sub-set among the plurality of sub-sets, deriving from amplitude values in the sub-set a vector including a representative amplitude value for each time point in the sub-set; identifying in the vector an end time point of a largest sequence of positive representative amplitude values; and selecting, from amongst all end time points identified for other vectors, the end time point with a greatest value, or a value calculated using that end time point, as the value of the predetermined threshold time; and wherein the processing of the ultrasound scan data includes removing the echo amplitude values received after the predetermined threshold time from the plurality of sub-sets.
2. The method as claimed in claim 1, wherein the deriving the vector comprises applying a mathematical function including an aggregation function, to amplitude values in the sub-set which correspond to echoes received at the same time.
3. The method as claimed in claim 2, wherein the mathematical function further comprises a smoothing function.
4. The method as claimed in claim 1, wherein the object under consideration is at least one of: a manufactured object; and an object used in manufacture.
5. The method as claimed in claim 1, further comprising using a defect detected in the object to determine at least one of: a structural integrity of material forming at least part of the object; and flaws in material forming at least part of the object.
6. A non-transitory computer readable medium having stored therein a computer program which, when run on a computer, causes the computer to carry out the method as claimed in claim 1.
7. An apparatus to detect a defect in an object, comprising: an ultrasound scan data processor to process ultrasound scan data derived from an ultrasound scan of the object under consideration, the ultrasound scan data being in a form of a set of echo amplitude values representing amplitude of echoes received from the object during ultrasound scanning at certain spatial and temporal points, the ultrasound scan data processor operating to implement at least: an amplitude filter to remove from the ultrasound scan data echo amplitude values received after a predetermined threshold time; and an image generator to generate at least one image from filtered ultrasound scan data; and a defect detector to perform the generated at least one image an automated defect recognition process to determine whether there is a defect in a portion of the object represented by the image, issue a notification indicating whether a defect has been found, and store a result of the automated defect recognition process in a defect database provided the defect has been found, wherein the ultrasound scan data processor further operating to implement: a data sub-set creator to divide the set of echo amplitude values into a plurality of sub-sets, before the processing of the ultrasound scan data by the amplitude filter, and a threshold determiner to determine a value of the predetermined threshold time to be used, wherein the threshold determiner determines the value of the threshold time to be used by: for a sub-set among the plurality of sub-sets, deriving from amplitude values in the sub-set a vector including a representative amplitude value for each time point in the sub-set; identifying in the vector an end time point of a largest sequence of positive representative amplitude values; and selecting, from amongst all end time points identified for other vectors, the end time point with a greatest value, or a value calculated using that end time point, as the value of the predetermined threshold time, and wherein the amplitude filter removes the echo amplitude values received after the predetermined threshold time from the plurality of sub-sets.
8. The apparatus as claimed in claim 7, wherein the threshold determiner derives a vector by applying a mathematical function including an aggregation function, to amplitude values in the sub-set which correspond to echoes received at the same time.
9. The apparatus as claimed in claim 8, wherein the mathematical function further comprises a smoothing function.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings.
(2) Reference will now be made, by way of example, to the accompanying drawings, in which:
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
DETAILED DESCRIPTION
(16) Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated device, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
(17) A flowchart of an embodiment is shown in
(18) The operations shown in
(19) Ultrasound scan data processor 10 includes a pre-processor 1000, comprising a data subset creator 1100 and a threshold determiner 1200, configured to carry out the patch filtering process 100. Ultrasound scan data processor 10 also includes a visualiser 2000, comprising an amplitude filter 2100 and an image generator 2200, configured to carry out the patch visualisation process 200.
(20) The patch filtering process 100 takes samples of raw scan data and transforms them to determine a threshold for use in the amplitude filter; the amplitude filter is then used in a patch imagification process 200 which converts the filtered samples to image representations. The full scan data may be represented as a data matrix of sound wave echo amplitudes, where each row of the matrix corresponds to the echo measured at a given time t.sub.j, and each column of the matrix corresponds to the physical distance x.sub.i, from the tip of the scanned object to the position where the measurement was taken. Each data sample is a sub-matrix that will be converted into an image representation after the amplitude filter is applied. The amplitude transform applies, on a row by row basis, an aggregation function to the amplitude measurements to identify a threshold along the t dimension, which can be used to separate salient structures of the scanned object from the signal echoes. By applying the aggregation function on a row by row level echoes corresponding to a salient structure of an object, such as its back wall where critical defects tend to be observed, can be separated out more reliably. When visualized, such an echo stands out as a salient structure along the x axis. The patch filtering process identifies an overall threshold t.sub.scan that is applied in the patch imagification process to filter out rows of data corresponding to noise before imagification of the data.
(21) As shown in
(22) As mentioned above, the patch filtering process 100 aims to determine an optimum threshold value t.sub.scan, for filtering out irrelevant scan data, i.e. for eliminating data points where the value of t exceeds the threshold t.sub.scan. Such irrelevant data correspond to ultrasound signal echoes that are not useful for the defect analysis, such as noise. At operation S102 of
(23) The raw scan sub-matrix A.sub.patch is first saved in operation S104 for the subsequent patch imagification process S200, and then in operation S105 is processed using an amplitude transform, in the form of a function that is applied to the amplitude values in each row t.sub.i, to obtain a vector V.sub.patch (σ.sub.1, σ.sub.2, σ.sub.3, . . . , σ.sub.i), as shown in
(24)
(25) In addition the function may include a smoothing function, such as a convolution filter, to smooth the values σ.sub.I (smoothing is applied to reduce the effect of neighbouring elements in the vector Vpatch, having very different amplitude values). For example, the convolution filter could correspond to a moving average with a window size w.sub.size much smaller than the maximum value of t, t.sub.max (e.g. 5% of t.sub.max).
(26)
(27) In operation S106 a patch threshold value t.sub.patch along the time dimension, which corresponds to the end t.sub.end of the largest sequence, is determined. Considering the visualisation of this vector presented in
(28)
(29) A maximum value of t, t=τ, may be predefined in cases where an upper bound for filtering can be pre-set, for example by a user based on domain knowledge. In such cases, if t.sub.end+w.sub.size>τ, then the patch threshold value is set to t.sub.patch=τ. In this case t.sub.scan is always equal to τ.
(30) In operation 106a the patch threshold value t.sub.patch for the vector currently being processed is compared to the current overall scan threshold t.sub.scan, and, if t.sub.scan is lower than t.sub.patch (Yes, operation S106a), t.sub.scan is then updated to the current value of t.sub.patch. in operation S107. After comparing t.sub.patch and t.sub.scan, and if necessary updating t.sub.scan, the process checks at operation S108 if all scan data has been sampled. If not (No, operation S108), in operation S108a the sampling window is updated to values of x.sub.next=x.sub.previous+x.sub.step−x.sub.overlap and the process returns to operation S103 to sample the next patch data, and iterates until the full raw data matrix has been processed (Yes, operation S108). The output of the patch filtering process at operation S109 is the overall final value of the scan threshold t.sub.scan (shown at S110).
(31) Following completion of the patch filtering process 100, a patch imagification process 200, depicted in
(32) Defect detection may be achieved by applying one of several known image analysis methods, for example a standard machine learning (ML) model, which may utilize a convolutional neural network. The ML model may be pre-trained on external image databases, in which case a pre-trained convolutional neural network performs feature vector extraction and applies a simple classifier, like k-Nearest Neighbours, to identify similar image patches based on the similarity of the extracted feature vectors. In the present example however, as shown in
(33) In the defect detection process 400 illustrated in
(34) A particular application of an image processing method embodying the present invention will now be described with reference to
(35) For example purposes, we consider a fiberglass pipe 90 as the test object. Fiberglass is widely used in manufacturing of large structures that benefit from being light weight, while having high strength and durability properties. Early applications of fiberglass came from the aviation and aerospace industries for aircraft design. Nowadays, there are many other applications including ship hulls, pipes, surfboards, wind turbine blades, automobile body parts, water slides, pole vaulting poles, among others. Any manufacturing anomalies in such objects can have a significant impact on their structural integrity.
(36) Ultrasonic NDT scanning is performed by an array of probes 91, which emit sound waves that propagate inside the pipe structure 90 and receive the echoes resulting from interactions with its front and back walls (
(37) The front and back structures of the test object are easily identifiable in the visualisation, since the amplitudes of the echoes they produce usually stand out as dark coloured regions, hence making it easy to inspect for defects. Defects such as wrinkles in the fibreglass layers bring about distinct visual patterns in the scan, such as discontinuities or curvatures in the back structure region.
(38)
(39) Embodiments of the present invention may be implemented in hardware, or as software modules running on one or more processors, or on a combination thereof.
(40) That is, those skilled in the art will appreciate that a microprocessor or digital signal processor (DSP) may be used in practice to implement some or all of the functionality described above.
(41) The invention may also be embodied as one or more device or apparatus programs (e.g. computer programs and computer program products) for carrying out part or all of the methods described herein. Such programs embodying the present invention may be stored on computer-readable media, or could, for example, be in the form of one or more signals. Such signals may be data signals downloadable from an Internet website, or provided on a carrier signal, or in any other form.
(42)
(43) The computing device comprises a processor 993, and memory, 994. Optionally, the computing device also includes a network interface 997 for communication with other such computing devices, for example with other computing devices of invention embodiments.
(44) For example, an embodiment may be composed of a network of such computing devices. Optionally, the computing device also includes one or more input mechanisms such as keyboard and mouse 996, and a display unit such as one or more monitors 995. The components are connectable to one another via a bus 992.
(45) The memory 994, which may for example serve to store t.sub.scan, the ML model 306, the patch database 104, the image database 205 and/or the defect database 304, may include a computer readable medium, which term may refer to a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) configured to carry computer-executable instructions or have data structures stored thereon. Computer-executable instructions may include, for example, instructions and data accessible by and causing a general purpose computer, special purpose computer, or special purpose processing device (e.g., one or more processors) to perform one or more functions or operations. Thus, the term “computer-readable storage medium” may also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the present disclosure. The term “computer-readable storage medium” may accordingly be taken to include, but not be limited to, solid-state memories, optical media and magnetic media. By way of example, and not limitation, such computer-readable media may include non-transitory computer-readable storage media, including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices).
(46) The processor 993 is configured to control the computing device and execute processing operations, for example executing computer program code stored in the memory 994 to implement the methods described with reference to
(47) The display unit 995 may display a representation of data stored by the computing device and may also display a cursor and dialog boxes and screens enabling interaction between a user and the programs and data stored on the computing device. The input mechanisms 996 may enable a user to input data and instructions to the computing device.
(48) The network interface (network I/F) 997 may be connected to a network, such as the Internet, and is connectable to other such computing devices via the network. The network I/F 997 may control data input/output from/to other apparatus via the network.
(49) Other peripheral devices such as microphone, speakers, printer, power supply unit, fan, case, scanner, trackerball, etc. may be included in the computing device.
(50) Methods embodying the present invention may be carried out on a computing device such as that illustrated in
(51) A method embodying the present invention may be carried out by a plurality of computing devices operating in cooperation with one another. One or more of the plurality of computing devices may be a data storage server storing at least a portion of the data.
(52) The above-described embodiments of the present invention may advantageously be used independently of any other of the embodiments or in any feasible combination with one or more others of the embodiments.
(53) The many features and advantages of the embodiments are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the embodiments that fall within the true spirit and scope thereof. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the inventive embodiments to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope thereof. It will further be understood that the phrase “at least one of A, B and C” may be used herein as an alternative expression that means “one or more of A, B and C.”