(57)【特許請求の範囲】
【請求項１】
撮像によって得られた認識対象物に対応する多値の撮像データに基づいて、前記認識対象物の境界線を抽出する境界抽出手段と、
前記境界抽出手段によって抽出された境界線に囲まれる領域に対応する前記撮像データを抽出する認識対象画像抽出手段と、
前記認識対象画像抽出手段によって抽出された前記認識対象物に対応する多値の前記撮像データが入力されて所定の正規化処理を行う正規化処理手段と、
複数の前記認識対象物のそれぞれについて、複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして格納された登録パターン格納手段と、
前記正規化処理手段によって正規化処理が行われた後の前記撮像データを前記複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい前記登録パターンを抽出し、この登録パターンに対応する前記認識対象物の内容を特定するパターン比較手段と、
を備え、前記パターン比較手段によって、前記認識対象画像抽出手段によって抽出された前記認識対象物の内容の特定を行うことを特徴とするパターン認識処理装置。
【請求項２】
請求項１において、
一の前記認識対象物に対応する複数の前記登録パターンに基づいて補間処理を行うことにより、中間の照明条件下で得られる前記撮像データを予測した補間パターンを計算する補間パターン作成手段をさらに備え、
前記パターン比較手段は、前記登録パターンとともに前記補間パターンを用いて前記認識対象物の特定を行うことを特徴とするパターン認識処理装置。
【請求項３】
請求項１または２において、
前記撮像データは、前記認識対象物を構成する各画素の階調値を示す階調データであり、
前記正規化処理手段は、一の前記認識対象物に含まれる前記階調値のばらつきの範囲が一定になるように、前記階調データに対して所定の変換処理を行うことを特徴とするパターン認識処理装置。
【請求項４】
請求項３において、
前記正規化処理手段は、一の前記認識対象物に含まれる前記階調値の上限値と下限値を取得し、これらの値に基づいて、前記階調値が所定の範囲に含まれるように変換関数を決定することを特徴とするパターン認識処理装置。
【請求項５】
請求項４において、
前記変換関数は、直線補間関数であることを特徴とするパターン認識処理装置。
【請求項６】
請求項２において、
前記補間パターン作成手段は、前記認識対象物を複数の領域に分割した各分割領域毎に、前記中間の照明条件下で得られる前記撮像データを予測することを特徴とするパターン認識処理装置。
【請求項７】
請求項１〜６のいずれかにおいて、
前記認識対象物を撮像する撮像手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項８】
請求項７において、
前記認識対象物を載置する載置台をさらに備え、
この載置台の色を前記認識対象物の外周部の色と異ならせることを特徴とするパターン認識処理装置。
【請求項９】
請求項７において、
前記境界抽出手段は、前記撮像データを二値化したデータに基づいて前記境界線の抽出を行うことを特徴とするパターン認識処理装置。
【請求項１０】
請求項７〜９のいずれかにおいて、
前記認識対象物を前記撮像手段から見た撮像面の形状はほぼ多角形を有しており、
前記境界抽出手段によって抽出された前記境界線に基づいて、前記多角形の複数の頂点を検出する頂点検出手段をさらに備え、
前記認識対象画像抽出手段は、前記頂点検出手段によって検出された複数の前記頂点の位置を基準にして、前記境界線に囲まれる領域に対応する前記撮像データの抽出を行うことを特徴とするパターン認識処理装置。
【請求項１１】
請求項１０において、
前記撮像面はほぼ正方形形状あるいはほぼ長方形形状を有しており、
前記頂点検出手段は、前記境界線を構成する画素列に沿って、複数の画素からなる部分画素列を移動させたときに、前記部分画素列の先頭部分と末尾部分の向きがほぼ直角になるコーナーの位置を抽出することによって、前記頂点の検出を行うことを特徴とするパターン認識処理装置。
【請求項１２】
請求項１１において、
前記コーナーにおいて前記画素列に含まれる複数の画素がほぼ円弧状に配列されており、
前記頂点検出手段は、前記境界線を構成する画素列に含まれる隣接コーナー間の複数の画素の配列を直線近似した４本の直線の交点を求めて、前記頂点として設定することを特徴とするパターン認識処理装置。
【請求項１３】
請求項７〜９のいずれかにおいて、
前記認識対象物を前記撮像手段から見た撮像面の形状はほぼ長方形を有しており、
前記認識対象画像抽出手段によって抽出された前記撮像データの配列を、比較対象となる前記登録パターンの向きに合わせて補正する回転補正手段をさらに備えていることを特徴とするパターン認識処理装置。
【請求項１４】
境界抽出手段、認識対象画像抽出手段、正規化処理手段、登録パターン格納手段、パターン比較手段を備えるパターン認識処理におけるパターン認識処理方法であって、
撮像によって得られた認識対象物に対する多値の撮像データが入力されて、この撮像データに基づいて、前記認識対象物の境界線を前記境界抽出手段によって抽出する第１のステップと、
前記第１のステップにおいて前記境界抽出手段によって抽出された境界線に囲まれる領域に対応する前記撮像データを前記認識対象画像抽出手段によって抽出する第２のステップと、
前記第２のステップにおいて前記認識対象画像抽出手段によって抽出された前記認識対象物に対応する多値の前記撮像データが入力されて、前記正規化処理手段によって所定の正規化処理を行う第３のステップと、
複数の前記認識対象物のそれぞれについて、複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして前記登録パターン格納手段に登録されており、前記パターン比較手段によって、前記第３のステップによる処理が行われた後の前記撮像データをこれら複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい前記登録パターンを抽出し、この登録パターンに対応する前記認識対象物の内容を特定する第４のステップと、
を有し、前記第４のステップにおいて、前記第２のステップにて前記認識対象画像抽出手段によって抽出された前記認識対象物の内容の特定を行うことを特徴とするパターン認識処理方法。
【請求項１５】
コンピュータを、
撮像によって得られた認識対象物に対応する多値の撮像データに基づいて、前記認識対象物の境界線を抽出する境界抽出手段と、
前記境界抽出手段によって抽出された境界線に囲まれる領域に対応する前記撮像データを抽出する認識対象画像抽出手段と、
前記認識対象画像抽出手段によって抽出された前記認識対象物に対応する多値の前記撮像データが入力されて所定の正規化処理を行う正規化処理手段と、
複数の前記認識対象物のそれぞれについて、複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして格納された登録パターン格納手段と、
前記正規化処理手段によって正規化処理が行われた後の前記撮像データを前記複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい前記登録パターンを抽出し、この登録パターンに対応する前記認識対象物の内容を特定するパターン比較手段と、
して機能させるためのプログラムを格納した情報記憶媒体であって、
前記パターン比較手段によって、前記認識対象画像抽出手段によって抽出された前記認識対象物の内容の特定を行うコンピュータにより読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カメラを用いてトランプやタロットカード等の各種のカード類やサイコロ等を撮像してそれらに対して画像認識を行うパターン認識処理装置、方法および情報記憶媒体に関する。
【０００２】
【従来の技術】
一般に、パターン認識技術では、あらかじめ認識対象としたい物（認識対象物）を撮像した撮像データ（以後、これを「登録パターン」と呼ぶ）を用意しておき、認識対象物を撮像して得られた撮像データと登録パターンとを比較して一致あるいは最も類似するものを検索することにより、認識対象物の内容の特定等が行われる。このようなパターン認識技術は、ＦＡ（Factory Automation）などの分野における部品等の位置合わせや製品の仕分け、あるいは指紋認識や網膜認識等のバイオメトリクス分野など様々な分野に応用されている。
【０００３】
【発明が解決しようとする課題】
ところで、従来のパターン認識技術では、認識対象物に対する照明の当たり方（照明条件）が変化することにより認識精度が低下してしまうという問題がある。
【０００４】
例えば、トランプやタロットカード等のカード類やサイコロ等の小道具を認識対象物とし、パターン認識を用いてこれらの小道具の内容（例えば、タロットカードの絵柄など）を特定する占い装置やゲーム装置等を考える。この場合に、ゲーム装置等が設置されるゲームセンタ等の照明設備が各ゲームセンタ等によって相違するために、登録パターンを作成した際の照明条件と実際にカード等を撮影してパターン認識処理を行う際の照明条件とは同じにならない場合が多く、このために認識精度が低下してしまう。
【０００５】
また、ゲームや占い等を行う利用者や周囲の観客等の身長や立ち位置などは、各利用者により異なるのが普通である。このため、カード等に照射される光が遮られることもあり、しかもその度合いが各利用者によってその都度異なることから、認識対象物に対する照明条件が毎回変化してしまい、この点からもパターン認識の精度が低下する。
【０００６】
また、カード等の内容を認識する際には、カード等を所定のステージ等に載せてカメラにより撮像することとなるが、一般にカメラを通して見たステージ上の明るさは、カメラのレンズ系の特性に起因して周辺部分が暗くなったり（周辺減光）、照明による光の照射自体が不均一であったりする場合がある。このようにステージ上の明るさが不均一の場合には、カード等を置いた場所により照明条件が異なってしまうため、この点も認識精度を低下させてしまう要因となる。
【０００７】
本発明は、このような点に鑑みて創作されたものであり、その目的は、照明条件が変化する場合においても高い認識率を達成することができるパターン認識処理装置、方法および情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上述した課題を解決するために、本発明のパターン認識処理装置は、境界抽出手段、認識対象画像抽出手段、正規化処理手段、登録パターン格納手段、パターン比較手段を含んで構成されている。境界抽出手段は、撮像によって得られた認識対象物に対応する多値の撮像データに基づいて、認識対象物の境界線を抽出する。認識対象画像抽出手段は、境界抽出手段によって抽出された境界線に囲まれる領域に対応する撮像データを抽出する。正規化処理手段は、認識対象画像抽出手段によって抽出された認識対象物に対応する多値の撮像データが入力されて所定の正規化処理を行う。登録パターン格納手段は、複数の認識対象物のそれぞれについて、複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして格納されている。パターン比較手段は、正規化処理手段によって正規化処理が行われた後の撮像データを複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい登録パターンを抽出し、この登録パターンに対応する認識対象物の内容を特定する。パターン比較手段によって、認識対象画像抽出手段によって抽出された認識対象物の内容の特定が行われる。一の認識対象物に対応させて複数の照明条件を考慮した登録パターンを予め用意しておくことにより、認識対象物を置いた場所等によって照明条件が変化する場合であっても、正確にこの認識対象物の内容を特定することができる。
また、認識対象物の境界線によって囲まれた領域の撮像データを抽出して、いくつかの認識結果候補としての登録パターンや補間パターンと比較するという比較的単純な処理で、認識対象物の内容を認識することができる。また、境界線が所定の形状を有していることが予めわかっている場合には、撮像データが登録パターン等に一致するか否かを正確に判定することができるため、高い認識率を達成することができる。
【０００９】
また、一の認識対象物に対応する複数の登録パターンに基づいて補間処理を行うことにより、中間の照明条件下で得られる撮像データを予測した補間パターンを計算する補間パターン作成手段をさらに備えるとともに、上述したパターン比較手段によって、登録パターンとともに補間パターンを用いて認識対象物の特定を行うことが望ましい。登録パターンの他に補間パターンを用いることにより、照明条件が変化した場合の認識精度をさらに向上させることができる。また、複数の登録パターンの一部を補間パターンで代用することにより、登録パターンの数を減らすことができる。
【００１０】
また、上述した撮像データを、認識対象物を構成する各画素の階調値を示す階調データとした場合に、正規化処理手段によって、一の認識対象物に含まれる階調値のばらつきの範囲が一定になるように、階調データに対して所定の変換処理を行うことが望ましい。照明条件の相違に基づく階調値のばらつきを調整することにより、照明条件が異なることによって階調値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度を上げることができる。
【００１１】
また、上述した正規化処理手段は、一の認識対象物に含まれる階調値の上限値と下限値を取得し、これらの値に基づいて、階調値が所定の範囲に含まれるように変換関数を決定することが望ましい。階調値の上限値と下限値を取得することにより、正規化処理前の階調値の範囲を把握することができるため、この範囲を正規化処理によって所定の範囲に変換する場合の変換関数を決定することが容易となる。
【００１２】
特に、上述した変換関数は、直線補間関数であることが望ましい。直線補間関数は単純な一次関数で表すことができるため、その演算内容が比較的単純であり、正規化処理を実施する際の処理負担を軽減することができる。
また、上述した補間パターン作成手段は、認識対象物を複数の領域に分割した各分割領域毎に、中間の照明条件下で得られる撮像データを予測することが望ましい。これにより、例えば認識対象物の一部が影になったりする場合のように、不均一な照明下においても高い認識率を実現することができる。
【００１４】
また、認識対象物を載置する載置台をさらに備えるとともに、この載置台の色を認識対象物の外周部の色と異ならせることが望ましい。載置台の色を認識対象物の色と異ならせることにより、境界線抽出を容易かつ高精度に行うことができる。
【００１５】
また、上述した境界抽出手段は、撮像データを二値化したデータに基づいて境界線の抽出を行うことが望ましい。二値化したデータを用いることにより、さらに処理の簡略化や処理負担の軽減が可能になる。
また、認識対象物を撮像手段から見た撮像面の形状をほぼ多角形としたときに、境界抽出手段によって抽出された境界線に基づいて多角形の複数の頂点を検出する頂点検出手段をさらに備えるとともに、上述した認識対象画像抽出手段によって、頂点検出手段によって検出された複数の頂点の位置を基準にして、境界線に囲まれる領域に対応する撮像データの抽出を行うことが望ましい。認識対象物の撮像面の頂点近傍が丸みを帯びている場合に、境界線の外側に頂点が存在することになる。このような場合であっても、正確に頂点位置を求めることができれば、この頂点位置を基準にして正確な座標の計算を行うことができるため、パターン比較手段によって撮像データ同士の比較を行う際の精度を高めることができる。
【００１６】
また、上述した撮像面をほぼ正方形形状あるいはほぼ長方形形状とした場合に、頂点検出手段は、境界線を構成する画素列に沿って、複数の画素からなる部分画素列を移動させたときに、部分画素列の先頭部分と末尾部分の向きがほぼ直角になるコーナーの位置を抽出することによって、頂点の検出を行うことが望ましい。部分画素列の先頭部分と末尾部分のそれぞれの向きがなす角度を調べるという簡単な処理によって、コーナーの一を抽出することができる。
【００１７】
また、上述したコーナーにおいて画素列に含まれる複数の画素がほぼ円弧状に配列されている場合に、頂点検出手段は、境界線を構成する画素列に含まれる隣接コーナー間の複数の画素の配列を直線近似した４本の直線の交点を求めて、頂点として設定することが望ましい。丸みを帯びたコーナーを除く境界線には、平行な２組の直線が含まれており、これら４本の直線の交点を求める処理によって、容易に頂点位置を決定することができる。
【００１８】
また、上述した認識対象物を撮像手段から見た撮像面の形状をほぼ長方形としたときに、認識対象画像抽出手段によって抽出された撮像データの配列を、比較対象となる登録パターンの向きに合わせて補正する回転補正手段をさらに備えることが望ましい。比較対象物に方向性がある場合に、回転補正を行うことにより、明らかに不一致となる撮像データ同士（例えば、横長の形状を有する認識対象物と縦長の形状を有する登録パターンとの比較を行うような場合）の比較処理を省略することができるため、さらに処理の簡略化が可能になる。
【００１９】
また、本発明のパターン認識処理方法は、境界抽出手段、認識対象画像抽出手段、正規化処理手段、登録パターン格納手段、パターン比較手段を備えるパターン認識処理におけるパターン認識処理方法であって、撮像によって得られた認識対象物に対する多値の撮像データが入力されて、この撮像データに基づいて、認識対象物の境界線を境界抽出手段によって抽出する第１のステップと、第１のステップにおいて境界抽出手段によって抽出された境界線に囲まれる領域に対応する撮像データを認識対象画像抽出手段によって抽出する第２のステップと、第２のステップにおいて認識対象画像抽出手段によって抽出された認識対象物に対応する多値の撮像データが入力されて、正規化処理手段によって所定の正規化処理を行う第３のステップと、複数の認識対象物のそれぞれについて複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして登録パターン格納手段に登録されており、第３のステップによる処理が行われた後の撮像データをこれら複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい登録パターンを抽出し、この登録パターンに対応する認識対象物の内容を特定する第４のステップとを有している。第４のステップにおいて、第２のステップにて認識対象画像抽出手段によって抽出された認識対象物の内容の特定が行われる。
また、本発明の情報記憶媒体は、コンピュータを、撮像によって得られた認識対象物に対応する多値の撮像データに基づいて、認識対象物の境界線を抽出する境界抽出手段と、境界抽出手段によって抽出された境界線に囲まれる領域に対応する撮像データを抽出する認識対象画像抽出手段と、認識対象画像抽出手段によって抽出された認識対象物に対応する多値の撮像データが入力されて所定の正規化処理を行う正規化処理手段と、複数の認識対象物のそれぞれについて、複数の照明条件下で撮像したときに得られる多値の撮像データが複数の登録パターンとして格納された登録パターン格納手段と、正規化処理手段によって正規化処理が行われた後の撮像データを複数の登録パターンと比較することにより、この撮像データに最も類似度が大きい登録パターンを抽出し、この登録パターンに対応する認識対象物の内容を特定するパターン比較手段と、して機能させるためのプログラムを格納した情報記憶媒体であって、パターン比較手段によって、認識対象画像抽出手段によって抽出された認識対象物の内容の特定を行っている。
【００２０】
本発明のパターン認識処理方法を実施することにより、あるいは本発明の情報記憶媒体に含まれるプログラムを実行することにより、認識対象物を置いた場所等によって照明条件が変化する場合であっても、正確にこの認識対象物の内容を特定することができる。
【００２１】
【発明の実施の形態】
以下、本発明を適用した一実施形態のパターン認識処理装置について、図面を参照しながら詳細に説明する。
図１は、本実施形態のパターン認識処理装置の構成を示す図である。図１に示す本実施形態のパターン認識処理装置は、カメラ１０、パターン認識処理部４０、情報記憶媒体５０を含んで構成されている。
【００２２】
カメラ１０は、ステージ３０上に並べられたカード１００を撮像する。例えば、撮像素子としてＣＣＤ（電荷結合素子）が用いられている。
パターン認識処理部４０は、カメラ１０によって撮像されたカード１００の内容を所定のパターン認識処理を行うことによって特定する。このために、パターン認識処理部４０は、前処理部１２、二値化処理部１４、境界追跡処理部１６、頂点検出部１８、回転補正部２０、切り出し処理部２２、正規化処理部２４、登録パターン格納部２６、補間パターン作成部２７、パターン比較部２８を含んで構成されている。
【００２３】
前処理部１２は、カメラ１０から出力される３色の色データからなる撮像データをグレースケールの多値の階調データからなる撮像データに変換するとともに、この変換処理後の撮像データに対して所定の前処理を行う。前処理には、ステージ３０をカメラ１０によって撮像したときに生じる明るさの不均一さを補正する処理が含まれる。
【００２４】
二値化処理部１４は、前処理部１２によって所定の前処理が行われた撮像データを二値化する。境界追跡処理部１６は、二値化された撮像データに含まれるカード１００の境界線（輪郭線）を抽出する。頂点検出部１８は、境界追跡処理部１６によって抽出された境界線に基づいて、カード１００の４つの頂点を検出する。一般に、トランプやタロットカードはほぼ長方形を有しているが、４つのコーナーは丸くなっている。頂点検出部１８では、隣接する２辺を延長したときに交わる真の頂点が計算される。
【００２５】
回転補正部２０は、頂点検出部１８によって検出された４つの頂点の相対的な位置を、必要に応じて１つ分または２つ分ずらす処理を行う。切り出し処理部２２は、前処理部１２から出力される前処理後の撮像データ（階調データ）の中から、４つの頂点を結んだ領域に対応する部分を切り出す処理を行う。
【００２６】
正規化処理部２４は、切り出し処理部２２により切り出された階調データに対してその明るさ、すなわち、階調データの値（階調値）の大きさを正規化する所定の正規化処理を行う。正規化処理の詳細については後述する。
登録パターン格納部２６は、認識対象となる可能性のあるカード１００の撮像データを登録パターンとしてあらかじめ登録しておくためのものである。本実施形態では、一のカード１００を複数の照明条件下で撮影して得られた複数の撮像データが登録パターンとして格納されている。なお、切り出し処理部２２によって切り出された撮像データに対して正規化処理部２４による所定の正規化処理が行われるため、登録パターン格納部２６には、同等の正規化処理が行われた後の登録パターンが格納されている。
【００２７】
補間パターン作成部２７は、一のカード１００に対応して登録パターン格納部２６に格納されている複数の登録パターンに基づいて、中間の照明条件下で得られる撮像データを予測した補間パターンを計算する。
パターン比較部２８は、正規化処理部２４によって正規化処理が行われた後の撮像データと、登録パターン格納部２６に格納された複数の登録パターンおよび補間パターン作成部２７によって計算された複数の補間パターンとを比較することにより、撮像データとの間の類似度が最も大きい登録パターンあるいは補間パターンを抽出することにより、撮像されたカード１００の内容を特定する。
【００２８】
情報記憶媒体５０は、パターン認識処理部４０によって行われるパターン認識処理の実施に必要なプログラムや登録パターンのデータを格納するためのものである。この情報記憶媒体５０は、ＣＤ（コンパクトディスク）等の光学式のディスク型記憶媒体や、ＲＯＭ、ＲＡＭ等の半導体メモリ、あるいはハードディスク装置などを用いて構成されている。
【００２９】
例えば、情報記憶媒体５０として一連のパターン認識処理用のプログラムを格納したＲＯＭやＲＡＭを考えた場合には、パターン認識処理部４０に含まれる前処理部１２、二値化処理部１４、境界追跡処理部１６、頂点検出部１８、回転補正部２０、切り出し処理部２２、正規化処理部２４、補間パターン作成部２７、パターン比較部２８は、このプログラムをＣＰＵによって実行することにより実現することができ、登録パターン格納部２６は、登録パターンデータを格納するＲＡＭによって実現することができる。
【００３０】
上述したカメラ１０が撮像手段に、二値化処理部１４、境界追跡処理部１６が境界抽出手段に、頂点検出部１８が頂点検出手段に、回転補正部２０が回転補正手段に、切り出し処理部２２が認識対象画像抽出手段にそれぞれ対応する。また、正規化処理部２４が正規化処理手段に、登録パターン格納部２６が登録パターン格納手段に、補間パターン作成部２７が補間パターン作成手段に、パターン比較部２８がパターン比較手段に、ステージ３０が載置台にそれぞれ対応する。
【００３１】
本実施形態のパターン認識処理装置はこのような構成を有しており、次にその詳細な処理手順を説明する。
図２は、ステージ３０上に並べられたカード１００をカメラ１０によって撮像し、カード１００の内容を認識するまでの一連のパターン認識手順を示す流れ図である。以下、図２を参照しながら、一連のパターン認識動作について説明する。
【００３２】
撮像（ステップ１００）
まず、カメラ１０によって、ステージ３０上に並べられたカード１００を撮像する。例えば、カメラ１０からは、ステージ３０上の座標（ｘ，ｙ）の画素に対応するＲ、Ｇ、Ｂ成分の色データＲ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）が出力される。
【００３３】
ステージ上の明るさの補正処理（ステップ１０１）
前処理部１２は、カメラ１０から出力された３種類の色データＲ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）に基づいて、各画素に対応したグレースケールの階調データ（以下、単に「階調データ」と称する）ｃ（ｘ，ｙ）を計算するとともに、ステージ３０上の明るさの不均一さを補正する処理を行う。
【００３４】
一般に、カメラ１０を通して見たステージ３０上の明るさは均一ではない。例えば、カメラ１０のレンズ系の特性に起因して周辺部分が暗くなる場合が考えられる（周辺減光）。このように、ステージ３０上の明るさが不均一の場合には、カード１００を置いた場所によって異なる値を有する撮像データが得られることになるため、認識率を低下させる要因となる。このため、前処理部１２は、ステージ３０上の最も暗い場所の画素値（階調データ）を基準にして、それ以外の場所における画素値を補正する処理を行う。
【００３５】
図３は、カメラ１０を通して撮像された画像の明るさの不均一さを説明するための図である。例えば、均一な着色がなされた布や紙等をステージ３０上に載せてカメラ１０で撮像し、その結果を階調データに変換した場合の具体例が示されている。図３では、明るさの程度がハッチングを構成する線の間隔で示されており、例えば中心部分が最も明るく、周辺にいくにしたがって次第に暗くなる様子が示されている。周辺近傍の最も暗い画素の階調データをｍｉｎ（ｃ（ｘ，ｙ））とすると、座標（ｘ，ｙ）で指定される各画素の階調データｃ（ｘ，ｙ）と、最も暗い画素の階調データｍｉｎ（ｃ（ｘ，ｙ））との差分値ｄ（ｘ，ｙ）は、
ｄ（ｘ，ｙ）＝ｃ（ｘ，ｙ）−ｍｉｎ（ｃ（ｘ，ｙ））
＝ｒ（ｘ，ｙ）＋ｇ（ｘ，ｙ）＋ｂ（ｘ，ｙ）
−ｍｉｎ（ｃ（ｘ，ｙ））  …（１）となる。ここで、ｒ（ｘ，ｙ）、ｇ（ｘ，ｙ）、ｂ（ｘ，ｙ）は、均一な着色がなされた布や紙等を撮像したときにカメラ１０から出力されるＲ、Ｇ、Ｂ成分の各色データである。
【００３６】
したがって、座標（ｘ，ｙ）のそれぞれの画素に対応する差分値ｄ（ｘ，ｙ）を（１）式を用いてあらかじめ求めておいて、上述したステップ１００において実際にカード１００を撮像して得られた階調データＣ（ｘ，ｙ）からこの差分値ｄ（ｘ，ｙ）を差し引くことにより、補正後の階調データｓ（ｘ，ｙ）が得られる。
【００３７】
ｓ（ｘ，ｙ）＝Ｃ（ｘ，ｙ）−ｄ（ｘ，ｙ）
＝Ｒ（ｘ，ｙ）＋Ｇ（ｘ，ｙ）＋Ｂ（ｘ，ｙ）−ｄ（ｘ，ｙ）
二値化処理（ステップ１０２）
次に、二値化処理部１４は、上述したステップ１０１における補正処理がなされた後の階調データｓ（ｘ，ｙ）を所定の閾値と比較することにより二値化処理を行う。
【００３８】
本実施形態の認識対象物としてのカード１００は、その外縁部分の色がステージ３０の色と識別可能なものが使用されているものとする。例えば、カード１００として、外縁部分に白色の縁取りがなされたトランプやタロットカードが用いられている。このようなカード１００が、黒色あるいは濃い緑色のステージ３０上に並べられており、二値化処理によってカード１００の外縁部分の抽出が行われる。
【００３９】
具体的には、二値化処理部１４は、前処理部１２から出力される階調データｓ（ｘ，ｙ）を所定の閾値ＳTHと比較することにより、二値データＦ（ｘ，ｙ）に変換する。ｓ（ｘ，ｙ）≧ＳTHの場合には、二値データＦ（ｘ，ｙ）＝１に設定される。また、ｓ（ｘ，ｙ）＜ＳTHの場合には、二値データＦ（ｘ，ｙ）＝０に設定される。
【００４０】
図４は、二値化処理がなされた後の画像（二値化画像）の具体例を示す図である。図４において、各正方形領域が各画素に対応している。また、ハッチングが付された領域が二値データＦ（ｘ，ｙ）＝０の各画素を、それ以外の領域が二値データＦ（ｘ，ｙ）＝１の各画素をそれぞれ示している。なお、図４に示した二値化画像は、二値化処理および後述する境界追跡処理の説明を簡略化するために画素数を減らした場合であって、一例として大きさが異なる３枚のカード１００がステージ３０上に並べられた場合が示されている。以下では、二値データＦ（ｘ，ｙ）＝１の画素を「白画素」、Ｆ（ｘ，ｙ）＝０の画素を「黒画素」と称して説明を行うものとする。
【００４１】
境界追跡処理（ステップ１０３）
境界追跡処理部１６は、二値化画像をスキャンして最初に到達する白画素を抽出し、この白画素に隣接する他の白画素を最初の白画素に戻ってくるまで順番に辿ることにより、各カード１００とステージ３０との境界（輪郭線）追跡を行う。
【００４２】
図５は、境界追跡処理の具体例を示す図である。図５に示した例では、スキャン開始点ＳＳが二値化画像の左上に設定されており、下方向に順番に各画素のスキャンが行われ、最終的に右下のスキャン終了点ＳＥで終了する。境界追跡処理部１６は、このようなスキャン動作において、最初に到達した白画素をトレース開始点ＴＳとして抽出し、図５の実線の矢印で示した順番に、再びこのトレース開始点ＴＳに到達するまで境界追跡を行う。
【００４３】
以下、境界追跡処理の詳細について説明する。まず、境界追跡処理部１６は、その時点における白画素の位置を中心にその周囲の８画素を調べ、次に辿るべき白画素の位置を決定する。
図６は、上述した境界追跡処理において次の白画素を決定する手法を説明するための図である。図６において、「Ｃ」は現在の着目画素（白画素）を、「Ｐ」は現在の画素に至る直前の画素（白画素）の位置をそれぞれ示している。また、「１」〜「８」のそれぞれの数字は、次に辿っていく白画素の選択の優先順番を示している。例えば、直前の白画素が現在の着目画素の真上に位置する場合には、左上、左、左下、下、右下、右、右上、上の各画素を順番に見ていって、最初に現れる白画素が、次に辿るべき白画素として決定される。但し、直前の白画素がどの位置にあった場合であっても、「１」に対応する画素が、次に辿る白画素となることはないため、実際には最も多い場合であっても「２」〜「８」の７個の画素を調べればよい。
【００４４】
このようにして、１枚のカード１００に対応して、いずれかのトレース開始点ＴＳから順番に白画素を辿っていく処理が一巡すると、このカード１００の境界線を構成する各白画素の座標値が境界追跡処理部１６によって抽出される。
次に、境界追跡処理部１６は、順番に辿った白画素で囲まれた領域を全て黒画素で塗りつぶす。例えば、境界線を追跡していく処理と並行して、境界追跡処理部１６は、図７に示すようなＸ座標の最小値Ｘｍｉｎと最大値Ｘｍａｘと、Ｙ座標の最小値Ｙｍｉｎと最大値Ｙｍａｘを抽出する。そして、この追跡処理が終了した後に、ＹｍｉｎからＹｍａｘまでの各Ｙ座標について、対応するＸｍｉｎからＸｍａｘまでの各画素に対応する二値データＦ（ｘ，ｙ）を０に設定する。
【００４５】
このようにして全て（図４に示した例では３枚）のカード１００に対する境界追跡と境界で囲まれた領域に対して、黒画素による塗りつぶし処理が行われる。
なお、上述した説明では、各カード１００の境界を構成する最初の白画素を抽出するためのスキャン動作を左上の画素から下方向に向かって行ったが、左上から右方向に行ったり、スキャン開始点ＳＳを変更したりしてもよい。
【００４６】
頂点検出処理（ステップ１０４）
次に、頂点検出部１８は、上述したステップ１０３における境界追跡処理によって抽出された境界線のデータに基づいて、カード１００の４つの頂点を計算する。
【００４７】
一般に用いられるトランプやタロットカード等の各種のカード類は、四隅のコーナーが丸くなっているものが多い。本実施形態のカード１００もそのような形状のものが用いられている。ところで、後のステップにおいてカード１００に対応して切り出した階調データと登録パターンとの比較が行われるが、カード１００に描かれた模様の位置が登録パターンの模様の位置とずれてしまうと、登録パターンとカード１００のそれぞれの模様が全く同じであっても、異なる模様が付されていると誤って判断されるおそれがある。このような誤った判断を回避するためには、カード１００に付された模様の正確な位置を求める必要があり、このために本実施形態では、隣接する２辺が仮想的に交わる点を「頂点」として計算により求めている。
【００４８】
図８は、各コーナーと頂点との関係を示す図である。図８において、「○」はコーナー開始点を、「●」はコーナー終了点をそれぞれ示している。図８（Ａ）に示すように、上述したステップ１０３における境界追跡処理によって抽出された境界線は、カード１００の四隅のコーナーに対応する部分が丸みを帯びている。頂点検出処理では、まず、図８（Ａ）に示すように、トレース開始点ＴＳから境界線を一方向に巡回することにより、４つのコーナーのそれぞれに対応するコーナー開始点とコーナー終了点が抽出される。次に、図８（Ｂ）に示すように、コーナーを挟まないで隣接するコーナー開始点とコーナー終了点とを通る辺を延長したときに交差する点が「頂点」として設定される。
【００４９】
次に、コーナー開始点とコーナー終了点を抽出する詳細な動作について説明する。なお、このコーナー開始点とコーナー終了点を抽出する動作は、上述したステップ１０４における境界追跡処理と並行して行うことが可能であり、処理の効率化を考えた場合にはこれらの処理を同時に行うことが望ましい。
【００５０】
頂点検出部１８は、ステップ１０３において抽出された境界線に沿って所定の長さＬの部分画素列を移動させながら、この部分画素列の頭部（先頭部分）と尾部（末尾部分）のそれぞれに対応するように設定された２つのベクトルの内積値ＩＰの計算を行う。
【００５１】
図９は、境界線に沿って移動する部分画素列の具体例を示す図である。例えば長さＬ＝１０とすると、境界線に沿った１０個の画素からなる部分画素列が生成される。また、この部分画素列の頭部と尾部のそれぞれには、所定の長さＭの２つのベクトルＡ、Ｂ（頭部のベクトルＡをＶA 、尾部のベクトルＢをＶB とする）が設定されている。例えば長さＭ＝３とすると、ＶA は、部分画素列の先頭の画素を終点とし、３個目の画素を始点とする向きを有する。また、ＶB は、部分画素列の最後尾の画素を始点とし、後ろから３個目の画素を終点とする向きを有する。
【００５２】
ところで、ＶA とＶB のそれぞれは以下のように表すことができる。
ＶA ＝（ＶA のＸ成分の差，ＶA のＹ成分の差）
＝（ｖａｘ，ｖａｙ）
ＶB ＝（ＶB のＸ成分の差，ＶB のＹ成分の差）
＝（ｖｂｘ，ｖｂｙ）
したがって、ＶA とＶB の内積値ＩＰは、
ＩＰ＝ＶA ・ＶB ＝ｖａｘ×ｖｂｘ＋ｖａｙ×ｖｂｙ
となる。頂点検出部１８は、この内積値ＩＰと所定の閾値ＴIPとを比較し、｜ＩＰ｜≦ＴIPの場合には、ＶA とＶB とのなす角ががほぼ直角であって、コーナーが部分画素列に含まれていると判断し、｜ＩＰ｜＞ＴIPの場合にはコーナーが部分画素列に含まれていないと判断する。
【００５３】
なお、正確には、ＶA とＶB とのなす角θはarccos（ＩＰ／（｜ＶA ｜×｜ＶB ｜））の式で計算されるため、ベクトルの長さを計算したり、除算等を行う必要があるが、ＶA 、ＶB について考えた場合にはベクトルの長さは２から２√２までの範囲に含まれることがわかっているので、本実施形態ではＴIPの値を２とすることにより、これらの面倒な計算を省略している。
【００５４】
このようにして、部分画素列を境界線に沿って移動させることにより、４つのコーナーの全てが検出され、それぞれのコーナーに対応するコーナー開始点とコーナー終了点がそれぞれ登録される。
図１０は、コーナー開始点とコーナー終了点の登録手順を示す図である。図１０（Ａ）に示すように、境界線に沿って部分画素列が移動し、その先頭部分がコーナーに突入した段階では、ＶA とＶB の内積値ＩＰがＴIPより大きく、まだコーナーが部分画素列に含まれない状態にある。そして、部分画素列の移動が進むと、図１０（Ｂ）に示すように、内積値ＩＰがＴIP以下になって、コーナーが部分画素列に含まれた状態になる。このときのＶA の始点に対応する画素がコーナーの終了点「●」となる。さらに部分画素列の移動が進むと、ＶB の向きがコーナーの曲線に沿って変化し始める。図１０（Ｃ）に示すように、ＶB の向きがコーナーの曲線に沿って変化し始める直前のＶB の終点に対応する画素がコーナーの終了点「○」となる。そして、部分画素列の移動がさらに進むと、図１０（Ｄ）に示すように、ＶB がコーナーから抜けて、部分画素列全体が次のコーナーに向かって移動する。このようにして、４つのコーナーのそれぞれに対応してコーナー終了点とコーナー開始点が検出され、その都度頂点検出部１８によって登録される。
【００５５】
ところで、ステップ１０３の境界追跡処理によって抽出される境界線は、理論的には直線であっても、実際にはノイズの混入による凹凸が生じる。このため、ＶA とＶB の長さをあまり短く設定すると、コーナーの位置を誤検出する可能性が高くなる。
【００５６】
図１１は、コーナーの誤検出の原理を説明するための図である。図１１（Ａ）は、抽出された境界線にノイズが含まれておらず、しかも着目している部分的な境界線がＸ軸に平行に配置された場合であり、このような限られた条件のときに段差が全くない画素列となる。しかし、実際の境界線は、カメラ１０による撮像時や二値化処理等において混入するノイズの影響により一直線にはならない。したがって、このような境界線に沿って移動する部分画素列の形状も直線状にはならない。このため、ＶA とＶB の長さをあまり短く、例えば図１１（Ｂ）に示すようにＬの長さを２に設定すると、ＶA とＶB の向きが画素列の移動に伴って大きく変化し、本来直線状の境界線に沿って移動しているにもかかわらず、ＶA とＶB の内積値がほぼ０になって、実際には存在しないコーナーを誤検出してしまう。このような誤検出を回避するためには、ＶA とＶB の長さをある程度長く、例えば図１１（Ｃ）に示すようにＬの長さを３あるいはそれ以上に設定すればよい。
【００５７】
なお、部分画素列にコーナーが含まれている場合であっても、ノイズ等のために、部分画素列がコーナーから抜け出したものとして誤検出される場合がある。
図１２は、部分画素列がコーナーを抜け出したものとして誤検出される場合の具体例を示す図である。図１２に示すように、部分画素列にコーナーが含まれる状態において、ノイズ等によってＶA およびＶB の少なくもと一方の向きが大きく変化すると上述した誤検出が発生する。
【００５８】
このようにして発生する誤検出に対する対策としては、所定個数の画素からなる不感領域を設け、コーナー終了点あるいはコーナー開始点が検出されても、即座にこれらの登録を行うのではなく、この検出タイミングから不感領域に対応する画素数分経過しても再度コーナーへの進入を検出しない場合に限って、先に検出したコーナー終了点あるいはコーナー開始点を登録するようにすればよい。
【００５９】
上述した一連の処理によって４つのコーナーが検出される。検出される順に、第０コーナー、第１コーナー、第２コーナー、第３コーナーとする。それぞれのコーナー開始点およびコーナー終了点の座標を、
第０コーナー開始点（ｓ0x，ｓ0y）、第０コーナー終了点（ｅ0x，ｅ0y）
第１コーナー開始点（ｓ1x，ｓ1y）、第１コーナー終了点（ｅ1x，ｅ1y）
第２コーナー開始点（ｓ2x，ｓ2y）、第２コーナー終了点（ｅ2x，ｅ2y）
第３コーナー開始点（ｓ3x，ｓ3y）、第３コーナー終了点（ｅ3x，ｅ3y）
とすると、図８（Ｂ）において「×」で示される４つの頂点は、第０コーナー終了点（ｅ0x，ｅ0y）と第１コーナー開始点（ｓ1x，ｓ1y）とを通る第１の直線と、第１コーナー終了点（ｅ1x，ｅ1y）と第２コーナー開始点（ｓ2x，ｓ2y）とを通る第２の直線と、第２コーナー終了点（ｅ2x，ｅ2y）と第３コーナー開始点（ｓ3x，ｓ3y）とを通る第３の直線と、第３コーナー終了点（ｅ3x，ｅ3y）と第０コーナー開始点（ｓ0x，ｓ0y）とを通る第４の直線とがそれぞれ交差する４つの交点を算出することにより求めることができる。
【００６０】
一般に、点（ｘ０，ｙ０）と点（ｘ１，ｙ１）とを通る直線Ａの方程式
（ｙ１−ｙ０）×ｘ＋（ｘ０−ｘ１）×ｙ＝
（ｙ１−ｙ０）×ｘ０＋（ｘ０−ｘ１）×ｙ０
を、
ａ０×ｘ＋ｂ０×ｙ＝ｃ０
とする。ここで、ａ０＝ｙ１−ｙ０、ｂ０＝ｘ０−ｘ１、ｃ０＝（ｙ１−ｙ０）×ｘ０＋（ｘ０−ｘ１）×ｙ０である。
【００６１】
同様に、点（ｘ２，ｙ２）と点（ｘ３，ｙ３）とを通る直線Ｂの方程式
（ｙ３−ｙ２）×ｘ＋（ｘ２−ｘ３）×ｙ＝
（ｙ３−ｙ２）×ｘ２＋（ｘ２−ｘ３）×ｙ２
を、
ａ１×ｘ＋ｂ１×ｙ＝ｃ１
とする。ここで、ａ１＝ｙ３−ｙ２、ｂ２＝ｘ２−ｘ３、ｃ２＝（ｙ３−ｙ２）×ｘ２＋（ｘ２−ｘ３）×ｙ２である。
【００６２】
上述した２つの直線Ａ，Ｂの交点の座標（Ｘ，Ｙ）を求めると、
Ｘ＝（ｂ１×ｃ０−ｂ０×ｃ１）／（ａ０×ｂ１−ｂ０×ａ１）  …（２）
Ｙ＝（−ａ１×ｃ０＋ａ０×ｃ１）／（ａ０×ｂ１−ｂ０×ａ１）…（３）
となる。
【００６３】
（２）式および（３）式を用いることにより、第０コーナーの外側近傍にある頂点（ｃ０ｘ，ｃ０ｙ）、第１コーナーの外側近傍にある頂点（ｃ１ｘ，ｃ１ｙ）、第２コーナーの外側近傍にある頂点（ｃ２ｘ，ｃ２ｙ）、第３コーナーの外側近傍にある頂点（ｃ３ｘ，ｃ３ｙ）が計算される。
【００６４】
回転補正処理（ステップ１０５）
次に、回転補正部２０は、上述したステップ１０４における頂点検出処理によって検出された各頂点の相対位置を必要に応じて変更する回転補正を実施する。
図１３は、回転補正の概略を示す図である。図１３に示すように、「Ａ」という文字が描かれた長方形のカードに対応する登録パターンＧ０が存在する場合に、実際に切り出された画像には、縦長の切り出し画像Ｇ１と、横長の切り出し画像Ｇ２とが存在するものとする。しかし、カードを横長に配置して見たときのこのカードの模様と、縦長の登録パターンＧ０の模様とが一致するということはない。あるいは、一致する場合があったとしても、もともと横長のカードと縦長のカードの一致判定を行いたいわけではなく、これらのカードについては不一致判定を行う必要がある。したがって、上述したステップ１０４における頂点検出処理によって検出された４つの頂点の位置関係（カード１００を縦長にして配置したときに、例えば第０コーナーの外側近傍にある頂点がどこにくるか）を調べることにより、実際に切り出された撮像データと登録パターンとの比較を行う際の処理の簡略化が可能になる。
【００６５】
図１４は、回転補正の詳細な内容を示す図である。図１４において、模様「Ａ」のカードの四隅に付された「Ｃ０」あるいは「０」は、最初に検出される第０コーナーの外側近傍の頂点を示している。同様に、「Ｃ１」あるいは「１」は第１コーナーの外側近傍の頂点を、「Ｃ２」あるいは「２」は第２コーナーの外側近傍の頂点を、「Ｃ３」あるいは「３」は第３コーナーの外側近傍の頂点をそれぞれ示している。また、「Ｌ０１」は２つの頂点Ｃ０、Ｃ１に挟まれた境界線の直線部分を示している。同様に、「Ｌ１２」は２つの頂点Ｃ１、Ｃ２に挟まれた境界線の直線部分を、「Ｌ２３」は２つの頂点Ｃ２、Ｃ３に挟まれた境界線の直線部分を、「Ｌ３０」は２つの頂点Ｃ３、Ｃ０に挟まれた境界線の直線部分をそれぞれ示している。
【００６６】
ステージ３０上に長手方向がほぼ縦向きとなるようにカード１００を置いた場合であっても、ノイズ等の影響によって、最初に検出される頂点の位置が一つ分ずれる場合がある。頂点位置が一つ分ずれるということは、同じように置いたカード１００について、頂点の位置を揃えてパターン比較を行った場合であっても、切り出される撮像データが９０度回転してしまう場合があるということを示している。
【００６７】
本実施形態では、図１４の最上段に示したように、縦置きされたカード１００の右下に、最初に検出された頂点Ｃ０が対応する場合を「標準登録配置」とする。この場合には、回転補正を行わない。回転補正部２０は、境界線Ｌ０１が境界線Ｌ１２よりも長く、かつ境界線Ｌ０１の傾きが右上がりになっている場合に、このカード１００が図１４の最上段に示した標準登録配置になっているものと判断する。
【００６８】
また、図１４の上から２段目あるいは３段目に示したように、縦置きされたカード１００の左下に、最初に検出された頂点Ｃ０が対応する場合には、４つの頂点位置を反時計回り方向に一つずつずらす回転補正が実施される。回転補正部２０は、境界線Ｌ０１が境界線Ｌ１２よりも短い場合に、このカード１００が図１４の上から２段目あるいは３段目に示した配置状態になっているものと判断する。
【００６９】
また、図１４の最下段に示したように、縦置きされたカード１００の左上に、最初に検出された頂点Ｃ０が対応する場合には、４つの頂点位置を２つ分ずらす回転補正が実施される。回転補正部２０は、境界線Ｌ０１が境界線Ｌ１２よりも長く、かつ境界線Ｌ０１の傾きが右下がりになっている場合に、このカード１００が図１４の最下段に示した配置状態になっているものと判断する。
【００７０】
図１５は、回転補正によって向きが変更された後のカードの配置状態を示す図である。回転補正を行うことによって、図１５（Ａ）に示すように、上向きを中心として所定の範囲に含まれる向きに配置されたカード１００は、上向きに配置されたものとして判断され、図１５（Ｂ）に示すように、下向きを中心として所定の範囲に含まれる向きに配置されたカード１００は、下向きに配置されたものとして判断される。
【００７１】
撮像データの切り出し処理（ステップ１０６）
次に、切り出し処理部２２は、上述したステップ１０５における回転補正がなされた後の４つの頂点を有する矩形の内部に含まれるグレースケールの階調データＳ（ｘ，ｙ）を切り出す処理を行う。
【００７２】
図１６は、撮像データの切り出し処理の概要を示す図である。切り出し処理部２２は、４つの頂点によって特定される矩形の長辺と短辺のそれぞれを６４分割して、各格子点に対応する画素のグレースケールの階調データＳ（ｘ，ｙ）を切り出すことにより、６４×６４個の比較データＨ（ｕ，ｖ）を生成する。ここで、「ｕ，ｖ」は、第２コーナーの外側近傍の頂点Ｃ２を原点として、短辺方向および長辺方向に沿った格子点の位置に対応している。なお、短辺方向および長辺方向の分割数は任意であり、異なる値を設定してもよい。
【００７３】
さらに、ステージ３０の色やその素材の持つ反射特性などの影響を抑えるために、カード１００の外周部の格子点の情報は利用しなくてもよい。例えば、長辺、短辺をそれぞれ６４分割した場合、中央部の５４×５４個の部分のみを利用すれば、カード１００の識別には充分であり、かつステージ３０の色やその素材の持つ反射特性などによる悪影響を抑制することが可能になる。
【００７４】
撮像データの正規化処理（ステップ１０７）
次に、正規化処理部２４は、上述したステップ１０６における切り出し処理によって得られた比較データＨ（ｕ，ｖ）に対して所定の正規化処理を行う。
図１７は、正規化処理の詳細な手順を示す流れ図である。まず、正規化処理部２４は、切り出し処理部２２によって切り出された比較データＨ（ｕ，ｖ）を取得して階調値のヒストグラムを作成し（ステップ２００）、ノイズ等に起因すると考えられる極端な値を有する比較データを削除する（ステップ２０１）。
【００７５】
図１８は、ステップ２０１において極端な階調値を有する比較データを削除する処理の内容を示す図である。図１８（Ａ）に示すように、横軸を階調値とし、縦軸を度数（同じ階調値を有する比較データの数）とした比較データのヒストグラムがステップ２００に示した処理により作成される。このときに、範囲ａにより示されている比較データ群から外れて、階調値の下限値（ｍｉｎ）付近および上限値（ｍａｘ）付近にそれぞれ比較データが存在するような場合には、それらの比較データは「極端な階調値を有する」ものとして削除される。具体的には、取得した比較データの上限値と下限値の間の範囲ｂを求め、この範囲ｂの上下数％程度を除く範囲ｃに含まれる比較データだけを有効とし、この範囲ｃから外れる比較データが削除される。このようにして、極端な階調値を有する比較データの削除が行われた後には、図１８（Ｂ）に示すような比較データのヒストグラムが得られる。
【００７６】
次に、正規化処理部２４は、比較データを正規化するために必要な変換関数のパラメータを設定する（ステップ２０２）。例えば、変換関数として単純な一次関数で表すことができる直線補間関数を用いる場合を考えると、正規化処理部２４は、比較データの最大値や最小値などに基づいて一次関数のパラメータ（傾き、切片）を設定する。
【００７７】
変換関数のパラメータを設定すると、次に正規化処理部２４は、この変換関数にしたがって比較データの正規化を行う（ステップ２０３）。
図１９は、正規化処理の前後における比較データの階調値の変化を示す図である。図１９において、縦軸は階調値を示しており、比較データの存在する範囲（ばらつきの範囲）が棒グラフにより示されている。また、「前」とは正規化処理が行われる前を、「後」とは正規化処理が行われた後をそれぞれ示している。例えば、図１９（Ａ）では、正規化処理前の比較データは、階調値の可変範囲の中央付近から上限付近にかけた範囲に存在していることが表されている。
【００７８】
図１９（Ａ）〜図１９（Ｅ）に示すように、照明光（環境光）の強弱により、同一のカード１００を撮像した場合であっても、正規化処理前の比較データは、異なった範囲に存在することとなる。具体的には、カード１００に当たる環境光の照度が強い場合には、図１９（Ａ）や図１９（Ｂ）に示すように比較データの範囲が全体的に上限値（ｍａｘ）側に偏り、逆にカード１００に当たる環境光の照度が弱い場合には、図５（Ｄ）や図５（Ｅ）に示すように比較データの範囲が下限値（ｍｉｎ）側に偏る。この場合に、上述したような正規化処理を行うことにより、環境光の強弱に関係なく比較データのばらつきの範囲をすべて同じに揃えることができる。
【００７９】
パターン比較処理（ステップ１０８）
次に、パターン比較部２８は、上述したステップ１０７による正規化処理が行われた後の比較データｈ（ｕ，ｖ）を用いて、登録パターン格納部２６に格納された複数の登録パターンおよび補間パターン作成部２７によって作成される複数の補間パターンとの間でパターン比較による照合処理を行う。これにより、比較データｈ（ｕ，ｖ）に最も類似する一の登録パターンあるいは補間パターンが抽出され、抽出された登録パターンや補間パターンを作成するために使用されたカード１００が特定される。
【００８０】
図２０は、ステップ１０８のパターン比較処理の詳細な手順を示す流れ図である。
正規化処理後の比較データ（階調データ）が正規化処理部２４から出力されると、パターン比較部２８から補間パターン作成部２７に対してその旨が通知される。補間パターン作成部２７は、あらかじめ登録されている複数のカードの中からいずれか一のカードを選択し、選択したカードに対応して格納されている複数の登録パターンを登録パターン格納部２６から読み出し、これらの登録パターンを用いて補間パターンを作成する（ステップ３００）。
【００８１】
図２１は、補間パターンの作成方法の一例を示す図である。一のカードに対して３種類の登録パターンが用意されている場合の例が示されている。図２１において、実線の四角形で示された３つの登録パターンＴ１、Ｔ２、Ｔ３は、それぞれ照明条件が異なる登録パターンを模式的に表している。具体的には、登録パターンＴ１は明るい照明の下、登録パターンＴ２は標準的な照明の下、登録パターンＴ３は暗い照明の下でそれぞれ撮像された登録パターンであり、照明の強度差がハッチングの密度によって表現されている。
【００８２】
また、これら３つの登録パターンに基づいて作成される４つの補間パターンがそれぞれ点線の四角形により示されている。例えば、登録パターンＴ１とＴ２に基づいて、これらの登録パターンＴ１とＴ２を補間する中間的な照明条件を有する２つの補間パターンｔ１、ｔ２が作成される。同様に登録パターンＴ２とＴ３に基づいて、これらの登録パターンＴ２とＴ３を補間する中間的な照明条件を有する２つの補間パターンｔ３、ｔ４が作成される。これにより、照明条件がそれぞれ異なる７つのパターン（登録パターンと補間パターン）が得られることとなる。
【００８３】
このようにして補間パターンが作成されると、次にパターン比較部２８は、登録パターン格納部２６に格納されている複数の登録パターンおよび補間パターン作成部２７によって作成された複数の補間パターンのそれぞれと、正規化処理部２４から出力された比較データｈ（ｕ，ｖ）とを比較して誤差を求める所定の照合処理を行う（ステップ３０１）。
【００８４】
例えば、登録パターンｉあるいは補間パターンｉに対応する階調データをＥi（ｕ，ｖ）とする。パターン比較部２８は、階調データＥi（ｕ，ｖ）と比較データｈ（ｕ，ｖ）との誤差Ｔ（ｉ）を次式を用いて計算する。
【００８５】
【数１】
0004578000.tif 000002
【００８６】
本実施形態では、着目しているカード１００の比較データｈ（ｕ，ｖ）と登録パターンｉ（あるいは補間パターンｉ）を１８０度回転させた場合（向きを反転させた場合）の階調データＥ′i（ｕ，ｖ）との誤差Ｔ′（ｉ）の計算を、次式を用いて並行に行っている。
【００８７】
【数２】
0004578000.tif 000003
【００８８】
これら２種類の誤差Ｔ（ｉ）、Ｔ′（ｉ）の計算が、一のカードに対応する全ての登録パターンおよび補間パターンについて行われる。
なお、上述した例では、４つの頂点によって特定される矩形の長辺と短辺のそれぞれの分割数を「６４」とした場合について説明したが、それぞれの分割数をＵ、Ｖとした場合には、上述した各式において、ｕに対応した「６３」を「Ｕ−１」に、ｖに対応した「６３」を「Ｖ−１」に置き換えればよい。
【００８９】
次に、パターン比較部２８は、登録パターン格納部２６に登録パターンが格納されている全てのカードについて照合処理を行ったか否かを判定する（ステップ３０２）。全てのカードについての照合処理がまだ行われていない場合には、ステップ３０２で否定判断が行われる。この場合には上述したステップ３００に戻り、まだ選択されていない他のカードに対応する補間パターンを作成する処理以降が繰り返される。
【００９０】
また、登録パターン格納部２６に格納されている全てのカードについての照合処理が行われた場合には、ステップ３０２で肯定判断が行われる。次に、パターン比較部２８は、照合処理により最も誤差の少ない照合結果が得られたカードの内容をカード１００についての識別結果として出力する（ステップ３０３）。
【００９１】
なお、ステージ３０に複数のカード１００が並べられている場合には、上述した一連の処理が各カード１００毎に行われる。
このように、本実施形態のパターン認識処理装置では、一のカードに対応させて複数の照明条件を考慮した複数の登録パターンを予め用意しておくことにより、カードを置いた場所等によって照明条件が変化する場合であっても、正確にこのカードの内容を特定することができる。特に、登録パターンの他に補間パターンを組み合わせて用いることにより、照明条件が変化した場合の認識精度をさらに向上させることができる。また、複数の登録パターンの一部を補間パターンで代用することにより、登録パターンの数を減らすことができる。
【００９２】
また、正規化処理部２４によって、一のカード内での階調値のばらつきの範囲が一定になるように、階調データに対して所定の正規化処理を行うことにより、照明条件が異なることによって階調値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度を上げることができる。
【００９３】
また、本実施形態のパターン認識処理装置では、カード１００の境界線によって囲まれた領域の撮像データを抽出して、いくつかの認識結果候補としての登録パターンや補間パターンと比較するという単純な処理で、カード１００の内容を認識することができる。特に、境界線がほぼ長方形を有していることが予めわかっているため、撮像データが登録パターンに一致するか否かを正確に判定することができ、高い認識率を達成することができる。また、ステージ３０の色をカード１００の色と異ならせることにより、境界線抽出を容易かつ高精度に行うことができる。
【００９４】
また、カメラ１０から出力される３色の色データをグレースケールの階調データに変換して、その後の処理を行っているため、処理の簡略化が可能になる。特に、境界線を抽出する処理については、この階調データを二値化したデータを用いることにより、さらなる処理の簡略化による処理量の低減が可能になる。
【００９５】
また、一般には、カード１００のコーナーは丸みを帯びているが、このような場合であっても、正確に頂点位置を求めることにより、この頂点位置を基準にして正確な座標の計算を行うことができ、パターン比較の精度を高めることができ、認識精度を向上させることができる。
【００９６】
また、境界線に沿って部分画素列を移動させることにより、この部分画素列の先頭部分と末尾部分のそれぞれによって定義されるベクトルがなす角度を調べるという簡単な処理によって、コーナーを検出することが可能になる。また、丸みを帯びたコーナーを除く境界線には、平行な２組の直線が含まれており、これら４本の直線の交点を求める処理によって、容易に頂点位置を決定することができる。
【００９７】
また、カード１００はほぼ長方形形状を有しており、方向性があるため、回転補正部２０によって頂点位置の回転補正を行うことにより、明らかに不一致となる撮像データ同士の比較処理を省略することができ、さらに処理の簡略化が可能になる。
【００９８】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した図２１に示した３つの登録パターンＴ１、Ｔ２、Ｔ３では、カード全体に対する照明の明るさは均一であり、その強度だけが可変に設定されていたが、カード全体に対する照明の明るさを不均一に設定した登録パターンを用いるようにしてもよい。
【００９９】
図２２は、照明の明るさを不均一に設定した登録パターンを用いる場合の例を示す図である。図２２に示す４つの登録パターンＴ５〜Ｔ８のうち、登録パターンＴ６およびＴ７は、カードの上下半分ずつの領域で照明の強度を変えて撮像した撮像データに基づいて作成されている。このような場合にも、図２１に示した場合と同様にして、４つの登録パターンＴ５〜Ｔ８に基づいて、これらの中間的な照明条件下での９つの補間パターンｔ５〜ｔ１３を作成することができる。このように、明るさを不均一に設定した登録パターンを用い、各領域毎に補間パターンを作成することにより、認識対象のカードに対する照明が不均一となっている場合（例えば、カード１００の半分に人の影がかかっているような場合）における認識精度を向上させることができる。
【０１００】
また、図２２に示した例では、カードの上下半分ずつの領域で照明の強度を可変に設定した場合を示したが、領域の分け方はこれに限定されるものではなく、カードの左右方向に分割したり、上下左右で４領域に分割してもよく、上下または左右で不均等な面積比率にしてもよい。また、カードの領域内で連続的に照明の強度が変わるような設定にしてもよい。
【０１０１】
また、図２２に示した例のように、照合処理の対象となる登録パターンや補間パターンの数が多くなる場合には、予備照合処理を行うことにより、処理量の低減を図るようにしてもよい。
図２３は、予備照合処理を行う場合のパターン認識処理の手順を示す流れ図である。この処理は、図２に示した流れ図におけるステップ１０８において行われるものである。
【０１０２】
正規化処理後の比較データが正規化処理部２４から出力されると、パターン比較部２８は、あらかじめ登録されているカードの中からいずれか一のカードを選択し、選択したカードに対応して格納されている複数の登録パターンを登録パターン格納部２６から読み出す（ステップ４００）。例えば、図２２に示した４つの登録パターンＴ５〜Ｔ８が読み出される。
【０１０３】
次にパターン比較部２８は、読み出した登録パターンのみを用いて、これらの登録パターンと正規化処理部２４から出力された比較データを比較して誤差を求める所定の照合処理を行う（ステップ４０１）。
次にパターン比較部２８は、登録されている全てのカードについて照合処理を行ったか否かを判定する（ステップ４０２）。全てのカードについての照合処理がまだ行われていない場合には、ステップ４０２で否定判断が行わる。この場合には上述したステップ４００に戻り、まだ選択されていないカードについて、登録パターンの読み出し処理以降が繰り返される。
【０１０４】
また、登録されている全てのカードについて、登録パターンのみを用いた照合処理が行われた場合には、ステップ４０２で肯定判断が行われ、次にパターン比較部２８は、各カードについての照合結果に基づいて、ステージ３０上に並べられているカード１００と適合する可能性の高いカードのみを選出する（ステップ４０３）。例えば、４つの登録パターンを用いた照合処理により得られる４つの照合結果、すななち誤差のいずれもが所定基準よりも大きいカードについてのみ、ステージ３０上に並べられたカード１００に適合する可能性が低いものとみなして除外され、それ以外のカードが選出される。
【０１０５】
なお、誤差を評価するための所定基準については、上述したものに限定されるものではなく、他にも種々の方法が考えられる。例えば、４つの登録パターンに対応して求められた誤差の平均値を計算し、この平均値が所定値よりも小さいカードのみを選出するようにしてもよい。
【０１０６】
ステップ４００〜ステップ４０３に示した予備照合処理が行われると、次に、補間パターン作成部２７は、ステージ３０上に並べられたカード１００に適合する可能性が高いとして選出されたカードの中からいずれか一のカードを選択し、このカードに対応する登録パターンを用いて補間パターンを作成する（ステップ４０４）。補間パターンの具体的な作成方法は、上述した図２２等において説明した通りである。
【０１０７】
補間パターンが作成されると、パターン比較部２８は、登録パターン格納部２６に格納されている複数の登録パターンおよび補間パターン作成部２７によって作成された複数の補間パターンのそれぞれと、正規化処理部２４から出力された比較データｈ（ｕ，ｖ）とを比較して誤差を求める所定の照合処理を行う（ステップ４０５）。なお、登録パターンを用いた照合処理は、上述したステップ４０１において既に実施しているため、ここでは補間パターンを用いた場合の誤差計算のみを行えばよい。
【０１０８】
次にパターン比較部２８は、予備照合処理によって選出された全てのカードについて照合処理を行ったか否かを判定する（ステップ４０６）。選出された全てのカードについての照合処理がまだ行われていない場合には、ステップ４０６で否定判断が行われる。この場合には上述したステップ４０４に戻り、まだ選択されていないカードについて、補間パターンの作成処理以降が繰り返される。
【０１０９】
また、予備照合処理によって選出された全てのカードについての照合処理が行われた場合には、ステップ４０６で肯定判断が行われる。次にパターン比較部２８は、上述したステップ４０１および４０５に示した照合処理によって得られた各誤差を参照し、最も誤差の少ない照合結果が得られたカードの内容をカード１００の識別結果として出力する（ステップ４０７）。
【０１１０】
このように、少ない数（例えば、一のカードについて４つ程度）の登録パターンを用いた予備照合処理を行い、この予備照合結果に基づいてステージ３０上のカード１００に適合する可能性の高いカードのみを選出し、選出されたカードについて、補間パターンを用いた詳細な照合処理を行うことにより、パターン比較処理に要する時間を短縮するとともに、処理負担を軽減することができる。
【０１１１】
また、上述した正規化処理において用いる変換関数は、直線補間関数に限定されるものではなく他の関数を用いてもよい。照明条件が変化した場合に、階調データの分布状態が直線的に変化しない場合も考えられるが、このような場合には、変換関数として二次関数など他の関数を適宜用いることにより、より適切な正規化処理を行うことができる。
【０１１２】
また、上述した正規化処理と、複数の登録パターンおよび補間パターンを用いた照合処理は、各処理のいずれか一方のみを採用することによってもパターン認識処理の精度を向上させる効果がある。具体的には、正規化処理のみを採用することによっても、各カード１００毎の照明条件の差異を吸収して、認識精度を向上させることができる。また、複数の登録パターンやこれらに基づいて作成される補間パターンを用いた照合処理のみを採用することによっても、各カード１００毎の照明条件の差異によらず、認識精度を向上させることができる。
【０１１３】
また、上述した実施形態では、トランプやタロットカード等のカード１００の内容を認識する場合について説明していたが、本発明の用途はこれに限定されるものではなく、他の用途、例えばサイコロの出目などを認識する場合に適用することができる。
【０１１４】
【発明の効果】
上述したように、本発明によれば、一の認識対象物に対応させて複数の照明条件を考慮した登録パターンを予め用意しておくことにより、認識対象物を置いた場所等によって照明条件が変化する場合であっても、正確にこの認識対象物の内容を特定することができる。
【図面の簡単な説明】
【図１】一実施形態のパターン認識処理装置の構成を示す図である。
【図２】ステージ上に並べられたカードをカメラによって撮像してその内容を認識するまでの一連のパターン認識手順を示す流れ図である。
【図３】カメラを通して撮像された画像の明るさの不均一さを説明するための図である。
【図４】二値化処理がなされた後の画像（二値化画像）の具体例を示す図である。
【図５】境界追跡処理の具体例を示す図である。
【図６】境界追跡処理において次の白画素を決定する手法を説明するための図である。
【図７】境界追跡処理と並行して収集する座標値を説明するための図である。
【図８】各コーナーと頂点との関係を示す図である。
【図９】境界線に沿って移動する部分画素列の具体例を示す図である。
【図１０】コーナー開始点とコーナー終了点の登録手順を示す図である。
【図１１】コーナーの誤検出の原理を説明するための図である。
【図１２】部分画素列がコーナーを抜け出したものとして誤検出する場合の具体例を示す図である。
【図１３】回転補正の概略を示す図である。
【図１４】回転補正の詳細な内容を示す図である。
【図１５】回転補正によって向きが変更された後のカードの配置状態を示す図である。
【図１６】撮像データの切り出し処理の概要を示す図である。
【図１７】正規化処理の詳細な手順を示す流れ図である。
【図１８】極端な階調値を有する階調データを削除する場合の概略を示す図である。
【図１９】正規化処理の前後における階調値の変化を示す図である。
【図２０】パターン比較処理の詳細な手順を示す流れ図である。
【図２１】補間パターンの作成方法の一例を示す図である。
【図２２】不均一な照明条件を考慮した登録パターンを用いる場合の補間パターンの作成方法の一例を示す図である。
【図２３】予備照合処理を行う場合のパターン比較処理の手順を示す流れ図である。
【符号の説明】
１０  カメラ
１２  前処理部
１４  二値化処理部
１６  境界追跡処理部
１８  頂点検出部
２０  回転補正部
２２  切り出し処理部
２４  正規化処理部
２６  登録パターン格納部
２７  補間パターン作成部
２８  パターン比較部
３０  ステージ
４０  パターン認識処理部
５０  情報記憶媒体
１００  カード
【図１】
0004578000.tif 000004
【図２】
0004578000.tif 000005
【図３】
0004578000.tif 000006
【図４】
0004578000.tif 000007
【図５】
0004578000.tif 000008
【図６】
0004578000.tif 000009
【図７】
0004578000.tif 000010
【図８】
0004578000.tif 000011
【図９】
0004578000.tif 000012
【図１０】
0004578000.tif 000013
【図１１】
0004578000.tif 000014
【図１２】
0004578000.tif 000015
【図１３】
0004578000.tif 000016
【図１４】
0004578000.tif 000017
【図１５】
0004578000.tif 000018
【図１６】
0004578000.tif 000019
【図１７】
0004578000.tif 000020
【図１８】
0004578000.tif 000021
【図１９】
0004578000.tif 000022
【図２０】
0004578000.tif 000023
【図２１】
0004578000.tif 000024
【図２２】
0004578000.tif 000025
【図２３】
0004578000.tif 000026