OpenCV в медицине: как наши разработчики помогли хирургам

OpenCV в медицине: как наши разработчики помогли хирургам

13.07.2021
# IT_новости Для_разработчиков Кейсы
Author avatar
Надежда Жадаева

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

OpenCV в медицине

Эндоскопия – современный метод инструментальной диагностики, который позволяет заглянуть внутрь полых органов, не используя скальпель. Благодаря разработке и широкому внедрению практически во все области медицины эндоскопических методов исследования, диагностические и лечебные возможности специалистов значительно расширились. Однако несмотря на постоянное усовершенствование эндоскопов в настоящее время перед их разработчиками остается нерешенной задача, связанная со значительной потерей четкости изображения при проведении трансуретральной контактной лазерной литотрипсии в области дробления мочевых конкрементов. Лазерная литотрипсия почек является самым универсальным методом в лечении мочекаменной болезни. Однако в процессе воздействия лазерного импульса на мочевой камень происходит поглощение лазерного излучения камнем. Это приводит к образованию микрократера на поверхности камня и испарению части вещества, которое разлетается в виде аэрозоля твердых и жидких частиц. Микровзрыв на поверхности камня приводит к турбулентному замутнению физиологической жидкости, окружающей камень. Из-за этого камень и оптический зонд на мониторе хирурга становятся невидимыми.

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

OpenCV в медицине
Изображение до удара лазера и после удара

Поиск решения

Формальной целью любого метода восстановления изображений, искаженных шумом, является минимизация расстояния (или ошибки по некоторому критерию) между исходным изображением и восстановленным. Различные методы денойзинга (восстановления зашумленных изображений) были предложены ещё с 80-х годов 20 века. Несмотря на то, что эти методы сильно отличались друг от друга в техническом плане при использовании различных моделей восстановления, общим было то, что результат восстановления являлся функцией усреднения по некоторой пространственной окрестности.

На сегодняшний день существует множество различных инструментов, которые могут помочь решить проблему захвата и обработки видеопотока. Наиболее оптимальным вариантом является библиотека компьютерного зрения и машинного обучения OpenCV. OpenCV имеет открытый исходный код и интерфейсы на различных языках, среди которых есть Python, Java, C++ и Matlab. Это обеспечивает легкую и быструю переносимость на различные платформы при необходимости.

В нашем проекте мы исследовали эндокамеру 1CCD HD ENDOCAM Performance HD. Полученный с нее анализируемый видеофайл, имеющий разрешение 720 × 576(1.25:1) при частоте кадров 50, сжат кодеком AVC1, цифровой формат *.mp4 (*.m4v) и представлены в пространстве YUV 4:2:0 (Y’CbCr). YCbCr может быть легко переведен RGB для простой обработки, равно как возможно и обратное преобразование.

Суть разрабатываемой технологии повышения четкости эндоскопического изображения состоит в том, что на вход подается видеопоток в реальном времени (либо видеофайл установленного формата), обрабатываемый в цикле. Первым шагом происходит предварительная фильтрация текущего кадра. Далее происходит выделение шумовой компоненты при обнаружении удара специальной функцией. Затем, в случае положительной реакции детектора шума происходит покадровая обработка: изображение камня предварительно сохраняется в буфер до начала воздействия на него лазерного излучения, затем из зашумленного кадра (при его обнаружении) вычитается исходное изображение (из буфера) и тем самым выделяется шумовая составляющая. После этого из последующих зашумленных кадров вычитается шумовая компонента, актуальность которой варьируема. Также происходит пост-фильтрация изображения, за счет чего существенно улучшается его четкость. Алгоритм в обобщенном виде показан на рисунке.

Алгоритм обработки видеопотока для улучшения эндоскопических изображений

Оператор Лапласа

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

Для этого берется один канал изображения (преимущественно оттенки серого) и сворачивается со следующим ядром размером 3 x 3 (ядро Лапласа):

Затем вычисляется дисперсия (т. е. стандартное отклонение в квадрате) ответа.

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

cv2.Laplacian(image, cv2.CV_64F).var()

# Обнаружение размытия с помощью OpenCV

Алгоритм реализации рассмотренного метода в обобщенном виде изображен на рисунке.

 Алгоритмы выделения шума и детектора шума

Если дисперсия падает ниже заранее определенного порога, то изображение считается размытым; в противном случае изображение не является размытым.

Причина, по которой этот метод эффективно работает, заключается в определении самого оператора Лапласа, который используется для измерения 2-й производной изображения. Лапласиан выделяет области изображения, содержащие быстрые изменения интенсивности. Соответственно, лапласиан часто используется для обнаружения границ. Предположение здесь состоит в том, что если изображение содержит высокую дисперсию, то существует широкий разброс результатов, как краевых, так и не краевых, репрезентативных для нормального изображения в фокусе. Но если имеем низкую дисперсию, что соответствует малым значениям отклика, это указывает на то, что в изображении очень мало границ. Как известно, чем более размыто изображение, тем меньше в нем границ.

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

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

Разработка ПО

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

К системе мы сформировали следующие функциональные требования:

  • система обязана отображать видеопоток (исходный и обработанный), получаемый с эндокамеры;
  • должна предоставлять возможность настройки алгоритма обработки;
  • система должна предоставлять возможность пользователю осуществлять захват видео и его сохранение на диск;
  • система обязана предоставлять доступ к ранее сохраненным файлам для удобства сравнения с актуальными;
  • информационная система должна обеспечивать пользователю возможность взаимодействовать с ней при наличии подключенной эндокамеры.

Реализация функционала

Библиотека OpenCV предоставила достаточный функционал для реализации всех операций обработки изображений (отдельных кадров видеопотока), что позволило создать приложение с лаконичным кодом и возможностью простой модификации в дальнейшем.

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

В результате тестирования были получены следующие результаты:

  • основной модуль справляется с задачей захвата видеопотока из различных источников и помещения кадров в буфер для обработки и последующего вывода, сохранения;
  • модуль предварительной фильтрации позволяет повысить четкость итогового изображения, избавляя его от случайного шума путем наложения маски;
  • детектор шума динамически определяет факт «размытости» текущего кадра на основании значений дисперсии для всех кадров буфера;
  • алгоритм (модуль исключения шума) позволяет корректно выделять и исключать посторонние объекты в кадре (частицы, общее помутнение кадра);
  • модуль пост-фильтрации производит выравнивание гистограммы кадра и фильтрует высокочастотные помехи.
OpenCV в медицине
Исходное изображение и изображение после обработки

Результат

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

Author avatar
Надежда Жадаева
Поделись статьей в соцмедиа:
Рекомендуемые статьи
Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Joy Dev в топе рейтинга Tagline 2023 среди лучших IT-компаний России

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Призовое место “Real Cosmetology” в конкурсе Золотое Приложение

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Золото в конкурсе Workspace Digital Awards 2023

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Хронофаги и как их усмирить

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Шаг за шагом: настройка окружения для Kotlin Multiplatform Mobile

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Cофт скилы: как получать больше за красивые глаза

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение

Площадки для видеостриминга: обзор-сравнение