(58)【調査した分野】(Int.Cl.,DB名)
物体を順次に撮影することで得られる第1画像と第2画像とが入力され、前記第1画像に含まれる前記物体のブレを前記物体の第1軌跡として抽出し、前記第2画像に含まれる前記物体のブレを前記物体の第2軌跡として抽出する抽出部と、
前記抽出部によって抽出された前記第1軌跡および前記第2軌跡のそれぞれの画像の特徴に基づいて、前記第1画像と前記第2画像とのそれぞれが撮影された時刻における前記物体の運動の特徴を推定する推定部と、
前記推定部により推定された前記物体の運動の特徴に基づいて、前記第1画像が撮影されてから前記第2画像が撮影されるまでの間における前記物体の軌跡を求め、求めた軌跡を用いて前記第1軌跡と前記第2軌跡との間に軌跡を補間する補間部と、
を備え、
前記推定部は、
前記第1軌跡および前記第2軌跡のそれぞれに含まれる各画素の色または輝度を示す画素値の勾配が他の方向よりも小さい方向を求め、求めた方向を、前記第1画像および前記第2画像のそれぞれが撮影された時刻における前記物体の運動の特徴の一つである前記物体の運動の方向とする
ことを特徴とする画像処理装置。
物体を順次に撮影することで得られる第1画像と第2画像との入力を受け、前記第1画像に含まれる前記物体のブレを前記物体の第1軌跡として抽出し、前記第2画像に含まれる前記物体のブレを前記物体の第2軌跡として抽出し、
前記抽出された前記第1軌跡および前記第2軌跡のそれぞれの画像の特徴に基づいて、前記第1画像と前記第2画像とのそれぞれが撮影された時刻における前記物体の運動の特徴を推定し、
前記推定された前記物体の運動の特徴に基づいて、前記第1画像が撮影されてから前記第2画像が撮影されるまでの間における前記物体の軌跡を求め、求めた軌跡を用いて前記第1軌跡と前記第2軌跡との間に軌跡を補間し、
前記第1軌跡および前記第2軌跡のそれぞれに含まれる各画素の色または輝度を示す画素値の勾配が他の方向よりも小さい方向を求め、求めた方向を、前記第1画像および前記第2画像のそれぞれが撮影された時刻における前記物体の運動の特徴の一つである前記物体の運動の方向とする
ことを特徴とする画像処理方法。
【発明を実施するための形態】
【0010】
以下、図面に基づいて、実施形態を説明する。
【0011】
図1は、画像処理装置の一実施形態を示す。
【0012】
図1に示した画像処理装置10は、撮影装置GRDから画像IMG_1,…,IMG_nを受ける抽出部11と、抽出部11に接続された推定部12および補間部13を有している。抽出部11および補間部13の出力は、合成画像GSNを生成する合成装置SYNに接続される。抽出部11、推定部12および補間部13の機能および動作は、
図2で説明する。
【0013】
撮影装置GRDは、デジタルカメラなどであり、運動する物体を例えば所定の時間間隔で撮影することでn(nは2以上の整数)枚の画像IMG_1,…,IMG_nを取得し、取得した画像IMG_1,…,IMG_nを画像処理装置10に渡す。なお、撮影装置GRDは、デジタルカメラに限らず、連写機能と露光時間を調整する機能を有していれば、携帯電話やスマートフォンなどの携帯端末装置に搭載されたカメラでもよい。また、
図1において各画像を示す符号において、記号“_”の後の数字は、撮影装置GRDによる撮影順序を示している。以下の説明では、画像IMG_1,…,IMG_nを互いに区別しない場合には、画像IMGと総称する。
【0014】
撮影装置GRDにより、物体を撮影する際に用いられる露光時間は、例えば、撮影した画像IMGにおいて物体の位置が当該物体の運動により数画素程度のブレが発生する程度の時間が設定されている。なお、撮影装置GRDが用いる露光時間は、撮影装置GRDに搭載された撮像素子に露光時間中に入射する光量により、撮像素子が飽和しない程度の値に設定されることが望ましい。
【0015】
以上に説明した撮影装置GRDによって撮影された各画像IMG_1,…,IMG_nは、撮影に用いられた露光時間中に物体が動いた軌跡を、物体を示す画像のブレとして含んでいる。
【0016】
図2は、
図1に示した撮影装置GRDによって撮影された画像IMGの例を示す。
図2(A)に示した画像IMG_kおよび
図2(B)に示した画像IMG_k+1は、撮影装置GRDによって撮影することで得られたn枚の画像の中のk(kは、n−1以下の正の整数)番目とk+1番目に撮影された画像の例である。すなわち、画像IMG_kは、運動する物体を撮影した第1画像の一例であり、画像IMG_k+1は、第1画像よりも後に撮影された第2画像の一例である。例えば、画像IMG_k+1は、撮影装置GRDが画像IMG_kの次に撮影した画像である。
【0017】
図2(A)に示した画像IMG_kは、物体の一例であるボールBLが、網掛けを付した領域で示した芝生LNの上をピンPINに向かって転がる過程において、画像IMG_kが撮影された際の露光時間中にボールBLが移動した長円状の軌跡Tr_kを含んでいる。
図2(A)の例では、軌跡Tr_kは、露光時間の開始時に破線の円形Ps_kで示した位置にあったボールが、露光時間の終了時に破線の円形Pe_kの位置まで移動したことを示している。すなわち、
図2(A)に示した軌跡Tr_kは、n枚の画像が撮影される間にボールが辿る軌跡の一部であり、第1画像に相当する画像IMG_kから抽出された第1軌跡の一例である。なお、ボールBLを示す円形と露光時間の開始時および終了時のボールBLの位置を示す円形Ps_k,Pe_kは、ボールBLの軌跡を説明するために示した要素であり、画像IMG_kには含まれない。
【0018】
同様に、
図2(B)に示した画像IMG_k+1は、ボールが芝生LNの上をピンPINに向かって転がる過程において、画像IMG_k+1が撮影された際の露光時間中にボールが移動した長円状の軌跡Tr_k+1を含んでいる。
図2(B)の例では、軌跡Tr_kは、露光時間の開始時に破線の円形Ps_k+1で示した位置にあったボールが、露光時間の終了時に破線の円形Pe_k+1の位置まで移動したことを示している。すなわち、
図2(B)に示した軌跡Tr_k+1は、n枚の画像が撮影される間にボールが辿る軌跡の一部であり、第2画像に相当する画像IMG_k+1から抽出された第2軌跡の一例である。なお、ボールBLを示す円形と露光時間の開始時および終了時のボールBLの位置を示す円形Ps_k+1,Pe_k+1は、ボールBLの軌跡を説明するために示した要素であり、画像IMG_k+1には含まれない。
【0019】
図1に示した画像処理装置10の抽出部11は、例えば、順次に撮影された2枚の画像IMGのそれぞれから、
図2に示したボールBLの動きによるボールBLの画像のブレを、ボールBLの軌跡の一部である軌跡Tr_k,Tr_k+1として抽出する。例えば、抽出部11は、
図2(A)に示した画像IMG_kから、ボールBLが円形Ps_kの位置と円形Pe_kの位置との間で動いたことを示す軌跡Tr_kを抽出する。同様に、抽出部11は、
図2(B)に示した画像IMG_k+1から、ボールBLが円形Ps_k+1の位置と円形Pe_k+1の位置との間で動いたことを示す軌跡Tr_k+1を抽出する。
【0020】
抽出部11は、例えば、時系列的に撮影された複数の画像から動く物体の画像を検出する技術などを、順次に撮影された2枚の画像IMG_k、IMG_k+1に含まれる軌跡Tr_k,Tr_k+1の抽出に用いてもよい。
【0021】
例えば、抽出部11は、
図2(A),(B)に示した画像IMG_k,IMG_k+1の差を示す差分画像を生成し、生成した差分画像において、所定値以上の差分を有する画素が連結している領域を検出する。ここで、差分画像から検出された領域は、画像IMG_k,IMG_k+1のいずれかにおいて、2つの画像IMG_k、IMG_k+1との間で動かない背景(例えば、芝生LN)を示す画像の特徴とは異なる特徴を示す領域、即ち、動くボールBLを示す領域である。画像IMG_k,IMG_k+1から生成した差分画像の例では、抽出部11により、
図2(A),(B)に示した軌跡Tr_kおよび軌跡Tr_k+1に対応する2つの領域が差分画像から検出される。そして、抽出部11は、差分画像から検出した2つの領域のそれぞれに対応する画像IMG_kの領域の境界の内側と外側とで画素の特徴を比較し、境界の内側と外側とで特徴が互いに異なる領域を、画像IMG_kに含まれる軌跡Tr_kとして抽出する。同様に、抽出部11は、差分画像から検出した2つの領域のそれぞれに対応する画像IMG_k+1の領域の境界の内側と外側とで特徴が互いに異なる領域を、画像IMG_k+1に含まれる軌跡Tr_k+1として抽出する。例えば、画像IMG_kにおいて、軌跡Tr_kに対応する領域は、境界の内側と外側とで特徴が互いに異なるため、抽出部11により、軌跡Tr_kとして抽出される。一方、画像IMG_kにおいて、軌跡Tr_k+1に対応する領域は、境界の内側と外側とが共に芝生LNであり、特徴が共通であるため、軌跡として抽出されない。
【0022】
なお、順次に撮影された2枚の画像IMGからの軌跡Tr_k,Tr_k+1の抽出に抽出部11が用いる技法は、各画像IMGにおいて移動しない背景と、各画像IMGにおいて位置が変化する物体とを峻別する技法であればどんな技法でもよい。例えば、抽出部11は、順次に撮影された複数の画像IMGにおいて、所定数の画素を含むブロック毎に求めた動きベクトルが類似している領域を検出し、検出した領域を動く物体として抽出する技術を用いてもよい。
【0023】
図1に示した推定部12は、画像IMGと軌跡Tr_k,Tr_k+1を示す情報とを抽出部11から受ける。推定部12は、軌跡Tr_k,Tr_k+1として抽出された領域の画像の特徴に基づいて、各画像IMG_k,IMG_k+1が撮影された時刻において、画像IMGに含まれるボールBLが示した運動の特徴を推定する。
【0024】
推定部12は、例えば、軌跡Tr_kまたは軌跡Tr_k+1として抽出された画像IMGの領域に含まれる画素の色または輝度を示す画素値の変化の方向と物体の運動の方向との相関関係に基づいて、画素値の変化の方向から物体の運動の方向を推定する。また、推定部12は、軌跡Tr_kまたは軌跡Tr_k+1として抽出された画像IMGの領域の推定した運動の方向の長さから、物体が画像IMGにおいて動く速さを推定する。なお、推定部12により物体の運動の特徴を推定する手法については、
図5および
図6を用いて後述する。
【0025】
例えば、推定部12は、
図2(A)に示した画像IMG_kから抽出された軌跡Tr_kから、矢印で示した方向Dr_kを運動の方向として推定した場合に、点Qs_k,Qe_kを軌跡Tr_kの両側の端点として特定する。同様に、推定部12は、
図2(B)に示した画像IMG_k+1から抽出された軌跡Tr_k+1から、矢印で示した方向を運動の方向Dr_k+1として推定した場合に、点Qs_k+1,Qe_k+1をTr_k+1の両側の端点として特定する。また、推定部12は、軌跡Tr_kおよび軌跡Tr_k+1のそれぞれについて特定した端点間の距離を露光時間で除算することで、画像IMG_k、IMG_k+1のそれぞれが撮影された時刻において、推定された運動の方向に動くボールBLの速さを求める。そして、推定部12は、求めた方向Dr_kと速さとから、軌跡Tr_kの各端点Qs_k,Qe_kを始点とし、推定された運動の方向に沿い、軌跡Tr_kから離れる向きを持ち、推定された速さを示す2つの速度ベクトルV1_k,V2_kを求める。同様に、推定部12は、求めた方向Dr_k+1と速さとから、軌跡Tr_k+1の各端点Qs_k+1,Qe_k+1を始点とし、軌跡Tr_k+1から離れる向きを持つ2つの速度ベクトルV1_k+1,V2_k+1を求める。そして、推定部12は、求めた2組の速度ベクトル(V1_k,V2_k)、(V1_k+1,V2_k+1)を、画像IMG_k,IMG_k+1のそれぞれが撮影された時刻におけるボールBLの運動の特徴を示す情報として、
図1に示した補間部13に渡す。
【0026】
更に、推定部12は、軌跡Tr_kと軌跡Tr_k+1との相対位置に基づいて、2つの速度ベクトルV1_k,V2_kの一方を選択し、選択した速度ベクトルを補間部13に渡してもよい。例えば、
図2(A),(B)の例では、軌跡Tr_k+1の2つの端点Qs_k+1,Qe_k+1は、軌跡Tr_kの2つの端点Qs_k,Qe_kよりも速度ベクトルV2_kで示される側にある。この場合に、推定部12は、画像IMG_kが撮影された時刻における物体の運動の方向として、
図2(A)に示した速度ベクトルV2_kを特定する。ここで、画像IMG_kが撮影されてから画像IMG_k+1が撮影されるまでの期間においてボールBLの運動の特徴の変化は少ないことから、画像IMG_k,IMG_k+1が撮影されたそれぞれの時刻におけるボールBLの運動の方向はほぼ一致する。したがって、推定部12は、画像IMG_k+1の撮影時刻におけるボールBLの運動の特徴として、軌跡Tr_kと軌跡Tr_k+1との相対位置に基づいて選択した速度ベクトルV2_kに類似した向きを持つ速度ベクトルV2_k+1を選択してもよい。この場合に、推定部12は、画像IMG_k、IMG_k+1のそれぞれが撮影された際のボールBLの運動の特徴を示す情報として、
図2(A)に示した速度ベクトルV2_kと
図2(B)に示した速度ベクトルV2_k+1とを補間部13に渡す。
【0027】
図1に示した補間部13は、抽出部11から画像IMGを受け、推定部12からボールBLの運動の特徴を示す情報を受ける。補間部13は、推定部12により推定されたボールBLの運動の特徴に基づいて、第1画像に相当する画像IMG_kと第2画像に相当する画像IMG_k+1との撮影間隔で動いたボールBLの軌跡を生成する。そして、補間部13は、生成した軌跡を用いて、第1軌跡として画像IMG_kから抽出された軌跡Tr_kと第2軌跡として画像IMG_k+1から抽出された軌跡Tr_k+1との間を補間する。補間部13は、例えば、軌跡Tr_k,Tr_k+1について推定された2つの速度ベクトルV2_k,V2_k+1の方向を示す成分の平均および速さの平均を求めることで、画像IMG_k,IMG_k+1の撮影間隔におけるボールBLの速度を求める。補間部13は、求めた速度で示される方向と速さとから、画像IMG_k,IMG_k+1の撮影間隔におけるボールBLの軌跡を生成する。そして、補間部13は、生成した軌跡により、第1軌跡および第2軌跡に相当する軌跡Tr_k,Tr_k+1を接続することで補間を行う。
【0028】
図3は、
図1に示した補間部13による第1軌跡と第2軌跡との補間例を示す。なお、
図3に示した要素のうち、
図2に示した要素と同等のものは、
図2と同じ符号で示すとともに要素の説明を省略する場合がある。
【0029】
図3(A)は、
図2に示した画像IMG_k、IMG_k+1のそれぞれから第1軌跡および第2軌跡として抽出された軌跡Tr_k,Tr_k+1の間を、
図1に示した補間部13により補間することで得られる補間済みの軌跡Trc_kの例を示す。
図3(A)において、座標軸X,Yは、補間部13において、軌跡Tr_k,Tr_k+1の位置を互いに関連付けるために用いられる。
【0030】
図3(A)に破線で囲んで示した矩形Tri_kは、速度ベクトルV2_k,V2_k+1に基づいて、補間部13により補間された、画像IMG_k,IMG_k+1の撮影間隔におけるボールBLの軌跡の例である。
図3(A)に示した軌跡Tri_kは、速度ベクトルV2_k,V2_k+1から求めた速度ベクトルVi_kで示される方向に平行な1組の辺を、軌跡Tr_kの平均的な幅wで示される間隔を空けて対向させた平行四辺形である。
【0031】
また、
図1に示した補間部13は、軌跡Tr_kまたは軌跡Tr_k+1を示す画像に含まれる各画素の色および輝度を示す画素値に基づいて、軌跡Tri_kを示す画像に含まれる各画素の色および輝度を示す画素値を設定することが望ましい。例えば、補間部13は、軌跡Tr_kの輪郭よりも中央部に近い位置にある複数の画素の画素値の平均値を求め、求めた平均値を用いて、軌跡Tri_kを示す画像に含まれる各画素の画素値を設定してもよい。
【0032】
補間部13は、
図3(A)に示した軌跡Tri_kを用いて、軌跡Tr_k,Tr_k+1を接続することで、軌跡Tr_kの端点Qs_kから軌跡Tr_k+1の端点Qe_k+1まで切れ目なく連続する軌跡Trc_kを生成することができる。
【0033】
そして、
図1に示した画像処理装置10は、撮影装置GRDで撮影された各画像IMGを順次に第1画像として、以上に説明した処理を行うことで、n枚の画像IMG_1,…,IMG_nが撮影された期間の物体の動きを連続的に表す軌跡を生成することができる。
【0034】
例えば、補間部13は、連続して撮影された2枚の画像IMGのそれぞれを第1画像および第2画像とし、第1画像および第2画像から抽出された第1軌跡と第2軌跡との間を補間する軌跡を生成する毎に、補間した軌跡を合成装置SYNに渡してもよい。また、抽出部11は、例えば、撮影装置GRDから最初に受けた画像IMG_1を、ボールBLの背景を示す情報として合成装置SYNに渡す。
【0035】
図3(B)は、
図2(A),(B)に示した軌跡Tr_k,Tr_k+1の間に補間部13で生成した軌跡Tri_kを配置することで得られた軌跡Trc_kと画像IMG_1とを、
図1に示した合成装置SYNにより合成した合成画像GSNの例を示す。
【0036】
図1に示した合成装置SYNは、例えば、n枚の画像IMG_1,…,IMG_nのそれぞれである画像IMG_kとし、補間部13で生成される軌跡Tri_kを用いた補間が行われる毎に、補間された軌跡Trc_kを受ける。そして、合成装置SYNは、受けた軌跡Trc_kを順次に画像IMG_1に追加する。これにより、n枚の画像IMGの全てについての軌跡Tri_kの補間処理が完了したときに、n枚の画像IMGが撮影された期間にボールBLが芝生LNやピンPINを含む背景の中で動いた軌跡を連続的に表現する合成画像GSNを生成することができる。
【0037】
なお、合成装置SYNは、
図1に示したように、画像処理装置10の外部に設けられてもよいし、画像処理装置10に含まれてもよい。合成装置SYNの機能を有する構成要素を含む画像処理装置10については、
図5および
図9〜
図10を用いて後述する。
【0038】
図4は、
図1に示した画像処理装置10の動作を示す。
図4に示したステップS301〜ステップS303の処理は、
図1に示した画像処理装置10の動作を示すとともに、画像処理方法の例を示す。
図4に示す処理は、例えば、画像処理装置10に搭載されるハードウェアによって実行されてもよいし、画像処理装置10に搭載されたプロセッサが、各処理をプロセッサに読み取り可能な形式で記載したプログラムを実行することで実現されてもよい。
【0039】
図4に示した各処理は、例えば、最初に撮影された画像IMG_1からn−1番目に撮影された画像IMG_n−1までの各画像IMGを順次に第1画像として、画像処理装置10に含まれる抽出部11、推定部12および補間部13により繰り返し実行される。なお、
図4に示した各処理は、2枚目以降の画像IMG_2,…,IMG_nが撮影装置GRDにより撮影される毎に、推定部12および補間部13により実行されてもよい。2枚目以降の画像が撮影された場合、例えば、
図4に示した各処理では、新たに撮影された画像が第2画像とされ、新たに撮影された画像よりも1枚前に撮影された画像が第1画像とされる。
【0040】
ステップS301において、抽出部11は、
図2を用いて説明したように、第1画像と第2画像とのそれぞれから、物体の一例であるボールBLが露光時間中に動いたことで現れる物体の画像のブレを第1軌跡および第2軌跡として抽出する。
【0041】
ステップS302において、推定部12は、ステップS301の処理で抽出された第1軌跡および第2軌跡の形状に基づいて、第1画像および第2画像が撮影された時刻における物体の運動の特徴を推定する。
【0042】
ステップS303において、補間部13は、ステップS302の処理で推定された運動の特徴に基づいて、第1画像と第2画像との撮影間隔に動いた物体の軌跡を生成し、生成した軌跡を用いて第1軌跡と第2軌跡との間を補間する。
【0043】
以上に説明した各処理を実行することにより、画像処理装置10は、異なる時刻に所定の露光時間で撮影された2枚の画像のそれぞれに含まれる露光時間中の物体の運動を示す軌跡の間を補間する軌跡を生成する。これにより、画像処理装置10は、補間する軌跡を含めて連続的な軌跡を生成することができる。そして、画像IMG_1から画像IMG_n−1までの各画像IMGを順次に第1画像とした場合に、画像処理装置10で生成された軌跡は、合成装置SYNにより、例えば、最初に撮影された画像IMG_1に順次に合成される。これにより、画像処理装置10は、n枚の画像IMGが撮影装置GRDにより撮影される過程で物体が動いた軌跡の全体を連続的に示すことができる。
【0044】
即ち、
図1に示した画像処理装置10は、運動する物体を時間間隔を空けて順次に撮影した画像から、物体の軌跡を連続的に表す画像を生成することが可能である。これにより、画像処理装置10は、例えば、白昼のゴルフ場の芝生を転がるボールの軌跡を、夜間の高速道路を走る車のテールライトを長時間露光で撮影した場合と同様の連続した軌跡として表現する画像を生成することができる。
【0045】
図5は、画像処理装置の別実施形態を示す。なお、
図5に示す構成要素のうち、
図1に示した構成要素と同等のものは、同一の符号で示すとともに構成要素の説明を省略する場合がある。
【0046】
図5に示した画像処理装置10は、
図1に示した抽出部11と、
図1に示した推定部12に相当する推定部12aと、
図1に示した補間部13に相当する補間部13aと、
図1に示した合成装置SYNに相当する合成部14とを含んでいる。更に、画像処理装置10は、軌跡データベースDBを含んでおり、抽出部11、推定部12a、補間部13aは、軌跡データベースDBを介して互いに情報の授受が可能である。
【0047】
図5に示した抽出部11は、撮影装置GRDによって撮影されたn枚の画像IMGから、撮影順が連続する2枚の画像IMGを第1画像および第2画像として順次に受ける。そして、抽出部11は、第1画像あるいは第2画像として受けた画像IMGに含まれる物体の画像のブレを第1軌跡あるいは第2軌跡として抽出する。そして、抽出部11は、各画像に含まれる物体の軌跡を示す情報として、各画像から第1軌跡あるいは第2軌跡として抽出した物体の画像のブレを示す情報を軌跡データベースDBに蓄積する。
【0048】
ここで、抽出部11は、3番目以降に撮影された各画像IMGを受けた際に、受けた画像IMGの前に撮影された画像IMGから抽出された軌跡を示す情報を用いて、新たに受けた画像IMGからの軌跡の抽出を行ってもよい。例えば、画像IMG_1,IMG_2のそれぞれからの軌跡の抽出が完了した後に、3番目に撮影された画像IMG_3を受けた場合に、抽出部11は、画像IMG_3からの軌跡の抽出に、画像IMG_2から抽出された軌跡を示す情報を用いてもよい。
【0049】
図5に示した推定部12aは、算出部121と、特定部122とを含み、抽出部11により第1軌跡あるいは第2軌跡として抽出される物体の軌跡に含まれる各画素の色または輝度を示す画素値の位置による変化の特徴に基づいて、物体の動きの方向を推定する。
【0050】
補間部13aは、検出部131と生成部132とを含み、検出部131は、更に予測部134と照合部133と含む。そして、補間部13aは、抽出部11により抽出された第1軌跡のそれぞれと、当該第1軌跡で動きが示された物体の第2画像における動きを示す第2軌跡との間を補間する。
【0051】
また、合成部14は、
図1に示した合成装置SYNに相当する機能を有し、抽出部11から最初に撮影された画像IMG_1を受け、補間部13aから補間された軌跡を受ける毎に、補間された軌跡を画像IMG_1に追加することで合成画像GSNを生成する。
【0052】
図6は、
図2に示した物体の軌跡Tr_kにおける画素値の変化の例を示す。
図6(A)に示した座標軸X,Yは、推定部12aにおいて、各画素の位置関係を示すために用いられる。また、
図6(B),(C)に示した座標軸Bは、輝度値の大きさを示す。
【0053】
図6(A)は、物体の軌跡Tr_kにおいて、長円状の閉曲線C1,C2,C3,C4のそれぞれは、輝度値が数値B1、B2,B3,B4以上である画素が分布する範囲を示す等高線である。なお、
図6では、数値B1,B2,B3,B4の順に値が大きくなる。また、
図6(B)は、
図6(A)に破線で示した方向Dr1に並んだ各画素の輝度値Bの変化を示し、
図6(B)は、
図6(A)に一点鎖線で示した方向Dr2に並んだ各画素の輝度値Bの変化を示す。
【0054】
図6(A)の例は、
図2に示したボールBLが方向Dr1に動いた場合に画像IMG_kから抽出される軌跡Tr_kを示している。
図6(A)から分かるように、方向Dr1における輝度値の勾配は、方向Dr1と交差する方向Dr2を含む他の方向における輝度値の勾配に比べて小さくなっている。つまり、画像IMGから第1軌跡あるいは第2軌跡として抽出された物体の軌跡における輝度値の勾配と、軌跡を描いた物体が動いた方向との間には相関関係がある。同様に、画像IMGから第1軌跡あるいは第2軌跡として抽出された物体の軌跡に含まれる各画素の色を示す色度値の勾配と、軌跡を描いた物体が動いた方向との間には相関関係がある。したがって、抽出された軌跡を示す領域において、色または輝度を示す画素値の勾配が他の方向よりも小さい方向は、抽出された軌跡を描いた物体が動いた方向を示す。
【0055】
図5に示した算出部121は、抽出部11によって第1軌跡あるいは第2軌跡として抽出された物体の軌跡のそれぞれに含まれる各画素の色または輝度を示す画素値の位置による変化を示す勾配を算出する。
【0056】
図5に示した特定部122は、第1軌跡として抽出された物体の軌跡について算出部121により得られた画素値の勾配に基づいて、他の方向よりも小さい勾配が算出された方向を特定する。そして、特定部122は、特定した方向を、第1軌跡を含む画像IMGが撮影された時刻における物体の運動の方向とする。同様に、特定部122は、第2軌跡として抽出された物体の軌跡について算出部121により得られた画素値の勾配に基づいて、他の方向よりも小さい勾配が算出された方向を特定する。そして、特定部122は、特定した方向を、第2画像が撮影された時刻における物体の運動の方向とする。
【0057】
更に、特定部122は、第1軌跡および第2軌跡のそれぞれについて、第1軌跡および第2軌跡のそれぞれについて特定した運動の方向に最も離れた点である軌跡の2つの端点間の距離を求める。そして、特定部122は、求めた距離と露光時間とに基づいて、第1軌跡および第2軌跡をそれぞれ含む画像IMGにおける物体の速さを求める。
【0058】
例えば、特定部122は、
図6(A)に示した軌跡Tr_kの方向Dr1の長さL_kを求める。例えば、特定部122は、
図6(A)に示した閉曲線のうち、輝度値が最も小さい閉曲線C1における方向Dr1の長さを長さL_kとして求める。そして、特定部122は、求めた長さL_kを露光時間で除算することで、軌跡Tr_kを含む画像IMG_kにおいて、
図2に示したボールBLが方向Dr1に動く速さを求めることができる。
【0059】
そして、特定部122は、第1軌跡あるいは第2軌跡として抽出された物体の軌跡のそれぞれに対応して、以上に説明したようにして求めた運動の方向と速さとを示す速度ベクトルを軌跡データベースDBに蓄積する。また、特定部122は、第1軌跡あるいは第2軌跡として抽出された物体の軌跡のそれぞれに対応する情報の一部として、物体の速さを求める過程で軌跡のそれぞれについて検出した両側の端点の位置を示す情報を軌跡データベースDBに蓄積することが望ましい。
【0060】
なお、
図6(A)に示した例のように、物体の軌跡を示す領域の形状を解析することで、領域の形状の長軸と短軸とを特定可能である場合に、算出部121により輝度値あるいは色度値の勾配を求める方向は、長軸方向と短軸方向とに絞り込まれてもよい。この場合に、特定部122は、算出部121により長軸方向について算出された勾配と短軸方向について算出された勾配とを比較し、勾配が小さいとされた方向を物体の運動の方向として特定し、特定した方向の長さから物体の運動の速さを求める。
【0061】
ところで、
図5に示した撮影装置GRDによって撮影された各画像IMGは、複数の動く物体を含んでいる場合がある。この場合に、
図5に示した抽出部11は、例えば、各画像IMGに複数の物体のそれぞれに対応して含まれる物体の軌跡を第1軌跡あるいは第2軌跡として抽出した際に、抽出した物体の軌跡のそれぞれに各画像において一意の番号をつけて区別する。そして、抽出した物体の軌跡を軌跡データベースDBに蓄積する際に、抽出部11は、抽出した物体の軌跡を含む画像IMGを示す撮影順および物体の軌跡を区別するための番号と物体の軌跡を示す情報とを対応付ける。また、この場合に、
図5に示した推定部12aは、抽出部11により、第1軌跡あるいは第2軌跡として各画像IMGから抽出された物体の軌跡のそれぞれについて、物体の軌跡で示される物体の運動の特徴を示す速度ベクトルを求める。
【0062】
複数の動く物体を含む場合、
図5に示した検出部131は、抽出部11により第1画像から抽出された第1軌跡毎に、第2画像から抽出された複数の第2軌跡の中から、第1軌跡について推定された運動の特徴と類似する運動の特徴が推定された第2軌跡を検出する。例えば、検出部131は、k番目に撮影された画像IMG_kから抽出された複数の物体の軌跡について推定された速度ベクトルと、k+1番目に撮影された画像IMG_k+1から抽出された複数の物体の軌跡について推定された速度ベクトルとを互いに照合する。なお、撮影順を示す数値kは、n−1以下の正の整数である。そして、検出部131は、互いに類似した速度ベクトルが推定された物体の軌跡の組を、画像IMG_k、IMG_k+1のそれぞれにおいて同一の物体の運動を示す第1軌跡と第2軌跡とする。
【0063】
検出部131は、例えば、画像IMG_k、IMG_k+1のそれぞれから抽出された複数の物体の軌跡で示される運動の特徴を互いに照合するのに先立って、画像IMG_kから抽出された軌跡について推定された運動の特徴に基づく絞込みを行ってもよい。
【0064】
検出部131の予測部133は、推定部12aによって第1軌跡のそれぞれについて推定された速度ベクトルに基づいて、当該第1軌跡を描いた物体が第2画像において存在することが予測される位置を含む領域を求める。また、検出部131の照合部134は、第1軌跡について推定された速度ベクトルに基づいて、予測部133が予測した領域から抽出された第2軌跡の中から、第1軌跡と運動の特徴が類似する第2軌跡を検出する。
【0065】
図7は、
図5に示した予測部133によって予測される領域の例を示す。
図7において網掛けを付して示した領域Tr1_kは、画像IMG_kから抽出された物体の軌跡の一つを示す。また、
図7において網掛けを付して示した領域Tr1_k+1、Tr2_k+1のそれぞれは、画像IMG_k+1から抽出された物体の軌跡の一つを示す。なお、
図7において、網掛けの種類の違いは、網掛けが付された領域が示す色または輝度の違いを示している。即ち、
図7に示した物体の軌跡Tr1_kと物体の軌跡Tr1_k+1とは類似した色または輝度を示し、物体の軌跡Tr1_k+1と物体の軌跡Tr2_k+1とは互いに異なる色または輝度を示す。
【0066】
図7に示した領域RNG1,RNG2は、軌跡Tr1_kについて推定された運動の方向Dr1_kに基づいて、
図5に示した予測部133により、画像IMG_k+1の撮影時刻に物体が存在することが予測された領域を示している。
【0067】
図7の例では、領域RNG1,RNG2は、軌跡Tr1_kの内部の点を中心とし、2つの速度ベクトルで示される方向が類似すると判定する閾値を示す角度θ(例えば、20度)の2倍の中心角を持つ扇形で示される。また、領域RNG1を示す扇形の弧と軌跡Tr1_kに基づいて推定された運動の方向Dr1_kを示す直線との交点から軌跡Tr1_kの端点Q1s_kまでの距離Ex_kは、軌跡Tr1_kに基づいて推定された速さに基づいて設定される。例えば、距離Ex_kは、軌跡Tr1_kに基づいて推定された速さで画像IMG_kが撮影された時刻から画像IMG_k+1が撮影された時刻までに物体が動く距離に、数値1.1〜1.5程度の値を持つ所定の係数を乗じた値に設定されることが望ましい。
図7においては、図示を省略しているが、領域RNG2を示す扇形の中心角および扇形の弧と運動の方向Dr1_kを示す直線との交点から軌跡Tr1_kの端点Qe1_kまでの距離は、領域RNG1の対応する要素と同様に設定される。
【0068】
図7に示した領域RNG1,RNG2を用いることで、画像IMG_k、IMG_k+1のそれぞれに多数の物体の軌跡が含まれる場合にも、
図5に示した照合部134による照合の対象となる軌跡を絞り込むことができる。なお、予測部133が求める領域の形状は、
図7に示した扇形に限らず、先に撮影された画像IMG_kに含まれる複数の物体の軌跡から選択した第1軌跡について推定された運動の方向および速さの少なくとも一方を反映した形状であればよい。例えば、予測部133は、
図7に示した軌跡Tr1_kを描いた物体の画像IMG_k+1において予測される位置を含む領域として、軌跡Tr1_kの端点Qs1_k,Qe1_kのそれぞれを中心とし、半径Ex_kを持つ円形の領域を求めてもよい。
【0069】
例えば、
図7の例では、照合部134により、物体の軌跡Tr1_kについて推定された速度ベクトルと照合される速度ベクトルは、領域RNG2に含まれる物体の軌跡Tr1_k+1,Tr2_k+1について推定された速度ベクトルに絞り込まれる。
【0070】
なお、第1画像から抽出された第1軌跡のそれぞれで示される物体の運動の向きが既に判明している場合に、
図5に示した予測部133は、運動の向きと逆の向きに物体が移動した場合に予測される位置を含む領域の生成を省略してもよい。例えば、
図7に示した軌跡Tr1_kで示される物体の運動について、既に、運動の向きが端点Q1s_kから端点Q1e_kに向かう向きであることが判明している場合に、
図5に示した予測部133は、
図7に示した領域RNG1の生成を省略する。また、
図7に示した軌跡Tr1_kで示される物体の運動について、既に、運動の向きが端点Q1e_kから端点Q1s_kに向かう向きであることが判明している場合に、
図5に示した予測部133は、
図7に示した領域RNG2の生成を省略する。
【0071】
図5に示した照合部134は、軌跡データベースDBを参照することで、
図7に示した軌跡Tr1_kに対応して保持された速度ベクトルと、軌跡Tr1_k+1、Tr2_k+1のそれぞれに対応して保持された速度ベクトルとを取得する。次いで、照合部134は、取得した速度ベクトルに基づき、軌跡Tr1_kで示される運動の方向Dr1_kと、軌跡Tr1_k+1、Tr2_k+1のそれぞれで示される運動の方向Dr1_k+1,Dr2_k+1とがなす角α1、α2の角度をそれぞれ求める。照合部134は、例えば、方向Dr1_kを示す点線で示した直線と、方向Dr1_k+1を示す破線で示した直線とがなす角のうち、鋭角である方を角α1とし、求めた角α1が閾値θ以下である場合に運動の方向が類似すると判断する。同様に、照合部134は、方向Dr1_kを示す点線で示した直線と、方向Dr2_k+1を示す一点鎖線で示した直線とがなす角のうち、鋭角である方を角α2とし、求めた角α2が閾値θ以下である場合に運動の方向が類似すると判断する。
【0072】
例えば、
図7に示した角α1が閾値θ以下である場合に、照合部134は、軌跡Tr1_kと軌跡Tr1_k+1とは同一の物体の動きを示すと判断する。一方、
図7に示した角α2が閾値θよりも大きい場合に、照合部134は、軌跡Tr1_kと軌跡Tr2_k+1とは異なる物体の動きを示すと判断する。
【0073】
更に、照合部134は、取得した速度ベクトルに基づき、軌跡Tr1_kで示される運動の速さと、軌跡Tr1_k+1、Tr2_k+1のそれぞれで示される運動の速さを照合し、照合した結果を2つの軌跡が同一の物体の動きを示すか否かの判断に用いてもよい。
【0074】
例えば、照合部134は、軌跡Tr1_kの速度ベクトルで示される運動の速さと、軌跡Tr1_k+1、Tr2_k+1のそれぞれの速度ベクトルで示される運動の速さとの比を求め、求めた比が所定の範囲内である場合に同一の物体の動きを示すと判断する。なお、速さの比に基づく判断に用いる所定の範囲は、例えば、数値0.9〜1.1程度の範囲に設定されることが望ましい。
【0075】
以上に説明したように、予測部133および照合部134を有する検出部131は、画像IMG_kから抽出された軌跡Tr1_kと画像IMG_k+1から抽出された軌跡Tr1_k+1,Tr2_k+1との照合に、個々の軌跡が示す運動の特徴を用いる。これにより、検出部131は、例えば、ある時刻に撮影された物体の画像と別の時刻に撮影された物体の画像とを互いの位置関係に基づいて同じ物体を示すか否かを判定する場合に比べて、高い精度で同じ物体の動きを示す軌跡を検出することができる。
【0076】
更に、照合部134は、軌跡Tr1_kを示す画像の領域の色と、軌跡Tr1_k+1、Tr2_k+1のそれぞれを示す画像の領域の色とを照合し、照合された2つの軌跡の色が類似する場合に、照合された2つの軌跡が同一の物体の動きを示すと判断してもよい。
【0077】
照合部134は、軌跡データベースDBを参照することにより、
図7に示した軌跡Tr1_kとして画像IMG_kから抽出された画像と軌跡Tr1_k+1、Tr2_k+1として画像IMG_k+1から抽出された画像とを取得することができる。そして、照合部134は、取得した画像で示される色を互いに比較することで、例えば、
図7に示した軌跡Tr1_kと軌跡Tr1_k+1とが互いに類似した色であるとの照合結果を得る。一方、照合部134は、取得した画像で示される色を互いに比較することで、軌跡Tr1_kが示す色と軌跡Tr2_k+1が示す色とは異なるとの照合結果を得る。
【0078】
照合部134により、速度ベクトルの照合とともに、軌跡を示す画像の色の照合を行うことにより、運動の方向および速さの類似に加えて、軌跡を示す画像の特徴の類似性を考慮して、同一の物体の運動を示す軌跡の組を検出することが可能となる。例えば、軌跡を示す画像の色の照合を行う照合部134を有する検出部131は、
図7に示した領域RNG2内に、速度ベクトルが類似した別の軌跡が存在する場合にも、軌跡Tr1_kとの色の類似性を根拠として、軌跡Tr1_k+1を検出することができる。これにより、軌跡を示す画像の特徴の類似性を考慮しない場合に比べて、検出部131による同じ物体の運動を示す軌跡の検出の精度を向上することができる。
【0079】
なお、照合部134は、以上に説明した速度ベクトルの照合と軌跡の色の照合とをどのような順序で実行してもよいし、両者を並行して実行してもよい。
【0080】
以上に説明した検出部131により、撮影順序が連続する画像IMGである第1画像と第2画像とにおいて同一の物体の運動を示す第1軌跡および第2軌跡として検出された軌跡の組を示す情報は、
図5に示した生成部132に渡される。
【0081】
生成部132は、第1画像から抽出された複数の第1軌跡のそれぞれと、当該第1軌跡について検出部131によって検出された第2軌跡との間を補間する軌跡である補間軌跡を生成する。
【0082】
生成部132は、例えば、検出部131から渡された情報に基づいて、軌跡データベースDBを参照し、同一の物体の運動を示す第1軌跡および第2軌跡として検出された軌跡のそれぞれの端点を示す座標を取得する。そして、生成部132は、例えば、スプライン関数などを用いて、取得した端点を順次に接続する曲線を求めることで、第1軌跡と第2軌跡との間を補間する補間軌跡を生成する。
【0083】
図8は、
図5に示した生成部132によって生成される補間軌跡の例を示す。なお、
図8に示した要素のうち、
図7に示した要素と同等のものは同じ符号で示され、その要素の説明は省略される場合がある。
【0084】
図8は、
図5に示した検出部131により、
図7に示した軌跡Tr1_kと軌跡Tr1_k+1とが同じ物体の第1軌跡および第2軌跡として検出された場合に、生成部132によって生成される補間軌跡Tri_kの例を示す。
【0085】
図8において、破線で示した曲線Ci_kは、軌跡Tr1_kの端点Q1s_k,Q1e_kと、軌跡Tr1_k+1の端点Q1s_k+1,Q1e_k+1とについて、スプライン補間を行うことで得られた曲線を示す。
【0086】
生成部132は、例えば、
図8に示した曲線Ci_kの線幅を拡張し、第1軌跡に相当する軌跡Tr1_kと第2軌跡に相当する軌跡Tr1_k+1との双方の輪郭に接続させることで、
図8において点線で囲んで示した補間軌跡Tri_kを生成する。
【0087】
そして、生成部132は、生成された補間軌跡を用いて、
図8に示した軌跡Tr1_kと軌跡Tr1_k+1とを補間することで、軌跡Tr1_kの端点Q1s_kから軌跡Tr1_k+1の端点Q1e_k+1まで連続した軌跡Tr1c_kを生成する。
【0088】
以上に説明した検出部131と生成部132とを有する補間部13aは、各画像IMGに複数の物体の軌跡が含まれている場合にも、撮影順が連続する画像において同じ物体の運動をそれぞれ示す軌跡の組を検出し、検出した2つの軌跡の間を補間することができる。
【0089】
即ち、
図5に示した画像処理装置10は、撮影装置GRDで撮影された各画像IMGに含まれる運動する物体の数にかかわらず、時間をおいて順次に撮影された画像から、物体の軌跡を連続的に表す画像を生成することができる。
【0090】
合成部14は、例えば、抽出部11から渡される最初の画像IMG_1に、2枚目以降の画像IMG_2〜IMG_nから抽出された物体の軌跡と、補間部13aによって生成された補間軌跡とを順次に合成する。
【0091】
これにより、合成部14は、撮影装置GRDによってn枚の画像IMGが撮影された期間における各物体の運動を連続的に示す軌跡を、各物体の周囲の風景などを示す背景とともに提示する合成画像GSNを生成することができる。更に、合成部14は、合成画像GSNにおいて、物体の連続的な軌跡の輪郭を、軌跡の周囲の画像から際立たせる色で表すことにより、物体の軌跡を強調してもよい。
【0092】
以上に説明した本件開示の画像処理装置10は、例えば、デジタルカメラやカメラ機能を有する携帯端末装置や携帯型ゲーム機などに搭載されたプロセッサやメモリなどのハードウェアを用いて実現することができる。
【0093】
図9は、画像処理装置10を適用したデジタルカメラのハードウェア構成例を示す。なお、
図9に示す構成要素のうち、
図1または
図5に示した構成要素と同等のものは、同一の符号で示すとともに構成要素の説明を省略する場合がある。
【0094】
図9に示したデジタルカメラ20は、プロセッサ21と、メモリ22と、信号処理部23と、撮像制御部24と、操作パネルなどの入力装置25と、液晶ディスプレイなどの表示装置26と、メモリカードスロット27とを含んでいる。
図9に例示したプロセッサ21と、メモリ22と、信号処理部23と、撮像制御部24と、入力装置25と、表示装置26と、メモリカードスロット27とは、バスを介して互いに接続されている。
【0095】
また、デジタルカメラ20は、更に、撮像素子SNCと、撮像光学系OPTとを含んでおり、撮像光学系OPTは、撮影範囲VWに含まれる運動する物体MVおよび物体の周囲の背景を含む被写体からの光を撮像素子SNCの受光面に結像させる。撮像素子SNCの出力信号は、信号処理部23に入力され、信号処理部23は、撮像素子SNCの出力信号から被写体の画像を示す画像データを生成する。また、撮像制御部24は、プロセッサ21からの指示に基づいて、撮像光学系OPTに含まれるレンズの焦点を被写体に合わせる合焦動作や撮像素子SNCに被写体からの光を入射させる露光時間を制御する。
【0096】
図9に示したプロセッサ21とメモリ22とは、画像処理装置10に含まれ、撮像素子SNCと信号処理部23と撮像制御部24と撮像光学系OPTとは、
図1または
図5に示した撮影装置GRDに含まれる。
【0097】
また、メモリカードスロット27は、メモリカード28を装着可能であり、装着したメモリカード28に記録された情報の読出およびメモリカード28への情報の記録を行う。
【0098】
図9に示したメモリ22は、デジタルカメラ20のオペレーティングシステムとともに、
図5〜
図8を用いて説明した物体の連続的な軌跡を示す画像を生成する処理をプロセッサ21が実行するためのアプリケーションプログラムを格納している。なお、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムは、例えば、メモリカード28に記録して頒布することができる。そして、メモリカード28をメモリカードスロット27に装着して読み込み処理を行うことにより、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムを、メモリ22に格納させてもよい。また、インターネットなどのネットワークに接続する通信装置(図示せず)を介して、物体の連続的な軌跡を示す画像を生成する処理のためのアプリケーションプログラムをダウンロードし、ダウンロードしたプログラムをメモリ22に読み込ませることもできる。
【0099】
そして、プロセッサ21は、メモリ22に格納されたアプリケーションプログラムを実行することにより、
図5に示した抽出部11、推定部12a、補間部13aの機能を果たしてもよい。また、
図5に示した軌跡データベースDBは、メモリ22の記憶領域の一部を用いて実現することができる。
【0100】
プロセッサ21は、例えば、
図5に示したn枚の画像IMG_1〜IMG_nの撮影を開始させる指示が入力装置25を介して入力された場合に、画像IMG_1〜IMG_nから物体の連続的な軌跡を示す画像を生成する処理を実行する。また、プロセッサ21は、物体の連続的な軌跡を示す画像を生成する処理の実行に先立って、
図9に示した撮像制御部24に対して、画像IMG_1〜IMG_nの撮影に用いる露光時間の設定を行う。プロセッサ21は、露光時間として、例えば、各画像IMGに含まれる運動する物体MVの像に数画素以上のブレを発生させ、かつ、撮像素子SNCの出力信号を飽和させない時間を設定する。
【0101】
図10は、
図9に示した画像処理装置10の動作を示す。
図10に示したステップS302およびステップS311〜ステップS319の各処理は、物体の連続的な軌跡を示す画像を生成する処理のためのアプリケーションプログラムに含まれる処理の一例である。また、ステップS302およびステップS311〜ステップS319の各処理は、
図9に示したプロセッサ21によって実行される。
【0102】
ステップS311において、プロセッサ21は、最初に撮影された画像IMG_1を信号処理部23から取得し、取得した画像IMG_1を初期状態の合成画像としてメモリ22に格納する。
【0103】
ステップS312において、プロセッサ21は、新たに撮影された画像IMG_k+1(kはn−1以下の正の整数)を信号処理部23から取得し、取得した画像IMG_k+1と画像IMG_kとの差を示す差分画像から
図9に示した物体MVの軌跡を抽出する。プロセッサ21は、ステップS312の処理において、第1画像に相当する画像IMG_kと第2画像に相当する画像IMG_k+1とのそれぞれに、運動する複数の物体が含まれている場合に、複数の物体のそれぞれに対応する軌跡を差分画像から抽出する。また、プロセッサ21は、抽出した軌跡のそれぞれを示す情報に対応して、各軌跡を表す画像データをメモリ22あるいはメモリカード28に設けた軌跡データベースDBに蓄積する。
【0104】
ステップS302において、プロセッサ21は、ステップS312の処理で抽出した軌跡のそれぞれを示す画像の特徴に基づいて、各軌跡で示される物体の運動の特徴を推定する。プロセッサ21は、例えば、
図6を用いて説明したようにして、抽出した軌跡のそれぞれを示す画像の領域における輝度値の勾配と軌跡を描いた物体の運動の方向との相関関係に基づいて、物体の運動の方向と、運動の速さとを推定する。また、プロセッサ21は、各軌跡を示す情報に対応して、各軌跡について推定した運動の方向および速さを示す速度ベクトルを示す情報を軌跡データベースDBに蓄積する。
【0105】
ステップS313において、プロセッサ21は、ステップS312の処理により、一つ前の画像IMG_kから抽出された軌跡の中の一つを順次に選択し、選択した軌跡を第1軌跡とする。
【0106】
ステップS314において、プロセッサ21は、新たな画像IMG_k+1から抽出された軌跡の中から、ステップS312の処理で選択した第1軌跡と同じ物体の動きを示す軌跡を検出する。プロセッサ21は、
図11に示す各処理を実行することにより、撮影順が連続する2枚の画像IMG_k,IMG_k+1において、同じ物体の動きを示す軌跡の組を検出する。
【0107】
図11は、同じ物体の動きを示す軌跡の組を検出する処理の例を示す。
図11に示したステップS321〜ステップS329の各処理は、
図10においてステップS314で示した同じ物体の動きを示す軌跡の組を検出する処理の一例である。また、ステップS321〜ステップS329の各処理は、
図9に示したプロセッサ21によって実行される。
【0108】
ステップS321において、プロセッサ21は、
図10に示したステップS313の処理で選択した第1軌跡を描いて運動する物体が新たな画像IMG_k+1において存在する位置を含む領域を求める。プロセッサ21は、第1軌跡について軌跡データベースDBを参照することで、第1軌跡で示される運動の特徴を取得する。そして、プロセッサ21は、取得した運動の特徴で示される運動の方向および速さに基づいて、
図7を用いて説明したようにして、第1軌跡を描いて運動する物体が新たな画像IMG_k+1において存在する位置を含む領域を求める。
【0109】
ステップS322において、プロセッサ21は、
図10に示したステップS312の処理で新たな画像IMG_k+1から抽出された軌跡から、ステップS327の処理で一つ前の画像IMG_k内の軌跡との対応関係が登録されていない軌跡を選択する。例えば、プロセッサ21は、画像IMG_k+1に対応して軌跡データベースDBに登録された軌跡の中で、画像IMG_kに含まれる軌跡との対応関係を示す情報が登録されていない軌跡を順次に選択し、選択した軌跡を示す情報を取得する。なお、画像IMG_kに含まれる軌跡と画像IMG_k+1に含まれる軌跡との対応関係の登録については、ステップS327において後述する。
【0110】
ステップS323において、プロセッサ21は、ステップS322の処理で選択した軌跡が、ステップS321の処理で求めた領域に含まれているか否かを判定する。
【0111】
例えば、ステップS322の処理で選択した軌跡に対応して軌跡データベースDBに登録された端点の双方が、ステップS321の処理で求めた領域に含まれる場合に(ステップS323の肯定判定(YES))、プロセッサ21は、ステップS324の処理に進む。
【0112】
ステップS324において、プロセッサ21は、ステップS322の処理で選択された軌跡と、
図10に示したステップS313の処理で選択された第1軌跡とのそれぞれで示される運動の方向が互いに類似するか否かを判定する。
【0113】
プロセッサ21は、例えば、ステップS322の処理で選択した軌跡と
図10に示したステップS313の処理で選択された第1軌跡とのそれぞれに対応して軌跡データベースDBに登録された速度ベクトルで示される運動の方向の差を求める。そして、プロセッサ21は、求めた差と、方向の類似を判定する閾値(例えば、±20度)とを比較することで、ステップS324の判定処理を行い、運動の方向の差が閾値以下である場合に(ステップS324の肯定判定(YES))、ステップS325の処理に進む。
【0114】
ステップS325において、プロセッサ21は、ステップS322の処理で選択された軌跡と、
図10に示したステップS313の処理で選択された第1軌跡とのそれぞれで示される運動の速さが互いに同等か否かを判定する。
【0115】
プロセッサ21は、例えば、ステップS322の処理で選択した軌跡と
図10に示したステップS313の処理で選択された第1軌跡とのそれぞれに対応して軌跡データベースDBに登録された速度ベクトルで示される運動の速さの比を求める。プロセッサ21は、求めた比が、速さの類似を判定するために設定された範囲(例えば、0.9〜1.1)に含まれるか否かを判定することで、ステップS325の判定処理を行う。そして、運動の速さの比が設定された範囲内である場合に(ステップS325の肯定判定(YES))、プロセッサ21は、両者の速さは同等であると判断し、ステップS326の処理に進む。
【0116】
ステップS326において、プロセッサ21は、ステップS322の処理で選択された軌跡を示す画像IMG_kの領域の色と、
図10に示したステップS313の処理で選択された第1軌跡を示す画像IMG_kの領域の色とが互いに類似するか否かを判定する。
【0117】
プロセッサ21は、例えば、ステップS322の処理で選択した軌跡と
図10に示したステップS313の処理で選択された第1軌跡とのそれぞれに対応して軌跡データベースDBに登録された画像の領域において代表的な色を示す代表色をそれぞれ求める。プロセッサ21は、更に、ステップS322の処理で選択した軌跡について求めた代表色を示す色度座標の各成分と、ステップS313の処理で選択された第1軌跡について求めた代表色を示す色度座標の各成分との比を求める。そして、プロセッサ21は、各成分について求めた比の全てが所定の範囲(例えば、0.9〜1.1など)内である場合に(ステップS326の肯定判定(YES))、ステップS327の処理に進む。
【0118】
以上に説明したステップS323〜ステップS325の各処理をプロセッサ21が実行することにより、撮影順が連続する2枚の画像IMG_k,IMG_k+1において、互いに運動の方向および速さが類似する軌跡を検出することができる。また、プロセッサ21が、ステップS326の処理を実行することにより、第1軌跡として選択された軌跡と運動の特徴が類似した軌跡の中で、更に、類似した色を示す軌跡を検出することができる。これにより、画像IMG_k,IMG_k+1のそれぞれに運動する多数の物体の軌跡が含まれている場合にも、画像IMG_k,IMG_k+1において同じ物体の動きを示している軌跡の組を検出することができる。
【0119】
以上に説明したステップS323〜ステップS326の各処理の処理順は、
図11に示した順序に限らず、ステップS323〜ステップS326の各処理は、どのような順序で実行されてもよい。そして、ステップS323〜ステップS326の各処理の全てにおいて肯定判定とした場合に、プロセッサ21は、ステップS327の処理に進む。
【0120】
ステップS327において、プロセッサ21は、ステップS322の処理で選択した軌跡を、
図10に示したステップS313の処理で選択された第1軌跡と同じ物体の動きを示す第2軌跡として検出し、2つの軌跡の対応関係を軌跡データベースDBに登録する。例えば、プロセッサ21は、2つの軌跡の対応関係を示す情報として、第1軌跡として検出された画像IMG_k+1に含まれる軌跡に対応して軌跡データベースDBに登録された情報に、画像IMG_kにおいて第1軌跡を示す識別情報を追加する。
【0121】
一方、以上で説明したステップS323〜ステップS326のいずれかの処理において否定判定(NO)となった場合に、プロセッサ21は、ステップS328の処理に進む。
【0122】
ステップS328において、プロセッサ21は、
図10に示したステップS312の処理で画像IMG_k+1から抽出された軌跡の中で、画像IMG_kから抽出された軌跡との対応関係が未登録であり、まだ選択されていない軌跡があるか否かを判定する。
【0123】
例えば、プロセッサ21は、軌跡データベースDBを参照し、画像IMG_k+1に対応して登録された軌跡の中から、第1軌跡との対応関係を示す情報が未登録で、ステップS322の処理でまだ選択されていない軌跡を検出する。そして、第1軌跡との対応関係を示す情報が未登録で、ステップS322の処理でまだ選択されていない軌跡を検出した場合に(ステップS328の肯定判定(YES))、プロセッサ21は、ステップS322の処理に戻る。
【0124】
この場合に、プロセッサ21は、軌跡データベースDBに画像IMG_k+1に対応して登録された軌跡の中で、第1軌跡との対応関係が未登録の軌跡の中からまだ選択されていない軌跡を選択し、選択した軌跡について、ステップS323以降の処理を実行する。
【0125】
一方、第1軌跡との対応関係が未登録の軌跡の中に、ステップS322の処理でまだ選択されていない軌跡が残っていない場合に(ステップS328の否定判定(NO))、プロセッサ21は、ステップS329の処理に進む。
【0126】
ステップS329において、プロセッサ21は、
図10に示したステップS313の処理で第1軌跡として選択された軌跡に対応する軌跡が、新たな画像IMG_k+1に含まれていないことを示す検出結果を出力する。
【0127】
以上に説明したステップS327あるいはステップS329の処理の終了後に、プロセッサ21は、同じ物体の動きを示す軌跡の組を検出する処理を終了し、
図10に示したステップS315の処理に進む。
【0128】
ステップS315において、プロセッサ21は、
図8を用いて説明したようにして、ステップS313の処理で第1軌跡として選択した軌跡とステップS314の処理で第2軌跡として検出した軌跡との間を補間する補間軌跡を生成する。なお、
図8に示した軌跡Tr1_kは、ステップS313の処理で選択した第1軌跡の一例であり、
図8に示した軌跡Tr1_k+1は、ステップS315の処理で検出された第2軌跡の一例である。同様に、
図8に示した補間軌跡Tri_kは、ステップS316の処理で生成される補間軌跡の一例である。また、
図11を用いて説明したステップS314の処理において、第1軌跡として選択された軌跡に対応する第2軌跡が画像IMG_k+1に含まれていないことを示す検出結果が得られた場合に、プロセッサ21は、ステップS315、S316の処理を省略する。
【0129】
ステップS316において、プロセッサ21は、ステップS315の処理で生成した補間軌跡とステップS314の処理で第2軌跡として検出した軌跡とを示す画像を、メモリ22に格納された合成画像に追加する。これにより、
図3に示した補間された軌跡Trc_kや
図8に示した補間された軌跡Trc1_jのように、撮影順が連続する2枚の画像のそれぞれに含まれる軌跡を含み、物体MVの動きを連続的に表す軌跡を示す合成画像を生成することができる。
【0130】
ステップS317において、プロセッサ21は、ステップS312の処理で画像IMG_kから抽出された全ての軌跡をステップS313の処理で選択したか否かを判定する。
【0131】
ステップS313の処理で選択されていない軌跡がまだ残っている場合に(ステップS317の否定判定(NO))、プロセッサ21は、ステップS313の処理に戻り、新たに選択した軌跡について、ステップS314〜ステップS317の処理を実行する。
【0132】
ステップS312の処理で画像IMG_kから抽出された全ての軌跡について、ステップS313〜ステップS317の処理が完了した場合に(ステップS317の肯定判定(YES))、プロセッサ21は、ステップS318の処理に進む。
【0133】
ステップS318において、プロセッサ21は、例えば、
図9に示した入力装置25からの指示を示す信号などに基づいて、撮影が継続中であるか否かを判定する。
【0134】
例えば、入力装置25からの信号により、入力装置25に設けられたレリーズボタンが押下された状態が継続していることが示された場合に、プロセッサ21は、デジタルカメラ20の利用者により撮影の継続が指示されていると判断する。この場合に、プロセッサ21は、ステップS318の肯定判定(YES)ルートに従ってステップS312に進み、新たに撮影された画像についての処理を開始する。
【0135】
一方、入力装置25からの信号により、レリーズボタンが押下された状態が解除されたことが示された場合に、プロセッサ21は、デジタルカメラ20の利用者により撮影の停止が指示されたと判断する。この場合に、プロセッサ21は、ステップS318の否定判定(NO)ルートに従ってステップS319に進む。
【0136】
ステップS319において、プロセッサ21は、メモリ22に格納された合成画像を表示装置24に渡し、表示装置24に含まれる表示画面に表示させることで、デジタルカメラ20の利用者に、物体MVの連続的な軌跡を含む合成画像を提示する。ステップS319の処理において提示される合成画像は、物体MVの撮影が開始されてから撮影が終了するまでに物体MVが動いた軌跡を連続的に表している。
【0137】
すなわち、
図10および
図11に示した処理をプロセッサ21が実行することで、デジタルカメラ20により、動く物体MVを離散的に撮影する過程の中で、撮影の開始から終了までの期間に物体MVが動いた軌跡を連続的に表す合成画像を生成することができる。
【0138】
また、
図10および
図11に示した処理を実行するプロセッサは、
図9に示したデジタルカメラのように撮影機能を含む装置に搭載されたプロセッサに限らず、撮影機能を含まないコンピュータ装置に搭載されたプロセッサによって実行されてもよい。
【0139】
図12は、画像処理装置10のハードウェア構成の一例を示す。なお、
図12に示した構成要素のうち、
図1または
図5に示した構成要素と同等のものは、同じ符号で示すとともに構成要素の説明を省略する場合がある。
【0140】
図12に示したコンピュータ装置30は、プロセッサ31と、メモリ32と、ハードディスク装置33と、汎用インタフェース34と、入力装置35と、表示装置36と、ネットワークインタフェース37と、光学ドライブ38とを含んでいる。
図12に例示したプロセッサ31と、メモリ32と、ハードディスク装置33と、汎用インタフェース34と、入力装置35と、表示装置36と、ネットワークインタフェース37と、光学ドライブ38とは、バスを介して互いに接続されている。
【0141】
また、コンピュータ装置30は、汎用インタフェース34を介して、撮影装置GRDに接続されており、また、ネットワークインタフェース37を介してインターネットなどのネットワークNWに接続されている。
図12に示したプロセッサ31とメモリ32とハードディスク装置33と汎用インタフェース34とは、画像処理装置10に含まれる。
【0142】
入力装置35は、例えば、キーボードやマウスなどであり、コンピュータ装置30の利用者からの指示の入力に用いられる。また、表示装置36は、例えば、液晶ディスプレイ装置などであり、利用者に対する画像の提示などに用いられる。
【0143】
また、光学ドライブ38は、光ディスクなどのリムーバブルディスクRMDを装着可能であり、装着したリムーバブルディスクRMDに記録された情報の読出およびリムーバブルディスクRMDへの情報の記録を行う。
【0144】
図12に示したメモリ32は、コンピュータ装置30のオペレーティングシステムとともに、
図10、
図11に示した物体の連続的な軌跡を示す画像を生成する処理をプロセッサ31が実行するためのアプリケーションプログラムを格納している。なお、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムは、例えば、リムーバブルディスクRMDに記録して頒布することができる。そして、リムーバブルディスクRMDを光学ドライブ装置38に装着して読み込み処理を行うことにより、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムを、メモリ32に格納させてもよい。また、物体の連続的な軌跡を示す画像を生成する処理のためのアプリケーションプログラムは、ネットワークNWに接続されたサーバ装置SVから、ネットワークインタフェース37を介してダウンロードすることもできる。そして、ダウンロードしたプログラムをメモリ32またはハードディスク装置33に読み込ませてもよい。
【0145】
そして、プロセッサ31は、メモリ32に格納されたアプリケーションプログラムを実行することにより、
図5に示した抽出部11、推定部12a、補間部13aの機能を果たす。また、
図5に示した軌跡データベースDBは、メモリ32またはハードディスク装置33の記憶領域の一部を用いて実現することができる。
【0146】
プロセッサ31は、例えば、撮影装置GRDにより、
図5に示したn枚の画像IMG_1〜IMG_nの撮影が完了した後に、汎用インタフェース34を介して、撮影装置GRDから画像IMG_1〜IMG_nを示す画像データを取得する。プロセッサ31は、取得した画像データをハードディスク装置33などに蓄積する。また、プロセッサ31は、蓄積した画像データを順次に読み出し、読み出した画像に基づいて、
図10に示したステップS312〜ステップS317の処理を実行することで、物体の連続的な軌跡を示す画像を生成する。
【0147】
図12に示した画像処理装置10は、コンピュータ装置30に搭載されたプロセッサ31により、運動する物体を離散的に撮影した複数の画像から物体の連続的な軌跡を示す画像を生成する処理を撮影処理とは独立に実行することで、処理の高速化が可能である。
【0148】
また、物体の連続的な軌跡を示す画像を生成する処理は、インターネットなどのネットワークを介したクラウドサービスとして提供することも可能である。
【0149】
図13は、
図5に示した画像処理装置10のハードウェア構成の別例を示す。なお、
図13に示した構成要素のうち、
図1または
図5に示した構成要素と同等のものは、同じ符号で示すとともに構成要素の説明を省略する場合がある。
【0150】
図13に示したサーバ装置40は、プロセッサ41と、メモリ42と、ハードディスク装置43と、ネットワークインタフェース44と、光学ドライブ45とを含んでいる。
図13に示したプロセッサ41と、メモリ42と、ハードディスク装置43と、ネットワークインタフェース44と、光学ドライブ45とは、バスを介して互いに接続されている。
【0151】
また、サーバ装置40は、ネットワークインタフェース44を介してインターネットなどのネットワークNWに接続されている。
図13に示したプロセッサ41とメモリ42とハードディスク装置43とネットワークインタフェース44とは、画像処理装置10に含まれる。
【0152】
また、光学ドライブ45は、光ディスクなどのリムーバブルディスクRMDを装着可能であり、装着したリムーバブルディスクRMDに記録された情報の読出およびリムーバブルディスクRMDへの情報の記録を行う。
【0153】
また、サーバ装置40は、ネットワークNWを介して、物体の連続的な軌跡を示す画像を生成する処理を用いたサービスの利用者が所持する携帯端末UEに接続されている。
【0154】
携帯端末UEは、例えば、スマートフォンなどであり、カメラ機能と無線によるネットワーク接続機能を有している。そして、利用者が携帯端末UEのカメラ機能を用いて撮影した複数の画像は、ネットワークNWを介して、ネットワークNWに接続された別のサーバ装置SVaに渡され、更に、画像を蓄積する画像蓄積装置Gacに蓄積されている。
図13に示した画像蓄積装置Gacに蓄積された画像は、
図5に示したn枚の画像IMG_1〜IMG_nに相当する。
【0155】
図13に示したメモリ42は、サーバ装置40のオペレーティングシステムとともに、
図10、
図11に示した物体の連続的な軌跡を示す画像を生成する処理をプロセッサ41が実行するためのアプリケーションプログラムを格納している。なお、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムは、例えば、リムーバブルディスクRMDに記録して頒布することができる。そして、リムーバブルディスクRMDを光学ドライブ装置45に装着して読み込み処理を行うことにより、物体の連続的な軌跡を示す画像を生成する処理を実行するためのアプリケーションプログラムを、メモリ42に格納させてもよい。また、物体の連続的な軌跡を示す画像を生成する処理のためのアプリケーションプログラムは、ネットワークNWに接続されたサーバ装置SVaから、ネットワークインタフェース44を介してダウンロードすることもできる。そして、ダウンロードしたプログラムをメモリ42またはハードディスク装置43に読み込ませてもよい。
【0156】
そして、プロセッサ41は、メモリ42に格納されたアプリケーションプログラムを実行することにより、
図5に示した抽出部11、推定部12a、補間部13aの機能を果たす。また、
図5に示した軌跡データベースDBは、メモリ42またはハードディスク装置43の記憶領域の一部を用いて実現することができる。
【0157】
プロセッサ41は、例えば、携帯端末UEからサービスを要求された際に、画像蓄積装置Gacに予め蓄積された画像の中から、サービスの要求において指定された複数の画像を、サーバ装置SVaを介して取得する。プロセッサ41は、取得した画像データを、
図5に示した画像IMG_1〜IMG_nとしてハードディスク装置33などに蓄積する。また、プロセッサ41は、蓄積した画像データを順次に読み出し、読み出した画像に基づいて、
図10に示したステップS312〜ステップS317の処理を実行することで、物体の連続的な軌跡を示す画像を生成する。
【0158】
図13に示した画像処理装置10は、運動する物体を離散的に撮影した複数の画像から物体の連続的な軌跡を示す画像を生成するサービスを、ネットワークNWを介して提供することができる。
【0159】
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で、前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更を容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【0160】
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
物体を順次に撮影することで得られる第1画像と第2画像とが入力され、前記第1画像に含まれる前記物体のブレを前記物体の第1軌跡として抽出し、前記第2画像に含まれる前記物体のブレを前記物体の第2軌跡として抽出する抽出部と、
前記抽出部によって抽出された前記第1軌跡および前記第2軌跡のそれぞれの画像の特徴に基づいて、前記第1画像と前記第2画像とのそれぞれが撮影された時刻における前記物体の運動の特徴を推定する推定部と、
前記推定部により推定された前記物体の運動の特徴に基づいて、前記第1画像が撮影されてから前記第2画像が撮影されるまでの間における前記物体の軌跡を求め、求めた軌跡を用いて前記第1軌跡と前記第2軌跡との間に軌跡を補間する補間部と、
を備えたことを特徴とする画像処理装置。
(付記2)
付記1に記載の画像処理装置において、
前記推定部は、
前記第1軌跡および前記第2軌跡のそれぞれに含まれる各画素の色または輝度を示す画素値の勾配が他の方向よりも小さい方向を求め、求めた方向を、前記第1画像および前記第2画像のそれぞれが撮影された時刻における前記物体の運動の特徴の一つである前記物体の運動の方向とする
ことを特徴とする画像処理装置。
(付記3)
付記1または付記2に記載の画像処理装置において、
前記第1画像および前記第2画像のそれぞれに複数の物体が含まれ、前記抽出部により、前記第1画像および前記第2画像から前記複数の物体のそれぞれの前記第1軌跡および前記第2軌跡が抽出された場合に、
前記補間部は、
前記抽出部により前記第1画像から抽出された前記第1軌跡毎に、前記第2画像から抽出された複数の前記第2軌跡の中から、前記第1画像から抽出された前記第1軌跡について前記推定部により推定された運動の特徴と類似する運動の特徴が推定された一つの前記第2軌跡を、前記第1軌跡に対応する第2軌跡として検出する検出部と、
前記第1画像から抽出された複数の前記第1軌跡のそれぞれと前記第1軌跡に対応して検出された前記第2軌跡のそれぞれとの間を補間する補間軌跡を生成する生成部とを有する
ことを特徴とする画像処理装置。
(付記4)
付記3に記載の画像処理装置において、
前記検出部は、
前記抽出部により前記第2画像から抽出された複数の前記第2軌跡の中から、前記第1軌跡の画像の特徴に類似した特徴を有する一つの前記第2軌跡を、前記第1軌跡に対応する第2軌跡として検出する
ことを特徴とする画像処理装置。
(付記5)
付記3に記載の画像処理装置において、
前記検出部は、
前記第1軌跡について推定された運動の特徴に含まれる運動の方向と速さとに基づいて、前記第2画像において前記物体が存在することが予測される位置を含む領域を求める予測部を有し、
前記予測部で求められた領域に含まれる前記第2軌跡の中から、前記第1軌跡について推定された運動の特徴と類似した運動の特徴が推定された一つの前記第2軌跡を、前記第1軌跡に対応する第2軌跡として検出する
ことを特徴とする画像処理装置。
(付記6)
物体を順次に撮影することで得られる第1画像と第2画像との入力を受け、前記第1画像に含まれる前記物体のブレを前記物体の第1軌跡として抽出し、前記第2画像に含まれる前記物体のブレを前記物体の第2軌跡として抽出し、
前記抽出された前記第1軌跡および前記第2軌跡のそれぞれの画像の特徴に基づいて、前記第1画像と前記第2画像とのそれぞれが撮影された時刻における前記物体の運動の特徴を推定し、
前記推定された前記物体の運動の特徴に基づいて、前記第1画像が撮影されてから前記第2画像が撮影されるまでの間における前記物体の軌跡を求め、求めた軌跡を用いて前記第1軌跡と前記第2軌跡との間に軌跡を補間する、
ことを特徴とする画像処理方法。