Software Services
Delivered

ECG monitor

По данным Всемирной Организации Здравоохранения сердечно-сосудистые заболевания (ССЗ) являются основной причиной смерти во всем мире. По оценкам организации, в 2016 году от ССЗ умерло 17,9 миллиона человек, что составило 31% всех случаев смерти в мире, 85% этих смертей произошло в результате сердечного приступа и инсульта.

Основным и наиболее доступным способом диагностики ССЗ остается ЭКГ. Возможность получения, автоматического распознавания и принятия решений на основе ЭКГ данных, полученных удаленно, предоставляет врачам и пациентам новые способы снижения этой печальной статистики. 

Автоматическое распознавание ритмов ЭКГ  уже классическая задача. Несмотря на то, что первые исследования в области цифровой обработки записей ЭКГ появились еще в 70-х годах прошлого века, эта область не теряет актуальности для здравоохранения и продолжает свое развитие. Главным образом, изменения касаются доступности для рядовых пациентов непрерывного удаленного кардиомониторинга в рамках телемедицинских систем.  

В последние годы исследования на эту тему сфокусированы на поиске более точных и менее требовательных к исходным данным алгоритмов. Методы автоматического распознавания с повышением точности требуют все большее количество размеченных данных для обучения и тестирования моделейНаиболее доступные открытые данные собраны на сайте проекта PhysioBankПомимо этого, этот ресурс примечателен тем, что на нем проводятся ежегодные соревнования на выделение свойств физиологических данных. В конкурсе 2017 года, например, была поставлена задача на выделение фибрилляции предсердий. Близкое качество распознавания дали два радикально разных подхода  подача в автоматический алгоритм большого количества традиционных показателей и подача на нейронную сеть первичных необработанных данных.  

Классический подход к обучению моделей распознавания предусматривает предварительную фильтрацию входных данных от наводок электросети и широкополосных помех, обусловленных подвижностью электродов и естественными токами организма мышечного происхождения. Зачастую в сигнале выявляются QRS комплексы, и данные нарезаются в соответствии с их положением. 

Вариант прямой подачи данных на обученную нейросеть, безусловно, проще с точки зрения подготовки данных и требует значительно меньше вычислительных ресурсов. Подобные сети могут базироваться на DCNN структуре. По опыту распознавания AFIB (фибрилляции предсердий), записи длительностью 10 секунд – правильный компромиссный выбор между точностью распознавания и стремлением сократить объём одновременно обрабатываемых данных. 

Отдельной проблемой, стоящей перед инженерным сообществом, является недостаточность данных для обучения. При решении задач распознавания прежде всего необходимо определить минимальный достаточный объем обучающей выборки. Эта проблема и была исследована командой Ауриги на основе данных из общедоступной базы MITBIH Arrythmia (mitdb) и материалов конкурса. Были воспроизведены и оценены различные подходы к распознаванию нарушений сердечного ритма 

В первую очередь, из записей ЭКГ 48 пациентов исключены пациенты 102 и 104, у которых отсутствовало отведение MLII, которое предполагалось подвергать исследованию. Для исследования используется 15 ритмов, уже присутствующих в разметке. В связи с различным числом записей для разных классов, данные таких классов размножены с целью выравнивания мощности классов. Предобработка данных заключается только лишь в вычитании среднего. Нормирование амплитуды сигнала не проводится, поскольку известно, что падение амплитуды является важнейшим признаком критического состояния пациента, например, асистолии. В текущих данных асистолии нет, но предполагается продолжение работ с расширением данных записями из других баз. 

Размножение данных для обучения «бедных» классов производится путём выборки из длинной реализации перекрывающимися 10-секундными окнами. При исследовании данных можно заметить, что ручная разметка ритмов содержит систематическую ошибку в первом отрезке из-за предпочитаемого экспертом начала ритма относительно фазы удара, тогда как 10-секундный отрезок при реальном распознавании может начинаться с произвольного места. Перекрытие окон выполняется с шагом, кратным 1 секунде, поэтому интервалы непрерывного ритма округляются в меньшую сторону с точностью до секунды. Этот интервал центрируется относительно исходного, что дает случайное смещение начала от нуля до половины секунды (в среднем на четверть секунды). 

Для очистки данных от несистематических выбросов, из выборки исключены данные нескольких типов: 

  • записи, помеченные экспертами как шумовые; 
  • участки нормального синусового ритма, на которых обнаружены редкие эпизоды нарушений типа экстрасистол;  
  • фрагменты с пометками Q (неклассифицированный удар), U (ЭКГ не читается), I (изолированный QRS-подобный артефакт).  

Внутри ритма с водителем допускаются также нормальные удары ввиду особенностей регистрации, сглаживающих передний фронт удара: запись с ленты, искажения АЧХ и прочие. 

Далее формируется набор интервалов, содержащих единственный ритм, длина которых кратна секунде и не меньше 10 сек. Данные для финальной валидации, которые не должны пересекаться с набором для обучения, отделяются от исследуемой выборки. Объём тестовых данных определен в размере 10% от объёма данных для обучения. Для формирования необходимого количества сэмплов данные должны быть подвергнуты размножению

Таблица представляет распределение подготовленных данных по классам. 

Rhythm  Files  Parts  Seconds  Pieces  PieTst  Test  Shifts  Learn 
33  603  36731  3427  2824  10  0  3417 
AFIB  8  77  7392  706  629  10  0  696 
2  68  2516  227  159  10  0  217 
SBR  1  10  1567  152  142  10  0  142 
6  40  1443  127  87  10  0  117 
7  36  819  72  36  7  1  164 
BII  1  5  698  68  63  7  3  115 
AFL  3  17  538  48  31  5  1  101 
PREX  1  19  415  35  16  4  2  161 
SVTA  3  5  141  12  7  1  5  116 
VFL  1  4  132  12  8  1  8  107 
IVR  2  2  130  12  10  1  9  101 
AB  1  2  80  7  5  1  10  106 
VT  1  2  74  6  4  1  7  103 
NOD  2  5  73  6  1  1  8  109 

Таблица 1. Распределение данных по классам

Rhythm: Метка данного ритма в стандартных аннотациях. 

Files: Кол-во файлов, в которых встречается данный ритм.      

Parts: Кол-во исходных интервалов (длина не менее 10 секунд, кратна секунде). 

Seconds: Суммарная длина Parts в секундах (в порядке убывания). 

Pieces: Количество непересекающихся 10-секундных интервалов, на которые можно нарезать Parts (сумма длин, поделенных нацело на 10). 

PieTst: Parts длительностью 20 секунд и больше, могут дать (Len//10 – 1) Pieces для тестирования. При этом не будет потерянных остатков короче 10 секунд. 

Test: Количество отрезков для финишного тестирования. Минимум из трёх чисел: 

  •  10% Pieces, округлено к ближайшему целому; 
  •  PieTst (можем максимально вырезать без мелких остатков); 
  •  10% от заказанного количества элементов в классе. 

Shifts: Количество требуемых шагов перекрывающихся окон на секунде, для получения окон чуть больше, чем заказано элементов данного класса. Если = 0, то выбираем из неперекрывающихся Pieces. 

Learn: Количество получающихся интервалов, которое далее прореживается до достижения заданного количества элементов класса.

Вся работа по подготовке обучающей и тестовой выборки производилась не с самими данными, а с записями, содержащими номер отсчёта начала фрагмента и длительность в секундах. На основе подготовленных индексов этих фрагментов данные извлекаются и подвергаются простейшей предобработке: вычитанию постоянной составляющейДополнительно, каждый элемент присутствует в инвертированном виде для работы с инверсным наложением электродов (запись 114). Поэтому реальное количество данных удваивается.  

После обучения и тестирования DCNN сети получены следующие результаты: 

Classification report    Confusion matrix 
pre-cision  recall  f1-score  sup-port  rhythm  A
F
I
S
B
B
I
A
F
P
R
E
S
V
T
V
F
I
V
A
V
N
O
0.91  1.00  0.95  20  20  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0.87  1.00  0.93  20  AFIB  0  20  0  0  0  0  0  0  0  0  0  0  0  0  0 
1.00  1.00  1.00  20  0  0  20  0  0  0  0  0  0  0  0  0  0  0  0 
1.00  1.00  1.00  20  SBR  0  0  0  20  0  0  0  0  0  0  0  0  0  0  0 
0.95  1.00  0.98  20  0  0  0  0  20  0  0  0  0  0  0  0  0  0  0 
1.00  0.86  0.92  14  0  2  0  0  0  12  0  0  0  0  0  0  0  0  0 
1.00  1.00  1.00  14  BII  0  0  0  0  0  0  14  0  0  0  0  0  0  0  0 
1.00  0.90  0.95  10  AFL  0  1  0  0  0  0  0  9  0  0  0  0  0  0  0 
1.00  1.00  1.00  8  PREX  0  0  0  0  0  0  0  0  8  0  0  0  0  0  0 
1.00  1.00  1.00  2  SVTA  0  0  0  0  0  0  0  0  0  2  0  0  0  0  0 
1.00  1.00  1.00  2  VFL  0  0  0  0  0  0  0  0  0  0  2  0  0  0  0 
0.00  0.00  0.00  2  IVR  0  0  0  0  1  0  0  0  0  0  0  0  0  0  1 
1.00  1.00  1.00  2  AB  0  0  0  0  0  0  0  0  0  0  0  0  2  0  0 
1.00  1.00  1.00  2  VT  0  0  0  0  0  0  0  0  0  0  0  0  0  2  0 
0.00  0.00  0.00  2  NOD  2  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
 
0.96  158  accuracy 
0.85  0.85  0.85  158  macro average 
0.94  0.96  0.95  158  weighted average 
0.968        Ranking-based average precision 

Таблица 2. Результаты обучения и тестирования DCNN сети 

Исходя из полученных результатов, можно сделать первые выводы по результатам обучения. Некоторые классы с совершенно незначительным количеством записей не могут значимым образом повлиять на обучение сети – например, IVR и NOD. Под остальные малые классы сеть, вероятнее всего, переобучаетсяЭто легко проверить валидацией на записях ЭКГ тех людей, данные которых не участвовали в обучении нейросети. 

Нужно отметить, что если обучение производится по одной группе людей, а валидация  по другой, то из классификации выпадут ритмы, присутствующие только в одной записи, а также записи, содержащие один ритм (6 ритмов, 4 записи). 

Из оставшихся 9 классов только для 4 валидация показала хорошие результаты.  

Classification report    Confusion matrix 
pre-cision  recall  f1-score  sup-port  rhythm  A
F
I
A
F
S
V
T
N
O
I
V
0.50  1.00  0.66  154  154  0  0  0  0  0  0  0  0 
0.77  0.76  0.77  126  AFIB  26  96  0  0  0  2  2  0  0 
1.00  0.85  0.92  26  0  3  22  0  1  0  0  0  0 
1.00  0.99  1.00  290  0  2  0  288  0  0  0  0  0 
0  0  0  70  59  11  0  0  0  0  0  0  0 
0  0  0  50  AFL  48  1  0  0  0  0  1  0  0 
0  0  0  10  SVTA  0  6  0  0  0  4  0  0  0 
0  0  0  8  NOD  8  0  0  0  0  0  0  0  0 
0  0  0  20  IVR  15  5  0  0  0  0  0  0  0 
 
0.74  754  Accuracy 
0.36  0.40  0.37  754  macro average 
0.65  0.74  0.68  754  weighted average 
0.804        Ranking-based average precision 

Таблица 3. Четыре класса с хорошими результатами 

Легко видеть, что нейронная сеть подвержена ярко выраженному переобучению для классов с малой обучающей выборкой: TAFLSVTAХорошие показатели точности и специфичности при кроссвалидации на обучающей выборке не подтверждаются проверкой на выделенных для валидации пациентах. При этом, в матрице ошибок заметна тенденция к смешиванию малых классов с нормальным синусовым ритмом, то есть к некоторой средней картине ЭКГ.  

Для оставшихся 4 классов имеет смысл заново провести процесс обучения и валидации. Результаты валидации незначительно лучше для 3 классов. Предположительно, в результате очистки обучающей выборки от зашумления малыми классами: 

Classification report    Confusion matrix 
Precision  Recall  f1-score  support  rhythm  AFIB 
0.93  1.00  0.97  154  154 
0.93  0.92  0.92  126  AFIB  10  116 
1.00  0.62  0.76  26  1  9  16  0 
1.00  1.00  1.00  290  290 
 
0.97  596  accuracy 
0.97  0.88  0.91  596  macro average 
0.97  0.97  0.96  596  weighted average 
0.983        Ranking-based average precision 

Таблица 4. Результаты валидации оставшихся четырех классов 

Из проведенных исследований можно сделать вывод, что для надежного распознавания патологий сердечного ритма может быть достаточно записей даже 2-3 пациентов. Качество подобных моделей следует проверять на практике с обязательным выделением группы пациентов для валидации. Представляется, что количество данных, необходимых для каждого случая, зависит от особенностей нарушений ритма, присущих тем или иным патологиям. 

Пройти опрос

Помогите нам улучшить наш сайт

×

Что было самым полезным на этой странице?

0/100

Что бы вы поменяли на этой странице в первую очередь?

0/100

Вы нашли информацию, которую искали?