説明

画像処理用のTotalVariationフィルタおよび画像処理プログラム

【課題】画像処理用のTotalVariationフィルタにおいて、繰り返し演算に要する時間を短縮する。
【解決手段】入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求めるTotalVariationフィルタにおいて、J(u)としてJ(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いる。この場合、関数F(u)=J(u)+λΣ(ui,j−fi,jを最小化するアルゴリズムにおいて、注目画素値ui,jに隣接する8画素値とui,jとの差分の符号sgn()を取ったものを8個加算して修正項Aを求める。これにより、繰り返し演算の一回の計算に用いる情報量が2倍になるため、収束速度が2倍に向上する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理用のTotal Variation フィルタおよび画像処理プログラムに関し、特にその高速化を行って繰り返し演算に要する時間を短縮するものに関する。
【背景技術】
【0002】
画像信号処理において、Total Variation フィルタは、ノイズの除去や超解像画像拡大などで非常に有効な手段となっている。Total Variation フィルタは、通常のフィルタと異なり、非線形の繰り返し演算によって、画像信号処理を行う(特許文献1〜3、非特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−172431号公報
【特許文献2】特開2009−5252号公報
【特許文献3】特開2009−20605号公報
【非特許文献】
【0004】
【非特許文献1】L. Rudin, S. Osher, and E. Fetami, "Nonlinear total Variation Based Noise Removal Algorithm", Physica D, Vol.60, pp.259-268, 1992.
【非特許文献2】A. Beck and M. Teboulle, "Fast Gradient-Based Algorithms for Constrained Total Variation Image Denoising and Deblurring Problems", IEEE Trans. on Image Processing, Vol.18, No.11, pp.2419-2434, Nov.2009.
【発明の概要】
【発明が解決しようとする課題】
【0005】
Total Variation フィルタは繰り返し演算(具体的には100〜200回)が必要であり、処理に非常に時間がかかる。このため、その優れた特性にもかかわらず静止画の処理のみに用いられており、テレビや映画などの動画の処理には用いることができなかった。これを動画処理に用いるためには、繰り返し演算の回数の削減(収束速度の高速化)が必須となる。
【0006】
本発明は上記点に鑑みて、Total Variation フィルタにおいて、その高速化を行って繰り返し演算に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、発明者らは、注目画素の上下左右の隣接画素の差分の絶対値和に斜め方向の隣接画素の差分の絶対値和を付け加えれば、繰り返し演算の一回の計算に用いる情報量が2倍になるため、収束速度が2倍に向上する、ということを考えた。
【0008】
そこで、請求項1に記載の発明は、
入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
前記J(u)としてJ(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いることを特徴とする。
【0009】
請求項4に記載の発明は、
入力画像から画像の骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段と、を備えたことを特徴とする。
【0010】
請求項7に記載の発明は、
入力画像から画像の骨格成分を求めるための画像処理プログラムであって、
コンピュータを、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段として機能させることを特徴とするプログラム。
【0011】
なお、上記において、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【0012】
また、請求項1に記載のJ(u)の代わりに、請求項2に記載の発明のように、J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|)を用いてもよく、請求項3に記載の発明のように、J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いてもよい。その場合、請求項4の構成の代わりに請求項5、6の構成とし、請求項7の構成の代わりに請求項8、9の構成とすることができる。
【図面の簡単な説明】
【0013】
【図1】Total Variation フィルタの構成を示す図である。
【図2】従来法におけるJ(u)項を表す図である。
【図3】第1実施形態におけるJ(u)項を表す図である。
【図4】従来法における最急降下法において修正項Aの求め方を説明するための説明図である。
【図5】本実施形態における最急降下法において修正項Aの求め方を説明するための説明図である。
【図6】画像処理プログラムを示すフローチャートである。
【図7】第1実施形態の効果を示す図である。
【図8】第2実施形態におけるJ(u)項を表す図である。
【図9】第2実施形態における最急降下法において修正項Aの求め方を説明するための説明図である。
【図10】第3実施形態におけるJ(u)項を表す図である。
【図11】第3実施形態における最急降下法において修正項Aの求め方を説明するための説明図である。
【発明を実施するための形態】
【0014】
(第1実施形態)
図1に、Total Variation フィルタの構成を示す。Total Variation フィルタは、入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求めるために反復計算を行う。関数F(u)が最小となったときのuは画像の骨格成分となる。この骨格成分を入力画像から単純に引くことによって微小振動であるテクスチャ成分が得られる。なお、λは適当な正の定数であり、その値を高く設定した場合、繰り返し演算後に得られる骨格成分は、原画像に近いものとなる。
【0015】
評価関数J(u)として、従来法では、
J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j| ・・・(1)
を用いていた。これに対し、本実施形態では、
J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|+|ui,j+1−ui+1,j|) ・・・(2)
を用いる。
【0016】
図2に従来法におけるJ(u)項を表す。注目画素値ui,jとその上下の画素値の差分をとり、その絶対値を式(1)で表わされるようにi,jを1から画素数Mまで加算して、J(u)の値を得る。
【0017】
図3に本実施形態におけるJ(u)項を表す。注目画素値ui,jとその上下の画素値の差分および斜め方向の2個の差分を取り、それらの絶対値を式(2)で表わされるようにi,jを1から画素数Mまで加算して、J(u)の値を得る。
【0018】
関数F(u)=J(u)+λΣ(ui,j−fi,jを最小化するアルゴリズムとしては、次のような最急降下法を用いる。
【0019】
i,j=ui,j−α{2λ(ui,j−fi,j)+A} ・・・(3)
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1) ・・・(4)
ただし、αは、ステップ幅で、適当な正の定数である。なお、式(3)において、左辺のui,jは更新後のものであり、右辺のui,jは現在のものである。
【0020】
従来法では、上記した最急降下法において、図4に示すようにして修正項Aを求める。この場合、注目画素値ui,jと上下左右の画素値との差分の符号sgn( )を4個求める。
【0021】
これに対し、本実施形態では、上記した最急降下法において、図5に示すようにして修正項Aを求める。この場合、注目画素値ui,jの上下左右と斜め方向の8個の差分の符号sgn( )を求め、式(4)のように、修正項Aを求める。
【0022】
Total Variation フィルタは、コンピュータを用いたソフトウェアにより実現することができる。図6にTotal Variation フィルタを用いた画像処理プログラムをフローチャートで示す。
【0023】
ステップ101で演算回数Nが0に初期設定された後、ステップ102で修正項Aが式(4)のように計算される。すなわち、注目画素値ui,jに隣接する8画素値とui,jとの差分の符号sgn( )を取ったものを8個加算して値Aを得る。ステップ103で画素値ui,jが−α{2λ(ui,j−fi,j)+A}によって新しい画素値ui,jに更新される。そして、ステップ104で演算回数Nがインクリメントされ、ステップ105で予め定められた値NstopにNが達したか否かが判定される。Nが値Nstopに達していない場合はステップ102に戻る。Nが値Nstopに達した場合は画素値ui,jが最終骨格成分として出力され、またステップ106で入力画像fi,jからui,jが引き算されて、テクスチャ成分vi,jが出力される。
【0024】
図7に本実施形態の効果を示す。縦軸は式(3)の最小化関数F(u)の値、横軸は繰り返し回数Nの値を示す。本実施形態(図中、TVmethodと記す)は従来法(図中、TVmethodと記す)にくらべて、半分の回数で収束している、すなわち収束速度が2倍になっていることが分かる。
【0025】
以上述べたように、本実施形態によれば、画像処理において非常に高い性能を有する、Total Variation フィルタの演算の高速化を実現することができる。
【0026】
(第2実施形態)
上記した実施形態では、評価関数J(u)として、J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いるものを示したが、J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|)を用いるようにしてもよい。この場合、図8に示すように、注目画素値ui,jとその上下の画素値の差分および斜め方向の1個の差分を取り、それらの絶対値を上記の式で表わされるようにi,jを1から画素数Mまで加算して、J(u)の値を得る。また、この場合、最急降下法において、図9に示すように、注目画素値ui,jの上下左右と斜め方向の6個の差分の符号sgn( )により修正項Aを求める。具体的には、次のようにして修正項Aを求める。
【0027】
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1
(第3実施形態)
また、評価関数J(u)として、J(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いるようにしてもよい。この場合、図10に示すように、注目画素値ui,jとその上下の画素値の差分および斜め方向の1個の差分を取り、それらの絶対値を上記の式で表わされるようにi,jを1から画素数Mまで加算して、J(u)の値を得る。また、この場合、最急降下法において、図11に示すように、注目画素値ui,jの上下左右と斜め方向の6個の差分の符号sgn( )により修正項Aを求める。具体的には、次のようにして修正項Aを求める。
【0028】
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1
上記した第1実施形態では、画素値のX方向とY方向の隣接画素の差分の絶対値和に斜め方向の隣接画素の差分の絶対値和が2つ加わるの対し、第2、第3実施形態では、画素値のX方向とY方向の隣接画素の差分の絶対値和に斜め方向の隣接画素の差分の絶対値和が1つ加わるが、この第2、第3実施形態においても、従来法に比べれば、繰り返し演算の一回の計算に用いる情報量が多くなるため、収束速度を向上させることができる。

【特許請求の範囲】
【請求項1】
入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
前記J(u)としてJ(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いることを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値である。
【請求項2】
入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
前記J(u)としてJ(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui+1,j+1−ui,j|)を用いることを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値である。
【請求項3】
入力画像から関数F(u)=J(u)+λΣ(ui,j−fi,jを最小とするような骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
前記J(u)としてJ(u)=Σ(|ui+1,j−ui,j|+|ui,j+1−ui,j|+|ui,j+1−ui+1,j|)を用いることを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1は隣接画素値である。
【請求項4】
入力画像から画像の骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段と、を備えたことを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【請求項5】
入力画像から画像の骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段と、を備えたことを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【請求項6】
入力画像から画像の骨格成分を求める画像処理用のTotal Variation フィルタにおいて、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段と、を備えたことを特徴とする画像処理用のTotal Variation フィルタ。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【請求項7】
入力画像から画像の骨格成分を求めるための画像処理プログラムであって、
コンピュータを、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段として機能させることを特徴とする画像処理プログラム。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【請求項8】
入力画像から画像の骨格成分を求めるための画像処理プログラムであって、
コンピュータを、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui+1,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui-1,j-1)+sgn(ui,j−ui,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段として機能させることを特徴とする画像処理プログラム。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1、ui+1,j+1は隣接画素値、λ、αはそれぞれ正の定数である。
【請求項9】
入力画像から画像の骨格成分を求めるための画像処理プログラムであって、
コンピュータを、
A=sgn(ui,j−ui+1,j)+sgn(ui,j−ui,j+1)+sgn(ui,j−ui-1,j)+sgn(ui,j−ui,j-1)+sgn(ui,j−ui-1,j+1)+sgn(ui,j−ui+1,j-1)を求める第1の手段と、
現在のui,jに−α{2λ(ui,j−fi,j)+A}を加算して、ui,jを更新する第2の手段と、
前記第1の手段と前記第2の手段の処理をN回繰り返させることにより、骨格成分を得る第3の手段として機能させることを特徴とする画像処理プログラム。
但し、fi,jは入力画素値、ui,jは注目画素値、ui+1,j、ui,j+1は隣接画素値、λ、αはそれぞれ正の定数である。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−180717(P2011−180717A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−42643(P2010−42643)
【出願日】平成22年2月26日(2010.2.26)
【出願人】(304021277)国立大学法人 名古屋工業大学 (784)
【Fターム(参考)】