説明

画像処理装置、方法及びプログラム

【課題】画像間で特徴の一致する対応点を検出する際に、フィルタ演算により生じる画像端の無効画像領域に位置する特徴点についてもその追跡を可能にする。
【解決手段】特徴点追跡部18は、基準画像(画像1)から抽出された特徴点のうちの有効画像領域に位置する特徴点については、従来と同様に追跡画像(画像2)上で特徴点の追跡(一度目の追跡)を行って対応点の検出を行う。画像変形パラメータ算出部20は前記検出された対応点から基準画像と追跡画像とを一致させるための画像変形パラメータを算出し、画像変形部22はこの画像変形パラメータにより追跡画像を変形させた変形画像(画像3)を作成する。特徴点追跡部18は、フィルタ処理により基準画像の画像端に生じる無効画像領域に位置する特徴点については、基準画像と変形画像とを用いて無効画像領域に位置する特徴点の追跡(2度目の追跡)を行って対応点の検出を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、方法及びプログラムに係り、特に複数の画像間で特徴の一致する点(対応点)を検出する対応点検出の技術に関する。
【背景技術】
【0002】
複数の画像間で特徴の一致する対応点を検出する技術としては、KLT法(Tomasi & Kanade,1991,Detection and Tracking of Point Features)などの数々の手法が提案されている。
【0003】
具体的には、図12に示すように2枚の画像を入力し、そのうち基準となる画像(図12(a)に示す基準画像)上から特徴ある特徴点(画素)を抽出するステップと、その特徴点がもう一方の画像(図12(b)に示す追跡画像)上のどこに位置するかを追跡し、その特徴点に対応する点を検出するステップとからなる。ここで、特徴点を追跡した結果定まった点を追跡点と呼び、特徴点と追跡点とを合わせて対応点と呼ぶこととする。
【0004】
特徴点と追跡点とを結ぶ線分は、いわゆるオプティカルフロー(=動きベクトル)と呼ばれるものである(図12(b)参照)。
【0005】
特徴点の追跡手法は様々であるが、その手法の一つとして、Lucas-Kanade法などに代表される勾配法がある。勾配法は、特徴点の変位(=動き)を、時間方向と空間方向の画像信号の勾配(=一次微分)から求めるものである。
【0006】
一般的に、勾配法の長所は比較的処理時間が短いことである。一方、短所は大きな動きに対応できないことである。この短所を補うために、図13に示すように、2つの画像をそれぞれ段階的に縮小してピラミッド階層の2つの画像群を生成し、それを利用して対応点検出を行う階層型勾配法が提案されている(特許文献1)。
【0007】
即ち、低解像度の階層にて特徴点の追跡を行い、その追跡結果を初期値として、より高解像度の階層での追跡を行う。
【特許文献1】特開平5−61975号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ところで、上述のように特徴点の追跡にピラミッド階層の画像群を用いる場合、ピラミッド階層の画像群を生成する過程において、平滑化フィルタによるフィルタ処理が行われるため、その平滑化フィルタのカーネルサイズに応じて画像端に無効画素の領域(無効画像領域)が発生するという問題がある。
【0009】
例えば、図14に示すように、7タップカーネルのフィルタ演算を行うと、画像端の3画素(図14(a)の0、1、2の画素)にはフィルタ演算を行うことができず、その結果、画像端の画素は無効画素となる。
【0010】
このようにしてフィルタ処理により生じる無効画像領域の大きさは、ピラミッド階層の階層を深くすればするほど大きくなる。例えば、入力画像に対して、段階的に平滑化と縦横2分の1間引きを行ってピラミッド階層の画像群を生成したとすると、第n階層(第0階層は入力画像)でXの幅を持つ無効画像領域は、第0階層では、X*2の無効画像領域となる。
【0011】
より大きな画像間の動きに対応しようとしてピラミッド階層数を増やすと、対応点を検出することのできない無効画像領域も増えてしまうという問題がある。
【0012】
本発明はこのような事情に鑑みてなされたもので、フィルタ演算により生じる画像端の無効画像領域においても特徴点の追跡を行うことができ、より多くの対応点の検出を行うことができる画像処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
前記目的を達成するために請求項1に係る画像処理装置は、第1の画像と第2の画像とを取得する画像取得手段と、前記第1の画像から複数の特徴点を抽出する特徴点抽出手段と、前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の点をそれぞれ前記第2の画像上で追跡することにより複数の対応点を検出する対応点検出手段と、前記検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出手段と、前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形手段と、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定手段と、を備え、前記対応点検出手段は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、その特徴点については、前記第1の画像と前記第3の画像とを用いて特徴点の追跡を行うことを特徴としている。
【0014】
即ち、前記特徴点存在領域判定手段は、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する。前記特徴点が無効画像領域に位置していない(有効画像領域に位置している)と判定されると、従来と同様に特徴点の追跡を行って対応点の検出を行う。
【0015】
一方、前記特徴点が無効画像領域に位置していると判定されると、その特徴点については、前記第1の画像と前記第3の画像とを用いて特徴点の追跡を行うようにしている。ここで、前記第3の画像は、有効画像領域に位置する特徴点の追跡により検出された複数の対応点から算出された画像変形パラメータにより前記第2の画像を変形させたものであり、第1の画像と比較して画像間の動きが小さいものとなっている。従って、第1の画像と第3の画像とを用いて無効画像領域に位置する特徴点の追跡を行うことができる。尚、この追跡結果の第3の画像上の追跡点は、前記画像変形パラメータを使用して第2の画像上の点に変換することができる。
【0016】
請求項2に係る画像処理装置は、第1の画像と第2の画像とを取得する画像取得手段と、前記第1の画像から複数の特徴点を抽出する特徴点抽出手段と、前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の点をそれぞれ前記第2の画像上で追跡することにより複数の対応点を検出する対応点検出手段と、前記検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出手段と、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定手段と、前記第1の画像の無効画像領域に位置する特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換手段と、を備え、前記対応点検出手段は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、前記座標変換パラメータにより座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うことを特徴としている。
【0017】
請求項2に係る発明は、前記特徴点が無効画像領域に位置していると判定されたときの処理が、請求項1に係る発明と相違する。即ち、有効画像領域に位置する特徴点の追跡により検出された複数の対応点から算出された座標変換パラメータより無効画像領域に位置する特徴点の位置を座標変換し、この座標変換した特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うようにしている。前記座標変換された特徴点の位置(第2の画像上の位置)は、第1の画像上の特徴点に対応する点(正しい追跡点)に接近しており、この特徴点の位置を初期追跡点にすることにより良好に追跡することができる。
【0018】
請求項3に示すように請求項1又は2に記載の画像処理装置において、前記第1の画像及び第2の画像に対して1段又は複数段の縮小処理を施して解像度が異なる複数の画像からなる第1の階層画像群及び第2の階層画像群を生成する階層画像生成手段を備え、該階層画像生成手段は、前記縮小処理する前の画像に対して前記所定のフィルタ処理を行うことを特徴としている。
【0019】
画素の間引き処理等による画像の縮小処理を行う場合には、偽信号が発生しないように縮小処理前の画像に対して所定のフィルタ処理を施し、このフィルタ処理後の画像を縮小処理するようにしている。このフィルタ処理としては、所定のカーネルサイズのローパスフィルタ等の平滑化フィルタによる平滑化処理が適用される。
【0020】
請求項4に示すように請求項1から3のいずれかに記載の画像処理装置において、前記対応点検出手段は、前記第1の階層画像群及び第2の階層画像群の同一階層の画像間における対応点を検出し、その検出結果を上位の階層の画像間における対応点の検出に利用することを特徴としている。
【0021】
請求項5に係る画像処理方法は、第1の画像と第2の画像とを取得する画像取得ステップと、前記第1の画像から複数の特徴点を抽出する特徴点抽出ステップと、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定ステップと、前記第1の画像から抽出された特徴点が前記無効画像領域に位置しないと判定されると、前記特徴点に対応する前記第2の画像上の対応点を、前記第2の画像上で追跡することにより検出する第1の対応点検出ステップと、前記無効画像領域に位置しないと判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、該第1の対応点検出手段により検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出ステップと、前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形ステップと、前記第1の画像の無効画像領域に位置すると判定された特徴点に対応する前記第2の画像上の対応点を検出するステップであって、前記第1の画像と前記第3の画像とを用いて前記特徴点の追跡を行う第2の対応点検出ステップと、を含むことを特徴としている。
【0022】
即ち、前記特徴点が無効画像領域に位置していない(有効画像領域に位置している)と判定されると、従来と同様に第1の対応点検出ステップにより特徴点の追跡を行って対応点の検出を行う。有効画像領域に位置している判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する。そして、この画像変形パラメータにより前記第2の画像を変形させた第3の画像を作成する。その後、前記無効画像領域に位置していると判定された特徴点については、前記第1の画像と前記第3の画像とを用いて前記特徴点の追跡を行って対応点の検出を行うようにしている。
【0023】
請求項6に係る画像処理方法は、第1の画像と第2の画像とを取得する画像取得ステップと、前記第1の画像から複数の特徴点を抽出する特徴点抽出ステップと、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定ステップと、前記第1の画像から抽出された特徴点が前記無効画像領域に位置しないと判定されると、前記特徴点に対応する前記第2の画像上の対応点を、前記第2の画像上で追跡することにより検出する第1の対応点検出ステップと、前記無効画像領域に位置しないと判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、該第1の対応点検出手段により検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出ステップと、前記第1の画像の無効画像領域に位置すると判定された特徴点に対し、該特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換ステップと、前記第1の画像の無効画像領域に位置すると判定された特徴点に対応する前記第2の画像上の対応点を検出するステップであって、前記座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用して追跡する第2の対応点検出ステップと、を含むことを特徴としている。
【0024】
請求項6に係る発明は、前記特徴点が無効画像領域に位置していると判定されたときの処理が、請求項5に係る発明と相違する。即ち、有効画像領域に位置している判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、検出された複数の対応点から算出された座標変換パラメータより無効画像領域に位置する特徴点の位置を座標変換する。そして、座標変換した特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うようにしている。
【0025】
請求項7に係る発明は、第1の画像と第2の画像とを取得する画像取得機能と、前記第1の画像から複数の特徴点を抽出する特徴点抽出機能と、前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の対応点を、それぞれ前記第2の画像上で追跡することにより検出する対応点検出機能と、前記検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出機能と、前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形機能と、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定機能と、をコンピュータに実現させるための画像処理プログラムであって、前記対応点検出機能は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、その特徴点については、前記第1の画像と前記第3の画像とを用いて特徴点の追跡を行うことを特徴としている。
【0026】
請求項8に係る発明は、第1の画像と第2の画像とを取得する画像取得機能と、前記第1の画像から複数の特徴点を抽出する特徴抽出機能と、前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の対応点を、それぞれ前記第2の画像上で追跡することにより検出する対応点検出機能と、前記検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出機能と、前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定機能と、前記第1の画像の無効画像領域に位置する特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換機能と、をコンピュータに実現させるための画像処理プログラムであって、前記対応点検出機能は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、前記座標変換パラメータにより座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うことを特徴としている。
【発明の効果】
【0027】
本発明によれば、画像間で特徴の一致する対応点を検出する際に、フィルタ演算により生じる画像端の無効画像領域に位置する特徴点についてもその追跡を行うことができ、より多くの対応点の検出を行うことができる。
【発明を実施するための最良の形態】
【0028】
以下、添付図面に従って本発明に係る画像処理装置、方法及びプログラムの好ましい実施の形態について説明する。
【0029】
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る画像処理装置を示すブロック図である。
【0030】
この画像処理装置10は、主として画像メモリ12、データメモリ14、特徴点抽出部16、特徴点追跡部18、画像変形パラメータ算出部20、画像変形部22、特徴点存在領域判定部24、及びメインCPU(中央処理装置)26から構成されている。
【0031】
メインCPU26は、画像処理装置1の各部の動作を制御する統括制御部であり、また、画像メモリ12に対する画像データの入出力の制御等も行う。
【0032】
画像メモリ12には、基準画像となる画像1(img1)、追跡画像となる画像2(img2)及び変形画像となる画像3(img3)が記録される。尚、画像1、2は、動画撮影や連写撮影により連続的に撮影された画像群のうちの前後の2枚の画像であり、画像3は、後述する画像処理の過程で生成される画像2を変形させた画像である。
【0033】
特徴点抽出部16は、画像メモリ12から基準画像(画像1)を読み出し、この基準画像から複数の特徴点を抽出する。この抽出された複数の特徴点を示す特徴点データ(基準画像上の座標値、画素情報等)はデータメモリ14に記録される。
【0034】
特徴点の抽出は、その後の特徴点追跡の際に追跡のしやすい点を抽出するのが一般的で、Harrisのコーナー検出器、KLT法、Moravecの手法、SUSANなど様々な手法が提案されているが、本発明では、特徴点抽出の手法については限定しない。
【0035】
特徴点追跡部18は、画像メモリ12から基準画像(画像1)及び追跡画像(画像2)を読み出し、段階的に基準画像及び追跡画像にローパスフィルタ等の平滑化フィルタによる平滑化と間引き処理を施し、解像度が異なる複数の画像からなるピラミッド階層化された画像群を生成するピラミッド階層生成部と、前記データメモリ14から読み出した基準画像上の特徴点に対応する点を追跡画像上で追跡し、対応点を検出する対応点検出部とを含み、追跡が成功した点(追跡点)を示す追跡点データ(追跡画像上の座標値を含むデータ)をデータメモリ14に記録する。
【0036】
尚、特徴点追跡部18は、特徴点の追跡手法として、図13に示したように特徴点の変位を時間方向と空間方向の画像信号の勾配から求める手法であって、前記ピラミッド階層生成部によりピラミッド階層化された画像群の低解像度の階層にて特徴点の追跡を行い、その追跡結果を初期値として、より高解像度の階層での追跡を行う階層型勾配法を適用している。
【0037】
画像変形パラメータ算出部20は、データメモリ14から特徴点データと、その特徴点データに対応する追跡点データ(追跡が成功しているデータ)を読み出し、これらの対応点(特徴点+追跡点)の座標値から画像変形パラメータを算出する。画像変形パラメータとは、基準画像と追跡画像の全体的な画像のズレを表すパラメータであり、例えば、画像の平行移動パラメータ、アフィン変換パラメータ、射影変換パラメータなどが想定される。画像変形パラメータ算出部20により算出された画像変形パラメータは、データメモリ14に記録される。
【0038】
画像変形部22は、画像メモリ12から読み出した追跡画像(画像2)と、データメモリ14から読み出した画像変形パラメータに基づいて追跡画像を変形させ、その変形させた画像(変形画像(画像3))を画像メモリ12に記録する。ここで、データメモリ14から読み出した画像変形パラメータがアフィン変換パラメータの場合には、画像変形部22は、このアフィン変換パラメータにより追跡画像を変形(アフィン変換)して変形画像を生成する。このようにして生成された変形画像(画像3)と基準画像(画像1)とは、位置ズレがキャンセルされ、両画像はほぼ一致する。
【0039】
特徴点存在領域判定部24は、特徴点の追跡を行う前に、データメモリ14から読み出した特徴点の座標値から、その特徴点が無効画像領域に存在するかどうかを判定する。具体的には、特徴点の座標値(x1,y1)に対する閾値処理を行っており、例えば、以下のif文(イフ文)の条件式により、判定される。
【0040】
IF(x1<border_x)OR(x1>width-border_x-1)
OR(y1<border_y)OR(y1>height-border_y-1)
THEN 特徴点は、無効画像領域に存在する。
【0041】
ELSE 特徴点は、有効画像領域に存在する。
【0042】
ここで、widthは画像の幅、heightは画像の高さである。また、border_x、border_yは、無効画像領域と有効画像領域の境界を示すパラメータであり、平滑化フィルタのカーネルサイズ、及びピラミッド階層の階層数に基づいて予め算出することができる。
【0043】
そして、特徴点追跡部18は、特徴点存在領域判定部24による判定結果(特徴点が無効画像領域に位置するか、又は有効画像領域に位置するか)に応じて、後述するように特徴点の追跡方法を変更するようにしている。
【0044】
図2から図4は、本発明の第1の実施の形態に係る画像処理方法を示すフローチャートである。
【0045】
以下、図2から図4のフローチャートに沿って本発明の第1の実施の形態に係る画像処理方法について説明する。
【0046】
図2において、メインCPU26は、まず、画像メモリ12に記録されている画像1を基準画像(図5(a))として特徴点抽出部16に読み込ませる。特徴点抽出部16は、読み込んだ基準画像から特徴点を抽出する(ステップS12)。図5(b)に、基準画像から抽出された特徴点(●又は○で示した点)の一例を示す。
【0047】
この抽出された特徴点の座標値等の特徴点データは、データメモリ14に記録される(ステップS14)。尚、抽出された特徴点には、0〜n(n=全特徴点の個数−1)の番号が付けられているものとする。
【0048】
続いて、メインCPU26は、画像メモリ12に記録されている画像1(基準画像)及び画像2(追跡画像)を特徴点追跡部18に読み込ませる(ステップS14、図5(a)、(c)参照)。特徴点追跡部18内のピラミッド階層生成部は、これらの基準画像と追跡画像とからそれぞれピラミッド階層化した画像群を生成する(ステップS18、図13参照)。
【0049】
次に、メインCPU26は変数iを0にセットした後(ステップS20)、データメモリ14から第i番目の特徴点の座標を特徴点存在領域判定部24に読み込ませる(ステップS22)。特徴点存在領域判定部24は、読み込んだ特徴点が無効画像領域に存在するか否かを判定する(ステップSS24)。図5(b)において、〇で示した特徴点は、無効画像領域に存在する特徴点を示し、●で示した特徴点は、無効画像領域以外の領域(有効画像領域)に存在する特徴点を示す。
【0050】
特徴点存在領域判定部24は、第i番目の特徴点が無効画像領域に存在する(「yes」)と判定すると、第i番目の特徴点に対してエラー値1を出力して記録する(ステップS26)。続いて、メインCPU26は、変数iを1だけインクリメントし(ステップS28)、ステップS22に遷移させる。
【0051】
一方、ステップS24において、第i番目の特徴点が無効画像領域に存在しない(「no」)と判定されると、メインCPU26は、その特徴点の追跡を特徴点追跡部18にて行わせる(ステップS30)。この特徴点の追跡は、ステップS18で生成したピラミッド階層化した画像群を使用した階層型勾配法により行われる。
【0052】
そして、特徴点の追跡が成功したか否かが判別され(ステップS32)、追跡が成功した場合(「yes」の場合)には、その追跡点の座標値を出力して第i番目の特徴点と関連づけて記録し(ステップS34)、追跡が失敗した場合(「no」の場合)には、第i番目の特徴点に対してエラー値2を出力して記録する(ステップS38)。図5(c)において、●で示した追跡点は、追跡画像上で追跡が成功した点を示している。
【0053】
続いて、メインCPU26は、全特徴点に対するステップS24からステップS38の処理が完了したか否かを判別し(ステップS36)、完了していない場合(「no」の場合)には、変数iを1だけインクリメントし(ステップS28)、ステップS22に遷移させ、完了した場合(「yes」の場合)には、図3に示すステップS40に遷移させる。
【0054】
上記の図2に示した処理により、無効画像領域に存在する特徴点に対してはエラー値1が記録され、有効画像領域に存在する特徴点に対しては追跡点又はエラー値2が関連づけて記録される。
【0055】
図3において、メインCPU26は、有効画像領域に存在する特徴点のうちの追跡に成功した複数の特徴点と追跡点(対応点)の座標を、画像変形パラメータ算出部20に読み込ませ、これらの対応点の座標に基づいて画像変形パラメータを算出させる(ステップS40、S42)。そして、画像変形パラメータが算出されたか否かを判別し(ステップS42)、画像変形パラメータが算出された場合(「yes」の場合)には、ステップS44に遷移させ、画像変形パラメータが算出されなかった場合(「no」の場合)には、本処理を終了させる(図4)。例えば、画像変形パラメータがアフィン変換パラメータであり、検出された対応点の個数が2個以下の場合には、画像変形パラメータを算出することができず、本処理が終了することになる。
【0056】
画像変形パラメータが算出されると、続いて、メインCPU26は、画像メモリ12から追跡画像(画像2)を画像変形部22に読み込ませる(ステップS44)。画像変形部22は、前記算出された画像変形パラメータを使用して追跡画像を変形させ(ステップS46)、この変形させた追跡画像(変形画像)を、画像3(img3)として画像メモリ12に記録する(ステップS48)。
【0057】
次に、メインCPU26は、画像メモリ12から基準画像と変形画像とを特徴点追跡部18に読み込ませ(図4のステップS50)、以下に示すように無効画像領域に位置する特徴点の追跡を行わせる。
【0058】
即ち、特徴点追跡部18は、変数jを0にセットし(ステップS52)、エラー値1が記録された特徴点のうちの第j番目の特徴点の座標を読み込む(ステップS54)。尚、図2のステップS26によりエラー値1が記録された特徴点には、0、1、2…のエラー値1が記録された特徴点の番号が付けられているものとする。
【0059】
続いて、特徴点追跡部18は、第j番目の特徴点に対応する点を、変形画像上で追跡する(ステップS56)。この特徴点の追跡は、ピラミッド階層化した画像群を使用せず、0階層の画像(画像1と画像3)を使用した勾配法により行われる。
【0060】
即ち、1度目の追跡(有効画像領域に位置する特徴点の追跡)は、できるだけ大きな動きに対応するためにピラミッド階層数を多くとるが、2度目の追跡(無効画像領域に位置する特徴点の追跡)は、基準画像と変形画像との間にはほぼ動きがない状態にあることから、ピラミッド階層化した画像群を使用する必要がなく、0階層の画像上で追跡することができる。また、0階層の画像では、図6(a)に示すように無効画像領域が、ピラミッド階層化される画像(図6(b))よりも狭くなり、もともと追跡することができなかった特徴点を追跡することができるようになる。
【0061】
続いて、上記第j番目の特徴点の追跡が成功したか否かが判別され(ステップS58)、追跡が成功した場合(「yes」の場合)には、その追跡点の座標値を出力して第j番目の特徴点と関連づけて記録し(ステップS60)、追跡が失敗した場合(「no」の場合)には、第j番目の特徴点に対してエラー値2を出力して記録する(ステップS60)。
【0062】
次に、メインCPU26は、エラー値1が記録された全特徴点に対するステップS54からステップS62の処理が完了したか否かを判別し(ステップS64)、完了していない場合(「no」の場合)には、変数jを1だけインクリメントし(ステップS66)、ステップS54に遷移させ、完了した場合(「yes」の場合)には、本処理を終了させる。
【0063】
ところで、ステップS60で記録される追跡点の座標値は、変形画像上の座標値であるため、画像変形部22は、画像変形パラメータを使用して変形前の追跡画像上の座標値に換算して記録し直す。尚、特徴点追跡部18がデータメモリ14に追跡点の座標値を記録するときに、上記の換算を行った座標値を記録するようにしてもよい。
【0064】
この第1の実施の形態によれば、大きな動きに対応するために、ピラミッド階層を増加させることで広がってしまった無効画像領域に存在する特徴点については、変形画像を用いて追跡を行うようにしたため、もともと無効画像領域に存在する特徴点の追跡を行うことが可能となり、結果として面積的に密に対応点を検出することができる。
【0065】
[第2の実施の形態]
図7は、本発明の第2の実施の形態に係る画像処理装置を示すブロック図である。尚、図1と共通する部分には同一の符号を付し、その詳細な説明は省略する。
【0066】
この第2の実施の形態に係る画像処理装置10’は、主として図1に示した第1の実施の形態に係る画像処理装置10の画像変形パラメータ算出部20及び画像変形部22の代わりに、座標変換パラメータ算出部30及び特徴点座標変換部32を備えている点で相違する。
【0067】
一般に勾配法で特徴点を追跡する際には、追跡点の初期値を定める必要があり、通常は図10(a)に示す基準画像の特徴点(x1,y1)と同じ位置を、図10(b)に示す追跡画像上の初期追跡点(x2,y2)とする。そして、特徴点の周辺領域の画像情報と初期追跡点の周辺領域の画像情報を用いて正しい追跡点を導く。
【0068】
ところが、図10に示すように正しい追跡点と初期追跡点とが大きくずれていた場合には、特徴点周辺と初期追跡点周辺の画像情報に相関性がないことから、正しい追跡点を導くことが困難となる。そのため、初期追跡点を正しい追跡点に近くなるように設定するのが望ましい。
【0069】
第2の実施の形態は、初期追跡点を適切に設定することにより、無効画像領域に存在する特徴点の追跡を可能にするものである。
【0070】
図7において、座標変換パラメータ算出部30は、有効画像領域において検出された対応点(特徴点+追跡点)の座標値から座標変換パラメータを算出する。この座標変換パラメータは、第1の実施の形態の画像変形パラメータに相当するもので、基準画像と追跡画像の全体的な画像のズレを表すパラメータである。例えば、画像の平行移動パラメータ、アフィン変換パラメータ、射影変換パラメータなどが想定される。座標変換パラメータ算出部30により算出された座標変換パラメータは、データメモリ14に記録される。
【0071】
いま、図11に示すように有効画像領域における対応点が検出されたとすると、座標変換パラメータが平行移動パラメータの場合、特徴点の動きベクトル(追跡点座標−特徴点座標)の平均値から、x方向に7、y方向に2という平行移動量を得ることができる。これは、基準画像と追跡画像との間に、x方向に7、y方向に2という位置ズレが発生していることを示している。
【0072】
特徴点座標変換部32は、データメモリ14から読み出した特徴点の座標値を、データメモリ14から読み出した座標変換パラメータにより座標変換し、この座標変換した特徴点の座標値を追跡画像の初期追跡点の位置として特徴点追跡部18に渡す。
【0073】
特徴点追跡部18は、有効画像領域に存在する特徴点の追跡は第1の実施の形態と同様に行い、無効画像領域に存在する特徴点の追跡は、特徴点座標変換部32から受け取った初期追跡点の位置を使用して、追跡画像上で特徴点の追跡を行う。
【0074】
以下、図8及び図9のフローチャートに沿って本発明の第2の実施の形態に係る画像処理方法について説明する。
【0075】
図8において、まず、図2に示したフローチャートの処理と同じ処理を行い、1度目の追跡(有効画像領域に位置する特徴点の追跡)等を行う(ステップS100)。
【0076】
次に、メインCPU26は、有効画像領域に存在する特徴点のうちの追跡に成功した複数の特徴点と追跡点(対応点)の座標を、座標変換パラメータ算出部30に読み込ませ、これらの対応点の座標に基づいて座標変換パラメータを算出させる(ステップS102、S104)。そして、座標変換パラメータが算出されたか否かが判別され(ステップS106)、座標変換パラメータが算出された場合(「yes」の場合)には、ステップS108に遷移させ、座標変換パラメータをデータメモリ14に記録させる。一方、座標変換パラメータが算出されなかった場合(「no」の場合)には、本処理を終了させる(図9)。
【0077】
次に、メインCPU26は、画像メモリ12から基準画像と変形画像とを特徴点追跡部18に読み込ませ(図9のステップS110)、以下に示すように2度目の追跡(無効画像領域に位置する特徴点の追跡)を行わせる。
【0078】
尚、図9において、図4に示した第1の実施の形態と共通するステップには同一のステップ番号を付し、その詳細な説明は省略する。
【0079】
2度目の追跡時において、第1の実施の形態では、画像メモリ12から基準画像と変形画像とを特徴点追跡部18に読み込ませるようにしたが(図4のステップS50)、第2の実施の形態では、上記のように基準画像と変形画像とを特徴点追跡部18に読み込ませる点で相違する。
【0080】
また、第2の実施の形態では、図4に示したフローチャートに対して、ステップS112、及びステップS114が追加されている。
【0081】
ステップS112では、データメモリ14から座標変換パラメータを特徴点座標変換部32に読み込ませるようにしている。また、ステップS114では、ステップS54で読み込んだ特徴点の座標を、ステップS112で読み込んだ座標変換パラメータにより座標変換し、その座標変換した座標値を追跡画像の初期追跡点の位置として設定する。
【0082】
特徴点追跡部18は、ステップS114で設定された初期追跡点を追跡の開始点として使用して特徴点の追跡を行う(ステップS56)。
【0083】
この第2の実施の形態によれば、大きな動きに対応するために、ピラミッド階層を増加させることで広がってしまった無効画像領域に存在する特徴点については、初期追跡点を正しい追跡点に近づける座標変換を行ったのち、その座標変換した初期追跡点から追跡を行うようにしたため、もともと無効画像領域に存在する特徴点の追跡を行うことが可能となり、結果として面積的に密に対応点を検出することができる。
【0084】
[その他]
本発明に係る画像処理は、専用のハードウェアで行う場合に限らず、上記第1、第2の実施の形態に対応する画像処理を行うプログラムをパーソナルコンピュータにインストールすることにより、ソフトウェアにより実現するようにしてもよい。
【0085】
また、本発明は上述した実施の形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能であることは言うまでもない。
【図面の簡単な説明】
【0086】
【図1】図1は本発明の第1の実施の形態に係る画像処理装置を示すブロック図である。
【図2】図2は本発明の第1の実施の形態に係る画像処理方法を説明するために用いたフローチャートである。
【図3】図3は本発明の第1の実施の形態に係る画像処理方法を説明するために用いたフローチャートである。
【図4】図4は本発明の第1の実施の形態に係る画像処理方法を説明するために用いたフローチャートである。
【図5】図5は基準画像上の特徴点及び追跡画像上で追跡された追跡点等の関係を示す図である。
【図6】図6はピラミッド階層を用いない場合と用いる場合の無効画像領域の差を示す図である。
【図7】図7は本発明の第2の実施の形態に係る画像処理装置を示すブロック図である。
【図8】図8は本発明の第2の実施の形態に係る画像処理方法を説明するために用いたフローチャートである。
【図9】図9は本発明の第2の実施の形態に係る画像処理方法を説明するために用いたフローチャートである。
【図10】図10は特徴点の追跡における初期追跡点を説明するために用いた図である。
【図11】図11は対応点(特徴点と追跡点)の座標値及び特徴点の動きベクトルの一例を示す図表である。
【図12】図12は2枚の画像(基準画像と追跡画像)から特徴の一致する対応点を検出する従来の技術を説明するために用いた図である。
【図13】図13はピラミッド階層の2つの画像群を利用して対応点検出を行う従来の階層型勾配法を説明するために用いた図である。
【図14】図14はフィルタ演算により無効画素が発生することを説明するために用いた図である。
【符号の説明】
【0087】
10、10’…画像処理装置、12…画像メモリ、14…データメモリ、16…特徴点抽出部、18…特徴点追跡部、20…画像変形パラメータ算出部、22…画像変形部、24…特徴点存在領域判定部、26…メインCPU、30…座標変換パラメータ算出部、32…特徴点座標変換部

【特許請求の範囲】
【請求項1】
第1の画像と第2の画像とを取得する画像取得手段と、
前記第1の画像から複数の特徴点を抽出する特徴点抽出手段と、
前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の点をそれぞれ前記第2の画像上で追跡することにより複数の対応点を検出する対応点検出手段と、
前記検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出手段と、
前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形手段と、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定手段と、を備え、
前記対応点検出手段は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、その特徴点については、前記第1の画像と前記第3の画像とを用いて特徴点の追跡を行うことを特徴とする画像処理装置。
【請求項2】
第1の画像と第2の画像とを取得する画像取得手段と、
前記第1の画像から複数の特徴点を抽出する特徴点抽出手段と、
前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の点をそれぞれ前記第2の画像上で追跡することにより複数の対応点を検出する対応点検出手段と、
前記検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出手段と、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定手段と、
前記第1の画像の無効画像領域に位置する特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換手段と、を備え、
前記対応点検出手段は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、前記座標変換パラメータにより座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うことを特徴とする画像処理装置。
【請求項3】
前記第1の画像及び第2の画像に対して1段又は複数段の縮小処理を施して解像度が異なる複数の画像からなる第1の階層画像群及び第2の階層画像群を生成する階層画像生成手段を備え、該階層画像生成手段は、前記縮小処理する前の画像に対して前記所定のフィルタ処理を行うことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記対応点検出手段は、前記第1の階層画像群及び第2の階層画像群の同一階層の画像間における対応点を検出し、その検出結果を上位の階層の画像間における対応点の検出に利用することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
第1の画像と第2の画像とを取得する画像取得ステップと、
前記第1の画像から複数の特徴点を抽出する特徴点抽出ステップと、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定ステップと、
前記第1の画像から抽出された特徴点が前記無効画像領域に位置しないと判定されると、前記特徴点に対応する前記第2の画像上の対応点を、前記第2の画像上で追跡することにより検出する第1の対応点検出ステップと、
前記無効画像領域に位置しないと判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、該第1の対応点検出手段により検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出ステップと、
前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形ステップと、
前記第1の画像の無効画像領域に位置すると判定された特徴点に対応する前記第2の画像上の対応点を検出するステップであって、前記第1の画像と前記第3の画像とを用いて前記特徴点の追跡を行う第2の対応点検出ステップと、
を含むことを特徴とする画像処理方法。
【請求項6】
第1の画像と第2の画像とを取得する画像取得ステップと、
前記第1の画像から複数の特徴点を抽出する特徴点抽出ステップと、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定ステップと、
前記第1の画像から抽出された特徴点が前記無効画像領域に位置しないと判定されると、前記特徴点に対応する前記第2の画像上の対応点を、前記第2の画像上で追跡することにより検出する第1の対応点検出ステップと、
前記無効画像領域に位置しないと判定された全ての特徴点に対して前記第1の対応点検出ステップによる処理が終了すると、該第1の対応点検出手段により検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出ステップと、
前記第1の画像の無効画像領域に位置すると判定された特徴点に対し、該特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換ステップと、
前記第1の画像の無効画像領域に位置すると判定された特徴点に対応する前記第2の画像上の対応点を検出するステップであって、前記座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用して追跡する第2の対応点検出ステップと、
を含むことを特徴とする画像処理方法。
【請求項7】
第1の画像と第2の画像とを取得する画像取得機能と、
前記第1の画像から複数の特徴点を抽出する特徴点抽出機能と、
前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の対応点を、それぞれ前記第2の画像上で追跡することにより検出する対応点検出機能と、
前記検出された複数の対応点から前記第1の画像と第2の画像とを一致させるための画像変形パラメータを算出する画像変形パラメータ算出機能と、
前記算出された画像変形パラメータを用いて前記第2の画像を変形させ、該変形させた画像を第3の画像として取得する画像変形機能と、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定機能と、をコンピュータに実現させるための画像処理プログラムであって、
前記対応点検出機能は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、その特徴点については、前記第1の画像と前記第3の画像とを用いて特徴点の追跡を行うことを特徴とする画像処理プログラム。
【請求項8】
第1の画像と第2の画像とを取得する画像取得機能と、
前記第1の画像から複数の特徴点を抽出する特徴抽出機能と、
前記第1の画像から抽出された複数の特徴点にそれぞれに対応する前記第2の画像上の複数の対応点を、それぞれ前記第2の画像上で追跡することにより検出する対応点検出機能と、
前記検出された複数の対応点から前記第1の画像に対する第2の画像の変化量を示す座標変換パラメータを算出する座標変換パラメータ算出機能と、
前記第1の画像から抽出された特徴点が、該第1の画像に対して所定のフィルタ処理を行うことにより生じる画像端の無効画像領域に位置するか否かを判定する特徴点存在領域判定機能と、
前記第1の画像の無効画像領域に位置する特徴点の座標値を前記算出された座標変換パラメータにより変換する座標変換機能と、をコンピュータに実現させるための画像処理プログラムであって、
前記対応点検出機能は、前記第1の画像から抽出された特徴点が前記無効画像領域に位置すると判定されると、前記座標変換パラメータにより座標変換された特徴点の位置を前記第2の画像上の初期追跡点として使用し、該特徴点の追跡を行うことを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−79375(P2010−79375A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−244017(P2008−244017)
【出願日】平成20年9月24日(2008.9.24)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】