I-032 Acceleration of Adaptive Bilateral Filter base on Spatial Decomposition and Symmetry of Weights 1. Taiki Makishi Chikatoshi Yamada Shuichi Ichikawa Gaussian Filter GF GF Bilateral Filter BF CG [1] BF GF [2] MRI Magnetic Resonance Imaging system CT Coputed Tomography BF BF PSNR BF Adaptive Bilateral Filter ABF ABF GF GF BF BF [3] ABF BF ABF [4] [5] 2 ABF ABF ABF GPU CPU GPU Graphics Processing Unit 2. 2.1. BF bi lateral f(i, j) b(i, j) BF (1) b(i, j) = f(i + x, j + y)w (i, j : x, y) W (i, j : x, y) W (i, j : x, y) = e α x2 +y 2 e β f(i,j)2 f(i+x,j+y) 2 (1) (1) exp( α(x 2 + y 2 )) GF BF GF BF [1] (1) (2) (3) α β 2 (4) (5) GF GF 311
2.2. ABF BF ABF b(i, j) f(i, j) BF b(i, j) BF GF GF g(i, j) 2 g(i, j) = f(i + x, j + y)e ˆα x2 +y 2 e ˆα x2 +y 2 (2) 3: BF 4: ABF 1 4 130432 130688[pixel] 5 8 GF ˆα q (W (i, j : x, y) e ˆα x2 +y 2 ) = 0 (3) x= q BF GF ˆα ABF b (i,j) 4 5: b (i,j) = { f(i, j) b(i, j) [b(i, j) f(i, j)][g(i, j) f(i, j)] < 0 otherwise (4) (4) BF GF BF b(i, j) f(i, j) [3] 512*512[pixel] 5 ABF BF 1 2 BF ABF 3 4 6: 1: 2: 7: BF 7 8 130516[pixel] 5 BF ABF 312
3. 3.1. 1 ω α (x, y) = exp( α x 2 + y 2 ) ω α (x, y) = e αx2 e βy2 (5) 8: ABF ω β (f(i, j), f(i+x, j+ y)) = exp( β f(i, j) + f(i + x.j + y) 2 ) BF 3 Unsharp Masking: UM 9 130432 130688[pixel] 10 e β f(i,j) f(i+x,j+y) 2 = e β(d2 i,j(x) D 2 i+x,y(y) 2D i,j (x)d i+x,y (y)) D i,j (x) = f(i, j) f(i + x, j) D i+x,j (y) = f(i + x, y) f(i + x, j + y) (6) exp( 2βD i,j (x)d i+x,y (y)) 9: BF UM e β f(i,j) f(i+x,j+y) 2 = (7) e β(d2 i,j(x) D 2 i+x,y(y)) 2βD i,j (x)e βd2i,j(x) D i+x,y (y)e βd2 i+x,y(y) +2β 2 D 2 i,j(x)e βd2i,j(x) D 2 i+x,y(y)e βd2 i+x,y(y) + (8) x y (1) b i,j = s i,j t i,j (8) 10: BF 130516[pixel] BF s i,j = t i,j = f(i + x, j + y) (9) W (i, j : x, y) W (i, j : x, y) (10) 9 10 11 12 (8) y x 313
s i,j = q x= q e αx2 β(f(i,j) f(i+x,j)) 2 (11) (g i+x,j 2βD i,j (x)g i+x,j ) q t i,j = e αx2 β(f(i,j) f(i+x,j)) 2 (12) x= q (h i+x,j 2βD i,j (x)h i+x,j ) g i,j G i,j h i,j H i,j 13 16 g i,j = e αy2 β(f(i,j) f(i,j+y)) 2 (13) f(i, j + y) G i,j = e αy2 β(f(i,j) f(i,j+y)) 2 (14) h i,j = H i,j = (f(i, j) f(i, j + y))f(i, j + y) e αy2 β(f(i,j) f(i,j+y)) 2 (15) e αy2 β(f(i,j) f(i,j+y)) 2 (16) (f(i, j) f(i, j + y)) ABF GF BF GF 17 Step 2) Step 1 s i,j t i,j S i,j T i,j [4] 3.2. (1) N f(i, j) f(i N, j N) f(i + N, j + N) f(i, j) f(i + x, j + y) f(i + 1 N, j + 1 N) f(i + 1 + N, j + 1 + N) f(i, j) f(i + 1 N, j + 1 N) f(i, j) [5] 4. 1 1: C/C++ Visual Strudio 2010 OpenCV 2.4.3/CUDA 5.0 OS CPU GPU RAM Windows 7 64bit Core i7 2640M 2.8GHz Geforce GTX295 DDR3 8GB S i,j = T i,j = g i,j = S i,j T i,j (17) x= ω x= ω e αx2 P i+x,j (18) e αx2 Q i+x,j (19) ABF α β α = 0.0002 β = 0.00005 2 16*16 512*512[pixel] lena ABF CPU 11 P i,j Q i,j 20 21 P i,j = Q i,j = e αy2 f(i, j + y) (20) y= ω y= ω e αy2 (21) Step 1) g i,j G i,j h i,j H i,j P i,j Q i,j 11: 314
16*16 64*64 CPU GPU 512*512[pixel] 6.15[s] 0.48[s] 1/12 PSNR PSNR 30dB 16*16 4096*4096[pixel] ABF CPU GPU 12 13: CT 14: 12: CPU GPU 4096*4096[pixel] GPU 4.44[s] GPU 0.84[s] GPU CPU 1/5 16*16 512*512[pixel] GPU CPU GPU CPU CPU GPU CPU CT 13 CT 14 BF 15 ABF 16 15: BF 16: ABF 14 15 16 15 16 15 16 15 16 315
17 18 17: BF 1/12 PSNR 30dB ABF GPU CPU 1/5 CPU GPU 1 CPU GPGPU FPGA JSPS 25871048 CT 18: ABF 17 18 17 18 17 5. GF GF BF CG BF GF [2] BF ABF ABF BF ABF ABF [1] 8 62(8) pp1268-1273 2008 [2], 54, p.28 2010 [3] Vol J93-D No. 1 pp.68-70 2010 [4], Vol J89-A No. 7 pp.643-645 2006 [5],, Vol J93-D. No. 2 p.148-150 2010 316