DnCNN Model

๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ VGG ๋„คํŠธ์›Œํฌ๋ฅผ image denoising์— ๋งž๊ฒŒ ๋ณ€ํ™˜ํ•˜๊ณ , ๊นŠ์ด์™€ patch size๋ฅผ ์ ์ ˆํžˆ ๋ฐ”๊พผ๋‹ค. ํ•™์Šต์—๋Š” residual leraning์„ ์‚ฌ์šฉํ•˜๊ณ , batch normalization๋„ ์‚ฌ์šฉํ•œ๋‹ค.

Network Formulation

Depth

Filter size๋Š” 3x3 ์œผ๋กœ ํ•˜๊ณ , receptive field์˜ ํฌ๊ธฐ๋Š” ๋„คํŠธ์›Œํฌ์˜ ๊นŠ์ด dd์— ๋Œ€ํ•ด (2d+1)ร—(2d+1)(2d+1)\times(2d+1)์ด๋‹ค. ์ ์ ˆํ•œ ๊นŠ์ด๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์ด๊ธฐ๋„ ํ•œ๋‹ค. Noise Level ฯƒ=25\sigma=25์—์„œ ๊ธฐ์กด์˜ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ์€ 36~361์˜ ๋‹ค์–‘ํ•œ patch size๋ฅผ ๊ฐ€์ง„๋‹ค.

CNN์˜ receptive field๋ž€ ์ถœ๋ ฅ ๋…ธ๋“œ ํ•˜๋‚˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ž…๋ ฅ ๋…ธ๋“œ์˜ ํฌ๊ธฐ์ด๋‹ค. 3x3์˜ conv layer๋ฅผ ํ•œ ๋ฒˆ ์ง€๋‚  ๋•Œ๋งˆ๋‹ค ๋„ˆ๋น„ ํ”ฝ์…€ ์ˆ˜๋Š” -2๊ฐ€ ๋˜๋ฏ€๋กœ(-3+1), ์ตœ์ข…์ ์œผ๋กœ 1ํ”ฝ์…€์ด ๋‚จ๊ธฐ ์œ„ํ•ด์„œ receptive field์˜ ๋„ˆ๋น„ ํ”ฝ์…€ ์ˆ˜๋Š” 2d+1์ด๋‹ค.

Denoising์—๋Š” d=17์ด์ง€๋งŒ ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•ด d=20์„ ์ ์šฉํ–ˆ๋‹ค.

Loss Function

DnCNN์€ ๋…ธ์ด์ฆˆ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€์—์„œ ๋…ธ์ด์ฆˆ์˜ ํ˜•ํƒœ๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค. R(y)โ‰ˆv\mathcal{R}(\mathbf{y})\approx \mathbf{v} ์—์„œ x=yโˆ’R(y)\mathbf{x=y-}\mathcal{R}(\mathbf y) ๊ฐ€ ๋…ธ์ด์ฆˆ ์—†๋Š” ์ด๋ฏธ์ง€์ด๋‹ค. ๋”ฐ๋ผ์„œ loss function์€

l(ฮ˜)=12Nโˆ‘i=1NโˆฅR(yi;ฮ˜)โˆ’(yiโˆ’xi)โˆฅ2l(\mathbf \Theta)={1\over2N}\sum_{i=1}^{N}\| \mathcal R(\mathbf y _i;\mathbf \Theta)-(\mathbf{y}_i-\mathbf{x}_i)\|^2

์ด๋ฉฐ, ์‹ค์ œ residual noise์— ๋Œ€ํ•œ ์˜ˆ์ธก๋œ noise์˜ MSE๋‹ค.

Architecture

Layer #ConstructionIn/out channel

1

Conv+ReLU

c / 64

2~d-1

Conv+BN+ReLU

64 / 64

d

Conv

64 / c

๋ชจ๋“  kernel์˜ ํฌ๊ธฐ๋Š” 1 channel๋‹น 3x3์ด๋‹ค.

์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ํฌ๊ธฐ๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งž์ถ”๊ธฐ ์œ„ํ•ด, ์ž…๋ ฅ ์‹œ Zero paddingํ•œ๋‹ค. ์ด๋กœ์จ ์ด๋ฏธ์ง€ ๊ฒฝ๊ณ„์— ์žˆ๋Š” ํ—ˆ์ ์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค.

Batch Normalization + Residual Learning

๋ถ„๋ช… Fig. 1์˜ architecture๋Š” residual learning์œผ๋กœ์จ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋…ธ์ด์ฆˆ๊ฐ€ ์—†๋Š” ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ๋…ผ๋ฌธ์— ๋”ฐ๋ฅด๋ฉด mapping์ด identity ์— ๊ฐ€๊น๋‹ค๋ฉด ๊ทธ ์ฐจ์ด(residual)์„ ์ค„์ด๋Š” ๊ฒƒ์ด ์ตœ์ ํ™”ํ•˜๊ธฐ ๋” ์‰ฝ๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค. ๋…ธ์ด์ฆˆ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์€ ์ด๋ฏธ์ง€์˜ ํŠน์ •์„ ๋Œ€๋ถ€๋ถ„ ๋ณด์กดํ•œ ์ฑ„ ๋…ธ์ด์ฆˆ๋งŒ ์—†์• ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ identity mapping์— ๊ฐ€๊นŒ์šฐ๋ฉฐ, residual learning์ด ๋” ํšจ๊ณผ์ ์ด๋ผ๋Š” ์˜ˆ์ธก์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

SGD์—์„œ BN์„ ์ ์šฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด ์ž˜ ์ตœ์ ํ™”๋˜์ง€ ์•Š๋Š” ๋ฐ˜๋ฉด, Adam์—์„œ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์•„ BN์ด ์ตœ์ ํ™”์— ๋„์›€์„ ์ค€ ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๊ณ , BN์„ ์ ์šฉํ–ˆ์„ ๋•Œ ๋ชจ๋‘ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์•„ BN์ด ์•ˆ์ •์ ์ธ ์ตœ์ ํ™”์— ๋„์›€์„ ์ค€๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํŠนํžˆ, ์ถœ๋ ฅํ•  ๋…ธ์ด์ฆˆ๋Š” Gaussian noise์ด๋ฏ€๋กœ Gaussian distribution(์ •๊ทœ๋ถ„ํฌ)์™€ ๊นŠ์€ ์—ฐ๊ด€์ด ์žˆ๋‹ค. BN์€ layer ์‚ฌ์ด์‚ฌ์ด์—์„œ ๋ชจ๋“  layer์˜ ์ž…๋ ฅ์ด unit gaussian distribution์ด ๋˜๋„๋ก ํ•˜๋Š” ๊ณผ์ •์ด๋ฏ€๋กœ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค(๋ชจ๋“  layer์—์„œ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์ถœ๋ ฅ์ด unit gaussian์ž„)

Connection With TNRD

DnCNN์€ one-stage TNRD์˜ ์ผ๋ฐ˜ํ™”๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. TNRD๋Š” ๋‹ค์Œ์„ ์ตœ์ ํ™”ํ•˜๋Š” discriminitave ๋ฌธ์ œ์ด๋‹ค.

minโกxฮจ(yโˆ’x)+ฮปโˆ‘k=1Kโˆ‘p=1Nฯk((fkโˆ—x)p)\min_{\mathbf{x}}\Psi({\bf {y-x}}) +\lambda\sum_{k=1}^{K}\sum_{p=1}^N\rho_k((\mathbf f_k*\mathbf x)_p)

ฮป\lambda๋Š” regularization, NN์€ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ, fk\mathbf f_k๋Š” k๋ฒˆ์งธ ์ปจ๋ณผ๋ฃจ์…˜ ์ปค๋„์ด๋ฉฐ, hokho_k๋Š” ์กฐ์ • ๊ฐ€๋Šฅํ•œ k๋ฒˆ์งธ ํŒจ๋„ํ‹ฐ ํ•จ์ˆ˜์ด๋‹ค. Gaussian denoising์—์„  ฮจ(z)=12โˆฅzโˆฅ2\Psi({\bf {z}})=\frac12\|\mathbf z\|^2๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์‹์— ๋Œ€ํ•œ ์ฒซ๋ฒˆ์งธ gradient descent inference ์‹์€

x1=yโˆ’ฮฑฮปโˆ‘k=1K(fห‰kโˆ—ฯ•k(fkโˆ—y))โˆ’ฮฑโˆ‚ฮจ(z)โˆ‚zโˆฃz=0\mathbf x_1=\mathbf y-\alpha\lambda\sum_{k=1}^{K}(\mathbf{\bar{f}}_k*\phi_k(\mathbf f_k*\mathbf y) )-\alpha \frac {\partial\Psi(\mathbf z)}{\partial \mathbf z}\biggr\rvert_{\mathbf{z=0}}

๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ํ•ญ์€ 0์ด๋ฏ€๋กœ,

v1=yโˆ’x1=ฮฑฮปโˆ‘k=1K(fห‰kโˆ—ฯ•k(fkโˆ—y))\mathbf v_1=\mathbf y-\mathbf x_1=\alpha\lambda\sum_{k=1}^{K}(\mathbf{\bar{f}}_k*\phi_k(\mathbf f_k*\mathbf y) )

y์— ๋Œ€ํ•œ x์˜ residual์„ gradient descent๋กœ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„ ์‹์€ 2 layer์˜ CNN๊ณผ ์‹ค์งˆ์ ์œผ๋กœ ๊ฐ™๋‹ค. ์—ฌ๊ธฐ์„œ ฯ•k\phi_k๋ฅผ ReLU๋กœ ๋ฐ”๊พธ๊ณ  ๊นŠ์ด๋ฅผ ๋Š˜๋ฆฌ๊ณ  batch normalization์„ ์‚ฌ์šฉํ•˜๋ฉด DnCNN์ด๋‹ค. ์œ„ ์‹์€ ๋…ธ์ด์ฆˆ ๋ ˆ๋ฒจ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†๋‹ค. ์ž„์˜์˜ ๋ ˆ๋ฒจ์— ๋Œ€ํ•ด์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

โˆ‚ฮจ(z)โˆ‚zโˆฃz=0\frac {\partial\Psi(\mathbf z)}{\partial \mathbf z}\biggr\rvert_{\mathbf{z=0}}

Gaussian distribution์ผ๋•Œ ์œ„ ์‹์€ 0์ด์ง€๋งŒ, ๋‹ค๋ฅธ ๋ถ„ํฌ์—์„œ๋„ 0์ผ ์ˆ˜ ์žˆ๋‹ค. ๋งค์šฐ ๋งŽ์€ ๋ถ„ํฌ๊ฐ€ 0๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๊ฐ€๊นŒ์šด ๊ธฐ์šธ๊ธฐ๋ฅผ ๋ณด์ธ๋‹ค. ๋”ฐ๋ผ์„œ SISR, JPEG ์••์ถ•์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated