background

Health-AI -

AI ассистент врача при операции.

МЛ система, которая контролирует 9 осложнений во время операций по ЭКГ, датчикам и визуальным признакам.

Проблема

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

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

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

> 2 млн
Смертей ежегодно связаны с врачебными ошибками (данные ВОЗ)
70%
Осложнений классифицируются неверно
> 4 часов
Длительность операции средней сложности
> 25
Данных с датчиков врач анализирует во время операции

Осложнения

Система анализирует данные из нескольких источников: кардиосигналы второго отведения и первого с частотой дискретизации 500Гц, визуальные признаки состояния пациента и показатели медицинских датчиков. На основе этих данных алгоритм может классифицировать различные типы осложнений, возникающих во время операции, а именно 9 разных штук: инфаркт Миокарда, АВ блокада, Фибрилляция предсердий, Гипоксия, Цианоз, Вздутие Яремной вены, Аллергическая реакция, Гемодинамический шок и Гипокауголяция.

Все эти осложнения являются довольно разными, но несмотря на это, они могут перепроверять друг друга и быть маркерами других более опасных осложнений. Все эти осложнения умеренно встречаются во время операции, но при их появлении каждая минута важна для их устранения, так как из-за несвоевременной диагностики этих осложнений, пациент может попасть на повторную операцию, иметь какие-либо проблемы со здоровьем на всю жизнь, остаться инвалидом или они могут перейти все в Фибрилляцию желудочек - самая опасная аритмия, у врача будет на ее устранение не более 2 минут, и даже все они могут привести к летальному исходу или клинической смерти.

Кардио осложнения

Фибрилляция предсердий

Нарушение сердечного ритма, при котором предсердия сокращаются быстро и хаотично, и сердце почти перестает качать кровь и данное состояние далее может прогрессировать в фибрилляцию желудочек

Инфаркт Миокарда (ИМ)

Острая форма ишемической болезни сердца, из-за которой происходит некроз клеток Миокарда в сердце, отвечающие за его сжатие. Это состояние угрожает жизни человек и может перейти в другие аритмии

Антриовентикулярная Блокада

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

Визуальные осложнения

Цианоз

Состояние при котором, кожные покровы и слизистые оболочки становятся синюшными или фиолетовыми из-за кислородного голодания тканей. Это состояние может привести к некрозу клеток во всем организме

Аллергическая реакция

Чрезмерная реакция организма на определённые вещества или факторы, которые не вызываются в норме. Данное состояние может привести к удушью или остановке сердца

Вздутие яремной вены

Выпячивание основных вен шеи из-за сердечной недостаточности, легочной гипертензии. Это состояние опасно для жизни, так как является маркером, опасных других осложнений

Осложнения по датчикам

Гипоксия

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

Гемодинамический шок

Критическое состояние, которое характеризуется нарушениями гемодинамики (кровообращения) ниже определённого критического уровня, в результате чего наступает клеточная дисфункция или нарушение сердечной деятельности

Гипокуогуляция

Снижение способности крови сворачиваться, что приводит к склонности к повторным кровотечениям и кровоизлияниям и массивной кровопотери

Архитектура программы

На Вход программе подаются независимых 3 параметра: ЭКГ второго отведения, 8 интроопераионных датчиков, видео поток с лица пациента, которые обрабатываются 2 моделями на архитектурах ResNet и CNN и алгоритмом на базе условий. Далее их значения отправляются на перепроверку совмести данных алгоритму трехступенчатому, чтобы избежать ошибочного вердикта. Далее, все это отправляется алгоритму принятия решения, который все анализирует и выдает итоговые осложнения и их вероятности и отправляет это все в основной интерфейс программы.

Классификация кардиограмм:

Она базируется на архитектуре модели ResNet. ResNet - это архитектура глубоких нейронных сетей, которая ввела концепцию остаточных связей. Датасет был использован с размерностью 31_000 кардиограмм, но не с равномерным распределением данных на класс. Я при обучении, как признаки, подавал массив из 2_500 точек ЭКГ записи + 2_500 точек их производной, чтобы модели видела не только саму кардиограмму, но и ее скорость изменения. Данная модель обучалась 60 эпох, и по итогу она достигла точность 78%, что очень сильно хорошо.

Классификация визуальных признаков:

Она базируется на архитектуре модели CNN. CNN - свёрточная нейронная сеть — специализированный класс искусственных нейронных сетей, разработанный для задач, где важна пространственная структура данных, например, обработка изображений или видео. Датасет здесь я собрал полностью сам, брав изображения осложнений из интернета, и по итогу у меня получилось 5_000 изображений с учетом аргументации (увеличение кол-во изображений путем их копирования и добавления различных фильтров). Она обучилась с ошибкой всего 0.4, что есть хорошо.

Классификация признаков по датчикам:

Я на каждое осложнение сделал по 10 различных множеств условий, где проверяются обычными условиям 8 интраоперационных датчика. Далее я беру значения датчиков этих из входного потока и прогоняю по моим условиям, осложнения которые прошли по условию хотя-бы одному, программа кладет их в массив и отправляет в основную, центральную программу принятия решения. Если найдено более одного осложнения программа их ставит по уверенности, который берет из специального коэффицента.

Программа перепроверки данных:

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

Схема программы

ЭКГ
Камера
Датчики
ResNet
CNN
Алгоритм
Перепроверка
Алгоритм принятия решения

Интерфейс

Осложнений нет

Зеленый экран, надпись 'Norm' и вероятность 0.0; если вероятность слишком мала, она округляется до 0.0. Если осложнение программа увидела, но оно не статично, то программа его игнорирует

Возможно найдено осложнение

Темно-зеленый экран, надпись 'Warning', в скобках сами осложнения и пишется вероятность; если осложнение связано с ЭКГ, то выводится ЭКГ, если с датчика, то датчики и на сколько они отходят от нормы

Осложнение точно классифицировано

Красный мигающий экран, звуковое сопровождение, надпись 'Dangerous', в скобках сами осложнения и пишется вероятность; если осложнение связано с ЭКГ, то выводится ЭКГ, если с датчика, то датчики и на сколько они отходят от нормы

Алгоритм принятия решения:

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

Работа программы

Когда я реализовал свою программу передо мной стояла задача проверить ее корректную работу. Проверял это я основываясь на своих данных взятые с различных датчиков

Запись экг

Снималась на первом отведении (правая и левая рука электроды) при частоте дискретизации 500Гц

Запись датчиков

Я взял несколько датчиков для теста такие как: термометр, ЧСС, SpO2 и др.

Проверка программы

И далее я залил все эти данные в мою программу для проверки ее корректности работы

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

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