Przykłady rozwiązań -qrs

Przykłady rozwiązań

QRS_DET_2010a.pdf
QRS_DET_2010a.zip
QRS_DET_2010b.pdf
QRS_DET_2010b.zip
QRS_DET_2011a.pdf
QRS_DET_2011a.zip
QRS_DET_2011b.pdf
QRS_DET_2011b.zip
QRS_DET_2011c.pdf
QRS_DET_2011c.zip

Uwaga, ta strona zawiera odnośniki do plików pdf, które mogą być objęte prawem autorskim. Czytelnik może przeglądać je na własny użytek w znaczeniu identycznym jak robi to w czytelni biblioteki publicznej. Jednakże kopiowanie i wtórne udostępnianie tych plików może naruszać prawo własności intelektualnej. Autor zaleca szczególną ostrożność i przestrzeganie prawa polskiego i międzynarodowego podczas wykorzystywania udostępnionych plików.

Podsumowanie 5

Znaczenie kliniczne klasyfikacji pobudzeń

W analizie zapisu spoczynkowego trwającego 10 sekund automatyczna klasyfikacja pobudzeń wydaje się niepotrzebna. Zapisy takie coraz częściej ustępują miejsca rejestracjom długoczasowym, podczas których elektryczna aktywność serca jest oceniana na podstawie od kilkuset do setek tysięcy ewolucji serca. W tych przypadkach mechanizm klasyfikacji (klasteryzacji) pobudzeń jest nieodzowny informując lekarza o:

ilości aktywnych ośrodków bodźcotwórczych,

statystycznym udziale każdego z nich w kształtowaniu rytmu serca w badanym przedziale czasu,

czasowym następstwie epizodów zewnętrznych i aktywności ośrodków zapasowych.

Poza wielkim znaczeniem klinicznym, klasteryzacja ewolucji serca (najczęściej ograniczana do klasteryzacji zespołów QRS) jest istotna z punktu widzenia organizacji procesu dalszej interpretacji zapisu. Zwykle dopuszczany jest niewielki zakres zmienności (niewielka wariancja) ewolucji serca w obrębie klastrów, dzięki czemu wszystkie one mogą być reprezentowane przez wybraną ewolucję (najczęściej rzeczywistą najmniej odległą od średniej) w dalszym procesie interpretacji. Założenie takie pomaga ograniczyć problem fluktuacji rezultatów pomiarowych w obrębie ewolucji tego samego typu, a także znacznie ograniczyć wymagany nakład obliczeniowy dalszych etapów interpretacji.

Najczęściej poruszane problemy

Klasteryzacja ewolucji serca jest typowym zadaniem automatycznego wyodrębniania i kategoryzacji obiektów do grup, w obrębie których wariancja jest minimalna, a pomiędzy którymi wariancja jest maksymalna. Zaprojektowanie procedury klasyfikacji ewolucji serca wymaga rozwiązania następujących zagadnień:

wyboru metryki klasyfikacji definiującej podstawę ilościowej miary podobieństwa dwóch ewolucji oraz wyznaczania wariancji wewnątrz klastrów i pomiędzy nimi,

wyboru algorytmu klasyfikacji – w szczególności rozstrzygnięcie, czy pierwotne przyporządkowanie jest ostateczne (algorytm jednoprzebiegowy z możliwością pracy w czasie rzeczywistym), czy przewidywana jest reklasyfikacja (algorytm wieloprzebiegowy),

wyboru stałych lub adaptacyjnych wzorców poszczególnych klastrów – w przypadku wzorców adaptacyjnych należy zdefiniować czasowe i amplitudowe warunki adaptacji wzorca,

rozstrzygnięcia czy klasteryzacja zakłada zadaną liczbę wzorców i dąży do maksymalizacji (minimalizacji) wariancji, czy zakłada dopuszczalną wartość wariancji i dąży do minimalizacji liczby klastrów,

wyboru warunku krytycznego: albo jest nim maksymalizacja wariancji między klastrami, albo minimalizacja wariancji wewnątrz klastrów,

zdefiniowania warunku połączenia klastrów w klasyfikacji wieloprzebiegowej.

Zagadnieniem konstrukcyjnym związanym z klasyfikacją jest także obsługa interakcji operatora. Może ona polegać na następujących czynnościach:

ustawienie wartości dopuszczalnych (wariancji, liczby klastrów),

zmiana ustawionych wartości dla wybranego odcinka czasu (analiza prospektywna),

zmiana finalnego przyporządkowania ewolucji do klastrów lub łączenie klastrów,

ręczna klasyfikacja napotkanych ewolucji nietypowych będąca podstawą uczenia się programu i dalszej klasyfikacji automatycznej.

Metody realizacji zadania

Klasyfikacja może być zrealizowana za pomocą metody bezpośredniej (np. sieci neuronowe) lub iteracyjnej (np. algorytmu k-średnich). Metody iteracyjne (algorytm wieloprzebiegowy) wymagają zapamiętania lub powtórnego wyznaczenia metryki każdego z obiektów względem pozostałych lub względem centroidów. Zakładając wystąpienie 100 tysięcy obiektów w zapisie 24-godzinnym można oszacować wymagania pamięci zmiennych dla opisu odległości obiektów.

Klasyfikacja ewolucji serca może obejmować cały zakres czasu od początku załamka P do końca załamka T lub tylko zespół QRS. Większość algorytmów klasyfikacji, w zależności od zastosowanej metryki wymaga wskazania punktu synchronizacji i wyznaczenia przybliżonych granic klasyfikowanych odcinków sygnału. Ponieważ nakład obliczeniowy związany z wyznaczeniem tych punktów wzrasta wraz z wymaganą dokładnością – podstawą praktycznego wyboru metryki może być niewrażliwość wyznaczonej wartości odległości na błędy synchronizacji. Ponieważ błędy klasteryzacji mają zróżnicowane następstwa kliniczne, wybór metryki powinien uwzględniać maksymalizację odległości pomiędzy ewolucjami o morfologii komorowej i nadkomorowej.

Reprezentacja elektryczna ewolucji serca jest zjawiskiem trójwymiarowym – zagadnieniem wymagającym uwagi jest wybór odprowadzenia, zestawu odprowadzeń lub sygnału wyznaczanego na podstawie elektrokardiogramu, które będą podstawą klasyfikacji. W zapisie 12-odprowadzeniowym częstym wyborem jest zestaw odprowadzeń o wzajemnie prostopadłych osiach: aVF, V1 i V6. Jeśli metryka jest oparta na wartościach próbek w trzech kanałach, w obrębie samego tylko zespołu QRS, to opis obiektu w klasyfikacji składa się z 45 wartości (dla częstości 120Hz). Zakładając wystąpienie 100 tysięcy obiektów w zapisie 24-godzinnym można oszacować niezbędny nakład obliczeniowy i wymagania pamięci zmiennych dla opisu obiektów.

Zakładając wartość tolerancji (wariancji) w obrębie klastrów należy pamiętać o występowaniu pozakardiogennego składnika niepodobieństwa, będącego następstwem braku synchronizacji akcji serca i próbkowania sygnału. Jego wpływ można oszacować eksperymentalnie za pomocą pomiarów różnic pomiędzy identycznymi ewolucjami w serii (np. z generatora) dla docelowej częstotliwości próbkowania. Dyskryminacja tego składnika niepodobieństwa jest możliwa poprzez wyznaczenie dokładnego punktu synchronizacji (np. wierzchołka załamka R metodą najlepiej dopasowanej paraboli), a następnie interpolacji wartości zapisu w równych odległościach od tego punktu na podstawie sąsiadujących próbek.

Efektywność klasyfikacji może zostać poprawiona przez:

powtórzenie pomiaru odległości dla sąsiednich punktów synchronizacji (w systemach bez interpolacji),

przeglądanie wzorców klastrów w kolejności ich dotychczasowego użycia (najczęściej używane wzorce są przeglądane w pierwszej kolejności),

przeglądanie wzorców klastrów w kolejności ich bieżącego występowania (ostatnio dopasowane wzorce są przeglądane w pierwszej kolejności).

Literatura

Alt H, Behrends B, Blomer J. (1991) Approximate matching of polygonal shapes (extended abstract), SCG ’91: Proc. 7-th Annual Symposium on Computational geometry. New York, NY, USA: ACM Press. 186–193.

Augustyniak P. (1997) The Use of Shape Factors for Heart Beats Classification in Holter Recordings, Computers in Medicine, str. 47–52

Bahlmann C. (2006) Directional features in online handwriting recognition. Pattern Recognition, 39(1):115 – 125

Boudaoud S, Heneghan C, Rix H, Meste O, O'Brien C. (2005) P-Wave Shape Changes Observed in the Surface Electrocardiogram of Subjects with Obstructive Sleep Apnoea. Computers in Cardiology, 32:359−362.

Boudaoud S, Rix H, and Meste O, (2005) Integral shape averaging and structural average estimation: a comparative study, IEEE Trans Sig Proc. 53(10):3644–3650

Bousseljot R, Kreiseler D, Mensing S, Safer A. (2008) Two Probabilistic Methods to Characterize and Link Drug Related ECG Changes to Diagnoses from the PTB Database: Results with Moxifloxacin, Computers in Cardiology, 35:217−220.

Bousseljot R, Kreiseler D. (2001) ECG Signal Pattern Comparison Via Internet. Computers in Cardiology, 28:577–580.

Bursa M, Lhotska L. (2008) Nature Inspired Concepts in the Electrocardiogram Interpretation Process. Computers in Cardiology, 35:241−244

Chang KC, Lee RG, Wen C, Yeh MF. (2005) Comparison of Similarity Measures for Clustering Electrocardiogram Complexes, Computers in Cardiology, 32:759−762.

Chang KC, Yeh MF. (2005) Gray relational analysis based approach for data clustering. IEE Proc. Vis. Image Signal Process. 152:165–172.

Cost S, Salzberg S. (1993) A weighted nearest neighbor algorithm for learning with symbolic features. Mach Learn, 10:57–78.

Costa EV, Moraes JCTB. (2000) QRS feature discrimination capability: quantitative and qualitative analysis. Computers in Cardiology, 27:399–402.

de Chazal P, O’Dwyer M, Reilly RB, (2004) Automatic Classification of Heartbeats Using ECG Morphology and Heartbeat Interval Features. IEEE Trans Biomed Eng. 51(7): 1196–1206

Delgado E, Rodrıguez JL, Jimenez F, Cuesta D, Castellanos G. (2007) Recognition of Cardiac Arrhythmias by Means of Beat Clustering on ECG-Holter Records. Computers in Cardiology, 34:161−164.

Deneubourg JL, Goss S, Franks N, Sendova-Franks A, Detrain C, Chretien L. (1990) The dynamics of collective sorting robot-like ants and ant-like robots. Proc. 1-st International Conference on Simulation of Adaptive Behavior on From Animals to Animats. Cambridge, MA, USA: MIT Press. str.356–363.

Deng JL. (1989) Introduction to gray system theory. J. Grey Syst. 1:1–24.

Frei MG, et al. (1999) Least Squares Acceleration Filtering for the Estimation of Signal Derivatives and Sharpness at Extrema. IEEE Trans. Biomed. Eng. 46:971–977.

Fukunaga J, Beauregard R. (1984) An optimal global nearest neighbor metric. IEEE Trans Patt Anal and Mach Int. 6(3):314–318.

Hansen P, Mladenovic N. (2001) J-means: a new local search heuristic for minimum sum of squares clustering. Pattern Recognition, 34:405–413.

Huttenlocher D, Klanderman D, Rucklige A. (1993) Comparing images using the Hausdorff distance. IEEE Trans Patt Anal and Mach Int. 15(9):850–863.

Jokić S, Krčo S, Delić V, Sakač D, Lukić Z, Loncar-Turukalo T. (2010) An Efficient Approach for Heartbeat Classification. Computing in Cardiology, 37:991−994.

Kennedy J, Eberhart RC. (1995) Particle swarm optimization. Proc. IEEE International Conference on Neural Networks, IV:1942–1948.

Lehman LH, Saeed M, Moody GB, Mark RG. (2008) Similarity-Based Searching in Multi-Parameter Time Series Databases. Computers in Cardiology, 35:653−656.

Lemay M, Jacquemet V, Forclaz A, Vesin JM, Kappenberger L. (2005) Spatiotemporal QRST Cancellation Method Using Separate QRS and T-Waves Templates. Computers in Cardiology, 32:611−614.

Llamedo M, Khawaja A, Martínez JP. (2010) Analysis of 12-lead Classification Models for ECG Classification. Computing in Cardiology, 37:673−676.

Llamedo M, Martínez J. (2011) Heartbeat classification using feature selection driven by database generalization criteria. IEEE Trans Biomed Eng. 58(3):616–625.

Llamedo-Soria M, Martínez JP. (2007) An ECG Classification Model based on Multilead Wavelet Transform Features, Computers in Cardiology, 34:105−108.

Llamedo-Soria M, Martínez JP. (2009) Analysis of Multidomain Features for ECG Classification, Computers in Cardiology, 36:561−564.

MacQueen, J. (1967) Some methods for classification and analysis of multivariate observations. [w:] Le Cam LM, Neyman J. Proc. 5-th Berkeley Symposium on Mathematical Statistics and Probability, vol. 1. University of California Press, Berkeley, str. 281–297

Mahalanobis P. (1936) On the generalised distance in statistics. Proceedings of the National Institute of Science of India, 12:49–55.

Maier C, Dickhaus H, Gittinger J. (1999) Unsupervised morphological classification of QRS complexes. Computers in Cardiology, 26:683–686.

Mensing S, Bystricky W, Safer A. (2006) Identifying and Measuring Representative QT Intervals in Predominantly Non-Normal ECGs, Computers in Cardiology, 33:361−364.

Moraes JCTB, Seixas MO, Vilani FN, Costa EV. (2002) A Real Time QRS Complex Classification Method using Mahalanobis Distance. Computers in Cardiology, 29:201−204.

O’Dwyer M, de Chazal P, Reilly RI. (2000) Beat Classification for Use in Arrhythmia Analysis. Computers in Cardiology, 27:395–398.

Prasad GK, Sahambi JS. (2003) Classification of ECG arrhythmias using multi-resolution analysis and neural networks, Proc. IEEE Conf. on Convergent Technologies for the Asia-Pacific Region (TENCON 2003), 1:227–231

Rix H, Meste O, Muhammad W. (2004) Averaging signals with random time shift and time scale fluctuations, Methods of Information in Medicine, 43(1):13–16

Rodrıguez-Sotelo JL, Cuesta-Frau D, Castellanos-Domınguez G. (2007) , Computers in Cardiology, 34:581−584An Improved Method for Unsupervised Analysis of ECG Beats Based on WT Features and J-Means Clustering

Salton G, McGill M. (1983) Introduction to Modern Information Retrieval. McGraw-Hill, New York

Socha K, Dorigo M. (2008) Ant colony optimization for continuous domains. European Journal of Operational Research, 185(3):1155–1173

Song MH, Lee KJ. (2006) Real-Time Classification of Heartbeats using Least Square Acceleration Filter for Ambulatory Monitoring. Computers in Cardiology, 33:565−567

Stridh M, Bollmann A, Husser D, Sornmo L. (2007) ECG-Based Waveform Characterization of Atrial Fibrillation. Computers in Cardiology, 34:269−272.

Stridh M, Sornmo L. (2001) Spatiotemporal QRST cancellation techniques for analysis of atrial fibrillation. IEEE Trans Biomed Eng. 48(1):105–111.

Syed Z, Scirica BM, Stultz CM, Guttag JV. (2008) Comparing Symbolic Representations of Cardiac Activity to Identify Patient Populations with Similar Risk Profiles, Computers in Cardiology, 35:85−88.

Takano N, Puurtinen H-G, Rautiainen M, Hyttinen J, Malmivuo J. (2002) ECG Source Location Clustering Based on Position Vectors and Forward Transfer Matrices. Computers in Cardiology, 29:313−316

Vansteenkiste E, Houben R, Pizurica A, Philips W. (2008) Classifying Electrocardiogram Peaks Using New Wavelet Domain Features. Computers in Cardiology, 35:853−856.

Wilson D, Martinez T. (1997) Improved heterogeneous distance functions. Journal of Artificial Intelligence Research, 6:1–34

Yu S-N, Chen Y-H. (2008) Selection of Higher Order Subband Features For ECG Beat Classification. Proc. 16-th European Signal Processing Conference EUSIPCO-2008,

Zadania

Zadania

  1. Zaimplementuj detektor k-średnich i przetestuj dla obiektów będących wycinkami zapisu EKG w zakresie ±60ms wokół punktu detekcji. Ile powstało klas? Ile klas zawiera ewolucje różnych typów?
  2. Dla detektora k-średnich przeprowadź analizę czasu wykonania i wymagań zasobów dla zapisu złożonego z 1000, 10000 i 100000 ewolucji serca. Jaki model złożoności obliczeniowej najlepiej pasuje do tego zadania?
  3. Zaproponuj i zaimplementuj klasyfikator zespołów QRS przeznaczony do pracy w czasie rzeczywistym rozróżniający cztery główne typy morfologiczne (zatokowy, nadkomorowy, komorowy i inny). Zaprojektuj procedurę tak, aby zminimalizować wymagania pamięci operacyjnej. Przetestuj prototypową procedurę z użyciem zapisów pochodzących z bazy MIT-BIH Arrhythmia Database
  4. Zaimplementuj miarę odległości, dla której różnica pomiędzy ewolucjami staje się coraz mniej istotna w miarę odstępu czasowego próbki od punktu synchronizacji.
  5. Zaproponuj i zaimplementuj klasyfikator ewolucji serca oparty na porównaniu histogramów wartości. Porównaj rezultaty klasyfikacji dla tego samego pliku i tej samej wartości tolerancji z użyciem kontrolowanego przesunięcia punktów synchronizacji dla klasyfikatora opartego na wartościach i klasyfikatora opartego na histogramie wartości.
  6. Zaproponuj i zaimplementuj klasyfikator ewolucji serca oparty na porównaniu składowych głównych zapisu wieloodprowadzeniowego. Porównaj rezultaty klasyfikacji dla tego samego pliku i tej samej wartości tolerancji dla klasyfikatora opartego na wartościach wybranych odprowadzeń i klasyfikatora opartego na wartościach kolejnych składowych głównych.
  7. Zaimplementuj metodę korekcji maksimów załamka R i przetestuj ponownie klasyfikator k-średnich z tymi samymi plikami, tym razem dla obiektów będących wycinkami zapisu EKG w zakresie ±60ms wokół skorygowanego maksimum R. Ile powstało klas? Ile klas zawiera ewolucje różnych typów?
  8. Zaimplementuj procedurę wyznaczania przybliżonego początku zespołu QRS i przetestuj ponownie klasyfikator k-średnich z tymi samymi plikami, tym razem dla obiektów będących wycinkami zapisu EKG w zakresie –20... +100 ms wokół przybliżonego początku zespołu QRS. Ile powstało klas? Ile klas zawiera ewolucje różnych typów?

9. Porównaj rezultaty klasyfikacji metodą k-średnich dla obiektów będących wycinkami zapisów EKG w zakresie ±60 ms i –200... +400 ms wokół punktu detekcji. Czy klasyfikacja zespołów QRS jest jednoznaczna z klasyfikacją ewolucji serca? W jakich przypadkach spodziewane są różnice?

  1. Zaimplementuj metodę wyznaczania współczynników kształtu. Zaproponuj indywidualne wartości graniczne dla poszczególnych cech. Alternatywnie użyj euklidesowej miary odległości w przestrzeni cech, pamiętając o uprzedniej normalizacji wariancji. Przetestuj klasyfikator k-średnich dla obiektów będących wektorami cech opisującymi ewolucje serca. Ile powstało klas? Przeprowadź ranking zdolności poszczególnych cech w rozróżnianiu ewolucji różnych typów.

Additional information