【文献】
野村由司彦,外2名,“画素データレベルでのアフィン変換画像のマッチング”,電子情報通信学会論文誌,社団法人電子情報通信学会,1992年 9月25日,Vol.J75−D−2,No.9,p.1498−1503
(58)【調査した分野】(Int.Cl.,DB名)
任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出するスムージング部と、
前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算する係数算出部と
を備え、
前記スムージング部は、前記計量テンソル及び前記スムージング画像を変数として定義される目的関数の最適解を導出し、
前記目的関数は、前記計量テンソルを用いて表される、前記スムージング画像の滑らかさの指標を含むように定義される、
画像処理装置。
第1対象画像及び第2対象画像のそれぞれに対して前記スムージング部及び前記係数算出部により算出された前記変換係数に基づいて、前記第1対象画像の視点を前記第2対象画像の視点に一致させる特定のアフィン変換の変換係数を算出し、前記特定のアフィン変換の変換係数に基づいて、前記第1対象画像又は前記第1対象画像の前記スムージング画像に前記特定のアフィン変換を施すアフィン変換部
をさらに備える、
請求項1から3のいずれかに記載の画像処理装置。
任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出するステップと、
前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算するステップと
をコンピュータに実行させ、
前記計量テンソルを導出するステップは、前記計量テンソル及び前記スムージング画像を変数として定義される目的関数の最適解を導出するステップを含み、
前記目的関数は、前記計量テンソルを用いて表される、前記スムージング画像の滑らかさの指標を含むように定義される、
画像処理プログラム。
任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出するステップと、
前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算するステップと
を備え、
前記計量テンソルを導出するステップは、前記計量テンソル及び前記スムージング画像を変数として定義される目的関数の最適解を導出するステップを含み、
前記目的関数は、前記計量テンソルを用いて表される、前記スムージング画像の滑らかさの指標を含むように定義される、
画像処理方法。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1の方式では、視点の位置に依存しないスムージングが行われるものの、画像がどのようにアフィン変換されたのかという情報、すなわち、アフィン変換の変換係数(変換行列等)が算出されることはない。言い換えると、画像の視点を把握した上で、画像を詳細に調べることができない。
【0008】
本発明は、対象画像を視点の位置に依存しない方式でスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することが可能な画像処理装置、画像処理プログラム及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の第1観点に係る画像処理装置は、スムージング部と、係数算出部とを備える。前記スムージング部は、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出する。前記スムージングは、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で行われる。前記係数算出部は、前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算する。なお、対象画像に固有のアフィン変換とは、正方形や正三角形や真円のような正規形から対象画像への歪みを表すアフィン変換である。
【0010】
ここでは、任意のアフィン変換に対し共変な性質を有する方式で、対象画像がスムージングされる。すなわち、このスムージング方式によれば、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致する。従って、このスムージングは、被写体を捉える視点の位置に依存しない。また、ここでは、このスムージングの結果として、スムージング画像とともに、対象画像に固有の計量テンソルが導出される。この計量テンソルは、対象画像に固有のアフィン変換の変換係数へ変換可能である。従って、対象画像が正方形や正三角形や真円のような正規形に見える視点を基準としたときに、対象画像がどのような視点からの画像であるのかを特定する情報であると言える。以上より、ここでは、対象画像を視点の位置に依存しない方式でスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することができる。
【0011】
本発明の第2観点に係る画像処理装置は、第1観点に係る画像処理装置であって、前記スムージング部は、前記計量テンソル及び前記スムージング画像を変数として定義される目的関数の最適解を導出する。なお、最適解を導出することには、最適解の近似解を導出することが含まれる。
【0012】
ここでは、スムージングとは、対象画像に固有の計量テンソル及びスムージング画像の少なくとも2変数の関数である目的関数を最適化する処理である。すなわち、このスムージングによれば、目的関数に最適解を与える変数の値として、スムージングの結果であるスムージング画像と、対象画像に固有のアフィン変換の変換係数へ換算可能な計量テンソルとが得られる。従って、対象画像をスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することができる。
【0013】
本発明の第3観点に係る画像処理装置は、第2観点に係る画像処理装置であって、前記目的関数は、前記計量テンソルを用いて表される、前記スムージング画像と前記対象画像との差分と、前記計量テンソルを用いて表される、前記スムージング画像の滑らかさの指標とを組み合わせて定義される。
【0014】
ここでは、スムージング時に最適化される目的関数が、スムージング画像と対象画像との差分と、スムージング画像の滑らかさの指標とを組み合わせて定義される関数である。従って、この目的関数を最適化することで、スムージング画像がスムージング前の対象画像と余り変わらない範囲で、スムージング画像を滑らかにすることができる。なお、スムージング画像の滑らかさの指標とは、例えば、スムージング画像の輪郭線の長さ(輪郭線の長さが短いほど、滑らか)や、スムージング画像の画素値の関数の表面積(表面積が小さいほど、滑らか)等として表すことができる。
【0015】
本発明の第4観点に係る画像処理装置は、第2観点又は第3観点に係る画像処理装置であって、前記スムージング部は、前記目的関数の前記最適解が見つかるまで、前記計量テンソル及び前記スムージング画像を連動させて少しずつ変化させる。
【0016】
ここでは、スムージング時に、計量テンソル及びスムージング画像をともに少しずつ変化させながら、目的関数の最適解が探索される。従って、複雑な目的関数に対しても、最適解を見つけることができる。
【0017】
本発明の第5観点に係る画像処理装置は、第1観点から第4観点のいずれかに係る画像処理装置であって、アフィン変換部をさらに備える。前記アフィン変換部は、第1対象画像及び第2対象画像のそれぞれに対して前記スムージング部及び前記係数算出部により算出された前記変換係数に基づいて、前記第1対象画像の視点を前記第2対象画像の視点に一致させる特定のアフィン変換の変換係数を算出し、前記特定のアフィン変換の変換係数に基づいて、前記第1対象画像又前記第1対象画像の前記スムージング画像に前記特定のアフィン変換を施す。
【0018】
ここでは、2枚の対象画像のそれぞれに固有のアフィン変換の変換係数に基づいて、2枚の対象画像の一方に対し、2枚の対象画像間又はそのスムージング画像間の視点を一致させるような特定のアフィン変換が施される。従って、2枚の対象画像間又はこれらのスムージング画像間で、視点のずれの影響をキャンセルすることができる。
【0019】
本発明の第6観点に係る画像処理装置は、第5観点に係る画像処理装置であって、演算部をさらに備える。前記演算部は、前記第1対象画像又は前記第1対象画像の前記スムージング画像に対し前記特定のアフィン変換が施された画像と、前記第2画像又は前記第2画像の前記スムージング画像とを比較し、前記比較の結果に基づいて、画像認識及び/又は画像検索を行う。
【0020】
ここでは、視点のずれの影響がキャンセルされた画像(対象画像又はスムージング画像)どうしを比較することにより、画像認識及び/又は画像検索が行われる。従って、画像認識及び/又は画像検索を精度よく行うことができる。
【0021】
本発明の第7観点に係る画像処理装置は、第1観点から第6観点のいずれかに係る画像処理装置であって、前記対象画像から前記スムージング画像を導出することには、前記対象画像の輪郭線から前記スムージング画像の輪郭線を導出することが含まれる。
【0022】
ここでは、対象画像の輪郭線からスムージング画像の輪郭線が導出される。従って、対象画像に写る被写体の輪郭線をスムージングすることができる。
【0023】
本発明の第8観点に係る画像処理プログラムは、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出するステップと、前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算するステップとをコンピュータに実行させる。前記スムージングは、前記対象画像を任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で行われる。
【0024】
ここでは、任意のアフィン変換に対し共変な性質を有する方式で、対象画像がスムージングされる。すなわち、このスムージング方式によれば、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致する。従って、このスムージングは、被写体を捉える視点の位置に依存しない。また、ここでは、このスムージングの結果として、スムージング画像とともに、対象画像に固有の計量テンソルが導出される。この計量テンソルは、対象画像に固有のアフィン変換の変換係数へ変換可能である。従って、対象画像が正方形や正三角形や真円のような正規形に見える視点を基準としたときに、対象画像がどのような視点からの画像であるのかを特定する情報であると言える。以上より、ここでは、対象画像を視点の位置に依存しない方式でスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することができる。
【0025】
本発明の第9観点に係る画像処理方法は、対象画像をスムージングしたスムージング画像を導出しながら、前記対象画像に固有の計量テンソルを導出するステップと、前記計量テンソルを前記対象画像に固有のアフィン変換の変換係数に換算するステップとを備える。前記スムージングは、任意のアフィン変換に対し、前記対象画像をアフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致するようなスムージング方式で行われる。
【0026】
ここでは、任意のアフィン変換に対し共変な性質を有する方式で、対象画像がスムージングされる。すなわち、このスムージング方式によれば、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致する。従って、このスムージングは、被写体を捉える視点の位置に依存しない。また、ここでは、このスムージングの結果として、スムージング画像とともに、対象画像に固有の計量テンソルが導出される。この計量テンソルは、対象画像に固有のアフィン変換の変換係数へ変換可能である。従って、対象画像が正方形や正三角形や真円のような正規形に見える視点を基準としたときに、対象画像がどのような視点からの画像であるのかを特定する情報であると言える。以上より、ここでは、対象画像を視点の位置に依存しない方式でスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することができる。
【発明の効果】
【0027】
本発明によれば、対象画像を視点の位置に依存しない方式でスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定することができる。
【発明を実施するための形態】
【0029】
以下、図面を参照しつつ、本発明のいくつかの実施形態に係る画像処理装置、画像処理プログラム及び画像処理方法について説明する。
<1.第1実施形態>
<1−1.画像処理装置のハードウェア構成>
図2に示す画像処理装置1は、本発明の第1実施形態に係る画像処理装置である。画像処理装置1は、ハードウェアとしては、汎用のパーソナルコンピュータであり、ここにCD−ROM、USBメモリ等のコンピュータで読み取り可能な記録媒体5から、又はインターネット、LAN等のネットワーク6を介して別の装置から画像処理プログラム2がインストールされることにより製造される。画像処理プログラム2は、本発明の第1実施形態に係る画像処理プログラムであり、画像をスムージングする機能を有するアプリケーションソフトウェアである。画像処理プログラム2は、画像処理装置1に後述する動作に含まれるステップを実行させる。
【0030】
画像処理装置1は、表示部10、入力部20、記憶部30、制御部40および通信部50を備えている。これらの部10〜50は、互いにバス線7で接続されており、相互に通信可能である。本実施形態では、表示部10は、液晶ディスプレイ等で構成されており、適当な画面をユーザに対し表示するユーザーインターフェースである。また、入力部20は、マウス、キーボード等で構成されており、画像処理装置1に対するユーザからの操作を受け付けるユーザーインターフェースである。通信部50は、画像処理装置1をネットワーク6に接続するほか、USBメモリやメモリカード、CD−ROM、外付けハードディスク、デジタルカメラなどの外部記憶装置からデータを受け取る通信インターフェースとして機能する。
【0031】
記憶部30は、ハードディスクやフラッシュメモリ等の不揮発性の記憶装置から構成されている。記憶部30内には、画像処理プログラム2が格納されているとともに、計量テンソル記憶領域31及び輪郭線記憶領域32が確保されている。これらの領域31,32の役割については、後述する。
【0032】
制御部40は、CPU、ROMおよびRAM等から構成されており、記憶部30内に格納されている画像処理プログラム2を読み出して実行することにより、仮想的に輪郭抽出部41、スムージング部42、係数算出部43、アフィン変換部44及び演算部45として動作する。各部41〜45の動作については、後述する。
【0033】
<1−2.画像処理装置の動作>
<1−2−1.スムージング処理>
画像処理装置1は、対象画像に写る被写体の輪郭線をスムージングする機能を有している。ここでのスムージング形式は、任意のアフィン変換に対し共変な性質を有する方式であり、従って、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致する(
図3参照)。ここで、画像をアフィン変換するとは、画像内の被写体を捉える視点の位置を移動させることである。従って、ここでのスムージングは、視点の位置に依存しないスムージングであると言うことができ、さらに言うならば、被写体の世界でのスムージングである。また、画像処理装置1は、対象画像をスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定する情報として、対象画像に固有のアフィン変換(以下、対象アフィン変換)の変換係数へ変換可能な、対象画像に固有の計量テンソル(以下、対象計量テンソル)を導出する。なお、対象アフィン変換とは、正方形や正三角形や真円のような正規形から対象画像への歪みを表すアフィン変換である。以下、
図4を参照しつつ、スムージングの処理の流れについて、詳細に説明する。
【0034】
図4に示すスムージングの処理は、ユーザの指定により入力部10を介して手動で、又は何らかの処理の中で自動的に、スムージングの対象となる対象画像が特定された場合に開始する。
【0035】
まず、ステップS1として、輪郭抽出部41が対象画像から輪郭線l1を抽出する。なお、画像に含まれる輪郭線を抽出するアルゴリズムとしては、様々なものが公知であり、本実施形態においても当業者が適宜選択することが可能であるから、ここでは、詳しい説明を省略する。
【0036】
以下、ステップS1で抽出された、対象画像が存在するx−y平面上における輪郭線l1上の点を(x(s),y(s))と表す。ここで、sは、媒介変数であり、例えば、0からs
0の値をとり、点(x(s),y(s))は、s=0のときに輪郭線L1の始点から出発し、sが大きくなるにつれて輪郭線l1上を時計回りに辿って行き、s=s
0のときに輪郭線l1の終点に達する。ここで、輪郭線l1が閉じた線である場合には、始点と終点が一致し、x(0)=x(s
0)かつy(s)=y(s
0)となる。
【0037】
続いて、ステップS2として、スムージング部42が、ステップS1で抽出された輪郭線l1をスムージングすることにより、スムージング後の輪郭線L1を導出する。以下では、上記x−y平面上における輪郭線L1上の点を(X(s),Y(s))と表す。
【0038】
具体的には、ステップS2では、以下の数1の式のとおり定義される評価関数J(X(s),Y(s),g
11,g
12,g
22)を最小化するようなX(s),Y(s),g
11,g
12,g
22を導出することにより、スムージング後の輪郭線L1を表すX(s),Y(s)を得る。
【数1】
【0039】
ここで、g
11,g
12,g
22は、対象計量テンソルである。対象計量テンソルは、より正確には、以下の数2の行列式で表される。
【数2】
すなわち、評価関数Jは、スムージング後の輪郭線L1及び対象計量テンソルを変数とする関数である。
【0040】
数1の式に示されるとおり、評価関数Jの第1項は、対象計量テンソルg
11,g
12,g
22を用いて、スムージング後の輪郭線L1の長さを表したものである。ここで、輪郭線L1が短くなればなるほど、輪郭線l1の凸凹が消失していることになるため、第1項は、スムージング後の輪郭線L1の滑らかさの指標であると言える。一方、評価関数Jの第2項は、対象計量テンソルg
11,g
12,g
22を用いて、スムージング後の輪郭線L1の描く軌跡(図形)と、スムージング前の輪郭線l1の描く軌跡(図形)との差分を表したものである。また、評価関数Jは、このような第1項と第2項とが単純に加算される態様で組み合わされている。従って、評価関数Jを最小化するということは、スムージング後の輪郭線L1の描く軌跡(図形)が、スムージング前の輪郭線l1の描く軌跡(図形)と余り変わらない範囲で、スムージング後の輪郭線L1を滑らかすることを意味している。すなわち、ステップS2では、評価関数Jの最小化により、対象画像と余り変わらない範囲で、スムージング後の対象画像(以下、スムージング画像)が滑らかにされる。
【0041】
なお、評価関数Jの第1項及び第2項は、ともに対象計量テンソルg
11,g
12,g
22を用いて表されているため、評価関数Jの値は、任意のアフィン変換に対して不変である。
【0042】
以下、
図5を参照しつつ、評価関数Jを最小化するX(s),Y(s),g
11,g
12,g
22を導出するためのアルゴリズムについて、詳細に説明する。
なお、本実施形態では、計算負荷が過大にならないように、面積の不変なアフィン変換のみを考える。そして、この前提の下では、対象計量テンソルを表す3つの変数g
11,g
12,g
22は、以下の数3の関係式を満たすことになるから、対象計量テンソルを表す未知数を1つ減らすことができる。
【数3】
【0043】
図5の説明に戻ると、まず、ステップS21として、スムージング部42は、計量テンソル記憶領域31内にg
11,g
12,g
22の初期値を格納するとともに、輪郭線記憶領域32内にX(s),Y(s)の初期値を格納する。なお、これらの初期値としては、当業者が適宜選択することが可能であるが、例えば、g
11=1,g
12=0(従って、g
22=1)、X(s)=x(s),Y(s)=y(s)と設定することができる。
【0044】
次に、ステップS22として、スムージング部42は、g
11及びg
12(従って、数3の式に基づいてg
22も)を少しずつ変化させながら、評価関数Jを最小化するg
11,g
12,g
22を算出し、計量テンソル記憶領域31内のg
11,g
12,g
22の値を算出された値で更新する。また、スムージング部42は、このときのg
11,g
12,g
22の更新量(変化量)を計量テンソル記憶領域31内に別途記憶しておく。なお、ステップS22で変化させられる変数は、g
11,g
12,g
22のみであり、X(s),Y(s)の値は、輪郭線記憶領域32内の現在値に固定されたまま、演算が進められる。
【0045】
次に、ステップS23として、スムージング部42は、最急降下法により、評価関数Jを極小化するX(s),Y(s)を算出し、輪郭線記憶領域32内のX(s),Y(s)を算出された値で更新する。すなわち、スムージング部42は、以下の数4の式に従って、X(s),Y(s)を少しずつ変化させてゆき、δJ/δX及びδJ/δYが0又は十分に小さな所定値以下になったときのX(s),Y(s)を、評価関数Jを極小化するX(s),Y(s)と判断する。
【数4】
ここで、ηは、正の小さな定数である。
【0046】
また、スムージング部42は、このときのX(s),Y(s)の更新量(変化量)を輪郭線記憶領域32内に別途記憶しておく。なお、ステップS23で変化させられる変数は、X(s),Y(s)のみであり、g
11,g
12,g
22の値は、計量テンソル記憶領域31内の現在値に固定されたまま、演算が進められる。
【0047】
また、計算負荷が過大にならないように、他の実施形態では、δJ/δX及びδJ/δYが0又は十分に小さな所定値以下になったときのX(s),Y(s)ではなく、所定の回数X(s),Y(s)を変化させた後のX(s),Y(s)の値で、輪郭線記憶領域32内のX(s),Y(s)を更新してもよい。
【0048】
次に、ステップS24では、スムージング部42は、計量テンソル記憶領域31及び輪郭線記憶領域32を参照することにより、直前のステップS22及びステップS23でのX(s),Y(s),g
11,g
12,g
22の更新量(変化量)がそれぞれ所定の閾値より小さいか否かを判断する。ここで、全ての更新量(変化量)が所定の閾値より小さいと判断されれば、ステップS2を終了してステップS3に進み(
図4参照)、そうでなければ、ステップS22に戻る。すなわち、ステップS22,S23は、ステップS22,S23でのX(s),Y(s),g
11,g
12,g
22の更新量(変化量)の全てが所定の閾値より小さくなるまで、繰り返されることになる。
【0049】
次に、ステップS3では、係数算出部43は、以下の数5の式に従って、計量テンソル記憶領域31内のg
11,g
12,g
22の現在値を、対象アフィン変換の変換係数a
11,a
12,a
21,a
22(対象アフィン変換の変換行列の要素)に換算する。変換係数a
11,a
12,a
21,a
22は、記憶部50内の所定の領域に格納される。
【数5】
【0050】
そして、ステップS3が終了すると、
図4のスムージング処理が終了する。スムージング処理が終了した時点の輪郭線記憶領域32内のX(s),Y(s)の現在値は、輪郭線l1をスムージングした輪郭線L1を表すものである。
【0051】
<1−2−2.用途>
上述のスムージング処理の結果であるスムージング画像(より正確には、スムージング後の輪郭線L1を表すX(s),Y(s))及び対象アフィン変換の変換係数a
11,a
12,a
21,a
22は、様々な画像処理の中で利用することができる。例えば、画像認識及び/又は画像検索の処理の中で、複数の画像間の類似性を判断するのに利用することにより、画像認識及び/又は画像検索の精度を向上させることができる。
【0052】
なお、画像認識及び/又は画像検索等の画像処理の中で、複数の画像間の類似性が判断される場合とは、例えば、対象画像に対し所定の正解画像を用いてパターンマッチングを行うことにより、対象画像に写っている物体を認識する場合や、検索対象となる画像群の中からクエリ画像に類似する画像を検索する場合等である。以下、
図6を参照しつつ、複数の対象画像間の類似性を判断する場合を例として、上述のスムージング処理の用途について詳細に説明する。
【0053】
まず、ステップS41として、演算部45は、類似性の判断の対象となる対象画像群として、ユーザが入力部10を介して手動で指定した画像群、又は何らかの処理の中で自動的に特定された画像群を特定する。なお、対象画像群は、記憶部30内に記憶されている画像群の中から選択される場合もあれば、通信部50を介して接続されている他の外部記憶装置(ネットワーク6上の装置であってもよい)が保持している画像群の中から選択される場合もある。
【0054】
続くステップS42では、ステップS41で特定された各対象画像に対し、上述のスムージング処理が実行され、スムージング画像及び変換係数a
11,a
12,a
21,a
22が導出される。その結果、ステップS42が終わると、各対象画像からノイズが除去される等しており、対象画像どうし(より正確には、スムージング画像どうし)の比較がし易い状態になっている。
【0055】
次に、ステップS43として、演算部45は、ステップS42で導出された各スムージング画像から任意のアフィン変換に不変な特徴を抽出する。任意のアフィン変換に不変な特徴の例としては、直線上に並ぶ3つ以上の点の比が挙げられる。アフィン変換の前後では、任意の直線上の点の比が保存されるからである。続いて、演算部45は、ここで抽出された特徴に注目してスムージング画像どうしを比較することにより、ステップS42で導出されたスムージング画像群の中から類似性の高い画像群(以下、一次選択画像群)を選択する。なお、ステップS43において、アフィン変換に不変な特徴、すなわち、視点の位置に依存しない特徴に基づいて比較が行われるのは、原則として比較の対象となるスムージング画像どうしの視点が異なっているからである。
【0056】
次に、ステップS44として、アフィン変換部44は、ステップS43で導出された一次選択画像群に含まれる2枚の画像の各組合せに対し、その組合せに係る第1画像の視点を第2画像の視点に一致させる特定のアフィン変換の変換係数b
11,b
12,b
21,b
22を算出する。なお、第1画像の視点を第2画像の視点に一致させるアフィン変換とは、仮に両画像が同じ被写体を異なる視点から捉えたものである場合に、第1画像を第2画像に変換するアフィン変換である。具体的には、変換係数b
11,b
12,b
21,b
22は、以下の数6の式に従って算出される。ただし、第1画像に対応する変換係数a
11,a
12,a
21,a
22をa
(1)11,a
(1)12,a
(1)21,a
(1)22とし、第2画像に対応する変換係数a
11,a
12,a
21,a
22を、a
(2)11,a
(2)12,a
(2)21,a
(2)22とする。
【数6】
【0057】
続いて、アフィン変換部44は、変換係数b
11,b
12,b
21,b
22を用いて、一次選択画像群に含まれる2枚の画像の各組合せの第1画像に対しアフィン変換を実行し、第3画像を導出する。
【0058】
続いて、ステップS45として、演算部45は、ステップS43で導出された一次選択画像に含まれる2枚の画像の各組合せに対し、第2画像と第3画像とを比較する。ここで、第2画像と第3画像は、ステップS44でのアフィン変換により、互いに視点が一致している。そのため、ステップS45で比較される特徴は、アフィン変換に不変な特徴である必要はなく、従って、ステップS45では、ステップS43で比較することができなかった様々な特徴に基づいて、第2画像と第3画像とを比較することができる。よって、演算部45は、ステップS43で導出された一次選択画像群から、ステップS43で用いられた以外の特徴を抽出し、様々な観点から一次選択画像どうしをより詳細に比較する。そして、演算部45は、一次選択画像どうしの類似性に基づいて、元の対象画像どうしの類似性を判断する。
【0059】
<2.第2実施形態>
以下、
図7〜
図9を参照しつつ、本発明の第2実施形態に係る画像処理装置101について説明する。ここで、画像処理装置101は、第1実施形態に係る画像処理装置1と同様に、任意のアフィン変換に対し共変な性質を有する方式で、対象画像をスムージングする機能を有している。そのため、画像処理装置101は、画像処理装置1と同様の構成要素を多々有するが、そのような構成要素については、同じ参照符号を付して説明を省略する。
【0060】
図7に示すように、画像処理装置101では、画像処理装置1における画像処理プログラム2の代わりに、画像処理プログラム102がインストールされている。また、画像処理装置101では、輪郭線抽出部41が省略され、スムージング部42及び輪郭線記憶領域32がそれぞれスムージング部142及びスムージング画像記憶領域132に置換されている。
【0061】
画像処理装置101と画像処理装置1との主な機能上の相違点は、画像処理装置1では対象画像中の輪郭線l1がスムージングされたのに対し、画像処理装置101では対象画像全体が画素単位でスムージングされる点にある。以下では、両者の主な差異となるスムージング処理の詳細について説明する。なお、スムージング処理の結果の用途については、第1実施形態と同様であるため、説明を省略する。
【0062】
<2−1.スムージング処理>
画像処理装置101は、上記のとおり、対象画像全体をスムージングする機能を有している。ここで、第1実施形態と同じく、第2実施形態におけるスムージング形式も、任意のアフィン変換に対し共変な性質を有する方式であり、任意のアフィン変換に対し、アフィン変換後にスムージングした結果と、スムージング後にアフィン変換を行った結果とが一致する(
図3参照)。また、画像処理装置1と同じく、画像処理装置101も、対象画像をスムージングしながら、同時に対象画像がどのような視点からの画像であるのかを特定する情報として、対象アフィン変換の変換係数へ変換可能な対象計量テンソルを導出する。
【0063】
図8に示す第2実施形態に係るスムージング処理は、ユーザの指定により入力部10を介して手動で、又は何らかの処理の中で自動的に、スムージングの対象となる対象画像が特定された場合に開始する。
【0064】
まず、ステップS51として、スムージング部142が、対象画像全体をスムージングすることにより、スムージング画像を導出する。なお、以下では、対象画像の画素値の関数をI(x,y)と表し、スムージング画像の画素値の関数をI’(x,y)と表す。ここで、x−y座標系は、対象画像及びスムージング画像が存在する座標系であり、(x,y)を特定することにより、対象画像及びスムージング画像中の画素が特定される。
【0065】
具体的には、ステップS51では、以下の数7の式により定義される評価関数J(I’(x,y),g
11,g
12,g
22)を最小化するようなI’(x,y),g
11,g
12,g
22を導出することにより、スムージング画像を表すI’(x,y)を得る。ここで、第1実施形態と同様に、g
11,g
12,g
22は、対象計量テンソルである。
【数7】
すなわち、評価関数Jは、スムージング画像の画素値の関数I’(x,y)及び対象計量テンソルを変数とする関数である。
【0066】
数7の式に示されるとおり、評価関数Jの第1項は、対象計量テンソルg
11,g
12,g
22を用いて、スムージング画像の画素値の関数I’(x,y)の表面積を表したものである。ここで、この表面積が小さくなればなるほど、スムージング画像の画素値の関数I’(x,y)の表面形状の凸凹が消失していることになるため、第1項は、関数I’(x,y)の表面形状の滑らかさの指標であると言える。一方、評価関数Jの第2項は、対象計量テンソルg
11,g
12,g
22を用いて、スムージング画像の画素値の関数I’(x,y)の表面形状と、対象画像の画素値の関数I(x,y)の表面形状との差分を表したものである。また、評価関数Jは、このような第1項と第2項とが単純に加算される態様で組み合わされている。従って、評価関数Jを最小化するということは、スムージング画像の画素値の関数I’(x,y)の表面形状が、スムージング前の対象画像の画素値の関数I(x,y)の表面形状と余り変わらない範囲で、スムージング画像の画素値の関数I’(x,y)の表面形状を滑らかすることを意味している。すなわち、ステップS51では、評価関数Jの最小化により、対象画像と余り変わらない範囲で、スムージング画像が滑らかにされる。
【0067】
なお、評価関数Jの第1項及び第2項は、ともに対象計量テンソルg
11,g
12,g
22を用いて表されているため、評価関数Jの値は、任意のアフィン変換に対して不変である。
【0068】
以下、
図9を参照しつつ、評価関数Jを最小化するI’(x,y),g
11,g
12,g
22を導出するためのアルゴリズムについて、詳細に説明する。
なお、第1実施形態と同様に、第2実施形態でも、計算負荷が過大にならないように、面積の不変なアフィン変換のみを考える。従って、対象計量テンソルを表す3つの変数g
11,g
12,g
22は、数3の関係式を満たすことになるから、対象計量テンソルを表す未知数を1つ減らすことができる。
【0069】
図9の説明に戻ると、まず、ステップS61として、スムージング部142は、計量テンソル記憶領域31内にg
11,g
12,g
22の初期値を格納するとともに、スムージング画像記憶領域132内にI’(x,y)の初期値を格納する。なお、これらの初期値としては、当業者が適宜選択することが可能であるが、例えば、g
11=1,g
12=0(従って、g
22=1)、I’(x,y)=I(x,y)と設定することができる。
【0070】
次に、ステップS62として、スムージング部142は、g
11及びg
12(従って、数3の式に基づいてg
22も)を少しずつ変化させながら、評価関数Jを最小化するg
11,g
12,g
22を算出し、計量テンソル記憶領域31内のg
11,g
12,g
22の値を算出された値で更新する。また、スムージング部142は、このときのg
11,g
12,g
22の更新量(変化量)を計量テンソル記憶領域31内に別途記憶しておく。なお、ステップS62で変化させられる変数は、g
11,g
12,g
22のみであり、I’(x,y)の値は、スムージング画像記憶領域132内の現在値に固定されたまま、演算が進められる。
【0071】
次に、ステップS63として、スムージング部142は、最急降下法により、評価関数Jを極小化するI’(x,y)を算出し、スムージング画像記憶領域132内のI’(x,y)を算出された値で更新する。すなわち、スムージング部142は、以下の数8の式に従って、I’(x,y)を少しずつ変化させてゆき、δJ/δI’が0又は十分に小さな所定値以下になったときのI’(x,y)を、評価関数Jを極小化するI’(x,y)と判断する。
【数8】
ここで、ηは、正の小さな定数である。
【0072】
また、スムージング部142は、このときのI’(x,y)の更新量(変化量)をスムージング画像記憶領域132内に別途記憶しておく。なお、ステップS63で変化させられる変数は、I’(x,y)のみであり、g
11,g
12,g
22の値は、計量テンソル記憶領域31内の現在値に固定されたまま、演算が進められる。
【0073】
また、計算負荷が過大にならないように、他の実施形態では、δJ/δI’が0又は十分に小さな所定値以下になったときのI’(x,y)ではなく、所定の回数I’(x,y)を変化させた後のI’(x,y)の値で、スムージング画像記憶領域132内のI’(x,y)を更新してもよい。
【0074】
次に、ステップS64では、スムージング部142は、計量テンソル記憶領域31及びスムージング画像記憶領域132を参照することにより、直前のステップS62及びステップS63でのI’(x,y),g
11,g
12,g
22の更新量(変化量)がそれぞれ所定の閾値より小さいか否かを判断する。ここで、全ての更新量(変化量)が所定の閾値より小さいと判断されれば、ステップS51を終了してステップS52に進み(
図8参照)、そうでなければ、ステップS62に戻る。すなわち、ステップS62,S63は、ステップS62,S63でのI’(x,y),g
11,g
12,g
22の更新量(変化量)の全てが所定の閾値より小さくなるまで、繰り返されることになる。
【0075】
次に、ステップS52では、係数算出部43は、上述の数5の式に従って、計量テンソル記憶領域31内のg
11,g
12,g
22の現在値を、対象アフィン変換の変換係数a
11,a
12,a
21,a
22(対象アフィン変換の変換行列の要素)に換算する。変換係数a
11,a
12,a
21,a
22は、記憶部50内の所定の領域に格納される。
【0076】
そして、ステップS52が終了すると、
図8のスムージング処理が終了する。スムージング処理が終了した時点のスムージング画像記憶領域132内の’(x,y)の現在値は、スムージング画像を表すものである。
【0077】
<3.変形例>
以上、本発明のいくつかの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。
<3−1>
上記実施形態では、数1及び数7の式により評価関数Jを定義したが、評価関数Jは、適宜変更可能である。例えば、第1項及び第2項の係数を変更してもよいし、第1項の式と第2項の式とを乗算したものを評価関数Jとしてもよい。
【0078】
<3−2>
上述のスムージング処理の結果の用途の別の例として、上述のステップS44,S45を以下のように変更することができる。
【0079】
すなわち、ステップS43の後、ステップS44として、アフィン変換部44が、ステップS43で導出された各一次選択画像に対し、変換係数a
11,a
12,a
21,a
22に基づいて対象アフィン変換の逆変換を実行し、正規化された一次選択画像(以下、正規化一次選択画像)を導出する。
【0080】
続いて、ステップS45として、演算部45は、ステップS44で導出された正規化一次選択画像どうしを比較する。ここで、これらの正規化一次選択画像どうしは、ステップS44での逆変換により、互いに視点が正規化されている。そのため、ステップS45で比較される特徴は、アフィン変換に不変な特徴である必要はなく、従って、ステップS45では、ステップS43で比較することができなかった様々な特徴に基づいて、正規化一次選択画像どうしを比較することができる。よって、演算部45は、ステップS44で導出された正規化一次選択画像群から、ステップS43で用いられた以外の特徴を抽出し、様々な観点から正規化一次選択画像どうしをより詳細に比較する。そして、演算部45は、正規化一次選択画像どうしの類似性に基づいて、元の対象画像どうしの類似性を判断する。
【0081】
以上のとおり、本変形例では、アフィン変換部44が、変換係数a
11,a
12,a
21,a
22に基づいて、対象アフィン変換の逆変換の変換係数を算出する。さらに、アフィン変換部44は、この逆変換の変換係数を用いて、スムージング画像に対し対象アフィン変換の逆変換を行うことにより、スムージング画像から対象アフィン変換による歪みが取り除かれた正規化されたスムージング画像を導出する。その結果、演算部45は、対象アフィン変換による歪み、すなわち、視点の移動による歪みが取り除かれた正規化されたスムージング画像に基づいて、精度よく画像認識及び/又は画像検索等の画像処理を実行することが可能になる。
【0082】
<3−3>
上記実施形態では、ステップS43〜S45において、スムージング画像どうしを比較することにより対象画像が比較されたが、スムージング画像ではなく対象画像に対しアフィン変換を施すことにより、対象画像どうしを直接比較してもよい。変形例3−2の場合も同様である。