Эпилепсия — это хроническое заболевание головного мозга, для которого характерны повторяющиеся непровоцированные приступы с различными клиническими проявлениями. Врачи, обследующие пациентов, должны обработать большое количество графиков активности мозга.
Электроэнцефалография — чувствительный метод исследования, отражающий малейшие изменения функции коры головного мозга и глубинных мозговых структур. В процессе анализа электроэнцефалограммы (ЭЭГ) пациентов на наличие эпилептической активности, у врачей возникает необходимость просмотреть несколько сотен экранов, каждый из которых содержит до двух десятков графиков, чтобы поставить обоснованный диагноз.
Такое количество анализируемой информации требует большого времени и концентрации внимания, что вызывает сильную утомляемость врачей. С развитием методов анализа данных с помощью искусственного интеллекта появляется возможность автоматизировать процесс анализа ЭЭГ.
Для определения, насколько точно были распознаны сигналы ЭЭГ, сравнения их с результатами врачей, проводивших разметку вручную, существует необходимость создания программного средства для автоматизации нахождения точности полученных результатов и их графического представления.
В настоящее время существует большое количество аналогов, предназначенных для анализа ЭЭГ: EDFbrowser, WinEEG , NeoRec, Brainsys. В данных аналогах, которые также анализируют ЭЭГ, нет возможности графически представить точность результатов анализа; также в рассматриваемых аналогах не предусмотрена возможность множественной работы с ЭЭГ: данными разных пациентов, большого количество исследований конкретного пациента, большого количества врачей и организаций, в которых они находятся, разных моделей и разных дат, в которые проводили исследование. Немаловажным является то, что рассмотренные аналоги работают только с определенным оборудованием, что может вызывать трудности при работе.
Разрабатываемое программное средство даст возможность анализирования данных пациентов разными врачами, включая все множество исследований, проводимых в разные даты, с использованием разных моделей. Оно будет оценивать точность результатов ЭЭГ, сравнивая результаты анализирования сигналов ЭЭГ врачами, проводившими разметку вручную, и нейросетью, и показывая графически точность распознавания сигналов.
Будет использована библиотеку JavaFX языка Java, так как она имеет более богатые графические компоненты с расширенным внешним видом, богатый инструментарий, который будет расширяться, делая данную библиотеку интереснее, универсальнее, быстрая разработка пользовательского интерфейса тоже сыграет немаловажную роль в создании качественных картинок с результатами. База данных, которая будет использоваться в нашем программном средстве — H2 Database. Она является кроссплатформенной СУБД, написанной полностью на языке Java, более производительная по сравнению с другими базами данных. Также хочется отметить простой и понятный интерфейс базы данных, который помогает при выполнении задач. Немаловажным является и тот факт, что имеется опыт работы с базой данных H2, поэтому можно будет сразу приступать к работе с данными.
Так как для обучения нейросети необходимы большие вычислительные мощности, большой и грамотно подобранный датасет, который в процессе обучение нужно модифицировать, будем использовать уже предобученную нейронную сеть, которая будет предоставлять данные результатов сигнала ЭЭГ. Вместе с этим будут приходить файлы с разметкой врачей по данному пациенту.
Задача будет состоять в выделении детекций врачей и детекций, полученных от нейросети, и анализировании в каждом конкретном случае, какая детекция неверна или верна, и что именно происходило в данный момент времени на ЭЭГ; действительно ли, например, ИИ нашел данную детекцию, определив эпилептическую активность в данное время, отметил ли эту детекцию врач, анализируя детекцию на ЭЭГ данного пациента. После анализирования данных необходимо эти данные представить графически.
Представление графических данных определяется и строится по следующим правилам:
— Берется каждая детекция врачей, проверяем, есть ли хотя бы одна детекция в диапазоне +- 1 секунда с детекцией врачей из файла, полученного с помощью ИИ.
— Обращаем внимание на детекции врачей, которые не были найдены в файле с данными распознавания ИИ (с учетом диапазона времени +-1 секунда).
— Все данные отображаем графически: на графике будет три столбца разных цветов и показан процент таких данных. Например, зеленый столбец будет отображать процент тех данных, в которых совпали и детекции врачей, и детекции, полученные от ИИ; красный цвет будет отображать процент тех таких детекций, которые не нашел ИИ, но указал врач. Желтый цвет будет отвечать за те детекции, которые были найдены с помощью ИИ, но не были отмечены врачом.
— Участки мозга, обозначенные зеленым цветом, можно не анализировать, так как в этих участках все хорошо: совпали детекции врачей и детекции, найденные ИИ.
— Необходимо хорошо проанализировать участки, которые обозначены красным и оранжевым цветом: при определении детекций возникла ошибка: либо ИИ ошибся и детекции там быть не должно, либо врач ошибся и детекция там должна быть обязательна. Данный вопрос необходимо внимательно проанализировать, возможно, сделать еще одно исследование для определения более точных данных как со стороны ИИ, так и со стороны врачей.
Для реализации данной задачи был выбраны языки программирования Java. Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Дата официального выпуска — 23 мая 1995 года. Программы на Java транслируются в байт-код, который затем выполняется виртуальной машиной Java (JVM). JVM — это программа, которая обрабатывает байтовый код и передает инструкции оборудованию как интерпретатор. Достоинством подобной реализации является независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует JVM. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной.
Приложение будет разрабатываться при использовании среды разработки IntelliJ IDEA. IntelliJ IDEA — интегрированная среда разработки программного обеспечения, разработанная компанией JetBrains в 2001 году. Она поддерживается на таких операционных системах как: Windows, Linux, macOS. Эта среда разработки поддерживает многие современные высокоуровневые языки программирования.
Литература:
- Эпилепсия: причины и симптомы [Электронный ресурс] — URL: https://postnauka.ru/faq/63963
- Java Swing против Java FX [Электронный ресурс] — URL: https://ru.education-wiki.com/3950146-java-swing-vs-java-fx
- H2 Database Engine [Электронный ресурс] — URL: https://www.h2database.com/html/main.html
- Пример хеширования MD5 на Java [Электронный ресурс] — URL: https://javadevblog.com/prymer-heshyrovanyya-md5-v-java.html
- Программы для анализа ЭЭГ [Электронный ресурс] — URL: https://cmi.to/программы/
- Язык программирования Java [Электронный ресурс] — URL: https://webcreator.ru/articles/java