重み計算の削減に基づくバイラテルフィタ高速化・・・7

大分工業高等専門学校紀要
第 51 号
(平成 26 年 11 月)
重み計算の削減に基づくバイラテラルフィルタの高速化
平岡
透1・和田
佳樹2
1情報工学科,2制御情報工学科
画像のエッジを保存してスムージングを行うバイラテラルフィルタが近年注目されているが,バイラ
テラルフィルタには計算に多くの時間を要するという欠点がある.そこで,バイラテラルフィルタの重
みをあらかじめ計算しておくことで,誤差を生じずにバイラテラルフィルタの計算を高速化できる方法
を提案する.レナの画像を用いた実験を通して,提案法はバイラテラルフィルタの計算を約7倍に高速化
できることを示す.
キーワード : バイラテラルフィルタ,高速化,重み計算
1.はじめに
2.方法
画像のエッジを保存してスムージングを行うバイラテ
ラルフィルタ
1)
が近年注目されるようになり,画像処理
本章では,まずバイラテラルフィルタを概説し,その後
提案法を説明する.
や空間情報処理,コンピュータグラフィックスなどの多く
の分野で利用されている 2)3).しかし,バイラテラルフィ
(1) バイラテラルフィルタ
ルタは,計算に多くの時間を要するという欠点がある.こ
256 階調で I × J 画素で輝度値が N 階調の画像における
のため,誤差を生じないバイラテラルフィルタの高速化と
空間座標 (i, j ) での入力画素値を d i , j とし,座標 (i, j ) での
して,バイラテラルフィルタの重みの対称性に基づいてバ
出力画素値を f i , j とすると,バイラテラルフィルタでは
イラテラルフィルタの計算を約 2 倍に高速化できる方法
(以下,従来法)4)が提案されている.
f i, j を
i W
本稿では,バイラテラルフィルタの重みをあらかじめ計
算しておくことで,誤差を生じずにバイラテラルフィルタ
fi, j 
の計算を2倍以上に高速化できる方法を提案する.提案法
 (( i  k ) 2  ( j l ) 2   ( d i , j  d k ,l ) 2 )
k i W l  j W
j W
i W
の有効性を検証するために,図-1に示すレナの画像を用い
た実験を行う.
j W
 e
 e
d k ,l
 (( i  k ) 2  ( j l ) 2   ( d i , j  d k ,l ) 2 )
(1)
k i W l  j W
で計算する.ここで,  と  は正定数, W はウィンドウ
サイズである.  は座標 (i, j ) からの距離の影響を調節す
るパラメータであり,  の値が大きいほど座標 (i, j ) から
離れている画素の影響を受けにくくなる.  は座標 (i, j )
の画素値 d i , j との差の絶対値の影響を調整するパラメー
タであり, の値が大きいほど画素値 d i , j との差の絶対値
の大きい画素の影響を受けにくくなる. W の値が大きい
ほど,計算時間は大きくなる.以下の実験では,  0.01 ,
  0.01 とした.
(2) 提案法
提案法は,階調数 N とウィンドウサイズ W のすべての
組合せにおいて,式(1)の exp 関数部(以下,重み)をあら
図-1 レナの画像
かじめ計算しておき,式(1)の計算における重みの計算を削
減することでバイラテラルフィルタの高速化を実現する.
―7―
大分工業高等専門学校紀要
第 51 号
(平成 26 年 11 月)
提案法の手順を以下に示す.
表-1 バイラテラルフィルタの計算時間 [s]
Step1: M × M の大きさの N 個の行列を作成し, n 番
I ×J
目の行列の s 行 t 列目の要素の値を g s ,t , n とする.
ここで, M  W  1 であり,s と t は 0 から W ま
での整数である.この行列の要素の値 g s ,t , n を
g s ,t ,n  e  ( s
2
W
 t 2 )  n 2
1,024×1,024
256×256
512×512
768×768
5
0.579
2.246
5.037
8.909
10
2.006
8.160
18.397
32.729
15
4.292
17.645
40.002
71.339
20
7.343
30.511
69.406
124.028
で計算する.このとき,この行列は対称行列とな
る ので, s  t の 場合 に s 行 t 列 目の要 素の値
表-2 提案法による計算時間 [s]
g s ,t , n を計算した際, t 行 s 列目の要素の値 g t , s , n
に g s ,t , n を代入することによって計算量を削減す
I ×J
る.
Step2:式(1)のバイラテラルフィルタを
i W
f i, j 
j W
 
k i W l  j W
i W
W
g i  k , i l , d
i , j  d k ,l
d k ,l
256×256
512×512
768×768
1,024×1,024
5
0.081
0.295
0.629
1.076
10
0.281
1.083
2.368
3.997
15
0.613
2.371
5.170
9.057
20
1.050
4.133
9.131
16.077
j W
 
k i W l  j W
g i  k , i l , d
i, j
表-3 提案法による計算時間の向上率
 d k ,l
I ×J
で計算する.
2
式(1)による重みの計算回数は, IJ (2W  1) 回である.
提 案 法 に よ る 重 み の 計 算 回 数 は , 式 (2) に お い て
N (M  (M  1) / 2)  N (W 2 / 2  W  1) 回である.つま
り,提案法の高速化は,画像サイズ I × J が大きい場合,
ウィンドウサイズ W が小さい場合,また階調数 N が小さ
W
256×256
512×512
768×768
1,024×1,024
5
7.148
7.614
8.008
8.280
10
7.139
7.535
7.769
8.188
15
7.002
7.442
7.737
7.877
20
6.993
7.382
7.601
7.715
い場合において,より効果を発揮すると考えられる.
4.まとめ
3.実験
バイラテラルフィルタの重みをあらかじめ計算してお
くことで,誤差を生じずにバイラテラルフィルタの計算を
256 階調のレナの画像にバイラテラルフィルタと提案法
高速化できる方法を提案した.レナの画像を用いた実験を
を適用した.画像サイズ I × J を 256×256,512×512,
通して,提案法はバイラテラルフィルタの計算を約 7 倍に
768×768,
1,024×1,024 の 4 通り,
ウィンドウサイズ W を 5,
10,15,20 の 4 通り,合計 16 通りで実験を行った.バイ
高速化できることを示した.
ラテラルフィルタによる計算時間[s]を表-1,提案法による
参考文献
1) C. Tomasi and R. Manduchi: Bilateral Filtering for Gray and
計算時間[s]を表-2 に示す.表-1 と表-2 の計算時間は,10
回試行した平均値である.表-1 と表-2 の横方向が画像サイ
ズ I × J ,縦方向がウィンドウサイズ W である.また,バ
イラテラルフィルタによる計算時間を提案法による計算
Color Images, Proc. ICCV, pp. 839-846, 1998.
2) 浦浜喜一:画像の本質を引き出すバイラテラルフィル
時間で割った値(以下,計算時間の向上率)を表-3 に示す.
タによるノイズ除去とイラスト風画像の生成,映像情
報メディア学会誌,Vol.62,No.8,pp. 1268-1273,2008.
表-3 より,バイラテラルフィルタの計算を約 7 倍に高速化
3) 平岡透,碇正敬:バイラテラルフィルタを用いたレー
できることがわかった.つまり,バイラテラルフィルタの
ザプロファイラデータからの樹木抽出,写真測量とリ
計算を約 2 倍に高速化できる従来法よりも提案法は有効
モートセンシング,Vol.49,No.2,pp.103-108,2010.
な方法である.また,画像サイズ I × J が大きいほど,ウ
4) 井上光平,浦浜喜一:重みの対称性に基づくバイラテ
ィンドウサイズ W が小さいほど,提案法による高速化の
効果が大きくなることもわかった.
ラルフィルタの高速化,電子情報通信学会論文誌,Vol.
J93-D,No.2,pp.148-150,2010.
計算環境は,OSがWindows 7 Enterprise,メモリが4.0GB,
CPUが2.90GHz,使用言語はC言語である.
(2014.9.30受付)
―8―