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 пациентов. Качество подобных моделей следует проверять на практике с обязательным выделением группы пациентов для валидации. Представляется, что количество данных, необходимых для каждого случая, зависит от особенностей нарушений ритма, присущих тем или иным патологиям.