Автоматический анализ рентгеновских изображений

Компания «С.П. Гелпик» - один из ведущих производителей рентгеновской техники в РФ. Основная номенклатура - аппараты для медицинского применения (флюорографы, маммографы и др.).

Для программного обеспечения рентген-аппаратов мы разработали модули для детектирования рамок коллиматора и контуров снимаемых объектов с помощью сверточных нейронных сетей.

Определение рамки коллиматора


Коллиматор - это фактически «диафрагма» рентгеновского аппарата. Его назначение ясно из рисунка:

Назначение коллиматора

Перед нами была поставлена задача определения границ коллиматора на снимке. Проблема заключается в том, что:

  • Не всегда на снимке присутствуют все 4 шторки коллиматора - некоторые могут отсутствовать (были отключены оператором для данного конкретного снимка);
  • Шторки все же немного просвечивают, поэтому цвет за ними не полностью черный. Зачастую через них немного просвечивает и сам снимаемый объект (другими частями тела);
  • В некоторых случаях шторки не совсем перпендикулярны друг другу.

В этих условиях определение рамки коллиматора стандартными способами затруднено. Поэтому нами данная задача была решена с применением сверточных нейронных сетей на основе Tensorflow. В ходе экспериментов нам удалось «облегчить» структуру нейросети и значительно уменьшить требования к аппаратной части - в частности, вычисления могут проводиться на центральном процессоре без видеокарты.

Ниже приведено несколько примеров распознавания рамки коллиматора.

Пример определения рамки коллиматора с помощью нейронной сети

AI для анализа Xray-изображений

Просвечивающие шторки:

Анализ рентгеновских изображений с помощью нейросетей

Отсутствует нижняя шторка:

Пример определения рамки коллиматора с помощью нейронной сети

Отсутствуют верхняя и нижняя шторки:

Анализ рентгеновских изображений с помощью нейросетей

Отсутствует левая, правая и нижняя шторки:

AI для анализа Xray-изображений

Узкий объект и отсутствующая верхняя шторка:

Анализ рентгеновских изображений с помощью нейросетей

Инверсная картинка (черное основное изображение и белый фон в области шторок):

AI для анализа Xray-изображений

Достигнутая точность:

  • Правильное определение - 94%
  • Обрезано лишнее - 2%
  • Оставлено лишнее - 4%

Определение границ снимаемого объекта


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

Ниже показано несколько примеров изображений с распознанными объектами:

Поиск объектов с помощью AI

Сверточные нейросети - анализ объектов

Нейронная сеть для анализа рентген-снимков

Сверточные нейросети - анализ объектов

Поиск объектов с помощью AI

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

Достигнутая точность:

  • Правильное определение - 97%
  • Неправильное определение - 3%