Изменения

Перейти к: навигация, поиск

Блендинг изображений

983 байта добавлено, 05:26, 11 января 2021
м
Допилил код напильничком)
<font size="3em">
'''fun''' $SinglePassHarmonization$(
<span style="display: inline-block; width: 2em">$I$, </span><font color="green"> // Входное изображение </font> <span style="display: inline-block; width: 2em">$M$, </span><font color="green"> // Маска </font> <span style="display: inline-block; width: 2em">$S$, </span><font color="green"> // Стилевое изображение </font> <span style="display: inline-block; width: 2em">$\pi$, </span><font color="green"> // Алгоритм построения стилевого маппинга </font> <span style="display: inline-block; width: 2em">$\mathcal{L}$ </span><font color="green"> // Функция потерь </font>
):
<font color="green">// Строим матрицы $F[I]$ и $F[S]$ с помощью свёрточной сети VGG-19 </font>
<font size="3em">
'''fun''' $IndependentMapping$(
<span style="display: inline-block; width: 4em">$F[I]$, </span><font color="green"> // Выходы слоёв после входного изображения </font> <span style="display: inline-block; width: 4em">$Mask$, </span><font color="green"> // Маска </font> <span style="display: inline-block; width: 4em">$F[S]$ </span><font color="green"> // Выходы слоёв после стилевого изображения </font>
):
<font color="green">// Для всех слоёв от $1$ до $L$ </font> '''for''' $l \in [1 : L]$: <font color="green"> // L = количество слоёв сети Для всех столбцов от $1$ до $M_l$ </font>
'''for''' $j \in [1 : M_l]$:
<font color="green">// Рассматриваем патчи только внутри маски, которую нужно масштабировать в соответсвии с размером слоя $l$ </font> '''if''' $j \in Resize(Mask, l)$: <font color="green"> // рассматриваем патчи только внутри маски, которую нужно масштабировать Берём самый похожий стилевой патч и записываем его в соответсвии с размером слоя $l$ маппинг. </font>
$P_l(j) \leftarrow NearestNeighborIndex(F[I], j, F[S])$
'''return''' $P$
<font size="3em">
'''fun''' ConsistentMapping(
<span style="display: inline-block; width: 4em">$F[I]$, </span><font color="green"> // Выходы слоёв после входного изображения </font> <span style="display: inline-block; width: 4em">$Mask$, </span><font color="green"> // Маска </font> <span style="display: inline-block; width: 4em">$F[S]$ </span><font color="green"> // Выходы слоёв после стилевого изображения </font>
):
<font color="green">// Сначала посчитаем маппинг как в IndependentMapping только для слоя $l_{ref}$ </font>
<font size="3em">
'''fun''' $Harmonization$(
<span style="display: inline-block; width: 4em">$I$, </span><font color="green"> // Входное изображение </font> <span style="display: inline-block; width: 4em">$Mask$, </span><font color="green"> // Маска </font> <span style="display: inline-block; width: 4em">$S$ </span><font color="green"> // Стилевое изображение </font>
):
<font color="green">// Грубый проход алгоритма. Каждый слой рассматривается отдельно при построении стилевого маппинга. </font>
58
правок

Навигация