JP4340968B2 - 画像処理装置および方法、記録媒体、並びにプログラム - Google Patents

画像処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP4340968B2
JP4340968B2 JP2004137975A JP2004137975A JP4340968B2 JP 4340968 B2 JP4340968 B2 JP 4340968B2 JP 2004137975 A JP2004137975 A JP 2004137975A JP 2004137975 A JP2004137975 A JP 2004137975A JP 4340968 B2 JP4340968 B2 JP 4340968B2
Authority
JP
Japan
Prior art keywords
block
difference
positional relationship
vector
difference vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004137975A
Other languages
English (en)
Other versions
JP2005321902A (ja
JP2005321902A5 (ja
Inventor
泰 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004137975A priority Critical patent/JP4340968B2/ja
Priority to US11/122,178 priority patent/US7634143B2/en
Publication of JP2005321902A publication Critical patent/JP2005321902A/ja
Publication of JP2005321902A5 publication Critical patent/JP2005321902A5/ja
Application granted granted Critical
Publication of JP4340968B2 publication Critical patent/JP4340968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、画像中の、例えば、動物体を含む領域を正確に抽出することができるようにする画像処理装置および方法、記録媒体、並びにプログラムに関する。
ユーザが、デジタルビデオカメラやデジタルスチルカメラなどのカメラで撮影(撮像)を行う場合、カメラ本体を三脚などで固定せずに、手持ちの状態で撮影(撮像)を行うと、物体に対してカメラが動く(揺れる)ことにより、撮像された画像(以下、単に、画像という)が、揺れているようにみえてしまう、いわゆる手振れが生じることがある。
この手振れによる画像の揺れを低減させるために、時系列に連続した複数枚の画像間で、ある画像を基準(基準画像)として、その基準画像に対する他の画像の画像全体の動きを表すパラメータを求め、得られたパラメータを用いて他の画像を補正する(基準画像に位置を合わせる)処理が行われる。この処理は、例えば、手振れ補正などと呼ばれている。
ここで、基準画像に対する他の画像の画像全体の動きを表すパラメータは、基準画像と他の画像との位置関係を表すパラメータであるともいえる。なお、以下において、基準画像は、位置合わせ(補正)のために参照される画像であるので、基準画像をリファレンス画像という。また、以下において、基準画像(リファレンス画像)に合わせて位置が補正される他の画像をターゲット画像という。
リファレンス画像とターゲット画像の2枚の画像間において、手振れによって生じる画像の揺れの成分には、大まかには、物体に対してカメラを向けた状態で、カメラが左右にずれた場合に生じる平行移動成分と、カメラが時計方向または反時計方向に回転した場合に生じるレンズの光軸を中心とする回転成分とがある。さらに厳密には、カメラのレンズの光軸に垂直な軸の回りの回転成分や、カメラの奥行き方向の移動による拡大縮小成分もある。
このような手振れが生じているリファレンス画像とターゲット画像との位置合わせには、例えばアフィン変換が用いられる。従って、リファレンス画像とターゲット画像との2枚の画像どうしの位置関係を表すパラメータとしては、例えば、アフィン変換のパラメータであるアフィンパラメータがある。
アフィン変換では、リファレンス画像上の位置(x,y)と、ターゲット画像上の位置(x’,y’)との位置関係は、次の式(1)で表される。
Figure 0004340968
・・・・(1)
ここで、式(1)において、例えば、a=K×cosθ,b=−K×sinθ,c=K×sinθ,d=K×cosθとした場合、式(1)の左辺は、位置(x,y)に対して、角度θの回転、(s,t)の平行移動、K倍の拡大縮小を施すアフィン変換を表す。
なお、以下では、式(1)のアフィン変換の行列(a,b,c,d)と2次元ベクトル(s,t)を合わせて、アフィンパラメータ(a,b,c,d,s,t)と表す。
アフィンパラメータは、例えば、リファレンス画像を複数のブロックに分割し、そのブロックの動きベクトルを検出することによって求められる。即ち、例えば、リファレンス画像のブロックの動きベクトルによって、リファレンス画像の各画素(の位置)(x,y)を、ターゲット画像上に移動したときの、その移動後の位置(x’’,y’’)と、式(1)によって、リファレンス画像の各画素(x,y)を、ターゲット画像上の位置に変換したときの、その変換後の位置(x’,y’)との自乗誤差の総和を最小にする式(1)のアフィンパラメータ(a,b,c,d,s,t)が求められる。
しかしながら、リファレンス画像やターゲット画像に撮像(投影)されている物体のなかに、動いている物体(以下、動物体という)がある場合、一般的には、画像中の動物体の動き(動きベクトル)と、手振れによる画像全体の動きとは異なるために、上述したアフィンパラメータ(a,b,c,d,s,t)を求めるのに、動物体の領域の画素を用いてしまうと、その動物体の動きの影響によって、正確なアフィンパラメータ(a,b,c,d,s,t)を求めることが困難となる。
従って、画像中に動物体がある場合、その動物体の部分(領域)を抽出して除外し、動物体の部分が除外された画像のみを用いて、手振れによる画像全体の動きを表すアフィンパラメータ(a,b,c,d,s,t)を求める必要がある。
従来の、動物体を含む領域を除外して、手振れを補正する技術は、例えば、特許文献1で提案されている。
特許文献1では、画像全体の動きを検出するのに、画像を複数のブロックに分割して得られる各ブロックの水平方向の動きベクトルと垂直方向の動きベクトルだけを考慮している。
即ち、特許文献1では、画像全体が4つの領域に分割され、その4つの領域それぞれが、さらに小さな複数のブロックに分割される。そして、4つの領域それぞれの各ブロックについて、動きベクトルVが求められる。
さらに、4つの各領域において、各ブロックの動きベクトルVの水平方向の値VXiと、全ブロックの動きベクトルVの水平方向の平均値VXAVRとの差の絶対値|VXi−VXAVR|と、各ブロックの動きベクトルVの垂直方向の値VYiと、全ブロックの動きベクトルVの垂直方向の平均値VYAVRとの差の絶対値|VYi−VYAVR|との和の、全ブロックについての総和、即ち、Σ(|VXi−VXAVR|+|VYi−VYAVR|)が、発散度として求められる。
そして、4つの領域の各発散度のうち、発散度が小さい2つの領域が選択され、その選択された2つの領域の動きベクトルVの平均が、画像全体の動きベクトル、即ち、画像全体の動きを表すパラメータとして計算される。換言すれば、4つの各領域の発散度のうち、発散度が大きい2つの領域が、動物体を含む領域として、画像全体の動きを表すパラメータの計算から除外される。
特開平07−038800号公報
しかしながら、特許文献1の方法では、例えば、ユーザが静止物体(動物体でない物体である非動物体)を撮像した場合(動物体が画像に投影されていない場合)において、手振れにレンズの光軸を中心とする回転成分が含まれているときには、手振れの回転の揺れによる動きベクトルは、画像の中心(回転中心)付近にある静止物体については、ほぼ0となるが、画像の中心から離れた位置にある静止物体については、ある程度の大きさとなる。この場合、ある程度の大きさの動きベクトルが得られる領域は、その領域に表示されている物体が静止物体であっても、動物体が表示されている領域とみなされ除外されてしまうことになる。
このように画像全体の動きを表すパラメータを求めるのに、静止物体が表示されている領域が除外されてしまうと、パラメータの精度が劣化することになる。
本発明は、このような状況に鑑みてなされたものであり、画像中の、例えば、動物体を含む領域等を、精度良く抽出することができるようにするものである。
本発明の画像処理装置は、第1の画像を複数のブロックに分割する分割手段と、ブロックから、第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出手段と、第1と第2の画像の位置関係を表す第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出手段と、ブロックについて、第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段と、差分ベクトルの大きさに基づいて、動物体を含むブロック、および非動物体を含むブロックを抽出する抽出手段とを備え、抽出手段は、分ベクトルの大きさで昇順に並べられた差分ベクトルのうち、n+1番目の差分ベクトルの大きさから、n番目の差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の差分ベクトルそれぞれのブロックを、非動物体を含むブロックとして抽出し、n+1番目以降の差分ベクトルそれぞれのブロックを、動物体を含むブロックとして抽出する
この画像処理装置には、抽出手段により抽出された非動物体を含むブロックを用いて、第1と第2の画像の位置関係を表す第2の位置関係パラメータを算出する位置関係パラメータ算出手段をさらに設けることができる。
この画像処理装置には、位置関係パラメータ算出手段により算出された第2の位置関係パラメータによって、第1の位置関係パラメータを更新する更新手段をさらに設け、第2の動きベクトル算出手段において、更新手段により更新された第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出し、差分ベクトル算出手段において、第1と第2の動きベクトルの差分ベクトルを算出し、抽出手段において、差分ベクトルの大きさに基づいて、非動物体を含むブロックを抽出し、位置関係パラメータ算出手段において、抽出手段により抽出された非動物体を含むブロックを用いて、第2の位置関係パラメータを算出し、更新手段において、位置関係パラメータ算出手段により算出された第2の位置関係パラメータによって、第1の位置関係パラメータを更新することを所定の条件が満たされるまで繰り返すことができる。
所定の条件は、第1と第2の位置関係パラメータとの差が所定の閾値以下とすることができる。
この画像処理装置には、位置関係パラメータ算出手段により算出された第2の位置関係パラメータを出力する出力手段をさらに設けることができる。
この画像処理装置には、差分ベクトルの終点を少なくとも1つ含む、互いに重複しない複数の領域のうち、1またはいくつかの領域により構成される拡大領域を求める拡大領域算出手段と、拡大領域に含まれる差分ベクトルの終点の重心が存在する位置を算出する位置算出手段と、算出された位置を重心とする所定の領域を、抽出用領域として求める抽出用領域算出手段とをさらに設けることができる。
抽出用領域算出手段では、所定の領域に含まれる差分ベクトルの終点の個数が、所定の閾値未満である場合、所定の領域に含まれる差分ベクトルの終点の個数が、所定の閾値以上となるまで、所定の領域を拡大し、拡大後の所定の領域を、抽出用領域として求めることができる。
抽出用領域は、所定の点を中心とする所定の半径の円の領域とすることができる。
位置関係パラメータ算出手段では、抽出手段により抽出された非動物体を含むブロックそれぞれについて算出された差分ベクトルの大きさの自乗和を最小にする第2の位置関係パラメータを算出することができる。
本発明の画像処理方法は、第1の画像を複数のブロックに分割する分割ステップと、ブロックから、第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、第1と第2の画像の位置関係を表す第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、ブロックについて、第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの大きさに基づいて、動物体を含むブロック、および非動物体を含むブロックを抽出する抽出ステップとを含み、抽出ステップは、分ベクトルの大きさで昇順に並べられた差分ベクトルのうち、n+1番目の差分ベクトルの大きさから、n番目の差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の差分ベクトルそれぞれのブロックを、非動物体を含むブロックとして抽出し、n+1番目以降の差分ベクトルそれぞれのブロックを、動物体を含むブロックとして抽出する
本発明の記録媒体に記録されているプログラムは、第1の画像を複数のブロックに分割する分割ステップと、ブロックから、第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、第1と第2の画像の位置関係を表す第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、ブロックについて、第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの大きさに基づいて、動物体を含むブロック、および非動物体を含むブロックを抽出する抽出ステップとを含み、抽出ステップは、分ベクトルの大きさで昇順に並べられた差分ベクトルのうち、n+1番目の差分ベクトルの大きさから、n番目の差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の差分ベクトルそれぞれのブロックを、非動物体を含むブロックとして抽出し、n+1番目以降の差分ベクトルそれぞれのブロックを、動物体を含むブロックとして抽出する処理をコンピュータに実行させる。
本発明のプログラムは、第1の画像を複数のブロックに分割する分割ステップと、ブロックから、第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、第1と第2の画像の位置関係を表す第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、ブロックについて、第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの大きさに基づいて、動物体を含むブロック、および非動物体を含むブロックを抽出する抽出ステップとを含み、抽出ステップは、分ベクトルの大きさで昇順に並べられた差分ベクトルのうち、n+1番目の差分ベクトルの大きさから、n番目の差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の差分ベクトルそれぞれのブロックを、非動物体を含むブロックとして抽出し、n+1番目以降の差分ベクトルそれぞれのブロックを、動物体を含むブロックとして抽出する処理をコンピュータに実行させる。
本発明においては、第1の画像が複数のブロックに分割され、そのブロックから、第2の画像の対応する領域への移動量を表す第1の動きベクトルが算出され、第1と第2の画像の位置関係を表す第1の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルが算出される。そして、ブロックについて、第1と第2の動きベクトルの差分ベクトルが算出され、その差分ベクトルの大きさで昇順に並べられた差分ベクトルのうち、n+1番目の差分ベクトルの大きさから、n番目の差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の差分ベクトルそれぞれのブロックが、非動物体を含むブロックとして抽出され、n+1番目以降の差分ベクトルそれぞれのブロックが、動物体を含むブロックとして抽出される
本発明によれば、画像中の、例えば、動物体を含む領域等を正確に抽出することができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の画像処理装置は、
第1と第2の画像の画像処理を行う画像処理装置(例えば、図1のコンピュータ11)において、
前記第1の画像を複数のブロックに分割する分割手段(例えば、図7のステップS11の処理を行うコンピュータ11のCPU31)と、
前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出手段(例えば、図7のステップS12の処理を行うコンピュータ11のCPU31)と、
前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出手段(例えば、図7のステップS14の処理を行うコンピュータ11のCPU31)と、
前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段(例えば、図7のステップS15の処理を行うコンピュータ11のCPU31)と、
前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出手段(例えば、図7のステップS16の処理を行うコンピュータ11のCPU31)と
を備え、
前記抽出手段は、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
請求項2に記載の画像処理装置は、
前記抽出手段により抽出された前記非動物体を含む前記ブロックを用いて、前記第1と第2の画像の位置関係を表す第2の位置関係パラメータを算出する位置関係パラメータ算出手段(例えば、図7のステップS17の処理を行うコンピュータ11のCPU31)をさらに備える
請求項3に記載の画像処理装置は、
前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータによって、前記第1の位置関係パラメータを更新する更新手段(例えば、図7のステップS19の処理を行うコンピュータ11のCPU31)をさらに備え、
前記第2の動きベクトル算出手段において、前記更新手段により更新された前記第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出し、
前記差分ベクトル算出手段において、前記第1と第2の動きベクトルの差分ベクトルを算出し、
前記抽出手段において、前記差分ベクトルの大きさに基づいて、前記非動物体を含む前記ブロックを抽出し、
前記位置関係パラメータ算出手段において、前記抽出手段により抽出された前記非動物体を含む前記ブロックを用いて、前記第2の位置関係パラメータを算出し、
前記更新手段において、前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータによって、前記第1の位置関係パラメータを更新する
ことを所定の条件が満たされるまで繰り返す。
請求項5に記載の画像処理装置は、
前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータを出力する出力手段(例えば、図7のステップS18において、YESと判定された場合の処理を行うコンピュータ11のCPU31)をさらに備える
ことを特徴とする。
請求項6に記載の画像処理装置は、
前記差分ベクトルの終点を少なくとも1つ含む、互いに重複しない複数の領域のうち、1またはいくつかの領域により構成される拡大領域を求める拡大領域算出手段(例えば、図14のステップS63の処理を行うコンピュータ11のCPU31)と、
前記拡大領域に含まれる前記差分ベクトルの終点の重心が存在する位置を算出する位置算出手段(例えば、図14のステップS64の処理を行うコンピュータ11のCPU31)と、
算出された前記位置を重心とする所定の領域を、前記抽出用領域として求める抽出用領域算出手段(例えば、図13のステップS44の処理を行うコンピュータ11のCPU31)と
をさらに備える。
請求項10に記載の画像処理方法は、
第1と第2の画像に対して画像処理を行う画像処理装置の画像処理方法において、
前記第1の画像を複数のブロックに分割する分割ステップ(例えば、図7のステップS11)と、
前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップ(例えば、図7のステップS12の処理を行うコンピュータ11のCPU31)と、
前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップ(例えば、図7のステップS14)と、
前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップ(例えば、図7のステップS15)と、
前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出ステップ(例えば、図7のステップS16)と
を含み、
前記抽出ステップは、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
請求項11に記載の記録媒体のプログラム、請求項12に記載のプログラムの各ステップの具体例も、請求項10に記載の画像処理方法の各ステップの発明の実施の形態における具体例と同様である。
以下、図を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。
図1の画像処理装置は、コンピュータ11と、そのコンピュータ11に画像を供給するデジタルカメラ(デジタルビデオカメラ)12とで構成されている。また、コンピュータ11は、インターネット13に接続されている。
CPU(Central Processing Unit)31、メモリ32、ディスプレイコントローラ33、入力機器インタフェース34、ネットワークインタフェース35、および外部機器インタフェース36は、バス37を介して相互に接続されている。
CPU31は、HDD(Hard Disk Drive)41に記憶されているオペレーティングシステム(OS)を実行し、そのオペレーティングシステムの制御の下で、各種のプログラム(アプリケーションプログラム)を実行する。例えば、CPU31は、デジタルカメラ12から外部機器インタフェース36を介して供給される複数の画像(の画像データ)を、HDD41に記憶(保存)させる。また、CPU31は、デジタルカメラ12から供給された、または、HDD41に記憶されている複数の画像のうちの、所定の画像をリファレンス画像とするとともに、他の画像をターゲット画像として、リファレンス画像とターゲット画像との位置関係を算出する処理を行う。以下、この処理を位置関係算出処理という。位置関係算出処理では、リファレンス画像またはターゲット画像に動物体が投影されている場合には、画像中の動物体の領域が抽出され、その動物体の領域を除外して、即ち、動物体でない物体である非動物体の領域のみを用いて、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ(a,b,c,d,s,t)が求められる。
メモリ32は、CPU31において実行されるプログラムを記憶(ロード)し、また、CPU31が処理に必要な作業データを一時的に記憶する。なお、メモリ32は、ROM(Read Only Memory)などの不揮発性メモリおよびDRAM(Dynamic Random Access Memory)などの揮発性メモリの両方で構成することができる。
ディスプレイコントローラ33は、CPU31から供給される描画命令に従い、ディスプレイ38に画像を表示させる。即ち、ディスプレイコントローラ33は、CPU31から供給される描画命令に従い、描画データを得て、図示しないフレームバッファに書き込む。ディスプレイ38は、フレームバッファに書き込まれた描画データに基づいて、画像を表示する。これにより、ディスプレイ38では、HDD41に記憶されている画像や、HDD41に記憶されている画像をCPU31で処理(加工)した画像などが表示され、ユーザは、そのディスプレイ38上に表示された画像を見ることができる。
入力機器インタフェース34には、キーボード(KBD)39やマウス40が接続されている。ユーザは、キーボード39またはマウス40を操作することにより、例えば、画像をディスプレイ38に表示させるコマンドや、画像処理を行わせるコマンドなどを入力することができる。入力機器インタフェース34は、キーボード39やマウス40から供給される、その操作に対応した信号を、バス37を介して、CPU31に供給する。
ネットワークインタフェース35は、例えば、ADSL(Asymmetric Digital Subscriber Line)モデムやNIC(Network Interface Card)などで構成され、インターネット13などの広域ネットワークや、Ethernet(登録商標)に代表されるLAN(Local Area Network)などの局所的ネットワークなどとの間で通信を行うための通信制御を行う。
なお、インターネット13などのネットワーク上では、図示しない複数のホスト端末またはサーバなどと呼ばれるコンピュータが、互いにトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。そのネットワーク上にあるサーバなどは、例えば、ソフトウエア(プログラム)やコンテンツデータなどをユーザに配信する配信サービスなどを行うことができる。コンピュータ11は、ネットワークインタフェース35を介して、例えば、インターネット13上のサーバから、他人が撮像した画像をHDD41にダウンロードすることができる。
外部機器インタフェース36には、デジタルカメラ12,HDD41、およびメディアドライブ42などの外部機器が接続されている。外部機器インタフェース36は、デジタルカメラ12,HDD41、またはメディアドライブ42それぞれとの間でのデータのやりとりを制御する。
HDD41は、磁気ディスクを記録媒体として有する、ランダムアクセス可能な記憶装置(記録装置)であり、記憶容量やデータ転送速度などの点が優れている。
HDD41には、各種のプログラムが実行可能な状態でインストール(記憶)されている。例えば、HDD41には、CPU31が実行すべきオペレーティングシステムのプログラムや、その他のアプリケーションプログラム、デバイスドライバなどが不揮発的に記憶されている。
また、本実施の形態では、上述したように、コンピュータ11が、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ(a,b,c,d,s,t)を求める位置関係算出処理を行うが、この位置関係算出処理を行うプログラムも、HDD41に記憶(インストール)されている。
メディアドライブ42には、CD(Compact Disc)やMO(Magneto-Optical disc)、DVD(Digital Versatile Disc)などの可般型のディスク43が装着される。そして、メディアドライブ42は、ディスク43のデータ記録面にアクセスし、そこに記録されているプログラムやデータを読み出し、また、外部機器インタフェース36から供給されたデータなどをディスク43に書き込む(記録する)。
ディスク43は、主に、プログラムやデータのバックアップをとるためや、プログラムまたはデータの販売、流通、配布などを目的として移動するために使用される。従って、リファレンス画像とターゲット画像との位置関係を算出する位置関係算出処理を行うプログラムも、ディスク43に記録した形で、販売等することができる。
以上のように構成されるコンピュータ11は、例えば、デジタルカメラ12から供給された、時系列に撮像された複数枚の画像、または、HDD41に記憶されている複数枚の画像などを対象として、位置関係算出処理を行う。即ち、コンピュータ11は、所定の1枚の画像をリファレンス画像とするとともに、他の画像をターゲット画像として、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ(a,b,c,d,s,t)を算出する。
そして、コンピュータ11は、そのアフィンパラメータ(a,b,c,d,s,t)を用いて、ターゲット画像を変換することにより、リファレンス画像に対するターゲット画像の補正された画像の位置情報、例えば、リファレンス画像上のターゲット画像の四隅の座標値などを、手振れを補正するための情報として、外部機器インタフェース36を介してデジタルカメラ12などに供給(出力)することができる。
なお、コンピュータ11は、例えば、米IBM社のパーソナル・コンピュータ“PC/AT(Personal Computer/Advanced Technology)”の互換機又は後継機を採用することができる。勿論、コンピュータ11は、他のアーキテクチャを備えたコンピュータでも良い。また、コンピュータ11と同様の構成は、デジタルカメラ12内に内蔵することが可能である。この場合、デジタルカメラ12内で、位置関係算出処理、さらには、その位置関係算出処理によって得られるアフィンパラメータ(a,b,c,d,s,t)を用いた手振れ補正などが行われる。
次に、コンピュータ11による位置関係算出処理について具体的に説明する。
図2は、リファレンス画像51とターゲット画像52を示している。
ここで、リファレンス画像51については、リファレンス画像51の左下の点を原点Oとして、右方向をX方向とするとともに、上方向をY方向とするXY座標系を、リファレンス画像51の座標系と定義する。ターゲット画像52についても、ターゲット画像52の左下の点を原点O’として、同様に、XY座標系を定義する。
図2のリファレンス画像51とターゲット画像52とは、例えば、時系列に連続する画像であり、デジタルカメラ12で撮像された画像や、デジタルスチルカメラ等で高速撮像された画像である。ここで、先の時刻に撮像された画像をリファレンス画像51とするとともに、後の時刻に撮像された画像をターゲット画像52とする。
リファレンス画像51とターゲット画像52には、撮像の対象となっている物体61と、物体61の背後に背景62とが投影(表示)されている。また、物体61は、リファレンス画像51とターゲット画像52の撮像が行われた間に移動しており、従って、動物体である。
ターゲット画像52の原点O’における物体61の位置は、手振れと物体61の移動により、リファレンス画像51の原点Oに対する物体61の位置とは異なる位置に投影されている。また、ターゲット画像52の原点O’における背景62の位置は、手振れにより、リファレンス画像51の原点Oに対する背景62の位置とは異なる位置に投影されている。
ここで、位置関係算出処理では、手振れによって生じたずれに対応する、リファレンス画像51上の位置(x,y)と、ターゲット画像52上の位置(x’,y’)との位置関係が、上述の式(1)で与えられるアフィンパラメータ(a,b,c,d,s,t)として求められる。
図2のリファレンス画像51とターゲット画像52の例では、例えば、コンピュータ11は、リファレンス画像51上の点Aの位置(x,y)と、それに対応するターゲット画像52上の点A’の位置(x’,y’)との位置関係を表すアフィンパラメータ(a,b,c,d,s,t)が求められる。
しかしながら、リファレンス画像51とターゲット画像52との間の対応する位置には、背景62の対応する点どうしの位置関係のように、手振れのみによるずれが生じている場合と、物体61の対応する点どうしの位置関係のように、手振れによるずれと物体61が移動することによるずれの両方が生じている場合とがある。従って、リファレンス画像51とターゲット画像52との画像全体を用いてアフィンパラメータ(a,b,c,d,s,t)を求めると、物体61の移動によるずれの影響を受けたアフィンパラメータ(a,b,c,d,s,t)が得られることになる。
以上から、手振れによるずれのみに対応する、画像どうしの位置関係を表すアフィンパラメータ(a,b,c,d,s,t)を求めるときには、画像の各位置(領域)のうちの、動物体である物体61が表示されている位置(領域)のデータを除外する必要がある。
そこで、コンピュータ11は、位置関係算出処理において、画像から、動物体の領域を除外する処理を行う。
即ち、コンピュータ11は、位置関係算出処理において、初めに、図3に示すように、リファレンス画像51を、複数のブロックblkに分割する。なお、リファレンス画像51とターゲット画像52とを、適当な縮小率で縮小し、その縮小したリファレンス画像51を複数のブロックblkに分割してもよい。
ここで、リファレンス画像51のブロックblkのうち、X方向に左からh+1番目で、Y方向に下からk+1番目のブロックを、ブロックblk(h,k)と表す。また、ブロックblk(h,k)の中心位置を、(Cx(h,k),Cy(h,k))と表す。なお、Cx(h,k)とCy(h,k)は、それぞれX座標とY座標である。
位置関係算出処理では、コンピュータ11は、リファレンス画像51の各ブロックblk(h,k)について、ターゲット画像52内で対応する領域としての、ブロックblk(h,k)と同一形状のブロックblk’(h,k)を検出するブロックマッチングを行う。
即ち、コンピュータ11は、例えば、リファレンス画像51上のブロックblk(h,k)をテンプレートとして、ターゲット画像52から、ブロックblk(h,k)に一番類似している(一致度の高い)領域を検出する。具体的には、例えば、ブロックblk(h,k)の各画素と、ターゲット画像52の、ブロックblk(h,k)と同一形状の領域の対応する画素との画素値の自乗誤差等の総和を最小にする領域が、ブロックblk(h,k)に対応するブロックblk’(h,k)として、ターゲット画像52から検出される。
なお、ブロックblk’(h,k)の中心位置を、(Cx’(h,k),Cy’(h,k))と表す。
次に、位置関係算出処理では、コンピュータ11は、リファレンス画像51上のブロックblk(h,k)の中心位置(Cx(h,k),Cy(h,k))から、ブロックマッチングで検出されたターゲット画像52上のブロックblk’(h,k)の中心位置(Cx’(h,k),Cy’(h,k))への、ブロックblk(h,k)の移動量を表す動きベクトルVBM(h,k)を算出する。ここで、動きベクトルVBM(h,k)の(h,k)は、動きベクトルVBM(h,k)が、リファレンス画像51上のブロックblk(h,k)について算出された動きベクトルであることを表す。なお、ブロックblk(h,k)の位置(h,k)を特に区別する必要がない場合には、単に、動きベクトルVBMという。また、動きベクトルVBMのX成分、Y成分それぞれを、VBMX,VBMYとする。さらに、上述のようなブロックマッチングにより得られる動きベクトルVBMを、以下、適宜、マッチング動きベクトルVBMという。
コンピュータ11は、上述したマッチング動きベクトルVBM(h,k)の算出を、リファレンス画像51の全ブロックblk(h,k)に対して行う。但し、リファレンス画像51の各ブロックblk(h,k)のうち、テクスチャが少ない(アクティビティが小さい)ブロックblk(h,k)については、ターゲット画像52の対応する正確なブロックblk’(h,k)を検出することが難しいので、そのようなブロックblk(h,k)は、予めブロックマッチングの対象から除外する。即ち、例えば、輝度値の分散が所定の閾値ThPV以下のブロックblk(h,k)が、テクスチャが少ないブロックblk(h,k)であるとして、ブロックマッチングの対象から除外される。
次に、位置関係算出処理では、コンピュータ11は、後述するようにして、動物体を含まないブロックblk(h,k)を用いて求められる新たなアフィンパラメータPnewを、現在のアフィンパラメータPcur=(acur,bcur,ccur,dcur,scur,tcur)として、リファレンス画像51の全ブロックblk(h,k)(マッチング動きベクトルVBM(h,k)が求められた全ブロックblk(h,k))について、現在のアフィンパラメータPcur=(acur,bcur,ccur,dcur,scur,tcur)のアフィン変換による、変換後の位置と、変換前の位置との間の動きベクトルVGM(h,k)を算出する。
なお、位置関係算出処理の開始直後は、まだ、新たなアフィンパラメータPnewが求められていないため、現在のアフィンパラメータPcurとしては、アフィンパラメータの初期値が用いられる。
アフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)としては、例えば、リファレンス画像51とターゲット画像52との間に、手振れが生じていないとした場合のアフィンパラメータ(1,0,0,1,0,0)などを採用することができる。なお、アフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)としては、他に適切な値があれば、他の値を採用してもよい。
リファレンス画像51のブロックblk(h,k)を、アフィンパラメータ(acur,bcur,ccur,dcur,scur,tcur)によってアフィン変換したときの、その変換後と変換前との位置の間の動きベクトルVGM(h,k)=(VGMX,VGMY)は、例えば、ブロックblk(h,k)中心位置(Cx(h,k),Cy(h,k))に注目すると、式(2)で表される。
Figure 0004340968
・・・・(2)
ここで、動きベクトルVGM(h,k)を、上述のマッチング動きベクトルVBM(h,k)と区別するために、以下、適宜、変換動きベクトルVGM(h,k)という。なお、ブロックblk(h,k)の位置(h,k)を特に区別する必要がない場合には、単に、変換動きベクトルVGMという。また、VGMX,VGMYそれぞれは、変換動きベクトルVGMのX成分、Y成分である。
次に、位置関係算出処理では、コンピュータ11は、リファレンス画像51の全ブロックblk(h,k)について、マッチング動きベクトルVBM(h,k)と、変換動きベクトルVGM(h,k)との差分ベクトルVD(h,k)=VBM(h,k)−VGM(h,k)を算出する。
図4は、リファレンス画像51の各ブロックblk(h,k)について、コンピュータ11が、マッチング動きベクトルVBM(h,k)、変換動きベクトルVGM(h,k)、および差分ベクトルVD(h,k)のそれぞれを求めた例を示している。なお、図4では、リファレンス画像51が4×4(横×縦)の16個のブロックblk(h,k)に分割された例を示している。
図4において、斜線を付していないブロックblk(h,k)は、テクスチャが少ないblk(h,k)であるとして、ブロックマッチングの対象から除外されたブロックを示しており、斜線を付してあるブロックblk(h,k)は、ブロックマッチングの対象とされ、マッチング動きベクトルVBMが求められたブロックを示している。
また、図4では、ブロックblk(h,k)の中心を始点とする実線の矢印が、リファレンス画像51とターゲット画像52とから計算されたマッチング動きベクトルVBM(h,k)を表している。さらに、ブロックblk(h,k)の中心を始点とする点線の矢印が、現在のアフィンパラメータPcur=(acur,bcur,ccur,dcur,scur,tcur)のアフィン変換に基づいて計算された変換動きベクトルVGM(h,k)を表している。
各ブロックblk(h,k)の差分ベクトルVD(h,k)は、例えば、図4右側に示すように、マッチング動きベクトルVBM(h,k)の終点と、変換動きベクトルVGM(h,k)の終点とを結ぶベクトルで表される。
ブロックblk(h,k)に動物体が含まれていない場合、現在のアフィンパラメータPcurがある程度正しければ、動物体が含まれていないブロックblk(h,k)のマッチング動きベクトルVBMと、現在のアフィンパラメータPcurによるアフィン変換に基づいて求められた変換動きベクトルVGMとは、さほど差がなく、差分ベクトルVD(の大きさ)は小さくなる。一方、ブロックblk(h,k)に動物体が含まれている場合、そのブロックblk(h,k)の差分ベクトルVD(の大きさ)は、動物体の動きの影響を受けて大きくなる。
図4では、そのような差分ベクトルVD(の大きさ)が大きいブロックblk(h,k)が、丸で囲まれている。
位置関係算出処理では、動物体の領域を除外する処理が行われ、これにより、リファレンス画像51の(差分ベクトルVDが計算された)各ブロックblk(h,k)について得られた、差分ベクトルVD(h,k)に基づいて、動物体を含まないブロックblk(h,k)(手振れだけによるずれが生じているブロックblk(h,k))、または動物体を含むブロックblk(h,k)が抽出(分離)され、動物体を含まないブロックblk(h,k)以外のブロック、即ち、動物体を含むブロックblk(h,k)が除外される。
ここで、リファレンス画像51の各ブロックblk(h,k)について算出された差分ベクトルVD(h,k)に基づいて、動物体を含むブロックblk(h,k)または動物体を含まないブロックblk(h,k)を抽出する第1と第2の2つの抽出方法を説明する。なお、以下の説明では、リファレンス画像51の全ブロックblk(h,k)とは、必要に応じて、テクスチャが少ないブロックblk(h,k)が除外されたブロックblk(h,k)を意味するものとする。
図5を参照して、第1の抽出方法を説明する。
図5は、リファレンス画像51の2次元の差分ベクトルVDの終点をプロットしたXY座標系を示している。なお、差分ベクトルVDの終点のX座標とY座標とは、差分ベクトルVDのX成分とY成分とに、それぞれ等しい。
動物体を含まないブロックblk(h,k)の差分ベクトルVD(h,k)は、上述したように、現在のアフィンパラメータPcurがある程度正しければ、微小な大きさとなるので、その終点は、図5に示すように、原点付近の領域71に集中して分布する。
一方、(同一の)動物体を含むブロックblk(h,k)の差分ベクトルVD(h,k)は、動物体の動きの影響を受け、ある程度の大きさのベクトルとなり、原点からある程度離れた領域72に集中して分布する。
従って、動物体を含まないブロックblk(h,k)の差分ベクトルVDの終点の分布が集中する、例えば、原点を中心Qとする半径rの円81を設定することにより、その円81をいわば境界線として、円81内に終点が分布する差分ベクトルVD(h,k)を、動物体を含まないブロックblk(h,k)として抽出するとともに、円81外に分布する差分ベクトルVD(h,k)を、動物体を含むブロックblk(h,k)として抽出することができる。ここで、半径rは、例えば、円81が原点付近に分布が集中する差分ベクトルVDの終点を囲むことができる程度の大きさに設定される。この大きさは、例えば、シミュレーション等によって決定することができる。
なお、リファレンス画像51とターゲット画像52の2枚の画像が撮像された撮像時刻の時間間隔が長いことなどによって、リファレンス画像51とターゲット画像52において、手振れにより生じているずれのずれ量が、極端に大きい場合、現在のアフィンパラメータPcurに、アフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)がセットされており、そのアフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)が、上述したように、手振れが生じていない場合のアフィンパラメータ(1,0,0,1,0,0)であるときには、現在のアフィンパラメータPcurは、ある程度正しいとは言えないので、即ち、現在のアフィンパラメータPcurが、リファレンス画像51とターゲット画像52との位置関係を、ある程度正しく表しているとは言えないので、動物体を含まないブロックblk(h,k)の差分ベクトルVD(h,k)であっても、その終点が、原点付近に分布しない。
このような場合の対処については、後述する。
また、ここでは、動物体を含まないブロックblk(h,k)の差分ベクトルVD(h,k)の終点を囲む円81によって、動物体を含まないブロックblk(h,k)を抽出することにしたが、動物体を含まないブロックblk(h,k)の抽出には、円81の他、円以外の形状の図形(例えば、楕円や、正方形、長方形など)を用いることが可能である。
次に、第2の抽出方法を説明する。
第2の抽出方法では、コンピュータ11は、リファレンス画像51の各ブロックblk(h,k)の差分ベクトルVD(h,k)それぞれの大きさ(スカラ)を求め、その差分ベクトルVD(h,k)の大きさの小さい順(昇順)に、差分ベクトルVD(h,k)を並べる(ソートする)。ここで、大きさがi番目に小さい差分ベクトルVD(h,k)のblk(h,k)を、以下、適宜、ブロックblki(i=1,2,・・)と表す。
なお、ブロックblkiの差分ベクトルVDの大きさを|VD|と表すこととすると、差分ベクトルVDの大きさ|VD|は、次式(3)で求められる。
Figure 0004340968
・・・・(3)
式(3)において、VDXは、差分ベクトルVDのX成分を、VDYは、差分ベクトルVDのY成分を、それぞれ表している。
図6は、差分ベクトルVDの大きさ|VD|を、その昇順に並べたソート結果(のグラフ)を示している。なお、図6では、リファレンス画像51において、差分ベクトルVDが計算されたブロックblkiの個数は、N個である。
図6のグラフの横軸は、リファレンス画像51内の差分ベクトルVDが計算されたブロックblkiのサフィックスiを表し、以下、適宜、ブロック番号iという。図6のグラフでは、差分ベクトルVDの大きさ|VD(i)|が、左から小さい順に並べられている。また、縦軸は、ブロックblki差分ベクトルDの大きさ|VD(i)|を表している。ここで、D(i)は、ブロック番号iのブロックblkiの差分ベクトルVDの大きさ|VD|を表す。
図4を参照して説明したように、ブロックblk(h,k)内に動物体が含まれていない場合、そのブロックblk(h,k)の差分ベクトルVDの大きさ|VD|は小さくなる。従って、動物体が含まれていないブロックblk(h,k)の差分ベクトルVDの大きさ|VD|は、ブロックblk(h,k)の差分ベクトルVDの大きさ|VD|を小さい順に並べたときの順番が最初の方(図6の左側)に位置する。一方、動物体が含まれているブロックblk(h,k)の差分ベクトルVDの大きさ|VD|は、ブロックblk(h,k)の差分ベクトルVDの大きさ|VD|を小さい順に並べたときの順番が最後の方(図6の右側)に位置する。
そして、動物体が含まれているブロックblk(h,k)の差分ベクトルVDの大きさ|V D は、平均的に大きく、動物体が含まれていないブロックblk(h,k)差分ベクトルVDの大きさ|V D は、平均的に小さい。従って、ブロックblk(h,k)の差分ベクトルVDの大きさ|VD|を昇順に並べた場合、動物体が含まれていないブロックblk(h,k)の差分ベクトルVDの大きさ|VD|と、動物体が含まれているブロックblk(h,k)の差分ベクトルVDの大きさ|VD|との境界部分には、図6に示すような、他の部分とは異なる不連続な段差Gが生じる。
従って、図6の不連続な段差Gを検出することにより、動物体が含まれていないブロックblk(h,k)のブロック群91と、動物体が含まれているブロックblk(h,k)のブロック群92とを分離することができる。
即ち、差分ベクトルVDの大きさ|VD|を昇順に並べ、ブロック番号iを、その昇順に、順次、注目番号とする。そして、注目番号iの差分ベクトルVD(i)の大きさ|VD(i)|と、その注目番号iの右隣のブロック番号i+1の差分ベクトルVD(i+1)の大きさ|VD(i+1)|とを比較していくことで、不連続な段差Gを検出し、その段差Gが検出されたときの注目番号iによって、動物体が含まれていないブロックblk1乃至blki、または動物体が含まれているブロックblki+1乃至blkNを抽出することができる。
第2の抽出方法を採用する場合、コンピュータ11は、注目番号iについて、式(4)が成立するか否かを判定し、式(4)が成立する場合、注目番号i以下のブロック番号のブロックblk1乃至blkiを、動物体を含まないブロックとして抽出、または、注目番号iより大きいブロック番号、即ち、i+1以上のブロック番号のブロックblki+1乃至blkNを、動物体を含むブロックとして抽出する。
Figure 0004340968
・・・・(4)
ここで、式(4)におけるThGは、図5の原点付近の領域71と、原点からある程度離れた領域72との間の距離に対応する閾値である。
以上のように、動物体の領域を除外する処理では、第1または第2の抽出方法を用いて、リファレンス画像51の差分ベクトルVDが計算された各ブロックblk(h,k)から、動物体を含まないブロックblk(h,k)、または動物体を含むブロックblk(h,k)を抽出し、動物体を含むブロックblk(h,k)(動物体を含まないブロックblk(h,k)以外のブロック)を除外する。
そして、位置関係算出処理では、コンピュータ11は、動物体を含むブロックblk(h,k)が除外(抽出)された残りのブロック、即ち、動物体を含まないブロックblk(h,k)のみを用いて、リファレンス画像51とターゲット画像52との位置関係を表す、上述の式(1)で与えられるアフィンパラメータ(a,b,c,d,s,t)を算出する。
即ち、位置関係算出処理では、コンピュータ11は、リファレンス画像51の動物体を含むブロックblk(h,k)が除外され、動物体を含まない全ブロックblk(h,k)を用い、アフィンパラメータ(a,b,c,d,s,t)のアフィン変換による変換動きベクトルVGMと、マッチング動きベクトルVBMとが一致するようなアフィンパラメータ(a,b,c,d,s,t)を求める。
但し、ブロックマッチングでのマッチング動きベクトルVBMの検出の誤差等のために、動物体を含まないブロックblk(h,k)の変換動きベクトルVGMとマッチング動きベクトルVBMとのすべてが完全に一致するアフィンパラメータ(a,b,c,d,s,t)を求めることは困難である。
そこで、位置関係算出処理では、コンピュータ11は、例えば、変換動きベクトルVGMと、マッチング動きベクトルVBMとの自乗誤差の、動物体を含まない全てのブロックblk(h,k)についての総和が最小となるアフィンパラメータ(a,b,c,d,s,t)を、最小自乗法により求める。
即ち、変換動きベクトルVGMとマッチング動きベクトルVBMとの自乗誤差は、その変換動きベクトルVGMとマッチング動きベクトルVBMとの差分ベクトルVD の大きさ|V D |の自乗に等しい。そこで、位置関係算出処理では、コンピュータ11は、式(5)の自乗誤差の総和Eを最小にするアフィンパラメータ(a,b,c,d,s,t)を求める。
Figure 0004340968
・・・・(5)
ここで、式(5)のΣは、リファレンス画像51の動物体を含まない(差分ベクトルVDが計算された)ブロックblk(h,k)についての総和を表す。
また、式(5)のVBMXとVBMYそれぞれは、上述したように、リファレンス画像51とターゲット画像52とから求められた各ブロックblk(h,k)のマッチング動きベクトルVBM(h,k)のX成分とY成分である。
さらに、式(5)のVGMXとVGMYそれぞれは、変換動きベクトルVGM(h,k)のX成分とY成分であり、アフィンパラメータ(a,b,c,d,s,t)を変数とする式(6)で与えられる。
Figure 0004340968
・・・・(6)
ここで、式(6)のCx(h,k)とCy(h,k)のそれぞれは、ブロックblk(h,k)の中心位置のX座標とY座標を表す。
式(5)の自乗誤差の総和Eを最小にするアフィンパラメータ(a,b,c,d,s,t)は、自乗誤差の総和Eを、アフィンパラメータ(a,b,c,d,s,t)で偏微分した式を求め、その式を0とした方程式を解くことで求めることができる。
ここで、式(5)の自乗誤差の総和Eを最小にするアフィンパラメータ(a,b,c,d,s,t)をアフィンパラメータPnew=(anew,bnew,cnew,dnew,snew,tnew)とする。このアフィンパラメータPnewが、上述した新たなアフィンパラメータPnewである。
位置関係算出処理では、例えば、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができるまで、現在のアフィンパラメータPcurを、新たなアフィンパラメータPnewに更新し、さらに、式(5)の自乗誤差の総和Eを最小にする新たなアフィンパラメータPnewを求める処理を繰り返すことにより、アフィンパラメータPnewとして、正確なアフィンパラメータ(a,b,c,d,s,t)を求める。
ここで、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができる場合としては、例えば、式(7)(で表される条件)を満たす場合を採用することができる。
Figure 0004340968
・・・・(7)
式(7)は、アフィンパラメータPnewと現在のアフィンパラメータPcurの各成分がどれだけ一致しているか(近似度)を判定する式である。なお、式(7)のThPは、所定の閾値であり、例えば、シミュレーション等により適切な値を求めて設定することができる。また、閾値ThPは、ユーザの操作に応じて設定するようにすることも可能である。
さらに、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができる場合としては、式(7)の他に、次の式(8)(で表される条件)を満たす場合を採用してもよい。
Figure 0004340968
・・・・(8)
式(8)は、リファレンス画像51の動物体を含まないブロックblk(h,k)の全体の新たなアフィンパラメータPnewのアフィン変換に基づいて計算された変換動きベクトルVGMと、マッチング動きベクトルVBMとが、どれだけ一致しているか(近似度)を判定する式である。
なお、式(8)において、Σは、リファレンス画像51の動物体を含まないブロックblk(h,k)についての総和を表し、Numは、リファレンス画像51の動物体を含まないブロックblk(h,k)の個数を表す。
次に、図7のフローチャートを参照して、コンピュータ11による位置関係算出処理について、さらに説明する。この位置関係算出処理は、ユーザの操作により、例えば、キーボード39またはマウス40などから、位置関係算出処理を開始するコマンドが入力されたときに開始される。また、コンピュータ11は、位置関係算出処理の対象とするリファレンス画像51とターゲット画像52を、既に認識(取得)しているものとする。
始めに、ステップS11において、コンピュータ11(のCPU31)は、リファレンス画像51を複数のブロックblk(h,k)に分割する。また、ステップS11では、コンピュータ11は、リファレンス画像51の複数のブロックblk(h,k)のうちの、輝度値の分散が所定の閾値より小さいブロックblk(h,k)を、以降の処理の対象から除外して、ステップS12に進む。
ここで、ステップS11において、輝度値の分散が小さいブロックblk(h,k)をブロックマッチングの対象から除外するのは、輝度値の分散が小さいブロックblk(h,k)は、テクスチャが少ないブロックblk(h,k)であり、正確なブロックマッチング等を行うことができないからである。ステップS11以降では、ステップS11において除外されなかったブロックblk(h,k)のみを対象として処理が行われる。
ステップS12において、コンピュータ11は、ステップS11で除外されなかったリファレンス画像51上の各ブロックblk(h,k)をテンプレートとして、ターゲット画像52との間でブロックマッチングを行うことにより、各ブロックblk(h,k)のマッチング動きベクトルVBMを算出し、ステップS13に進む。
ステップS13において、コンピュータ11は、現在のアフィンパラメータPcur=(acur,bcur,ccur,dcur,scur,tcur)を初期化して、ステップS14に進む。
即ち、ステップS13では、コンピュータ11は、現在のアフィンパラメータPcur=(acur,bcur,ccur,dcur,scur,tcur)に、予め設定されているアフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)(例えば、(1,0,0,1,0,0)など)を代入する。アフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)は、例えば、コンピュータ11のHDD41等に予め記憶されていてもよいし、ユーザが、キーボード39またはマウス40などを操作することにより、あるいは、外部機器インタフェース36を介して、コンピュータ11に入力されてもよい。
ステップS14において、コンピュータ11は、リファレンス画像51の(ブロックマッチングの対象から除外されなかった)各ブロックblk(h,k)を、現在のアフィンパラメータPcurによりアフィン変換し、その変換前のブロックblk(h,k)から変換後のブロックblk’(h,k)へのベクトルである変換動きベクトルVGMを算出し、ステップS15に進む。
ステップS15において、コンピュータ11は、ステップS12でマッチング動きベクトルVBMが計算されたリファレンス画像51の各ブロックblk(h,k)について、そのマッチング動きベクトルVBMと、ステップS14の現在のアフィンパラメータPcurのアフィン変換で求められた変換動きベクトルVGMとの差分ベクトルVD=VBM−VGMを算出し、ステップS16に進む。
ステップS16において、コンピュータ11は、ステップS15で算出された差分ベクトルVDの終点の分布状態に基づき、動物体の領域を除外する処理を行って、ステップS17に進む。ステップS16の動物体の領域を除外する処理では、上述した第1または第2の抽出方法により、動物体を含むブロックblk(h,k)が抽出され、その抽出されたブロックblk(h,k)が、後段のステップS17の処理の対象から除外される。なお、第1の抽出方法による動物体の領域を除外する処理については、図13で後述し、第2の抽出方法による動物体の領域を除外する処理については、図15で後述する。
ステップS17において、コンピュータ11は、差分ベクトルVDが計算されたリファレンス画像51のブロックblk(h,k)のうち、動物体を含むブロックblk(h,k)が除外されて残った全てのブロックblk(h,k)(ステップS16の処理の結果残った全てのブロックblk(h,k))についての、差分ベクトルVDの大きさ|VD|の自乗の総和、即ち、式(5)の自乗誤差の総和Eを最小にする新たなアフィンパラメータPnewを算出し、ステップS18に進む。
ステップS18において、コンピュータ11は、新たなアフィンパラメータPnewが収束したかどうか、即ち、ステップS17で算出したアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができるかどうかを、例えば、式(7)または式(8)が満たされるかどうかによって判定する。
ステップS18において、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができないと判定された場合、ステップS19に進み、コンピュータ11は、新たなアフィンパラメータPnewを、現在のアフィンパラメータPcurに代入することにより、現在のアフィンパラメータPcurを更新して、ステップS14に戻る。そして、ステップS18において、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができると判定されるまで、ステップS14乃至S19の処理が繰り返される。
ここで、ステップS14乃至S19が繰り返される場合のステップS16では、差分ベクトルVDが求められたブロックblk(h,k)を対象に、動物体を除外する処理が行われる。但し、ステップS16では、既に行われたステップS16の処理により除外されたブロックblk(h,k)を除いたブロックblk(h,k)を対象に、動物体を除外する処理を行っても良い。
一方、ステップS18において、新たなアフィンパラメータPnewと、現在のアフィンパラメータPcurとの差異がないとみなすことができると判定された場合、新たなアフィンパラメータPnew(または、現在のアフィンパラメータPcur)が、リファレンス画像51とターゲット画像52との間の位置関係を表す、手振れのずれを補正するための、正確なアフィンパラメータ(a,b,c,d,s,t)として、例えば、デジタルカメラ12等に出力され、位置関係算出処理を終了する。
なお、ここでデジタルカメラ12に出力されるアフィンパラメータ(a,b,c,d,s,t)は、リファレンス画像51を、ターゲット画像52を基準とする位置に位置合わせするアフィンパラメータである。従って、ターゲット画像52を、リファレンス画像51を基準とする位置に位置あわせするには、デジタルカメラ12に出力されるアフィンパラメータ(a,b,c,d,s,t)によるアフィン変換の逆変換を行うアフィンパラメータを求める必要がある。この逆変換を行うアフィンパラメータは、コンピュータ11で求めても良いし、デジタルカメラ12で求めても良い。
以上のように、位置関係算出処理では、リファレンス画像51が複数のブロックblkに分割され、各ブロックblkについて、マッチング動きベクトルVBMと、変換動きベクトルVGMとが算出される。ここで、マッチング動きベクトルVBMは、リファレンス画像51の各ブロックblk(h,k)から、ターゲット画像52の対応する領域への移動量を表す動きベクトルであり、変換動きベクトルVGMは、リファレンス画像51とターゲット画像52の位置関係を表すアフィンパラメータPcurのアフィン変換により各ブロックblk(h,k)を変換したときの、その変換前のブロックblk(h,k)から、変換後のブロックblk’(h,k)への移動量を表す動きベクトルである。
さらに、位置関係算出処理では、マッチング動きベクトルVBMと変換動きベクトルVGMとの差分ベクトルVD(=VBM−VGM)が算出される。そして、その差分ベクトルVDの終点の分布状態に基づいて、即ち、現在のアフィンパラメータPcurが、ある程度正しければ、動物体を含まないブロックblk(h,k)の差分ベクトルVDが、原点付近に集中することに基づいて、動物体を含むブロックblk(h,k)が抽出、除外され、その結果残ったブロックblk(h,k)を用いて、アフィンパラメータ(a,b,c,d,s,t)が求められる。
従って、動物体を含むブロックblk(h,k)(または動物体を含まないブロックblk(h,k))を正確に抽出し、さらに、動物体を含まないブロックblk(h,k)のみを用いて、リファレンス画像51とターゲット画像52との位置関係を正確に表す、即ち、動物体の動きの影響のない、アフィンパラメータ(a,b,c,d,s,t)を求めることができる。
なお、図7の位置関係算出処理では、ステップS18において、新たなアフィンパラメータPnewが収束したと判定されるまでステップS14乃至S19の処理を繰り返すようにしたが、その他の条件が満たされるまで、即ち、例えば、予め設定された所定回数(例えば、3回程度)だけステップS14乃至S19の処理が行われるまで、ステップS14乃至S19の処理を繰り返して終了するようにしてもよい。
ところで、上述した第1の抽出方法では、動物体を含むブロックblk(h,k)、または、動物体を含まないブロックblk(h,k)を抽出する際、図5で説明したように、差分ベクトルVDの終点がプロットされるXY座標系上の原点を中心Qとする円81(の円周)を境界線とし、その円81内に終点がプロットされている差分ベクトルVDに対応するブロックblk(h,k)が、動物体を含まないブロックとして抽出され、または、その円81外に終点がプロットされている差分ベクトルVDに対応するブロックblk(h,k)が、動物体を含むブロックとして抽出される。
ところが、上述したように、現在のアフィンパラメータPcurに対して、最初に設定されるアフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)が、ある程度正しいとは言えず、真のアフィンパラメータ(a,b,c,d,s,t)とかけ離れている場合、そのようなアフィンパラメータの初期値(a0,b0,c0,d0,s0,t0)を用いて、ブロックblk(h,k)の変換動きベクトルVGMを求め、さらに差分ベクトルVDを求めたときには、動物体を含まないブロックblk(h,k)の差分ベクトルVD(h,k)の終点の分布が、原点付近に集中しない。
即ち、図8は、現在のアフィンパラメータPcurが真のアフィンパラメータ(a,b,c,d,s,t)とかけ離れているために、動物体を含まないブロックblk(h,k)の差分ベクトルVDの終点が原点に集中しない場合の、差分ベクトルVD(h,k)の終点の分布を示している。
図8では、動物体を含まないブロックblk(h,k)の差分ベクトルVD(h,k)の終点は、原点から比較的離れた領域101に分布し、動物体を含むブロックblk(h,k)の差分ベクトルVD(h,k)の終点は、原点から比較的近い領域102に分布している。
このため、図8では、領域101内の、動物体を含まないブロックblk(h,k)の差分ベクトルVDの終点のいくつかと、領域102内の、動物体を含むブロックblk(h,k)の差分ベクトルVDの終点のすべてが、原点を中心Qとする半径rの円81の内側に含まれている。
従って、原点を中心とする円81を用い、その円81内に終点がある差分ベクトルVDのブロックblk(h,k)を、動物体を含まないブロックとして抽出したのでは、動物体を含むブロックblk(h,k)が、誤って、動物体を含まないブロックとして抽出される問題が生じ得る。
そこで、この問題を解消すべく、動物体の領域を除外する処理では、原点を中心Qとするのではなく、各ブロックblk(h,k)の差分ベクトルVDの終点をXY座標系上にプロットしたときの分布状態から、動物体を含むブロックblk(h,k)と、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qを決定することができる。
そこで、図9乃至図12を参照して、各ブロックblkの差分ベクトルVDを2次元のXY座標値とみなし、その終点を、XY座標系上にプロットしたときの分布状態から、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qを決定する処理(以下、抽出円の中心決定処理という)について説明する。
抽出円の中心決定処理では、動物体を含まないブロックblk(h,k)の差分ベクトルVDの終点の集合の中心(重心)の座標と、XY座標系上の一定面積当たりの差分ベクトルVDの終点の個数が最大の座標、即ち、差分ベクトルVDの終点の分布密度が最大となる座標とは一致すると仮定する。
なお、画像においては、一般に、非動物体の領域(動物体の領域でない領域)は、動物体の領域よりも十分に広いことが多いので、上述の仮定をしても問題はない。
抽出円の中心決定処理では、上述の仮定を前提に、リファレンス画像51の(ブロックマッチングの対象から除外されなかった)各ブロックblk(h,k)の差分ベクトルVDの終点の分布密度が最大となる座標Vgが、円81の中心Qとして求められる。
差分ベクトルVDの終点の分布密度が最大となる座標Vgは、単純には、例えば、次のようにして求めることができる。
即ち、図9に示すように、コンピュータ11は、ある差分ベクトルVDの終点111を、注目点として選択し、その注目点111を中心とする半径Rの円112内に終点が位置する差分ベクトルVDの個数をカウントする。図9の例では、注目点111を中心とする半径Rの円112内には、注目点111を含めて、6個の差分ベクトルVDの終点があり、注目点111については、その注目点111を中心とする半径Rの円112内に終点が存在する差分ベクトルVDのカウント数が6となる。
コンピュータ11は、XY座標系上にプロットされているすべての差分ベクトルVDの終点を、順次、注目点として、上述の差分ベクトルVDのカウントを行う。そして、コンピュータ11は、カウント数が最大となる差分ベクトルVDの終点を、終点の分布密度が最大となる座標Vgとして求める。
但し、このやり方では、XY座標系上にプロットされているすべての差分ベクトルVDの終点に対して、差分ベクトルVDの数をカウントする必要があるため、計算量が多くなる。従って、例えば、特に、リアルタイム性を要求されるようなアプリケーションや、計算能力が十分ではない環境では、このやり方は不向きである。
そこで、コンピュータ11では、例えば、次のようにして、計算量を削減して、抽出円の中心決定処理を行う(終点の分布密度が最大となる座標Vgを求める)ことができる。
即ち、図10に示すように、コンピュータ11は、ある差分ベクトルVDの終点151を、注目点として選択し、その注目点151を中心とする半径Raの円152内に終点が位置する差分ベクトルVDを、円152に属する差分ベクトルVDとして求める。
次に、コンピュータ11は、注目点151を中心とする半径Raの円152に属する差分ベクトルVD以外の差分ベクトルVDの終点のなかから、1つの差分ベクトルVDの点161を、新たな注目点として選択し、その注目点161を中心とする半径Raの円162内に位置する差分ベクトルVDを、円162に属する差分ベクトルVDとして求める。
コンピュータ11は、図10に示すように、XY座標系上にプロットされているすべての差分ベクトルVDの終点がいずれかの円に属するようになるまで、同様の処理を行う。
なお、図10では、XY座標系上にプロットされている差分ベクトルVDの終点のうち、注目点として選択され、円の中心になった点を、円に属する(黒丸で示される)終点と区別するために、三角形で表している。
また、以下では、注目点として選択され、円の中心になった差分ベクトルVDの終点を、選択点Ujという。そして、選択点Ujを中心とする半径Raの円の内側の領域を領域Cjとする。但し、選択点Ujを中心とする半径Raの円の内側の領域のうちの、すでに他の選択点Uk(j≠k)の領域Ckとなっている部分は、領域Cjに含めないことにする。従って、差分ベクトルVDの終点は、必ず1つの選択点Ujの領域Cjにのみ属する。
ここで、jとkは、XY座標系上にある選択点を識別するインデックスであり、例えば、図10では、11個の選択点があるので、j,k=1,2,・・・,11である(j≠k)。
なお、コンピュータ11は、例えば、リファレンス画像51の左上から右下までのブロックblk(h,k)を、いわばラスタスキャン順に、注目ブロックとして選択し、その注目ブロックblk(h,k)の差分ベクトルVDの終点が、既にいずれかの選択点Ujを中心とする円に属しているかどうかを判定する。そして、注目ブロックblk(h,k)の差分ベクトルVDの終点が、いずれかの選択点Ujを中心とする円に属していると判定された場合には、コンピュータ11は、ラスタスキャン順で、次のブロックblk(h,k)を、注目ブロックとして選択する。一方、注目ブロックblk(h,k)の差分ベクトルVDの終点が、選択点Ujを中心とする円のいずれにも属していないと判定された場合には、コンピュータ11は、その注目ブロックblk(h,k)の差分ベクトルVDの終点を、選択点(新たな注目点)Ujとして選択し、選択点Ujを中心とする半径Raの円の領域Cjにあり、かつ、他の選択点Ukの領域Ckに属していない差分ベクトルVDの終点を、選択点Ujの領域Cjに属する差分ベクトルVDの終点として求める。そして、コンピュータ11は、ラスタスキャン順で、次のブロックblk(h,k)を、注目ブロックとして選択し、以下、リファレンス画像51のすべてのブロックblk(h,k)を注目ブロックとするまで、同様の処理を繰り返す。
このようにして、図11に示すように、XY座標系上にプロットされているすべての差分ベクトルVDの終点がいずれかの選択点Ujの領域Cjに属する状態とされた後、コンピュータ11は、図11に示すように、XY座標系上にプロットされている選択点Ujのなかから、ある1つの選択点Ujを、注目点として選択し、その注目点Ujを中心とする半径Rbの円CC内に位置する、注目点Ujを除くすべての選択点Ukを検出する。ここで、図11では、選択点U2が、注目点として選択され、注目点U2を中心とする半径Rbの円CCが点線で示されている。さらに、図11では、注目点U2を中心とする半径Rbの円CCの円内に位置する他の選択点Ukとして、選択点U3,U6、およびU8が検出されている。
その後、コンピュータ11は、注目点Ujの領域Cjと、注目点Ujを中心とする半径Rbの円CC内に検出された他の選択点Ukの領域Ckとで構成される領域RRj内に位置する差分ベクトルVDの終点の個数PNjをカウントする。図11では、注目点U2の領域C2と、注目点U2を中心とする半径Rbの円CC内に検出された他の選択点U3,U6,U8それぞれの領域C3,C6,C8とで構成される、斜線で示されている領域RR2内に位置する差分ベクトルVDの終点(黒丸と三角でプロットされている点)の個数PN2がカウントされている。
コンピュータ11は、選択点Ujの領域RRj内に位置する差分ベクトルVDの終点の個数PNjのカウントを、XY座標系上の全ての選択点について行い、カウント数PNjが最大の選択点Ujを求める。
そして、コンピュータ11は、最大のカウント数PNjを与える選択点Ujの領域RRj内に位置する差分ベクトルVDの終点についての重心座標Vgを、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出するのに使用する円81の中心Qとして求める。これにより、終点の分布密度が大きい領域を求め、さらに、その領域に終点が分布している差分ベクトルVDに対応するブロックblk(h,k)を、動物体を含まないブロックとして抽出することができる。
図11の例において、選択点U2の領域RR2内に位置する差分ベクトルVDの終点の個数PN2が、すべての選択点Ujのなかで最大であったとすると、図12に示すように、バツ印で示される、選択点U2の領域RR2内に位置する差分ベクトルVDの終点の重心座標Vgが、円81の中心Qとして求められる。
次に、図13のフローチャートを参照して、第1の抽出方法による、図7のステップS16の動物体の領域を除外する処理について説明する。
初めに、ステップS41において、コンピュータ11(のCPU31)は、図7の位置関係算出処理において動物体の領域を除外する処理が、1回目の処理であるか否かを判定する。ここで、図7の位置関係算出処理において、動物体の領域を除外する処理が、1回目の処理であるということは、現在のアフィンパラメータPcurに、真のアフィンパラメータとはかけ離れているかもしれないアフィンパラメータの初期値が設定されている。
そこで、ステップS41において、動物体の領域を除外する処理が、1回目の処理であると判定された場合、ステップS42に進み、コンピュータ11は、上述した抽出円の中心決定処理、即ち、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qとして、差分ベクトルVDの終点の分布密度が最大の重心座標Vgを求める処理を行って、ステップS44に進む。
一方、ステップS41において、動物体の領域を除外する処理が、1回目の処理ではないと判定された場合、ステップS43に進み、コンピュータ11は、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qを、差分ベクトルVDの終点をプロットしたXY座標系の原点にセットして、ステップS44に進む。
ここで、2回目以降の動物体の領域を除外する処理では、図7のステップS19で、少なくとも1回のアフィンパラメータPcurの更新が行われている。そして、少なくとも1回のアフィンパラメータPcurの更新が行われていれば、現在のアフィンパラメータPcurは、ある程度正しいアフィンパラメータになっており、図7のステップS14で、そのようなアフィンパラメータPcurのアフィン変換で求められる、動物体を含まないブロックblk(h,k)の変換動きベクトルVGMは、マッチング動きベクトルVBMに近いものとなっている。従って、差分ベクトルVD(=VBM−VGM)も0に近く、その終点は、原点付近に集中する。そこで、2回目以降の動物体の領域を除外する処理では、差分ベクトルVDの終点の分布密度が最大の重心座標Vgを求めることをせずに、ステップS43において、原点が、差分ベクトルVDの終点が集中する領域としての円81の中心Qにセットされる。但し、2回目以降の動物体の領域を除外する処理においても、差分ベクトルVDの終点の分布密度が最大となる重心座標Vgを、円81の中心Qとするようにしてもよい。
ステップS44において、コンピュータ11は、図5または図12を参照して説明したように、原点、または差分ベクトルVDの終点の分布密度が最大の重心座標Vgを中心Qとする半径rの円81、即ち、差分ベクトルVDの終点の分布密度が高い領域である円81を境界線として、円81内に終点が分布する差分ベクトルVDに対応するブロックblk(h,k)を、動物体を含まないブロックblk(h,k)として抽出し、または円81外に終点が分布する差分ベクトルVDに対応するブロックblk(h,k)を、動物体を含むブロックblk(h,k)として抽出し、動物体を含むブロックblk(h,k)を、図7のステップS17で新たなアフィンパラメータPnewを求めるのに用いる対象から除外して、処理を戻る。
ここで、ステップS44では、差分ベクトルVDの終点と円81の中心Qとの距離|VD−Q|が、閾値(半径)rよりも大となる差分ベクトルVDに対応するブロックblk(h,k)を、動物体を含むブロックであるとして抽出し、または距離|VD−Q|が閾値r以下となる差分ベクトルVDに対応するブロックblk(h,k)を、動物体を含まないブロックとして抽出する。従って、中心Qとする円81の半径rは、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する閾値であると捉えることもできる。
以上のように、図13の動物体の領域を除外する処理では、差分ベクトルVDの終点の分布密度に基づいて、即ち、動物体を含まないブロックblk(h,k)の差分ベクトルVDの終点の分布が特定の領域に集中することに基づいて、動物体または非動物体を含むブロックblk(h,k)を抽出する。
なお、中心Qとする円81の半径rを所定の固定値とすると、画像に含まれるノイズの影響によっては、動物体を含まないブロックblk(h,k)が、動物体を含むblk(h,k)として除外されてしまうこともあり得る。そこで、半径rの円81内に含まれる差分ベクトルVDの終点の個数をカウントし、その個数が少ない場合(所定の閾値以下である場合)には、半径rの値を少し大きめの値に変更し、その変更後の半径rの円81内に含まれる差分ベクトルVDの終点の個数を再カウントすることを、その個数が所定の閾値以上となるまで繰り返すことができる。このように、円81の半径rを可変にすることにより、さらに精度の良い動物体または非動物体の抽出が可能となる。
また、図13の動物体の領域を除外する処理においては、ステップS41において、動物体の領域を除外する処理が、1回目の処理であるか否かを判定し、1回目の処理であると判定された場合には、差分ベクトルVDの終点の分布密度が最大の重心座標Vgを求める処理を行うようにしたが、1回目の処理から、2回目以降の処理と同様に、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qを、差分ベクトルVDの終点をプロットしたXY座標系の原点としてもよい。この場合、図13のステップS41とS42の処理を省略することができ、ステップS43とS44の処理を行うだけでよい。
次に、図14のフローチャートを参照して、図13のステップS42における抽出円の中心決定処理、即ち、動物体を含むブロックblk(h,k)、または動物体を含まないブロックblk(h,k)を抽出する円81の中心Qとして、差分ベクトルVDの終点の分布密度が最大となる重心座標Vgを求める処理について説明する。
初めに、ステップS61において、コンピュータ11は、XY座標系上にプロットされているすべての差分ベクトルVDの終点が、いずれかの選択点Ujを中心とする半径Raの円(円の内側の領域が図11の領域Cjとされる円)に属しているか否かを判定する。
ステップS61において、選択点Ujを中心とするいずれの円にも属さない差分ベクトルVDの終点が、まだ存在すると判定された場合、ステップS62に進み、コンピュータ11は、いずれの円にも属していない差分ベクトルVDの終点を、新たな選択点Ujとして選択し、その選択点Ujを中心とする半径Raの円内にある差分ベクトルVDの終点を、選択点Ujを中心とする円に属する終点として認識するとともに、その円の内側の領域であって、他の領域Cjになっていない領域を、図11で説明した領域Cjとして認識し、ステップS61に戻る。
一方、ステップS61において、XY座標系上にプロットされているすべての差分ベクトルVDの終点がいずれかの選択点Ujを中心とする半径Raの円に属していると判定された場合、ステップS63に進み、コンピュータ11は、XY座標系上のすべての選択点Ujについて、選択点Ujの領域Cjと、その選択点Ujを中心とする半径Rbの円CC内に存在するすべての他の選択点Ukの領域Ckとで構成される、図11で説明した領域RRj内に位置する差分ベクトルVDの終点の個数PNjをカウントして、ステップS64に進む。
ステップS64において、コンピュータ11は、カウント数PNjが最大となる選択点Ujの領域RRj内に位置する差分ベクトルVDの終点の重心座標Vgを、円81の中心Qとして求めて、処理を戻る。
次に、図15のフローチャートを参照して、第2の抽出方法による、図7のステップS16の動物体の領域を除外する処理について説明する。
初めに、ステップS81において、コンピュータ11は、リファレンス画像51の各ブロックblk(h,k)の差分ベクトルVDそれぞれの大きさ|VD|を算出し、その差分ベクトルVDの大きさ|VD|を昇順に並べて(ソートして)、ステップS82に進む。
ステップS82において、コンピュータ11は、ステップS81のソートによって昇順に並んでいる大きさ|VD(1)|,|VD(2)|,・・・,|VD(N)|について、ブロック番号iの小さい順に、式(4)を満たすかどうかを判定し、これにより、差分ベクトルの大きさ|VD(i+1)|と|VD(i)|との差(の大きさ)が、所定の閾値ThG以上となるブロック番号iを検出する。
ここで、式(4)を満たすブロック番号iが複数存在する場合には、例えば、最初または最後に検出されたブロック番号i、あるいは、差分ベクトルの大きさ|VD(i+1)|と|VD(i)|との差が最大のブロック番号iが選択される。
ステップS82において、コンピュータ11は、式(4)を満たすブロック番号iを検出した後、そのブロック番号i以下のブロック番号1乃至iのブロックblk1乃至blkiを、動物体を含まないブロックとして抽出し、または、ブロック番号iの次のブロック番号i+1以降のブロックblki+1乃至blkNを、動物体を含むブロックとして抽出して、動物体を含むブロックblki+1乃至blkNを、図7のステップS17で新たなアフィンパラメータPnewを求めるのに用いる対象から除外し、処理を戻る。
以上のように、位置関係算出処理では、第1または第2の抽出方法により、動物体を含むブロックまたは動物体を含まないブロックを抽出し、動物体を含むブロックを、アフィンパラメータ(a,b,c,d,s,t)を求めるのに用いる対象から除外するようにしたので、手振れによって生じた平行移動や回転を補正する、正確な位置関係を表すアフィンパラメータ(a,b,c,d,s,t)を求めることができる。
さて、従来の特許文献1で提案されている方法では、上述したように、画像全体が4つの領域に分割され、その4つの領域それぞれが、さらに小さな複数のブロックに分割される。そして、各領域内の各ブロックについて、動きベクトルVが求められる。
さらに、4つの各領域において、発散度を求め、得られた4つの領域の各発散度のうち、発散度が小さい方の2つの領域が選択され、その選択された2つの領域の平均の動きベクトルが、画像全体の動きベクトル、即ち、画像全体の動きを表すパラメータとして計算される。
しかしながら、4つの領域すべてに動物体を含んでいる場合は、この方法では、動物体を正確に分離することができない。即ち、手振れによる正確な画像全体の動きを表すパラメータ(アフィンパラメータ(a,b,c,d,s,t))を求めることができない。
これに対して、位置関係算出処理では、差分ベクトルVDの終点をプロットしたXY座標系上の、動物体を含まないブロックの差分ベクトルVDの終点の集合の重心の座標と、一定面積当たりの差分ベクトルVDの終点の個数が最大の座標、即ち、差分ベクトルの分布密度が最大となる座標は、一般に、ほぼ一致するという仮定に基づき、差分ベクトルVDの終点の分布密度が最大になる領域に終点が存在する差分ベクトルVDに対応するブロックを、動物体を含まないブロックとして抽出するので、例えば、そのブロック以外のブロックである動物体を含むブロックを除外することができ、正確な画像全体の動きを表すパラメータを求めることができる。
なお、ある動物体Zが画像全体に対して占める割合が、他の物体と比較して大きい場合には、その動物体Zを含むブロックの差分ベクトルVDが多くなるため、その終点の分布密度が高くなる結果、位置関係算出処理によれば、動物体Zの動きベクトルが、画像全体の動きを表すパラメータとして求められることになる。
さらに、例えば、一定速度で移動中の車(動物体)に対して追従させるようにカメラを向けながら連続撮像(撮影)をする、いわば、移動中の車を流し撮りするような場合、移動中の車は、画枠に対して静止しているか、またはゆっくりと移動しているように見えることになる。そして、移動中の車が画像全体に対して占める割合が、背景などの静止物体と比較して大きいときには、位置関係算出処理によれば、連続撮像された画像において、移動中の車の位置合わせを行うパラメータを、画像全体の動きを表すパラメータとして求めることができる。
また、上述した説明では、リファレンス画像51とターゲット画像52の2つの画像間の位置関係を表すアフィンパラメータ(a,b,c,d,s,t)を求めたが、2つの画像間で回転と平行移動のみの移動しかないと分かっている(近似することができる)場合には、式(1)において、a=d=cosθ,−b=c=sinθとした次式(9)で表されるアフィン変換のアフィンパラメータ(θ,s,t)を求めるようにすることができる。また、アフィンパラメータ(a,b,c,d,s,t)のうちの任意の成分を所定の値により固定したアフィンパラメータを求めるようにすることもできる。
Figure 0004340968
以上のようにして求められた、2枚の画像間の位置関係を表すアフィンパラメータ(a,b,c,d,s,t)は、例えば、複数枚の画像を重ね合わせる処理に用いることができる。これにより、例えば、高速撮像によって得られる、露光時間が短く、暗い複数の画像を重ね合わせて、手振れのない、かつ、鮮明な(明るい)画像を得ることができる。
また、2枚の画像間の位置関係を表すアフィンパラメータ(a,b,c,d,s,t)は、例えば、物体に対するデジタルカメラ12の動きを表していることから、角速度センサや加速度センサなどのメカ的なセンサを用いることなしに、デジタルカメラ12の動きを表すアフィンパラメータ(a,b,c,d,s,t)によって、光学的に手振れを補正することが可能である。
さらに、画像を撮像するデジタルカメラ12等の固体撮像素子にCMOS(Complementary Mental Oxide Semiconductor)イメージセンサを用いて画像を撮像した場合、その画像(出力画像)は、スキュー歪を持つことがある。コンピュータ11の位置関係算出処理では、アフィン変換によって画像の位置合わせを行っているため、スキュー歪を持った画像の位置合わせも可能である。
ここで、動物体を含むブロックまたは動物体を含まないブロックを抽出する処理は、アフィンパラメータを求める位置関係算出処理以外の処理にも適用可能である。
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。 リファレンス画像51とターゲット画像52を示す図である。 ブロックマッチングを説明する図である。 差分ベクトルVDを説明する図である。 第1の抽出方法を説明する図である。 第2の抽出方法を説明する図である。 位置関係算出処理を説明するフローチャートである。 差分ベクトルVDの終点の分布を説明する図である。 第2の抽出方法の抽出円の中心決定処理を説明する図である。 第2の抽出方法の抽出円の中心決定処理を説明する図である。 第2の抽出方法の抽出円の中心決定処理を説明する図である。 第2の抽出方法の抽出円の中心決定処理を説明する図である。 動物体の領域を除外する処理を説明するフローチャートである。 抽出円の中心決定処理を説明するフローチャートである。 動物体の領域を除外する処理を説明するフローチャートである。
符号の説明
11 コンピュータ, 12 デジタルカメラ, 13 インターネット, 31 CPU, 32 メモリ, 41 HDD, 43 ディスク

Claims (12)

  1. 第1と第2の画像の画像処理を行う画像処理装置において、
    前記第1の画像を複数のブロックに分割する分割手段と、
    前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出手段と、
    前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出手段と、
    前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段と、
    前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出手段と
    を備え、
    前記抽出手段は、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
    画像処理装置。
  2. 前記抽出手段により抽出された前記非動物体を含む前記ブロックを用いて、前記第1と第2の画像の位置関係を表す第2の位置関係パラメータを算出する位置関係パラメータ算出手段をさらに備える
    請求項1に記載の画像処理装置。
  3. 前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータによって、前記第1の位置関係パラメータを更新する更新手段をさらに備え、
    前記第2の動きベクトル算出手段において、前記更新手段により更新された前記第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出し、
    前記差分ベクトル算出手段において、前記第1と第2の動きベクトルの差分ベクトルを算出し、
    前記抽出手段において、前記差分ベクトルの大きさに基づいて、前記非動物体を含む前記ブロックを抽出し、
    前記位置関係パラメータ算出手段において、前記抽出手段により抽出された前記非動物体を含む前記ブロックを用いて、前記第2の位置関係パラメータを算出し、
    前記更新手段において、前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータによって、前記第1の位置関係パラメータを更新する
    ことを所定の条件が満たされるまで繰り返す
    請求項2に記載の画像処理装置。
  4. 前記所定の条件は、前記第1と第2の位置関係パラメータとの差が所定の閾値以下となることである
    請求項3に記載の画像処理装置。
  5. 前記位置関係パラメータ算出手段により算出された前記第2の位置関係パラメータを出力する出力手段をさらに備える
    請求項2に記載の画像処理装置。
  6. 前記差分ベクトルの終点を少なくとも1つ含む、互いに重複しない複数の領域のうち、1またはいくつかの領域により構成される拡大領域を求める拡大領域算出手段と、
    前記拡大領域に含まれる前記差分ベクトルの終点の重心が存在する位置を算出する位置算出手段と、
    算出された前記位置を重心とする所定の領域を、前記抽出用領域として求める抽出用領域算出手段と
    をさらに備える請求項1に記載の画像処理装置。
  7. 前記抽出用領域算出手段は、前記所定の領域に含まれる前記差分ベクトルの終点の個数が、所定の閾値未満である場合、前記所定の領域に含まれる前記差分ベクトルの終点の個数が、前記所定の閾値以上となるまで、前記所定の領域を拡大し、拡大後の前記所定の領域を、前記抽出用領域として求める
    請求項6に記載の画像処理装置。
  8. 前記抽出用領域は、所定の点を中心とする所定の半径の円の領域である
    請求項1に記載の画像処理装置。
  9. 前記位置関係パラメータ算出手段は、前記抽出手段により抽出された前記非動物体を含む前記ブロックそれぞれについて算出された前記差分ベクトルの大きさの自乗和を最小にする前記第2の位置関係パラメータを算出する
    請求項2に記載の画像処理装置。
  10. 第1と第2の画像の画像処理を行う画像処理装置の画像処理方法において、
    前記第1の画像を複数のブロックに分割する分割ステップと、
    前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、
    前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、
    前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
    前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出ステップと
    を含み、
    前記抽出ステップは、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
    画像処理方法。
  11. 第1と第2の画像に対して画像処理をコンピュータに実行させるプログラムであって、
    前記第1の画像を複数のブロックに分割する分割ステップと、
    前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、
    前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、
    前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
    前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出ステップと
    を含み、
    前記抽出ステップは、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
    処理をコンピュータに実行させるコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  12. 第1と第2の画像に対して画像処理をコンピュータに実行させるプログラムにおいて、
    前記第1の画像を複数のブロックに分割する分割ステップと、
    前記ブロックから、前記第2の画像の対応する領域への移動量を表す第1の動きベクトルを算出する第1の動きベクトル算出ステップと、
    前記第1と第2の画像の位置関係を表す第1の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第2の動きベクトルを算出する第2の動きベクトル算出ステップと、
    前記ブロックについて、前記第1と第2の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
    前記差分ベクトルの大きさに基づいて、動物体を含む前記ブロック、および非動物体を含む前記ブロックを抽出する抽出ステップと
    を含み、
    前記抽出ステップは、記差分ベクトルの大きさで昇順に並べられた前記差分ベクトルのうち、n+1番目の前記差分ベクトルの大きさから、n番目の前記差分ベクトルの大きさを差し引いた差分が所定の閾値以上であるとき、1乃至n番目の前記差分ベクトルそれぞれのブロックを、前記非動物体を含む前記ブロックとして抽出し、n+1番目以降の前記差分ベクトルそれぞれのブロックを、前記動物体を含む前記ブロックとして抽出する
    処理をコンピュータに実行させるプログラム。
JP2004137975A 2004-05-07 2004-05-07 画像処理装置および方法、記録媒体、並びにプログラム Expired - Fee Related JP4340968B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004137975A JP4340968B2 (ja) 2004-05-07 2004-05-07 画像処理装置および方法、記録媒体、並びにプログラム
US11/122,178 US7634143B2 (en) 2004-05-07 2005-05-04 Image processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004137975A JP4340968B2 (ja) 2004-05-07 2004-05-07 画像処理装置および方法、記録媒体、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2005321902A JP2005321902A (ja) 2005-11-17
JP2005321902A5 JP2005321902A5 (ja) 2006-05-18
JP4340968B2 true JP4340968B2 (ja) 2009-10-07

Family

ID=35425229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004137975A Expired - Fee Related JP4340968B2 (ja) 2004-05-07 2004-05-07 画像処理装置および方法、記録媒体、並びにプログラム

Country Status (2)

Country Link
US (1) US7634143B2 (ja)
JP (1) JP4340968B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413952B2 (en) 2013-08-12 2016-08-09 Canon Kabushiki Kaisha Image processing apparatus, distance measuring apparatus, imaging apparatus, and image processing method

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593542B2 (en) 2005-12-27 2013-11-26 DigitalOptics Corporation Europe Limited Foreground/background separation using reference images
US8896725B2 (en) * 2007-06-21 2014-11-25 Fotonation Limited Image capture device with contemporaneous reference image capture mechanism
US8682097B2 (en) * 2006-02-14 2014-03-25 DigitalOptics Corporation Europe Limited Digital image enhancement with reference images
US8369650B2 (en) 2003-09-30 2013-02-05 DigitalOptics Corporation Europe Limited Image defect map creation using batches of digital images
US8320641B2 (en) 2004-10-28 2012-11-27 DigitalOptics Corporation Europe Limited Method and apparatus for red-eye detection using preview or other reference images
JP2006350577A (ja) * 2005-06-14 2006-12-28 Fuji Xerox Co Ltd 動作分析装置
DE602005007009D1 (de) * 2005-07-13 2008-07-03 Lasersoft Imaging Ag Bereitstellung einer digitalen Kopie eines Quellbildes
JP4743617B2 (ja) * 2006-04-14 2011-08-10 Kddi株式会社 特徴点抽出装置
JP4178480B2 (ja) 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
JP4732299B2 (ja) * 2006-10-25 2011-07-27 富士フイルム株式会社 特定被写体像の検出方法およびデジタルカメラ
JP4958610B2 (ja) 2007-04-06 2012-06-20 キヤノン株式会社 画像防振装置、撮像装置及び画像防振方法
JP4893471B2 (ja) * 2007-05-24 2012-03-07 カシオ計算機株式会社 画像処理装置及びプログラム
JP2008310418A (ja) * 2007-06-12 2008-12-25 Nikon Corp 画像処理装置、画像処理プログラム及びそれらを搭載した電子カメラ
JP2009077362A (ja) * 2007-08-24 2009-04-09 Sony Corp 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
US8218817B2 (en) * 2007-12-21 2012-07-10 Honda Motor Co. Ltd. Online articulate object tracking with appearance and shape
JP4544334B2 (ja) 2008-04-15 2010-09-15 ソニー株式会社 画像処理装置および画像処理方法
JP4506875B2 (ja) 2008-05-19 2010-07-21 ソニー株式会社 画像処理装置および画像処理方法
JP2009290827A (ja) 2008-06-02 2009-12-10 Sony Corp 画像処理装置および画像処理方法
JP4760883B2 (ja) * 2008-09-25 2011-08-31 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP5163409B2 (ja) * 2008-10-03 2013-03-13 ソニー株式会社 撮像装置、撮像方法、およびプログラム
JP5228856B2 (ja) * 2008-12-02 2013-07-03 セイコーエプソン株式会社 作業対象物の位置検出方法および位置検出装置
JP4760973B2 (ja) * 2008-12-16 2011-08-31 カシオ計算機株式会社 撮像装置及び画像処理方法
JP4893758B2 (ja) 2009-01-23 2012-03-07 ソニー株式会社 画像処理装置、画像処理方法および撮像装置
KR101710624B1 (ko) 2010-07-27 2017-02-27 삼성전자주식회사 객체의 모션 벡터를 이용하여 자동 촬영 기능을 수행하는 디지털 영상 촬영 방법, 디지털 영상 촬영 장치 및 상기 방법을 기록한 기록 매체
WO2012063468A1 (ja) * 2010-11-11 2012-05-18 パナソニック株式会社 画像処理装置、画像処理方法、およびプログラム
JPWO2016142965A1 (ja) * 2015-03-10 2017-12-21 日本電気株式会社 映像処理装置、映像処理方法及び映像処理プログラムを記憶する記録媒体
CN109005407B (zh) * 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
JP7130488B2 (ja) * 2018-07-31 2022-09-05 グローリー株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
WO2020058954A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Representation of affine model
WO2020084470A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
CN111684784B (zh) * 2019-04-23 2022-10-25 深圳市大疆创新科技有限公司 图像处理方法和装置
CN110689554B (zh) * 2019-09-25 2022-04-12 深圳大学 用于红外图像序列的背景运动估计方法、装置及存储介质
JP7380171B2 (ja) * 2019-12-17 2023-11-15 株式会社デンソー 運転支援装置および運転支援プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5885684A (ja) 1981-11-18 1983-05-23 Nec Corp テレビジヨン信号の予測符号化装置
JP2506500B2 (ja) 1990-11-14 1996-06-12 松下電器産業株式会社 画像の動き検出装置
JP2551324B2 (ja) 1993-05-27 1996-11-06 日本電気株式会社 移動車の環境認識方法および装置
JP2940762B2 (ja) 1993-06-28 1999-08-25 三洋電機株式会社 手振れ補正装置を有するビデオカメラ
JPH0884352A (ja) 1994-09-13 1996-03-26 Canon Inc 立体画像撮影装置
EP1050850A1 (en) 1999-05-03 2000-11-08 THOMSON multimedia Process for estimating a dominant motion between two frames
EP1294194B8 (en) * 2001-09-10 2010-08-04 Texas Instruments Incorporated Apparatus and method for motion vector estimation
DE60234649D1 (de) * 2002-12-26 2010-01-14 Mitsubishi Electric Corp Bildprozessor
US7095786B1 (en) * 2003-01-11 2006-08-22 Neo Magic Corp. Object tracking using adaptive block-size matching along object boundary and frame-skipping when object motion is low

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413952B2 (en) 2013-08-12 2016-08-09 Canon Kabushiki Kaisha Image processing apparatus, distance measuring apparatus, imaging apparatus, and image processing method
US9811909B2 (en) 2013-08-12 2017-11-07 Canon Kabushiki Kaisha Image processing apparatus, distance measuring apparatus, imaging apparatus, and image processing method

Also Published As

Publication number Publication date
JP2005321902A (ja) 2005-11-17
US20050265453A1 (en) 2005-12-01
US7634143B2 (en) 2009-12-15

Similar Documents

Publication Publication Date Title
JP4340968B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
CN111145238B (zh) 单目内窥镜图像的三维重建方法、装置及终端设备
JP4613994B2 (ja) 動態推定装置、動態推定方法、プログラム
US9635251B2 (en) Visual tracking using panoramas on mobile devices
KR101017802B1 (ko) 영상 왜곡 보정
JP6766332B2 (ja) テキスト抽出方法、システム及びプログラム
CN107945111B (zh) 一种基于surf特征提取结合cs-lbp描述符的图像拼接方法
JP5261501B2 (ja) 不変の視覚場面及び物体の認識
JP3837575B2 (ja) 超解像処理の高速化方法
JP5182229B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2010079545A (ja) 画像処理装置、画像処理方法およびプログラム
EP2045774A1 (en) Homography estimation from multithreshold edges of a feature
WO2018176929A1 (zh) 一种图像背景虚化方法及装置
WO2019128504A1 (zh) 一种台球比赛中的图像处理方法、装置及终端设备
CN109690611B (zh) 一种图像校正方法及装置
CN110516731B (zh) 一种基于深度学习的视觉里程计特征点检测方法及***
CN108961182B (zh) 针对视频图像的竖直方向灭点检测方法及视频扭正方法
CN117253022A (zh) 一种对象识别方法、装置及查验设备
GB2592583A (en) Aligning images
JP2015032256A (ja) 画像処理装置およびそのデータベース構築装置
CN113034345B (zh) 一种基于sfm重建的人脸识别方法及***
CN113570529A (zh) 对图像进行融合的方法和数据处理设备
JP3452188B2 (ja) 2次元動画像中の特徴点の追跡方法
JP4507677B2 (ja) 画像処理方法および装置、並びにプログラム
JP3962311B2 (ja) 3次元姿勢検出方法、3次元姿勢検出装置、3次元姿勢検出プログラム、およびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090611

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees