Многоклассовая детекция клеток рака почки: нейросетевой ассистент врача-патоморфолога

Всем привет, меня зовут Арсений, я студент 2 курса магистратуры Сеченовского университета по специальности «Наноматериал и биофотоника». В октябре прошлого года я занял первое место во всероссийском межвузовском конкурсе «Samsung Innovation Campus» со своим проектом «Многоклассовая детекция ядер светло-клеточного почечно-клеточного рака» и хотел бы поделиться подробностями.

Я учусь в медицинском, и когда возникла необходимость придумать тему выпускного проекта, чтобы завершить свое обучение по треку «Искусственный интеллект» Samsung Innovation Campus, я обратился к своим коллегам из Института регенеративной медицины Сеченовского университета с просьбой о каком-нибудь датасете. К счастью, у них один был. В итоге я смог не только сделать победивший в конкурсе проект, но и расшевелить тему анализа изображений раковых почек в стенах Сеченовского университета.

Картинка для привлечения внимания с результатом работы StarDist из коробки

Картинка для привлечения внимания с результатом работы StarDist из коробки

О задаче

Последнее время во всем мире, в том числе и в России, остро стоит проблема недостатка патоморфологов — врачей, в чьи обязанности входит анализ данных биопсий. Это рутинная и трудозатратная профессия, и от этого мало кто хочет в нее идти. Вместе с этим совершенствуются методы лечения и диагностики, из-за чего растет нагрузка на врачей этой профессии. 

Снизить нагрузку на врачей пытаются при помощи наработок компьютерного зрения. Особенностью применения ИИ в медицине является высокое требование к точности, и ориентирование на роль «ассистента» врача. Пока не представляется возможным замена врачей искусственным интеллектом полностью, большинство методов направлены на повышение скорости и удобства работы специалиста, на минимизацию его ошибок. 

Что касается диагностики видов рака, множество работ посвящены наиболее распространенным типам рака: молочной железы, простаты, легких и прямой кишки. Мой научный руководитель, к.м.н Файзуллин Алексей Леонидович, предложил мне посмотреть на проблему с другой стороны, взяв в качестве критериев выбора задачи не только распространенность, но и время анализа образцов одного пациента и сложность постановки диагноза. 

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

Светло-клеточный рак является самым распространенным раком почки, занимая около 70% от общего количества. При этом, специфично количество анализируемых образцов: при таком виде рака производится полная резекция органа, который потом разделяется на большое количество образцов для анализа*. Вследствие этого анализ и получение результатов одного пациента занимает больше времени. Возможность уменьшить время анализа и улучшить точность диагностирования могла бы значительно помочь патоморфологам в их работе. 

Гистологический скан представляет собой изображение размером примерно 30 000 на 40 000 пикселей, и благодаря такому высокому разрешению мы можем разметить каждую клетку. Большой размер снимков предполагает разделение на патчи и обучение модели на этих частях. Для таких малых патчей мы уже можем решать задачи компьютерного зрения посегментации и классификации, что в масштабе гистологического снимка значительно упрощает работу врачей.

Стоит отметить сложность постановки диагноза при светло-клеточном раке. При анализе скана врач выбирает регионы, а потом считает в нем пропорции клеток различного класса. Т.о. оценка дается региону и для этого надо отсмотреть большое количество клеток (при этом специалисты не всегда приходят к единому мнению (https://link.springer.com/article/10.1186/s13000–021–01130–2). 

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

Датасет

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

Объем датасета составлял примерно 11к данных со следующим распределением

Гистограмма распределения классов в датасете

Гистограмма распределения классов в датасете

У разметки была одна особенность: чтобы создать хоть сколько-нибудь сбалансированный датасет, размечались не все ядра в регионе, а лишь представляющие интерес. То есть разметка была разреженной. Это не позволяло подавать снимки сразу в модель сегментации/детекции. Конечно, можно применить методы sparce-сегментации и считать лосс только по размеченным данным, но эта идея была отвергнута ввиду излишней сложности для стоящей передо мной цели. Поэтому я решил использовать двухуровневую структуру: сначала ядра детектировались моделью StarDist, затем распределялись классификатором по двум группам классов. Нулевой класс — ядра, не представляющие интереса, и 1–4 классы — раковые ядра с соответствующим грейдом. 

StarDist — модель для детекции клеток/ядер. В официальном репозитории есть предобученные модели, в том числе и для гистологии. В основе модели StarDist лежит архитектура Unet, которая предсказывает вероятность того что пиксель является центром ядра, а также 32 вектора до границы этого ядра. Потом это все пропускается через NMS и выдается конечный результат.

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

Пример сложной ситуации детектирования клеток (https://arxiv.org/abs/1806.03535)

Классификатор

Для распределения ядер по классам я создал дополнительный классификатор, который помогал определить степень поражения ядер на изображениях. 

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

После этого началось первое для меня исследование по решению задачи перебором различных моделей и аугментаций данных. Оказалось, что я не первый, кто столкнулся с тем, что на гистологических снимках модели семейства VGG обучаются лучше чем EffNet и другие глубокие модели. По результатам моего исследования на данный момент лучшей моделью для решения задач классификации в гистологии оказалась модель DenseNet из трех dense-блоков по четыре свертки без паддингов. Для выпускного проекта Samsung Innovation Campus я использовал DenseNet121 из стандартной библиотеки PyTorch, так как для конкурса не успел сделать кастомную версию, но для нашего внутреннего пользования презентовал уже кастом версию. При обучении этой модели изображения ядер обрезались с небольшим отступом, приводились к общему размеру и передавались в классификатор. Для улучшения результатов использовались небольшие аугментации, такие как смещение оттенка и поворот на случайный градус. Клетки не котики, у них нет верха и низа, мы можем крутить их на все 360°.

Схема DenseNet для гистологического изображения (https://www.sciencedirect.com/science/article/pii/S1361841523000166)

Интерфейс системы

Я не разработчик интерфейсов, однако в современном мире можно обойтись и без знаний JS и HTML. Я воспользовался открытой Python-библиотекой streamlit, которая позволяет быстро накидать простой интерфейс для запуска скрипта обработки изображений и вывода результата.

Интерфейс программы v0.0.1

Интерфейс программы v0.0.1

Результат работы

Для оценки качества модели применялись средние значения метрик точности (Precision) и полноты (Recall). Модель показала значения 0.90 по обоим параметрам. 

APrecision

ARecall

Densenet201

0.90

0.90

Densenet161

0.85

0.84

ResNet50

0.84

0.84

Densenet121

0.80

0.80

ResNet101

0.80

0.80

EfficientNet_b0

0.80

0.80

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

Нейросеть позволяет идентифицировать истинно опухолевые клетки. Точность классификации опухолевых клеток по ядерной градации производит впечатление. Решение имеет потенциальную ценность для специалистов микроскопической диагностики при анализе операционного материала светлоклеточного рака почки

— к.м.н. А.Л. Файзуллин

Ознакомиться с проектом можно по ссылке https://github.com/NeXu7/SDP

Первые попытки визуализации результата работы модели. В дальнейшем мы исправили цветовое безумие и перешли к градации зеленый-желтый-красный

Первые попытки визуализации результата работы модели. В дальнейшем мы исправили цветовое безумие и перешли к градации зеленый-желтый-красный

Финальный вариант визуализации

Финальный вариант визуализации

Планы на будущее

Можно сказать, что проект появился очень вовремя. Он дал начальную мотивацию для исследования проблемы классификации клеток. Результат не только был отмечен жюри конкурса проектов Samsung Innovation Campus, но и продемонстрировал перспективы развития этой темы. В январе текущего года мы собрали новый датасет, который полностью посвящен теме многоклассовой детекции. Собранный датасет уже полноценен с точки зрения плотности разметки — в регионе интереса выделены все клетки и им присвоен класс. Работа по сбору и разметке данных оказалась очень трудозатратной, но результаты работы показали, что развитие идей применения поклеточной классификации нейронными сетями для диагностирования светлоклеточного рака могут быть применимы в реальных сценариях.

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

Благодарности

Хочу выразить благодарность своему научному руководителю к.м.н. Файзуллину Алексею Леонидовичу и преподавателю дисциплины «Искусственный интеллект» Валетову Дмитрию Кирилловичу. 

P.S.

В процессе написания этой статьи у людей, не знакомых со спецификой диагностирования рака почки, возникло большое количество вопросов по поводу полной резекции органа. Да, орган удаляют полностью. Сначала рак диагностируют на МРТ, потом делают операцию. После чего врачу-патоморфологу необходимо уточнить диагноз, определив степень поражения. Это необходимо для прогнозирования и определения дальнейшего плана лечения.

Глоссарий

Биопсия — взятие образца ткани для последующего исследования. Обычно такая операция делается специальной иглой, которая забирает часть ткани

Гистоподготовка — процесс подготовки и окраски образца, в ходе которого получают гистологические срезы толщиной 3–4 мкм. Малая толщина среза позволяет получить изображение на светлопольном микроскопе: мы видим свет, прошедший сквозь образец, что на выходе дает нам четкое и контрастное изображение. 

NMS — non maximum suppression, статья с объяснением принципа https://towardsdatascience.com/non-maximum-suppression-nms-93ce178e177c

На церемонии награждения призеров конкурса: слева я, справа -- вице-президент Samsung Electronics Сергей Певнев

На церемонии награждения призеров конкурса: слева я, справа — вице-президент Samsung Electronics Сергей Певнев

Земеров Арсений
tg: @azemerov
2 курс магистратуры Сеченовского университета
Ассистент кафедры высшей математики, механики и математического моделирования Сеченовского университета

В проекте Samsung Innovation Campus участвует уже более 30 российских вузов-партнеров. Мы приглашаем вузы к сотрудничеству по следующим учебным трекам: Искусственный интеллект, Интернет вещей, Мобильная разработка, Большие данные.

https://myitacademy.ru/partners/

https://myitacademy.ru/partners/

© Habrahabr.ru