Сколько рентгенограмм проходит через врачей в период коронавируса, сложно представить. А в постановке диагноза, когда важно разглядеть пневмонию и не допустить ухудшения, время идет не на пользу пациенту. Поэтому разработка студента БГМУ Андрея Капитонова в коронавирусные времена пришлась как нельзя кстати: его нейросеть может анализировать до 10 снимков легких в секунду и быстро выявить пневмонию.
Конечно, новый софт врача вряд ли заменит, но существенно облегчит ему жизнь. Да и время ожидания результатов это сократит в разы: вместо одного дня, которые сейчас отводятся по нормативам на анализ снимка, уйдет несколько секунд. Sputnik узнал, как работает новая умная технология.
Умный софт распознает пневмонию
Задумка создать подобную нейросеть появилась у студента еще до пандемии. Хотел сделать что-то для флюорографии, чтобы специалистам было легче работать: ведь случаев туберкулеза и других поражений легких выявляется хоть и не так много, но объем работы большой.
"Снимков, которые надо отсмотреть, много, и это очень неудобно. И если бы была подобная программа, которая автоматически могла бы разглядеть отклонение от нормы, это бы упростило задачу в разы", - объясняет Андрей Капитонов.
А когда в стране началась пандемия, идея применения разработки лежала на поверхности. Раньше на анализ одного снимка отводилось до 3 дней, теперь время ожидания сократилось до суток. Но и это время может стать критичным в ожидании диагноза, а работа, которая навалилась на врачей, просто неподъемная. Поэтому переориентировались на COVID-19.
"Сделали простую классификацию: пневмония, норма и иная патология. Врач может приоритизировать снимки, которые к нему поступают, и заняться в первую очередь теми, у кого есть признаки пневмонии", - говорит студент.
Автоматический предпросмотр
По сути, программа помогает выставить приоритет и делает такой "предпросмотр", облегчая работу врача и ускоряя процесс. Конечно, потом доктор обязательно просматривает снимок более детально.
Не в каждой больнице есть мощности, чтобы развернуть такую нейросеть, выявляющую пневмонии, – это очень ресурсоемкий сервис, на простой компьютер не поставишь. Поэтому вся информация отправляются на единый сервер, где их "забирает" программа.
Скорость софта зависит от скорости интернета в конкретной больнице. Вообще нейросеть анализирует 10 снимков в секунду, но ограничение это исключительно техническое: будет больше ресурсов, будет выше и скорость. Обычно из-за разницы в скорости на анализ одного снимка может уходить минута – это все равно меньше, чем понадобилось бы рентгенологу с его ворохом работы.
Как обучить нейросеть "находить" пневмонию
Чтобы обучить такую нейросеть правильно распознавать пневмонии, разработчикам пришлось провозиться не один месяц. Сначала нужно было отобрать много-много снимков легких. Только из одной больницы после долгого этапа согласований студенты для своей разработки получили 3 терабайта информации. Потом была другая проблема – у снимков весьма своеобразный формат хранения, ушло время на перевод в "читаемую кодировку". А потом приступили к сортировке.
"К разметке данных мы взяли тысячи снимков – я бы до сих пор возился с этой работой. Их нужно было разделить на три категории и определить повреждения легких, норму, иную патологию – фактически вручную все проанализировать. Помогали еще трое моих одногруппников", - говорит Андрей Капитонов.
Чем больше такая выборка в каждой из категорий, тем точнее сработает софт. Потом нейросеть "училась" на этих имеющихся снимках по определенным алгоритмам. Теперь она соотносит конкретный снимок со своими имеющимися данными и ставит "диагноз" - одну из трех категорий: пневмония, норма, иная патология.
"Получается такой набор весов, которые анализируют полученную информацию. И если все сделано правильно, если набор данных изначально был достаточно богатым, перекрывал максимально возможное количество вариантов, то потом получившуюся модель можно экстраполировать на новые данные", - объясняет студент.
Диагноз от умных технологий
Насколько точна эта система? Пока у разработчиков есть данные от детской инфекционной больницы Минска, которая одной из первых заинтересовалась разработкой будущего врача. Так, программа выполняет около 91% правильных предсказаний: из 785 снимков 716 случаев классифицировано правильно.
Но глобально оценить результаты программы разработчики не могут: это делают лишь врачи после того, как сами просмотрят соответствие "диагноза" программы и своего заключения. Софт собирает только снимки, без личных данных пациентов. Но то, что программой интересуются и другие учреждения здравоохранения, говорит само за себя: нейросеть, выявляющая пневмонии, оказалась полезной.
"Сейчас переводим наших пользователей на новый вариант сервиса, подключаем еще поликлиники. Недавно подключилась 8-я, за день на сервер пришло около 30 снимков. Вообще рекорд был около сотни запросов за сутки. По сути это работа всего отделения на целый день, а может быть и на два", - говорит Андрей.
Только за декабрь на сервер пришло на проверку около трех тысяч запросов из 4, 5 и 6-й клинических больниц Минска, БСМП, детской "инфекционки".
Помог холдинг IBA Group: здесь стартапу дали большую скидку на хостинг и на аренду оборудования. А так система работает на чистом энтузиазме разработчиков. На старте помогли первые деньги - 2,5 тысячи долларов от российской инициативы, поддерживающей стартапы, "Pandemic Hackathon".
Удалось выиграть и несколько грантов. В конкурсе инновационных проектов от Государственного комитета по науке и технологиями Андрей Капитонов получил 2 тысячи белорусских рублей, а от Ассоциации защиты интеллектуальной собственности "Белбренд" – 7,5 тысячи рублей. Так что денег хватит еще до конца зимы, а дальше – вопрос.