【0007】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
本発明の第1の実施の形態に係る物体または形状を表現するための表現方法は、例えば、
図1に示すような画像処理装置によって実現される。
図1の画像処理装置は、制御部10と、メモリ20と、入出力部30と、画像情報取得部101と、輪郭抽出部102と、輪郭平滑化部103と、輪郭分割部104と、輪郭弧長計算部105と、輪郭曲率計算部106と、輪郭位置計算部107と、輪郭弧長・曲率・位置出力部108と、画像判定部109と、画像情報記憶部201と、輪郭弧長・曲率・位置情報記憶部202とを有している。
画像情報取得部101は、入出力部30を用いてユーザーが指定する写真などの画像情報(画像データ)を、画像情報記憶部201から取り出す。或いは、画像情報取得部101は、図示しない画像入力部、例えばスキャナ等、から画像情報を入手してもよい。画像情報取得部101は、画像情報を取得する際にその後の処理を容易にするための変換処理、例えば、カラー・白黒変換を行ってもよい。
図2に、画像情報取得部101によって取得される画像情報が表す画像の一例を示す。
図2の画像には、物体(犬)が一つだけ含まれている。
輪郭抽出部102は、画像情報取得部101によって取得された画像情報から画像中に含まれる物体の輪郭情報(輪郭線)を抽出する。輪郭情報の抽出は、例えば、ラプラシアン・ガウシアンフィルタなどを用いて、色相・彩度・明度などが急激に変化する点を抽出することにより行うことができる。もちろん、輪郭情報抽出方法は、上記方法に限られるものではない。抽出された物体の輪郭情報は、例えば、直交座標系を用いて(x,y)などのように表現される輪郭点の集まりとして表現される。輪郭抽出部102によって抽出された輪郭情報が示す輪郭線の一例を
図3に示す。
輪郭平滑化部103は、輪郭抽出部102によって抽出された輪郭線に対して段階的な多段階の平滑化を行う。この平滑化には、例えばガウシアンフィルタによる畳み込みなどを利用することができるが、それに限られない。平滑化は、まず、後の処理におけるノイズの影響を除去することを目的として行われ、続いて、段階的な(階層化された)複数の輪郭情報(平滑化輪郭線)を得るために行われる。後述するように、複数の段階的な輪郭情報のそれぞれについて、他の画像中の物体に関して求めた段階的な輪郭情報との類似度を求めることで、物品の形状の類似度をより高い精度で求めることができる。平滑化の度合い(平滑化レベル)は、平滑化回数や、後述する「変曲点」の数に基づいて決定する。変曲点の数を目安に多段階(階層的)に平滑化を行った例を
図4から
図6に示す。「変曲点」の数は、平滑化を繰り返すことにより減少し、やがてゼロに収束する(あらゆる閉曲面の輪郭は平滑化レベルがある程度以上になると凸図形となる)。
なお、この平滑化は、階層化を平滑化で行う場合は必要だが、その他の手法で階層化を行う場合は必ずしも行う必要はない。
輪郭分割部104は、輪郭平滑化部103により平滑化された各平滑化レベルの輪郭線を1つ以上の部分輪郭線に分割する分割手段として機能する。この分割は、平滑化輪郭線における曲がり具合に関して特徴的な点を分割点として行う。このような分割点を利用する結果、部分輪郭線は曲線となる。分割点が存在しない場合には、分割は行わない。この場合、分割後の分割輪郭線は、分割前の輪郭線全体に一致する。こうして、物体または形状の全体又は一部の輪郭形状はひとつまたは複数の曲線に分割される。
ここで、「曲がり具合」とは、ユークリッド曲率、ユークリッド曲率半径、アフィン曲率など、曲線の曲がりに関する特徴に基づいて定義される量であり、曲線が、直線に比較してどの程度歪んでいるかを記述する量である。これらの量のうち、どれを曲線の曲がり具合を定義する量として利用してもよいが、ここでは、ユークリッド曲率を利用するものとする。即ち、輪郭分割部104は、輪郭上のユークリッド曲率の変曲点を分割点として、輪郭線を分割する。
また、「変曲点」とは、輪郭線上で曲率の符号が変化する点を意味する。ユークリッド曲率の変曲点は、射影変換に対して不変であることから、幾何変換に対してロバストな点である。つまり、ユークリッド曲率の変曲点を分割点とすることにより、幾何変換に対してロバストな点を分割点とすることができる。
ここで、
図7を参照して、幾何変換について説明する。
図7において、「変換群」とは、各幾何変換を要素に持つ群である。
図7から理解されるように、ユークリッド幾何変換(回転を内包)とは、回転・平行移動を伴う変換である。また、アフィン幾何変換(相似変換を内包)とは、ユークリッド幾何変換に拡大縮小・せん断変換を加えたものである。さらに、射影変換とは、アフィン幾何変換に扇形変換を加えたものである。したがって、射影変換⊃アフィン幾何変換⊃ユークリッド幾何変換、の関係が成立しており、射影変換はこの中で最も広義の幾何変換である。ユークリッド曲率の変曲点は、射影幾何変換に対しての不変量であるため、最も広義の幾何変換においてロバストであるということができる。つまり、ユークリッド曲率の変曲点を分割点とすれば、その分割点は、幾何変換に対してロバストな分割点である。
次に、ユークリッド曲率の変曲点を分割点とする輪郭線の分割方法について説明する。
まず、任意の一点を始点として輪郭線を一周するように輪郭点の座標tを取る。各輪郭点において、以下の数式(1)で定義されるユークリッド曲率κ(t)を計算し、ユークリッド曲率の値がゼロとなる点を輪郭の分割点として抽出する。
前述のように、輪郭分割部104による輪郭線の分割を行う前に、その前処理として、ある程度の平滑化を行っておくことが望ましい。前処理として平滑化を行っておくことにより、ノイズの多い場合に局所的な曲がり具合に影響されずに輪郭線を分割することができる。また、輪郭線の分割は、複数の段階に平滑化された全ての平滑化レベルの平滑化輪郭線に対して行う。なお、輪郭線の長さが後の処理を行うのに十分でない場合は、その輪郭線全体を分割輪郭線とみなし、それ以上の分割を行わなくてもよい。
上記では、ユークリッド曲率の変曲点を用いた輪郭線の分割方法を示したが、輪郭の分割方法はこれに限らない。
輪郭弧長計算部105は、輪郭分割部104によって分割された分割輪郭線の各々の弧長を計算する。ここでの弧長は、ユークリッド弧長、アフィン弧長の何れであってもよいが、アフィン弧長を利用することが望ましい。アフィン弧長は、等積アフィン幾何変換(ユークリッド幾何変換を含む)に対しての不変量であり、幾何変換に対してよりロバストな量であるからである。アフィン弧長sは、以下の数式(2)によって定義される。
ここで、t
1及びt
2は、各分割輪郭線の始点及び終点の座標をそれぞれ表している。なお、始点及び終点は、分割輪郭線の形状によって決定できる点である。
輪郭曲率計算部106は、輪郭分割部104によって分割された分割輪郭線の各々の曲率を計算する。ここでの曲率は、ユークリッド曲率、アフィン曲率の何れであってもよいが、アフィン曲率を利用することが望ましい。アフィン曲率は等積のユークリッド幾何変換を含む等積アフィン幾何変換に対しての不変量であり、幾何変換に対してよりロバストな量であるからである。アフィン曲率κ
Aは、以下の数式(3)によって定義される。
二階微分及び三階微分をそれぞれ表す。
輪郭曲率計算部106によって計算される曲率情報は、分割輪郭線に含まれるすべての輪郭点についての曲率情報を、輪郭点数分の次元のベクトルとして定義してもよく、また、平均値や最大値・最小値などの値で代表させてもよい。分割輪郭線の弧長と曲率の両者を求める効果は、これらは共に等積アフィン変換に対しての不変量であるため、両者の比を取ることで、拡大縮小を伴うアフィン幾何変換に対しての不変量を提供できることである。なお、輪郭点は、分割輪郭線の形状によって決定できる点である。
輪郭弧長計算部105によって計算される弧長情報および輪郭曲率計算部106によって計算される曲率情報は、ともに、該当する分割輪郭線の曲がり具合を表現する特徴量(パラメータ)であり、これによって、輪郭の特徴がパラメータにより表現される。このように輪郭弧長計算部105及び輪郭曲率計算部106はそれぞれパラメータ算出手段として機能する。
輪郭位置計算部107は、輪郭分割部104によって分割された分割輪郭線の各々の位置(位置関係ともいう)を計算する。ここでの位置は、分割輪郭線の両端にある変曲点の座標を用いてもよく、また、分割輪郭線をなす各輪郭点座標を用いて計算される重心などの座標を用いてもよい。座標としては、直交座標系だけでなく、極座標系など様々な座標を用いることが可能である。極座標系を用いると、大きさを含む位置関係だけでなく、相対的な角度による位置関係を表現することも可能となる。
或いは、輪郭線に沿って時計回り又は反時計回りに順番に割り当てた番号を、位置に関する情報として採用してもよい。
さらに、分割輪郭線の位置に関する情報として、分割輪郭線の絶対的な位置や相対的な位置だけでなく、分割輪郭線の凸部が向く方位を含めてもよい。方位は、分割輪郭線に含まれる各点を楕円近似などで近似した際の長軸や短軸の向きとして記述できる。方位の記述方法は、楕円近似による方法に限定されることはなく、例えば、分割輪郭線の二つの端点の位置を結ぶ直線に垂直な向きとして記述する方法など、様々な手法が考えられる。また、こうして方位を定める手法以外にも、(全体の輪郭線に関して)単純な凹凸で記述する手法も考えられる。
輪郭位置計算部107による位置計算は、一の物体に関する分割輪郭線相互の位置関係を求めるためにも利用できる。また、一の画像に含まれる複数の輪郭線の相互位置関係を求めるためにも利用できる。複数の輪郭線の位置関係を見ることで、より正確な物体の認識が可能になり、また、輪郭線が物体の一部分を表している場合でもその物体を認識することが可能になる。さらに、一の物体について複数の輪郭線が抽出されるような場合にも有効である。
輪郭弧長・曲率・位置出力部108は、輪郭弧長計算部105、輪郭曲率計算部106及び輪郭位置計算部107によってそれぞれ計算された弧長情報、曲率情報及び位置情報を、各分割輪郭線の特徴量を表す情報として輪郭弧長・曲率・位置情報記憶部202に出力する。輪郭弧長・曲率・位置出力部108より出力される情報の一例を
図8に示す。
図8において、画像識別子F1が付与された輪郭線は、平滑化によって変曲点数がN1となったものであり、3つの分割輪郭線C1〜C3に分割されている。分割輪郭線C1は、弧長S1、曲率K1、X座標X1、Y座標Y1及び方位D1を有している。分割輪郭線C2及びC3についても同様である。
画像判定部109は、輪郭弧長・曲率・位置情報記憶部202に格納されている情報(特徴量)に基づいて、2つの物体(画像)間の一致又は類似を判定する。この判定は、一の物体に最も類似する物体を検索するために利用することができる。また、一の物体を複数のグループのいずれかに分類するために、各グループを代表する物体と比較するために利用することができる。いずれにしても、画像判定部は、一の物体に関する情報と、それとは異なる比較用物体の情報とを、輪郭弧長・曲率・位置情報記憶部202から取り出して比較し、一致/不一致(類似/非類似)を判定する。
画像判定部109による判定は、弧長、曲率、位置及び方位に関する情報の全部又は一部を互いに比較することにより行われる。各情報が示す値又はそれら情報から求められた値の差(パラメータの距離)が予め定めた閾値を下回る場合に、「一致(類似)する」と判定し、そうでなければ「一致(類似)しない」と判定する。
図9A,
図9B,
図10A及び
図10Bを参照して、2つの輪郭線の類似/非類似を判定する方法について具体的に説明する。ここでは2つの輪郭線として、互いに異なるフォントの数字“5”を表す2つの輪郭線を例示する。
図9A及び
図9Bは、互いに異なるフォントの数字“5”の輪郭線と、その輪郭線上の変曲点を示している。これらの輪郭線をそれぞれ複数の分割輪郭線に分割し、各分割輪郭線から弧長情報と曲率情報を得る。そして、得られた弧長情報と曲率情報をプロファイル化し、
図10A及び
図10Bにそれぞれ示すようなプロファイルを得る。
図10A及び
図10Bにおいて、横軸は分割輪郭線の弧長を累積した長さ、縦軸は各分割輪郭線に対応する曲率である。
以上のようにして得られた2つの輪郭線についてのプロファイルの差を求める。その差は、例えば、弧長の累積した長さが互いに等しいときの曲率の差を、全弧長の累積した長さについて求めて合計した結果として得ることができる。こうして得られた差を、予め設定した閾値と比較することにより、2つの輪郭線の類似/非類似を判定する。
なお、上記例では、判定の対象となる2つの輪郭線がそれぞれ一つの物体の全体を表わしている場合について説明したが、判定の対象となる2つの輪郭線の少なくとも一方が、一つの物体の一部分を表している場合であっても、判定は可能である。これは、本実施の形態では、輪郭分割部104によって輪郭線を1以上の部分輪郭線に分割し、その部分輪郭線それぞれについて、弧長・曲率・位置及び方位に関する情報を求めるようにしたためである。したがって、本実施に形態によれば、遮蔽された物体または形状についても判定を行うことが可能である。
また、上記例では、複数の分割輪郭線の全てについての弧長情報と曲率情報を用いて類似/非類似の判定を行う例について説明したが、複数の分割輪郭線のうちの一部についての弧長情報と曲率情報とを用いて類似/非類似の判定を行うようにしてもよい。その場合、例えば、比較する2つの輪郭線に関して、弧長の長いものから順番に所定数の分割輪郭線を選択し、同一順番の分割輪郭線の曲率の差を求める。そして、求めた曲率の差に、弧長の長さの順番に応じた重み付けを行い、重み付けされた曲率の差を合計する。こうして得られた合計に基づいて、2つの輪郭線の類似/非類似の判定を行う。この方法によれば、全ての情報を用いる必要がないので、計算量を低減でき、高速処理が可能になる。
上述した判定は、平滑化レベルごとに行われる。上述したように、各物体の輪郭線は、複数平滑化レベルに平滑化されており、各平滑化レベルの平滑化輪郭線についてそれぞれ特徴量が求められる。平滑化レベルの最も高いものから最も低いものまで、各レベル毎に特徴量を比較することにより物品の形状の類似度を求める。
平滑化レベルが高くなると、全ての図形(輪郭線)は凸図形に収束する。このため、平滑化レベルが高くなるに従い、2つの物体の形状は「一致(類似)する」と判定される可能性が高くなる。したがって、どの平滑化レベルで「一致(類似)する」と判定されたかによって、2つの物体の形状の類似度を表すことができる。例えば、同一の物体の輪郭線は、全ての平滑化レベルで「一致(類似)する」と判定される。また、よく似た物体の輪郭線は、平滑化レベルが比較的低い段階から「一致(類似)する」と判定される。また、ある程度似ている物体の形状は、平滑化レベルが高くなると「一致(類似)する」と判定される。そして、全く似ていない物体の形状は、平滑化レベルが高くなっても「一致(類似)しない」と判定される。このようにして、多段階の平滑化レベルを採用することによって、どの画像がどの画像と、どの程度「類似」しているかが判定できるようになる。
図11に、2種類のフォントA,Bの数字“4”、“7”及び“3”をそれぞれ多段階のレベルに平滑化処理した例を示す。平滑化レベルは6段階であって、図の左側から右側に向かうほど平滑化レベルは高くなっている。
各数字の類似/非類似の判定結果は、使用される特徴量及び設定される閾値等によって異なる場合もあり得るが、例えば、以下のような判定結果となる。
平滑化レベル5及び6(図の右から1列目及び2列目)では、全ての数字が「類似」と判定される。
平滑化レベル4(図の右から3列目)では、数字“4”と数字“7”及び“3”とが、「非類似」と判定される。
平滑化レベル3(図の左から3列目)では、数字“7”と数字“3”とが、「非類似」と判定される。
平滑化レベル1(図の左から1列目)では、フォントAの数字“4”とフォントBの数字“4”、及びフォントAの数字“3”とフォントBの数字“3”が、それぞれ「非類似」と判定される。
以上の結果、類似度を平滑化レベル1〜6で表すものとすると、フォントAの数字“7”とフォントBの数字“7”の類似度は「1」、フォントAの数字“4”とフォントBの数字“4”及びフォントAの数字“3”とフォントBの数字“3”の類似度はそれぞれ「2」となる。また、フォントに関わらず、数字“7”と数字“3”の類似度は「4」となり、数字“4”と数字“7”又は“3”の類似度は「5」となる。
以上のようにして、画像判定部109は、2つの輪郭線の類似/非類似を、平滑化レベルごとに行うことで、それらの輪郭線がどの程度似ているかを表す類似度を求めることができる。
なお、画像判定部109による類似度の判定は、必ずしも平滑化を用いて行う必要はない。例えば、弧長の長い部分輪郭や、ある図形に特有の部分輪郭から多段階に比較していくなどの手法によっても、これを代用できる。
次に、
図1の画像処理装置の動作例について説明する。
図12は、
図1の画像処理装置の動作の例を示すフローチャートである。図示のように、まず、画像処理装置の画像情報取得部101は、ユーザーが指定する画像情報を取得する(ステップS1001)。画像情報の取得は、ユーザーの指定に限らず、自動的に取得するようにしてもよい。例えば、センサー等の検出結果に応じて撮像手段からの画像を取得する。
次に、指定されたすべての画像情報を取得したかどうかを確認する(ステップS1002)。指定されたすべての画像情報の取得が完了していない場合(ステップS1002でNO)、指定されたすべての画像情報を取得するまでステップS1001及びS1002を繰り返す。指定されたすべての画像情報を取得すると(ステップS1002でYES)、画像情報取得部101は、取得した画像情報を輪郭抽出部102へ送る。
輪郭抽出部102は、画像情報取得部101から送られてきた画像情報に基づき、画像に含まれる輪郭情報を抽出する(ステップS1003)。輪郭情報の抽出は、閾値以上の長さの輪郭線など、予めユーザーが設定する等した所定の基準を満たすもののみについて行うことができる。輪郭抽出部102が抽出した輪郭情報は、輪郭平滑化部103へ送られる。
次に、輪郭平滑化部103は、輪郭抽出部102からの輪郭情報に基づいて、輪郭線の平滑化を行う(ステップS1004)。変曲点の数を検出し(ステップS1005)、変曲点の数が予め設定された数(ある平滑化段階に対応)に減少したか否か判定する(ステップS1006)。平滑化は、変曲点の数が予め設定された数に一致(減少)するまで繰り返される。複数段階の平滑化を行うため、ステップS1006で使用される予め設定された数は、平滑化レベルに応じて異なる値とする。
輪郭分割部104は、ある段階に平滑化された輪郭線を1つ以上の分割輪郭線に分割する(ステップS1007)。この分割は、平滑化輪郭線の曲がり具合に関して特徴的な点を分割点として行う。
輪郭分割部104で分割された分割輪郭線の各々について、輪郭弧長計算部105は、弧長を計算し(ステップS1008)、輪郭曲率計算部106は、曲率を計算し(ステップS1009)、輪郭位置計算部107は、位置を計算する(ステップS1010)。
輪郭弧長・曲率・位置出力部108は、ステップS1005からS1007で計算された弧長・曲率・位置情報を輪郭弧長・曲率・位置情報記憶部202へ出力し格納させる(ステップS1011)。
その後、又はステップS1007〜S1011に並行して、輪郭平滑化部103は、変曲点の数がゼロまたはあらかじめ指定された個数以下になったか否か判定する(ステップS1012)。即ち、複数段階の全てについて平滑化輪郭線が得られたか否か判定する。全ての平滑化レベルの平滑化輪郭線が得られていない場合には、ステップS1004に戻り、その後の処理を繰り返す。
次に、輪郭抽出部102は、画像情報取得部101からの画像情報に含まれる輪郭線の全てを抽出したか否か判定する(ステップS1013)。これは、複数の輪郭線が存在する場合、特に一つの物体が複数の輪郭線を持つ場合(複数のパーツからなる場合)、のための処理である。抽出されていない輪郭線が存在する場合には、ステップS1003〜S1013を繰り返す。
ステップS1013においてYESと判定されると、画像判定部109は、輪郭弧長・曲率・位置情報記憶部202に格納されている情報に基づいて、ある画像が、他の1つ以上の画像と相互に類似するか否か判定を行う。この判定は、平滑化レベルごとに行われる。
例えば、ある画像(検索キー画像)に最も似ている画像を複数の画像(検索対象画像)の中から検索する場合、輪郭弧長・曲率・位置情報記憶部202に格納されている検索キー画像に関する情報と、検索対象画像に関する情報とを比較する。
まず、それぞれの画像について平滑化の度合いの最も低い(最上位の階層の)輪郭線から得た情報同士を比較する(ステップS1014)。一致(又は類似)する情報が存在する場合(ステップS1015でYES)、その情報に対応するが検索画像を類似画像として出力する(ステップS1017)。
一致(又は類似)する情報が存在しない場合(ステップS1015でNO)、一段階平滑化レベルを高めた(一段下の階層の)輪郭線から得た情報同士を比較する(ステップS1016)。一致(又は類似)する情報が存在する場合(ステップS1015でYES)、その情報に対応するが検索画像を類似画像として出力する(ステップS1017)。一致(又は類似)する情報が存在しない場合(ステップS1015でNO)、さらに一段平滑化レベルを高めた輪郭線から得た情報同士を比較する。以降、一致(又は類似)する情報が存在すると判定されるまで、又は、最も度合いの高い平滑化レベルについて判定を終えるまで、ステップS1015〜S1016が繰り返される。
なお、ここでは、最も類似する画像を出力する場合について説明したが、検索結果を類似度として出力するようにしてもよい。この場合、検索対象画像として、複数種類のグループの代表画像(判断基準画像)を用意しておくことで、検索キー画像がどのグループに属し、どの程度似ているかを、出力結果とすることができる。
以上のように、本実施の形態によれば、複数段階に平滑化した複数の平滑化輪郭線のそれぞれを一つ以上の曲線に分割し、分割された各曲線を曲がり具合と位置関係とを含むパラメータで表現し、平滑化レベルごとにパラメータ(特徴量)を比較するようにしたことで、2つの画像の類似度を適切に評価することができる。
また、複数の分割輪郭線をそれぞれパラメータで表現する(分割輪郭線ごとに特徴量を求める)ようにしたことで、遮蔽に対してロバストな画像認識を行うことができる。
さらに、分割点と、特徴量を適切に選択することで、幾何変換に対してロバストな画像認識を行うことができる。
次に、本発明の第2の実施の形態に係る物体または形状を表現するための表現方法の実現に用いられる画像処理装置について、図面を参照して詳細に説明する。
図13は、本発明の第2の実施の形態に係る物体または形状を表現するための表現方法を実現に用いられる画像処理装置の構成を示すブロックである。
図1の画像処理装置との相違は、輪郭曲率計算部106に代えて輪郭占有面積計算部111を、輪郭弧長・曲率・位置出力部108に代えて輪郭弧長・占有面積・位置出力部112を、それぞれ有している点である。また、これらの変更に伴い、輪郭弧長・曲率・位置記憶部202は、輪郭弧長・占有面積・位置情報記憶部203に名称変更されている。さらに、同一名称であっても、上記変更に対応するため、
図1の画像処理装置とは異なる機能を有する要素も存在する。以下、
図1の画像処理装置と異なる点ついて説明する。
輪郭占有面積計算部111は、輪郭分割部104によって分割された分割輪郭線のそれぞれについて特徴的な面積(輪郭占有面積ともいう)を計算する。第1の実施の形態において用いたアフィン曲率は、値の変動が激しく扱いが難しい。これに対して輪郭占有面積は、変動幅が限定的で扱いやすく、物体または形状の認識が容易となる。
ここで、特徴的な面積とは、例えば、
図14に示すように各分割輪郭線20001に依存して定まる面積である。つまり、各分割輪郭線の形状によって決定できる点を用いて計算される面積である。詳述すると、分割輪郭線20001の両端点20002及び20003と、分割輪郭線20001のアフィン弧長で表現された輪郭弧長を等分(ここでは、3等分)する点20004及び20005の4点を結ぶ四角形の面積を、特徴的な面積とすることができる。分割輪郭線20001の両端点20002及び20003を結ぶ直線と分割輪郭線20001とで囲まれた領域の面積を、特徴的な面積とすることもできる。しかしながら、四点20002〜20005で囲まれた領域の面積を用いる方が望ましい。これら四点は、射影変換に対して不変量である端点と、アフィン変換に対して不変量となるアフィン弧長を3等分する二点なので、これら四点に囲まれた面積は、等積アフィン変換に対して不変量となり、幾何変換に対してロバストな量となるためである。なお、アフィン弧長で表現された輪郭弧長の分割数は、2以上(2等分以上)であればよい。分割数が2の場合、輪郭占有面積計算部111は、分割輪郭線20001の両端点20002及び20003と、一つの分割点を結ぶ三角形の面積を輪郭占有面積として求める。
各分割輪郭線について輪郭占有面積を求めることにより、分割輪郭線が2個以上あれば、それぞれの相対関係を求めることが可能となり、第1の実施の形態よりもより部分的な形状しか検出できない場合の認識に有効となる。
輪郭弧長と輪郭占有面積は、共に等積アフィン変換に対しての不変量であるため、両者の比を取ることで、拡大縮小を伴うアフィン幾何変換に対しての不変量を提供することができる。
輪郭弧長・占有面積・位置出力部112は、輪郭弧長計算部105、輪郭占有面積計算部111、輪郭位置計算部107によってそれぞれ計算された弧長情報・占有面積情報・位置情報を、輪郭弧長・占有面積・位置情報記憶部203に出力する。輪郭弧長・占有面積・位置出力部112によって出力される情報は、輪郭弧長・曲率・位置出力部108によって出力される情報(
図8)と同様である。ただし、曲率情報に代わって占有面積情報が含まれる。
なお、輪郭位置計算部107は、第1の実施の形態とは異なり、輪郭占有面積計算部111による占有面積の導出手法と同様の手法で、輪郭位置を計算するようにしてもよい。この手法を採用することによって、アフィン幾何変換に対して不変に位置関係を記述することが可能となる。
また、位置関係から計算される不変量を特徴量に加えてもよい。位置関係から計算される不変量とは、例えば、輪郭分割部104によって計算された各分割点(変曲点)のうち、代表的な四点を抽出し、その四点に囲まれる面積である。この量は、等積アフィン幾何変換に対しての不変量を提供する。さらに、この四点の対角線で分断される二つの三角形の面積の比を取ることによって、拡大縮小を伴うアフィン幾何変換に対しての不変量が得られる。
次に、
図15を参照し、
図13に示す画像処理装置の動作について説明する。
図12と異なる点は、ステップS1009に代えて、輪郭占有面積計算部111が占有面積を計算する点(ステップS1101)である。これに伴い、ステップS1011も、輪郭弧長・占有面積・位置出力部112が、ステップS1008、S1101及びS1010で計算された弧長・占有面積・位置情報を出力するステップS1102に変更されている。
本実施の形態によれば、アフィン曲率に変えて輪郭占有面積を用いたことで、第1の実施の形態による効果に加え、求めた特徴量が扱いやすく、物体または形状の認識を容易に行うことができる。
次に、本発明の第3の実施の形態に係る物体または形状を表現するための表現方法を実現に用いられる画像処理装置について、図面を参照して詳細に説明する。
図16は、本発明の第3の実施の形態に係る物体または形状を表現するための表現方法の実現に用いられる画像処理装置の構成を示すブロックである。
図1の画像処理装置との相違は、変曲点抽出部121、輪郭方位計算部122、座標変換部124を新たに加えた他、輪郭弧長・曲率・位置出力部108に代えて輪郭弧長・曲率・位置・方位出力部123を有している点である。さらに、同一名称であっても、上記変更に対応するため、
図1の画像処理装置とは異なる機能を有する要素も存在する。以下、
図1の画像処理装置と異なる点について説明する。
変曲点抽出部121は、第1の実施の形態における輪郭分割部104と同様の方法で輪郭上の変曲点を抽出する。ここで、変曲点が観測されない場合、抽出される変曲点の個数はゼロである。
輪郭分割部104は、第1の実施の形態における輪郭分割部104において、変曲点を輪郭分割点としていた方法とは異なり、変曲点間の領域(輪郭セグメントとする)をさらに分割する(輪郭サブセグメントとする)。輪郭セグメントを分割する方法は、例えば、一つの輪郭セグメント内の輪郭サブセグメントの個数が等しくなるようにし、一つの輪郭セグメント内での輪郭サブセグメントは、弧長が等しくなるように分割する。この、輪郭サブセグメントを生成する方法は、本手法のみに限らず、如何なる手法を用いてもよい。これに伴い、輪郭弧長計算部105以降の装置は、前記輪郭サブセグメントそれぞれに対して処理を行うものとする。
輪郭方位計算部122は、第1の実施の形態に対して、新たに加えられた処理部である。第1の実施の形態では、輪郭位置計算部107が方位を計算する場合があったが、第3の実施の形態では、輪郭方位計算部122がこれを行う。これに伴って、輪郭位置計算部107は、方位情報とは異なる位置を計算する。例えば、直交座標系を用い、画像内での二次元位置を特定するように位置を計算することができる。輪郭方位計算部122の追加に伴い、輪郭弧長・曲率・位置出力部108は、輪郭弧長・曲率・位置情報に加え、新たに方位をも出力する輪郭弧長・曲率・位置・方位出力部123に変更され、同様に、輪郭弧長・曲率・位置情報記憶部202は、輪郭弧長・曲率・位置・方位情報記憶部204に変更されている。
座標変換部124は、画像情報取得部101において取得された画像の座標を、画像情報記憶部201に含まれる画像のそれぞれに対応するように、適切に変換する。また、座標変換部124は、輪郭弧長・曲率・位置・方位出力部123から出力された輪郭弧長・曲率・位置・方位情報についても座標変換する。座標変換は、画像情報取得部101において取得された画像に関して出力された輪郭弧長・曲率・位置・方位情報が、画像情報記憶部201に含まれるそれぞれの画像に対応する輪郭弧長・曲率・位置・方位情報のそれぞれと、最も近似するように行われる。座標変換には、例えば二次元の直交座標系における並進、回転、拡大縮小、アフィン幾何変換、射影幾何変換などの線形変換を用いることができる。座標変換に用いる変換手段は線形変換・非線形変換を問わず、如何なる変換手段を用いてもよい。
次に、
図17を参照し、
図16に示す画像処理装置の動作について説明する。
図12と異なる点は、ステップS1010の後に、輪郭方位計算部122が、輪郭方位を計算する点(S1201)である。これに伴い、ステップS1011も、輪郭弧長・曲率・位置・方位出力部123が、ステップS1008、S1009、S1010、S1201で計算された弧長・曲率・位置・方位情報を出力するステップS1202に変更されている。さらに、
図17では、ステップS1007において分割された部分輪郭は前記サブセグメントに対応する。また、ステップS1014における画像の探索は、座標変換部124における座標変換処理を伴う。
本実施の形態によれば、輪郭をセグメントおよびサブセグメントの二段階で分割したこと、並びに座標変換を用いたことで、第1の実施の形態による効果に加え、以下の効果が期待できる。
まず、セグメントは、二つの画像の対応点を高速に探索するのに寄与する。
次に、サブセグメントは、セグメント内(変曲点間)の局所的な輪郭の特徴を詳細に記述できる。
最後に、座標変換は、画像の歪みに関わらずロバストな画像認識を行うのに寄与する。
以上、本発明についていくつかの実施の形態に即して説明したが、本発明は上記実施の形態に限定されるものでなく、本発明の範囲を逸脱しない限りにおいて、種々の変更、変形が可能である。
例えば、上記実施の形態では、輪郭弧長計算部105と輪郭曲率計算部106または輪郭占有面積計算部111との組み合わせを例示したが、これら組合せに代えて、輪郭曲率計算部106と輪郭占有面積計算部111との組合せを用いることもできる。さらに、輪郭方位計算部122を組み合わせてもよい。これらの場合、他の関連する構成要素は、その組合せに応じて、適宜変更される。
また、上記実施の形態では、画像処理を専門に行う画像処理装置について説明したが、通常の計算機(コンピュータ)に上記処理を行うプログラムを実行させることにより、画像処理装置として動作させるようにしてもよい。即ち、本発明は、計算機に上述した画像処置方法を実行させるプラグラムとして提供され得る。あるいは、当該プログラムが記録されたコンピュータ読み取り可能な一時的でない情報記録媒体として提供され得る。通常の計算機を用いて、例えば、
図1の画像処理装置として動作させる場合、計算機は、少なくとも制御部10、メモリ20及び入出力部30を有していればよい。メモリ20が、プログラムを格納するとともに、画像情報記憶部201と輪郭弧長・曲率・位置情報記憶部202を兼ねる。また、制御部10が、プログラムを実行することにより、画像情報取得部101〜画像判定部109を兼ねる。必要により、情報記録媒体からプログラムを読み取り、読み取ったプログラムをメモリ20等へ送る読取装置が設けられる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)画像データを処理することによって、前記画像データが表す画像に含まれる物体の輪郭線を特定し、前記輪郭線を段階的に平滑化して複数段階の平滑化輪郭線を得、前記複数段階の平滑化輪郭線の各々について特徴量を求め、求めた各段階の平滑化輪郭線についての特徴量と、予め比較用物体に関して求めておいた各段階に対応する特徴量とに基づいて、前記物体と前記比較用物体との類似度を求める、ことを特徴とする画像処理方法。
(付記2)前記特徴量を求める工程は、前記複数段階の平滑化輪郭線のそれぞれを1以上の部分輪郭線に分割し、前記分割輪郭線のそれぞれについて特徴量を求める、ことを特徴とする付記1に記載の画像処理方法。
(付記3)前記特徴量が、各部分輪郭線の位置と曲がり具合に関する情報を含むことを特徴とする付記2に記載の画像処理方法。
(付記4)前記曲がり具合に関する情報は、前記部分輪郭線上に存在する複数の点又は前記部分輪郭線の形状に依存して定まる複数の点を結ぶ直線に囲まれた領域の面積であることを特徴とする付記3に記載の画像処理方法。
(付記5)前記曲がり具合に関する情報は、前記部分輪郭線上に存在する複数の点又は前記部分輪郭線の形状に依存して定まる複数の点を結ぶ直線に囲まれた領域の面積、前記部分輪郭線の弧長、及び前記部分輪郭線の曲率のうち、いずれか2つ以上の組み合わせであることを特徴とする付記3に記載の画像処理方法。
(付記6)前記曲線の曲がり具合に関する情報は、前記曲線の弧長及び曲率の二つにより表されることを特徴とする付記5に記載の画像処理方法。
(付記7)前記弧長及び前記曲率は、それぞれアフィン弧長及びアフィン曲率であることを特徴とする付記6に記載の画像処理方法。
(付記8)前記部分輪郭線上に存在する複数の点及び前記部分輪郭線の形状に依存して定まる複数の点は、アフィン幾何変換に対して不変位置にあることを特徴とする付記4乃至7のいずれかに記載の画像処理方法。
(付記9)前記部分輪郭線への分割を行う分割点は、前記輪郭線上の曲率の符号が変化する変曲点を含むことを特徴とする付記2乃至8のいずれか記載の画像処理方法。
(付記10)前記部分輪郭線への分割を行う方法は、前記輪郭線上の曲率の符号が変化する変曲点をもとに大域的に分割し、さらに、変曲点の間の領域を局所的に分割することによる、二段階の分割方法を用いることを特徴とする付記2乃至付記9の何れかに記載の画像処理方法。
(付記11)前記面積は、前記部分輪郭線の両側の端点と、当該部分輪郭線をアフィン弧長に基づいて複数に分割したときの分割点とによって定まる領域の面積であることを特徴とする付記4乃至5のいずれかに記載の画像処理方法。
(付記12)前記部分輪郭線の位置に関する情報は、アフィン幾何変換に対して不変な量であることを特徴とする付記3乃至11のいずれかに記載の画像処理方法。
(付記13)前記部分輪郭線の位置に関する情報は、前記輪郭線に沿って順番に付与される番号、又は座標であることを特徴とする付記3乃至12のいずれかに記載の画像処理方法。
(付記14)前記特徴量は、さらに各部分輪郭線の方位に関する情報を含むことを特徴とする付記1乃至13のいずれかに記載の画像処理方法。
(付記15)付記1乃至14のいずれかに記載の画像処理方法を実行する画像処理装置。
(付記16)付記1乃至15のいずれかに記載の画像処理方法を計算機に実行させるプログラム。