本発明の一実施形態は、複数枚の画像から隠れパラメータとして定義された背景画像と少なくとも2つ以上の被写体画像と前記各被写体画像の形状と前記各被写体画像の動きとを同時に抽出する画像処理方法であって、複数枚の画像の入力を受け付ける画像入力ステップと、繰り返し学習法を用いて、前記複数枚の画像と前記隠れパラメータの少なくとも1つの条件を示す拘束条件パラメータとから隠れパラメータを推定する隠れパラメータ推定ステップと、前記隠れパラメータ推定ステップでの推定結果を教師信号として、前記隠れパラメータに関する前記拘束条件パラメータの学習を行う拘束条件パラメータ学習ステップと、前記拘束条件パラメータ学習ステップによる前記拘束条件パラメータの学習結果を用いた前記隠れパラメータ推定ステップによる前記隠れパラメータの推定と、前記隠れパラメータ推定ステップによる前記隠れパラメータの推定結果を用いた前記拘束条件パラメータ学習ステップによる前記拘束条件パラメータの学習とを繰り返す制御をする相補学習ステップと、前記相補学習ステップによる学習の繰り返し後において前記隠れパラメータ推定ステップで推定された隠れパラメータを出力する出力ステップとを含む画像処理方法としたものであり、隠れパラメータの少なくとも1つの条件を示す拘束条件パラメータを用いて隠れパラメータを推定するので、局所解を回避しながら、複数枚の画像から背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時に抽出することが可能である。
本発明のより好ましい形態は、前記拘束条件パラメータは、各被写体画像領域の大きさ、各被写体画像の色、各被写体画像に含まれる画素の動きのうち、少なくともいずれか1つの条件に関するパラメータであることを特徴とする画像処理方法としたものであり、各被写体画像領域の大きさ、各被写体画像の色、各被写体画像に含まれる画素の動きに関する情報が隠れパラメータ推定に対して良い制約条件となり局所解回避に有効に作用する。
本発明のより好ましい形態は、前記拘束条件パラメータ学習ステップでは、画像からペアとなる近傍画素を選択し、それぞれの画素が背景画像領域もしくは各被写体画像領域のいずれに属するかを判定し、それぞれの画素が異なる領域に属する場合と同じ領域に属する場合に、それぞれ異なる拘束を隠れパラメータに与えることを特徴とする画像処理方法としたものであり、画素が異なる領域に属する場合と同じ領域に属する場合で異なる拘束が隠れパラメータに与えられるので、複数の被写体をより効率よく分離して抽出することが可能になる。
本発明のより好ましい形態は、前記拘束条件パラメータ学習ステップでは、隠れパラメータ推定ステップの推定結果を教師信号として、エネルギー極小化法を用いて拘束条件パラメータを学習することを特徴とする画像処理方法としたものであり、隠れパラメータ推定ステップの推定結果を教師信号とすることで、拘束条件パラメータを自動的かつ隠れパラメータと同時に抽出することが可能である。
本発明のより好ましい形態は、前記隠れパラメータは確率分布で表現されることを特徴とする画像処理方法としたものであり、それぞれの隠れパラメータが確率分布で表現されることによって、被写体の変形や被写体の複雑な動きへの許容度が大きくなる。
本発明のより好ましい形態は、前記出力ステップで出力された隠れパラメータである背景画像と各被写体画像とを受け取り、受け取った前記背景画像に対して前記各被写体画像を上書きすることによって新たに画像を生成する合成画像生成ステップと、前記合成画像生成ステップで生成された画像と前記入力画像との誤差を算出する誤差算出ステップと、前記誤差算出ステップで算出された誤差が規定値以上の場合に入力画像枚数を増やして前記隠れパラメータ推定ステップと前記拘束条件パラメータ学習ステップとの繰り返しによる再度の処理を行うかもしくはユーザに対して入力画像枚数が不足していることを提示する画像枚数判定ステップとをさらに含む画像処理方法としたものであり、隠れパラメータの適切な抽出に必要な入力画像枚数を決定することができる。
本発明のより好ましい形態は、前記出力ステップは、前記隠れパラメータである背景画像と各被写体画像を、それぞれ別々に保存もしくは出力する画像データ分割ステップをさらに含むことを特徴とする画像処理方法としたものであり、抽出した背景画像と各被写体画像をそれぞれ別々に保持することによって、前記背景画像と各被写体画像の中から必要な画像のみを選択して保存したり、外部に出力することによって、図形要素として効率的な保存および出力が可能になる。
本発明の一実施形態は、前記画像入力ステップでは、時系列に並んだ複数枚の画像の入力を受け付け、前記出力ステップで出力された隠れパラメータである背景画像と被写体画像と前記被写体画像の形状と前記被写体の動きとを受け取り、受け取った前記背景画像と前記被写体画像と前記被写体画像の形状と前記被写体の動きから、入力画像間の中間時間における前記被写体画像を生成し、中間時間における被写体画像をその時間における背景画像に上書きすることによって中間時間画像を生成する中間時間画像生成ステップをさらに含む画像処理方法としたものであり、抽出した背景画像と被写体画像と被写体画像の形状と被写体の動きから中間時間画像を生成することが可能である。これによって、入力画像シーケンスよりもさらに時間解像度を高めた画像を生成することが可能である。
本発明のより好ましい形態は、前記隠れパラメータ推定ステップでは、さらに、前記隠れパラメータの1つとして、画像の劣化過程を表現する点拡がり関数(Point Spread Function)のパラメータを保持し、その逆関数を推定することによって入力画像よりも高画質化された前記背景画像と前記被写体画像を生成することを特徴とする画像処理方法としたものであり、背景画像と被写体画像を入力画像よりも高画質にて抽出することが可能である。
本発明のより好ましい形態は、前記出力ステップで出力された隠れパラメータである背景画像と各被写体画像とを受け取り、受け取った前記背景画像と前記各被写体画像の画素値の信頼性が小さい場合に、その画素値を近傍領域の画素値を用いて補間する画素値補間ステップをさらに含むことを特徴とする画像処理方法としたものであり、抽出すべき背景画像と各被写体画像の画素値が不定である場合に、近傍の画素値を用いて補間することで、よりノイズの少ない背景画像と各被写体画像を抽出することが可能である。
本発明の一実施形態は、前記出力ステップで出力された隠れパラメータである前記被写体画像もしくは前記被写体画像の形状をモニタ等に表示し、表示された前記被写体のうち少なくとも1つをユーザが選択することができるようにした被写体表示ステップと、背景画像にユーザが選択した前記被写体画像もしくは前記被写体画像の形状に該当しない被写体画像を上書きすることによって、ユーザが選択した被写体を消去し、消去した被写体領域を背景画像で埋めた画像を生成する画像生成ステップとをさらに含む画像処理方法としたものであり、ユーザが選択した不要な被写体をワンタッチで消去するだけでなく、消去した領域を背景画像で埋めた画像を生成することが可能である。
本発明の一実施形態は、前記隠れパラメータとしてカメラの動きに起因する背景画像の動きをさらに含む画像処理方法としたものであり、カメラ動きに対応した背景画像と少なくとも2つ以上の被写体画像と前記各被写体画像の形状と前記各被写体画像の動きとを同時に抽出することが可能となる。
以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は、実施の形態1における画像処理装置の構成を示す図である。図1の画像処理装置は、複数枚の画像から隠れパラメータとして定義された背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時かつ安定に抽出する装置であり、画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104及び出力部105を備える。
画像入力部101は、複数枚の画像の入力を受け付ける処理部である。ここで、複数枚の画像は必ずしも時系列に並んでいる必要はない。
隠れパラメータ推定部102は、入力された複数枚の画像から背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きを隠れパラメータとして定義し、繰り返し学習法を用いて複数枚の画像と隠れパラメータの少なくとも1つの条件を示す拘束条件パラメータとから隠れパラメータを推定する処理部である。
拘束条件パラメータ学習部103は、隠れパラメータ推定部102での推定結果を教師信号として、隠れパラメータに関する拘束条件パラメータの学習を行う処理部であり、本実施の形態では、各被写体画像領域の大きさ、各被写体画像の色、各被写体画像に含まれる画素の動き等の被写体に関する拘束条件パラメータを学習する。前記隠れパラメータにおける推定結果を教師信号として拘束条件パラメータを学習するため、教師信号を別途与える必要が無く自動的に学習することができる。そのため、あらかじめシーンに対する知識を与える必要が無く、適用可能なシーンが限定されない。
相補学習部104は、拘束条件パラメータ学習部103による拘束条件パラメータの学習結果を用いた隠れパラメータ推定部102による隠れパラメータの推定と、隠れパラメータ推定部102による隠れパラメータの推定結果を用いた拘束条件パラメータ学習部103による拘束条件パラメータの学習とを繰り返す制御をする処理部である。具体的には、相補学習部104は、拘束条件パラメータ学習部103で学習した被写体に関する拘束条件パラメータを隠れパラメータ推定部102へ送る。そして、隠れパラメータ推定部102では、相補学習部104から受け付けた拘束条件パラメータを用いて、再度隠れパラメータを抽出する。この動作を繰り返すことによって、局所解を回避しながら、隠れパラメータとして定義された背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時に抽出することが可能である。
出力部105は、相補学習部104による学習の繰り返し後において隠れパラメータ推定部102で推定された隠れパラメータを出力する処理部である。つまり、この出力部105は、本画像処理装置によって同時に抽出された背景画像と少なくとも2つ以上の被写体画像と前記各被写体画像の形状と前記各被写体画像の動きとを、本画像処理装置の処理結果として、外部に出力する。
なお、この画像処理装置を構成する各構成要素(画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104及び出力部105)は、CPU、RAM、ROM、I/Oポート、ハードディスク、ディスプレイ等を備えるコンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路等のハードウェアで実現されてもよい。以下、他の実施の形態における画像処理装置についても同様である。
以下に、本発明の画像処理方法について、図2のフローチャートを用いて2つの被写体を抽出する例について詳細に説明する。もちろん、3つ以上の被写体へも容易に拡張可能である。
まず、S201にて、画像入力部101は、複数枚の入力画像を受け付ける。
次に、S202にて、、隠れパラメータ推定部102は、隠れパラメータを推定する。ここで、隠れパラメータについて図3を用いて説明する。入力画像x301は、ノイズβ302、背景b303、被写体1画像f1304、被写体2画像f2305、被写体1の動きT1306、被写体2の動きT2307、被写体1らしさπ1308、被写体1らしさπ2309、被写体1の形状m1310、被写体2の形状m2311によって構成されていると仮定する。すなわち、ノイズβ302、背景b303、被写体1画像f1304、被写体2画像f2305、被写体1の動きT1306、被写体2の動きT2307、被写体1らしさπ1308、被写体1らしさπ2309、被写体1の形状m1310、被写体2の形状m2311は、それぞれ隠れパラメータである。また、3つ以上の被写体へ拡張するには、被写体画像fi、被写体らしさπi、被写体の動きTi、被写体の形状miを追加すれば良い。また、カメラの動きを考慮する場合には、被写体数が増えた時と同様に考えることができる。図4に示すように、図3の構造に加えてカメラ動きTb401、背景らしさπb402、背景形状mb403を隠れパラメータとして加えれば良い。次に、隠れパラメータを求める方法について図3に沿って詳しく説明する。ここでは、変分近似手法の一つである、非特許文献2の手法を用いて隠れパラメータを推定する方法について説明するが、隠れパラメータを推定する途中段階の結果が得られれば良いため、繰り返し学習法を用いた隠れパラメータ推定方法であれば何でも良い。
図3の構造を確率表現すると(式1)から(式3)のように表すことができる。
ここで、入力画像x301がガウス分布であると仮定すると
のように表すことができる。ここでNはガウス分布、δ(m=i)はデルタ関数を示す。
被写体の形状mは、形状情報のみを保持するのでバイナリで表現する。
ここで、δ(m=i)はデルタ関数である。ここでは、被写体2の形状m2311が最もカメラに近い位置に存在していることを示している。
また、ノイズβ302はガンマ分布、背景b303、被写体1画像f1304、被写体2画像f2305はガウス分布、被写体1の動きT1306、被写体2の動きT2307、被写体1の形状m1310、被写体2の形状m2311はディスクリート分布、被写体1らしさπ1308、被写体2らしさπ2309はベータ分布を仮定した場合について説明するが、それぞれの分布は上記に限定されるものではなく、仮定した分布の種類に応じた更新式を導けば良い。
非特許文献2の3ページに記載の方法では、求めたい隠れパラメータの分布を
とし隠れパラメータをまとめてHで表して、以下の関係式を定義している。
ここで、
は、自身の分布に関連する
を除いた状態におけるlnP(H,x)の期待値である。なお、lnP(H,x)は、(式1)の対数を取ったものと同じであるので、(式2)と(式3)を用いて次式のように展開できる。
そして、(式4)と(式5)の関係から、各隠れパラメータを求めるための更新式を導くことができる。以下に示す(式6)から(式26)の更新を一回の更新として、それを繰り返し行うことによって、各隠れパラメータを推定することが可能である。
まず、ノイズβ302の推定方法について述べる。ここでは、背景b303、被写体1画像f
1304、被写体2画像f
2305のそれぞれに個別のノイズを仮定した場合について説明する。ノイズβ302はガンマ分布を仮定したので、背景b303、被写体1画像f
1304、被写体2画像f
2305について、求めたいガンマ分布のパラメータ(u,v)をそれぞれ(uβ
_b,vβ
_b),(uβ
_f1,vβ
_f1),(uβ
_f2,vβ
_f2)とする。これらのパラメータを求めることが、すなわち隠れパラメータを推定することに相当する。また、(uβ
_b,vβ
_b),(uβ
_f1,vβ
_f1),(uβ
_f2,vβ
_f2)は、それぞれ入力画像1枚に対して1セットのパラメータ値を持つ。すなわち、ノイズβ302に関する入力枚数分の隠れパラメータセットが得られる。背景b303のノイズβ302については、次の更新式によってパラメータを推定する。なお、以下の説明において
は、
の期待値である。
また、被写体1画像f
1304のノイズβ302については、
のように表すことができる。
被写体2画像f2305のノイズβ302については、次の更新式によってパラメータを推定する。
以上のように、(式6)から(式11)のパラメータ更新を繰り返すことによって、ノイズβ302のパラメータが求められる。
次に、隠れパラメータ推定部102による背景b303、被写体1画像f1304、被写体2画像f2305の推定方法について述べる。ここでは、背景b303、被写体1画像f1304、被写体2画像f2305はガウス分布を仮定し、それぞれ求めたいガウス分布のパラメータ(u,v)を(uf2,vf2),(uf1,vf1),(ub,vb)とする。また、(uf2,vf2),(uf1,vf1),(ub,vb)は、それぞれ1画素に対応し、それを画像サイズ分計算することによって、複数枚の入力画像から、それぞれ1枚の背景b303、被写体1画像f1304、被写体2画像f2305を推定する。
背景b303については、次の更新式によってパラメータを推定する。
背景b303のガウス分布パラメータ(ub,vb)は(式12)と(式13)からそれぞれ求めることができる。
被写体1画像f1304については、次の更新式によってパラメータを推定する。
から同様に求めることができる。被写体2画像f
2305についても同様に
である。
以上のように(式12)から(式17)の更新を繰り返すことによって、背景b303、被写体1画像f1304、被写体2画像f2305の各隠れパラメータが求められる。
次に、隠れパラメータ推定部102による被写体1の動きT1306、被写体2の動きT2307の推定方法について述べる。ここでは、被写体1の動きT1306、被写体2の動きT2307はディスクリート分布を仮定する。ここでT1およびT2は、被写体1画像f1304および被写体2画像f2305の各画素がどの画素に動くかを示すものである。すなわち、入力画像枚数分に対応する動きを推定する。更新は次式のように行う。
このように、(式18)と(式19)の更新を繰り返すことによって、被写体1の動きT1306、被写体2の動きT2307の推定ができる。
次に、隠れパラメータ推定部102による被写体1らしさπ1308、被写体2らしさπ2309の推定方法について述べる。ここでは、被写体1らしさπ1308、被写体2らしさπ2309としてベータ分布を仮定し、それぞれ求めたいベータ分布のパラメータ(u,v)を(uπ2,vπ2),(uπ1,vπ1)とする。また、(uπ2,vπ2),(uπ1,vπ1)は、それぞれ1画素に対応し画像サイズ分計算することによってそれぞれ画像1枚のサイズに対応する被写体1らしさπ1308および被写体2らしさπ2309を推定する。
被写体1らしさπ1308については、次の更新式によってパラメータを推定する。
被写体2らしさπ2309についても同様に推定できる。
以上のように、(式20)から(式23)の更新を繰り返すことによって、被写体1らしさπ1308、被写体2らしさπ2309の各パラメータが求められる。
次に、隠れパラメータ推定部102による被写体1の形状m1310、被写体2の形状m2311の推定方法について述べる。被写体1の形状m1310、被写体2の形状m2311としてディスクリート分布を仮定する。ここで、被写体1の形状m1310、被写体2の形状m2311は、入力画像枚数分の被写体形状情報を保持する。更新は以下のように行う。
ここで、(式24)と(式25)から被写体1の形状m
1310、被写体2の形状m
2311を求めても良いし、(式26)を用いて
の拘束のもとに正規化を行った後に被写体1の形状m
1310、被写体2の形状m
2311を求めても良い。
以上のようにして、(式6)から(式26)に示したように、変分近似に基づく繰り返し学習法を用いて、各隠れパラメータを推定することができる。
次に、S203にて、隠れパラメータ推定部102は、図5に示すようにS202で推定した隠れパラメータ推定結果を拘束条件パラメータ学習部103に送信する。ここでは、隠れパラメータである被写体1の形状m1310、被写体2の形状m2311を拘束条件パラメータの学習に用いる例について説明するが、拘束条件パラメータの学習は、被写体の形状に限定されるものではなく前述の隠れパラメータであればよい。
次に、S204にて、拘束条件パラメータ学習部103は、S203で送信した隠れパラメータの推定結果を教師信号として拘束条件パラメータを学習する。ここでは、被写体1の形状m
1310、被写体2の形状m
2311の隠れパラメータ推定結果を
として、被写体1の形状m
1310、被写体2の形状m
2311に関する拘束条件パラメータを学習する例について説明する。まず、拘束条件パラメータとして、被写体1の形状m
1310である確率p
c(m=1|x)、被写体2の形状m
2311である確率p
c(m=2|x)を新たに定義する。すなわち、拘束条件パラメータ学習部では、隠れパラメータ推定部の隠れパラメータ推定とは別に、拘束条件パラメータp
c(m
i|x)を学習する。
拘束条件パラメータpc(mi|x)を被写体1の形状m1310、被写体2の形状m2311について表現するとそれぞれ以下のようになる。
ここで、pc(m=0|x)は背景に関するものである。また、Zは正規化定数であり
次式のように表せる。
ここで、Ψは拘束条件パラメータを求める時に用いる入力ベクトルである。例えば、被写体の大きさを表現するためのピクセル位置情報、被写体の色を表現するピクセル色情報、被写体の動きを表現するためのピクセル動き情報等がこれに当たる。詳細は後述する。
次に、(式28)から(式30)より、
と表すことができ、その対数を取って次式のように表すことができる。
ここで、
は、S203で隠れパラメータ推定部102より送信された隠れパラメータ推定結果である。そして、拘束条件パラメータ学習部103は、(式33)を最小化するw
1,w
2を求めることで、(式28)から(式30)に示した拘束条件パラメータを学習する。例として、w
1を求める方法を説明する。
(式34)が0となるw
1を算出することは、拘束条件パラメータp
c(m
i|x)502が隠れパラメータ推定部で推定した
と同じとなることを意味する。すなわち、
を教師信号として拘束条件パラメータp
c(m
i|x)502を学習することになる。さらに、(式34)の利点は、あらかじめ画像シーンに対する知識を与えることなく、自動的に拘束条件パラメータを学習できることにある。すなわち、利用できる画像シーンを限定しない。
具体的なw1の算出例を以下に示す。ここでは、ニュートン・ラフソン法を用いる例について説明するが、(式34)を最小化する他のエネルギー極小化法を用いることもできる。
また、拘束条件パラメータ学習部103において、学習すべき拘束条件パラメータを隠れパラメータ推定部102と同様に隠れパラメータとして記述し、それを学習することもできる。これについては、実施の形態6で説明する。
最小化すべき関数を次式で表し、画像サイズをM×Nとすると、
ニュートン・ラフソン法により、
を導くことができる。これにより、w
1を算出可能である。なお、g(w
1 t)は1階微分、H(w
1 t)はヘシアンである。以上によって、(式28)から(式30)の拘束条件パラメータp
c(m
i|x)502を推定することが可能となる。
もちろん、w2についても同様であるので説明を省略する。
ここで、(式28)および(式29)において、拘束条件パラメータを求める時に用いる入力ベクトルΨの具体例について説明する。例えば、被写体の大きさを表現するためのピクセル位置情報を用いる場合は、次式のように表せる。
ここで、1はバイアス項、a,bはそれぞれ入力画像より得られるピクセル座標値である。
次に、被写体のピクセル色情報を用いる場合は、次式のように表せる。
次に、ピクセル動き情報を用いる場合は次のように表せる。
f
x1,f
y1,…f
xK,f
yKは、画像の各画素における動きベクトルである。また、非特許文献5のトラッキング技術を用いて抽出した動きベクトルを用いても良い。
Jianbo Shi and Carlo Tomasi, "Good Features to Track", IEEE Conference on Computer Vision and Pattern Recognition, p593−600, 1994
また、拘束条件パラメータを学習する場合に、上記複数の情報を組み合わせて使うことも可能である。例えば、(式38)から(式40)に挙げた複数の入力ベクトルを1つのベクトルに繋げて処理しても良いし、入力情報の種類ごとに(式28)から(式30)を定義してそれぞれ推定しても良いし、入力情報の種類ごとに拘束条件パラメータに重み付けをしても良い。
ここで、(式28)および(式29)の変形例について説明する。拘束条件パラメータ学習部103は、画像からペアとなる2画素を選択し、それぞれの画素が被写体1の形状m1310、被写体2の形状m2311、それ以外の背景のいずれに属するかを判定し、それぞれの画素が異なる領域に属する場合と同じ領域に属する場合とによって、それぞれ異なる拘束条件パラメータを学習する。
ここで、拘束条件パラメータをp'
c(m
i|x)とすると、
ここで、jは画素iの近傍である。
近傍画素が属する被写体情報を用いることによって、画素間の独立性を減らすことができるため複数の被写体をより効率よく分離して抽出することが可能になる。
以下、拘束条件パラメータpc(mi|x)を用いた例で説明するが、pc(mi|x)の代わりにp'c(mi|x)を用いても構わない。
次に、S205にて、相補学習部104は、図5に示したように拘束条件パラメータpc(mi|x)502を隠れパラメータ推定部102へ送信する。そして、S202と同様の処理を行う。この時、拘束条件パラメータpc(mi|x)は、被写体1の形状m1310、被写体2の形状m2311を求めるための拘束条件として作用する。具体的には、(式24)、(式25)の代わりに次式を用いる。
これによって、隠れパラメータ推定部102は、局所解を回避しながら隠れパラメータを推定可能である。ここでは、被写体1の形状m1310、被写体2の形状m2311について、拘束条件パラメータを学習する場合について説明したが、他の隠れパラメータについても(式43)、(式44)と同様に拘束条件パラメータを付加することが可能である。さらに、隠れパラメータ推定部102では、すべての隠れパラメータを同時に最適化するために、被写体1の形状m1310、被写体2の形状m2311のみに制約条件パラメータを付加した場合であっても、他の隠れパラメータに局所解回避の効力を及ぼすことができる。そのため、求めたい隠れパラメータである背景b303、被写体1画像f1304、被写体2画像f2305、被写体1の動きT1306、被写体2の動きT2307に対して、直接的に拘束条件パラメータを付加しなくとも、局所解を回避した隠れパラメータ推定が可能である。
最後に、相補学習部104による制御の下で、隠れパラメータ推定部102と拘束条件パラメータ学習部103とが、S202からS205を規定回数N回繰り返した後、出力部105は、S206にて、隠れパラメータ推定部102で推定された結果を画像として出力する。図6に入力画像から得られた背景b303、被写体1画像f1304、被写体2画像f2305の例を示す。背景b303、被写体1画像f1304、被写体2画像f2305は、(式12)から(式17)の計算により画素ごとに得られたガウス分布のパラメータ(uf2,vf2),(uf1,vf1),(ub,vb)から決定する。具体的には、ガウス分布の平均値であるuf2,uf1,ubをそれぞれの画素値として用いる。
ここで、図6に示すように背景b303、被写体1画像f1304、被写体2画像f2305は複数枚の入力画像から1枚生成されるものである。そのため、各入力画像に対応した被写体1画像シーケンス601、被写体2画像シーケンス602は、Tfにより生成する。具体的には、生成された被写体1画像f1304と被写体2画像f2305の各画素を、それぞれ被写体1の動きT1306、被写体2の動きT2307を用いて動かすことによって生成する。なお、Tfによって生成した画像に対して、推定した被写体1の形状m1310、被写体2の形状m2311をかけても良い。この場合、形状情報でマスクをかけたことになるため、ノイズ除去の効果が期待できる。
以上によって、局所解を回避しながら、複数枚の画像から背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時に推定することが可能である。
さらに、上述の構成に加えて、図7に示される本発明の実施の形態1の第1変形例における画像処理装置のように、出力部105内に、画像データ分割部701を付加することによって、出力部105は、背景b303、被写体1画像シーケンス601、被写体2画像シーケンス602を別々に保存したり、別々に外部に出力(転送)することも可能である。図8のフローチャートで説明すると、出力部105は、S801にて1枚の背景b303と、被写体1画像シーケンス601と被写体2画像シーケンス602とを別々に転送する。これによって、カメラが固定の場合は、入力画像枚数をN枚とするとN−1枚の背景領域分の情報を削減することができる。さらに、運動の解析装置や監視装置等、被写体の動作のみが重要な場合においては、被写体1画像シーケンス601と被写体2画像シーケンス602のみを転送することもできる。以上のように、効率的な保存および転送が可能になる。
次に、実施の形態1において入力画像枚数を決定する機能を付加した本発明の実施の形態1の第2変形例における画像処理装置について説明する。
実施の形態1で説明した画像処理方法において、適切に隠れパラメータを抽出可能な入力画像枚数は画像シーンに大きく依存する。そのため、あらかじめ入力画像枚数を決定しておくことは難しい。例えば、被写体がほとんど動かない画像を複数枚入力しても、適切な背景画像は抽出できない。そのため、入力画像に応じて適切な画像枚数を決定する必要がある。
図9に実施の形態1の第2変形例による処理の概略を示す。この画像処理装置は、実施の形態1の画像処理装置の機能に加えて、入力画像に応じて適切な画像枚数を決定する機能をもつ装置であり、画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104、出力部105、合成画像生成部901、誤差算出部902及び画像枚数判定部903を備える。画像入力部101から出力部105までは実施の形態1と同じであるため省略する。
隠れパラメータ推定部102において、図6に示したように隠れパラメータとして抽出した背景b303、被写体1画像f1304、被写体2画像f2305と、被写体1の動きT1306、被写体2の動きT2307から、各入力画像に対応した被写体1画像シーケンス601、被写体2画像シーケンス602を生成する。もちろん、生成した画像に対して隠れパラメータ推定部102で推定した被写体1の形状m1310、被写体2の形状m2311を用いても良い。
合成画像生成部901は、隠れパラメータ推定部102から出力部105を介して出力された隠れパラメータである背景画像と各被写体画像とを受け取り、受け取った背景画像に対して各被写体画像を上書きすることによって新たに画像を生成する処理部であり、本実施の形態では、背景b303と被写体1画像シーケンス601、被写体2画像シーケンス602を用いて入力画像と同じ枚数の合成画像を生成する。
誤差算出部902は、入力画像と合成画像生成部901で生成された合成画像との誤差を算出する処理部である。
画像枚数判定部903は、誤差算出部902で算出された誤差が規定値以上の場合に入力画像枚数を増やして隠れパラメータ推定部102と拘束条件パラメータ学習部103での繰り返し処理を行わせる制御をする処理部であり、誤差値を設定した値と比較し、誤差値が設定した値よりも大きい場合には、画像枚数を増やして再度処理を実行する信号を画像入力部101に送信する。また、誤差値が設定した値よりも小さい場合は、そこで処理を終了する。
また、図11に示す本発明の実施の形態1の第3変形例における画像処理装置のように、ユーザ入力部1101を追加して、入力画像枚数が足りない旨をユーザに通知し、ユーザーに入力画像枚数を増やして再度処理を実行するように促すことも可能である。
以下に、本発明の画像処理方法における入力画像枚数を決定する例について、本発明の実施の形態1の第2変形例における画像処理装置の動作を示す図10のフローチャートを用いて詳細に説明する。
S201からS206までは、実施の形態1と同様であるので説明を省略する。
次に、S1001にて、合成画像生成部901は、背景b303と被写体1画像シーケンス601、被写体2画像シーケンス602から次のように合成画像stを生成する。図12に示すように、背景b303に、被写体1画像シーケンス601を用いて上書きすることで合成画像シーケンスA1201を生成する。ここで上書きとは、背景画像と被写体1画像シーケンス601の1枚の画像において同じ位置にあるピクセルは、被写体1画像シーケンス601の画像の画素値で置き換えることを意味する。次に、被写体2画像シーケンス602を用いて上書きすることで、合成画像シーケンスB1202を生成する。ここでの上書きは、合成画像シーケンスA1201と被写体2画像シーケンス602のそれぞれ1枚の画像において、同じ一にあるピクセルは被写体2画像シーケンス602の画像の画素値で置き換えられることを意味する。なお、上書きの順番は、(式3)の定義に従う。また、被写体数が増えた場合や図4のようにカメラ動きを含む場合も同様に取り扱うことが可能である。
次に、S1002にて、誤差算出部902は、合成画像シーケンスB1202stと入力画像xtとの誤差を以下のように計算する。
ここで、tは入力画像と合成画像の番号を示す。ただし、入力画像と合成画像との対応が取れていればよく、時間順に並んでいる必要は無い。M,Nは画像サイズである。もちろん、合成画像と入力画像との誤差計算はS/N等、他の計算方法を用いても良い。
次に、画像枚数判定部903は、Err値と設定した値とを比較し、Err値が設定した値を超えている場合は、S1003にて画像入力部101に入力画像を追加する信号を送信する。そして、画像枚数判定部903は、入力画像を増やした後に、再度S201から処理を行う。また、図11に示すように、ユーザ入力部1101で画像枚数が不足する旨の情報をユーザに表示しても構わない。
以上のようにして、適切に隠れパラメータを抽出可能な入力画像枚数を決定することができる。
(実施の形態2)
本実施の形態では、実施の形態1で説明した画像処理方法を用いて、隠れパラメータとして抽出した被写体画像と被写体画像の形状と被写体の動きから、入力画像間の中間時間における被写体画像を生成し、中間時間における被写体画像をその時間における背景画像に上書きすることによって、中間時間画像を生成する方法について説明する。
図13は、実施の形態2における画像処理装置の構成を示す図である。
この画像処理装置は、実施の形態1の画像処理装置の機能に加えて、中間時間画像を生成する機能をもつ装置であり、画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104、出力部105及び中間時間画像生成部1301を備える。画像入力部101は、時系列に並んだ複数枚の画像を受け付ける。なお、隠れパラメータ推定部102から相補学習部104までは実施の形態1と同じであるため省略する。
中間時間画像生成部1301は、出力部105から出力された隠れパラメータである背景画像と被写体画像と前記被写体画像の形状と前記被写体の動きとを受け取り、受け取った前記背景画像と前記被写体画像と前記被写体画像の形状と前記被写体の動きから、入力画像間の中間時間における前記被写体画像を生成し、中間時間における被写体画像をその時間における背景画像に上書きすることによって中間時間画像を生成する処理部であり、本実施の形態では、隠れパラメータ推定部102において、隠れパラメータとして抽出した背景b303、被写体1画像f1304、被写体2画像f2305と、被写体1の動きT1306、被写体2の動きT2307を用いて、中間時間における被写体の画像を生成し背景画像に上書きすることによって、少なくとも2枚以上の入力画像の中間時間に相当する画像を生成する。なお、カメラ動きを考慮する場合には、図4に示すように背景b303も動きのある被写体の1つと見なすことによって、カメラ動きに基づいた中間時間画像の生成が可能である。
この中間時間画像生成部1301は、図15に示されるように、被写体中間時間画像生成部1501と被写体画像上書き部1502で構成される。被写体中間時間画像生成部1501は、出力部105から出力された隠れパラメータである背景画像と被写体画像と前記被写体画像の形状と前記被写体の動きとを受け取り、受け取った前記背景画像と前記被写体画像と前記被写体画像の形状と前記被写体の動きから、入力画像間の中間時間における前記被写体画像を生成する処理部である。被写体画像上書き部1502は、被写体中間時間画像生成部1501によって生成された中間時間における被写体画像をその時間における背景画像に上書きすることによって中間時間画像を生成する処理部である。
以下に、本発明の画像処理方法について、図14のフローチャートを用いて詳しく説明する。
まず、S201にて、画像入力部101は、時系列に並んだ複数枚の入力画像を受け付ける。ここでは、各画像が時間に関する情報を保持しているものとする。
S202からS206までは、実施の形態1と同様であるので説明を省略する。
次にS1401にて、図15に示すように、被写体中間時間画像生成部1501は、S206にて得られた背景b303、被写体1画像f1304、被写体2画像f2305、被写体1の動きT1306、被写体2の動きT2307を用いて中間時間における被写体画像を生成する。ここでは、図16に示すように、時間解像度をn倍するための被写体1の中間時間画像f'1 t+i、f'1 t+jを生成する方法について説明する。なお、時間的に隣り合う入力画像に対応する被写体画像をf1 t、f1 t+n、f1 t+2nと表記することとする。まず、時刻tにおける被写体画像f1 t1601と時刻t+nにおける被写体画像f1 t+n1602と時刻t+2nにおける被写体画像f1 t+2n1603は、実施の形態1の図6で説明したとおり、被写体1画像f1304の各画素を被写体1の動きT1306を用いて動かすことによって生成することができる。そして、被写体1の中間時間画像f' 1 t+i1604は、次式のように中間時間における被写体1の動きT' 1 t+iを推定し、推定した被写体1の動きT' 1 t+iと被写体1画像f1304とを用いて被写体画像f1 t1601等の生成と同様の方法で生成可能である。
なお、中間時間画像f' 1 t+j1605についても同様であるため、説明を省略する。
さらに、
とすることによって、加速度を考慮した被写体1の動きT'
1 t+iを推定することも可能である。被写体の動きに変化がある場合に特に有効である。もちろん、この場合も被写体1画像f
1304と推定した被写体1の動きT'
1 t+iを用いて被写体画像f
1 t1601と同様の方法で被写体1の中間時間画像f'
1 t+i1604を生成可能である。もちろん被写体2の中間時間画像の生成も同様である。
次に、S1402では、被写体画像上書き部1502は、生成した中間時間における被写体画像を背景画像に上書きすることによって中間時間画像を生成する。まず、入力画像と同じ時刻における画像については、入力画像をそのまま用いるか、もしくは、図9の合成画像生成部901における合成画像の生成処理と同様の処理を行うことで生成できる。そして、被写体1の中間時間画像f'1 t+i1604の場合も合成画像生成部901と同様に、背景b303に対して、生成した中間時間における被写体1の中間時間画像f'1 t+i1604およびf'1 t+j1605を用いて上書きする。
被写体2画像については、被写体1画像を用いて生成した合成画像に対して、同様に上書きを行う。なお、上書きの順番は、(式3)の定義に従う。また、被写体数が増えた場合や図4のようにカメラ動きを含む場合も同様に取り扱うことが可能である。
以上のように、抽出した背景画像と被写体画像と被写体画像の形状と被写体の動きから中間時間画像を生成することが可能である。これによって、入力画像シーケンスよりもさらに時間解像度を高めた画像を生成することが可能である。また、この画像処理方法をビデオカメラやTV等のAV機器に内蔵することによって、撮影した映像や記録した映像から時間解像度を高めた映像を生成することも可能である。
(実施の形態3)
本実施の形態では、実施の形態1で説明した画像処理方法を用いて、隠れパラメータとして抽出した前記被写体画像もしくは前記被写体画像の形状をモニタ等に表示し、表示された前記被写体をユーザが選択することができるようにして、ユーザが選択した前記被写体画像を消去し、消去した被写体領域を背景画像で埋めた画像を生成する方法について説明する。
図17は、実施の形態3における画像処理装置の構成を示す図である。この画像処理装置は、実施の形態1の画像処理装置の機能に加えて、ユーザが選択した被写体画像を消去する機能をもつ装置であり、画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104、出力部105、被写体表示部1701、ユーザ入力部1702及び画像生成部1703を備える。画像入力部101から相補学習部104までは実施の形態1と同じであるため省略する。
被写体表示部1701は、出力部105から出力された隠れパラメータである被写体画像もしくは被写体画像の形状をモニタ等に表示する処理部であり、本実施の形態では、隠れパラメータ推定部102において、隠れパラメータとして抽出した背景b303、被写体1画像f1304、被写体2画像f2305から、少なくとも1枚の合成画像を生成し、被写体1画像f1304と被写体2画像f2305を識別可能なように表示する。
ユーザ入力部1702は、被写体表示部1701によって表示された被写体のうち少なくとも1つの選択をユーザから取得する処理部であり、本実施の形態では、ユーザーが被写体表示部1701で表示された被写体画像から不要な被写体画像を選択する操作を受け付ける。
画像生成部1703は、背景画像にユーザが選択した被写体画像もしくは被写体画像の形状に該当しない被写体画像を上書きすることによって、ユーザが選択した被写体を消去し、消去した被写体領域を背景画像で埋めた画像を生成する処理部であり、本実施の形態では、背景画像に対して、ユーザが選択しなかった被写体画像を上書きすることによってユーザが選択した被写体を消去し、消去した被写体領域を背景画像で埋めた画像を生成する。
以下に、本発明の画像処理方法について、図18のフローチャートを用いて詳しく説明する。S201からS206までは、実施の形態1と同様であるので説明を省略する。
次に、S1801にて、隠れパラメータ推定部102は、隠れパラメータとして抽出した背景b303、被写体1画像f1304、被写体2画像f2305から、少なくとも1枚の合成画像を生成する。具体的には、背景b303に被写体1画像f1304を用いて上書きする。ここで上書きとは、画像において同じ位置にある画素値を、被写体1画像f1304の画素値で置き換えることを意味する。次に、前記上書きされた画像に対して、被写体2画像f2305を用いて上書きする。この時、被写体1画像f1304と被写体2画像f2305とができるだけ重ならないように合成することが望ましい。そして、被写体表示部1701は、隠れパラメータ推定部102で生成された画像を、出力部105を介して受け取り、図19の表示画像A1901、表示画像B1902に示すようにユーザが被写体1画像1903、被写体2画像1904を識別しやすいように色分けする等してモニタ等に表示する。
次に、S1802では、ユーザ入力部1702は、モニタ等に表示された合成画像から、ユーザが不要な被写体画像を選択する操作を受け付ける。この時、ビデオカメラやTV等のAV機器、もしくはそのリモートコントローラー等に装備されたダイヤル等を回すことによって特定の被写体画像のみを選択できるようにしても良いし、マウスでクリックすることで選択できるようにしても良いし、モニタやビデオカメラに装備されたタッチパネルで直接選択できるようにしても良い。また、不要な被写体画像の数は限定されない。例えば、すべての被写体画像を不要な被写体として選択することによって、背景画像だけを得ることも可能である。
次に、S1803では、画像生成部1703は、ユーザが選択した被写体を消去し、消去した被写体領域を背景画像で埋めた画像を生成する。図19にユーザが不要被写体として被写体2画像1904を選択した場合に生成される不要被写体消去画像シーケンス1905の例を挙げる。具体的には、ユーザが選択しなかった被写体画像を用いて被写体画像シーケンスを生成し、その被写体画像シーケンスを背景b303に順次上書きする。この画像生成の手順については、合成画像生成部901と同様であるので説明を省略する。なお、上書きの順番は、(式3)の定義に従うが、ユーザーが選択した被写体画像に対しては上書き処理を行わないものとする。また、被写体数が増えた場合や図4のようにカメラ動きを含む場合も同様に取り扱うことが可能である。
ここで、隠れパラメータとして抽出された背景画像やそれぞれの被写体画像は、物体が物体を隠すことで背景や被写体の一部の画素情報が欠落するオクルージョンの影響を排除した画像である。そのため、消去した被写体画像が背景の一部や他の被写体の一部を隠していた場合においても、その隠れの影響を排除した画像シーケンスを生成することが可能である。
これにより、少なくとも1枚の画像からユーザが選択した不要な被写体をワンタッチで消去するだけでなく、消去した領域を背景画像で埋めた画像シーケンスを生成することが可能である。これによって、ビデオ撮影等で不要な被写体が撮影されてしまった場合に、後にその被写体を消去した映像を再生成することができる。
(実施の形態4)
本実施の形態では、実施の形態1から3において、抽出した背景画像と各被写体画像の画素値が不定である場合や信頼性が低い場合に、その画素値を近傍領域の画素値を用いて補間することによって、よりノイズの少ない背景画像と各被写体画像を抽出したり、中間時間画像を生成することが可能な手法について説明する。ここでは、中間時間画像の生成を例に説明するが、実施の形態1から3のすべての例において適用可能である。
図20は、実施の形態4における画像処理装置の構成を示す図である。この画像処理装置は、実施の形態1の画像処理装置の機能に加えて、画素補間によって中間時間画像を生成する機能をもつ装置であり、画像入力部101、隠れパラメータ推定部102、拘束条件パラメータ学習部103、相補学習部104、出力部105及び中間時間画像生成部1301aを備える。この中間時間画像生成部1301aは、画素値補間部2001と被写体中間時間画像生成部1501と被写体画像上書き部1502で構成される。画素値補間部2001は、出力部105から出力された隠れパラメータである背景画像と各被写体画像とを受け取り、受け取った背景画像と各被写体画像の画素値の信頼性が小さい場合に、その画素値を近傍領域の画素値を用いて補間する処理部であり、本実施の形態では、隠れパラメータ推定部102において抽出した背景画像と各被写体画像のガウス分布パラメータのプレシジョンに基づいて、信頼性の低い画素値を近傍領域の画素値を用いて補間する。なお、被写体中間時間画像生成部1501と被写体画像上書き部1502では、隠れパラメータ推定部102で抽出した画像の画素値の代わりに画素値補間部で補間した画素値を用いて中間時間画像を生成する。
以下に、本発明の画像処理方法について、図21のフローチャートを用いて詳しく説明する。S201からS205までは、実施の形態1と同様であるので説明を省略する。
次に、S2101では、画素値補間部2001は、S206にて、隠れパラメータ推定部102で(式12)から(式17)の計算により得られた、背景b303、被写体1画像f1304、被写体2画像f2305のガウス分布パラメータ(uf2,vf2),(uf1,vf1),(ub,vb)から、画素値の信頼性を判断する。具体的には、vf2,vf1,vbを画素値の信頼性判断基準として用いる。なお、vf2,vf1,vbは、分散の逆数であるプレシジョンであり画素ごとに得られる。そして、各画素の信頼性は、vf2,vf1,vbとあらかじめ設定した閾値TH_Pとの関係により判定する。
次に、S2102では、画素値補間部2001は、閾値TH_Pより小さいプレシジョンを持つ画素を近傍の画素値とプレシジョンを用いて補間する。
ここで、jは補間する画素の4近傍もしくは8近傍画素である。また、uf1_new、ub_newも同様に計算できるため説明を省略する。
また、画素値の補間方法は(式50)に限らず、画素値の信頼性に関する情報を利用したものであれば何でも良い。
そして、S2103では、被写体中間時間画像生成部1501と被写体画像上書き部1502は、背景b303、被写体1画像f1304、被写体2画像f2305の代わりにそれぞれ補間処理を行った画像を用いて合成画像(ここでは、中間時間画像)を生成する。合成画像の生成については、実施の形態1のS1001、実施の形態2のS1402、実施の形態3のS1801等と同じであるので説明を省略する。
以上のように、隠れパラメータとして抽出した各画像における画素値の信頼性が低い場合に、その画素値を近傍領域の画素値の信頼性に応じて補間することによって、よりノイズの少ない背景画像と各被写体画像を抽出することができる。さらに、これによって、よりノイズの少ない中間時間画像を生成することも可能である。
(実施の形態5)
本実施の形態では、実施の形態1から4において、隠れパラメータの1つとして画像のボケ具合を表す点拡がり関数(Point Spread Function)のパラメータを定義し、入力画像の画質を復元した背景画像と各被写体画像を抽出する方法について説明する。
本実施の形態の画像処理装置は、実施の形態1〜4の画像処理装置の機能に加えて、点拡がり関数を用いて入力画像の画質を改善した背景画像と各被写体画像を抽出する機能をもつ装置であり、実施の形態1〜4の画像処理装置が備える隠れパラメータ推定部102に代えて、隠れパラメータ推定部102aを備える。
ここでは、実施の形態1から4とは、隠れパラメータ推定部102aのみが異なるため、隠れパラメータ推定部102aについて説明する。
隠れパラメータ推定部102aは、実施の形態1〜4における隠れパラメータ推定部102の機能に加えて、隠れパラメータの1つとして、画像の劣化過程を表現する点拡がり関数のパラメータを保持し、その逆関数を推定することによって入力画像よりも高画質化された背景画像と被写体画像を生成する機能を有する。
図3の代わりに図22の処理例を用いて説明する。ここでは、図3に示した隠れパラメータに加えて、背景b303の点拡がり関数(Point Spread Function)φb2201、被写体1画像f1304の点拡がり関数(Point Spread Function)φf12202、被写体2画像f2305の点拡がり関数(Point Spread Function)φf22203で構成されていると仮定する。
ここで、背景b303の点拡がり関数(Point Spread Function)は次式のように2次元ガウス分布で定義する。
ここで、(xb,yb)は背景画像の各画素位置、(sx_b,sy_b)は、ガウス分布の平均値である。
次式は、点拡がり関数に基づいた画像の劣化を表す。
ここで、b(x
b,y
b)は劣化画像、b
new(x
b,y
b)は劣化前の高画質画像、φ
b(x
b,y
b)は、b
new(x
b,y
b)を劣化させる点拡がり関数(Point Spread Function)を示している。さらに次のように、b
new(x
b,y
b)は推定したい高画質化された画像であり、b(x
b,y
b)は実施の形態1から4で得られる画像と同じ画像であると考えることによって、(式52)の画像劣化式を高画質化に適用することができる。すなわち、点拡がり関数(Point Spread Function)φ
b(x
b,y
b)の逆関数を求めることにより、b(x
b,y
b)を入力画像として、高画質化された画像b
new(x
b,y
b)を得ることができる。(式52)右辺のコンボリューション演算は、(式53)に示す様に、周波数領域では単なる乗算となるので、
となる。ここで、B、Bnew、Φbは、それぞれ、b、bnew、φbのフーリエ変換出力である。これより、Bnewは、
として求められ、これを逆フーリエ変換することにより、b
new(x
b,y
b)を得ることができる。
隠れパラメータ推定部102aは、背景b303は、背景bnewとして、ボケの影響を修復した画像を得ることができる。被写体1画像f1304の点拡がり関数(Point Spread Function)、被写体2画像f2305の点拡がり関数(Point Spread Function)も同様に定義できる。
以下に、隠れパラメータ推定部102において、高画質化された画像bnew(xb,yb)と点拡がり関数(Point Spread Function)φb(xb,yb)と隠れパラメータとして求める方法について説明する。
(式1)と(式2)は点拡がり関数φb,φf1,φf2,を用いて以下のように書き換えられる。
この関係より、高画質化された背景画像bnew2204、高画質化された被写体1画像f1new2205、高画質化された被写体2画像f2new2206の更新式は、(式12)と(式13)から点拡がり関数φbの逆関数を用いて、(式57)、(式58)のように書き換えることができる。なお、高画質化された背景bnew2204、高画質化された被写体1画像f1new2205、高画質化された被写体2画像f2new2206はガウス分布と仮定し、それぞれ求めたいガウス分布のパラメータを(unew_b,vnew_b),(unew_f2,vnew_f2),(unew_f1,vnew_f1)とする例について説明する。
高画質化された被写体1画像f1new2205のガウス分布パラメータ(unew_f1,vnew_f1)、高画質化された被写体2画像f2new2206のガウス分布パラメータ(unew_f2,vnew_f2)についても同様に、(式14)から(式17)に対して点拡がり関数φbの逆関数を用いて表すことができる。
次に、背景b303の点拡がり関数(Point Spread Function)パラメータφb2201、被写体1画像f1304の点拡がり関数(Point Spread Function)パラメータφf12202、被写体2画像f2305の点拡がり関数(Point Spread Function)パラメータφf22203は、ノイズβ302と同様に、画像1枚につき1セットのパラメータが得られる。すなわち、画像枚数分の隠れパラメータが得られる。そして、(式51)はガウス分布のパラメータで表現できるため、(式12)から(式17)と同様にガウス分布のパラメータを推定する更新式で以下のように隠れパラメータの推定が可能である。
ここで、σx_bは(式51)におけるΣbのx方向成分である。また、(式59)、(式60)と同様にy方向成分も計算する。
もちろん、被写体1画像f1304の点拡がり関数(Point Spread Function)パラメータφf12202、被写体2画像f2305の点拡がり関数(Point Spread Function)パラメータφf22203についても、同様に求めることができる。
なお、ここでは点拡がり関数を(式51)のようにガウス分布で表現する場合について説明したが、実施の形態1で説明した被写体の動きT1, T2のように、ディスクリート分布を仮定しても構わない。
以上の処理によって、局所解を回避しながら、複数枚の画像から背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時に推定することが可能であることに加えて、背景画像と各被写体画像の点拡がり関数(Point Spread Function)のパラメータを推定しながら、入力画像より高画質化した背景画像と各被写体画像を抽出することが可能である。
さらに、実施の形態2で説明した方法と組み合わせることで、入力画像シーケンスよりも時間解像度を高めつつ、高画質化することができる。また、この画像処理方法をビデオカメラやTV等のAV機器に内蔵することによって、撮影した映像や記録した映像から時間解像度を高めつつ、高画質化した映像を生成することも可能である。
(実施の形態6)
本実施の形態では、実施の形態1で説明したS204における拘束条件パラメータ学習部103の学習を実施の形態1とは異なる方法を用いて行う例について説明する。
本実施の形態の画像処理装置は、実施の形態1の画像処理装置が備える拘束条件パラメータ学習部103に代えて拘束条件パラメータ学習部103aを備える。
拘束条件パラメータ学習部103aは、画像からペアとなる近傍画素を選択し、それぞれの画素が背景画像領域もしくは各被写体画像領域のいずれに属するかを判定し、それぞれの画素が異なる領域に属する場合と同じ領域に属する場合に、それぞれ異なる拘束を隠れパラメータに与える処理部である。以下、図23を用いて、拘束条件パラメータ学習部103aの動作を説明する。
S203にて、隠れパラメータ推定部102は、図23に示すようにS202で推定した隠れパラメータ推定結果を拘束条件パラメータ学習部103aに送信する。ここでは、隠れパラメータである被写体1の形状m1310、被写体2の形状m2311を拘束条件パラメータの学習に用いる例について説明するが、拘束条件パラメータの学習は、被写体の形状に限定されるものではなく前述の隠れパラメータであればよい。
次に、S204にて、拘束条件パラメータ学習部103aは、S203で送信した隠れパラメータの推定結果を教師信号として拘束条件パラメータを学習する。ここでは、被写体1の形状m
1310、被写体2の形状m
2311の隠れパラメータ推定結果を
として、被写体1の形状m
1310、被写体2の形状m
2311に関する拘束条件パラメータを学習する例について説明する。拘束条件パラメータ学習部103aについて、図23を用いて説明する。拘束条件パラメータ学習部aでは、画素位置情報L2301と2画素間情報d
ij2302と物体の大きさパラメータw
L2303とペアワイズパラメータw
d2304とで構成される。ここで、画素位置情報L2301は、入力画像から得られる画素の位置情報を保持する。そして、2画素間情報d
ij2302は、入力画像における2画素間の輝度情報に関する情報を保持する。また、物体の大きさパラメータw
L2303では、画素位置情報L2301に基づいて物体の大きさを表す拘束条件パラメータを学習する。ペアワイズパラメータw
d2304は、2画素間情報d
ij2302におけるそれぞれの画素が背景画像領域もしくは各被写体画像領域のいずれに属するかを判定し、それぞれの画素が異なる領域に属する場合と同じ領域に属する場合に、それぞれ異なる拘束条件パラメータを学習する。
ここで、拘束条件パラメータ学習部103aでは、物体の大きさパラメータwL2303とペアワイズパラメータwd2304を学習することで、拘束条件パラメータを学習する。もちろん、実施の形態1で述べたようにピクセル動き情報を用いることもできる。
ここで、画素位置情報L2301と物体の大きさパラメータwL2303との関係から拘束条件パラメータを次式のように表す。
ここで、Lは各画素の位置である。物体の大きさパラメータ(wL1,…wL4)2303を求めることが、拘束条件パラメータを学習することとなる。
次に、2画素間情報dij2302とペアワイズパラメータwd2304との関係を次式のように表す。
すなわち、ペアワイズパラメータwd12304を求めることが、拘束条件パラメータを学習することとなる。
以上のように(式61)から(式63)のように表した拘束条件パラメータは、平均値とプレシジョンをパラメータとするガウス分布と考えることができる。すなわち、ガウス分布の場合の更新式である(式12)〜(式17)と同様の更新式によって、拘束条件パラメータを学習できる。
次に、S205にて、相補学習部104は、図23に示したように拘束条件パラメータpc(mi|x)502を隠れパラメータ推定部102へ送信する。そして、S202と同様の処理を行う。この時、拘束条件パラメータpc(mi|x)は、被写体1の形状m1310、被写体2の形状m2311を求めるための拘束条件として作用する。具体的には、(式43)、(式43)と同様に、隠れパラメータ推定部102の更新式に拘束条件パラメータpc(mi|x)を加えることによって処理を行う。
これによって、隠れパラメータ推定部102は、局所解を回避しながら隠れパラメータを推定可能である。ここでは、被写体1の形状m1310、被写体2の形状m2311について、拘束条件パラメータを学習する場合について説明したが、他の隠れパラメータについても(式43)、(式44)と同様に拘束条件パラメータを付加することが可能である。さらに、隠れパラメータ推定部102では、すべての隠れパラメータを同時に最適化するために、被写体1の形状m1310、被写体2の形状m2311のみに制約条件パラメータを付加した場合であっても、他の隠れパラメータに局所解回避の効力を及ぼすことができる。そのため、求めたい隠れパラメータである背景b303、被写体1画像f1304、被写体2画像f2305、被写体1の動きT1306、被写体2の動きT2307に対して、直接的に拘束条件パラメータを付加しなくとも、局所解を回避した隠れパラメータ推定が可能である。
次に、S202からS205を規定回数N回繰り返した後、S206にて、出力部105は、隠れパラメータ推定部102で推定された結果を画像として出力する。以降は、実施の形態1と同様であるため、説明を省略する。
以上によって、局所解を回避しながら、複数枚の画像から背景画像と少なくとも2つ以上の被写体画像と各被写体画像の形状と各被写体画像の動きとを同時に推定することが可能である。
以上、本発明に係る画像処理方法及び画像処理装置について、実施の形態及びその変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。当業者が思いつく各種変形を、本発明の趣旨を逸脱しない範囲で各実施の形態に施して実現される形態も本発明に含まれる。
また、各実施の形態における特徴的な構成要素を任意に組み合わせて実現される形態も本発明に含まれる。たとえば、実施の形態2と実施の形態3とを組み合わせることで、中間時間画像生成部1301によって生成された中間時間画像に対してユーザが選択した被写体画像を消去する編集機能をもった画像処理装置が実現されるが、このような画像処理装置も本発明に含まれる。