USPatent applicationPatented

Diagnostic system with learning capabilities

Granted 27 Aug 2002 · 1 office action

Assignee: General Electric

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Phillip Edward Steen, Piero Patrone Bonissone, Yu-To Chen, Ramesh Ramachandran +3 · Examiner: Hosain T. Alam · AU 2172 · TC 2100

Application· this page
9415408
filed 8 Oct 1999
Publication
Not published
not published
Patent
US 6,442,542
granted 27 Aug 2002

Life of the application

7 dated events
⤢ drag to zoom20002002200420062008201020122014201620182020ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A diagnostic system is provided for identifying faults in a machine (e.g., CT scanner, MRI system, x-ray apparatus) by analyzing a data file generated thereby. The diagnostic system includes a trained database containing a plurality of trained data, each trained data associated with one of plurality of known fault types. Each trained data is represented by a trained set of feature values and corresponding weight values. Once a data file is generated by the machine, a current set of feature values are extracted from the data file by performing various analyses (e.g., time domain analysis, frequency domain analysis, wavelet analysis). The current set of feature values extracted is analyzed by a fault detector which produces a candidate set of faults based on the trained set of feature values and corresponding weight values for each of the fault types. The candidate set of faults produced by the fault detector is presented to a user along with a recommend repair procedure. In cases where no fault is identified or in response to a misdiagnosis produced by the diagnostic system, the user may interactively input a faulty condition associated with the machine being diagnosed (e.g., based on his/her experience). The diagnostic system further includes a learning subsystem which automatically updates the plurality of trained data based on the faulty condition input by the user.

Description

8 parts
›FIELD OF THE INVENTION

The present invention generally relates to diagnostic systems and, in particular, to a diagnostic system with learning capabilities.

›BACKGROUND OF THE INVENTION

Hospitals and other medical facilities utilize a variety of imaging scanner equipment, including computed tomography (“CT”) scanners, magnetic resonance imaging (“MRI”) systems, and x-ray apparatus to produce images of internal parts of test subjects under examination. Over time, these medical imaging devices may develop a wide variety of mechanical or electrical problems. If such problems are not resolved promptly, malfunctioning imaging devices may exhibit image quality imperfections, resulting in possible misdiagnosis in addition to economic losses.

One way to diagnose and repair imaging equipment suspected of malfunction is to have a field engineer run a system performance test (“SPT”) to analyze the image quality or the state of the equipment. The SPT generates a number of data files which provide a “signature” of the operation of the; imaging equipment. The data files generated by the imaging equipment are analyzed by a knowledge facilitator (e.g., service engineer) who will try to identify faulty components or conditions associated therewith based on his/her accumulated experience with identifying malfunctions. Then, based on the diagnosis provided by the knowledge facilitator, the field engineer will try to correct the problem that may be causing the equipment malfunction.

One problem that occurs with the use of a knowledge facilitator to manually analyze data files is the difficulty associated with evaluating a large amount of imprecise information, as is usually the case for complex devices such as medical imaging equipment.

›BRIEF SUMMARY OF THE INVENTION

Thus, there is a particular need for a system that is capable of diagnosing a machine by analyzing data generated thereby. In particular, there is a need for a diagnostic system capable of learning so that after each learning process the system's ability to identify the fault causing the machine malfunction may be enhanced. The learning process may occur in response to a misdiagnosis produced by the diagnostic system or in response to the system's inability to identify any fault. During the learning process, the trained data and rules used for diagnosing faults may be updated, based on fault type input by a knowledge facilitator, so as to more accurately identify a faulty component or condition during subsequent analysis.

The present invention is directed to a diagnostic system and corresponding method for identifying faults in a machine (e.g., CT scanner, MRI system, x-ray apparatus) by analyzing a data file generated thereby. The diagnostic system includes a trained database containing a plurality of trained data, each trained data associated with one of plurality of known fault types. Each trained data is represented by a trained set of feature values and corresponding weight values. Once a data file is generated by the machine (e.g., by performing a system performance test), a current set of feature values is extracted from the data file by performing various analyses (e.g., time domain analysis, frequency domain analysis, wavelet analysis). The current set of feature values extracted is analyzed by a fault detector which produces a candidate set of faults based on the trained set of feature values and corresponding weight values for each of the fault types. The candidate set of faults produced by the fault detector is presented to a user along with a recommended repair procedure. In cases where no fault is identified or a wrong fault is diagnosed, the user may interactively input a faulty condition associated with the machine being diagnosed (e.g., based on his/her experience). The diagnostic system further includes a learning subsystem which automatically updates the plurality of trained data based on the faulty condition input by the user.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system for diagnosing faults in an imaging machine in accordance with the present invention.

FIG. 2 is a flow diagram illustrating the steps performed by the diagnostic system during an analysis mode according to one embodiment of the present invention.

FIG. 3 is a flow diagram illustrating the steps performed by the diagnostic system during an analysis mode according to another embodiment of the present invention.

FIG. 4 is a flow diagram illustrating the steps performed by the diagnostic system during a training mode.

FIG. 5 is a graph illustrating centroids of different fault types relative to the centroid of a current data set in a multi-dimensional space.

›DETAILED DESCRIPTION OF THE INVENTION · 1 of 4

FIGS. 1-4 illustrate the various features and embodiments of a diagnostic system of the present invention. Referring to FIG. 1, a block diagram is shown illustrating the overall architecture of the diagnostic system 100 according to the present invention. The present system 100 diagnoses E malfunctioning machine (e.g., a medical imaging device) by analyzing data files 106 which provide a “signature” of the operation of the machine. The data files may be generated by running a system performance test (“STP”) 102 on the machine which will be described in more detail hereinbelow.

For ease of description and as an illustrative example, the malfunctioning machine 104 will be described in terms of a medical imaging device, such as computed tomography (“CT”) scanners, magnetic resonance imaging (“MRI”) systems, and x-ray apparatus. However, it is to be understood that the diagnostic system 100 in accordance with the present invention can be used to identify faults any machine which outputs signals or data that can be analyzed to extract features, whereby the extracted features serve as fingerprints for evaluating the operation and performance of the machine under diagnosis.

The SPT 102 may comprise one or more tests, each test configured to target identification of some specific problem areas of the machine being diagnosed. For example, the SPT for testing a medical imaging device may comprise a fast gradient echo (“FGRE”) test adapted for sensing gradient related problems and a fast spin echo (“FSE”) test adapted for sensing radio frequency related problems. The FGRE and FSE tests are performed at multiple locations of a calibration phantom placed on the gantry table of the imaging device, including the head and body areas thereof to generate a complete set of data files (e.g., head FGRE, body FGRE, head FSE and body FSE).

Continuing to refer to FIG. 1, the diagnostic system 100 includes a parser 108 , a gross filter 110 , feature extractor 112 , fault detector 114 , learning subsystem 124 and a trained database 126 containing data and rules which are accessible by the fault detector 114 for diagnosing faults in an imaging device. Also included in the diagnostic system are a mode selector 120 which allows a user to select between a training and analysis mode and a user interface 122 which presents a candidate set of faults identified by the fault detector to a user (e.g., a knowledge facilitator) and allows the user to interactively input a faulty condition associated with the machine. In the training mode, the diagnostic system is trained based on inputs made by a user or trained with data files having a known fault associated therewith. The training process is performed by a learning subsystem and is detailed in the flow chart of FIG. 2 . In the analysis mode, data files generated by the malfunctioning machine are analyzed for the purposes of finding any symptoms that may point to the fault.

In either the training or analysis mode, the parser 108 receives the data files 106 generated by the malfunctioning machine and removes extraneous data from each data file to extract a flat file representing a slice-readout at a particular location. The parser 108 uses the extraneous data contained in the data files to generate an information file containing information about the imaging machine hardware, software version, magnet type, site information, date stamp and other relevant information.

Once flat files have been extracted from the data files, the gross filter 110 categorizes each flat file as normal and faulty data. The files that are categorized as normal are not analyzed by the diagnostic system and only the files that are categorized as being faulty are further processed. In this regard, the amount of computation time necessary to process the data files generated by the malfunctioning machine is reduced. The thresholds for distinguishing between normal and faulty data are selected on the conservative side so as to analyze borderline (normal-faulty) cases.

Next, the feature extractor 112 extracts a number of different features from the data files that are categorized as being faulty. The features extracted from the data files serve as fingerprints for evaluating the characteristics of the machine under diagnosis. As an example, the features extracted from the data file may include: (1) minimum; (2) maximum; (3) the peak-to-peak; (4) mean; (5) standard deviation; (6) minimum in the first 64 points (for eddy currents); (7) time when minimum in first 64 points occurs; (8) the sign of the minimum value in the first 64 points; (9) maximum in the first 64 points (for eddy currents); (10) time when maximum in first 64 points occurs; (11) the sign of the maximum value in the first 64 points; (12) the slope in the first 64 points; (13) maximum amplitude; (14) maximum frequency; (15) total power; (16) number of outliers; (17) number of spikes; (18) spike value; and (19) spike time.

In one embodiment, the features are extracted from each data file by performing a time domain analysis, a frequency domain analysis and a wavelet analysis. For the time domain analysis, the time series data is used to compute peak-to-peak values in a graph, the area under a curve (integral) in the graph, and the slope of a curve (derivative). The frequency domain analysis uses the Fast Fourier Transform (“FFT”) to decompose a time-series plot of data into different frequency components for analyzing relative magnitudes. The wavelet analysis is achieved by using a discrete wavelet transform (“DWT”) which is the counterpart of the FFT.

The features that are extracted from the time domain analysis are:

the minimum of the time series which is defined as: v 1 , i = min n j = 1  x 1  ( t j ) ; ( 1 )

the maximum value of the time series which is defined as: v 2 , i = max n j = 1  x 1  ( t j ) ; ( 2 )

the peak-to-peak distance of the time series which is defined as:

v 3,i =v 2,i −v 1,i ;  (3)

the time series average which is defined as: v 4 , i = ∑ j = 1 n     x i  ( t j ) n ; ( 4 )

›DETAILED DESCRIPTION OF THE INVENTION · 2 of 4

the standard deviation of the time series which is defined as: v 5 , i = ∑ j = 1 n     ( x i  ( t j ) - v 4 , i ) 2 n - 1 ; ( 5 )

the minimum absolute value of the time series during the first 64 sample which is defined as: v 6 , i = min 64 j = i   x i  ( t j )  ; ( 6 )

the time of minimum value for the first 64 samples which is defined as:

v 7,i =j min : wherein x i ( t jmin )= v 6,i ;  (7)

the sign of the minimum value for the first 64 samples which is defined as:

v 8,i =sign{ x i ( t jmin )}, wherein x i ( t jmin )= v 6,i ;  (8)

the maximum absolute value of the time series during the first 64 samples which is defined as: v 9 , i = max 64 j = i   x i  ( t j )  ; ( 9 )

the time of the maximum value for the first 64 samples which is defined as:

v 10,i =j max , wherein x i ( t jmax )= v 9,i ;  (10)

the sign of the maximum value for the first 64 samples which is defined as:

V 11,i =sign{ x i ( t j max)} where x i ( t jmax )= v 9,i ;  (11)

the slope of the line segment approximating the time series derivative during the first 64 samples which is defined as: v 12 , i = ( x i  ( t 64 ) - x i  ( t i ) ) 63 ; ( 12 )

The features that are extracted from the frequency domain analysis are:

the maximum amplitude of the power spectrum which is defined as: v 13 , i = max n j = 1  A j ; ( 13 )

wherein A j is the j th amplitude of the FFT of x i (t j );

the frequency at which the maximum amplitude occurs which is defined as: v 14 , i = max n j = 1  F j ; ( 14 )

wherein F j is the j th amplitude of the FFT of x i (t j ); and

the total power which is defined as: v 15 , i = ∑ j = 1 n     C j 2 ; ( 15 )

wherein C j is the j th amplitude of the FFT of x i (t j ).

The features that are extracted from the wavelet analysis are determined after all of the coefficients of the wavelet transform W i have been computed. The first wavelet feature is the maximum absolute value among all spikes. This feature is applied to the points in the scatter plot of the last two wavelet coefficients (W n,i , W n−1,i ). Since these coefficients are good indicators of spikes, the energy contained in a spike is not considered to be noticeable on the full-length time window used by the mother wavelet or by an FFT. However, the energy contained in the spike can be considerable and easy to detect once it is compared with the rest of the signal in a very reduced time window. In order to determine the maximum absolute value among all spikes, the centroid coordinates of the clustered data must first be computed. The centroid coordinates of the clustered data are defined as: ( C k , C k - 1 ) = [ ∑ j = 1 n     W k j n , ∑ j = 1 n     W k - 1 j n ]

Next, all the outliers (i.e., points that are considerably far from the centroid of clustered data) in the scatter plot are identified. The outliers are identified as:

d 1,i ={square root over (( W k,i −C k +L ) 2 +L +( W k−1,i −C k−1 +L ) 2 +L )}

Next, three standard deviation is used as the threshold for the outliers. Alternatively, filtering may be used to remove some noise for the weak signals around zero. Finally, the outlier that is the furthest away from the centroid, i.e., is considered to be the strongest spike which is defined as:

v 16,i =max j d 1,i j ;  (16)

The next wavelet feature that is determined is the sign of the strongest spike which is defined as:

v 17,i =sign{ W k,jmax };  (17)

wherein

{square root over (( W k,jmax −C k +L ) 2 +L +( W k−1,jmax −C k−1 +L ) 2 +L )}= v 16,i

Another wavelet feature that is determined is the time at which the strongest spike occurs which is defined as:

v 18,i =j max ;  (18)

wherein

{square root over (( W k,jmax −C k +L ) 2 +L +( W k−1,jmax −C k−1 +L ) 2 +L )}= v 16,i

Still another wavelet feature that is determined is the number of spikes which is defined as: v 19 , i = ∑ j = 1 k     d 1 , j ; ( 19 )

wherein d 1,j is greater than 3 standard deviation.

Referring now to FIG. 2, the steps implemented by the diagnostic system in a training mode are shown. In response to a training mode selected by a user, the diagnostic system analyzes the data files produced by a malfunctioning machine for the purpose of learning the operation characteristics associated with the machine having a particular type of fault. It should be noted that the training process may also occur in response to a misdiagnosis produced by the diagnostic system.

The diagnostic system may be trained based on inputs made by a knowledge facilitator or trained with data files produced by a machine having a known fault associated therewith. In steps 210 through 240 , the diagnostic system receives data files generated by an imaging machine, parses the data file to remove extraneous data therefrom, categorizes each data file as normal or faulty and extracts a set of feature values from each data file categorized as faulty.

The present diagnostic system may rely on the accumulated experience of a knowledge facilitator (e.g., service engineer) to identify the faulty component or condition associated with the machine under diagnosis. Accordingly, in step 250 , the diagnostic system receives inputs (e.g., fault types) made by a knowledge facilitator based on his/her accumulated experience and observations of the data files as well as other operations of the machine. Through this training process, a trained database is developed and updated. The trained database contains multiple sets of feature values, where each set of feature values is associated with a particular fault type.

As an example, a list of some of the known faults of a medical imaging device is provided which may include: inadequately compensated long-time constant eddy currents; environmental magnetic field disturbances; magnitude and constant phase spikes caused by a body preamplifier; spikes caused by a defective IPG; high vibrations caused by rotating machinery on the floor above or below the magnet; failure caused by a defective Y-axis GRAM; and failures caused by a loose dynamic disable box RF connectors on the body coil.

Once a fault type has been input by the knowledge facilitator, the learning process is implemented by updating a set of feature values and corresponding weight value based on the current feature values extracted from the data files generated by the machine with a known fault type. Accordingly, in steps 260 and 270 , trained feature values (e.g., a centroid) and corresponding weight value, associated with a particular fault type provided by the knowledge facilitator, are updated. The feature values for a particular fault type may be updated, for example, by averaging the feature values obtained during all training cases for that particular fault type.

›DETAILED DESCRIPTION OF THE INVENTION · 3 of 4

In addition to updating feature values, the learning subsystem is also configured to assign or update a weight value corresponding to each fault type. Wk is the weight value for the k th fault and is mathematically given as follows: w k = n k N  d     F k , ( 20 )

where n k is the count of the trained cases in the database for the k th fault, and N is the total number of trained cases in the database for all fault types.

dF k is mathematically given as follows: d     F k = 1 ( f new1 - f k1 ) 2 + ( f new2 - f k2 ) 2 + … + ( f newn - f kn ) 2 ( 21 )

where f new1 . . . f newn are the feature values for the current data set.

The resulting feature and weight values are updated in the trained database and are accessed by the fault detector for diagnosing faults in an analysis mode.

Referring to FIG. 3, the steps implemented by the diagnostic system in the analysis mode according to one embodiment are shown. In the analysis mode, the machine malfunctions may be diagnosed through analysis of data files generated from a malfunctioning machine. In steps 310 through 340 , the diagnostic system receives data files generated by imaging machine, parses the data file to remove extraneous data therefrom, categorizes each data file as normal or faulty and extracts a set of feature values from each data file categorized as faulty.

As noted above, the set of feature values extracted from each data file characterizes the operation and performance of the machine. The trained data contained in the trained database may be used to identify a fault type that most closely matches with the feature values extracted from the data file. In step 350 , the fault detector accesses trained feature values (centroid) and corresponding weight associated with each fault type. Then in step 360 , the fault detector computes a distance vector, for each fault type, which represents how closely the extracted feature values match with the trained feature values of the corresponding fault type.

A distance vector or the degree of fulfillment (D k ) for the k th fault is calculated as follows:

D k =w k *dF k   (22)

As noted above, w k is the weight value for the k th fault and is mathematically given as follows: w k = n k N  d     F k ,

where n k is the count of the trained cases in the database for the kth fault and N is the total number of trained cases in the database for all fault types.

dF k is mathematically given as follows: d     F k = 1 ( f new1 - f k1 ) 2 + ( f new2 - f k2 ) 2 + … + ( f newn - f kn ) 2

where f new1 . . . f newn are the feature values for the current data set.

In step 370 , a candidate set of faults is identified based on the distance vectors calculated. For example, the fault detector may select one of the trained fault types that has the greatest D k value. The fault detector may employ a threshold value to determine if the selected fault type has a sufficiently large D k value to be considered as an identifiable fault. In cases where values of distance vectors (D k ) fall below a certain threshold value, the fault detector may allow a user (e.g., knowledge facilitator) to manually assign a faulty type.

Referring to FIG. 4, the steps implemented by the diagnostic system during an analysis mode according to another embodiment are shown. The steps described in this embodiment may be implemented alternatively or in conjunction with the steps described with respect to FIG. 3 . As noted above, the diagnostic system receives data files generated by imaging machine (step 410 ), parses the data file to remove extraneous data therefrom (step 420 ), categorizes each data file as normal or faulty (step 430 ) and extracts a set of feature values from each data file categorized as faulty (step 440 ). Then, in step 450 , the fault detector accesses trained feature values and corresponding weight value associated with each fault type from the trained database. Then, in step 460 , the fault detector formulates a plurality of regions for each fault type, wherein each region is represented by maximum and minimum acceptable values.

Referring momentarily to FIG. 5, a classification model may be employed which defines regions in the form of high, medium and low envelopes (d kh , d km d kl , respectively) with respect to each fault type ( 502 - 510 ). Each fault type is represented by a centroid ( 512 - 520 ) as well as a plurality of defined regions surrounding thereabout. The graph also shows an example of a centroid of the extracted feature values 522 relative to the centroids ( 512 - 520 ) of the trained fault types ( 502 - 510 ) in a multi-dimensional space.

The centroid values for the A th fault type are as follows:

a A =( f A1 ,f A2 ,f A3 , . . . f An )  (23)

where, f Ai is the feature for i th feature of fault type A.

The feature axes shown in FIG. 5 represent the features extracted from the data files (e.g., minimum and maximum values of the time series, the peak-to-peak distance of the time series, etc.). The fault types shown in FIG. 5 represent the different types of known fault types that have already been trained into the system (e.g., an RF receive fault, RF transmit fault, shim fault, gradient axis fault, transient vibration, etc.).

As an illustrative example, the high, medium and low envelopes may be derived by assigning radii of 10, 15 and 20% of the corresponding feature values, respectively. Mathematically, the three regions of High (d Kh ), Medium (d Km ) and Low (d K1 ) are defined as follows:

d Kh =[{0.9 *f k1 ,1.1 *f k1 }, {0.9 *f k2 ,1.1 *f k2 }, . . . ; {0.9 *f kn ,1.1 *f kn }]

d Km =[{0.85 *f k1 ,0.9 *f k1 }&{1.1 *f k1 ,1.15 *f k1 }, . . . ;{0.85 *f kn ,0.9 *f kn }&{1.1 *f kn ,1.15 *f kn }]

d K1 =[{0.8 *f k1 ,0.85 *f k1 }&{1.15 *f k1 ,1.2 *f k1 }, . . . ; {0.8 *f kn ,0.85 *f kn }&{1.15 *f kn ,1.2 *f kn }]

After the high, medium and low regions have been defined, the fault detector determines which of the fault type regions the extracted set of feature values belongs to (step 470 ). Once the classification of the extracted set of feature values has been completed, identification of a candidate set of faults associated with the imaging machine is made by the fault detector based on high, medium and low region classification (step 480 ). Alternatively, or in addition to, the user interface may present the candidate set of faults produced by the fault detector to users (e.g., service engineers) and allow the users to choose among the candidate set of faults based on their accumulated experience in servicing these machines.

›DETAILED DESCRIPTION OF THE INVENTION · 4 of 4

Referring back to FIG. 1, all the information (e.g., a candidate set of faults) generated by the fault detector 114 may be combined in a fusion module 118 to narrow down the candidate set of faults into one fault type. The fusion module 118 may also be configured to generate a confidence value for the fault type identified. Because the fault detector identifies a fault type for each data file it analyses, there can be more than one fault type diagnosed. In one embodiment, a set of rules (i.e., contained in a rule base 128 ) is used by the fusion module 118 to consolidate the information with regard to different fault types produced by the fault detector. Based on the fault type derived at the fusion level, a recommended repair procedure corresponding to the fault type is presented to the user at 116 .

The development of the rule base 128 may be accomplished by an expert system. The rule base includes a plurality of IF-THEN rules to establish relationships among different fault types identified for different data files. The implementation of such expert system and rule-base as well as the system performance test (“SPT”) are discussed in detail in U.S. Pat. No. 6,105,149 entitled “System and Method for Diagnosing and Validating a Machine using Waveform Data,” which is incorporated herein by reference in its entirety.

The diagnostic system of the present invention may be implemented with a computer or any computing device capable of performing sequential program executions, including portable computers used by field engineers, or a computer or workstation provided at the operator console. The diagnostic system may be embodied in the form of software programmed in C++, JAVA, MATLAB or any other suitable programming language.

While the foregoing preferred embodiments of the invention have been described and shown, it is understood that variations and modifications, such as those suggested and others within the spirit and scope of the invention, may occur to those skilled in the art to which the invention pertains. The scope of the present invention accordingly is to be defined as set forth in the appended claims.

Claims as granted

18 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

10 codes
IPC · International Patent Classification
Section A — Human necessities
  • A61B5/00
Section G — Physics
  • G06F11/25
  • G01R31/28
  • G06F11/22
  • G06N3/00
USPC · US Patent Classification
707/3714/26714/25707/104.1706/47

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2000Jul 2000Jan 2001Jul 2001Jan 2002Jul 2002USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
2.9 y
1,054 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Hosain T. Alam
art unit 2172 · TC 2100
Citations: 13 back · 115 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20002002200420062008201020122014201620182020Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock