2.3 スパースコーディング



図 4: ブロック分割
\scalebox{0.6}{\includegraphics{image/sparse/KL.eps}}




白色LEDと近紫外LEDを光源として撮影したそれぞれの画像に対し,RGB成分ごとにスパースコーディングを用いたテクスチャ構造の低減処理を行う.まず,白色LEDを光源として撮影した画像{ $ x^{wh}[m,n]$}を図4に示すように, $ \frac{M}{K}$$ \times$ $ \frac{N}{L}$画素ごとにK$ \times$L個のブロックに分割する.この際,$ k$,$ l$番目のブロックの各画素を $ x^{wh}_{k,l}[i,j]$と表す.スパースコーディングでは,$ P$個のスパース(疎)な係数$ a_p[k,l]$と画像の局所的な特徴を表す基底 $ \phi_p[i,j]$を用いて各画素 $ x^{wh}_{k,l}[i,j]$を次式で近似する.


$\displaystyle \hat{x}^{wh}_{k,l}[i,j]$ $\displaystyle =$ $\displaystyle \sum_{p=0}^{P-1}a_p[k,l]\phi_p[i,j]$ (13)

本手法では,係数$ a_p[k,l]$と基底 $ \phi_p[i,j]$を,次式に示す評価関数$ J$の極小値を最急勾配法により探索することで求める.


$\displaystyle J(\{\phi_p[i,j]\},\{a_p[k,l]\})$ $\displaystyle =$ $\displaystyle \frac{1}{KL}\sum_{k=0}^{K-1}\sum_{l=0}^{L-1} \Biggl[\frac{KL}{MN}\sum_{i=0}^{M/K-1}\sum_{j=0}^{N/L-1} \Biggl\{$   $\displaystyle \mbox{\boldmath$x$}$$\displaystyle ^{wh}_{k,l}[i,j]$  
    $\displaystyle -\sum_{p=0}^{P-1}a_p[k,l]\phi_p[i,j] \Biggr\} ^2+\lambda\frac{1}{P}\sum_{p=0}^{P-1}\vert a_p[k,l]\vert \Biggr]$ (14)

ここで,$ \lambda$は,近似二乗誤差を表している第1項に対して,係数$ a_p[k,l]$のスパース性の条件を表している第2項の重みを決定するパラメータである.係数$ a_p[k,l]$と基底 $ \phi_p[i,j]$は,以下のアルゴリズムにより反復的に求める.

  1. $ \phi_p[i,j]$の初期値を乱数により決定する.
  2. $ a_p[k,l]$の初期値を, $ \displaystyle{\sum_{i,j}}x_{k,l}^{wh}[i,j]\phi_p[i,j]$により決定する.
  3. $ a_p[k,l]$について勾配 $ \frac{\partial J}{\partial a_p[k,l]}$を算出する.
  4. $ a_p[k,l]$についての更新係数 $ \epsilon_1$を求める
    $ \epsilon_1 = {\rm arg min}J\left(\{\phi_p[i,j]\},\biggl\{a_p[k,l]-\epsilon_1\frac{\partial J}{\partial a_p[k,l]}\biggr\} \right)$
  5. $ a_p[k,l]\gets a_p[k,l] - \epsilon_1\frac{\partial J}{\partial a_p[k,l]}$
  6. $ \phi_p[i,j]$について勾配 $ \frac{\partial J}{\partial \phi_p[i,j]}$を算出する.
  7. $ \phi_p[i,j]$についての更新係数 $ \epsilon_2$を求める
    $ \epsilon_2 = {\rm arg min}J\left(\biggl\{\phi_p[i,j]-\epsilon_2\frac{\partial J}{\partial \phi_p[i,j]}\biggr\},\{a_p[k,l]\} \right)$
  8. $ \phi_p[i,j]\gets \phi_p[i,j]-\epsilon_2 \frac{\partial J}{\partial \phi_p[i,j]}$
  9. $ J$が収束していなければ,3.に戻る.

つぎに,求めた係数$ a_p[k,l]$と基底 $ \phi_p[i,j]$を用いて式(13)により $ \hat{x}_{k.l}^{wh}[i,j]$を求め,次式により近似誤差 $ \tilde{x}_{k,l}^{wh}[i,j]$を得る.


$\displaystyle \tilde{x}^{wh}_{k,l}[i,j]$ $\displaystyle =$ $\displaystyle x^{wh}_{k,l}[i,j] - \hat{x}^{wh}_{k,l}[i,j]$ (15)

近紫外LEDを光源として撮影した画像{ $ x^{bl}[m,n]$}に対しても同様の処理を行う.