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, Rix H, and Meste O, (2005) Integral shape averaging and structural average estimation: a comparative study, IEEE Trans Sig Proc. 53(10):3644–3650
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.
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
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.
Kennedy J, Eberhart RC. (1995) Particle swarm optimization. Proc. IEEE International Conference on Neural Networks, IV:1942–1948.
Llamedo M, Martínez J. (2011) Heartbeat classification using feature selection driven by database generalization criteria. IEEE Trans Biomed Eng. 58(3):616–625.
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.
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
Stridh M, Sornmo L. (2001) Spatiotemporal QRST cancellation techniques for analysis of atrial fibrillation. IEEE Trans Biomed Eng. 48(1):105–111.
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
- 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?
- 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?
- 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
- 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.
- 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.
- 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.
- 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?
- 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?
- 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.