Медицинское решение разработала казахстанская компания ForUs Data, а инвестиции в проект PneumoNet составили более 63 млн тенге. В состав учредителей компании входит Ермек Шамуратов – в прошлом управляющий директор Казкоммерцбанка и разработчик платформ интернет-банкинга. К аналитической системе регулярно подключаются новые больницы, также казахстанской разработкой заинтересовались в России и Узбекистане. Как нейросеть распознает болезни и в чем ее преимущества над обычной диагностикой – рассказывает специалист по машинному обучению ForUs Data Иван Василенко.
В чем актуальность разработки?
Проблема заключается в том, что при постановке диагноза у трёх врачей может быть четыре разных мнения. По статистике, если врачи-рентгенологи изучают снимки независимо друг от друга, их результаты совпадают примерно в 70% случаев. Показатель, на самом деле не очень хороший. Конечно, если нескольких врачей посадить в одну комнату, они договорятся, и цифра будет 99%.
Доктора тоже иногда ошибаются, и чтобы минимизировать человеческий фактор при анализе рентгеновских снимков, мы использовали достижения в технологиях распознавания образов и машинного обучения. Система выявляет 17 заболеваний и патологий легких с точностью до 90 %, включая рак, пневмоторакс и пневмонию, вызванную COVID-19. Пневмонию система определяет еще точнее, в чем мы убедились, когда в 2020 году запустили пилотный проект с несколькими инфекционными больницами.
У каждой болезни есть своя специфика. Например, пневмоторакс — это острое состояние, когда из-за повреждения грудной клетки или дыхательного органа легкое просто «сдувается». В плевральной полости (за грудиной) скапливается газ или воздух, что приводит к нарушению газообмена и естественной вентиляции в легких. В результате орган сдавливается, и становится невозможно дышать.
Пневмоторакс большого размера легко распознать на снимке. Но иногда недуг не сразу очевиден. Наша система научилась очень точно его выявлять, что мы проверили на международном соревновании для data-аналитиков. Американское общество радиологов выложило около 20 тысяч снимков с пневмотораксом, и от нашей нейронной сети требовалось научиться их точно распознавать. В том конкурсе мы заняли второе место.
Где хранятся данные пациентов?
Рентген или КТ-снимок поступает в специальный архив через локальный компьютер, где изображение анализирует нейросеть. Архив расположен в защищенном дата-центре, куда клиники могут отправлять исследования и получать результаты. В нескольких больницах мы установили свою систему с доступом к базе данных и специальные мониторы, а где-то предоставили рентген-оборудование с цифровыми детекторами. Обычно в базу данных ежедневно поступает от 800 до 1200 новых снимков, а иногда их количество доходит до 4000. Спрос на независимый анализ снимков вызван участившимися случаями пневмонии из-за коронавирусной инфекции COVID-19.
Также В 2020 году мы разработали модель для прогнозирования состояния пациентов на основе данных рентген-исследований органов грудной клетки и анализа крови. Наша система прогнозировала состояние больного на срок до 12 дней. Модель работала в тестовом режиме, и в большинстве случаев ее позитивные прогнозы соответствовали фактическому выздоровлению пациентов.
У 48 больных модель не обнаружила серьезных угроз здоровью, и состояние 46 из них действительно улучшилось. 32 пациентам модель спрогнозировала ухудшение состояния, но благодаря своевременному вмешательству врачей, 15 человек пошли на поправку. Пока тестирование прогностической функции остановлено.
Насколько эффективна система и сможет ли она заменить врача?
Наше решение не призвано заменить человека и выступает только помощником врача. Диагноз пациенту ставит специалист. Также мы разработали систему для анализа результатов компьютерной томографии. У томографов бывает разное разрешение снимков, также на снимках встречаются артефакты — все это затрудняет распознавание. При скрининге врачи, в зависимости от опыта, обычно смотрят на образования размером больше одного сантиметра. На снимке может быть множество разных точек, и определить, что из них анатомическая особенность или подозрительное новообразование – большая проблема.
Наша система может находить образования диаметром меньше трех миллиметров и обращает внимание врача на возможные патологии.
Точно определить, злокачественное ли новообразование или нет, можно, получив его образец и сдав анализы. Наша задача – обнаружить проблему как можно раньше. Если в больших городах доступ к медицинским услугам более-менее налажен, то в сельской местности качество оборудования и опыт специалистов не всегда позволяют поставить верный диагноз. Врач получает необходимый клинический опыт, когда просмотрит около тысячи снимков. Модели, наподобие нашей, используют для обучения от ста тысяч снимков и больше. При этом технологии позволяют обучить нейронные сети на относительно небольшом количестве данных. Мы используем генеративно-состязательные сети, которым достаточно нескольких тысяч рентгеновских снимков.
Какие данные разработчики использовали для обучения модели?
По всем видам заболеваний у нас есть около 300 тысяч рентгеновских снимков, и около 1,5 тысяч исследований по КТ, в каждом из которых от 120 до 200 изображений. Библиотеками данных располагают научно-исследовательские центры, но не все готовы ими делиться. Например, чтобы получить данные от MIT, мне понадобилось пройти специальный онлайн-курс по работе с образцами биологических тканей и персональными данными пациентов. Только после этого университет выдал сертификат и предоставил доступ к снимкам.
Для обучения нашей модели, мы использовали датасеты со снимками легких, за которыми обращались в зарубежные университеты. 1,5 тысяч снимков с подтвержденными случаями пневмонии (вызванной Covid-19) нам удалось запросить из Китая. Затем к ним добавились снимки из США, Германии и Израиля. При этом нам нужна была независимая разметка, чтобы мнения о диагнозах нескольких врачей совпадали. Мы работали с пятью казахстанскими специалистами из Института радиологии и других учреждений.
Врачи, с которыми мы сотрудничали, отмечали, что за всю карьеру не видели столько снимков со сложными случаями, сколько изучила наша нейросеть за несколько месяцев. То же самое можно сказать и о студентах: им попадаются изображения нетипичных случаев в учебниках, но для насмотренности таких снимков с разными заболеваниями должно быть много.
Как нейросети распознают болезни?
Отличать один снимок от другого, классифицируя их по заболеваниям, компьютерные программы в России и США умели с 60 годов прошлого века. Благодаря нейронным сетям появилась возможность на основании одной последовательности данных, генерировать другую. Например, можно из нот либо текста генерировать музыку, или, как в нашем случае, генерировать картинку из картинки.
На «вход» нейронной сети мы подаем снимки легких и отдельно загружаем разметку с отмеченными патологиями, чтобы система научилась обнаруживать болезни и подозрительные образования. Модель анализирует примеры и запоминает закономерности, благодаря чему может различать разные недуги по характерным признакам.
Каждое изображение нейросеть переводит в строку из порядка 600 чисел, а потом из этого набора цифр воссоздает изображение обнаруженной патологии, которое затем накладывается на исходный снимок. При обучении система генерировала изображения на основе размеченных врачами снимков. Проанализировав более 10 миллионов параметров, как болезни и дефекты фиксируются на снимках, нейросеть нашла между ними взаимосвязи.
Другими словами, она научилась самостоятельно выводить теорему, а не просто заучила результаты.
Плюс нашей системы также в том, что она может работать с некачественными снимками томографов и «улучшать» качество изображения, если оригиналам не хватает детальности. Обнаружив подозрительные области, система сохраняет их разметку (изменения в градиентах пикселей и др.) и генерирует недостающие или слабо проявленные участки на снимке. Таким образом, она выделяет зоны, на которые врач мог не обратить внимание из-за низкого качества оригинального изображения.
На этом мы не остановились и решили развить систему. В обычном режиме она определяет болезнь по всему изображению снимка. В случае пневмоторакса нейросеть анализирует картинку более детально, изучая каждый пиксель и сопоставляя его с десятками, а то и сотнями других фрагментов на изображении. При том, что каждый снимок состоит из 262 000 пикселей. Дефектные участки на снимках могут отличаться рисунком наложенных теней, которые врач по какой-то причине может упустить или не посчитать важными. Система их в любом случае обнаружит и сообщит доктору.
В ближайшем будущем мы продолжим улучшать функции распознавания заболеваний по рентген и КТ снимкам, в основном уделяя внимание новообразованиям, туберкулёзу и пневмонии. Также в наших планах развивать прогностическую модель при анализе заболеваний легких.
Использование нейросетей для диагностики заболеваний и прогнозирования хода течения болезни, тема чрезвычайно актуальная, хотя и не нова. Та страна, где ведутся подобные исследования, реально заботится о своих гражданах.
Тем не менее, следует заметить, что подобные работы должны иметь более солидные инвестиции, во всяком случае, на порядок выше, чем сумма, упоминаемая в статье.
Но, в любом случае, достигнут очевидный успех благодаря применению новых технологий. Разработчики вызывают уважение с чем их можно заслуженно поздравить.