【文献】
Huahua Chen,“Chinese Coin Recognition Based on Unwrapped Image and Rotation Invariant Template Matching”,2010 Third International Conference on Intelligent Networks and Intelligent Systems,IEEE,2010年,p.5-7
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は、原則として省略する。
【0017】
(実施の形態)
<半導体装置の全体構成>
図1は、実施の形態に係わるコイン識別装置の構成を示すブロック図である。同図において、1010は、コイン識別装置を示している。この実施の形態において、コイン識別装置1010は、一点鎖線で囲んだ画像処理装置1000、カメラ1006、VGAモニター1007および入出力装置I/Oを備えている。カメラ1006は、識別すべきコインを撮影し、撮影した画像を、画像処理装置1000へ供給する。VGAモニター1007は、例えば画像処理装置1000から画像が供給され、供給された画像に応じた表示を行う。また、入出力装置I/Oは、例えばSDカードと画像処理装置1000との間でデータの送受信を行うインターフェース部、画像処理装置1000とLAN等の通信回線との間でデータの送受信を行うインターフェース部を備えている。これらのインターフェース部によって、画像処理装置1000は、外部との間でデータ(プログラムを含む)の送受信を行う。
【0018】
画像処理装置1000は、特に制限されないがプリント基板(図示しない)と、このプリント基板に実装され、相互に接続された複数の半導体装置および複数の電子部品を備えている。
図1には、画像処理装置1000が備える半導体装置および電子部品のうち、説明の都合上必要なものだけが描かれている。
【0019】
図1において、1001は揮発性メモリ(以下、単にメモリとも称する)を示し、1002は不揮発性メモリを示し、1003は画像入力バッファを示し、1004は画像出力バッファを示し、1005は入出力ユニットを示している。また、
図1において、破線で囲んだCHPは、半導体装置を示している。半導体装置CHPは、複数の回路モジュールが、特に制限されないが、周知の半導体製造技術によって、1個の半導体チップに形成されている。
図1には、半導体チップに形成された複数の回路モジュールのうち、説明の都合上必要な回路モジュールのみが描かれている。
図1には、半導体装置CHPが備える回路モジュールとして、CPU、IDM、IMP、およびDMのみが描かれている。ここで、CPUは、中央処理モジュール(以下、プロセッサーとも称する)を示しており、IDMは、画像入力モジュールを示し、IMPは、画像処理モジュールを示し、IMRは、歪補正モジュールを示し、DMは、映像表示モジュールを示している。
【0020】
図1において、BSはバスを示している。プロセッサーCPU、画像入力モジュールIDM、映像表示モジュールDM、画像処理モジュールIMP、歪補正モジュールIMR、メモリ1001、不揮発性メモリ1002および入出力ユニット1005は、バスBSに接続され、バスBSを介して、相互間でデータの送受信が行われる。また、カメラ1006によって撮影されたコインの画像(模様)は、画像入力バッファ1003を介して、画像入力モジュールIDMへ供給され、バスBSにおける画像データは、映像表示モジュールDMを介して、画像出力バッファ1004へ供給される。
【0021】
不揮発性メモリ1002は、特に制限されないが、フラッシュメモリによって構成されており、予めプロセッサーCPUによって実行されるプログラムが格納されている。不揮発性メモリ1002に格納されているプログラムとしては、コインを識別する識別プログラムを含む複数種類のプログラムが含まれている。プロセッサーCPUは、バスBSを介して、不揮発性メモリ1002からプログラムを読み出して、読み出したプログラムに従って、半導体装置CHPに含まれている複数の回路モジュール、メモリ1001、映像表示モジュールDMおよび入出力ユニット1005を制御する。
【0022】
実施の形態においては、不揮発性メモリ1002に格納されているコインを識別する識別プログラムを、プロセッサーCPUが読み出し、プロセッサーCPUが、識別プログラムを実行することにより、コイン識別装置1010によってコインの識別を行う識別方法が実行される場合を説明する。プロセッサーCPUは、識別プログラムを実行する過程で、識別プログラムに従って、画像入力モジュールIDM、画像処理モジュールIMP、歪補正モジュールIMRおよびメモリ1001等を制御することになる。
【0023】
この実施の形態に係わる識別方法は、テンプレート画像を登録するテンプレート登録工程と、時間的に連続的にコイン識別装置1010へ投入された複数のコインのそれぞれの画像と、登録されたテンプレート画像とを比較することにより、投入されたコインの画像がテンプレート画像と一致するか否かを識別するサーチ工程とを備えている。ここで、テンプレート画像は、投入されるコインに対して、基準となるコインの入力画像を指している。
【0024】
テンプレート登録工程では、カメラ1006によって撮影された基準のコインの画像が、画像入力バッファ1003を介して、画像入力モジュールIDMに供給される。画像入力モジュールIDMは、供給された画像をテンプレート画像として、バスBSを介してメモリ1001へ格納するように、プロセッサーCPUによって制御される。一方、サーチ工程では、投入されたコインがカメラ1006によって撮影され、撮影された画像が、画像入力バッファ1003を介して、画像入力モジュールIDMに供給される。画像入力モジュールIDMは、供給された画像を入力画像として、バスBSを介してメモリ1001へ格納するように、プロセッサーCPUによって制御される。
【0025】
後で詳しく説明するが、画像処理モジュールIMPは、メモリ1001に格納されたテンプレート画像を、バスBSを介して読み出し、所定の画像処理を実行して、基準となるコインの中心点を算出する画像処理を行うように、プロセッサーCPUによって制御される。同様に、画像処理モジュールIMPは、メモリ1001に格納された入力画像を、バスBSを介して読み出し、所定の画像処理を実行して、投入されたコインの中心点を算出する画像処理を行うように、プロセッサーCPUによって制御される。
【0026】
歪補正モジュールIMRは、メモリ1001に格納されているテンプレート画像および入力画像に対して極座標変換を行うように、プロセッサーCPUによって制御される。このとき、先に算出された基準となるコインの中心点からコインの外周へ向かって延びる動径を定め、定めた動径に対する偏角を、第1の範囲(第1範囲)で変化させて、メモリ1001に格納されているテンプレート画像に対する極座標変換を行う。この極座標変換によって求められた直交座標のテンプレート画像は、メモリ1001に再び格納される。また、歪補正モジュールIMRは、先に算出されたコインの中心点からコインの外周へ向かって延びる動径を定め、定めた動径に対する偏角を、第2の範囲(第2範囲)で変化させて、メモリ1001に格納されている入力画像に対する極座標変換を行う。この極座標変換によって求められた直交座標の入力画像は、メモリ1001に再び格納される。
【0027】
メモリ1001に格納されている直交座標のテンプレート画像と、メモリ1001に格納されている直交座標の入力画像とが、読み出され、比較される。このとき、第2範囲のうち、第1範囲に相当する範囲の入力画像が、テンプレート画像と比較される。プロセッサーCPUは、この比較の結果を基にして相関値を抽出し、求めた相関値をメモリ1001へ格納する。すなわち、直交座標のテンプレート画像が、第2範囲内を移動しながら、直交座標の入力画像と比較され、比較のたびに、比較の結果を基にした相関値が抽出され、抽出した相関値がメモリ1001に格納されることになる。
【0028】
プロセッサーCPUは、メモリ1001に格納された複数の相関値のうち、最も一致度の高い相関値と、所定の閾値(スコア閾値)とを比較し、最も一致度の高い相関値が、所定の閾値を超えていた場合、投入されたコインは、基準のコインと一致していると識別する。一方、最も一致度の高い相関値が、所定の閾値を超えていない場合には、投入されたコインは、基準となるコインとは一致しないと識別する。
【0029】
なお、映像表示モジュールDMは、プロセッサーCPUからの制御により、メモリ1001に格納されている画像データを読み出し、画像出力バッファ1004へ供給する。画像出力バッファ1004に供給された映像データは、VGAモニター1007によって表示される。
【0030】
次に、フローチャート図および模式的な動作図を用いて、識別方法をより詳しく説明する。
【0031】
<テンプレート登録工程>
図2は、実施の形態に係わるテンプレート登録工程を示すフローチャート図である。このテンプレート登録工程では、投入されたコインと比較されるべき基準のコインにおける画像がテンプレート画像として登録される。テンプレート登録工程は、特に制限されないが、複数のコインが、時系列的に投入される前に実施される。投入される複数のコインに対して基準となるテンプレート画像を登録するものであるため、特に制限されないが、投入されるコインの種類等が変更にならない限り、テンプレート登録工程は1回実施すればよい。
【0032】
先ず、ステップS20において、テンプレート登録工程が開始する。ステップS21において、プロセッサーCPUは、基準となるコインの平面(主面)に形成されている画像を取得する。すなわち、プロセッサーCPUは、画像入力モジュールIDMに対して、画像入力バッファ1003からの画像を、メモリ1001の第1領域RR1に格納するように指示する。
図5は、このステップS21(テンプレート画像入力)の動作を示す模式的な図である。
図5では、画像入力バッファ1003は、省略されているが、カメラ1006によって基準となるコインが撮影され、画像入力バッファ1003を介して、テンプレート画像TMMが、画像入力モジュールIDMに供給されている。画像入力モジュールIDMは、プロセッサーCPUからの指示に従って、テンプレート画像TMMを、メモリ1001の第1領域RR1に格納する。これにより、テンプレート画像TMMが、メモリ1001に取得されたことになる。
【0033】
なお、
図5において、テンプレート画像TMMの周囲にある黒塗りの領域は、基準となるコインが置かれた場所の画像であり、コインの背景画像である。また、
図5において、括弧で囲んだ符号IMMは、後でサーチ工程を説明する際に説明するので、ここでは説明を省略する。
【0034】
以下の説明では、平面視でコインを見たとき、コインは円形形状を有しており、円形の形状内に文字列「ABCDE」が形成されているものとして説明する。なお、本明細書で言う「円」とは、周辺部の一部が欠落していたり、周辺部が歪んでいることで、中心点から上記欠落部または歪部までの距離と上記中心点から周辺部の他部までの距離が互いに同じでないものも含む。また、この実施の形態では、文字列「ABCDE」は、刻印により、コインの主面に形成されている。刻印により形成されているため、文字列「ABCDE」における文字のそれぞれは、主面よりも窪んだ領域と、主面と平行な領域とを有していることになる。例えば、文字「A」、「B」、「D」のそれぞれは、平面視で見たとき、窪んだ領域によって囲まれ、主面と平行となっている領域を有していることになる。この窪んだ領域によって囲まれた領域は、島状の独立領域として認識することができる。
【0035】
説明を、
図2に戻して、テンプレート登録工程の説明を続ける。ステップS21に続いて、プロセッサーCPUは、ステップS22(抽出工程)を実行する。ステップS22では、メモリ1001の第1領域RR1に格納された画像から、コインをサーチし、コインの中心点と、コインの外形が求められる(コインサーチ)。ステップS22において実施されるコインサーチの一例が、
図3に示されている。
図3は、実施の形態に係わるコインサーチの処理を示すフローチャート図である。また、
図6は、実施の形態に係わるコインサーチのときの動作を示す模式的な図である。
【0036】
<<コインサーチ>>
コインサーチは、
図3においてステップS30で開始する。ステップS30に続いて、ステップS31(顕在化工程)において、メモリ1001の第1領域RR1に格納された画像の2値化が行われる。すなわち、メモリ1001の第1領域RR1に格納された画像において、背景部を黒(例えば論理値“0”に対応)にし、模様部を白(論理値“1”に対応)に2値化する。この実施の形態では、主面に対向する裏面側(背景側)に配置されている領域が、背景部とされ、主面と平行な主面側の領域が、模様部とされる。
【0037】
次に、ステップS31の動作を、
図6を用いて説明する。画像処理モジュールIMPは、プロセッサーCPUからの指示に従って、メモリ1001の第1領域RR1に格納されている画像を読み出す(符号TMM−Rの矢印)。また、画像処理モジュールIMPは、読み出した画像を2値化して、2値化された画像を、メモリ1001の第2領域RR2に格納する(符号TMM2−Wの矢印)。
【0038】
メモリ1001の第2領域RR2に、2値化した画像を格納したあと、画像処理モジュールIMPは、
図3に示したステップS32(独立領域抽出工程)を実施する。このステップS32において、画像処理モジュールIMPは、2値化した画像を、第2領域RR2から読み出し(符号TMM2−Rの矢印)、ラベリングを実施し、ラベリングの結果をレジスタREGに格納する。ここで実施されるラベリングを、
図11を用いて説明する。
図11は、メモリ1001に格納されている画像を示す図である。
図11(A)は、メモリ1001の第1領域RR1に格納されている画像を示しており、
図11(B)は、2値化され、メモリ1001の第2領域RR2に格納された画像を示している。
【0039】
図11(A)に示した画像は、2値化によって、コインの主面に対して裏面側の領域は、背景部とされ、黒(論理値“0”)に変換される。そのため、
図11(B)において、コインが置かれた場所であるコインの周辺部と、刻印された文字列「ABCDE」において窪んでいる領域が、2値化によって、黒(“0”)に変換される。一方、
図11(B)に示した画像において、コインの主面であって、文字列「ABCDE」の周りの領域と、文字「A」、「B」および「D」のそれぞれの島状の独立領域は、2値化によって、白(“1”)に変換される。
【0040】
図11(A)に示すように、画像には、文字列「ABCDE」だけでなく、薄い星形のマークも含まれている。この星形のマークは、主面側から裏面側への凹みが浅いため、薄いマークとなっている。そのため、2値化によって、この星形のマークは、白(”1”)に変換される。
【0041】
画像処理モジュールIMPは、2値化によって、白、すなわち論理値“1”に変換され、平面視において連続している領域を独立領域として、ラベリングのときに、番号を付加する。
図11(B)に示した2値化された画像においては、文字列「ABCDE」の周りの領域が、白く、連続した領域となっているため、ラベリングによって、この独立領域に番号RB1が付されている。また、文字「A」、「B」および「D」のそれぞれの島状の独立領域は、白く、連続した独立領域となっているいため、ラベリングによって、それぞれの島状の独立領域に、番号RB2、RB3、RB4およびRB5が付されている。
【0042】
画像処理モジュールIMPは、ラベリングによって番号RB1〜RB5が付されたそれぞれの独立領域の情報を、ラベリングの結果として、レジスタREGに格納する。ここで、それぞれの独立領域の情報としては、例えば、番号RB1〜RB5が付されたそれぞれの領域の位置および大きさである。この場合、
図11(B)に示した起点BP(0、0)に対する領域のX座標およびY座標が、領域の情報として、レジスタREGに格納される。番号RB1の領域を例にして述べると、番号RB1の領域の外周に沿ったX座標およびY座標が、レジスタREGに格納される。他の番号RB2〜RB5の領域のそれぞれについても同様に、それぞれのX座標およびY座標が、レジスタREGに格納される。
【0043】
プロセッサーCPUは、レジスタREGに格納されたラベリングの結果を、
図6において、符号TMM2−Dの矢印で示すように、読み出し、
図3に示したステップS33(中心点取得工程)を実行する。このステップS33において、プロセッサーCPUは、基準となるコインの中心点とコイン径の取得を行う。
【0044】
このステップS33の動作を、
図11(B)を利用して説明する。コインは、平面視で見たとき、楕円形状ではなく、ほぼ真円であると推定して、コインの中心点および径を取得する処理が行われる。プロセッサーCPUは、読み込んだラベリングの結果から、番号RB1〜RB5のそれぞれの独立領域の外形を把握し、最も外側(最外周)で、最も大きな外形を有する独立領域を特定する。
図11(B)に示した例では、番号RB1の独立領域が特定されることになる。プロセッサーCPUは、特定した独立領域(番号PB1)の辺に接した外接四角形を形成する。
図11(B)に示した外接四角形では、特定した領域(番号PB1)の辺に接した4辺P1〜P4を備えており、辺P1とP2とが交差(直交)し、辺P2とP3とが直交し、辺P3とP4が直交し、辺P4とP1とが直交している。また、
図11(B)において、CPは、辺P1〜P4のそれぞれにおける中心点を示している。すなわち、CPは、辺P1〜P4のそれぞれの長さの半分となる点を示している。
【0045】
プロセッサーCPUは、
図11(B)において破線で示すように、辺P1〜P4のそれぞれの中心点CPを結ぶ線を形成し、破線が交差する点を、コインの中心点CCPとして取得する。また、辺P1〜P4のうち、互いに直交する2辺の長さの和を算出し、算出した和を2で割ることにより、コインの径OTKを取得する。例えば辺P1(幅)と辺P2(高さ)の長さの和を求め、2で割ることにより、コインの径OTKを取得する。取得したコインの中心点CCPおよび径OTKを、プロセッサーCPUは、
図6において、矢印で示すように、メモリ1001の第3領域RR3に格納する。中心点CCPおよび径OTKを格納することにより、
図3に示したステップS34が実行されることになり、コインサーチ(
図2のステップS22)が終了する。
【0046】
中心点取得工程(ステップS33)は、上記したように、最外周に配置されている独立領域を特定し、特定した独立領域を基にして、円形のテンプレート画像の中心点を抽出している。そのため、中心点取得工程は、独立領域抽出工程(ステップS32)で抽出された独立領域において、最外周に配置されている独立領域を特定する特定工程と、特定工程によって特定された独立領域に接した辺を有する外接四角形(四角形)を特定し、特定した四角形において、互いに接する2辺の中心点から、円形の画像の中心点を抽出する中心点抽出工程とを備えていると見なすことができる。
【0047】
プロセッサーCPUは、
図2に示したステップS22に続いて、ステップS23(第1変換工程)を実行する。このステップS23では、ステップS22で取得したコインの中心点CCPおよび径OTKを基にして、極座標変換が行われる。
【0048】
カメラ1006によって撮影された画像は、後で説明するが、サーチ工程の際に、比較に用いられる。比較の精度を向上させるために、画像は、その1画素が多値のビットにより表されている。例えば、1画素が、8ビットのモノクロ階調によって表されている。1画素を8ビットのモノクロ階調で表すと、0〜255段階の階調を表すことが可能であるが、コインの中心点CCPおよび径OTKを取得するためには、コインの輪郭あるいは/および島状の独立領域を顕在化することが望ましい。そのため、上記したように、画像に対して2値化が行われている。コインの輪郭あるいは/および島状の独立領域を顕在化すると言う観点で見た場合、2値化の処理(工程)は、顕在化処理(顕在化工程)と見なすことができる。
【0049】
<<極座標変換>>
次に、
図7および
図12を用いて、極座標変換を説明する。
図7は、
図2に示したステップS23において実行される動作(極座標変換の動作)を模式的に示す図である。また、
図12は、極座標変換を説明するための図である。
【0050】
ステップS23(
図2)において、プロセッサーCPUは、メモリ1001の第3領域RR3から、コインの中心点CCPおよび径OTKを読み出す。
図7には、この読み出しが、矢印で示されている。プロセッサーCPUは、読み出した中心点CCPおよび径OTKを基にして、極座標変換を行うように歪補正モジュールIMRを設定し、実行させる。
図7では、プロセッサーCPUから、歪補正モジュールIMRへの設定が、矢印INSとして示されている。
【0051】
歪補正モジュールIMRは、設定INSが供給されると、メモリ1001の第1領域RR1から、基準のコインを表すテンプレート画像TMMを含む画像を読み出す。この画像の読み出しが、
図7では矢印TMM−Rで示されている。歪補正モジュールIMRは、予め供給されているコインの中心点CCPおよび径OTKに基づいて、読み出した画像を極座標変換して、変換により得られた画像、すなわち直交座標に変換されたテンプレート画像TMM−XYをメモリ1001の第4領域RR4へ格納する(TMM−XY−Wと記載)。
【0052】
次に、歪補正モジュールIMRにおいて実行される極座標変換を、
図12を用いて説明する。なお、極座標変換される画像は、2値化されたテンプレート画像TMM2を含む画像ではなく、カメラ1006によって撮影されたテンプレート画像TMMを含む画像である。すなわち、1画素が、多値のビットによって表されている画像である。
【0053】
図12(A)は、メモリ1001の第1領域RR1に格納されているテンプレート画像TMMを含む画像を示している。すなわち、
図11(A)に示した画像と同じである。極座標変換を説明のために、
図12(A)に示したテンプレート画像TMMには、プロセッサーCPUから供給されたコインの中心点CCPが明示されている。また、プロセッサーCPUから供給された径OTKを2で割ることにより求めた半径が、ρとして、
図12(A)には明示されている。
【0054】
極座標変換は、
図12(D)に示す式(1)を用いて、極座標で表されている値を直交座標で表す値に変換する処理である。式(1)において、ρは、コインの動径を示し、θは、コインの中心点CCPにおける偏角を示している。コインの所定の位置、例えば
図12(A)において、動径ρを明示した位置を基準として、偏角θを0度から時計回りに変化させる。偏角θを0度から所定の範囲まで変化させると、円形の画像であるコインのテンプレート画像TMMにおいて、0度から所定の範囲までの画像が、直交座標の画像に変換される。
【0055】
この実施の形態においては、テンプレート画像TMMは、0度から360度が、変換の範囲とされ、極座標変換が行われる。すなわち、円形のテンプレート画像TMMの1周分が、極座標変換によって、直交座標に変換される。
図12(B)は、歪補正モジュールIMRによる極座標変換によって変換された直交座標のテンプレート画像TMM−XYを示している。
図12(B)においても、ρは動径を示し、θは偏角を示している。このようにして変換された直交座標のテンプレート画像TMM−XYが、メモリ1001の第4領域RR4に格納される。この直交座標に変換されたテンプレート画像TMM−XYの、メモリ1001への格納が、
図2に示したステップS24において実施されるテンプレート登録に相当する。ステップS24において、テンプレート登録が実行されると、次にステップS25(
図2)が実行され、このステップS25の実行により、テンプレート登録工程は終了する。
【0056】
なお、第1領域RR1に格納された画像は、基準のコインを表すテンプレート画像TMMと、その周囲の背景部に相当する画像(
図12(A)の黒塗り部)が存在するが、中心点CCPと径OTKに基づいて、極座標変換を行うことにより、基準のコインを表すテンプレート画像TMMのみが、極座標変換され、
図12(B)に示すように直交座標のテンプレート画像TMM−XYが形成されることになる。
【0057】
<サーチ工程>
テンプレート登録工程が終了すると、プロセッサーCPUは、サーチ工程を開始する。サーチ工程においては、投入されたコインの画像がテンプレート画像と一致するか否かの識別が行われる。
図4は、実施の形態に係わるコインの識別方法を示すフローチャート図である。
【0058】
プロセッサーCPUは、
図4において、ステップS40で、サーチ工程を開始する。サーチ工程では、ステップS41、S42、S43、S44、S45およびS46の順にステップが実行される。これらのステップのうち、ステップS41〜S43は、先に
図2で説明したステップS21〜S23に類似している。そのため、ステップS41〜S43についは、ステップS21〜S23との相違点を主に説明する。
【0059】
図2で説明したステップS21においては、基準となるコインの画像を、画像入力モジュールIDMが、メモリ1001の第1領域RR1に格納していた。この基準となるコインの画像は、テンプレート画像TMMを含む画像であるため、ステップS21は、テンプレート画像入力として説明した。
【0060】
これに対して、ステップS41においては、投入されたコインがカメラ1006によって撮影される。すなわち、識別されるべきコインがカメラ1006によって撮影され、撮影された画像が、画像入力バッファ1003を介して、画像入力モジュールIDMに供給される。ステップS41において、プロセッサーCPUは、画像入力モジュールIDMに対して、ステップS21のときと同様に、供給されている画像を、メモリ1001の第1領域RR1に格納するように指示する。これにより、メモリ1001の第1領域RR1には、コインの画像とそのコインの周辺の画像が格納されることになる。この場合の画像は、基準のコインの画像ではなく、識別されるべきコインの画像であり、識別方法の入力画像である。本明細書においては、テンプレート画像と区別するために、識別されるべきコインの画像は、入力画像とも称する。
図5において、括弧内に示した符号IMMは、基準となるコインと同じコインが投入された場合に、ステップS41において、第1領域RR1に格納された入力画像を示している。
【0061】
メモリ1001の第1領域RR1に格納された入力画像IMMは、次にステップS42(抽出工程)において、コインサーチが行われる。このステップS42におけるコインサーチは、
図2を用いて説明したコインサーチ(S22)に類似している。すなわち、
図2および
図3等を用いて説明したコインサーチにおいては、テンプレート画像TMMを含む画像が2値化され、コインの輪郭あるいは/および島状の独立領域が求められ、2値化されたテンプレート画像TMM2の中心点CCPと径OTKが取得されていた。これに対して、ステップS42においては、テンプレート画像TMMとその周囲の画像の代わりに、第1領域RR1に格納されている円形の画像である入力画像IMMとその周囲の画像が、コインサーチの処理の対象とされる。コインサーチにおいて実行される処理は、
図2および
図3等を用いて説明したのと同様である。そのため、ステップS42において実施されるコインサーチについての説明は省略する。なお、
図3の説明において用いた
図11には、基準となるコインと投入されたコインとが同じ場合の入力画像が、括弧内の符号IMMで示され、2値化された入力画像が、括弧内の符号IMM2で示されている。
【0062】
ステップS42において、入力画像IMMとその周囲の画像に対してコインサーチの処理が実施されることにより、2値化された入力画像IMM2の中心点と径が取得される。
図2および
図3の説明で用いた
図6では、第1領域RR1からの入力画像IMMとその周囲の画像の読み出しが、符号(IMM−R)が付された矢印で示され、2値化された入力画像IMM2(その周囲の画像を含む)の第2領域RR2への格納が、符号(IMM2−W)が付された矢印によって示されている。また、第2領域RR2からの入力画像IMM2(その周囲の画像を含む)の読み出しが、符号(IMM2−R)が付された矢印で示されている。プロセッサーCPUによる、2値化された入力画像IMM2に基づくラベリングの結果の読み出しが、符号(TMM2−D)で示されている。このラベリングの結果に基づいて、プロセッサーCPUが、入力画像IMM2の中心点と径を取得して、第3領域RR3へ格納するが、
図6では、入力画像IMM2の中心点は、括弧内の符号CCPIで示され、径は、括弧内の符号OTKIで示されている。
【0063】
図6において、
図2および
図3で説明したテンプレート画像TMMと入力画像IMMとを対応させると、入力画像の読み出し(IMM−R)は、テンプレート画像の読み出しTMM−Rに対応し、2値化された入力画像の格納(IMM2−W)は、2値化されたテンプレート画像の格納TMM2−Wに対応し、2値化された入力画像の読み出し(IMM2−R)は、2値化されたテンプレート画像の読み出しTMM2−Rに対応する。また、2値化された入力画像に基づくラベリングの読み出し(IMM2−D)は、2値化されたテンプレート画像に基づくラベリングの読み出しTMM2−Dに対応し、2値化された入力画像の中心点(CCPI)は、2値化されたテンプレート画像の中心点CCPに対応し、2値化された入力画像の径(OTKI)は、2値化されたテンプレート画像の中心点OTKに対応する。
【0064】
ステップS42においてコインサーチの処理が実施されることにより、2値化された入力画像IMMの中心点CCPIと径OTKIは、メモリ1001の第3領域RR3に格納される。このステップS42に続いて、ステップS43が実施される。このステップS43(第2変換工程)においては、入力画像IMMに対して極座標変換が実施される。ステップS43において実施される極座標変換も、
図2のステップS23で説明した極座標変換と類似している。すなわち、
図2のステップS23では、テンプレート画像TMMを、中心点CCPおよび径OTKに基づいて、直交座標へ変換する極座標変換を実施していた。これに対して、ステップS43では、入力画像IMMを、中心点CCPIおよび径OTKIに基づいて、直交座標へ変換する極座標変換が実施される。ステップS43で実施される極座標変換の動作は、ステップS23で実施される極座標変換の動作と同じである。異なるのは、極座標変換を実施する対象が、テンプレート画像TMMではなく、入力画像IMMであることと、直交座標へ変換する範囲である。
【0065】
ステップS23では、テンプレート画像TMMの中心点CCPにおいて、0度から360度の範囲を、直交座標のテンプレート画像に変換していた。これに対して、ステップS43では、入力画像IMMの中心点CCPIにおいて、偏角が0度から720度の範囲を、直交座標の入力画像に変換する。この場合、基準となる動径は任意であり、任意の動径を基準として、偏角が0度から720度の範囲を、直交座標の入力画像に変換する。すなわち、2周分の入力画像が、直交座標の入力画像へ変換されることになる。
【0066】
極座標変換の動作は、ステップS23において説明しているので、その詳しい説明は省略するが、
図7および
図12を用いて、ステップS43において実施される処理と、極座標変換された入力画像の例を述べる。
【0067】
図7において、プロセッサーCPUは、メモリ1001の第3領域RR3から、入力画像IMMの中心点CCPIおよび径OTKIを読み出す。
図7には、この読み出しが、矢印で示されている。プロセッサーCPUは、読み出した中心点CCPIおよび径OTKIを基にして、極座標変換を行うように歪補正モジュールIMRを設定し、実行させる。
図7では、プロセッサーCPUから、歪補正モジュールIMRへの設定が、矢印INIで示されている。
【0068】
歪補正モジュールIMRは、設定INIが供給されると、メモリ1001の第1領域RR1から、入力画像IMMを含む画像を読み出す。この入力画像IMMを含む画像の読み出しが、
図7では矢印(IMM−R)で示されている。歪補正モジュールIMRは、予め供給されている入力画像の中心点CCPIおよび径OTKIに基づいて、読み出した入力画像IMMを極座標変換して、変換により得られた画像、すなわち直交座標に変換された入力画像IMM−XYをメモリ1001の第4領域RR4へ格納する(IMM−XY−Wと記載)。
【0069】
次に、歪補正モジュールIMRにおいて実行される極座標変換を、
図12を用いて説明する。なお、極座標変換される画像は、2値化された入力画像IMM2ではなく、カメラ1006によって撮影された入力画像IMMである。すなわち、1画素が、多値のビットによって表されている画像である。
【0070】
ここでは、基準となるコインと投入されたコインとが同じである場合を説明する。そのため、第1領域RR1に格納されている入力画像IMMは、
図12(A)に示したテンプレート画像TMMを含む画像と同じになっている(
図12(A)でも、入力画像は括弧内に記載した符号IMM)。
図12(A)において、中心点CCPIにおいて、任意の動径(
図12では、ρ)を基準として、入力画像IMMは、偏角θが0度から720度の範囲、直交座標へ変換されている。例えば、偏角θの1単位を360度とした場合、ステップS43においては、2単位に相当する2θの範囲で、極座標変換され、2周分が極座標変換されることになる。
図12(C)は、ステップS43における極座標変換によって変換された直交座標の入力画像が、符号IMM−XYとして示されている。
図12(B)と
図12(C)とを比較した場合、
図12(C)には、
図12(B)に示した画像を1単位として、連続的に2回発生していることになる。
【0071】
説明を、
図4に戻して、サーチ工程の説明を続ける。投入されたコインは、上記したように、ステップS43において、極座標変換により、その2周分が、直交座標の入力画像IMM−XYに変換され、
図7に示したように、メモリ1001の第4領域RR4に格納される。このステップS43に続いて、プロセッサーCPUは、ステップS44(相関値抽出工程)を実施する。このステップS44においては、正規化相関マッチングが実施される。すなわち、メモリ1001の第4領域RR4に、予め格納されている直交座標のテンプレート画像TMM−XYと、ステップS43において格納された直交座標の入力画像IMM−XYとの間で、比較され、比較の結果が求められる。この比較は、テンプレート画像TMM−XYと入力画像IMM−XYのそれぞれを正規化して、行われる。正規化相関マッチングの方法は、周知の方法が種々ある。この実施の形態においては、特に制限されないが、所謂、ゼロ平均正規化相互相関マッチング(Zero−mean Normalized Cross−Correlation)の手法が用いられている。勿論、それぞれの画像を正規化せずに、比較してもよい。
【0072】
この実施の形態において、テンプレート画像TMM−XYと入力画像IMM−XYとの間の比較は、入力画像IMM−XYを1個の単位として、テンプレート画像TMM−XYとの比較が実施される。すなわち、0度から360度の第1範囲で変換されたテンプレート画像TMM−XYを単位として、0度から720度の第2範囲で、入力画像IMM−XYとの比較が、逐次実施される。比較が逐次実施されるため、テンプレート画像TMM−XYと入力画像IMM−XYとの比較は、複数回実施されることになり、比較のたびに比較結果である正規化相関マッチング結果が出力されることになる。次に、
図10を用いて、この正規化相関マッチングを説明する。
【0073】
<<正規化相関マッチング>>
図10は、実施の形態に係わる正規化相関マッチングの原理を説明する図である。基準となるコインを撮影したときのコインの角度と、投入されたコインを撮影したときのコインの角度は、任意である。そのため、基準となるコインと投入されたコインとの間に角度ずれが生じることがある。例えば、基準となるコインと投入されたコインとの間に300度のずれがあった場合、メモリ1001の第1領域RR1に格納されたテンプレート画像TMMと入力画像IMMとの間でも、300度のずれが発生することになる。一例を示すと、基準となるコインを撮影することにより、メモリ1001の第1領域RR1に格納されたテンプレート画像TMMは、
図10(B)に示すように文字列「ABCDE」が上側を向くように格納されている状態になる。これに対して、投入されたコインが、基準となるコインに対して、反時計回りに約300度回転していると、投入されたコインを撮影することにより、メモリ1001の第1領域RR1に格納された入力画像IMMは、
図10(C)に示すように文字列「ABCDE」が左下側を向くようになる。
【0074】
テンプレート画像TMMを、
図2に示したステップS23において極座標変換するときと、入力画像IMMを、
図4に示したステップS43において極座標変換するときの両方において、例えば
図10(B)および
図10(C)に示す動径ρを基準として、極座標変換すると、同じコインであっても、極座標変換によって得られたテンプレート画像TMM−XYと、極座標変換によって得られた入力画像IMM−XYとは、一致しないことになる。すなわち、基準となるコインと投入されたコインとの間に角度のずれが発生していれば、同じコインであっても、一致しないコインとして識別されることになる。
【0075】
この実施の形態においては、投入されたコインについては、その2周分(第2範囲)が、極座標変換されて、直交座標の入力画像IMM−XYが形成される。一方、基準となるコインについては、その1周分(第1範囲)が、極座標変換され、直交座標のテンプレート画像TMM−XYが形成される。
【0076】
入力画像IMM−XYとテンプレート画像TMM−XYを比較するとき、テンプレート画像TMM−XYは、第2範囲を移動しながら、順次入力画像と比較される。
図10(A)には、この比較が、模式的に描かれている。ここでは、順次実施される比較のうち、タイミングT1〜T4が一例として示されている。
【0077】
先ず、タイミングT1では、破線で示した位置TMM−XY(1)にテンプレート画像が配置される。入力画像IMM−XYのうち、位置TMM−XY(1)に対応する領域IMM−XY(1)における画像と位置TMM−XY(1)に配置されたテンプレート画像TMM−XYとの間で比較CP(1)が実施され、その比較結果が出力される。次に、テンプレート画像TMM−XYは、右側へ移動し、タイミングT2において、二点鎖線で示した位置TMM−XY(2)に配置される。二点鎖線で示した位置TMM−XY(2)に配置されたテンプレート画像TMM−XYは、入力画像IMM−XYのうち、二点鎖線の位置TMM−XY(2)に対応する領域IMM−XY(2)における画像と比較CP(2)され、その比較結果が出力される。
【0078】
同様に、テンプレート画像TMM−XYは、右側へ移動し、タイミングT3において、一点鎖線で示した位置TMM−XY(3)に配置される。一点鎖線で示した位置TMM−XY(3)に配置されたテンプレート画像TMM−XYは、入力画像IMM−XYのうち、一点鎖線の位置TMM−XY(3)に対応する領域IMM−XY(3)における画像と比較CP(3)され、その比較結果が出力される。さらに、テンプレート画像TMM−XYは、右側へ移動し、タイミングT4において、実線で示した位置TMM−XY(4)に配置される。実線で示した位置TMM−XY(4)に配置されたテンプレート画像TMM−XYは、入力画像IMM−XYのうち、実線の位置TMM−XY(4)に対応する領域IMM−XY(4)における画像と比較CP(4)され、その比較結果が出力される。
【0079】
このようにして、テンプレート画像TMM−XYは、第2範囲内を移動し、移動のたびに、移動した位置に対応する入力画像IMM−XYの領域と比較され、比較のたびに比較結果が出力されることになる。テンプレート画像TMM−XYが、移動することにより、入力画像IMM−XYにおいて比較される領域が、順次変化することになる。そのため、基準となるコインと投入されたコインとの間に、角度のずれが発生していても、テンプレート画像TMM―XYを移動させることにより、角度のずれが発生していない領域で、比較を行うことが可能となる。これにより、角度のずれが発生していない領域で比較したタイミングのときに出力されている比較結果が、最も一致度が高い状態を示すことになる。
【0080】
図10(A)は、テンプレート画像TMM−XYを時間の変化とともに、右側に順次移動させたときの比較結果の変化を示している。ここで、比較結果MPは、基準となるコインと投入されたコインとの一致度を示している。比較結果MPが、上昇することにより、一致度が高くなる。時間の経過に伴って、テンプレート画像TMM−XYが移動し、移動のたびに比較結果が出力されるため、例えば一致度は、徐々に上昇し、角度のずれが発生していない領域で、一致度はピークとなり、最も高くなる。その後、角度のずれが発生すると、一致度は下降する。勿論、
図10(A)に示した比較結果MPの変化は一例であって、例えば、基準のコインと投入されたコインとの間で、角度のずれが発生していなければ、タイミングT1で、比較結果MPは、最も高い値となり、以降低下することになる。すなわち、比較結果MPは、ピークとなる最も高い値から始まり、下降することになる。
【0081】
比較結果MPが示す最も高い値は、基準のコインと投入されたコインとの間で、角度のずれが発生していない状態での一致度を示すことになる。そのため、比較結果MPがピークとなったときの、比較結果MPの値を判定することにより、投入されたコインが、基準のコインと一致しているか否かを識別することが可能となる。
【0082】
<<正規化相関マッチングの動作>>
次に、
図8を用いて、ステップS44(
図4)において実施される正規化相関マッチングの動作の概要を説明する。
図8は、実施の形態に係わる正規化相関マッチングの動作を示す模式的な図である。
【0083】
ステップS44においては、先ず、プロセッサーCPUが、画像処理モジュールIMPに対して、正規化相関を実施するように指示を行う。これにより、メモリ1001の第4領域RR4に格納されていたテンプレート画像TMM−XYと入力画像IMM−XYが、メモリ1001の第4領域RR4から、画像処理モジュールIMPへ読み出される(TMM−XY−RおよびIMM−XY−R)。この場合、画像処理モジュールIMPには、第1範囲分のテンプレート画像TMM−XYと第2範囲分の入力画像IMM−XYが取り込まれる。
図12(B)および
図12(C)を例にして述べると、
図12(B)において、起点X=0(θ=0度)から始まる第1範囲(θ=360度)分の画像が、テンプレート画像TMM−XYとして取り込まれ、
図12(C)において、起点X=0(θ=0度)から始まる第2範囲(θ=720度)分の画像が、入力画像IMM−XYとして取り込まれる。
【0084】
画像処理モジュールIMPは、取り込んだテンプレート画像TMM−XYおよび入力画像IMM−XYのそれぞれに対して、正規化相関の処理を行い、正規化相関の処理の結果を、レジスタREGに格納する。例えば、画像処理モジュールIMPは、テンプレート画像TMM−XYおよび入力画像IMM−XYのそれぞれについて、平均輝度を求め、求めた平均輝度をそれぞれの画像から減算することにより、正規化相関の結果を求め、レジスタREGに格納する。
【0085】
正規化相関の結果SCPは、プロセッサーCPUに供給される。プロセッサーCPUは、正規化相関の結果SCPを基にして、テンプレート画像TMM−XYと入力画像IMM−XYとを比較し、比較結果MPである相関値を、メモリ1001内の第5領域RR5に格納する。特に制限されないが、この実施の形態においては、プロセッサーCPUが、正規化相関の結果SCPを用いて、
図10で説明した正規化相関マッチングの処理を実施する。すなわち、取り込んだ正規化相関により表されるテンプレート画像を移動させながら、取り込んだ正規化相関により表される入力画像と比較を行い、比較結果を相関値として、第5領域RR5へ格納する。
【0086】
第5領域RR5に、相関値を格納するために、プロセッサーCPUは、第5領域RR5に正規化相関値テーブルSTBを作成する。この正規化相関値テーブルSTBは、番号欄No.と、番号欄No.に対応した相関値を格納する相関値欄MPTを備えている。ここで、番号欄No.には、例えば1からnの番号が振り当てられる。プロセッサーCPUは、より一致度の高い相関値を、番号欄No.1に近い番号欄No.の相関値欄MPTに格納する。
図8の例では、A、B、C・・・Zの順で、一致度が低くなっている状態が示されている。これにより、正規化相関値テーブルSTBには、より一致度の高い相関値から、より一致度の低い相関値へ向けて、番号1〜nの順に格納されることになる。
【0087】
ここでは、プロセッサーCPUによって、テンプレート画像を移動させ、入力画像と比較する例を述べたが、これに限定されるものではない。例えば、画像処理モジュールIMPが、テンプレート画像を移動させ、入力画像と比較するようにしてもよい。この場合、画像処理モジュールIMPでの比較の結果が、プロセッサーCPUに供給され、プロセッサーCPUが、より一致度に高い相関値から、より一致度の低い相関値に向けて、番号1〜nの順に、比較の結果を格納することになる。
【0088】
図4において、上記した正規化相関マッチングの処理が、ステップS44において実施され、正規化相関値テーブルSTBに、一致度に応じた順番で、相関値が格納されると、次に、ステップS45が実施される。ステップS45(判定工程)において、プロセッサーCPUは、スコア判定を実施する。プロセッサーCPUは、スコア判定として、正規化相関値テーブルSTBに格納されている相関値のうち、最も高い一致度を示している相関値と、予め定めたスコアの閾値(スコア閾値)とを比較し、スコア閾値よりも高いか否かを判定する。ここで、相関値が、スコア閾値よりも高い場合には、投入されたコインは、基準のコインと一致(Yes)していると判定する。一方、相関値が、スコア閾値よりも低い場合には、投入されたコインは、基準のコインと不一致(No)であると判定する。このようにして、投入されたコインが、基準のコインと一致しているか不一致であるかの識別が行われ、ステップS46で、サーチ工程は終了する。
【0089】
このステップS45において実施されるスコア判定の動作を、
図9を用いて説明する。
図9は、実施の形態に係わるスコア判定の動作を模式的に示す図である。
図9において、RR6は、メモリ1001の第6領域を示している。プロセッサーCPUは、例えば
図4に示したステップS40において、この第6領域RR6に、スコア閾値SCTを格納する。このスコア閾値SCTは、基準のコインと投入されたコインとの間の一致度を示し、ユーザーが予め定めて、第6領域RR6に格納しておく。勿論、
図4において、ステップS45が開始される前に、スコア閾値SCTは格納すればよく、ステップS40において格納することに限定されるものではない。
【0090】
プロセッサーCPUは、正規化相関値テーブルSTBに格納されている相関値のうち、番号1に対応する相関値を読み出す。ステップS44を実施することにより、正規化相関値テーブルSTBの番号1には、最も一致度の高い相関値が格納されている。
図9では、相関値Aが、最も一致度の高い相関値となる。この相関値Aが、プロセッサーCPUに、読み出される(
図9では、矢印MP(A)−Rと記載)。また、プロセッサーCPUは、第6領域RR6に格納されているスコア閾値SCTを読み出す(
図9では、矢印SCT−Rと記載)。
【0091】
プロセッサーCPUは、読み出した相関値Aとスコア閾値SCTとを比較し、相関値Aが、スコア閾値SCTよりも高ければ、識別対象のコイン、すなわち投入されたコインは、基準のコインと一致していると判定し、スコア閾値SCTよりも低ければ、不一致と判定する(
図9では、一致/不一致と記載)。この判定の結果を、プロセッサーCPUは、例えば
図1に示したVGAモニター1007に出力し、ユーザーに識別の結果を知らせる。
【0092】
実施の形態においては、テンプレート画像TMMが、第1範囲、極座標変換され、入力画像が、第1範囲よりも広い第2範囲、極座標変換される。第1範囲、極座標変換されたテンプレート画像TMM−XYを、第2範囲内で移動させながら、極座標変換された入力画像IMM−XYとの比較が行われ、比較のたびに比較結果である相関値が抽出される。特に、この実施の形態においては、第1範囲が、0度から360度であるのに対して、第2範囲は、0度から720度とされている。すなわち、第1範囲は、円形の画像を1周分、極座標変換する範囲であるのに対して、第2範囲は、円形の画像を2周分、極座標変換する範囲である。
【0093】
もし、入力画像も、テンプレート画像と同様に、第1範囲、極座標変換し、第1範囲のテンプレート画像と入力画像を比較して、投入されたコインを識別するようにした場合、基準となるコインと識別されるべきコインとの間に角度のずれが存在すると、基準のコインと、識別されるべきコインとが、例え同じであっても、一致度は低くなってしまい、不一致と識別されることがある。これを防ぐために、基準のコインと投入されたコインとの間の角度のずれを補正するように、角度補正を実施することが必要とされる。角度補正を実施するためには、時間が必要とされ、コインの識別に要する時間が長くなる。
【0094】
この実施の形態においては、1周分、極座標変換されたテンプレート画像TMM−XYが、2周分の範囲で、移動しながら、極座標変換された入力画像IMM−XYと比較され、比較のたびに相関値が抽出される。これは、基準のコインを回転させながら、識別されるべきコインと比較し、比較のたびに相関値を抽出していることに相当する。その結果、抽出した(求めた)相関値のうち、最も一致度の高い相関値を抽出した(求めた)タイミングが、基準のコインと識別されるべきコインとの間の角度のずれが、最も少なくなったタイミングに相当することになる。最も一致度の高い相関値が、スコア閾値よりも高いか否かを判定することにより、識別されるべきコインが、基準のコインと一致しているか否かを識別することが可能となる。すなわち、基準となるコインと識別されるべきコインとの間の角度のずれを意識することなく、コインの識別を行うことが可能となる。これにより、コインの識別に要する時間の短縮化を図ることが可能となる。
【0095】
実施の形態では、テンプレート画像TMMを、第1範囲、極座標変換し、入力画像IMMを、第2範囲、極座標変換し、極座標変換されたテンプレート画像TMM−XYを移動させる例を示したが、これに限定されるものではない。すなわち、入力画像IMMを、第1範囲、極座標変化し、テンプレート画像TMMを、第2範囲、極座標変換し、極座標変換された入力画像IMM−XYを、第2範囲内で、移動させながら、比較を行うようにしてもよい。
【0096】
入力画像IMMについては、識別されるべきコインが変わるたびに、正規化相関を求めることになる。すなわち、コインが投入されるたびに、それぞれのコインを撮影して得た入力画像に対して正規化相関を求めることになる。従って、コインの投入のたびに、入力画像IMMに対して画像処理が発生することになる。そのため、実施の形態で述べたように、コインの投入のたびに、画像処理の一部として、入力画像IMMを、第2範囲、極座標変換することが望ましい。
【0097】
実施の形態では、入力画像IMMを、0度から720度、極座標変換しているが、これに限定されるものではない。第2範囲としては、第1範囲(0度から360度)を超える範囲であればよい。第2範囲が、例えば0度から720度を超える範囲であれば、基準のコインと識別されるべきコインとの間に角度のずれがあっても、角度のずれを考慮せずに、コインを識別することが可能である。但し、その場合は重複されて比較される範囲が出てくるので、コインを識別する時間の短縮の観点からは、実施の形態で説明しているように、0度から720度の範囲で極座標変換することが望ましい。さらに、基準となるコインと識別されるべきコインとの間の角度のずれが、所定の範囲に収まるように、予め調整されていれば、第2範囲は、0度から360度を超え、720度未満の範囲であってもよい。すなわち、所定の範囲に収まるように、予め角度のずれが調整されていれば、第2範囲は、0度から360度を超え、720度未満の範囲でも、コインを識別することが可能となる。
【0098】
なお、基準となるコインと投入されたコインとの間で角度ずれがあった場合、2値化されたテンプレート画像TMM2と2値化された入力画像IMM2との間においても、角度ずれが発生することになる。例えば、
図10(B)および(C)に示したテンプレート画像TMMと入力画像IMMと同様な、角度ずれが発生したテンプレート画像TMM2と入力画像IMM2が、得られることになる。しかしながら、2値化によって得られた画像は、正規化相関マッチングの対象画像として用いられないため、コインの識別には影響しない。
【0099】
実施の形態では、基準となるコインをカメラ1006によって撮影することにより、テンプレート画像TMMを取得する例を説明したが、これに限定されるものではない。極座標変換するために、テンプレート画像TMMが、メモリ1001に格納されていればよく、テンプレート画像TMMを取得する方法は、任意である。テンプレート画像TMMによって表されるコインと入力画像IMMによって表されるコインとの間の角度のずれに影響されずに、コインを識別することが可能であるため、メモリ1001に格納されるテンプレート画像TMMの配置も任意にすることができる。
【0100】
実施の形態では、メモリ1001の第1領域RR1〜第6領域RR6を用いて、コインを識別する構成を説明したが、これに限定されるものではない。第1領域RR1〜第6領域RR6は、処理を行う際に必要に応じてメモリ1001に形成すればよい。そのため、例えば第1領域RR1〜第6領域RR6は、互いに同じ領域を兼用するようにしてもよい。例えば、第1領域RR1は、第5領域RR5と、同じタイミングでは、処理に用いられないため、第1領域RR1と第5領域RR5は、同じ領域を兼用するようにしてもよい。
【0101】
実施の形態では、コインに文字列「ABCDE」が刻印されている場合を説明したが、これに限定されるものではなく、コインと特定することが可能な模様等であってもよい。
【0102】
実施の形態に係わる識別方法は、貨幣として用いられる硬貨の識別に向けられているのではなく、アミューズメント施設で用いられるコインの識別に向けられている。貨幣として用いられる硬貨の識別では、例えば硬貨に傷があるか否か等の検出も実施されるが、実施の形態では、2値化によって傷は検出されないようにしている。これによっても、コインを識別するのに要する時間の短縮化を図ることが可能である。
【0103】
本明細書においては、理解を容易にするために、メモリ1001に格納されている各種の画像を、画像データではなく、画像データによって表される像として描いている。しかしながら、メモリ1001に格納されているのは、画像、例えばテンプレート画像TMM、TMM−XY、入力画像IMM、IMM−XY等を表す画像データである。例えば、
図4に示したステップS42〜S45のそれぞれの処理も、メモリ1001に格納された画像データに対して実施されるものである。
【0104】
図9では、正規化相関値テーブルSTBに相関値を格納して、スコア閾値SCTと比較する例を示したが、これに限定されるものではない。例えば、
図4に示したステップS44(相関値抽出工程)においては、テンプレート画像TMM−XYを、第2範囲内で、移動させ、入力画像IMM−XYと比較をしているとき、そのときの比較結果に基づいた相関値が抽出される。このテンプレート画像TMM−XYが移動するたびに抽出される相関値とスコア閾値SCTとを、その都度、比較するようにしてもよい。
【0105】
この場合には、スコア閾値SCTを超える相関値が抽出されたタイミングで、テンプレート画像TMM−XYの移動を停止させ、
図4に示したステップS44を終了する。言い換えるならば、入力画像がテンプレート画像と一致したと判定したタイミングで、相関値抽出工程が終了し、テンプレート画像TMM−XYの移動が停止する。これにより、テンプレート画像TMM−XYが、第2範囲の全域を移動する前に、相関値抽出工程が終了することになり、識別に要する時間の短縮化を図ることが可能となる。例えば、
図10(A)において、タイミングT2の比較CP(2)の結果に基づいた相関値が、スコア閾値SCTを超えていた場合、テンプレート画像TMM−XYの移動は、タイミングT2で停止し、相関値抽出工程が終了する。これにより、識別に要する時間の短縮が図れる。また、正規化相関値テーブルSTBを、メモリ1001に形成しなくて済むため、メモリ1001の第5領域RR5を別の用途に用いることが可能となる。
【0106】
図2〜
図4に示した処理は、プロセッサーCPUが、不揮発性メモリ1002に格納されたプログラムを実行することにより、実現される。そのため、
図2〜
図4で説明した処理は、不揮発性メモリ1002に格納されたプログラム(識別プログラム)によって実現される処理を示していると見なすことができる。また、実施の形態では、識別プログラムが、不揮発性メモリ1002に格納されている例を示したが、画像処理装置1000の入出力ユニット1005に着脱可能な記憶装置に、この識別プログラムを格納するようにしてもよい。このような着脱可能な記憶装置としては、例えばSDカードがある。SDカードに識別プログラムが格納されている場合には、プロセッサーCPUは、入出力ユニット1005を介して、SDカードから識別プログラムを読み込み、実施することになる。また、識別プログラムは、通信回線を介して、入出力ユニット1005へ提供されるようにしてもよい。この場合も、プロセッサーCPUは、入出力ユニット1005および通信回線を介して、識別プログラムを読み込み、実施することになる。本明細書では、SDカードおよび通信回線は、ともに識別プログラムを提供する記憶媒体と見なす。
【0107】
図2〜
図4で説明した処理が、識別プログラムによって実現されると見なした場合、識別プログラムは、第1変換手順、第2変換手順、相関値抽出手順および判定手順を備える。ここで、第1変換手順は、
図2に示したステップS23に該当し、入力画像およびテンプレート画像のうちの一方の画像を、第1範囲、極座標変換し、メモリ1001へ格納する。第2変換手順は、
図4に示したステップS43に該当し、入力画像およびテンプレート画像のうちの他方の画像を、第2範囲、極座標変換し、メモリ1001へ格納する。また、相関値抽出手順は、
図4に示したステップS44に該当し、第1範囲に変換された画像データと第2範囲に変換された画像データとを比較し、複数の相関値を抽出する。また、判定手順は、
図4に示したステップS45に該当し、抽出された相関値と閾値(スコア閾値)とを比較し、入力画像がテンプレート画像に一致するか否かの判定を行う。この相関値抽出手順における比較は、第1範囲に変換された画像データが、第2範囲内を移動し、第2範囲に変換された画像データと比較されることにより実施され、比較のたびに、相関値が抽出され、複数の相関値が抽出される。
【0108】
<付記>
本明細書には、複数の発明が開示されており、その内のいくつかは、請求の範囲に記載しているが、これ以外の発明も開示しており、その代表的なものを次に列記する。
【0109】
(A)入力画像とテンプレート画像を比較することにより、前記入力画像を識別する識別プログラムであって、
前記入力画像および前記テンプレート画像のうちの一方の画像を、第1範囲、極座標変換し、メモリに格納する第1変換手順と、
前記入力画像および前記テンプレート画像のうちの他方の画像を、前記第1範囲よりも広い第2範囲、極座標変換し、前記メモリに格納する第2変換手順と、
前記第1変換工程により得られ、前記メモリに格納された前記第1範囲における画像データを、前記メモリに格納された前記第2範囲における画像データと比較することにより、複数の相関値を抽出する相関値抽出手順と、
前記相関値抽出工程で抽出された相関値と閾値とを比較することにより、前記入力画像が前記テンプレート画像に一致するか否かを判定する判定手順と、
を備え、
前記相関値抽出手順において、前記第1範囲における画像データは、前記第2範囲内で移動しながら、前記第2範囲内における画像データと比較され、比較ごとに相関値が抽出される、識別プログラム。
【0110】
(B)前記(A)に記載の識別プログラムにおいて、前記入力画像および前記テンプレート画像のそれぞれは、平面視において、円形の画像であり、前記第1範囲は、円形の前記画像の中心点における偏角が、0度から360度の範囲に相当し、前記第2範囲は、円形の前記画像の中心点における偏角が、0度から720度の範囲に相当する、識別プログラム。
【0111】
(C)前記(A)または(B)に記載の識別プログラムを格納した記憶媒体。
【0112】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、実施の形態では、コインの一方の主面(表面)における画像を例にして説明したが、コインの他方の主面(裏面)にも画像がある場合には、裏面にある画像についても、表面の画像と同様にして、識別を行う。また、識別すべきコインが複数種類存在する場合には、それぞれのコインに対応したテンプレート画像を用意し、実施の形態で述べたようにして、識別すればよい。