Изменения

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

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

544 байта добавлено, 21:10, 21 января 2021
табличка с коэффициентами
==Нейронный перенос стиля==
{{main|Neural Style Transfer}}
Прежде чем переходить к гармонизации картин, рассмотрим задачу нейронного переноса стиля с изображения $S$ на изображение $I$. Для этого используются выходы скрытых слоёв [[Сверточные нейронные сети | свёрточной нейронной сети]] VGG-19<ref name="SZ14">[https://arxiv.org/pdf/1409.1556.pdf Very Deep Convolutional Networks for Large-Scale Image Recognition] Karen Simonyan, Andrew Zisserman (2014)</ref> (конкретные слои будут указаны нижев деталях реализации).
Основная идея генерации изображения {{---}} решение оптимизационной задачи $\mathcal{L}(I, S, O) \xrightarrow[O]{} min$, где $O$ {{---}} итоговое изображение, $\mathcal{L}(I, S, O)$ {{---}} [[Функция потерь и эмпирический риск | функция потерь]]. Такую задачу можно решать градиентным спуском в пространстве изображений используя [[обратное распространение ошибки | метод обратного распространения ошибки]].
# С помощью алгоритма PatchMatch<ref name="BSFG09">https://www.researchgate.net/profile/Eli_Shechtman/publication/220184392_PatchMatch_A_Randomized_Correspondence_Algorithm_for_Structural_Image_Editing/links/02e7e520897b12bf0f000000.pdf Connelly Barnes, Eli Shechtman, Adam Finkelstein, Dan B Goldman (2009)</ref> и того же Guided filter делаем так, чтобы все патчи выходного изображения присутсвовали в стилевом (чтобы не было новых объектов или структур).
===Подбор гиперпараметровДетали реализации===
[[Файл:LPSB18_Figure_4.png|400px|thumb|right|Рис. $6$: Влияние $l_{ref}$ на результат<ref name="WRB17"/>]]
|}
<!--
{| class="wikitable"
|+ Веса функций потерь
|-
! $w_{style}$
! $w_{hist}$
! $w_{tv}$
|-
| $\tau$
| $\tau$
| $\tau\frac{10}{1 + \exp(10^4 * noise(S) - 25)}$
|}
-->
Введём гиперпараметр $\tau$ и возьмём $w_{style} = w_{hist} = \tau$, $w_{tv} = \tau\frac{10}{1 + \exp(10^4 * noise(S) - 25)}$, где $noise(S) = \underset{i,j}{\mathrm{med}}\left\{\left(O^l_{i, j} - O^l_{i-1, j}\right)^2 + \left(O^l_{i, j} - O^l_{i, j-1}\right)^2\right\}$<ref>[https://github.com/luanfujun/deep-painterly-harmonization/blob/a33a9a70366b6baff1cc0291f857b5895b271fc1/neural_paint.lua#L470 код функции $noise$.</ref>.
</font>
Примеры с [https://github.com/owenzlz/DeepImageBlending/tree/master/results гитхаба авторов]:
{|
===Детали реализации===
В статье использовались следующие значения коэффициентов:
{| class="wikitable"
| $10^{-6}$
|}
 <!--Для подсчета $\mathcal{L}_{style}$ используются слои conv1_2, conv2_2, conv3_3, conv4_3 $VGG$-19, для $\mathcal{L}_{content}$ {{---}} conv2_2.-->{| class="wikitable"|+ Коэффициенты $\alpha$ и $\beta$|-! Параметр ! conv1_2 ! conv2_2! conv3_3! conv4_3 |-! $\alpha$ | $0$| $1$| $0$| $0$|-! $\beta$| $1/4$| $1/4$| $1/4$| $1/4$|}
На обоих этапах максимальное количество итераций алгоритма L-BFGS {{---}} $1000$.
=== Примеры ===
Примеры с [https://github.com/owenzlz/DeepImageBlending/tree/master/results гитхаба авторов]: 
[[Файл:МЛ блендинг пример.png|1000px]]
58
правок

Навигация