Методы деконволюции изображений

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Начал писать черновик отчета)
(Добавил примерный алгоритм)
Строка 63: Строка 63:
\mathcal{N} (\partial_y L_i - \partial_y I_i|0, \sigma_1);
\mathcal{N} (\partial_y L_i - \partial_y I_i|0, \sigma_1);
</tex>
</tex>
 +
Здесь за <tex>\Omega</tex> обозначены точки
Здесь за <tex>\Omega</tex> обозначены точки
изображения с локальной дисперсией менее некоторой константы.
изображения с локальной дисперсией менее некоторой константы.
Строка 80: Строка 81:
+ \| \mathbf{f}\|_1;
+ \| \mathbf{f}\|_1;
</tex>
</tex>
 +
 +
 +
 +
== Алгоритм ==
 +
'''Вход''': <tex>\mathbf{I}</tex> — размытое изображение; <tex>\mathbf{f}</tex> — начальное приближение ядра;
 +
 +
'''Выход''': <tex>\mathbf{L}</tex> — искомое четкое изображение; <tex>\mathbf{f}</tex> — исходное ядро размытия;
 +
 +
<tex>\mathbf{L}</tex> <= <tex>\mathbf{I}</tex>; // инициализация скрытого изображения наблюдаемым;
 +
 +
оптимизация <tex>\mathbf{L}</tex> и <tex>\mathbf{f}</tex>:
 +
 +
'''повторять'''
 +
 +
оптимизация <tex>\mathbf{L}</tex>:
 +
 +
'''повторять'''
 +
 +
Обновить <tex>\mathbf{\Psi}</tex>, минимизируя (2);
 +
 +
Вычислить <tex>\mathbf{L}</tex> согласно (3);
 +
 +
'''пока''' <tex>||\Delta \mathbf{L}||_2 < 1 \prod 10^{-5}</tex> и <tex>||\Delta \mathbf{Psi}||_2 < 1 \prod 10^{-5}</tex>;
 +
 +
Обновить <tex>\mathbf{f}</tex>, минимизируя (4);
 +
 +
'''пока''' <tex>||\Delta \mathbf{f}||_2 < 1 \prod 10^{-5}</tex> или максимальное число итераций завершено;
 +
 +
Тут мы видим два итерационных процесса внутренний, чередование вычисления
 +
<tex>\mathbf{\Psi}</tex> и <tex>\mathbf{L}</tex>, и внешний, вычисление очередного приближения скрытой
 +
картинки <tex>\mathbf{L}</tex>
 +
и на его основе уточнение ядра <tex>\mathbf{f}</tex>.

Версия 20:38, 16 марта 2011

Содержание

Проблема смазанных изображений

Причинами смазанности могут выступать различные факторы:

1) Движение камеры в процессе съемки изображения;

2) Cъемка на длинной выдержке, когдасцена сама претерпевает изменения;

3) Расфокусированность оптики;

4) Использование широкоугольных объективов;

5) Атмосферная турбулентность;

6) Съемка на короткой выдержка, что не позволяет захватить достаточно фотонов;

7) Рассеянние света в конфокальной микроскопии;

Общепринятая модель размытия - свертка


\mathbf{I} = \mathbf{L} \otimes \mathbf{f} + \mathbf{n};

Решение в виде максимизации правдоподобия


p(\mathbf{L}, \mathbf{f} | \mathbf{I}) \propto p(\mathbf{I}|\mathbf{L}, \mathbf{f})
p(\mathbf{L})p(\mathbf{f});


p(\mathbf{I}|\mathbf{L}, \mathbf{f}) =
\prod\limits_{\partial^{*} \in \Theta}
\prod_i
\mathcal{N}(\partial^{*} n_i| 0, \zeta_{\kappa(\partial^{*})}) =
\prod\limits_{\partial^{*} \in \Theta} \prod_i
\mathcal{N}(\partial^{*} I_i| \partial^{*} I_i^{c}, \zeta_{\kappa(\partial^{*})});

\Theta — множество производных (\Theta = (\partial^{0}, \partial_{x},
\partial_{y}, \partial_{xx}, \partial_{xy}, \partial_{yy})), I_i^{c} — i-й пиксель изображения \mathbf{I^{c}} = \mathbf{L} \otimes \mathbf{f}.

Ищем разреженное ядро:


p(\mathbf{f}) = \prod_j e^{-\tau f_j};

Здесь \tau - параметр скорости [движения камеры].

Разложим правдоподобие в произведение локальной и глобальной компонент:


p(\mathbf{L}) = p_g(\mathbf{L})p_l(\mathbf{L});



p_l(\mathbf{L}) = \prod_{i \in \Omega} \mathcal{N} (
\partial_x L_i - \partial_x I_i|0, \sigma_1)
\mathcal{N} (\partial_y L_i - \partial_y I_i|0, \sigma_1);

Здесь за \Omega обозначены точки изображения с локальной дисперсией менее некоторой константы.


E(\mathbf{L}, \mathbf{f}) = -\log p(\mathbf{L}, \mathbf{f}|\mathbf{I});


E(\mathbf{L}, \mathbf{f}) \propto \biggl( \sum\limits_{\partial^{*} \in \Omega}
w_{\kappa(\partial^{*})} \|\partial^{*}\mathbf{L} \otimes \mathbf{f} -
\partial^{*}\mathbf{I} \|_2^2\biggr) +
\lambda_1 \| \Phi (\partial_x \mathbf{L}) + \Phi (\partial_y \mathbf{L})\|_1 + \\
+ \lambda_2 \Bigl( \| \partial_x \mathbf{L} - \partial_x \mathbf{I}\|_2^2
\circ \mathbf{M} + \| \partial_y \mathbf{L} - \partial_y \mathbf{I}\|_2^2 \circ \mathbf{M}
\Bigr)
+ \| \mathbf{f}\|_1;


Алгоритм

Вход: \mathbf{I} — размытое изображение; \mathbf{f} — начальное приближение ядра;

Выход: \mathbf{L} — искомое четкое изображение; \mathbf{f} — исходное ядро размытия;

\mathbf{L} <= \mathbf{I}; // инициализация скрытого изображения наблюдаемым;

оптимизация \mathbf{L} и \mathbf{f}:

повторять

оптимизация \mathbf{L}:

повторять

Обновить \mathbf{\Psi}, минимизируя (2);

Вычислить \mathbf{L} согласно (3);

пока ||\Delta \mathbf{L}||_2 < 1 \prod 10^{-5} и ||\Delta \mathbf{Psi}||_2 < 1 \prod 10^{-5};

Обновить \mathbf{f}, минимизируя (4);

пока ||\Delta \mathbf{f}||_2 < 1 \prod 10^{-5} или максимальное число итераций завершено;

Тут мы видим два итерационных процесса внутренний, чередование вычисления \mathbf{\Psi} и \mathbf{L}, и внешний, вычисление очередного приближения скрытой картинки \mathbf{L} и на его основе уточнение ядра \mathbf{f}.