Введение
Давайте окунемся в мир передовых технологий и узнаем, как сегментация изображений производит революцию в области биомедицины!
Сегментация изображений в биомедицинской области имеет решающее значение по ряду причин. Это помогает идентифицировать и разделять различные структуры или объекты на изображении, что важно для точной диагностики и планирования лечения. С помощью сегментации изображений практикующие врачи могут точно изолировать и анализировать конкретные интересующие области на изображении, что приводит к лучшему пониманию основной анатомии и процессов заболевания. Использование алгоритмов глубокого обучения при сегментации изображений в биомедицинской области повысило точность и скорость анализа изображений, что сделало его ценным инструментом для медицинских работников.
В этой статье мы рассмотрим удивительные нюансы одной из самых популярных моделей сегментации биомедицинских изображений на основе глубокого обучения, UNet, и то, как она производит революцию в медицинской сфере. Так что берите кофе и давайте сразу приступим!
Что такое Унет?
UNet — популярная архитектура глубокого обучения, широко используемая для сегментации изображений. Модель UNet была специально разработана для решения проблем сегментации биомедицинских изображений и добилась замечательных результатов в нескольких реальных приложениях.
UNet был впервые представлен в 2015 году Олафом Роннебергером и др. в «U-Net: сверточные сети для сегментации биомедицинских изображений». С момента своего создания было несколько итераций UNet++, 3D UNet, Transformer-UNet, а теперь и UNet 3+, включая плагины для экспертов, не связанных с машинным обучением, таких как ImageJ. Неудивительно, что за этой популярной моделью последовало множество улучшений и адаптаций с тех пор, как она выиграла Гранд-конкурс по автоматизированному обнаружению кариеса при прикусной рентгенографии на ISBI 2015 и конкурс по отслеживанию клеток на ISBI 2015. Для сегментации изображений одним из них является UNet. из лучших вариантов искусственных нейронных сетей.
Унет – это…
+ Сквозная глубокая сверточная нейронная сеть
+ Предназначен для задач сегментации изображений
+ Используется в нескольких реальных приложениях
UNet превосходен в…
+ Небольшие наборы маркированных биомедицинских данных (~30)
+ Быстрый анализ (<1 сек.)
+ Сегментация при соприкосновении объектов
В этой статье будет представлен обзор UNet, включая его архитектуру и связь с глубоким обучением.
Читайте также: Роль ИИ в распространении вакцин
Понимание UNet
Одна из проблем сегментации биомедицинских изображений заключается в том, что сбор данных часто обходится дорого. Рентгеновские изображения, изображения поджелудочной железы, 2-фотонные изображения и т. д. — все они используют довольно дорогое оборудование и накладные расходы, поэтому сбор объема данных, необходимого для большинства моделей глубокого обучения, становится финансовой проблемой. При сегментации изображений вы берете некоторое необработанное изображение. данные и попытайтесь найти по контуру или выделению важную часть изображения, которую вы ищете. Например, выявление рака на рентгенограммах легких.
UNet решает эту проблему, создавая информационный конвейер, который сжимается, а затем расширяется. Изображение подается в сеть, которая затем вычисляет карту сегментации (т. е. контур или выделенную область, соответствующую целям во входных данных).
Архитектура UNet предназначена для сохранения пространственной информации исходного изображения при одновременном уменьшении пространственного разрешения объектов за счет усреднения пула и операций пошаговой свертки. Это еще одна полезная функция UNet, поскольку биомедицинские изображения часто имеют очень высокое разрешение, что делает их анализ менее затратным в вычислительном отношении.
Еще одной интересной особенностью UNet является то, что он предназначен для обработки различий в границах и изменяемых целях. Это делает его отличным вариантом для биомедицинских изображений, в которых есть много неточностей в данных.
Изображение различных сегментов биомедицинских изображений из оригинальной статьи UNet Роннебергера, 2015 г.
Что такое модель UNet?
Модель UNet — это то, что мы называем глубокой полносвязной сверточной нейронной сетью. Он состоит из сети кодера и сети декодера. Сеть кодера отвечает за извлечение признаков из входного изображения, а сеть декодера отвечает за восстановление карты сегментации выходного слоя. Кодер и декодеры состоят из серии сверточных операций с весами, представляющими многоканальные карты признаков.
Если вы не знакомы с процессом свертки, он включает в себя перемещение небольшого окна, называемого сверточным ядром или фильтром, над изображением для выполнения набора математических операций в каждой позиции. Результатом операции свертки является преобразованное изображение, отфильтрованное для выделения отличительных особенностей или закономерностей. В нейронных сетях пространство пикселей изображения подается через свертки, за которыми часто следует нелинейная активация, которая представляет собой функцию, которая вводит нелинейность, позволяя сети моделировать сложные отношения и ускорять обучение.
UNet Архитектура
Архитектура UNet состоит из ряда блоков свертки и включает в себя несколько слоев свертки, функции активации и уровни объединения. Архитектура UNet также включает в себя отделимую по глубине свертку, которая позволяет обрабатывать изображения с высоким пространственным разрешением. UNet обучается с использованием гибридной функции потерь, которая сочетает в себе функцию перекрестных энтропийных потерь и функцию потерь с учетом границ.
Ниже приведена диаграмма, показывающая общие компоненты архитектуры UNet, взятая из кафедры компьютерных наук Фрайбургского университета Олафом Роннебергером.
Хотя архитектура может показаться сложной, на самом деле она довольно проста. Ниже я объясню структуру кодера-декодера.
Кодер
Изображения уменьшаются с использованием все меньших и меньших соседних сверточных блоков. Входное изображение превращается в выходную карту признаков после одного сверточного блока, которая становится входной картой признаков для следующего блока.
Кодер UNet использует агрессивные свертки, также известные как расширенные свертки, которые используются для увеличения разрешения карт объектов, позволяя более детально сегментировать изображения. Это достигается за счет увеличения эффективного поля зрения сверточных ядер, что эффективно увеличивает охват карт признаков. Комбинируя использование пулов и сложных сверточных слоев, UNet может эффективно сбалансировать разрешение и абстракцию карт объектов, обеспечивая более точную сегментацию изображений.
Расчет сверток выполняется как свертки каналов или свертки по глубине. Каждый входной канал свернут с помощью отдельных фильтров, а характеристики канала объединяются для формирования выходных каналов. Это позволяет сети изучать сложные взаимосвязи между несколькими каналами информации в изображении, такими как цвет и текстура. Принцип, лежащий в основе этого, известен как свертка для слияния, где используются сверточные слои для объединения функций из нескольких масштабов или разрешений изображения. Этот процесс объединения помогает UNet фиксировать как высокоуровневые, так и низкоуровневые функции изображения, что имеет решающее значение для точной сегментации изображения.
Чтобы обеспечить более низкие требования к памяти и более быструю конвергенцию, модели UNet иногда используют так называемые модули свертки с разделением по глубине. В свертке, разделяемой по глубине, операция пространственной свертки и операция поточечной свертки разделены и выполняются независимо. Это позволяет сократить количество необходимых параметров оператора свертки, что делает модель легче и быстрее в обучении. Например, скорость расширения — это гиперпараметр, определяющий расстояние между входными значениями, которые используются при вычислении каждого выходного значения. Другими словами, он контролирует «восприимчивое поле» операции свертки.
После каждой свертки существует дополнительная структура, состоящая из среднего уровня пула, который обычно используется в пути субдискретизации (кодировщике) архитектуры UNet для уменьшения пространственного разрешения карт объектов. Беря среднее значение нескольких соседних пикселей, средний слой объединения уменьшает объем вычислений, необходимых в последующих слоях, и уменьшает переобучение. Также добавляется слой объединения пространственных пирамид для сбора контекстной информации в нескольких масштабах.
После слоя объединения существует остаточная структура, предназначенная для решения проблемы исчезновения градиентов в глубоких нейронных сетях, позволяя напрямую добавлять входные данные к выходным данным каждого слоя в сети. Это помогает гарантировать, что сеть сможет научиться вносить небольшие корректировки во входные данные, вместо того, чтобы изучать все сопоставление с нуля, что может быть затруднительно для очень глубоких сетей.
Декодер
По сути, декодер выполняет те же операции, что и кодер, но в обратном порядке, с некоторыми модификациями. Декодер выполняет повышающую дискретизацию с использованием билинейной интерполяции, оценивая значения недостающих пикселей изображения для построения карты сегментации. Это обеспечивает дискриминацию UNet на уровне пикселей, повышая точность.
Общий
Распределение значений пикселей в изображении может повлиять на производительность модели UNet при сегментации биомедицинских изображений. Хорошо спроектированная сеть UNet должна быть в состоянии обрабатывать различные типы изображений с различным распределением значений пикселей, например, изображения с гауссовым, пуассоновым или экспоненциальным распределением.
Как это связано с глубоким обучением?
UNet сам по себе является моделью глубокого обучения. Модель UNet является примером того, как глубокое обучение можно использовать для задач сегментации изображений. Поскольку оригинальная статья Роннебергера по UNet цитируется более 56 000 раз, неудивительно, что в нескольких моделях в качестве магистральной сети была принята архитектура UNet.
Одним из интересных подходов является Pix2Pix, генеративно-состязательная сеть (GAN). GAN генерируют данные для некоторого целевого распределения, используя генератор и состязательную модель. Генератор в Pix2Pix построен на основе архитектуры UNet, поскольку карта сегментации способна учитывать колебания морфологических особенностей изображения.
Архитектура UNet часто используется в качестве базовой сети в нескольких моделях преобразователей (популярных средах обработки естественного языка… похожих на основу ChatGPT) для задач сегментации изображений в биомедицинской области. Некоторые примеры таких моделей трансформаторов включают в себя:
- TransUNet – это вариант UNet, который использует сеть преобразователей вместо обычных сверточных слоев в архитектуре UNet.
- Attention-UNet — это еще один вариант, который использует механизмы внимания в дополнение к архитектуре UNet для лучшего захвата долгосрочных зависимостей в изображении.
- TernausNetV2 — это еще один вариант архитектуры UNet для обнаружения спутниковых изображений, который использует пропуск соединений для извлечения целей на уровне экземпляра.
Как указано выше, существует несколько итераций базовой архитектуры UNet. Общие улучшения в UNet включают:
- Трехмерные полностью сверточные сети
- двухканальная нейронная сеть
- предварительная обработка матрицы совместной встречаемости уровней серого
Применение UNet в реальной жизни
Как вы уже могли догадаться, UNet применяется в нескольких реальных приложениях.
Ниже приведен список лишь нескольких приложений.
Наборы данных и задачи сегментации биомедицинских изображений:
Другие задачи компьютерного зрения:
- Повышение резкости краев изображения в 2D-изображениях.
- Изображения дистанционного зондирования Земли (спутниковые снимки)
- Увеличение данных для дополнения наборов данных
- Создание синтетических данных
- Восстановление изображения
- Классификатор патчей изображений
- Классификация клинических записей
Модель UNet добилась замечательных результатов в этих приложениях, особенно с точки зрения скорости и точности сегментации.
Читайте также: Введение в автоэнкодеры, распространенные проблемы и проблемы
Заключение
UNet — это мощная архитектура глубокого обучения, которая широко используется в задачах сегментации изображений. Его архитектура спроектирована так, чтобы сохранять пространственную информацию исходного изображения при одновременном уменьшении пространственного разрешения объектов. UNet основан на архитектуре кодера-декодера и обучен с использованием комбинации функций потерь и наборов данных для создания плотной классификации всего изображения. Приложения UNet в области анализа медицинских изображений, дистанционного зондирования и компьютерного зрения демонстрируют свой потенциал в реальных сценариях.
Рекомендации
Бертольд, Майкл и др. Достижения в области интеллектуального анализа данных XVIII. 2020.