l0tv: a new method for image restoration in the presence of impulse noise
TRANSCRIPT
2015/07/25 CV勉強会@関東CVPR2015読み会 発表資料
2015/07/25
@peisuke
自己紹介
名前:藤本敬介
研究:ロボティクス、コンピュータビジョン
点群:形状統合、メッシュ化、認識
画像:画像認識、SfM・MVS
ロボット:自律移動、動作計画
本発表の概要
•発表論文• L0TV: A New Method for Image Restoration in the
Presence of Impulse Noise
• どんな論文?• インパルスノイズ(ごま塩ノイズ)の安定・綺麗な除去
•特徴は?• インパルスノイズ除去をL0ノルム最適化でモデル化
• NP困難のL0ノルム最適化問題に対し、安定かつ準最適な解を収束計算によって求める
※今回は数式多めです
L0TV: A New Method for Image Restoration in the Presence of Impulse Noise
Ganzhao Yuan
Bernard Ghanem
フィルタリングによるノイズ除去• 画像のノイズ除去について
• 古くよりフィルタリング処理として研究されてきた
• 平滑化、メディアン、ローパス等
• フィルタリングの問題点• エッジや細かな模様などのノイズ以外の情報も落としてしまう(下図)
• 解決方針• より高機能なフィルタリング処理(bilateral ・Guided Filter等)
• 「綺麗な画像である」という制約条件を満たすように画像を補正
平滑化フィルタ
正則化項を用いたノイズ除去
•元の画像からなるべく離れないようにしつつ(赤)、正則化項による制約(青)を満たすように画像を作成
𝐸 𝐮 = ℓ 𝐮 − 𝐛 + 𝜆Ω 𝛁𝐮 u:復元後の画像b:撮影画像
損失関数(復元後画像と元画像の差異)
正則化項(復元後画像の隣接画素間の滑らかさ)
𝑢 = 𝑏 𝛻𝑢 = 0
重みによる復元後の画像𝑢
正則化項の重み大損失関数の重み大
損失関数の事例
•元の画像との差分の2乗値を用いる場合
𝐸 𝐮 = ℓ 𝐮 − 𝐛 + 𝜆Ω 𝛁𝐮 ℓ 𝐮 − 𝐛 = 𝐮 − 𝐛 22
𝑢 𝑏
様々な損失関数
𝐸 𝐮 = ℓ 𝐮 − 𝐛 + 𝜆Ω 𝛁𝐮
Gaussian
Laplace
Uniform
Poisson
Gamma
L0(This paper)
ℓ 𝑢 − 𝑏 = 𝑢 − 𝑏 22
ℓ 𝑢 − 𝑏 = 𝑢 − 𝑏 1
ℓ 𝑢 − 𝑏 = 𝑢 − 𝑏 ∞
ℓ 𝑢 − 𝑏 = 𝑢 − 𝑏, log 𝑢 , 1
ℓ 𝑢 − 𝑏 = log 𝑢 + 𝑏⨀1
𝑢, 1
ℓ 𝑢 − 𝑏 = 𝑢 − 𝑏 0
正則化項の事例• エッジを残すノイズ除去(TV1ノルム)
• 隣接画素間の2乗距離を使うとエッジがぼやけてしまうが、絶対値を使うとエッジが保存される
𝐸 𝐮 = ℓ 𝐮 − 𝐛 + 𝜆Ω 𝛁𝐮 Ω 𝛁𝐮 = 𝛻𝑢𝑥 + 𝛻𝑢𝑦
uu
0
1
0
1
どちらも|∇u|=1
0
1
元の信号と近く、制約項のペナルティも小
元信号
ノイズ除去後信号候補1
ノイズ除去後信号候補2
TV・・・Total Variation
Tikhonov
TV2
TV1
smooth TV
Huber
Potts
様々な正則化項
𝐸 𝐮 = ℓ 𝐮 − 𝐛 + 𝜆Ω 𝛁𝐮
Ω 𝛻𝑢 = 𝛻𝑢𝑥2 + 𝛻𝑢𝑦
2
Ω 𝛻𝑢 = 𝛻𝑢𝑥2 + 𝛻𝑢𝑦
212
Ω 𝛻𝑢 = 𝛻𝑢𝑥 + 𝛻𝑢𝑦
Ω 𝛻𝑢 = 𝛻𝑢𝑥2 + 𝛻𝑢𝑦
2 + 𝜖212
Ω 𝛻𝑢 = 𝛻𝑢𝑥 0 + 𝛻𝑢𝑦 0
Ω 𝛻𝑢 = 𝜑 𝛻𝑢 𝜑 𝑝 =
𝜀2𝑝 22
𝑝 2 −1
2𝜀
𝑝 2
𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
本論文の概要• 論文の目的
• インパルスノイズ(ごま塩ノイズ)の除去
• 従来手法の問題• 従来はノイズとノイズ以外を分ける事をせず、画像らしさ(正則化項)のルールに従って画像を復元
• インパルスノイズ以外の正常な領域についても処理が入ってしまう
• 提案手法• 「ノイズらしいピクセルの自動選択」と、「選択したピクセルのみ周囲の画素情報を用いた平滑化」を同時に計算
提案手法のアプローチ
1. ノイズとなっているピクセルの選択損失関数をL0ノルムとする
2. 選択したピクセルの平滑化正則化項をエッジキープ型のTV1 or TV2ノルムとする
L0ノルム・・・ベクトル内の非ゼロ成分の個数
例: 𝐯 = [1,0,3,5,0,0,2,4] → 𝐯 0 = 5
推定されたノイズ 復元画像元画像
推定されたノイズ画像に発生する非ゼロの点数がL0ノルム
L0ノルムの効果
ノイズ以外の領域をキープした場合・・・L0ノルムは小さくなる
全領域平滑化してしまった場合・・・L0ノルムは大きくなる
L0ノルムを小さくすることで、元画像の情報を落とさない画像復元が可能
提案手法の定式化
•最小化の困難性
• L0ノルム最適化はNP困難• 非ゼロ成分の選択のため、2の画素数乗の計算量が必要
• GA、SAなどのランダムベース手法でも解けるが性能悪
𝐸 𝐮 = 𝐊𝐮 − 𝐛 0 + 𝜆 𝛻𝐮 𝑝,1
復元画像と元画像の差異の画素数がなるべく小さくなるようにする(L0ノルム)
エッジをキープしつつ平滑化(TV1 or TV2ノルム)
𝐨⨀ 𝐊𝐮 − 𝐛 0 + 𝜆 𝛁𝐮 𝑝,1
※論文では下記マスク変数oが式中にあるが定数なので省略
※Kは任意の既知カーネル、拡大・ブラー等
𝛁𝐮
補助変数によるL0ノルムの変形
𝑛 − 𝐰 0 = max𝐯∈ 0,1
𝑖=1
𝑛
𝐯𝑖 , s. t. 𝐯 ∈ 𝚽
𝚽 ≜ 𝐯 | 𝐯⨀ 𝐰𝑖 = 0, ∀𝑖 ∈ [𝑛]
• 補助変数𝐯を導入する• wの各成分が非ゼロかゼロかで下記に分かれる
ケース1: 𝑤が非ゼロの時・・・ 𝑣⨀ 𝑤 = 0を満たす𝑣は0のみ、よって max
v∈ 0,1𝑣は0
ケース2: 𝑤がゼロの時・・・ 𝑣⨀ 𝑤 = 0を満たす𝑣は任意の数字、よって max
v∈ 0,1𝑣は1
• vの総和を取ることでゼロ成分の個数を得られる
補助変数によるL0ノルムの変形
𝑛 − 𝐰 0 = max𝐯∈ 0,1
𝑖=1
𝑛
𝐯𝑖 , s. t. 𝐯 ∈ 𝚽
𝐰 0 = 𝑛 − max0≤𝐯≤1
𝑖=1
𝑛
𝐯𝑖 , s. t. 𝐯 ∈ 𝚽
= min0≤𝐯≤1𝟏, 𝟏 − 𝐯 , s. t. 𝐯 ∈ 𝚽
提案手法の定式化(続き)
𝐸 𝐮 = 𝐊𝐮 − 𝐛 0 + 𝜆 𝛁𝐮 𝑝,1
𝐸 𝐮, 𝐯 = min0≤𝐯≤1𝟏, 𝟏 − 𝐯 + 𝜆 𝛁𝐮 𝑝,1
s. t. 𝐯⨀ 𝐊𝐮 − 𝐛 = 0
収束計算が可能
最小化について
𝐸 𝐮, 𝐯 = min0≤𝐯≤1𝟏, 𝟏 − 𝐯 + 𝜆 𝛁𝐮 𝑝,1
s. t. 𝐯⨀ 𝐊𝐮 − 𝐛 = 0
•変数uが条件式内やTVノルム内にいるため、このままだと解けない、補助変数x,yをさらに導入• 変数を分ける事で、各変数について解きやすくなる
𝐸 𝐮, 𝐯, 𝐱, 𝐲 = min0≤𝐯≤1𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1
s. t. 𝛁𝐮 = 𝐱, 𝐊𝐮 − 𝐛 = 𝐲, 𝐯⨀ 𝐲 = 0
多変数の制約付き最適化問題、ADMMで最小化
Alternating Direction Methods of Multipliers
•多変数の制約条件付き最適化手法• ラグランジュ未定乗数法(LM)を拡張したAugmented LMに対し、変数ごとに別々に更新
𝐸 𝒙, 𝒚 = 𝑓 𝑥 + 𝑔 𝑦 , 𝑠. 𝑡. 𝐴𝑥 + 𝐵𝑦 = 𝑐
ℒ 𝑥, 𝑦, 𝜆 = 𝑓 𝑥 + 𝑔 𝑦 + 𝜆 𝐴𝑥 + 𝐵𝑦 − 𝑐+ 𝛽 2 𝐴𝑥 + 𝐵𝑦 − 𝑐 2
2
ADMM Algorithm
𝑥𝑡+1 = argmin𝑥𝐿 𝑥𝑡 , 𝑦𝑡 , 𝜆𝑡
𝑦𝑡+1 = argmin𝑦𝐿 𝑥𝑡+1, 𝑦𝑡 , 𝜆𝑡
𝜆𝑡+1 = 𝜆𝑡 + 𝛽 𝐴𝑥𝑡+1 + 𝐵𝑦𝑡+1 − 𝑐
最小化について(続き)
𝐸 𝐮, 𝐯, 𝐱, 𝐲 = min0≤𝐯≤1𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1
s. t. 𝛁𝐮 = 𝐱, 𝐊𝐮 − 𝐛 = 𝐲, 𝐯⨀ 𝐲 = 0
ℒ 𝐮, 𝐯, 𝐱, 𝐲, 𝝃, 𝜻, 𝝅 = 𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1 +
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻 +
𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2+ 𝐯⨀ 𝐲 , 𝝅 +
𝛽
2𝐯⨀ 𝐲 2
• Augmented LMによる式変形
最小化手順:S1-(10)•評価式を変数毎に解く
• まずuに関連する項のみ選択し、uについて最小化
ℒ 𝐯, 𝐮, 𝐱, 𝐲, 𝝃, 𝜻, 𝝅 = 𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1 +
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻 +
𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2+ 𝐯⨀ 𝐲 , 𝝅 +
𝛽
2𝐯⨀ 𝐲 2
uに関する2次形式なので解析解は存在するが、∇やKに関する逆行列を解かなくてはいけない
𝐮 = 𝛽 𝛁T𝛁 + 𝐊T𝐊−𝟏𝛽 𝛁T𝐱 + 𝐊T 𝐛 + 𝐲 − 𝛁T𝝃 + 𝐊T𝜻
最小化手順:S1-(10)
• Proximal ADMM• Proximal termを追加し、逆行列計算を消去
• 繰り返し計算でuについて最小化
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻
+𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2 +
1
2𝐮 − 𝐮𝑘
𝑇𝐃 𝐮 − 𝐮𝑘
𝐮k+1 = 𝐃+ 𝛽 𝛁T𝛁 + 𝐊T𝐊−𝟏𝐃𝐮𝑘 + 𝛽 𝛁T𝐱 + 𝐊T 𝐛 + 𝐲 − 𝛁T𝝃 + 𝐊T𝜻
= 𝜅 𝐃𝐮𝑘 + 𝛽 𝛁T𝐱 + 𝐊T 𝐛 + 𝐲 − 𝛁T𝝃 + 𝐊T𝜻
𝐃 =1
𝜅𝑰 − 𝛽 𝛁T𝛁 + 𝐊T𝐊
𝑰 𝜅
最小化手順:S1-(11)
•評価式を変数毎に解く• vに関連する項のみ選択し、vについて最小化
ℒ 𝐯, 𝐮, 𝐱, 𝐲, 𝝃, 𝜻, 𝝅 = 𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1 +
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻 +
𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2+ 𝐯⨀ 𝐲 , 𝝅 +
𝛽
2𝐯⨀ 𝐲 2
𝐯 = min 𝟏,max 𝟎,𝟏 − 𝝅⨀ 𝐲
𝜷𝐲⨀𝐲
最小化手順:S1-(12)
•評価式を変数毎に解く• xに関連する項のみ選択し、vについて最小化
• Lpノルムを含む最適化問題なのでProximal Operatorで計算
ℒ 𝐯, 𝐮, 𝐱, 𝐲, 𝝃, 𝜻, 𝝅 = 𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1 +
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻 +
𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2+ 𝐯⨀ 𝐲 , 𝝅 +
𝛽
2𝐯⨀ 𝐲 2
p=1の場合 𝐱 = sign 𝐡 ⨀max 𝒉 − 𝜆 𝛽 , 𝟎𝐡 = −𝛁𝐮 − 𝝃 𝛽
p=2の場合は省略
Proximal Operator
prox𝑔 𝐳 = argmin𝐱𝑔 𝐱 +
1
2𝐱 − 𝐳 2
• Soft Threshold : 𝑔 𝑥 = 𝜆 𝑥 1の場合
•微分不可能な最適化問題を解くテクニック
この関数の最適化問題微分不可な関数g
prox𝜆 𝐳 = argmin𝐱𝜆 𝐱 1 +
1
2𝐱 − 𝐳 2
Proximal Operatorはこのように表記
= sign 𝐳 ⨀max 𝒛 − 𝜆, 𝟎
最小化手順:S1-(12)
•評価式を変数毎に解く• yに関連する項のみ選択し、vについて最小化
• 絶対値を含むのでProximal Operatorで計算
ℒ 𝐯, 𝐮, 𝐱, 𝐲, 𝝃, 𝜻, 𝝅 = 𝟏, 𝟏 − 𝐯 + 𝜆 𝐱 𝑝,1 +
𝛁𝐮 − 𝐱, 𝝃 +𝛽
2𝛁𝐮 − 𝐱 2 + 𝐊𝐮 − 𝐛 − 𝐲, 𝜻 +
𝛽
2𝐊𝐮 − 𝐛 − 𝐲 2+ 𝐯⨀ 𝐲 , 𝝅 +
𝛽
2𝐯⨀ 𝐲 2
𝐲 = sign 𝒒 ⨀max𝒒 − 𝝅⨀𝐯 𝛽
𝟏 + 𝐯⨀𝐯, 𝟎
𝐪 = 𝐊𝐮 − 𝐛 + 𝜻 𝛽
これを計算
実験
•比較手法• L1-TV (Split Bregman Method)
• メディアンフィルタ
• Two Stage Method• メディアンフィルタでノイズピクセルを抽出、その後平滑化で修復
• L02-TV (Adaptive Outlier Pursuit)
• L0-TV (Penalty Decomposition Algorithm)
• L0-TV (Proximal ADMM)
•評価• 3種のSN比
処理前
処理後
復元結果画像例(Supplementary Materialより)
元画像
他手法との比較(Supplementary Materialより)
L02-TV L0-TV (PDA) L0-TV (PADMM)
他手法との比較(Supplementary Materialより)
L02-TV L0-TV (PDA) L0-TV (PADMM)
•推定したノイズ(元画像と復元後画像の差分)
提案手法は唯一波や空の模様を除去しない
L02-TV L0-TV (PDA) L0-TV (PADMM)
他手法との比較(Supplementary Materialより)
SN比の比較L0-TV (PADMM)
まとめ
•研究の目的• インパルスノイズの安定・綺麗な除去
•提案手法• インパルスノイズ除去をL0ノルム最適化でモデル化
• NP困難のL0ノルム最適化問題に対し、安定かつ準最適な解を収束計算によって求める
•結果• 従来手法よりも良い結果、特にL0の近似であるL1によるアプローチと比較して、かなり良い
•今後の課題• TVノルム以外の正則化項
• L0最適化の他アプリケーションへの応用