2
倍精度境界実装による単精度 IIR フィルタの安定化 Boundary Processing in Double Precision for Stabilizing IIR Filter in Single Precision 渡邉 光一朗 Koichiro Watanabe 前田 慶博 Yoshihiro Maeda 福嶋 慶繁 Norishige Fukushima 1 はじめに ガウシアンフィルタは,さまざまな場所で使われる 基盤的なツールである.近年では,バイラテラルフィ ルタといったエッジ保存平滑化フィルタにも活用され 応用範囲が広がっている.そのため,ガウシアンフィ ルタの高速化・高精度化は重要な役割を果たす. リアルタイム O(1) バイラテラルフィルタ [1] は,バイ ラテラルフィルタの高速化手法の 1 つである.このフィ ルタは定数時間で実行可能だが,そのためには,IIR ウシアンフィルタを用いる必要がある.また,一般的 に,処理を高速に行うためには,倍精度よりも単精度 で実装することが望ましい.しかし,このフィルタを 単精度で実装すると,ノイズが発生する場合がある. 本稿では,単精度 IIR ガウシアンフィルタの境界処 理に対して,倍精度を用いることで,安定性を向上さ せ,これを用いたリアルタイム O(1) バイラテラルフィ ルタでノイズが減少することを確認した. 2 関連研究 2.1 リアルタイム O(1) バイラテラルフィルタ バイラテラルフィルタは,注目画素と周辺画素の空 間的な距離とレンジの差を基にフィルタ係数を決定す るフィルタである.入力画像を f : S→R,出力画像 ˜ f : S→R とし,S R はそれぞれ画像の空間領域 とレンジ領域とする.注目画素を p ∈S ,周辺画素の 集合を N (p) ⊂S とすると,バイラテラルフィルタは ˜ f (p)= q∈N(p) w s (p, q) w r ( f (p) , f (q) ) f (q) q∈N(p) w s (p, q) w r ( f (p) , f (q) ) (1) と定義される.ここで,w s w r は,それぞれ入力画素 間の空間領域 · レンジ領域における距離からガウス分 布に基づく重みを求める関数である. リアルタイム O(1) バイラテラルフィルタでは,取り うるレンジから {L 0 ,L 1 ··· ,L K-1 }∈R となるように K 個の値を間引き,注目画素のレンジが f (p)= L k ある時を考える.この時,w r q のみに依存する関数 であるため, g k (q)= w r (L k , f (q)) f (q) , h k (q)= w r (L k , f (q)) (2) 名古屋工業大学 大学院工学研究科 情報工学専攻 と置くことが出来る.この時の出力画像 ˜ f k (p) ˜ f k (p)= q∈N (p) w s (p, q) g k (q) q∈N (p) w s (p, q) h k (q) (3) となり,画像 g k , h k それぞれにガウシアンフィルタを かけ,除算した画像に等しくなる.このフィルタを定 数時間で実行するためには,IIR ガウシアンフィルタ を用いる必要がある. 注目画素のレンジが f (p) [L k ,L k+1 ] である時, ˜ f (p)=(L k+1 - f (p)) ˜ f k (p)+(f (p) - L k ) ˜ f k+1 (p) (4) で表される線形補間によって最終的な出力を求める. 2.2 IIR ガウシアンフィルタ IIR フィルタは,無限遠点で 0 でない値を返すイン パルス応答関数をもつフィルタである.しかし,無限 遠点を考慮した畳み込み演算は現実的でないため,差 分方程式を用いて,以下のように変形されたものが用 いられる. y n = N-1 i=0 a i x n-i - M j=1 b j y n-j (5) ここで,x n は入力信号,y n は出力信号,a i b j は, フィルタの係数,N M はフィルタの次数を表して いる.このフィルタ手法を用いたガウシアンフィルタ に,Deriche 形式 [2] や,Vliet-Young-Verbeek (VYV) 形式 [3] などがある.これらのフィルタには初期値が必 要であり,出力信号の初期値は,フィルタ次数に応じ た境界処理を行うことで求められる.IIR フィルタは, 初期値によっては不安定となるため,境界処理には十 分な精度が求められる. 2.2.1 Deriche 形式 入力画像に対して順方向フィルタリングと逆方向フィ ルタリングを行い,それらの出力の和を求めることで 最終的な出力を生成する手法である.VYV 形式と比較 すると,安定性は高いが,計算コストが高い.各フィ ルタの境界画素は,画像端を鏡像で拡張し,インパル ス応答を用いて畳み込みを行う事で求める. FIT2017(第 16 回情報科学技術フォーラム) Copyright © 2017 by Information Processing Society of Japan and The Institute of Electronics, Information and Communication Engineers All rights reserved. 305 I-007 3 分冊

I-007 ^ S ¥ î÷ t o^ S IIR Ñ ç » w ... · 2017. 11. 28. · þ t 0 ` o q M ² w Ñ ç » æ ï ¬ æ M | f w Z t o M ² w Ñ ç » æ ï ¬ æ O \ q p 7 4 $ s Z \ R b O p K }Deriche

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: I-007 ^ S ¥ î÷ t o^ S IIR Ñ ç » w ... · 2017. 11. 28. · þ t 0 ` o q M ² w Ñ ç » æ ï ¬ æ M | f w Z t o M ² w Ñ ç » æ ï ¬ æ O \ q p 7 4 $ s Z \ R b O p K }Deriche

倍精度境界実装による単精度 IIRフィルタの安定化Boundary Processing in Double Precision for Stabilizing IIR Filter in Single Precision

渡邉 光一朗 †

Koichiro Watanabe前田 慶博 †

Yoshihiro Maeda福嶋 慶繁 †

Norishige Fukushima

1 はじめに

ガウシアンフィルタは,さまざまな場所で使われる

基盤的なツールである.近年では,バイラテラルフィ

ルタといったエッジ保存平滑化フィルタにも活用され

応用範囲が広がっている.そのため,ガウシアンフィ

ルタの高速化・高精度化は重要な役割を果たす.

リアルタイムO(1)バイラテラルフィルタ [1]は,バイ

ラテラルフィルタの高速化手法の 1つである.このフィ

ルタは定数時間で実行可能だが,そのためには,IIRガ

ウシアンフィルタを用いる必要がある.また,一般的

に,処理を高速に行うためには,倍精度よりも単精度

で実装することが望ましい.しかし,このフィルタを

単精度で実装すると,ノイズが発生する場合がある.

本稿では,単精度 IIRガウシアンフィルタの境界処

理に対して,倍精度を用いることで,安定性を向上さ

せ,これを用いたリアルタイムO(1)バイラテラルフィ

ルタでノイズが減少することを確認した.

2 関連研究

2.1 リアルタイムO(1)バイラテラルフィルタ

バイラテラルフィルタは,注目画素と周辺画素の空

間的な距離とレンジの差を基にフィルタ係数を決定す

るフィルタである.入力画像を f : S → R,出力画像を f̃ : S → Rとし,SとRはそれぞれ画像の空間領域とレンジ領域とする.注目画素を p ∈ S,周辺画素の集合をN (p) ⊂ S とすると,バイラテラルフィルタは

f̃ (p) =

∑q∈N (p) ws (p, q)wr

(f (p) ,f (q)

)f (q)∑

q∈N (p) ws (p, q)wr

(f (p) ,f (q)

) (1)

と定義される.ここで,ws,wrは,それぞれ入力画素

間の空間領域 ·レンジ領域における距離からガウス分布に基づく重みを求める関数である.

リアルタイムO(1)バイラテラルフィルタでは,取り

うるレンジから {L0, L1 · · · , LK−1} ∈ RとなるようにK個の値を間引き,注目画素のレンジが f (p) = Lkで

ある時を考える.この時,wrは qのみに依存する関数

であるため,

gk (q) = wr (Lk,f (q))f (q) ,hk (q) = wr (Lk,f (q)) (2)

†名古屋工業大学 大学院工学研究科 情報工学専攻

と置くことが出来る.この時の出力画像 f̃k (p)は

f̃k (p) =

∑q∈N (p) ws (p, q) gk (q)∑q∈N (p) ws (p, q)hk (q)

(3)

となり,画像 gk,hk それぞれにガウシアンフィルタを

かけ,除算した画像に等しくなる.このフィルタを定

数時間で実行するためには,IIRガウシアンフィルタ

を用いる必要がある.

注目画素のレンジが f (p) ⊂ [Lk, Lk+1]である時,

f̃ (p) = (Lk+1 − f (p)) f̃k (p) + (f (p)− Lk) f̃k+1 (p) (4)

で表される線形補間によって最終的な出力を求める.

2.2 IIRガウシアンフィルタ

IIRフィルタは,無限遠点で 0でない値を返すイン

パルス応答関数をもつフィルタである.しかし,無限

遠点を考慮した畳み込み演算は現実的でないため,差

分方程式を用いて,以下のように変形されたものが用

いられる.

yn =

N−1∑i=0

aixn−i −M∑j=1

bjyn−j (5)

ここで,xn は入力信号,yn は出力信号,ai と bj は,

フィルタの係数,N とM はフィルタの次数を表して

いる.このフィルタ手法を用いたガウシアンフィルタ

に,Deriche形式 [2]や,Vliet-Young-Verbeek (VYV)

形式 [3]などがある.これらのフィルタには初期値が必

要であり,出力信号の初期値は,フィルタ次数に応じ

た境界処理を行うことで求められる.IIRフィルタは,

初期値によっては不安定となるため,境界処理には十

分な精度が求められる.

2.2.1 Deriche形式

入力画像に対して順方向フィルタリングと逆方向フィ

ルタリングを行い,それらの出力の和を求めることで

最終的な出力を生成する手法である.VYV形式と比較

すると,安定性は高いが,計算コストが高い.各フィ

ルタの境界画素は,画像端を鏡像で拡張し,インパル

ス応答を用いて畳み込みを行う事で求める.

FIT2017(第 16 回情報科学技術フォーラム)

Copyright © 2017 by Information Processing Society of Japan andThe Institute of Electronics, Information and Communication EngineersAll rights reserved.

305

I-007

第3分冊

Page 2: I-007 ^ S ¥ î÷ t o^ S IIR Ñ ç » w ... · 2017. 11. 28. · þ t 0 ` o q M ² w Ñ ç » æ ï ¬ æ M | f w Z t o M ² w Ñ ç » æ ï ¬ æ O \ q p 7 4 $ s Z \ R b O p K }Deriche

(a) VYV 形式単精度 (b) VYV 形式倍精度

(c) Deriche 形式単精度 (d) Deriche 形式倍精度

図 1: リアルタイムO(1)バイラテラルフィルタの出力

2.2.2 VYV形式

入力画像に対して順方向のフィルタリングを行い,そ

の出力に逆方向のフィルタリングを行うことで最終的

な出力を生成する手法である.Deriche形式と比較する

と,計算コストは低いが,安定性が低くノイズが発生

しやすい.順方向フィルタの境界画素は,Deriche形式

と同様に,畳み込みを用いて求めるが,逆方向フィル

タの境界画素は,順方向フィルタの出力を用いて行列

式を解くことで求める [4].

3 解析

Deriche形式とVYV形式,それぞれの形式で単精度

と倍精度の IIRガウシアンフィルタを実装し,それら

を用いたリアルタイムO(1)バイラテラルフィルタの出

力を図 1に示す.

図 1から,VYV形式の場合,Deriche形式では発生

しない帯状のノイズが発生していることが分かる.ま

た,このノイズは,単精度フィルタの場合のみで発生

し,倍精度では発生していない.このことから,VYV

形式の単精度フィルタでは計算精度が十分でなく,安

定性が損なわれていることがわかる.

4 倍精度境界実装

帯状のノイズは,逆方向フィルタの境界処理の精度

が十分でないことが原因である.計算精度の不足して

いる処理を倍精度で計算することで,全体の安定性が

向上すると考えられる.そこで本稿では,逆方向フィル

タの境界処理に対してのみ倍精度を用いることで,フィ

ルタの安定化を行った.

図 2は,逆方向フィルタに倍精度境界を用いた出力

であり,図 3 は,VYV 形式の単精度 IIR ガウシアン

図 2: 倍精度境界を用いた VYV形式単精度の出力

0

10

20

30

40

50

60

70

0 5 10 15 20 25 30

PSN

R [

dB

]σs

単精度境界 倍精度境界

図 3: 単精度境界と倍精度境界の精度比較

フィルタに対して,単精度境界を用いたものと,倍精

度境界を用いたものの出力の精度を比較したものであ

る.図 2,図 3より,境界処理に倍精度を用いることで

ノイズが消え,わずかなコストで安定性が向上したこ

とが確認できた.

5 まとめ

単精度 IIRガウシアンフィルタを用いたリアルタイ

ムO(1)バイラテラルフィルタで発生する帯状のノイズ

について調査を行った.

その結果,VYV形式の単精度 IIRガウシアンフィル

タにおいて,逆方向フィルタの境界処理の精度が不足

していることが原因であることが判明した.また,この

処理を倍精度で計算することで,帯状のノイズが消え,

単精度 IIRフィルタを用いたリアルタイムO(1)バイラ

テラルフィルタの安定性が向上したことを確認した.

参考文献[1] Q. Yang, et al.,“Real-time O(1) bilateral filter-

ing,” in Proc. of IEEE CVPR, pp. 557-564 (2009).

[2] R. Deriche,“Recursively implementating thegaussian and its derivatives,” INRIA Research Re-port (1993).

[3] L. J. van Vliet, et al.,“Recursive gaussian deriva-tive filters,” in Proc. of ICPR, vol.1, pp. 509-514(1998).

[4] B. Triggs and M. Sdika, “Boundary conditions forYoung-van Vliet recursive filtering,” IEEE Trans.SP, vol.54, no.6, pp. 2365-2367 (2006).

FIT2017(第 16 回情報科学技術フォーラム)

Copyright © 2017 by Information Processing Society of Japan andThe Institute of Electronics, Information and Communication EngineersAll rights reserved.

306

第3分冊