Регистрация медицинских изображений | Симметричная дифференциальная гомеоморфная регистрация SYMnet CNN (SOTA) | CVPR2020

искусственный интеллект
  • Статья перенесена из: публичного аккаунта WeChat «Алхимия машинного обучения»
  • Автор: Alchemy Brother (авторизованный)
  • Контактная информация автора: WeChat cyx645016617
  • Название статьи: «Быстрая регистрация симметричных диффеоморфных изображений с помощью сверточных нейронных сетей»
  • Ссылка на бумагу:АР Вест V.org/ABS/2003.09…

0 Обзор

1 Обзор дифференциального гомеоморфизма

ϕ(1)\phi^{(1)}представляет собой поле деформации с временным интервалом, равным 1. X на приведенном выше рисунке представляет поле деформации, а затем поле деформации плюс скорость поля деформации представляет собой поле деформации с более длинным временным интервалом.

Согласно алгебраической теории групп Ли, вывод таков:ϕ(1/2)=ϕ(1/4)ϕ(1/4)\phi^{(1/2)}=\phi^{(1/4)} \circ \phi^{(1/4)}, мы можем вывести поле деформации с временным интервалом 1/2 из поля деформации с временным интервалом 1/4.

Из кода предыдущей статьи мы также можем знать, что реализация этой части статьи представляет собой следующую логику: взяв в качестве примера T=7 в SYMnet, каждый временной интервал делится на272^7маленькие абзацы.

  • Разделите поле деформации входа модели на272^7, который называетсяϕ1/27\phi^{1/2^7}
  • пройти черезϕ1/27ϕ1/27\phi^{1/2^7} \circ \phi^{1/2^7}получитьϕ1/26\phi^{1/2^6}
  • пройти черезϕ1/26ϕ1/26\phi^{1/2^6} \circ \phi^{1/2^6}получитьϕ1/25\phi^{1/2^5}
  • Наконец получитьϕ(1)\phi^{(1)}

2 Структура модели

Идея этой модели заключается в том, что регистрируются два образа X и Y, изначально от X до Y, но теперь нам нужно найти промежуточное состояние Z между X и Y, пусть X зарегистрируется в Z, а затем пусть Y также зарегистрироваться на З.

на картинкеϕXY(1)\phi_{XY}^{(1)}поле деформации от X до Y.

В заключительной части вывода нам обязательно нужно зарегистрироваться от X до Y. Поэтому мы сначала используемϕXY0.5\phi_{XY}^{0.5}Пусть X зарегистрируется в промежуточном состоянии Z, а затем используйтеϕYX(0.5)\phi_{YX}^{(-0.5)}Пусть промежуточное состояние Z обратно зарегистрировано Z.

2.1 FCN

Часть извлечения признаков по-прежнему использует U-net (исходный U-net-подобный FCN):

  • Вход сети по-прежнему сращивание двух изображений X и Y, 2-канальное изображение;
  • В документе говорится, что в конце модели два сверточных слоя со свертывающимся слоем 5 используются для создания двух полей скоростей,vXY,vYXv_{XY},v_{YX}
  • с последующей активацией softsignx1+x\frac{x}{1+|x|}
  • Затем умножьте его на константу с, чтобы диапазон скоростей находился в [-с, с], а с, указанное в статье, равно 100, что эффективно при больших деформациях;
  • За исключением выходного сверточного слоя, за каждым сверточным слоем следует слой активации ReLU.
  • Согласно выводу дифференциального гомеоморфизма, если задано T=7, нам нужно толькоϕ(0.5)\phi^{(0.5)}Вот и все.

3 Функция потерь

  • Самая важная потеря - это NCC, который обычно доступен для такого рода задач совмещения изображений. В статье используется NCC, также может использоваться MSE и т. д.

Потери модели SYMnet в статье составляют:

  • LsimL_{sim}измерить потерю сходства;
  • LJdetL_{Jdet}Используйте определитель Якоби вместо потерь при сглаживании градиента.

3.1 similarity loss

Содержит две части:Lsim=Lmean+LpairL_{sim} = L_{mean} + L_{pair}:

  • Lmean=NCC(X(ϕXY(0.5)),Y(ϕYX(0.5)))L_{mean}=-NCC(X(\phi_{XY}^{(0.5)}),Y(\phi_{YX}^{(0.5)})). Это хорошо понятно, то есть есть надежда, что Z, преобразованное из X в промежуточное состояние, и промежуточное состояние Z, преобразованное из Y, будут одинаковыми;
  • Lpari=NCC(X(ϕXY(1)),Y)NCC(Y(ϕYX(1)),X)L_{pari} = -NCC(X(\phi_{XY}^{(1)}),Y)-NCC(Y(\phi_{YX}^{(1)}),X)Это тоже легко понять, т. е. я надеюсь, что Y и Y, преобразованные из X, такие же, как настоящие Y и X;

Среди них стоит отметить:

  • ϕXY(1)=ϕXY(0.5)ϕYX(0.5)\phi_{XY}^{(1)} = \phi_{XY}^{(0.5)} \circ \phi_{YX}^{(-0.5)}
  • ϕYX(1)=ϕYX(0.5)ϕXY(0.5)\phi_{YX}^{(1)} = \phi_{YX}^{(0.5)} \circ \phi_{XY}^{(-0.5)}

3.2 Якобианские потери

Автор предлагает потерю якобиана заменить гладкую потерю градиента воксельморфа.

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

В статье предлагается метод Якобиана, который накладывает ограничение согласованности на локальную ориентацию оцениваемого поля деформации.

где N — количество элементов в поле деформации,о\sigmaфункция активации ReLU,Jϕ(p)J_{\phi}(p)представляет детерминант Якоби поля деформации в положении p. Определитель определяется следующим образом:

код показывает, как показано ниже:

def JacboianDet(y_pred, sample_grid):
    J = y_pred + sample_grid
    dy = J[:, 1:, :-1, :-1, :] - J[:, :-1, :-1, :-1, :]
    dx = J[:, :-1, 1:, :-1, :] - J[:, :-1, :-1, :-1, :]
    dz = J[:, :-1, :-1, 1:, :] - J[:, :-1, :-1, :-1, :]

    Jdet0 = dx[:,:,:,:,0] * (dy[:,:,:,:,1] * dz[:,:,:,:,2] - dy[:,:,:,:,2] * dz[:,:,:,:,1])
    Jdet1 = dx[:,:,:,:,1] * (dy[:,:,:,:,0] * dz[:,:,:,:,2] - dy[:,:,:,:,2] * dz[:,:,:,:,0])
    Jdet2 = dx[:,:,:,:,2] * (dy[:,:,:,:,0] * dz[:,:,:,:,1] - dy[:,:,:,:,1] * dz[:,:,:,:,0])

    Jdet = Jdet0 - Jdet1 + Jdet2

    return Jdet


def neg_Jdet_loss(y_pred, sample_grid):
    neg_Jdet = -1.0 * JacboianDet(y_pred, sample_grid)
    selected_neg_Jdet = F.relu(neg_Jdet)

    return torch.mean(selected_neg_Jdet)

It is worth noting that the proposed selective Ja- cobian determinant regularization loss means not to replace the global regularizer. Instead, we utilize both regulariza- tion loss functions in our method to produce smooth and topology-preservation transformations while alleviating the tradeoff between smoothness and registration accuracy.

Автор подчеркивает, что эта потеря Якоби не заменяет предыдущую потерю глобальной регуляризации, но и то, и другое.

Итак, вот потеря регуляризации градиента для L2:

Затем, чтобы также увеличить потери величины, необходимо убедиться, чтоvxyv_{xy}иxyxx_{yx}имеют одинаковую величину:

Таким образом, в целом, эта SYMnet имеет четыре части потерь:

4 результата

Неудивительно, что он оказался лучшим из лучших.

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

Интересно, хотя автор говоритJϕЧем меньше, тем лучше, но то, что я вижу,DSCЭффект увеличивается по мере уменьшения веса Якоби, ха-ха. Кажется, что без этого ограничения потерь эффект будет лучшим, ха-ха|J_{\phi}| Чем меньше, тем лучше, но я вижу, что эффект DSC увеличивается по мере уменьшения веса Якоби, ха-ха. Кажется, что без этого ограничения потерь эффект будет лучшим, ха-ха