LoginSignup
14
12

More than 5 years have passed since last update.

画像のボケ除去

Last updated at Posted at 2016-11-12

スパースモデリング第10章の画像のボケ除去:実践例を実装した。GitHub上のJupyter notebookへのリンク

結果

画像をぼかして雑音を加えた。反復縮小法でボケ補正した。

画像サイズ:$256 \times 256$
ボケカーネル:$\frac{1}{i^{2}+j^{2}+1} (-7\leq i,j \leq 7)$)
雑音レベル:$\sigma^{2}=2$

deblurring.png

SSFはアルゴリズム名。SSF-LSは直線探索を追加、SSF-SESOP-5は逐次部分空間最適化(5個前までの勾配を用いる)を追加したもの。数字はピーク信号対雑音比(PSNR; peak signal to noise ratio)[db]。

アルゴリズム

分割可能代理汎関数(SSF; separable surrogate functional)

$$ \mathbf{x_{\rm{k+1}}} = S_{\rho, \lambda / c} (\mathbf{x_\rm{k}} + \frac{1}{c}\mathbf{A^{\rm{T}}}\mathbf{H^{\rm{T}}}(\mathbf{\tilde{y}}-\mathbf{H}\mathbf{A}\mathbf{x_{\rm{k}}})$$

$\mathbf{H}$はボケカーネル。$\mathbf{A^{T}}$はレベル2(非縮小)ウェーブレット変換。$\mathbf{\tilde{y}}$はボケ画像。$\mathbf{x}$はウェーブレット係数。$S_{\rho, \lambda / c}$は縮小の演算子。$c$は規格化定数($c=1$)。

レベル2(非縮小)ウェーブレット変換の例

wavelet.png

縮小

L1ノルムをなめらかにした$\rho(x)=|x|+s\log(1+|x|/s)$で$x$の大きさを測ると(s=0.01とする)、$S_{\rho, \lambda / c}$は解析的に求まる。ラグランジュ乗数$\lambda=0.075$とした。
$$ x_{opt}=\frac{(x_{0} - s - \lambda )+\sqrt{(s+\lambda-x_{0})^{2}+4 s x_{0}}}{2} $$

参考

Michael Elad 著、玉木 徹 訳、スパースモデリング、共立出版、第10章

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12