(58)【調査した分野】(Int.Cl.,DB名)
穴を有する文字の画像を教師データとして用いて生成された第一学習モデルと、穴を有しない文字の画像を教師データとして用いて生成された第二学習モデルとを記憶する記憶部と、
紙幣の記番号を形成する文字の画像である文字画像が穴を有する場合には第一学習モデルを用いて前記文字を認識する一方で、前記文字画像が穴を有しない場合には前記第二学習モデルを用いて前記文字を認識する認識部と、
を具備する紙幣検査装置。
前記認識部は、前記文字画像が存在する領域の画像である領域画像のコントラストを補正し、コントラスト補正後の前記領域画像に基づいて前記第一学習モデルまたは前記第二学習モデルを用いて前記文字を認識する、
請求項1に記載の紙幣検査装置。
前記認識部は、前記紙幣の画像である紙幣画像を第一2値化を用いて2値化し、2値化後の前記紙幣画像を用いて、前記紙幣画像において前記文字画像が存在する領域である存在領域を特定する一方で、前記存在領域の画像である領域画像を前記第一2値化とは異なる第二2値化を用いて2値化し、2値化後の前記領域画像を用いて、前記文字画像が有する穴の数を検出する、
請求項1に記載の紙幣検査装置。
前記認識部は、前記紙幣の画像である紙幣画像において前記文字画像が存在する領域である存在領域の複数の候補を検出し、検出した前記複数の候補に基づいて、前記存在領域を特定する、
請求項1に記載の紙幣検査装置。
前記認識部は、前記複数の候補の数が前記紙幣が有する前記記番号の数より少ない場合に、前記記番号の数に基づいて、前記存在領域の新たな候補を前記複数の候補に追加する、
請求項6に記載の紙幣検査装置。
紙幣の記番号を形成する文字の画像である文字画像が穴を有する場合には、穴を有する文字の画像を教師データとして用いて生成された第一学習モデルを用いて前記文字を認識し、
前記文字画像が穴を有しない場合には、穴を有しない文字の画像を教師データとして用いて生成された第二学習モデルを用いて前記文字を認識する、
処理をプロセッサに実行させるための紙幣検査プログラム。
【発明を実施するための形態】
【0009】
以下に、本願の開示する紙幣検査装置、紙幣検査方法及び紙幣検査プログラムの実施例を図面に基づいて説明する。なお、この実施例により本願の開示する紙幣検査装置、紙幣検査方法及び紙幣検査プログラムが限定されるものではない。また、以下の実施例において、同一の構成には同一の符号を付す。
【0010】
[実施例1]
<紙幣取扱装置の構成>
図1は、実施例1の紙幣取扱装置の構成例を示す図である。
図1は、側面断面図である。
図1において、紙幣取扱装置1は、入出金口11と、切替爪12と、ソレノイド13と、紙幣検査装置14と、一時保留部15と、スタッカ16−1,16−2,16−3と、制御部17と、搬送路P1,P2,P3とを有する。
【0011】
また、紙幣取扱装置1内には、搬送路P1が二つの搬送路P2,P3に分岐する搬送路分岐点PJが存在する。紙幣取扱装置1内において、搬送路P1と、搬送路P2,P3の何れか一方とが搬送路分岐点PJを介して接続されることにより、搬送路接続形態が、搬送路P1と搬送路P2とが接続された形態(以下では「接続形態C1」と呼ぶことがある)と、搬送路P1と搬送路P3とが接続された形態(以下では「接続形態C2」と呼ぶことがある)との間で切り替えられる。搬送路接続形態が接続形態C1にあるときは、搬送路P1と搬送路P2とが一続きの搬送路を形成し、搬送路接続形態が接続形態C2にあるときは、搬送路P1と搬送路P3とが一続きの搬送路を形成する。
【0012】
切替爪12の中心軸CAはソレノイド13と接続されており、切替爪12はソレノイド13により中心軸CAを中心にして回転可能である。切替爪12及びソレノイド13は搬送路分岐点PJ付近に配置され、ソレノイド13により切替爪12が回転させられることにより、搬送路接続形態が接続形態C1と接続形態C2との間で切り替えられる。搬送路接続形態の切替は、制御部17での制御の下で行われる。
【0013】
図2及び
図3は、実施例1の搬送路接続形態の一例を示す図である。
図2には、搬送路接続形態が接続形態C1にある場合を示し、
図3には、搬送路接続形態が接続形態C2にある場合を示す。
【0014】
図2に示すように、ソレノイド13に電流I1が流れると、切替爪12は中心軸CAを中心にして左回りに(反時計回り)に回転し、切替爪12の左端が搬送路分岐点PJに接触することにより、搬送路接続形態が接続形態C1となる。
【0015】
搬送路接続形態が接続形態C1にあるときは、入出金口11に投入された紙幣BLは、搬送路P2を通り、切替爪12の左側局面に沿って反対方向に折り返し、搬送路P1を通って紙幣検査装置14へと搬送され、紙幣検査装置14によって検査される。検査後の紙幣BLは、搬送路P1をさらに先へ進み、一時保留部15に一旦格納される。
【0016】
紙幣検査装置14によって金種の判別または記番号の認識ができずに検査結果が「NG」となった場合は、搬送路接続形態は接続形態C1のままで維持され、一時保留部15に一旦格納されていた紙幣BLは、一時保留部15から排出され、搬送路P1を通り、搬送路分岐点PJで切替爪12の左側局面に沿って反対方向に折り返し、搬送路P2を通って入出金口11へ返却される。
【0017】
紙幣検査装置14によって金種の判別及び記番号の認識ができて検査結果が「OK」となった場合は、
図3に示すように、電流I1と逆方向の電流I2がソレノイド13に流れて切替爪12が中心軸CAを中心にして右回りに(時計回り)に回転し、切替爪12の左端が搬送路分岐点PJから離れることにより、搬送路接続形態が接続形態C2となる。
【0018】
搬送路接続形態が接続形態C2にあるときは、一時保留部15に一旦格納されていた紙幣BLは、一時保留部15から排出され、搬送路P1を通り、搬送路分岐点PJを通過して搬送路P3に入って搬送路P3を進み、判別された金種に応じてスタッカ16−1,16−2,16−3の何れかに収納される。例えば、スタッカ16−1には一万円札が収納され、スタッカ16−2には五千円札が収納され、スタッカ16−3には千円札が収納される。
【0019】
<紙幣検査装置の構成>
図4は、実施例1の紙幣検査装置の構成例を示す図である。
図4において、紙幣検査装置14は、紙幣撮影部21と、金種判別部22と、記番号認識部24と、記憶部23とを有する。
【0020】
紙幣撮影部21は、紙幣検査装置14へ搬送された紙幣BLを撮影し、撮影した紙幣BLの画像(以下では「紙幣画像」と呼ぶことがある)BLPを記番号認識部24へ出力する。
【0021】
金種判別部22は、紙幣検査装置14へ搬送された紙幣BLの金種を判別し、判別した金種を示す情報(以下では「金種情報」と呼ぶことがある)を記番号認識部24へ出力する。金種判別部22は、例えば、紙幣BLの縦横の長さや紙幣の券面の模様等に基づいて金種を判別する。
【0022】
記憶部23は、CNN(Convolutional Neural Network)を用いて生成された学習モデルを記憶する。
【0023】
記番号認識部24は、金種判別部22から入力された金種情報、及び、記憶部23に記憶されている学習モデルを用いて、紙幣撮影部21から入力された紙幣画像BLPに基づいて、紙幣BLの記番号を認識し、認識結果を出力する。
【0024】
<記番号認識部の処理・動作>
図5は、実施例1の記番号認識部の処理例の説明に供するフローチャートであり、
図6〜23は、実施例1の記番号認識部の動作例の説明に供する図である。
【0025】
図5において、ステップS201では、記番号認識部24は、
図6に示すように、紙幣画像BLPにおいて記番号が存在する領域(以下では「記番号存在領域」と呼ぶことがある)の画像(以下では「記番号存在領域画像」と呼ぶことがある)SNP1または記番号存在領域画像SNP2を紙幣画像BLPから抽出する。
【0026】
記番号は、数字やアルファベットが横方向に並ぶことにより表されるため、記番号存在領域は横長の矩形の領域になる。また、例えば、日本銀行券では、紙幣BLを横長になる向きにして見た場合において、記番号は、紙幣BLの右下の箇所に印刷される。そこで、紙幣BLが日本銀行券である場合には、記番号認識部24は、
図6に示すように、紙幣画像BLPの右下の箇所から、横長の矩形の形状を有する記番号存在領域画像SNP1を抽出する。例えば、紙幣画像BLPの左上のコーナーを原点0(ゼロ)として横軸にX、縦軸にYをとった場合、記番号存在領域の左上のコーナーは座標(x1,y1)で表され、記番号存在領域の右下のコーナーは座標(x2,y2)で表される。このため、紙幣BLが日本銀行券である場合には、記番号認識部24は、座標(x1,y1)と座標(x2,y2)とから特定される矩形領域の画像を記番号存在領域画像SNP1として紙幣画像BLPから抽出する。
【0027】
また、特定の外国の紙幣では、
図6に示すように、紙幣BLを横長になる向きにして見た場合において、記番号が、紙幣BLの右辺に沿って横方向に印刷される場合がある。そこで、紙幣BLが特定の外国の紙幣である場合には、記番号認識部24は、
図6に示すように、紙幣画像BLPの右横の箇所から、縦長の矩形の形状を有する記番号存在領域画像SNP2を抽出する。
【0028】
以下では、記番号存在領域画像SNP1,SNP2を「記番号存在領域画像SNP」と総称することがある。
【0029】
ここで、
図7に示すように、紙幣BLの記番号が6つの文字l1〜l6で形成される場合、記番号存在領域SRには、縦横の長さをL1,L2とする規定サイズの領域(以下では「規定サイズ領域」と呼ぶことがある)RR1〜RR6の中にそれぞれ文字l1〜l6が配置される。規定サイズ領域RR1〜RR6の大きさはすべて同一であり、規定サイズ領域RR1〜RR6の各々は等間隔L3で位置する。以下では、規定サイズ領域RR1〜RR6を「規定サイズ領域RR」と総称することがある。
【0030】
図5に戻り、次いでステップS203では、記番号認識部24は、記番号存在領域画像が、
図6の記番号存在領域画像SNP2のように縦長の矩形の形状を有する画像である場合に、記番号存在領域画像を90°回転させることにより記番号存在領域画像の向きを補正する。この補正により、縦長の矩形の形状を有する記番号存在領域画像SNP2は、記番号存在領域画像SNP1のように、横長の矩形の形状を有する記番号存在領域画像に補正される。
【0031】
次いで、ステップS205では、記番号認識部24は、記番号存在領域画像SNPに対して第一2値化処理を行う。
【0032】
例えば、
図8に示すように、記番号存在領域画像SNPが画素(x,y)=画素(1,1)〜画素(6,9)の54画素で形成され、各画素が
図8に示す値の階調値を有すると仮定した場合、記番号認識部24は、以下の2値化処理例1または2値化処理例2のようにして第一2値化処理を行う。
【0033】
<第一2値化の処理例1(
図9)>
記番号認識部24は、固定の2値化閾値TH1を用いて記番号存在領域画像SNPを2値化する。よって例えば、2値化閾値TH1が「210」であった場合、記番号認識部24は
図9に示すように、
図8において210以上の階調値を有する画素の階調値を「255」に変更し、
図8において210未満の階調値を有する画素の階調値を「0」に変更することにより記番号存在領域画像SNPを2値化する。
【0034】
また、記番号認識部24は、金種判別部22から出力される金種情報により示される金種に応じた値の2値化閾値TH1を設定しても良い。
【0035】
<第一2値化の処理例2(
図10,11)>
まず、記番号認識部24は、
図10に示すように、記番号存在領域画像SNPに含まれる複数の画素において第一部分PT1と第二部分PT2とを設定する。次いで、記番号認識部24は、画素(1,1)〜画素(6,9)の54画素において、列ごとに第一部分PT1の階調値の平均値を算出し、算出した平均値を平均値の算出対象となった列の2値化閾値TH2に設定する。よって例えば、第1列〜第4列の2値化閾値TH2は(220+210+200)/3=210と算出され、第5列及び第6列の2値化閾値TH2は(140+130+120)/3=130と算出される。このように、記番号認識部24は、画素(1,1)〜画素(6,9)の54画素において列毎に第一部分PT1を用いて列毎の2値化閾値TH2を算出する。よって、
図11に示すように、記番号認識部24は、第1列〜第4列については、2値化閾値TH2が「210」であるため、
図10において210以上の階調値を有する画素の階調値を「255」に変更し、
図10において210未満の階調値を有する画素の階調値を「0」に変更することにより記番号存在領域画像SNPを2値化する。また、
図11に示すように、記番号認識部24は、第5列及び第6列については、2値化閾値TH2が「130」であるため、
図10において130以上の階調値を有する画素の階調値を「255」に変更し、
図10において130未満の階調値を有する画素の階調値を「0」に変更することにより記番号存在領域画像SNPを2値化する。
【0036】
以上、第一2値化の処理例1,2について説明した。
【0037】
図5に戻り、次いでステップS207では、記番号認識部24は、紙幣BLの記番号を形成する文字の画像(以下では「文字画像」と呼ぶことがある)が存在する領域(以下では「文字存在領域」と呼ぶことがある)CRの候補(以下では「文字存在領域候補」と呼ぶことがある)を記番号存在領域画像SNPにおいて検出する。記番号認識部24は、例えば、2値化画像において背景と隣接する図形画素を追跡する一般的な手法である「境界追跡法」を用いて、文字存在領域候補を検出する。
【0038】
まず、記番号認識部24は、第一2値化後の記番号存在領域画像SNPに対して境界追跡法を適用することにより、
図12に示すように、第一2値化後の記番号存在領域画像SNPに含まれる画像の輪郭線(以下では「画像輪郭線」と呼ぶことがある)COを検出する。次いで、記番号認識部24は、画像輪郭線COを形成する複数の画素(x,y)において、X座標の最小値xmin、Y座標の最小値ymin、X座標の最大値xmax、及び、Y座標の最大値ymaxを検出する。次いで、記番号認識部24は、記番号存在領域画像SNPにおいて、最小値xmin及び最小値yminを有する座標C11=(xmin,ymin)と、最大値xmax及び最大値ymaxを有する座標C12=(xmax,ymax)とを特定する。次いで、記番号認識部24は、記番号存在領域画像SNPにおいて、座標C11から所定の距離(例えば、−X方向に3画素及び−Y方向に3画素の距離)にある座標C21と、座標C12から所定の距離(例えば、+X方向に3画素及び+Y方向に3画素の距離)にある座標C22とを特定する。そして、記番号認識部24は、左上のコーナーを座標C21、右下のコーナーを座標C22とする矩形領域を文字存在領域CRの候補として検出する。ステップS207では、記番号認識部24は、以上のようにして、記番号存在領域画像SNPにおいて、複数の文字存在領域候補を検出する。
【0039】
図5に戻り、次いでステップS209では、記番号認識部24は、ステップS207で検出した複数の文字存在領域候補に基づいて文字存在領域を特定する。以下、文字存在領域の特定例として特定例1〜10を挙げる。
【0040】
<文字存在領域の特定例1(
図13)>
図13に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補の中から、文字存在領域CRのサイズが、規定サイズ領域RRのサイズに基づいて設定された所定のサイズSZ1未満である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、所定のサイズSZ1は、規定サイズ領域RRのサイズの2分の1のサイズに設定される。
【0041】
<文字存在領域の特定例2(
図14)>
図14に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補の中から、文字存在領域CRのサイズが、規定サイズ領域RRのサイズに基づいて設定された所定のサイズSZ2以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、所定のサイズSZ2は、規定サイズ領域RRのサイズの2倍のサイズに設定される。
【0042】
<文字存在領域の特定例3(
図15)>
図15に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補の中から、文字存在領域CRにおいて黒色画素(つまり、第一2値化により「0」の階調値を有することになった画素)の白色画素(つまり、第一2値化により「255」の階調値を有することになった画素)に対する割合が所定値THR以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、所定値THRは20%に設定される。
【0043】
<文字存在領域の特定例4(
図16)>
図16に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補の中から、文字存在領域CRにおける黒色画素の分散数が所定値THN以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。文字存在領域CRにおける黒色画素の分散数は、縦、横、または、斜め方向に連なる一連の黒色画素を一単位としてカウントされる。
図16には、黒色画素の分散数が「6」である場合を一例として示す。
【0044】
<文字存在領域の特定例5(
図17)>
図17に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補の中から、記番号存在領域画像SNPの各辺から所定距離D以内にある候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図17に示す一例では、文字存在領域の複数の候補CR11〜CR17のうち、候補CR11は記番号存在領域画像SNPの左辺から所定距離D以内にあり、候補CR13は記番号存在領域画像SNPの上辺から所定距離D以内にあり、候補CR16は記番号存在領域画像SNPの下辺から所定距離D以内にあり、候補CR17は記番号存在領域画像SNPの右辺から所定距離D以内にある。このため、
図17に示す例では、文字存在領域の複数の候補CR11〜CR17の中から候補CR11,CR13,CR16,CR17が除外され、記番号存在領域画像SNPにおける文字存在領域として文字存在領域CR12,CR14,CR15が特定される。
【0045】
<文字存在領域の特定例6(
図18)>
図18に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補CR21,CR22,CR23の各々において、左上のコーナーのX座標PX21,PX22,PX23を取得し、X座標PX21,PX22,PX23を昇順にソートする。次いで、記番号認識部24は、ソート順に従って、候補CR21に対する候補CR22の距離としてX座標PX21に対するX座標PX22の距離XD1を算出し、候補CR22に対する候補CR23の距離としてX座標PX22に対するX座標PX23の距離XD2を算出する。そして、記番号認識部24は、算出した距離が所定値THX以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図18において、距離XD1が所定値THX未満であり、距離XD2が所定値THX以上である場合、文字存在領域の複数の候補CR21,CR22,CR23の中から候補CR23が除外され、記番号存在領域画像SNPにおける文字存在領域として文字存在領域CR21,CR22が特定される。
【0046】
<文字存在領域の特定例7(
図19)>
図19に示すように、記番号認識部24は、ステップS207で検出した文字存在領域の複数の候補CR31,CR32,CR33の各々において、左上のコーナーのY座標PY31,PY32,PY33を取得し、Y座標PY31,PY32,PY33を昇順にソートする。次いで、記番号認識部24は、ソート順に従って、候補CR31に対する候補CR32の距離としてY座標PY31に対するY座標PY32の距離YD1を算出し、候補CR32に対する候補CR33の距離としてY座標PY32に対するY座標PY33の距離YD2を算出する。そして、記番号認識部24は、算出した距離が所定値THY以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図19において、距離YD1が所定値THY未満であり、距離YD2が所定値THY以上である場合、文字存在領域の複数の候補CR31,CR32,CR33の中から候補CR33が除外され、記番号存在領域画像SNPにおける文字存在領域として文字存在領域CR31,CR32が特定される。
【0047】
<文字存在領域の特定例8(
図20)>
図20に示す例において、記番号認識部24は、まず、文字存在領域の複数の候補CR41〜CR47それぞれの左上のコーナーの座標CP41〜CP47を取得する。次いで、記番号認識部24は、座標CP41〜CP47の値の平均値(以下では「座標平均値」と呼ぶことがある)を算出する。次いで、記番号認識部24は、候補CR41〜CR47それぞれについて、左上のコーナーの座標と座標平均値との間のマハラノビス距離を算出する。そして、記番号認識部24は、算出したマハラノビス距離が所定値THM以上である候補を除外することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図20において、候補CR41〜CR46の各々のマハラノビス距離が所定値THM未満であるのに対し、候補CR47のマハラノビス距離が所定値THM以上である場合、文字存在領域の複数の候補CR41〜CR47の中から候補CR47が除外され、記番号存在領域画像SNPにおける文字存在領域として文字存在領域CR41〜CR46が特定される。
【0048】
ここで、以上の特定例7,8,9(
図18,19,20)は、記番号認識部24が、文字存在領域の複数の候補において、他の候補からの距離が所定値以上である候補を除外する点において共通する。
【0049】
<文字存在領域の特定例9(
図21)>
記番号認識部24は、ステップS207で検出した文字存在領域の各候補において、文字存在領域内の2つの画像輪郭線の間の最短距離が所定値THL未満である場合に、それらの2つの画像輪郭線を統合することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図21に示す例では、文字存在領域CRにおいて、画像輪郭線CO1と画像輪郭線CO2との間の最短距離DMINが所定値THL未満である場合、記番号認識部24は、画像輪郭線CO1と画像輪郭線CO2との間に画素PXAを補うことにより画像輪郭線CO1と画像輪郭線CO2とを統合して1本の画像輪郭線にする。
【0050】
<文字存在領域の特定例10(
図22)>
記番号認識部24は、ステップS207で検出した文字存在領域の候補の数が、紙幣BLの記番号を形成する文字の数より少ない場合に、紙幣BLの記番号を形成する文字の数に基づいて、新たな文字存在領域を追加することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、
図7に示すように紙幣BLの記番号が6つの文字で形成されるのに対し、ステップS207で検出された文字存在領域の候補が
図22に示すように候補CR51〜CR55の5つである場合、文字存在領域の候補の数は、紙幣BLの記番号を形成する文字の数より少ない。また、
図22に示す例では、文字存在領域の候補の数(5つ)と紙幣BLの記番号を形成する文字の数(6つ)との差は1つである。そこで、
図22に示す例では、記番号認識部24は、候補CR51〜CR55にさらに、新たな1つの文字存在領域CR56を追加することにより、記番号存在領域画像SNPにおける文字存在領域を特定する。例えば、記番号認識部24は、候補CR51〜CR55において最も右に存在する候補CR55から間隔L3(
図7)の位置に文字存在領域CR56を追加する。
【0051】
以上、文字存在領域の特定例1〜10について説明した。上記の特定例1〜10の何れか一つまたは複数をステップS207で検出された複数の文字存在領域の候補に対して適用することにより、ステップS209で特定される文字存在領域の各々は、文字画像が存在する領域として特定される。
【0052】
図5に戻り、次いでステップS211では、記番号認識部24は、ステップS209で特定した文字存在領域の数(以下では「特定領域数」と呼ぶことがある)を「N」にセットする。
【0053】
次いでステップS213では、記番号認識部24は、カウンタnの値を「n=1」にセットする。
【0054】
以下、ステップS215〜S229の処理は、ステップS209で特定された複数の文字存在領域の各々を処理の対象として、カウンタnの増加とともに、記番号存在領域画像SNPにおいて最も左にある文字存在領域から右方向に向かって順に行われる。
【0055】
ステップS215では、記番号認識部24は、ステップS209で特定した文字存在領域CRを紙幣画像BLPに設定し、文字存在領域CRの画像(以下では「文字存在領域画像」と呼ぶことがある)を紙幣画像BLPから抽出する。文字存在領域画像には文字画像が含まれている。
【0056】
次いで、ステップS217では、記番号認識部24は、ステップS215で抽出した文字存在領域画像に対して第二2値化処理を行う。第二2値化処理において、記番号認識部24は、例えば、一般的な2値化の手法である「大津の2値化」を用いて文字存在領域画像を2値化する。
【0057】
次いで、ステップS219では、記番号認識部24は、例えばステップS207で用いたのと同一な手法である「境界追跡法」を用いて、第二2値化後の文字存在領域画像において文字画像を検出し、さらに、検出した文字画像が有する「穴の数」(以下では「穴数」と呼ぶことがある)を検出する。ここで、紙幣BLの記番号を形成する可能性がある文字として、0〜9の10個の数字、及び、A〜Zの26個の英字のうちの何れかの文字が挙げられる。これらの46個の文字のうち、1,2,3,5,7の数字、及び、C,E,F,G,H,I,J,K,L,M,N,S,T,U,V,W,X,Y,Zの英字の各文字には穴が無く、0,4,6,8,9の数字、及び、A,D,O,P,Rの英字の各文字は1個の穴を有し、B,Qの各英字は2個の穴を有する。
【0058】
次いで、ステップS221では、記番号認識部24は、ステップS217で大津の2値化を行う際に算出した2値化閾値THOを用いて、第二2値化前の文字存在領域画像のコントラストを補正する。
図23に示すように、記番号認識部24は、まず、文字存在領域画像の全体のヒストグラムHG1を求める。次いで、記番号認識部24は、ヒストグラムHG1に対して2値化閾値THOを設定する。また、記番号認識部24は、ヒストグラムHG1における階調値の最小値MIを検出する。また、記番号認識部24は、文字存在領域画像を形成する全画素のうち、2値化閾値THO以上の階調値を有する画素の階調値を「255」に変更する。また、記番号認識部24は、文字存在領域画像を形成する全画素のうち、最小値MIから2値化閾値THOまでの階調値を有する画素(以下では「注目画素」と呼ぶことがある)の階調値を、最小値MIと2値化閾値THOとに基づいて補正することにより、文字存在領域画像のコントラストを補正する。例えば、記番号認識部24は、
図23に示すように、最小値MIが階調値「0」となり、2値化閾値THOが階調値「255」となるように、ヒストグラムHG1をヒストグラムHG2に変更することにより、注目画素の階調値を補正する。これにより、例えば、最小値MIの階調値を有する注目画素の階調値は「0」に補正され、2値化閾値THOの階調値を有する注目画素の階調値は「255」に補正される。このようなコントラスト補正により、文字存在領域画像のコントラストを高めて、文字存在領域画像において、ノイズである背景部分の階調値に対して、認識対象である文字部分の階調値の比を大きくすることができる。よって、以下のステップS225,S227における文字認識の際に、ノイズである背景部分の影響を最小限に抑えることができるため、文字認識の精度を高めることができる。
【0059】
図5に戻り、次いでステップS223では、記番号認識部24は、ステップS219で検出した穴数が1個以上か否か、つまり、文字画像が穴を有するか否かを判断する。文字画像に穴が有る場合は(ステップS223:Yes)、処理はステップS225へ進み、文字画像に穴が無い場合は(ステップS223:No)、処理はステップS227へ進む。
【0060】
ここで、記憶部23は、第一学習モデルと、第二学習モデルとを記憶する。第一学習モデルは、紙幣BLの記番号として使用される可能性がある文字0〜9,A〜Zのうち、穴が有る文字0,4,6,8,9,A,D,O,P,R,B,Qの画像だけを教師データとする一方で、穴が無い文字1,2,3,5,7,C,E,F,G,H,I,J,K,L,M,N,S,T,U,V,W,X,Y,Zの画像を教師データとせずに、CNNを用いて生成された学習モデルである。一方で、第二学習モデルは、紙幣BLの記番号として使用される可能性がある文字0〜9,A〜Zのうち、穴が無い文字1,2,3,5,7,C,E,F,G,H,I,J,K,L,M,N,S,T,U,V,W,X,Y,Zの画像だけを教師データとする一方で、穴が有る文字0,4,6,8,9,A,D,O,P,R,B,Qの画像を教師データとせずに、CNNを用いて生成された学習モデルである。
【0061】
そこで、ステップS223の判断が“Yes”となる場合には、記番号認識部24は、ステップS225において、第一学習モデルを用いて、コントラスト補正後の文字存在領域画像に対してCNNによる文字認識を行う。一方で、ステップS223の判断が“No”となる場合には、記番号認識部24は、ステップS227において、第二学習モデルを用いて、コントラスト補正後の文字存在領域画像に対してCNNによる文字認識を行う。ステップS225,S227の処理により、記番号認識部24は、文字認識のより認識された各文字と、各文字に対するスコアを取得する。ステップS225またはステップS227の処理後、処理はステップS229へ進む。
【0062】
ステップS229では、記番号認識部24は、文字存在領域画像に含まれる文字を特定する。例えば、ステップS225またはステップS227の処理において、0〜9の9個の文字が認識され、「0」に対するスコアが0.9765、「1」に対するスコアが0.005、「2」に対するスコアが0.004、「3」に対するスコアが0.003、「4」に対するスコアが0.03、「5」に対するスコアが0.04、「6」に対するスコアが0.865、「7」に対するスコアが0.06、「8」に対するスコアが0.05、「9」に対するスコアが0.654であった場合を想定する。この場合において、記番号認識部24は、文字存在領域画像に含まれる文字として、最も大きいスコアを有する「0」を特定する。
【0063】
ここで、記番号認識部24は、最も大きいスコアを有する文字と、二番目に大きいスコアを有する文字との間において、スコアの差の絶対値が所定値THS未満である場合には、文字存在領域画像に含まれる文字を不明と判断しても良い。例えば、閾値THSが0.15に設定されている場合には、上記の例では、最も大きいスコアを有する文字「0」に対するスコアが0.9765、二番目に大きいスコアを有する文字「6」に対するスコアが0.865であり、スコア間の差の絶対値は0.1115となって閾値THS未満であるため、記番号認識部24は、文字存在領域画像に含まれる文字を不明と判断する。
【0064】
また例えば、記番号認識部24は、最も大きいスコアを有する文字に存在する穴の数が、ステップS219で検出した穴数に一致しない場合には、文字存在領域画像に含まれる文字を不明と判断しても良い。
【0065】
また例えば、記番号認識部24は、境界追跡法を用いて文字画像の周長を検出し、検出した周長を式(1)に従って正規化し、正規化した周長Pに対応する文字群の中に、最も大きいスコアを有する文字が存在しない場合には、文字存在領域画像に含まれる文字を不明と判断しても良い。式(1)において、「D」は境界追跡法を用いて検出した文字画像の周長であり、「W」は文字画像の幅であり、「H」は文字画像の高さである。
正規化した周長P=D/SQRT(W×H) …(1)
【0066】
次いで、ステップS231では、記番号認識部24は、カウンタnの値が特定領域数Nに達したか否かを判断する。カウンタnの値が特定領域数Nに達していない場合は(ステップS231:No)、処理はステップS233へ進み、カウンタnの値が特定領域数Nに達した場合は(ステップS231:Yes)、処理はステップS235へ進む。
【0067】
ステップS233では、記番号認識部24は、カウンタnの値をインクリメントする。ステップS233の処理後、処理はステップS215に戻る。
【0068】
一方で、ステップS235では、記番号認識部24は、複数の文字から形成される記番号の認識結果を出力する。例えば、
図7に示すように紙幣BLの記番号が6つの文字l1〜l6で形成される場合、記番号認識部24は、記番号の認識結果として、カウンタnの値の「1」から「6」までの増加に伴って順次ステップS229の処理で特定した6つの文字を出力する。例えば、記番号認識部24は、認識結果として「BX3970」と出力する。
【0069】
但し、記番号認識部24は、上記のようにして不明と判断した文字を文字「?」に置き換えて出力する。例えば、記番号「BX3970」において「9」が不明と判断された場合、記番号認識部24は、認識結果として「BX3?70」と出力する。
【0070】
以上のように、実施例1では、紙幣検査装置14は、記憶部23と、記番号認識部24とを有する。記憶部23は、穴を有する文字の画像を教師データとして用いて生成された第一学習モデルと、穴を有しない文字の画像を教師データとして用いて生成された第二学習モデルとを記憶する。記番号認識部24は、文字画像が穴を有する場合には第一学習モデルを用いて紙幣BLの記番号を形成する文字を認識する一方で、文字画像が穴を有しない場合には第二学習モデルを用いて紙幣BLの記番号を形成する文字を認識する。
【0071】
こうすることで、紙幣BLの記番号を形成する文字の特徴に応じた学習モデルを用いて文字認識が行われるため、記番号の認識精度を高めることができる。
【0072】
また、実施例1では、記番号認識部24は、文字存在領域画像のコントラストを補正し、コントラスト補正後の文字存在領域画像に基づいて第一学習モデルまたは第二学習モデルを用いて、記番号を形成する文字を認識する。
【0073】
こうすることで、文字存在領域画像において背景部分の階調値に対する文字部分の階調値の比が大きくなるため、記番号の認識精度をさらに高めることができる。
【0074】
また、実施例1では、記番号認識部24は、紙幣画像を第一2値化を用いて2値化し、2値化後の紙幣画像を用いて、紙幣画像において文字存在領域を特定する。一方で、記番号認識部24は、文字存在領域画像を第二2値化を用いて2値化し、2値化後の文字存在領域画像を用いて、文字画像が有する穴の数を検出する。第二2値化は、第一2値化よりも、2値化に伴う計算量が多い一方で、2値化の精度が高いものであることが好ましい。例えば、記番号認識部24は、第一2値化として上記の処理例1または処理例2に示す2値化を用い、第二2値化として大津の2値化を用いる。
【0075】
こうすることで、多くの画素から形成される紙幣画像に対しては計算量が少ない第一2値化を適用し、紙幣画像よりも少ない画素から形成される文字存在領域画像に対しては精度が高い第二2値化を適用できるため、全体として、計算量を抑えつつ要求精度を満たす2値化を行うことができる。
【0076】
また、実施例1では、記番号認識部24は、紙幣画像BLにおいて文字存在領域の複数の候補を検出し、検出した複数の候補に基づいて、文字存在領域を特定する。例えば、記番号認識部24は、上記の特定例1〜10の何れか一つまたは複数に従って文字存在領域を特定する。
【0077】
こうすることで、文字存在領域の特定精度を高めることができる。
【0078】
[実施例2]
<紙幣検査装置のハードウェア構成>
紙幣検査装置14は、次のようなハードウェア構成により実現することができる。紙幣撮影部21は、例えばカメラにより実現される。金種判別部22は、例えば光センサや磁気センサ等の各種センサにより実現される。記番号認識部24は、例えばプロセッサにより実現される。記憶部23は、例えばメモリによって実現される。プロセッサの一例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が挙げられる。メモリの一例として、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory),ROM(Read Only Memory),フラッシュメモリ等が挙げられる。
【0079】
また、記番号認識部24での上記説明における各処理は、各処理に対応するプログラムをプロセッサに実行させることによって実現しても良い。例えば、記番号認識部24での上記説明における各処理に対応するプログラムが紙幣取扱装置1が有するメモリに記憶され、紙幣取扱装置1が有するプロセッサによってプログラムがメモリから読み出されて実行されても良い。また、プログラムは、任意のネットワークを介して紙幣取扱装置1に接続されたプログラムサーバに記憶され、そのプログラムサーバから紙幣取扱装置1にダウンロードされて実行されたり、紙幣取扱装置1が読み取り可能な記録媒体に記憶され、その記録媒体から読み出されて実行されても良い。紙幣取扱装置1が読み取り可能な記録媒体には、例えば、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、CD−ROM、DVD、及び、Blu−ray(登録商標)ディスク等の可搬の記憶媒体が含まれる。また、プログラムは、任意の言語や任意の記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。また、プログラムは必ずしも単一的に構成されるものに限られず、複数のモジュールや複数のライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものも含む。