V-Net/Полностью сверточные нейронные сети для объемной сегментации медицинских изображений

Эта статья находится на Arxiv и никогда не рецензировалась и не публиковалась на какой-либо крупной конференции, но она показала отличные результаты в тестировании простаты на сайте grand-challenge.org, и поэтому ее стоит прочитать.

Вот краткое изложение основного вклада: 1) U-Net-подобная архитектура с ResNet-подобными слоями пропуска ближнего действия. 2) Новая функция стоимости, индекс Дайса, для предотвращения застревания оптимизации в локальном минимуме из-за несбалансированных положительных и отрицательных выборок.

Прежде чем вдаваться в подробности двух основных вкладов, вот мое понимание полностью сверточной сети. CNN, первоначально предложенная LeCunn, имеет один скалярный выход (или однократный вектор для одной метки) и используется для классификации. Фактическое сопоставление последней свертки с окончательным слоем предсказания обычно выполняется не с помощью «полностью связанного слоя», а с помощью специального сверточных слоев, размер фильтра которых покрывает всю входную карту объектов. Это основная причина, по которой ЛеКанн утверждает, что его модель «полностью сверточная» (в своих постах на Facebook).

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

Теперь давайте вернемся к двум основным вкладам этой статьи.

Архитектура, подобная U-Net, с ResNet, подобной слоям пропуска ближнего действия

Идея проста. В то время как U-Net имеет дальние пропущенные слои между путем сжатия и расширения, архитектура V-Net заменяет обычную свертку в U-Net блоком ResNet. Основное различие между ResNet и U-Net заключается в том, что ResNet использует суммирование функций слияния, а U-Net использует конкатенацию. Нет работы, чтобы сравнить, какой метод слияния лучше. Тем не менее, ResNet имеет хорошее теоретическое обоснование «отображения идентичности» с методом слияния суммирования, а также напоминает старые методы масштабного пространства, такие как пирамида Гаусса, которые также используют суммирование.

Взаимодействие слоя пропуска U-net и ярлыка ResNet немного отличается на пути расширения. Здесь вход двух путей в остаточном блоке различен. Для остаточного пути «свертки» входные данные включают слой пропуска U-Net, а также карты объектов предыдущей восходящей свертки, но входные данные остаточного пути «отображения идентичности» включают только карты характеристик восходящей свертки. Итак, здесь «сопоставление идентичности» означает использование только предыдущей свертки вверх, а не слоя пропуска U-Net.

Теоретически я бы определил сопоставление идентичности как «использовать только пропущенные слои» и определить «остаточный путь» как использование как пропускных слоев U-Net, так и предыдущих карт объектов свертки вверх в качестве входных данных, а затем отфильтрованных операциями свертки.

Индекс кости как функция стоимости:

Индекс игральной кости (и родственный ему индекс Жаккара) имеет долгую историю использования в качестве оценки для сегментации изображений или задачи поиска информации. Обычно, когда оптимизируемая функция стоимости отличается от конечной оценки проверки, исследователи пытаются напрямую оптимизировать оценку проверки. Но для оптимизации градиентного спуска индекс Dice сложно оптимизировать, потому что он принимает только двоичную переменную (набор) в качестве входных данных. Чтобы получить двоичный вывод, нам нужно пороговое значение для значений непрерывного прогнозирования, а пороговое значение трудно получить градиент.

В этой статье определяется обобщенная версия коэффициента Дайса, которая принимает вещественное число в качестве входных данных, в следующей форме (из википедии):

Когда a и b являются двоичными переменными, это определение возвращается к стандартному определению коэффициента Дайса с двоичным вводом. Но поскольку это определение принимает в качестве входных данных вещественное число, мы можем легко вычислить его градиент или просто позволить TensorFlow или PyTorch сделать это за нас. В оригинальной статье также приводится аналитическая форма градиента, вероятно, потому, что они используют Caffe для реализации настраиваемой функции стоимости игральных костей, а Caffe не поддерживает автодифференциацию, поэтому им необходимо явно определить градиент. Вот фрагмент кода, написанный на PyTorch:

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

Для несбалансированного набора данных индекс Dice для положительного и отрицательного классов имеет разное поведение, поэтому нам нужно быть осторожным, какой из них (или среднее из них) использовать. (быть добавленным)

Другие основные моменты

Используйте поэтапную свертку вместо максимального пула: меньше памяти, упрощенная структура сети.

Использовать свертку 5x5x5: это отличается от размера ядра по умолчанию 3x3 в сети типа VGG. Обычно предпочтительнее небольшой размер ядра. Здесь для трехмерной свертки большое ядро ​​означает гораздо большее количество параметров (5x5x5 = 125 против 3x3x3 = 27). В чем причина использования большого ядра?

Связанные работы и обсуждение

Последним победителем в этом соревновании по сегментации простаты стала «Объемная сеть ConvNets со смешанными остаточными соединениями для автоматизированной сегментации простаты на основе 3D-МР-изображений». Модель в этой статье также использует краткосрочные и долгосрочные слои пропуска, подобные ResNet. Кроме того, они используют глубокую стороннюю супервизию, которая потенциально может ускорить обучение, а также помочь в регуляризации.

Отмечается, что организатор конкурса использует несколько показателей для оценки производительности алгоритма сегментации. Эти метрики включают не только коэффициенты Дайса, но и другие метрики, основанные на форме, такие как «среднее значение по кратчайшему расстоянию между граничными точками объемов (ABD)». Обычные метрики из области машинного обучения обычно предполагают iid и не могут обрабатывать такие метрики, основанные на геометрии. С другой стороны, традиционные методы сегментации медицинских изображений, такие как модели активной формы (ASM), по-видимому, оптимизируют функцию, которая совместима с такими метриками на основе формы.

На самом деле, главный победитель конкурса перед глубоким обучением — это методы, основанные на модели активного внешнего вида (ASM), см. рецензию.