More Related Content
Similar to 多チャンネルバイラテラルフィルタの高速化 (20)
More from Norishige Fukushima (13)
多チャンネルバイラテラルフィルタの高速化
- 10. 1010定数時間化
BFは重み付きの畳み込み
𝑤 𝑟 𝑎, 𝑏 = exp(||𝑎 − 𝑏||2) ≈
𝑘=0
K−1
𝜙 𝑘(𝑎)𝜓 𝑘(𝑏)
𝐽 𝒊 =
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋 𝐼 𝒋
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋
レンジ関数の指数関数をある関数の内積の総和で分解
𝐽 𝒊 ≈
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋 𝐼 𝒋
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋
- 11. 1111定数時間化
BFは重み付きの畳み込み
𝐽 𝒊 =
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋 𝐼 𝒋
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋
レンジ関数の指数関数をある関数の内積の総和で分解
𝐽 𝒊 ≈
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋 𝐼 𝒋
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋
𝑤 𝑟 𝑎, 𝑏 = exp(||𝑎 − 𝑏||2) ≈
𝑘=0
K−1
𝜙 𝑘(𝑎)𝜓 𝑘(𝑏)
- 12. 1212
𝐽 𝒊 ≈
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋 𝐼 𝒋
𝑘=0
𝐾−1
𝜙 𝑘 𝐼 𝒊 𝒚∈𝒀 𝑤𝑠 𝒊 , 𝒋 𝜓 𝑘 𝐼 𝒋
定数時間化
BFは重み付きの畳み込み
𝐽 𝒊 =
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋 𝐼 𝒋
𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝐼(𝒊), 𝐼 𝒋
「重みを乗算した画像」のガウシアン畳み込み結果
を重み付き総和する式に変換
定数ガウシアンフィルタ重み
- 14. 1414Ex:区分線形近似
𝐽 𝒊 =
𝒌∈𝑲 𝜙 𝑘(𝐼(𝒊)) 𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝒌, 𝐼 𝒋 𝐼 𝒋
𝒌∈𝑲 𝜙 𝑘(𝐼(𝒊)) 𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝒌, 𝐼 𝒋
𝑤 𝑟 𝑘, 𝐼(𝑗) = exp
− 𝑘 − 𝐼 𝑗 2
2𝜎 𝑟
2
= 𝑓𝑘(𝐼(𝑗))
レンジ重みの片方が定数だったら?
これは,ただの画像をfで変換した画像
注目画素が1の場合,2の場合...255の場合
を用意.すべてのフィルタ結果を,入力画像に合わ
せてテーブル参照すれば,近似なしに答えが求まる
𝜙 𝑘(𝐼(𝒊))は,I(i)=kで1それ以外0の関数
- 15. 1515Ex:区分線形近似
𝑤 𝑟 𝑘, 𝐼(𝑗) = exp
− 𝑘 − 𝐼 𝑗 2
2𝜎 𝑟
2
= 𝑓𝑘(𝐼(𝑗))
レンジ重みの片方が定数だったら?
これは,ただの画像をfで変換した画像
256通りは多い→量子化して線形補間
K=8程度として畳み込み回数を削減
𝜙 𝑘(𝐼(𝒊))は,Ik(i)<k<Ik+1(i)の区間で線形補間
𝐽 𝒊 =
𝒌∈𝑲 𝜙 𝑘(𝐼(𝒊)) 𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝒌, 𝐼 𝒋 𝐼 𝒋
𝒌∈𝑲 𝜙 𝑘(𝐼(𝒊)) 𝒋∈𝑵 𝑤𝑠 𝒊 , 𝒋 𝑤𝑟 𝒌, 𝐼 𝒋
- 23. 2323BFの可分化
バイラテラルフィルタの式
𝒇𝑖,𝑗
=
𝑥=−𝑟
𝑟
𝑦=−𝑟
𝑟
𝑤𝑠 𝑥, 𝑦 𝑤𝑐 𝑥, 𝑦 𝒇𝑖+𝑥,𝑗+𝑦
𝑥=−𝑟
𝑟
𝑦=−𝑟
𝑟
𝑤𝑠 𝑥, 𝑦 𝑤𝑐 𝑥, 𝑦
空間重み
𝑤𝑠 𝑥, 𝑦 = exp −
𝑥2
+ 𝑦2
2𝜎𝑠
2
色重み
𝑤𝑐 𝑥, 𝑦 = exp −
𝒇𝑖,𝑗 − 𝒇𝑖+𝑥,𝑗+𝑦 2
2
2𝜎𝑐
2
𝒙, 𝒚方向に処理を分解するために各重みを式変形
𝒇 ∶ 入力信号
𝒇 ∶ 出力信号
𝑖, 𝑗 ∶ 注目画素位置
𝑟 ∶ カーネル半径
𝜎𝑠 ∶ 空間重みパラメータ
𝜎𝑐 ∶ 色重みパラメータ
重みを「𝒙の関数」と「𝒚の関数」の積へ
- 24. 2424BFの可分化
簡単のため,グレースケールであると仮定
𝑤𝑠
𝐻
𝑥 = exp −
𝑥2
2𝜎𝑠
2
𝑤𝑠 𝑥, 𝑦 = exp −
𝑥2
+ 𝑦2
2𝜎𝑠
2
𝑤𝑠
𝑉
𝑦 = exp −
𝑦2
2𝜎𝑠
2
𝑤𝑠 𝑥, 𝑦 = 𝑤𝑠
𝐻
𝑥 ∙ 𝑤𝑠
𝑉
𝑦
𝑤𝑐 𝑥, 𝑦 = exp −
𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
空間重み 色重み
?
= exp −
𝑓𝑖,𝑗
2
− 2𝑓𝑖,𝑗 𝑓𝑖+𝑥,𝑗+𝑦 + 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
𝑤𝑐 𝑥, 𝑦 = 𝑤𝑐
𝐻 𝑥 ∙ 𝑤𝑐
𝑉 𝑦
- 25. 2525BFの可分化
簡単のため,グレースケールであると仮定
𝑤𝑠
𝐻
𝑥 = exp −
𝑥2
2𝜎𝑠
2
𝑤𝑠 𝑥, 𝑦 = exp −
𝑥2
+ 𝑦2
2𝜎𝑠
2
𝑤𝑠
𝑉
𝑦 = exp −
𝑦2
2𝜎𝑠
2
𝑤𝑠 𝑥, 𝑦 = 𝑤𝑠
𝐻
𝑥 ∙ 𝑤𝑠
𝑉
𝑦
𝑤𝑐 𝑥, 𝑦 = exp −
𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
𝑤𝑐 𝑥, 𝑦 = 𝑤𝑐
𝐻 𝑥 ∙ 𝑤𝑐
𝑉 𝑦
空間重み 色重み
= exp −
𝑓𝑖,𝑗
2
− 2𝑓𝑖,𝑗 𝑓𝑖+𝑥,𝑗+𝑦 + 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
×色重みガウシアンは空間分解出来ない
近似的に空間分解出来るよう式変形
「𝑥だけ変化する部分」と
「𝑦だけ変化する部分」を作る
- 26. 2626BFの可分化
𝑎 − 𝑐 2
= 𝑎 − 𝑏 2
+ 𝑏 − 𝑐 2
+ 2 𝑎 − 𝑏 𝑏 − 𝑐
𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
= 𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗
2
+ 𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
+ 2 𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗 𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
以下の等式を利用
𝑤𝑐 𝑥, 𝑦 = exp −
𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
色重み
𝑤𝑐
𝐻
𝑥 = exp −
𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗
2
2𝜎𝑐
2
𝑤𝑐
𝑉
𝑦 = exp −
𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2
2𝜎𝑐
2
𝑤𝑐
𝑁
𝑥, 𝑦 = exp −
2 𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗 𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2𝜎𝑐
2
𝑤𝑐 𝑥, 𝑦 = 𝑤𝑐
𝐻
𝑥 ∙ 𝑤𝑐
𝑉
𝑦 ∙ 𝑤𝑐
𝑁
𝑥, 𝑦
分解し切れない
非セパラブル項
バイラテラルフィルタをセパラブルに分解
横セパラブルBF
縦セパラブルBF
- 27. 2727非セパラブル項の展開
𝑤𝑐
𝑁
𝑥, 𝑦 = exp −
2 ∙ 𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗 ∙ 𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
2𝜎𝑐
2
= exp −2𝛾𝐷𝑖,𝑗 𝑥 𝐷𝑖+𝑥,𝑗 𝑦
𝛾 =
1
2𝜎𝑐
2
𝐷𝑖,𝑗 𝑥 = 𝑓𝑖,𝑗 − 𝑓𝑖+𝑥,𝑗
𝐷𝑖+𝑥,𝑗 𝑦 = 𝑓𝑖+𝑥,𝑗 − 𝑓𝑖+𝑥,𝑗+𝑦
非セパラブル項を一度整理
非セパラブル項をマクローリン展開
𝑤𝑐
𝑁
𝑥, 𝑦 = exp −2𝛾𝐷𝑖,𝑗 𝑥 𝐷𝑖+𝑥,𝑗 𝑦
級数の各項は「𝑥の関数」と「𝑦の関数」の積
– 項ごとに処理が空間分解可能
– 結果を加減算により統合することで実装可能
– 定数時間の時と同じ.分解する指数関数が少し違うだけ
𝑘 ∶ 近似の次数=
𝑘=0
∞
−2𝛾𝐷𝑖,𝑗 𝑥 𝐷𝑖+𝑥,𝑗 𝑦
𝑘
𝑘!
= 1 − 2𝛾𝐷𝑖,𝑗 𝑥 𝐷𝑖+𝑥,𝑗 𝑦 + 2𝛾2
𝐷𝑖,𝑗
2
𝑥 𝐷𝑖+𝑥,𝑗
2
𝑦 − ⋯
- 29. 2929カラー画像への拡張方法
𝑤𝑐
𝑁
𝑥, 𝑦 = exp −2𝛾
𝑚∈𝜆
𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑤𝑐
𝑁
𝑥, 𝑦 =
𝑚∈𝜆
exp −2𝛾𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
非セパラブル項の捉え方によって,2通りの展開方法が存在
RGB画像の処理における非セパラブル項
𝜆 ∶ チャネルの集合
𝑤𝑐
𝑁
𝑥, 𝑦 = exp −2𝛾𝐷𝑖,𝑗
𝑅
𝑥 𝐷𝑖+𝑥,𝑗
𝑅
𝑦 exp −2𝛾𝐷𝑖,𝑗
𝐺
𝑥 𝐷𝑖+𝑥,𝑗
𝐺
𝑦 exp −2𝛾𝐷𝑖,𝑗
𝐵
𝑥 𝐷𝑖+𝑥,𝑗
𝐵
𝑦
①
②
定数時間アルゴリズムのときと同じアプローチ
- 30. 3030カラー画像への拡張方法
𝑤𝑐
𝑁 𝑥, 𝑦 = exp −2𝛾
𝑚∈𝜆
𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑤𝑐
𝑁 𝑥, 𝑦 =
𝑚∈𝜆
exp −2𝛾𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
=
𝑚∈𝜆 𝑘=0
∞ −2𝛾𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑘
𝑘!
=
𝑘=0
∞
−2𝛾 𝑚∈𝜆 𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑘
𝑘!
𝑘次近似に必要な項数 : 𝑘 + 1 3項
𝑘次近似に必要な項数 :
3 𝑘+1−1
2
項
1次近似に必要な項数 : 8項
1次近似に必要な項数 : 4項
①
②
- 31. 3131カラー画像への拡張方法
𝑤𝑐
𝑁 𝑥, 𝑦 = exp −2𝛾
𝑚∈𝜆
𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑤𝑐
𝑁 𝑥, 𝑦 =
𝑚∈𝜆
exp −2𝛾𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
=
𝑚∈𝜆 𝑘=0
∞ −2𝛾𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑘
𝑘!
=
𝑘=0
∞
−2𝛾 𝑚∈𝜆 𝐷𝑖,𝑗
𝑚
𝑥 𝐷𝑖+𝑥,𝑗
𝑚
𝑦
𝑘
𝑘!
𝑘次近似に必要な項数 : 𝑘 + 1 3項
𝑘次近似に必要な項数 :
3 𝑘+1−1
2
項
1次近似に必要な項数 : 8項
1次近似に必要な項数 : 4項
①
②
どちらの展開方法でも計算コストが急激に増加
次元の呪いは避けられていない