説明

パターン認識における遺伝アルゴリズムを用いたマスクの最適化方法

【目的】 本発明の目的は、紙葉類等のパターン認識において、生物の進化過程のメカニズムをマスクパターンの決定に応用し、目標とする識別性能を満たす最適なマスクを生成する遺伝アルゴリズムを用いたマスクの最適化方法を提供することにある。
【構成】 パターン認識にニューラルネットワークを使用し、画像におけるマスクの被覆位置を符号化して個体の遺伝子とする。生物の進化過程の基本特性である交差、淘汰、突然変異をコンピュータで模倣することで遺伝子を組み替える。この動作を数世代繰り返すことでマスクを全数調査することなく効率良く最適化する。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、紙幣等の紙葉類の光学パターン画像にマスクを施してニューラルネットワークによって紙葉類を識別する際に用いるパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法に関する。
【0002】
【従来の技術】従来の紙幣等の紙葉類の識別方法は、金種毎に異なる紙幣幅を金種決定の大きな要素としている。さらに、日本の円紙幣は色相や透かし部の位置等が金種毎に異なっているので、任意の特徴ある比較ポイントを検査するだけで十分な識別性能を得ることができる。ところが、例えばアメリカのドル紙幣のように同一寸法、凹版単色印刷、類似絵柄配置である紙幣では十分な識別性能を得ることが容易には出来なかった。このような紙幣を識別する場合、紙幣の表面を光学的に2次元のデータとして読み込み、読み込んだ画像の全面検索を行えばよいが、処理する画像データ量が多いため現存するマイクロコンピュータシステムでは処理時間の問題により実現が困難である。そこで、紙幣に印刷されている金種を示す数字を部分的に読み込んで識別したり、紙幣の搬送に伴う1次元の光学的なデータにより識別する方法が採られている(米国特許 第4,973,851 号参照)。
【0003】このような識別方法に対しさらに識別性能を向上させるものとして、生物の神経回路網の情報伝達をモデルにしたニューラルネットワークを用いたものが開発されている。このニューラルネットワークは、情報の内挿、学習によるアルゴリズムの自己組織化及び並列処理などの優れた特徴を有し、種々のパターン認識に適している。特に、学習によるアルゴリズムの自己組織化は、従来の経験による紙幣の特徴パラメータの探索業務を軽減することが可能であるとされている。従来のニューラルネットワークを用いたものとしては、図19に示すようなものがある。図19の認識装置は、被識別対象1の文字等をイメージセンサ2で読取って入力画像3を得る。図19の入力画像3の場合、縦,横各8分割なので、D(i.j)(但しi=1〜8、j=1〜8)の64画素の入力情報として取得する。そして、この64個の各画素データを分離演算部5に直接入力する。このとき、分離演算部5の入力層のニューロ素子は、各画素に対応した64個が必要となる。そして、この入力情報に基づきニューラルネットワークを用いてパターンの認識を行なうようになっている。
【0004】ところが、実際の紙幣の画像データの大きさはセンサの画像採取領域に依存し、216 ×30画素であるので、入力層のニューロ素子数を6480個、隠れ層のニューロ素子数を6480個、出力層のニューロ素子数を7個(7金種としたとき)とすると、神経細胞ユニットをつなぐ各重みの数は6480×6480+6480×7で合計4×10という膨大なものとなってしまう。そこで、識別する紙幣間で類似の部分を除くようにして、特徴部分のみを抽出して紙幣の識別を行うことが考えられた。即ち、紙幣の光学パターンの画素の幾らかをマスクすることによって、特徴点を浮き出させることが考えられた。図20(A)に示すように、画像フレーム内でn個のカラムマスクの候補があるとすると、マスクをするを“1”、マスクをしないを“0”とする2通りの場合がそれぞれのカラムマスクについて考えられる。つまりマスクは{1、0}のパターンで表すことができ、全てのマスクパターンは同図(B)のように2通りとなる。
【0005】例えばn=3の場合には図21(A)に示すように、画像フレームは3分割される。そして、そのマスクパターンは同図(B)のように8通りとなる。これを画像フレームに戻すと図22に示すようになる。これらのうちマスクパターン1は画像データ全面をマスクすることを意味し、ニューラルネットワークへの入力は常に0になるのでマスクとしては不適である。マスクパターン8はマスクを全くしないことであるが、画像の合計値はニューラルネットワークの入力として問題ないので、そのままマスクとして取り扱うこととする。従って、マスクパターン2から8までを用いてニューラルネットワークの学習を行い、学習収束後に未学習のデータを識別評価する。例えば円紙幣(千円札、五千円札、一万円札)を用いて図23に示すように入力層のニューロ素子数を1個、隠れ層のニューロ素子数を6個、出力層のニューロ素子数を3個とした場合は、マスクパターンの種類が少ないので全ての場合における学習を行い、その結果である汎化能力、即ち未学習データにおける紙幣鑑別率の良さを調査すればよい。この例では図24に示すようにマスクパターン6の鑑別率が第1順位であり、最適マスクと決定できる。
【0006】
【発明が解決しようとする課題】しかしながら、実際の紙幣の画像データの大きさが216 ×30画素であることを考えると、マスクがカラム状であればマスクの大きさは横1画素×縦30画素となる。画像データの全エリアのマスクを考えるとマスクパターンは2216 −1通り(全面マスクは含めず)となり、上述したようなマスクの最適化方法ではほとんど対処できないことになる。マスク位置を乱数を用いて決定する方法も考えられるが、識別に無効な部分を被覆すると画像データの固有の特徴量とならず、効率的な学習が行えないという問題や、マスク位置によっては必ずしも学習が収束しないという問題があった。
【0007】本発明は上述の如き事情よりなされたものであり、本発明の目的は、紙葉類のパターン認識において生物の進化過程のメカニズムの三大特徴である交差、淘汰、突然変異をコンピュータでシミュレーションすることにより、紙葉類識別に最適なマスクを決定するというパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法を提供することにある。
【0008】
【課題を解決するための手段】本発明はパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法に関するもので、本発明の上記目的は、識別すべき紙葉類の光学パターン画像を入力して画像データを記憶し、この記憶した画像データから前記紙葉類のみの光学パターン画像を抽出し、この抽出した光学パターン画像に対して複数種のマスクを施し、前記マスクを符号化して遺伝子として設定し、前記マスクからなるマスクパターンをかけた画像データ総和値をニューラルネットワークに入力して前記紙葉類の識別を学習させ、その結果を評価し、所定の識別達成度に有るか否かに応じて前記マスクパターンを淘汰し、残ったマスクパターンに対して遺伝子組み替え或いは、突然変異を実行して世代交代させ、この世代交代させたマスクパターンを用いて前記ニューラルネットワークの学習を実行するという一連の処理を、所定の世代交代数内で所定の識別達成値に達するまで繰り返して前記マスクを最適に配置することによって達成される。
【0009】
【作用】本発明では、脳や神経回路網における生体系の適応的な情報処理の仕組みを利用するに際して、遺伝子情報に基づく生物の環境適応的な進化課程を模擬した遺伝アルゴリズムを採用して紙葉類識別装置の識別能力を改善する。上記遺伝アルゴリズムは、自然界における生物の進化(集団遺伝)モデル、すなわち世代を形成している個体の集合(個体群)の中で、環境への適応度の高い個体がより多く生き残り、また交配及び突然変異を起しながら次の世代を形成していく課程を模した最適化法である。最適化問題の目的化関数を紙葉類の鑑別率に、解の候補を紙葉類の画像のマスクパターンに、遺伝子を画像にマスクを施す或いは施こさないという事象に、染色体を解の候補でもあるマスクパターンに、個体を種々のカラムマスクのパターンの集合体にそれぞれ対応させる。まず、初期集団を構成する。一般には決められた個体数の染色体をランダムに生成するので、集団は任意に決定されることになる。次に、各々の個体に対して適応度の評価を行う。基本的には高い鑑別率を有する個体が高い適応度を有するものと評価する。従って、高い適応度が得られた個体を任意に集め、それを基に選択交配を行う。基本的には、適応度の高い個体がより多くの子孫を残す機構となる。これによって、より良い遺伝子が集団中に広がる選択交配を行う個体対が決定されたら(自己と配偶者と呼ぶことにする)、遺伝子の交差を行う。基本的には配偶者の遺伝子の一部を採ってきて子孫の染色体を作る。次に、突然変異を加える。これはある確率で染色体の一部の遺伝子の値を変える操作である。そしてこの新たな集団に対して適応度評価を行ない、淘汰を行って次世代とする。このように選択交配、突然変位を施し、次々と新たな世代を作っていく。各世代において個体が揃ったところで、その個体が持つ染色体すなわちマスクパターンを紙葉類の画像パターンに適用して、おのおの非マスク部分の総和であるスラブ値をニューラルネットワークに入力し学習をさせてニューロ素子間のシナプスを形成させる。即ち、入力層、隠れ層、出力層の重み係数値を学習によって決定させるのである。これら一連の学習終了後、学習データとは異なる未学習データを用い、最適化された重みを用いたニューラルネットワークで評価し、それぞれのスラブ値群の汎化機能を確認する。この時、一定の識別性能に満たない入力を発生したカラムマスクをその世代の配列パターンから淘汰してカラムマスクを最適化する。
【0010】
【実施例】以下、本発明のパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法を適用する紙幣識別装置の実施例を、図面を参照して説明する。図1は本発明方法を適用する識別装置の外観構成を示しており、紙幣識別装置100の傾斜した前面右部にはパネル部120が設けられており、上部には識別すべき紙幣(米ドル紙幣)10を整列して収納するためのホッパ101が設けられている。ホッパ101に収納された紙幣10は、繰出しローラー110を有して成る紙幣繰り出し部102及び103から順次1枚ずつ繰り出され、選択希望金種の紙幣は第1スタッカ104に保留され、金種の判定された紙幣は第2スタッカ105に保留され、リジェクト紙幣はリジェクトスタッカ106に保留される。また、第1スタッカ104の上方には開閉可能なガイド板107が配置されており、第2スタッカ105の上方には開閉可能なガイド板108が配置されている。この機構に関しては後述する。
【0011】パネル部120には電源スイッチ121が設けられていると共に、識別動作のスタートとストップをトグル式に指示するスタート/ストップボタン122が設けられ、表示のクリアを指示するクリアボタン123が設けられている。その下方には、計数した枚数(金額)等を表示する表示部130が設けられており、更に紙幣識別装置100の故障部位及び内容を表示するガイダンス表示部124が設けられている。そして、識別モード、学習モード、テストモードを順次選択して切換えるモードスイッチ125と、指定枚数になれば計数を停止するためのバッチモードを設定するバッチスイッチ126と、押すたびに停止枚数を増加(例えば10枚毎)して指定枚数を設定するための枚数指定スイッチ127と、スタート/ストップボタン122が押され、最初に識別した紙幣以外の金種が識別されたときに異金種としてリジェクトする異金種リジェクト設定ボタン128とが縦列に設けられている。さらに、最下部には、紙幣の汚れを検知して損券としてリジェクトするレベルを設定するための損券レベル設定スイッチ129Aと、テープが貼られた紙幣を検出する場合のテープ長を設定するテープ長設定スイッチ129Bとが設けられている。
【0012】図2は紙幣識別装置100の内部機構を示しており、ホッパ101に収納された紙幣10は1枚ずつ繰り出しローラ110で繰り出され、搬送路P1を経てローラ111で方向変換されて後に搬送路P2を経てローラ112に搬送される。ローラ112の搬送出口部には、搬送路P3又はP8への切換えを行なう通路切換部材113が設けられており、搬送路P8へ送られた紙幣は搬送路P9を経てリジェクトスタッカ106に保留される。また、通路切換部材113で搬送路P3へ送られた紙幣は更にローラ114へ送られ、ローラ114の搬送出口部に設けられた通路切換部材115によって、搬送路P4又はP6へ切換えられて搬送される。搬送路P4へ送られた紙幣はローラ116を介して搬送路P5に送られ、その後に紙幣繰り出し部102に周設されている羽根部材を介して第1スタッカ104に保留され、搬送路P6へ送られた紙幣はローラ117を介して搬送路P7に送られ、その後に紙幣繰り出し部103に周設されている羽根部材を介して第2スタッカ105に保留される。第1スタッカ104に保留された紙幣は、ガイド板107を開けることによって外部に取り出され、第2スタッカ105に保留された紙幣も同様に、ガイド板108を開けることによって外部に取り出される。そして、搬送路P1には、搬送される紙幣の光学パターン画像を読取るためのラインセンサ11が、発光部12と一体的に配設されている。又、ローラ111等の搬送繰り出し手段には、ラインセンサ11の出力データを取込むタイミングを定めるサンプルパルスSPを出力するロータリエンコーダ13が接続されている。更に、図示はしていないが各搬送路P1〜P9には紙幣通過を検知するためのセンサが設けられており、第1スタッカ104、第2スタッカ105及びリジェクトスタッカにも紙幣の保留及び取り出しを検知するためのセンサが設けられている。
【0013】表示部130の詳細は図3に示すようであり、最上段は計数した枚数又は金額を表示する数量表示欄131であり、中段にはバッチ処理の停止枚数を表示するバッチ表示欄132が設けられており、最下段にはモードスイッチ125が選択しているモードを点灯表示するためのモード表示灯133が設けられている。本発明では、ホッパ101に収納する紙幣10の表裏や向きには限定のないようにしているが、その搬送方向と表裏に対応して図4の(A),(B)に示す如きA〜D方向を定義している。即ち、本発明では米ドル紙幣の各金種について、A〜D方向のいずれについても識別できるようになっている。
【0014】図5は紙幣識別装置100の内部構成を示すブロック図であり、発光部12からの光は搬送路P1上の紙幣表面で反射されてラインセンサ11に入力され、ラインセンサ11の読取信号は時系列にデータ処理部140に入力され、サンプルパルスSPの入力に従って処理されてメモリ141に図6の141Aで示すようにフレーム画像として記憶される。メモリ141の記憶データから紙幣切出部142は、図6の142Aで示すように紙幣部分のみを切出してその切り出し画像をニューロ回路150に入力し、ニューロ回路150の識別結果DRは、CPU,ROM,RAM等で成る識別装置制御部160に入力される。識別装置制御部160は発光部12の照度を制御すると共に、通路切換部材113及び115を制御し、表示部130及びガイダンス表示部124の表示を制御する。又、識別装置制御部160にはスタート/ストップボタン122等の設定入力手段が接続され、繰り出しローラ110等の搬送繰り出し手段の駆動を制御するようになっており、更に各種センサからの検知信号が入力されるようになっている。
【0015】図7はニューロ回路150の詳細構成例を示すブロック図であり、認識対象の紙幣10はCCD等で成るイメージセンサ11で計測され、適宜画像処理されてメモリ141内にフレーム画像141Aが得られる。フレーム画像141Aは紙幣切出部142で紙幣部分のみが切り出されて142Aのように紙幣イメージが特定される。次に、前処理部151にてカラムマスク41〜4nを紙幣イメージデータ142Aに適用してマスクの掛かっていない部分の画素データの総和値(スラブ値)SB1〜SBnを得る。このスラブ値SB1〜SBnはニューラルネットワークの分離演算部152に入力され、予め判定用紙幣のパターン分類に最適に調整された重みにより分離演算値SPが算出される。分離演算値SPは判定部153に入力され、分離演算値SPの中で最大値を有するパターンが対象物の紙幣10のパターン画像として出力される。前処理部151内のカラムマスク41〜4nは搬送方向と平行に細長い帯状のカラムマスクであり、それぞれが異なる小区画を被覆するものである。そして、これらのカラムマスク41〜4nは、後述する遺伝アルゴリズムにより最適化される。
【0016】ここで、カラムマスクを用いた前処理部151について説明する。本発明でカラムマスク41〜4nを用いる理由は、次のことによる。図8に示すように8×8のマトリクス上の“0”と“1”の2値画像において、画像の特徴量として画素値の総和であるスラブ値(2値画像の“1”の数)を用いた場合、図8(A)では文字“E”を特徴づける値として“14”が得られ、同図(B)では文字“H”を特徴づける値として“12”が得られる。従って、スラブ値を用いることによって“E”と“H”が分離可能となる。しかしながら、異なるパターンを有する画像でもスラブ値が等しくなる場合が存在する。例えば、図9(A)では文字“F”のスラブ値は“10”であるが、同図(B)の文字“K”のスラブ値も“10”であり、分離不可能となる。このような問題に対しては、図10(C)に示すような入力画像の画素に対応する特定の棒状領域が被覆されたカラムマスクを導入することにより解決できる。図10(C)のマスクで図9(A)の画像を覆うと図10(A)に示す画像となり、この場合のスラブ値は“8”となる。一方、図10(C)のマスクで図9(B)の画像を覆うと図10(B)に示す画像となり、スラブ値は“9”となる。このようにカラムマスクを導入することにより、“F”と“K”も分離可能となる。
【0017】そこで、このように種々の画像を分離するために、図10(C)に示すような予めマスク内の複数の長形状の被覆される部分の位置を選定しておく。この場合、ただ一つのこのようなマスクによって、種々の画像を分離できるスラブ値を生成する確率は極めて小さい。しかしながら、前述のように異なる種々のカラムマスクを使用することによって、同じ画像でも異なるスラブ値列を得ることができる。このスラブ値列のいずれかが画像間で異なることが多く、種々のカラムマスクを利用することによって、画像間の分離能力を確率的に高めることが可能である。なお、上述の複数の異なるカラムマスクを使用することは、次のような物理的な意味を有している。つまり、3次元物体を他方向から視点を変えて観測する場合、同一の対象でも異なる情報を得ることができる。これと同様に、種々のカラムマスクを用いることは2次元平面内で視点を変えて画像を観測することになり、前述のように同一の画像でも異なる情報を生成することが可能となる。この場合、前処理で入力画像が種々の異なるカラムマスクで覆われ、被覆されない画素の総和がそれぞれに対応したスラブ値SB1〜SBnとなり、入力層のニューロ素子と一対一に対応している。さらに、出力層のユニット値は判定パターンに対応している。
【0018】図11は、マスク41〜4nの如き垂直方向のカラムマスクの効果を示しており、同図(A)の下移動入力画像と同図(B)の上移動入力画像に対して同一なスラブ値“5”を得ることができ、入力画像が上下の垂直方向ずれを生じても不変なスラブ値を得ることができる。なお、紙幣は短手方向に搬送され、搬送時には、紙幣が搬送通路に対して直角に保持されて搬送される場合は極めて稀で、普通は左乃至右側に少なからず先行して搬送されるという、いわゆる斜行搬送が起きる。斜行に対してもカラムマスクはロウマスク(横手方向棒状マスク)と比べると、その長辺長さが短い(カラムマスクの長手長さは、紙幣の短手方向の長さであり、ロウマスクのそれは紙幣の長手方向の長さであって、カラムマスクの方が短い)ので変化する画素領域が少なくその影響を受けにくい。実施例の場合には、斜行角±8°までを許容するようにしている。
【0019】次に、上述の前処理部151で前処理された情報を入力して分離演算を行なう分離演算部152について説明する。階層構造の分離演算部152は、大別すると入力層,隠れ層,出力層の3層から成っている。図12に示すように入力層は、前処理部151からの各マスクの種類に一対一に対応するようにニューロ素子が設けられており、各マスク種類により前処理されたスラブ値(マスク処理された後の画素数の総和)を対応するニューロ素子に入力する。隠れ層は少なくとも1つのニューロ素子の層から成り、入力層の情報を分離演算して出力層に伝達する役割を果たしている。この隠れ層が多くなればそれだけ、入力層の各ニューロ素子の情報の変動に対しても不変に各パターンの各々に分離して演算することが可能となる。出力層には、識別すべきカテゴリーに一対一に対応するようにニューロ素子が設けられている。そして、学習により完成したニューロ素子間の重み係数による出力ユニット値を出力ユニット数個分算出する。この複数個の出力ユニット値(0〜1の間の値を採る)の最大値(通常検査紙幣の金種の出力ユニットで0.99ぐらい)と、準最大値(2番目の金種の候補で0.2以下)とを抽出する。次に、最大値が閾値1(通常0.6)よりも大きいかどうかを判断し、小さいときには、学習データから除く。そして、(最大値−準最大値)が閾値2(通常0.4)より大きいかどうかを判断し、(最大値−準最大値)が小さい場合には排除し、大きい場合には最大値を有するユニットのパターンを評価紙幣の判定パターンと決定する。ここで、最大値と準最大値をチェックするのは、金種間の誤鑑を防ぐためである。例えば1$〜100$の米ドル紙幣を識別する時には、出力層のニューロ素子が上から順に1$〜100$の金種に対応し、識別する時には、該当するニューロ素子が1に最も近い値、即ち最大値を出力し、他のニューロ素子は0に近い値を出力する。1$紙幣を識別する時には、出力層の最上位のニューロ素子が最大値を出力し、判定パターンと決定する。
【0020】同様に、上述の紙幣識別の際には出力層のニューロ素子が上から順に1$、2$、5$、10$、20$…100$と言うように7金種×4方向の28個のニューロ素子が一対一に対応している。そして、この入力層から出力層までのニューロ素子同士を接続し、信号を受け渡す機構をシナプスという。シナプスは、ニューロ素子同士の結合の強さを重み付け関数で記憶している。1つのニューロ素子は、シナプスを通じ前段の層の複数のニューロ素子から信号を受取り、経由してきたシナプスが持つ重みを乗算して入力値とする。ニューロ素子は、それが結合している全てのニューロ素子からの信号を受取ると、入力値の総和をとる。総和の値が予めニューロ素子に設定した閾値を越えるとニューロ素子が“発火”し、次の後段の層のニューロ素子に出力信号を送り、この処理を繰返して出力層から情報を出力する。この各々のシナプスの重みは識別対象に対応して、予め次の数1で与えられるバックプロパゲーション法による学習により決定されている。
【数1】


また、重みの修正は、各パターンの提示毎に行なう。収束判定は、各パターン毎に得られる出力層の値と教師値との差の2乗の総和が収束判定誤差以下になった場合、または提示回数が最大提示回数に達した場合としている。ここで、提示回数とは、米ドル1$から100$までの7金種分の全てのパターンに教師を提示した場合を1回として定義する。学習データは米ドル1$から100$までの7金種分までをニューラルネットワークに逐次的に提示する。さらに、認識能力の評価規範として次式で与えられる鑑別率ESを用いる。
【数2】ES=正しく認識された事象の個数/全事象の評価個数×100次に、判定部153について説明する。判定部153は、分離演算部152の出力層から出力される情報を入力し、その中から最大値を判別し、その最大値のニューロ素子に対応するカデゴリーと判別する。例えば、出力層のニューロ素子が上から1$紙幣のA方向、1$紙幣B方向、1$紙幣C方向のカデゴリーに対応している場合に、最上位のニューロ素子から最大値の出力が出ていれば“1$A方向”であると判別する。
【0021】このような構成において、その動作例を図13のフローチャートにより説明する。ホッパ101に紙幣10を載置して後にスタート/ストップボタン122を押すと、識別装置制御部160は搬送繰り出し手段を駆動し、繰り出しローラ110によって紙幣10を1枚ずつ搬送路P1に繰り出す。繰り出された紙幣10は発光部12からの光で照射され、その反射光がCCD等で成るラインセンサ11に入力され、その読取信号がデータ処理部140に入力される。データ処理部140にはロータリエンコーダ13からのサンプルパルスSPが入力され、メカクロックの所定クロック毎に掃引を開始し、搬送方向に4mm間隔で、横方向には1mmピッチとする1ライン分の画素出力をAD変換し、変換されたデジタル数値をメモリ141に書込むことにより、紙幣10の光学イメージを記憶手段に入力することができる(ステップS1−S5)。本例のメモリ141は、紙幣1枚に付き横方向256mm×縦方向128mmの大きさ分用意している。紙幣の大きさは、米ドル紙幣の場合には156mm×66mmであるので、次ステップでマスクをする場合に、非紙幣部分にマスクを設定することを避けるために、紙幣切出部142はメモリ141に展開された画像フレーム内の紙幣エッジを抽出し(ステップS6)、紙幣部分のデータを特定して切り出し(ステップS7)、紙幣の部分が画像処理されて入力画像を得る。
【0022】光学系は反射型センサなので、媒体の無い部分の最暗部のAD値の所定倍した閾値を用い、紙幣媒体の有り無しを判断して、明るい部分を取出す。透過型センサを用いる場合には、逆に設定した閾値よりも暗い場所が紙幣の部分である。紙幣切出部142で切出された画像データはニューロ回路150に入力される。ニューロ回路150の前処理部151はマスク情報を読み込み(ステップS8)、そのマスク情報に基づくスラブ値を作成する(ステップS9)。スラブ値の数が入力ユニット数に到達するまでステップS8,S9の処理を繰り返し(ステップS10)、到達したら分離演算部152は学習により完成したニューロ素子間の重み係数による出力ユニット値を算出する(ステップS11)。そして、出力ユニット値(0〜1の間の値をとる)の最大値(通常検査紙幣の金種の出力ユニットで0.99ぐらい)と、準最大値(2番目の金種の候補で0.2以下)とを抽出する(ステップS12)。次に、最大値が閾値1(通常0.6)よりも大きいかどうかを判断し(ステップS13)、小さいときには学習データから除く(ステップS15)。そして、(最大値−準最大値)が閾値2(通常0.4)より大きいかどうかを判断し(ステップS14)、(最大値−準最大値)が小さい場合には排除し(ステップS15)、大きい場合には最大値を有するユニットのパターンを評価紙幣の判定パターンと決定する(ステップS16)。
【0023】判定部153は、分離演算部152の出力層から出力される情報を入力し、その中から最大値を判別し、その最大値のニューロ素子に対応するカデゴリーと判別する。そして、その識別結果DRが識別装置制御部160に入力される。上記識別動作中に紙幣は搬送路P1,P2を搬送され、ローラ112に達するまでには、識別装置制御部160が入力した識別結果DRに基づいて通路切換部材113,115を駆動する。すなわち、希望金種の紙幣と識別した場合は通路切換部材113をローラ112側に回転させて搬送路P3から退避させ、通路切換部材115を搬送路P6上に突き出させるので、紙幣は搬送路P3,P4,P5を搬送され、紙幣繰り出し部102により繰り出されて第1スタッカ104に保留される。また、希望しない金種の紙幣と識別した場合は通路切換部材113をローラ112側に回転させ、搬送路P3から退避させ、通路切換部材115をローラ114側に回転させ搬送路P6から退避させるので、紙幣は搬送路P3,P6,P7を搬送され、紙幣繰り出し部103により繰り出されて第2スタッカ105に保留される。そして、金種の識別ができない場合には通路切換部材113を搬送路P3に突き出させ、紙幣は搬送路P8,P9を搬送されてリジェクトスタッカ106に保留される。識別装置制御部160は、センサから紙幣の保留検知信号を受けると、その枚数や金額等を表示部130に表示する。そして、金種の決定が全て終了していなければステップS11に戻って上述した処理を繰り返す(ステップS17)。
【0024】ここで、本発明のパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法を図14のフローチャートによって説明する。まず、N種類の任意のカラムマスクを設定する(ステップS21)、それぞれのカラムマスクを{1,0}のビット、つまり遺伝子として取り扱い、8ビットで構成されるカラムマスクパターンを染色体として取扱う。本実施例では、染色体であるカラムマスクパターンの数量1個で1個体を形成する(ステップS22)。次に、上記の初期個体を用いて各カラムマスクにより被覆されない画素を合計し、スラブ値を作成する。これらのスラブ値からニューラルネットワークの入力情報を作成する(ステップS23)。作成した入力毎に各金種の分離学習を行う。この分離学習はバックプロパゲーション法によって行われ、階層ネットワークの各ユニット間に割付けられる重み係数が入出力関係を一意に規定する教師データを与えることによって最適化されて行く。
【0025】例えば図15の第1世代であるA,B,Cの3パターンの汎化能力は図17に示すようにパターンAが90%、Bが92%、Cが80%ある。次に第1世代のマスク間でその遺伝子の一部、つまり特定の位置のビットを相互に入れ換える(ステップS24〜S26)。図16ではパターンA及びBを1/2ずつ入れ換えてパターンA´とした場合を示す。そして、上記の遺伝子の入れ替え、つまり被覆位置の入れ替えを行った新しいカラムマスクを用いて、被覆されない画素の合計であるスラブ値、即ちニューラルネットワークの入力を作成する。その後、上述と同様に、残された優良カラムマスク間で遺伝子の一部を相互に入れ替え、新しいカラムマスクを生成する。これらの一連の操作を数世代繰り返し、性能の良いカラムマスクからより性能の良いカラムマスクを生成し、除々にカラムマスクを最適化する。
【0026】さらに、淘汰後のカラムマスク間の相互の遺伝子の入れ替えに変化を持たせるために、任意にカラムマスクの遺伝子の一部を突然変異、つまり“1”を“0”にあるいは“0”を“1”にする操作も新しいカラムマスク生成時に行う(ステップS33)。この突然変異は頻繁には起こり得ないので、小さな確率で起こるように設定する。このようにして新に作成された入力を用いて上述の学習を行い(ステップS27)、その後未学習データを用いて各世代にて淘汰されなかった遺伝子の組み合わせ,即ちマスクの配列パターンの性能確認を行い(ステップS28)、能力の低いマスクパターンのみを淘汰する(ステップS29)。ここでパターンの淘汰とは、次世代の作成に親としてその個体を使用しないということであり、図17ではB´、B”、C”は淘汰することになる。以上の操作を指定回数の世代分繰り返すか、目標とする適応度に達したか否かをチェックし(ステップS30〜S32)、何れかが満足すれば終了とし、最良の識別性能が得られた個体を最適マスクパターンとする。
【0027】ドル紙幣の同一方向の7金種を分離する場合を例にとって、以下に遺伝アルゴリズムによるマスクの最適化方法について説明する。
(1)初期集団の構成を行なう。遺伝子学上では、一般には決められた個体数の染色体をランダムに生成する。この際の、個体数の決定や染色体の長さ、コーディング(コード化)の方法は遺伝アルゴリズムの研究の中心的課題であるが、現在は職人芸的に決めているのが実情である。本実施例では、個体は16個の染色体、即ち、16種のマスクパターンの集合体である。初期集団は、任意に構成したマスクパターンにより学習をさせ汎化能力を確認して、鑑別率が80%以上を目安として選択決定している。より良い個体が高い適応度(鑑別率)の評価をされるということに基づいている。図18の例で示されるマスク情報のNO.1〜16は、各スラブ値としてニューラルネットワークに入力するユニット番号を示している。行で示される1、2、3、〜、4、5、6はマスク位置を示しており0がマスクのかかっていないことを、1がマスクされていることをそれぞれ示している。このマスクがかかっていないところの絵柄の画像データの和をスラブ値として入力層に入力する。このニューラルネットワークは入力層のニューロ素子を16個、隠れ層のニューロ素子を16個、出力層のニューロ素子を7個(米ドル紙幣の7金種で方向を限定したもの)で構成している。つまり入力データは、同一方向の紙幣の画像データを用いる。実際のドル鑑別装置ではこのニューラルネットワークを4段カスケードに接続し、4方向の金種出力信号が得られるようになっている。得られた汎化能力は(イ)のパターンでは鑑別率90%、(ロ)では93%、(ハ)では83%が得られている。この(イ)(ロ)(ハ)を第1世代として進化を進めて行く。
【0028】(2)おのおのの個体に適応度が決定されたら、それを基に選択交配を行う。基本的に適応度の高い個体がより多くの子孫を残す機構となる。これによって、より良い個体を形成する遺伝子が集団中に広がることになる。遺伝子の交配は実施例では=6で6通り存在する。例えば図18において、ユニット番号NO.4,7,11,15のマスク位置の9、0、1、2、3、4、5、6を1ビット交換する。交差に際しては1〜16の一様乱数を発生させ、1回目に4が出れば配偶者の個体のユニット番号NO.4のマスクパターンの4のビットを自己のユニット番号NO.4のマスクパターンの4のビットの値とし、4でなければビットの交換はしない。
【0029】次に、2回目の乱数を発生させ、得られた乱数が7であれば配偶者の個体のユニット番号NO.7のマスクパターンの7のビットを自己のユニット番号NO.7のマスクパターンの7のビットの値とし、7でなければビットの交換はしない。更に3回目の乱数を発生させ、得られた乱数が11であれば配偶者の個体のユニット番号NO.11のマスクパターンの11のビットを自己のユニット番号NO.11のマスクパターンの11のビットの値とする。更にまた、4回目の乱数を発生させ、得られた乱数が15であれば配偶者の個体のユニット番号NO.15のマスクパターンの15のビットを自己のユニット番号NO.15のマスクパターンの15のビットの値とする。得られた乱数が15以外の場合にはビットの交換は行わない。
【0030】次に、突然変異の発生について説明する。これはある確率で遺伝子であるマスクパターンのビットを変更するものである。まず、交配の対象となったユニット番号NO.4、7、11、15のマスクパターン(染色体)には突然変異の適用は行わない。この突然変異はまず一様乱数を用いて突然変異を起させるか否かを決定する。これには、{−1,1}の乱数を発生させ、得られた乱数が0.5〜1の時にのみ該当個体の突然変異を起こさしめる。0.5以下の場合は該当個体の該当世代に突然変異の発生はない。
【0031】次に突然変異が起きると決定された場合には、1〜16の乱数を使って個体の各染色体、即ち、どのユニット番号のマスクパターンに突然変異を起こさせるかを決定する。つまり、この乱数で1が出れば、ユニット番号NO.1のマスクパターンに着目することになる。ユニット番号NO.4、7、11、15のマスクパターンは交配で使用済みなので、突然変異の発生の対象とはしない。従って、この1から16の乱数で4、7、11、15のどれかが出た場合は、この個体に対し突然変異は施さない。また、この乱数値によってビットの反転の起きる位置も同時に決定される。つまり、ユニット番号NO.1のマスクパターンはビット1に、NO.2はビット2に…NO.16はビット16にという具合である。さらにもう一度、ビットを反転させるか否かを決定する。{−1,1}の乱数を任意の初期値を与えて100個発生させ、その内10個以上が0.5〜1であるかどうかで決定する。10個以上有る場合には、ユニット番号NO.1のマスクパターンであれば上述のようにビットの1を反転させる。同様にしてユニット番号NO.2のマスクパターンに対し1〜16の乱数により突然変異の発生の有無を決定し、{−1,1}の乱数からビット2のビット反転を決定する。同様の処理をユニット番号NO.3、5、6、8、9、10、12、13、14、16のマスクパターンについて行う。
【0032】このようにして得られた6個体の第2世代に対して学習をさせ、ニューロ回路を形成させて汎化能力を調査する。その結果(ニ)、(ホ)、(ヘ)を得ることになり、それぞれの鑑別率は(ニ)が95%、(ホ)が94%、(ヘ)が91%である。次に、第1世代から第2世代を得たように第2世代から第3世代を得る。各世代から汎化能力の良いものから順番に並べ、最良のものを最適個体としての最終マスクパターン群とする。その結果(ト)、(チ)、(リ)を得ることになり、それぞれの鑑別率は(ト)が99%、(チ)が98%、(リ)が96%である。なお、各世代の進化時に、孫の世代を得る際に子の世代のみを利用する実施例であったが、先代(親)の個体をそのまま子世代に用いることも可能である。
【0033】ところで、突然変異を起こす確率や位置などは、任意に変更が可能である。このようにすることで乱数でマスクの被覆部分を決定するよりも無効な画像(例えば、パターン間で図柄の内部分、あるいは同じ図柄及び濃度値を有する画素)を非被覆領域として残すようなことがなくなり、画像の違いを効率的にニューラルネットワークの入力値(スラブ値)に反映させることができ、金種分離のための学習を高速化し、さらに汎化能力を向上させることができる。また、カラムマスクで被覆された画像パターン全数を検査するよりも短時間に効率良く識別可能なマスクパターンを最適に生成することが可能となる。更に、上述の実施例では、米ドル紙幣のパターン認識について説明したが、他の国の紙幣識別やOCRを使って読み込む伝票文字読み込み機や、小切手等の有価証券読み取り機も同様にパターン認識可能であり、その他のパターン読取装置についても可能なことは勿論である。また、上述ではラインセンサを用いて光学パターン画像を取得しているが、エリアセンサを用いることも可能である。
【0034】
【発明の効果】以上のように本発明のパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法によれば、最適なマスクパターンを得るために遺伝子工学の交差、淘汰、突然変異の概念を取り入れているので、あたかも生物が進化の課程をたどるかの如く最良のマスクパターンが短時間で得られ、ニューラルネットワークの学習機能とあわせ、優れた紙葉類識別装置の識別アルゴリズムを得ることができる。
【図面の簡単な説明】
【図1】本発明のパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法を適用する紙幣識別装置の外観構成例を示す斜視図である。
【図2】本発明方法を適用する紙幣識別装置の内部機構を示す図である。
【図3】本発明方法を適用する紙幣識別装置の表示部の詳細を示す図である。
【図4】紙幣データと採取方向を説明するための図である。
【図5】本発明方法を適用する紙幣識別装置の内部構成を示すブロック図である。
【図6】紙幣データと採取方法を説明するための図である。
【図7】本発明方法を適用する紙幣識別装置の主要部構成を示すブロック図である。
【図8】本発明に用いるスラブ値を説明するための図である。
【図9】本発明に用いるスラブ値を説明するための図である。
【図10】本発明に用いるカラムマスクを説明するための図である。
【図11】画像の垂直方向の移動に対するカラムマスクの効果を説明するための図である。
【図12】本発明方法を適用する紙幣識別装置の主要部構成の詳細を示すブロック図である。
【図13】本発明方法を適用する紙幣識別装置の動作例を示すフローチャートである。
【図14】本発明方法の動作例を示すフローチャートである。
【図15】本発明方法によるマスクの符号化を説明するための図である。
【図16】本発明方法によるマスクの交差を説明するための図である。
【図17】本発明方法によるマスクの最適化を実行したときの鑑別率と淘汰の有無を示す図である。
【図18】本発明方法によるマスクの最適化の課程の具体例を示す図である。
【図19】従来のパターン紙幣認識装置の構成例を示すブロック図である。
【図20】従来のマスクの最適化の問題点を説明するための図である。
【図21】従来のマスクの最適化の具体例を示す図である。
【図22】図21に示す従来のマスクの最適化の具体例を示す図である。
【図23】図21に示す従来のマスクの最適化の具体例を示す図である。
【図24】図21に示す従来のマスクの最適化の具体例を示す図である。
【符号の説明】
1 紙幣(被識別対象)
2 イメージセンサ
3 入力画像
4 前処理部
5 分離演算部
10 紙幣(米ドル紙幣)
11 ラインセンサ
12 発光部
140 データ処理部
141 メモリ
142 紙幣切出部
150 ニューロ回路
151 前処理部
152 分離演算部
153 判定部

【特許請求の範囲】
【請求項1】 識別すべき紙葉類の光学パターン画像を入力して画像データを記憶し、この記憶した画像データから前記紙葉類のみの光学パターン画像を抽出し、この抽出した光学パターン画像に対して複数種のマスクを施し、前記マスクを符号化して遺伝子として設定し、前記マスクからなるマスクパターンをかけた画像データ総和値をニューラルネットワークに入力して前記紙葉類の識別を学習させ、その結果を評価し、所定の識別達成度に有るか否かに応じて前記マスクパターンを淘汰し、残ったマスクパターンに対して遺伝子組み替え或いは、突然変異を実行して世代交代させ、この世代交代させたマスクパターンを用いて前記ニューラルネットワークの学習を実行するという一連の処理を、所定の世代交代数内で所定の識別達成値に達するまで繰り返して前記マスクを最適に配置するようにしたことを特徴とするパターン認識における遺伝アルゴリズムを用いたマスクの最適化方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図7】
image rotate


【図11】
image rotate


【図5】
image rotate


【図6】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【図12】
image rotate


【図15】
image rotate


【図16】
image rotate


【図17】
image rotate


【図19】
image rotate


【図22】
image rotate


【図23】
image rotate


【図24】
image rotate


【図13】
image rotate


【図14】
image rotate


【図21】
image rotate


【図18】
image rotate


【図20】
image rotate