README.md

Перевод статьи: U-Net: Convolutional Networks for Biomedical Image Segmentation

Url: https://arxiv.org/abs/1505.04597

Переведено с помощью AI Mistral (https://chat.mistral.ai)

U-Net: Свёрточная сеть для сегментации биомедицинских изображений

U-Net: Convolutional Networks for Biomedical Image Segmentation

Olaf Ronneberger, Philipp Fischer, и Thomas Brox

Кафедра компьютерных наук и центр BIOSS по исследованиям биологических сигналов, Университет Фрайбурга, Германия

ronneber@informatik.uni-freiburg.de,

WWW home page: http://lmb.informatik.uni-freiburg.de/

Вкратце

Существует общее мнение, что успешное обучение глубоких нейронных сетей требует многих тысяч размеченных обучающих образцов. В этой статье мы представляем сеть и стратегию обучения, которая активно использует аугментацию данных для более эффективного использования имеющихся размеченных образцов. Архитектура состоит из сокращающегося пути для захвата контекста и симметричного расширяющегося пути, который позволяет точно локализовать объекты. Мы показываем, что такая сеть может быть обучена от начала до конца на очень небольшом количестве изображений и превосходит предыдущий лучший метод (скользящее окно сверточной сети) в задаче сегментации нейронных структур в электронно-микроскопических стеках на конкурсе ISBI. Используя ту же сеть, обученную на изображениях, полученных с помощью проходящего света микроскопии (фазово-контрастная и DIC), мы выиграли конкурс ISBI по отслеживанию клеток 2015 года в этих категориях с большим отрывом. Кроме того, сеть работает быстро. Сегментация изображения размером 512x512 занимает менее секунды на современном GPU. Полная реализация (на основе Caffe) и обученные сети доступны по адресу http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net.

1 Введение

В последние два года глубокие сверточные сети превзошли лучшие существующие методы во многих задачах визуального распознавания, например, [7, 3]. Хотя сверточные сети существуют уже давно [8], их успех был ограничен из-за размера доступных обучающих наборов данных и размера рассматриваемых сетей. Прорыв, достигнутый Крижевским и его коллегами [7], был обусловлен обучением с учителем большой сети с 8 слоями и миллионами параметров на наборе данных ImageNet, содержащем 1 миллион обучающих изображений. С тех пор были обучены еще более крупные и глубокие сети [12].

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

Поэтому Чиресан и его коллеги [1] обучили сеть в настройке скользящего окна для предсказания метки класса каждого пикселя, предоставляя локальный регион (патч) вокруг этого пикселя в качестве входных данных. Во-первых, эта сеть может локализовать. Во-вторых, объем обучающих данных в виде патчей значительно больше, чем количество обучающих изображений. Результирующая сеть выиграла конкурс по сегментации EM на ISBI 2012 с большим отрывом.

Очевидно, что стратегия, использованная Чиресаном и его коллегами [1], имеет два недостатка. Во-первых, она довольно медленная, потому что сеть должна запускаться отдельно для каждого патча, и из-за перекрывающихся патчей возникает много избыточности. Во-вторых, существует компромисс между точностью локализации и использованием контекста. Более крупные патчи требуют больше слоев макс-пулинга, что снижает точность локализации, тогда как небольшие патчи позволяют сети видеть только небольшой контекст. Более современные подходы [11, 4] предложили выход классификатора, который учитывает признаки из нескольких слоев. Это позволяет одновременно достигать хорошей локализации и использования контекста.

Рисунок 1

На рисунке 1 представлена архитектура U-net (пример для разрешения 32x32 пикселей в самом низком разрешении). Каждый синий прямоугольник соответствует многоканальной карте признаков. Количество каналов указано в верхней части прямоугольника. Размер x-y указан в нижнем левом углу прямоугольника. Белые прямоугольники представляют собой скопированные карты признаков. Стрелки обозначают различные операции.

В этой статье мы основываемся на более элегантной архитектуре, так называемой “полностью сверточной сети” [9]. Мы модифицируем и расширяем эту архитектуру таким образом, чтобы она работала с очень небольшим количеством обучающих изображений и давала более точные сегментации; см. Рисунок 1. Основная идея в [9] заключается в дополнении обычной сокращающейся сети последовательными слоями, где операторы пулинга заменяются операторами апсемплинга. Таким образом, эти слои увеличивают разрешение выходных данных. Для локализации высокоразрешенные признаки из сокращающегося пути комбинируются с апсемплингованным выходом. Последующий сверточный слой может затем обучиться собирать более точный выход на основе этой информации.

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

Рисунок 2

На рисунке 2 представлена стратегия перекрывающихся тайлов для бесшовной сегментации произвольно больших изображений (в данном случае сегментация нейронных структур в стеках ЭМ). Предсказание сегментации в желтой области требует данных изображения в пределах синей области в качестве входных данных. Недостающие входные данные экстраполируются путем зеркального отображения.

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

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

Результирующая сеть применима к различным задачам биомедицинской сегментации. В этой статье мы показываем результаты сегментации нейронных структур в стеках ЭМ (продолжающийся конкурс, начатый на ISBI 2012), где мы превзошли сеть Чиресана и его коллег [1]. Кроме того, мы показываем результаты для сегментации клеток на изображениях, полученных с помощью световой микроскопии, из конкурса ISBI по отслеживанию клеток 2015 года. Здесь мы выиграли с большим отрывом на двух самых сложных 2D наборах данных проходящего света.

2 Архитектура сети

Архитектура сети иллюстрирована на Рисунке 1. Она состоит из сокращающегося пути (левая сторона) и расширяющегося пути (правая сторона). Сокращающийся путь следует типичной архитектуре сверточной сети. Он состоит из повторяющегося применения двух 3x3 сверток (незаполненные свертки), каждая из которых затем следует за прямолинейной функцией активации (ReLU) и операцией макс-пулинга 2x2 с шагом 2 для понижения разрешения. На каждом этапе понижения разрешения мы удваиваем количество каналов признаков. Каждый шаг в расширяющемся пути состоит из апсемплинга карты признаков, за которым следует 2x2 свертка (“up-convolution”), уменьшающая количество каналов признаков вдвое, конкатенация с соответствующей обрезанной картой признаков из сокращающегося пути и две 3x3 свертки, каждая из которых следует за ReLU. Обрезка необходима из-за потери пикселей на границе в каждой свертке. На финальном слое используется 1x1 свертка для отображения каждого 64-компонентного вектора признаков на желаемое количество классов. В общей сложности сеть имеет 23 сверточных слоя.

Чтобы обеспечить бесшовное тайлинговое объединение выходной карты сегментации (см. Рисунок 2), важно выбрать размер входного тайла таким образом, чтобы все операции макс-пулинга 2x2 применялись к слою с четными размерами по осям x и y.

3 Обучение

Входные изображения и их соответствующие карты сегментации используются для обучения сети с помощью реализации стохастического градиентного спуска в Caffe [6]. Из-за незаполненных сверток выходное изображение меньше входного на постоянную ширину границы. Чтобы минимизировать накладные расходы и максимально использовать память GPU, мы предпочитаем большие входные тайлы вместо большого размера пакета и, следовательно, уменьшаем пакет до одного изображения. Соответственно, мы используем высокий момент (0.99), так что большое количество ранее виденных обучающих образцов определяет обновление на текущем шаге оптимизации.

Функция энергии вычисляется с помощью пиксельной soft-max над финальной картой признаков, комбинированной с функцией потерь перекрестной энтропии. Soft-max определяется как: $p_k(\mathbf) = \exp(a_k(\mathbf)) / \sum_{k’=1}^ \exp(a_{k’}(\mathbf))$ где $a_k(\mathbf)$ обозначает активацию в канале признаков $k$ в пиксельной позиции $\mathbf \in \Omega$ с $\Omega \subset \mathbb^2$. $K$ — это количество классов, а $p_k(\mathbf)$ — это аппроксимированная максимальная функция. То есть $p_k(\mathbf) \approx 1$ для $k$, который имеет максимальную активацию $a_k(\mathbf)$, и $p_k(\mathbf) \approx 0$ для всех остальных $k$. Перекрестная энтропия затем штрафует на каждой позиции отклонение $p_{\ell(x)}(x)$ от 1, используя:

$E = \sum_{\mathbf \in \Omega} w(\mathbf) \log(p_{\ell(\mathbf)}(\mathbf))$

где $\ell : \Omega \rightarrow {1, \ldots, K}$ — это истинная метка каждого пикселя, а $w : \Omega \rightarrow \mathbb$ — это карта весов, которую мы ввели, чтобы придать некоторым пикселям большее значение при обучении.

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

a

Рисунок 3a

b

Рисунок 3b

c

Рисунок 3c

d

Рисунок 3d

На рисунке 3 представлены клетки HeLa на стекле, записанные с помощью микроскопии DIC (дифференциальный интерференционный контраст). (a) Исходное изображение. (b) Наложение с эталонной сегментацией. Разные цвета указывают на разные экземпляры клеток HeLa. (c) Сгенерированная маска сегментации (белый: передний план, черный: фон). (d) Карта с пиксельной весовой функцией потерь, чтобы заставить сеть учиться разделять граничные пиксели.

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

$w(\mathbf) = w_c(\mathbf) + w_0 \cdot \exp\left(-\frac{(d_1(\mathbf) + d_2(\mathbf))^2}{2\sigma^2}\right)$

где:

  • $w_c : \Omega \rightarrow \mathbb$ — это карта весов для балансировки частот классов,
  • $d_1 : \Omega \rightarrow \mathbb$ — это расстояние до границы ближайшей клетки,
  • $d_2 : \Omega \rightarrow \mathbb$ — это расстояние до границы второй ближайшей клетки.

В наших экспериментах мы установили $w_0 = 10$ и $\sigma \approx 5$ пикселей.

В глубоких сетях с множеством сверточных слоев и различными путями через сеть крайне важна хорошая инициализация весов. В противном случае, некоторые части сети могут давать чрезмерные активации, тогда как другие части никогда не будут вносить вклад. Идеально, начальные веса должны быть адаптированы таким образом, чтобы каждая карта признаков в сети имела примерно единичную дисперсию. Для сети с нашей архитектурой (чередующиеся сверточные и ReLU слои) это можно достичь, выбирая начальные веса из гауссового распределения со стандартным отклонением $\sqrt{\frac{2}}$, где $N$ обозначает количество входящих узлов одного нейрона [5]. Например, для 3x3 свертки и 64 каналов признаков в предыдущем слое $N = 9 \cdot 64 = 576$.

3.1 Аугментация данных

Аугментация данных является ключевым элементом для обучения сети желаемым свойствам инвариантности и устойчивости, когда доступно лишь небольшое количество обучающих образцов. В случае микроскопических изображений нам в первую очередь необходимы инвариантность к сдвигам и поворотам, а также устойчивость к деформациям и изменениям оттенков серого. Особенно случайные эластичные деформации обучающих образцов, похоже, являются ключевым концептом для обучения сети сегментации с очень небольшим количеством аннотированных изображений. Мы генерируем плавные деформации, используя случайные векторы смещения на грубой сетке 3 на 3. Смещения выбираются из гауссового распределения со стандартным отклонением в 10 пикселей. Смещения для каждого пикселя затем вычисляются с использованием бикубической интерполяции. Слои Drop-out в конце сокращающегося пути выполняют дополнительную неявную аугментацию данных.

4 Эксперименты

Мы демонстрируем применение U-net к трем различным задачам сегментации. Первая задача — это сегментация нейронных структур в электронно-микроскопических записях. Пример набора данных и нашей полученной сегментации представлен на Рисунке 2. Полный результат предоставлен в качестве дополнительного материала. Набор данных предоставлен конкурсом по сегментации EM [14], который начался на ISBI 2012 и все еще открыт для новых вкладов. Обучающие данные представляют собой набор из 30 изображений (512x512 пикселей) из серийных сечений трансмиссионной электронной микроскопии вентрального нервного тяжа (VNC) личинки первого возраста Drosophila. Каждое изображение сопровождается соответствующей полностью аннотированной эталонной картой сегментации для клеток (белый) и мембран (черный). Тестовый набор данных доступен публично, но его карты сегментации держатся в секрете. Оценка может быть получена путем отправки предсказанной карты вероятности мембран организаторам. Оценка производится путем порогового значения карты на 10 различных уровнях и вычисления “ошибки искажения”, “ошибки Рэнда” и “пиксельной ошибки” [14].

U-net (усредненная по 7 повернутым версиям входных данных) достигает, без какой-либо дополнительной пре- или постобработки, ошибки искажения 0.0003529 (новый лучший результат, см. Таблицу 1) и ошибки Рэнда 0.0382.

Таблица 1: Рейтинг на конкурсе по сегментации EM [14] (по состоянию на 6 марта 2015 года), отсортированный по ошибке искажения.

Таблица 1

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

Мы также применили U-net к задаче сегментации клеток на изображениях, полученных с помощью световой микроскопии. Эта задача сегментации является частью конкурса ISBI по отслеживанию клеток 2014 и 2015 годов [10, 13]. Первый набор данных “PhC-U373” содержит клетки глиобластомы-астроцитомы U373 на полиакриламидном субстрате, записанные с помощью фазово-контрастной микроскопии (см. Рисунок 4a, b и Дополнительные материалы). Он содержит 35 частично аннотированных обучающих изображений.

a

Рисунок 4а

b

Рисунок 4b

c

Рисунок 4c

d

Рисунок 4d

Рисунок 4: Результаты на конкурсе ISBI по отслеживанию клеток. (a) Часть входного изображения набора данных “PhC-U373”. (b) Результат сегментации (циановая маска) с ручной эталонной сегментацией (желтая граница). (c) Входное изображение набора данных “DIC-HeLa”. (d) Результат сегментации (маски случайных цветов) с ручной эталонной сегментацией (желтая граница).

Здесь мы достигаем среднего значения IOU (“intersection over union”) 92%, что значительно лучше, чем у второго по результативности алгоритма с 83% (см. Таблицу 2).

Таблица 2: Результаты сегментации (IOU) на конкурсе ISBI по отслеживанию клеток 2015 года.

Таблица 2

Второй набор данных “DIC-HeLa” содержит клетки HeLa на плоском стекле, записанные с помощью дифференциальной интерференционной контрастной (DIC) микроскопии (см. Рисунок 3, Рисунок 4c, d и Дополнительные материалы). Он содержит 20 частично аннотированных обучающих изображений. Здесь мы достигаем среднего значения IOU 77.5%, что значительно лучше, чем у второго по результативности алгоритма с 46%.

5 Заключение

Архитектура U-net демонстрирует очень хорошие результаты в различных биомедицинских задачах сегментации. Благодаря аугментации данных с использованием эластичных деформаций, ей требуется очень мало аннотированных изображений, и она имеет вполне разумное время обучения — всего 10 часов на GPU NVidia Titan (6 GB). Мы предоставляем полную реализацию на основе Caffe [6] и обученные сети. Мы уверены, что архитектура U-net может быть легко применена к множеству других задач.

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

Это исследование было поддержано Инициативой совершенства правительств Германии (EXC 294) и Федеральным министерством образования и научных исследований Германии (BMBF, Fkz 0316185B).

| | | |-|-| | References | | | [1] | Ciresan, D.C., Gambardella, L.M., Giusti, A., Schmidhuber, J.: Deep neural networks segment neuronal membranes in electron microscopy images. In: NIPS. pp. 2852–2860 (2012) | | [2] | Dosovitskiy, A., Springenberg, J.T., Riedmiller, M., Brox, T.: Discriminative unsupervised feature learning with convolutional neural networks. In: NIPS (2014) | | [3] | Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2014) | | [4] | Hariharan, B., Arbeláez, P., Girshick, R., Malik, J.: Hypercolumns for object segmentation and fine-grained localization (2014), arXiv:1411.5752 [cs.CV] | | [5] | He, K., Zhang, X., Ren, S., Sun, J.: Delving deep into rectifiers: Surpassing human-level performance on imagenet classification (2015), arXiv:1502.01852 [cs.CV] | | [6] | Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., Darrell, T.: Caffe: Convolutional architecture for fast feature embedding (2014), arXiv:1408.5093 [cs.CV] | | [7] | Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: NIPS. pp. 1106–1114 (2012) | | [8] | LeCun, Y., Boser, B., Denker, J.S., Henderson, D., Howard, R.E., Hubbard, W., Jackel, L.D.: Backpropagation applied to handwritten zip code recognition. Neural Computation 1(4), 541–551 (1989) | | [9] | Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation (2014), arXiv:1411.4038 [cs.CV] | | [10] | Maska, M., (…), de Solorzano, C.O.: A benchmark for comparison of cell tracking algorithms. Bioinformatics 30, 1609–1617 (2014) | | [11] | Seyedhosseini, M., Sajjadi, M., Tasdizen, T.: Image segmentation with cascaded hierarchical models and logistic disjunctive normal networks. In: Computer Vision (ICCV), 2013 IEEE International Conference on. pp. 2168–2175 (2013) | | [12] | Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition (2014), arXiv:1409.1556 [cs.CV] | | [13] | WWW: Web page of the cell tracking challenge, http://www.codesolorzano.com/celltrackingchallenge/Cell_Tracking_Challenge/Welcome.html | | [14] | WWW: Web page of the em segmentation challenge, http://brainiac2.mit.edu/isbi_challenge/ |

Описание
Перевод статьи U-Net: Convolutional Networks for Biomedical Image Segmentation
Конвейеры
0 успешных
0 с ошибкой
Разработчики