【文献】
岩村 雅一 他,特徴点の配置に基づく画像検索手法の解析,電子情報通信学会論文誌 (J93−D),社団法人電子情報通信学会,2010年 4月 1日,第4号,p.494−p.501
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照して詳細に説明する。
〈画像処理装置を含む画像処理システム〉
図1は、本発明の実施形態に係る画像処理装置を含む画像処理システムの構成を示す図である。
この画像処理システムは、画像処理装置1と、それぞれが画像処理装置1に接続された撮像装置2、入力装置3、記録媒体4、および出力装置5を備えている。
【0011】
画像処理装置1は、例えば、PC(Personal Computer)であり、撮像装置2、または記録媒体4から入力される画像データを処理する。画像処理装置1における処理の詳細については後述する。
【0012】
撮像装置2は、例えばビデオカメラであり、対象物(オブジェクト)を撮像するように配置される。入力装置3は、例えば、キーボード、マウス等であり、ユーザが画像処理装置1に対して種々の指示を与えるための装置である。
【0013】
記録媒体4は、例えば、SDメモリカード、USB(登録商標)メモリ等であり、画像および当該画像を撮像した撮像装置に関するデータを記録するための媒体である。出力装置5は、例えば、液晶ディスプレイ等の表示装置であり、撮像装置2、または記録媒体4から入力される画像データ、また画像処理装置1により処理された画像データ等を必要に応じて出力する。
【0014】
画像処理装置1は、CPU11と、それぞれがCPU11に接続された入力部12、撮像装置制御部13、ROM14、RAM15、ストレージ16、および出力部17を備えている。
【0015】
CPU11は、画像処理装置1のコントローラとして機能する。また、後に詳述するように、CPU11は、RAM15をワークエリアとしてストレージ16に格納された画像処理プログラムを実行することで、実現される機能ブロックとして、輪郭抽出手段21、配列化手段22、分割手段23、距離算出手段24、量子化手段25、並べ替え手段26、比較手段27、および認識手段28を備えている。
【0016】
入力部12は、撮像装置2および記録媒体4からの画像データや入力装置3からの種々の指示(命令)を受けるためのインタフェースである。撮像装置制御部13は、撮像装置2の焦点距離、絞り、撮像方向等を制御する。
【0017】
ROM14は、CPU11が実行するプログラムや固定データを記憶するメモリであり、RAM15は、CPU11のワークエリアとなるメモリである。ストレージ16は、例えば、ハードディスク等の大容量記憶装置であり、撮像装置2で撮像され、CPU11で画像処理が施された画像データ、CPU11で生成されたデータ、その他のアプリケーションプログラムを格納する。出力部17は、出力装置5と通信を行うためのインタフェースであり、例えば、CPU11で処理された画像データを出力装置5に表示させる。
【0018】
次に上述した各機能ブロックの詳細について説明する。
輪郭抽出手段21は、入力された画像データから、対象物の輪郭(外形線)に対応する画素(輪郭画素)を抽出する。
【0019】
配列化手段22は、輪郭抽出手段21により抽出された輪郭画素を例えば一定数毎に選択(抽出)することにより外形点を生成し、さらに外形点の座標を輪郭に沿って配列化し、座標配列を生成する。ここでは、外形点の座標として、画像平面上の横軸をx、縦軸をyとしたxy直交座標とする。
【0020】
例えば外形点がP
0,P
1,P
2,・・・,P
n−2,P
n−1,P
nであり、それぞれの座標[x,y]が[x
0,y
0],[x
1,y
1],[x
2,y
2],・・・,[x
n−2,y
n−2],[x
n−1,y
n−1],[x
n,y
n]とすると、座標配列[XY]は下記の式〔1〕で表される。
【0021】
[XY]=[[x
0,y
0],[x
1,y
1],[x
2,y
2],・・・,[x
n−2,y
n−2],[x
n−1,y
n−1],[x
n,y
n]] …式〔1〕
【0022】
分割手段23は、配列化手段22から出力される座標配列を分割して、複数の部分座標配列を生成する。分割数は2以上の任意の整数にすることができる。ただし、各部分座標配列を構成する座標数を等しくするため、外形点数(=座標数)が分割数の整数倍になるように、外形点数、分割数を設定することが必要である。
【0023】
式〔1〕で表わされる座標配列[XY]を2個に分割した場合、部分座標配列[XY]
1,[XY]
2は、それぞれ下記の式〔2〕、〔3〕で表される。
【0024】
[XY]
1=[[x
0,y
0],[x
1,y
1],・・・,[x
(n−2)/2,y
(n−2]/2],[x
(n-1)/2,y
(n−1)/2]] …式〔2〕
【0025】
[XY]
2=[[x
n/2,y
n/2],[x
(n+1)/2,y
(n+1)/2],・・・,[x
n−1,y
n−1],[x
n,y
n]] …式〔3〕
【0026】
距離算出手段24は、分割手段23から出力される部分座標配列の間の対応する座標の間の距離を算出し、距離配列を生成する。ここで、対応する座標とは、部分座標配列における配列順位が同じ座標を意味する。式〔2〕、〔3〕で表わされる部分座標配列[XY]
1,[XY]
2の場合、距離配列は下記の式〔4〕で表される。
【0027】
距離配列=[√(x
n/2−x
0)
2+√(y
n/2−y
0)
2,√(x
(n+1)/2−x
1)
2+√(y
(n+1)/2−y
1)
2,・・・,√(x
n−1−x
(n−2)/2)
2+√(y
n−1−y
(n−2)/2)
2,√(x
n−x
(n−1)/2)
2+√(y
n−y
(n−1)/2)
2] …式〔4〕
【0028】
〈対象物の輪郭、外形点、座標配列、および距離算出の具体例〉
ここで、輪郭抽出手段21、配列化手段22、分割手段23、および距離算出手段24が実行する処理について具体例を挙げて説明する。
図2は、対象物の輪郭、外形点、座標配列、および座標間距離について説明するための図である。ここで、
図2A、
図2Bは、それぞれ対象物の輪郭を2分割、4分割した場合を示している。
【0029】
図2A、
図2Bに示すように、まず輪郭抽出手段21により、ほぼ楕円形の輪郭(外形線)100に対応する輪郭画像が抽出される。次に配列化手段22により、輪郭画素から外形点P
0,P
1,P
2,P
3,P
4,P
5,P
6,P
7が生成され、座標配列が生成される。ここで、P
0,P
1,P
2,P
3,P
4,P
5,P
6,P
7の座標を、それぞれ[x
k,y
k](k=0〜7)とすると、座標配列は式〔1〕にn=7を代入したものとなる。
【0030】
次に分割手段23により座標配列が分割される。
図2Aの場合、輪郭(外形線)100を1本の直線101で2分割したものとする。この場合、2つの分割座標配列は、それぞれ式〔2〕、〔3〕において、n=7を代入したものとなる。
【0031】
図2Bの場合、輪郭(外形線)100を2本の直線101、102で分割したものとする。この4つの分割座標配列は、それぞれ[[x
0,y
0],[x
1,y
1]]、[[x
2,y
2],[x
3,y
3]]、[[x
4,y
4],[x
5,y
5]]、[[x
6,y
6],[x
7,y
7]]で表される。
【0032】
次に距離算出手段24により、分割座標配列間の対応する座標間の距離が算出される。前述したように、対応する座標とは、部分座標配列における配列順位が同じ座標を意味するから、
図2Aの場合、P
0,P
1,P
2,P
3に対応する座標は、それぞれP
4,P
5,P
6,P
7である。したがって、距離算出手段24は、
図2Aにおいて、P
0とP
4とを結ぶ線分L
04、P
1とP
5とを結ぶ線分L
15、P
2とP
6とを結ぶ線分L
26、およびP
3とP
7とを結ぶ線分L
37の長さを算出し、これら4個の距離データからなる距離配列を生成する。
【0033】
図2Bの場合、P
0,P
2,P
4,P
6の座標が互いに対応し、P
1,P
3,P
5,P
7の座標が互いに対応する。したがって、距離算出手段24は、線分L
02、L
04、L
06、L
13、L
15、L
17、L
24、L
26、L
35、L
37、L
46、L
57の長さを算出し、これら12個の距離データからなる距離配列を生成する。
【0034】
ここで、距離配列を構成するデータの配列順について説明する。
図2Aの場合、式〔4〕に基づいて距離配列を生成すると、距離配列は[線分L
04の長さ、線分L
15の長さ、線分L
26の長さ、線分L
37の長さ]となる。しかし、距離配列を構成する座標間距離の配列の順番はこれに限定されるものではなく、任意でよい。ただし、後述するように、認識対象物の距離配列を構成する座標間距離の配列の順番と、比較対象の対象物を構成する座標間距離の配列の順番を揃えることが必要である。
【0035】
図3は、横軸を外形点の位置、縦軸を座標間距離としたグラフを示す図である。
図2Aの場合、横軸には原点側から順にP
0,P
1,P
2,P
3が配置され、各位置における距離の値が線分L
04の長さ、線分L
15の長さ、線分L
26の長さ、線分L
37の長さとなる。ただし、実際の画像処理では多数の外形点を生成する。外形点の最大数は輪郭画素の総数である。このグラフの形状(波形)は、対象物の形状およびサイズを表す情報を含むので、距離配列を対象物の形状およびサイズを表す特徴量(マッチング処理用データ)として採用することができる。
【0036】
〈形状が同じであり、向きが異なる対象物に対する処理〉
次に距離配列により形状が同じであり、サイズが異なる対象物を認識可能な理由について説明する。
【0037】
図4は、
図2に示す対象物と形状が同じであり、サイズが異なる対象物の輪郭、外形点、座標配列、および座標間距離について説明するための図である。ここで、
図4Aは
図2Aと同じであり、
図4Bは
図4Aに示す対象物と形状が同じであり、サイズが80%(4/5)の対象物の輪郭、外形点、座標配列、および座標間距離を示す図である。
【0038】
図4Bにおいて、輪郭(外形線)200は、
図4Aに示す輪郭(外形線)100と形状が同じであり、サイズが80%になっている。外形点P
a,P
b,P
c,P
d,P
e,P
f,P
g,P
hは、配列化手段22により生成された外形点である。座標配列は[[P
aのx座標,P
aのy座標],[P
bのx座標,P
bのy座標],・・・,[P
gのx座標,P
gのy座標],[P
hのx座標,P
hのy座標]]となる。
【0039】
分割手段23により、直線201を境界として、座標配列を2つに分割すると、2つの分割座標配列は、[[P
aのx座標,P
aのy座標],[P
bのx座標,P
bのy座標],[P
cのx座標,P
cのy座標],[P
dのx座標,P
dのy座標]]、および[[P
eのx座標,P
eのy座標],[P
fのx座標,P
fのy座標],[P
gのx座標,P
gのy座標],[P
hのx座標,P
hのy座標]]となる。そして、距離算出手段24により算出され、生成される距離配列は、[線分L
aeの長さ、線分L
bfの長さ、線分L
cgの長さ、線分L
dhの長さ]となる。
【0040】
ここで、外形点P
0,P
1,P
2,P
3,P
4,P
5,P
6,P
7の頂点を結ぶことで形成される多角形(八角形)と外形点P
a,P
b,P
c,P
d,P
e,P
f,P
g,P
hの頂点を結ぶことで形成される多角形(八角形)とが相似、すなわち形状が同じであり、サイズが異なる場合、線分L
aeの長さ、線分L
bfの長さ、線分L
cgの長さ、線分L
dhの長さは、それぞれ線分L
04の長さ、線分L
15の長さ、線分L
26の長さ、線分L
37の長さの80%となる。
【0041】
したがって、仮に[線分L
04の長さ、線分L
15の長さ、線分L
26の長さ、線分L
37の長さ]からなる距離配列のグラフが
図3であった場合、[線分L
aeの長さ、線分L
bfの長さ、線分L
cgの長さ、線分L
dhの長さ]からなる距離配列のグラフは、外形点P
a,P
b,P
c,P
dの横軸上の位置を外形点P
0,P
1,P
2,P
3横軸上の位置に合わせれば、縦軸の値(距離)は80%となる。画像処理装置1は、この性質を利用して、形状が同じであり、サイズが異なる対象物を認識することができる(詳細については、比較手段27および認識手段28に関する説明で後述する。)。
【0042】
図1の説明に戻る。量子化手段25は、比較対象物と形状は同じであり、サイズが異なる認識対象物を認識する際に、距離配列を構成する座標間距離の数を揃える処理を行う。
【0043】
前述したように、実際の画像処理では、最大で輪郭画素数の外形点が設定される。したがって、仮に
図4Aにおいて、輪郭画素数である100個の外形点が設定された場合、
図4Bでは、最大で80個の外形点しか設定されないことになる。
【0044】
そこで、量子化手段25は、サイズが異なる対象物を認識する際、認識対象物の距離配列を構成する座標間距離データの数と、比較対象物の距離配列を構成する座標間距離データの数とを比較し、小さい方の値に揃える処理を行う。
【0045】
〈形状および向きが同じであり、サイズが異なる文字の距離配列およびその比較〉
次に、形状が同じであり、サイズが異なる対象物としてのサイズの異なる文字を処理して生成した距離配列およびその比較について説明する。
【0046】
図5は、形状が同じであり、サイズが異なる文字の一例の画像を示す図であり、
図6は、
図5に示す文字の画像データを処理して生成した距離配列について説明するための図である。また、
図7は、
図6に示す距離配列の比較結果について説明するための図である。
【0047】
図5において、画像111内の文字「あ」のサイズに対して、画像112内、113内、114内、115内、116内、117内の文字「あ」のサイズは、それぞれ90%、80%、70%、60%、50%、40%である。
【0048】
図6において、横軸は外形点の位置を表し、縦軸は距離(座標間距離)を表している。また、グラフの特性i、ii、iii、iv、v、vi、viiは、それぞれ画像111、112、113、114、115、116、117内の文字の画像データに対して、輪郭抽出手段21、配列化手段22、分割手段23、距離算出手段24、および量子化手段25による処理を施して生成した距離配列をグラフ化したものである。ここで、分割手段23による分割数は2である。また、量子化手段25は、サイズが最小の文字である画像117内の文字の外形点数に揃えている。
【0049】
図6より、形状が同じであり、サイズが異なる対象物同士の距離配列の特性のグラフでは、極大値、極小値をとる外形点の位置が等しくなることが確認できた。
【0050】
図7において、特性ii/i、iii/i、iv/i、v/i、vi/i、vii/iは、それぞれ
図6におけるii、iii、iv、v、vi、viiの値をiの値で除算したものである。なお、各特性の折れ線の付近に存在する点列は、各特性の平均値である。
【0051】
図1の説明に戻る。
図7の特性を取得する処理は、比較手段27により実行される。さらに、比較手段27は、特性ii/i、iii/i、iv/i、v/i、vi/i、vii/iと水平線との近似度である分散値を算出する。この近似度は、画像111内の文字に対する、画像112内、113内、114内、115内、116内、117内の文字の近似度の指標となる。すなわち、分散値が小さい(水平線に近い)程、文字間の近似度が高いことになる。分散値の代わりに標準偏差値を用いてもよい。
【0052】
比較手段27で算出された近似度データは、認識手段28により対象物の認識の判定に使用される。すなわち、例えば、近似度が所定の閾値を超えていれば、認識対象の対象物が比較対象の対象物と同じ形状を有すると判定する。
【0053】
〈形状が同じであり、向きが異なる対象物に対する処理〉
以上、画像処理装置1によれば、形状が同じであり、サイズが異なる対象物を認識できることを説明したが、画像処理装置1は、サイズだけでなく向きが異なる対象物を認識することもできる。以下、この点について説明する。
【0054】
認識対象物の回転等の影響により、認識対象物の向きが比較対象物の向きと異なる場合、配列化手段22による外形点の座標の配列化の際に、同一の点から配列されることが保証されない。そこで、画像処理装置1では、並べ替え手段26により、距離配列の特徴点(座標間距離が特徴的な値(例えば最小値)となる点)を基点として、距離配列を並べ替える。そして、並べ替えの済んだ距離配列を比較手段27に出力する。
【0055】
図8は、距離配列の並べ替えについて説明するための図である。図において、特性iは
図6における特性iと同じであり、
図5における画像111内の文字の画像データを処理して生成した距離配列のグラフである。これに対して、特性xiは、画像111内の文字を回転させて向きを変えた文字の画像データから生成される距離配列のグラフである。
【0056】
特性xiの距離配列の原点と特性iの距離配列の原点と同じであるため、文字の形状が同じでも、向き(回転角度)の相違に応じて、グラフの形状が変化してしまう。そこで、特性xiのグラフの基点が原点になるように並べ替える。すなわち、特性xiのグラフのうち、基点の左側に位置する部分の左端が基点の右側に位置する部分の右端に接続されるように並べ替える。これにより、特性xiのグラフの形状を特性iのグラフの形状に一致させることができる。
【0057】
以上詳細に説明したように、本発明の実施形態に係る画像処理装置は下記(1)〜(3)の特徴を備えている。
(1)認識対象物の形状が同じであれば、サイズおよび向きが異なっていても認識することができる。
(2)外形点の数を加減することにより、認識の精度を調整することができる。
(3)距離配列のデータを蓄積することで、精度を向上させることができる。