(57)【要約】【課題】  処理量が少なく、認識率を高めることができるパターン処理装置、方法およびプログラムを提供すること。【解決手段】  ２次微分処理部３４は、認識対象物に対応した複数画素の撮像データに対して２次微分処理を行う。ぼかし処理部３８は、微分処理によって得られた微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成する。パターン比較手段は、ぼかし処理後の微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、認識対象物に最も近い登録パターンを抽出する。【選択図】        図２
2005242600.tif 000002
【特許請求の範囲】
【請求項１】
認識対象物に対応した複数画素の撮像データに対して微分処理を行う微分処理手段と、
前記微分処理手段によって微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成するぼかし処理を行う第１のぼかし処理手段と、
前記ぼかし処理手段によるぼかし処理後の微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、前記認識対象物に最も近い前記登録パターンを抽出するパターン比較手段と、
を備えることを特徴とするパターン認識処理装置。
【請求項２】
請求項１において、
前記パターン比較手段による比較処理は、前記撮像データの値が所定の範囲から外れる画素を除外して行われることを特徴とするパターン認識処理装置。
【請求項３】
請求項２において、
前記所定の範囲とは、前記撮像データの値が基準値以下の場合であることを特徴とするパターン認識処理装置。
【請求項４】
請求項１〜３のいずれかにおいて、
前記微分処理手段は、着目画素とその周囲に配置された周辺画素のそれぞれの撮像データを用いて２次微分処理を行うことにより前記微分データを出力することを特徴とするパターン認識処理装置。
【請求項５】
請求項４において、
前記微分処理手段による２次微分処理によって得られた微分データに対して絶対値処理を行う絶対値処理手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項６】
請求項１〜５のいずれかにおいて、
前記パターン比較処理を行う前の前記微分データに対して正規化処理を行う第１の正規化処理手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項７】
請求項１〜６のいずれかにおいて、
前記撮像データは、前記認識対象物を構成する各画素の階調値を示す階調データであり、
前記認識対象物を撮像した色データを前記階調データに変換する前処理手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項８】
請求項７において、
前記色データは、カメラ付携帯電話機によって撮像されてメールに添付された画像ファイル、またはカメラ付携帯電話機上のアプリケーションプログラムから送信された画像データとして入力されることを特徴とするパターン認識処理装置。
【請求項９】
請求項８において、
前記画像ファイルに基づいて判定した前記認識対象物の数が所定数と異なるときにエラー通知を行うエラー通知手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項１０】
請求項１〜９のいずれかにおいて、
一あるいは複数の前記認識対象物が含まれる撮像データに基づいて、前記認識対象物の境界線を抽出する境界抽出手段と、
前記境界抽出手段によって抽出された境界線に囲まれる領域に対応する前記撮像データを前記認識対象物毎に抽出する認識対象画像抽出手段と、
をさらに備えることを特徴とするパターン認識処理手段。
【請求項１１】
請求項１０において、
前記認識対象画像抽出手段は、前記認識対象物を構成する第１の画素数が前記登録パターンを構成する第２の画素数と異なるときに、前記認識対象物に対応する前記第２の画素数分の前記撮像データを抽出することを特徴とするパターン認識処理装置。
【請求項１２】
請求項１〜１１のいずれかにおいて、
前記認識対象物に対応した前記撮像データに対して、着目画素毎とその周辺に配置された周囲画素のそれぞれの前記撮像データを平均化して着目画素の新たな撮像データを生成するぼかし処理を行う第２のぼかし処理手段をさらに備え、
前記微分処理手段は、前記第２のぼかし処理手段によって生成された撮像データを用いて微分処理を行うことを特徴とするパターン認識処理装置。
【請求項１３】
請求項１〜１２のいずれかにおいて、
前記認識対象物に対応した前記撮像データに対して正規化処理を行う第２の正規化処理手段をさらに備えることを特徴とするパターン認識処理装置。
【請求項１４】
請求項１〜１３のいずれかにおいて、
前記登録パターンのそれぞれには前記微分データとともに前記撮像データが対応しており、
前記パターン比較手段は、前記認識対象物に対応する前記微分データと前記撮像データのそれぞれを用いて最も類似する前記登録パターンを抽出することを特徴とするパターン認識処理装置。
【請求項１５】
請求項１４において、
前記パターン比較手段は、前記認識対象物に対応する微分データと前記登録パターンに対応する微分データとを用いて計算した第１の誤差と、前記認識対象物に対応する撮像データと前記登録パターンに対応する撮像データとを用いて計算した第２の誤差とを所定の重み付けをして加算した合計値が最小となる一の前記登録パターンを抽出することを特徴とするパターン認識処理装置。
【請求項１６】
請求項１４において、
前記撮像データには、前記認識対象物を構成する各画素の階調値を示す階調データと、前記認識対象物を構成する各画素の色データとが含まれており、
前記パターン比較手段は、前記認識対象物に対応する前記微分データと前記階調データと前記色データのそれぞれを用いて最も類似する前記登録パターンを抽出することを特徴とするパターン認識処理装置。
【請求項１７】
請求項１〜１６のいずれかにおいて、
前記認識対象物に対応する前記撮像データは、複数の分割領域に分散した対応付けがなされており、これら複数の分割領域のそれぞれ毎に前記登録パターンが抽出され、これら複数の分割領域のそれぞれに対応して抽出された前記登録パターンに基づいて一の前記登録パターンが決定されることを特徴とするパターン認識処理装置。
【請求項１８】
認識対象物に対応した複数画素の撮像データに対して微分処理を行う第１のステップと、
前記微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成する第２のステップと、
前記第２のステップにおいて生成された微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、前記認識対象物に最も近い登録パターンを抽出する第３のステップと、
を有することを特徴とするパターン認識処理方法。
【請求項１９】
請求項１８において、
前記第３のステップにおいて行われる比較処理は、前記撮像データの値が所定の範囲から外れる画素を除外して行われることを特徴とするパターン認識処理方法。
【請求項２０】
コンピュータを、
認識対象物に対応した複数画素の撮像データに対して微分処理を行う微分処理手段と、
前記微分処理手段によって微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成するぼかし処理を行う第１のぼかし処理手段と、
前記ぼかし処理手段によるぼかし処理後の微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、前記認識対象物に最も近い前記登録パターンを抽出するパターン比較手段と、
して機能させるためのパターン認識処理プログラム。
【請求項２１】
請求項２０において、
前記パターン比較手段による比較処理は、前記撮像データの値が所定の範囲から外れる画素を除外して行われることを特徴とするパターン認識処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラを用いてタロットカード等を撮像して得られた画像に対して画像認識を行うパターン処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、カメラで撮像した画像に基づいて、その中に含まれるタロットカード等の種類や向きを認識するパターン処理装置が知られている（例えば、特許文献１参照。）。このパターン処理装置では、カメラによって撮像したグレースケールの階調データの中からカードに対応する領域を切り出して、予め登録された登録パターンと比較して最も近い登録パターンを選択することにより、切り出した画像に対応するカードの種類や向きを認識する処理を行っている。
【０００３】
また、カメラの撮像によって得られた階調データそのものではなく微分入力画像を用いてパターン認識を行う画像処理装置が従来から知られている（例えば、特許文献２参照。）。この画像処理装置では、従来の相互相関演算によるパターン認識と輪郭相互相関演算によるパターン認識とを組み合わせることにより、多種多様な画像に対して確実かつ正確なパターン認識を行うことができる。
【特許文献１】特開２００２−２２２４２１号公報（第５−１３頁、図１−２３）
【特許文献２】特開平５−２８２７３号公報（第４−９頁、図１−１２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されたパターン処理装置では、認識対象物としてのタロットカードに対して照明のあたり方が一定していないと、認識率が低下するという問題があった。また、光の反射等の影響で一部分が白く映ると、撮像された画像と登録パターンとの差異が大きくなって認識率が低下するという問題があった。
【０００５】
また、特許文献２に開示された画像処理装置では、特許文献１に開示されているようにあらかじめ切り出された所定領域の画像を対象に認識処理を行う場合に、撮像された画像と登録パターンの画像とが１画素分ずれてしまうと相関値が低下して認識率が低下するという問題があった。なお、特許文献２には、撮像された全体画像の中から認識対象の画像を切り出す範囲を１画素分ずつずらしていって、切り出されたそれぞれの画像に対してパターン認識を行っているため、切り出された画像と登録パターン画像とのわずかなずれは問題にならないが、この処理手順では処理量が多くなるため処理負担が重く、撮像された画像を取得してからパターン認識結果を得るまでの時間を短くしたいような用途や、タロットカードのように登録パターンの内容が複雑でしかも数が多い場合などには適していない。
【０００６】
本発明は、このような点に鑑みて創作されたものであり、その目的は、処理量が少なく、認識率を高めることができるパターン処理装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明のパターン認識処理装置は、認識対象物に対応した複数画素の撮像データに対して微分処理を行う微分処理手段と、微分処理手段によって微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成するぼかし処理を行う第１のぼかし処理手段と、ぼかし処理手段によるぼかし処理後の微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、認識対象物に最も近い登録パターンを抽出するパターン比較手段とを備えている。
【０００８】
また、本発明のパターン認識処理方法は、認識対象物に対応した複数画素の撮像データに対して微分処理を行う第１のステップと、微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成する第２のステップと、第２のステップにおいて生成された微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、認識対象物に最も近い登録パターンを抽出する第３のステップとを有している。
【０００９】
また、本発明のパターン認識処理プログラムは、コンピュータを、認識対象物に対応した複数画素の撮像データに対して微分処理を行う微分処理手段と、微分処理手段によって微分処理が行われた後の微分データに対して、着目画素とその周辺に配置された周囲画素のそれぞれの微分データを平均化して着目画素の新たな微分データを生成するぼかし処理を行う第１のぼかし処理手段と、ぼかし処理手段によるぼかし処理後の微分データを用いて、あらかじめ登録されている複数の登録パターンのそれぞれに対応する微分データに対する比較処理を行うことにより、認識対象物に最も近い登録パターンを抽出するパターン比較手段として機能させる。認識対象物に対応した撮像データに対して微分処理を行った結果をパターン比較に直接用いるのではなく、ぼかし処理を行った後に微分データを用いてパターン比較を行っているため、実際の撮像によって得られた範囲が若干ずれた場合であっても、比較されるデータ同士の相関値が極端に低下することがなく、認識率を高めることができる。しかも、ぼかし処理を行わずに１画素分ずらしながらパターン比較を繰り返し行う場合に比べて処理量（計算量）を大幅に低減することが可能になる。
【００１０】
また、上述した比較処理は、撮像データの値が所定の範囲から外れる画素を除外して行われることが望ましい。これにより、光の照射状態が悪くて有効な情報が得られない撮像データを除いてパターン認識処理を行うことができ、認識精度をさらに高めることが可能になる。
【００１１】
また、上述した所定の範囲とは、撮像データの値が基準値以下の場合であることが望ましい。これにより、照射光が強く反射してしまって白く光ってしまった部分を除いてパターン認識処理を行うことができ、認識精度をさらに高めることができる。
【００１２】
また、上述した微分処理手段は、着目画素とその周囲に配置された周辺画素のそれぞれの撮像データを用いて２次微分処理を行うことにより微分データを出力することを特徴とすることが望ましい。これにより、方向性のない微分データを得ることができるため、認識対象物の配置や認識対象物に含まれる模様の方向等に関係なく正確なパターン認識処理を行うことができる。
【００１３】
また、上述した微分処理手段による２次微分処理によって得られた微分データに対して絶対値処理を行う絶対値処理手段をさらに備えることが望ましい。これにより、撮像データの値の変化の方向に関係しないパターン認識処理を行うことができるため、照明条件によって認識対象物の色や階調度が変化した場合であっても高い認識精度を維持することが可能になる。
【００１４】
また、上述したパターン比較処理を行う前の微分データに対して正規化処理を行う第１の正規化処理手段をさらに備えることが望ましい。これにより、照明条件や撮像素子（カメラ）の特性等の相違に基づく微分データの値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度をさらに上げることができる。
【００１５】
また、上述した撮像データは、認識対象物を構成する各画素の階調値を示す階調データであり、認識対象物を撮像した色データを階調データに変換する前処理手段をさらに備えることが望ましい。例えばＲＧＢ３色の色データを用いてパターン認識を行う場合に比べて処理量を大幅に低減することができる。特に、微分データを用いてパターン認識を行う場合には、色そのものはあまり重要ではなく、階調データに変換しても高い認識精度を維持することが可能になる。
【００１６】
また、上述した色データは、カメラ付携帯電話機によって撮像されてメールに添付された画像ファイル、またはカメラ付携帯電話機上のアプリケーションプログラムから送信された画像データとして入力されることが望ましい。携帯電話機に搭載されたカメラを用いて撮像された画像は解像度が低く、しかも、メールに添付可能な画像ファイルの解像度はさらに低い値に制限されていることが多い。あるいは、カメラ付携帯電話機上のアプリケーションプログラムによって送信される場合であっても通信時間や通信料金等の観点から送信される画像データは解像度が低い方が望ましい。また、各ユーザが自分のカメラ付携帯電話機を使用して認識対象物を撮像する場合には、照明条件や手振れの状態などがユーザ毎に異なることになり、撮像された画像の色や階調値、手振れの状態が一定しない。このような場合であっても、微分データに対してぼかし処理を行った結果を用いてパターン比較を行うことにより、認識対象物の画像全体の模様の傾向が一致する登録パターンを正確に抽出することができる。
【００１７】
また、上述した画像ファイルに基づいて判定した認識対象物の数が所定数と異なるときにエラー通知を行うエラー通知手段をさらに備えることが望ましい。これにより、パターン認識の結果を用いる各種のアプリケーションにおいて明らかに誤りの結果しか得られない場合の複雑な処理を省略することができ、処理量をさらに低減することができる。
【００１８】
また、一あるいは複数の認識対象物が含まれる撮像データに基づいて、認識対象物の境界線を抽出する境界抽出手段と、境界抽出手段によって抽出された境界線に囲まれる領域に対応する撮像データを認識対象物毎に抽出する認識対象画像抽出手段とをさらに備えることが望ましい。認識対象物の境界線を抽出することにより、処理対象となる撮像データを限定することが可能になり、パターン比較に要する処理量を低減することが可能になる。
【００１９】
また、上述した認識対象画像抽出手段は、認識対象物を構成する第１の画素数が登録パターンを構成する第２の画素数と異なるときに、認識対象物に対応する第２の画素数分の撮像データを抽出することが望ましい。これにより、パターン比較の対象となる認識対象物と登録パターンの各構成画素数を一致させることができ、パターン認識の処理手順を簡素化することができる。
【００２０】
また、上述した認識対象物に対応した撮像データに対して、着目画素毎とその周辺に配置された周囲画素のそれぞれの撮像データを平均化して着目画素の新たな撮像データを生成するぼかし処理を行う第２のぼかし処理手段をさらに備え、微分処理手段は、第２のぼかし処理手段によって生成された撮像データを用いて微分処理を行うことが望ましい。これにより、認識対象物と登録パターンとの間の正確な位置合わせを行うことなく精度の高いパターン認識処理を行うことが可能になる。
【００２１】
また、上述した認識対象物に対応した撮像データに対して正規化処理を行う第２の正規化処理手段をさらに備えることが望ましい。これにより、照明条件や撮像素子（カメラ）の特性等の相違に基づく撮像データの値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度をさらに上げることができる。
【００２２】
登録パターンのそれぞれには微分データとともに撮像データが対応しており、パターン比較手段は、認識対象物に対応する微分データと撮像データのそれぞれを用いて最も類似する登録パターンを抽出することが望ましい。特に、上述したパターン比較手段は、認識対象物に対応する微分データと登録パターンに対応する微分データとを用いて計算した第１の誤差と、認識対象物に対応する撮像データと登録パターンに対応する撮像データとを用いて計算した第２の誤差とを所定の重み付けをして加算した合計値が最小となる一の登録パターンを抽出することが望ましい。微分データと撮像データとを併用してパターン認識を行うことにより、様々な照明条件や模様等に対応した精度の高い認識処理を行うことが可能になる。
【００２３】
また、上述した撮像データには、認識対象物を構成する各画素の階調値を示す階調データと、認識対象物を構成する各画素の色データとが含まれており、パターン比較手段は、認識対象物に対応する微分データと階調データと色データのそれぞれを用いて最も類似する登録パターンを抽出することが望ましい。階調データだけでなく色データも用いることにより、特徴的な色合いの模様等を有する認識対象物に対してさらに精度の高い認識処理を行うことが可能になる。
【００２４】
また、上述した認識対象物に対応する撮像データは、複数の分割領域に分散した対応付けがなされており、これら複数の分割領域のそれぞれ毎に登録パターンが抽出され、これら複数の分割領域のそれぞれに対応して抽出された登録パターンに基づいて一の登録パターンが決定されることが望ましい。これにより、特徴のある模様等が認識対象物の一部に含まれている場合においてこの模様等を強調したパターン認識を行うことができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明のパターン認識処理装置を適用した一実施形態の占いシステムについて、図面を参照しながら詳細に説明する。
【００２６】
図１は、一実施形態の占いシステムの構成を示す図である。図１に示す本実施形態の占いシステムは、カメラ付携帯電話機３００から送られてくるメールに添付された画像ファイルの内容を解析することによりタロットカード占いを実施してカメラ付携帯電話機３００に向けて占い結果のメールを送信する占いサーバ１００を備えている。カメラ付携帯電話機３００から送信される画像ファイル付きのメールは、周辺に存在する基地局３１０を経由してキャリア（通信事業者）が運営するメール・サーバ３２０に送られ、さらにインターネット２００を経由して占いサーバ１００に到達する。反対に、占いサーバ１００から送信される占い結果のメールは、インターネット２００を経由してメール・サーバ３２０に送られ、さらに、基地局３１０を経由してカメラ付携帯電話機３００に到達する。
【００２７】
占いサーバ１００は、メール・サーバ１１０、受信メール処理部１２０、画像認識処理部１３０、占い結果作成処理部１４０、全体制御部１５０を含んで構成されている。占いサーバ１００によって送受信されるメールとしては、主に、占いを希望するユーザから送られてくる画像ファイル付メールや占い結果のテキストデータが含まれる占い結果メールの他に、ユーザに対して各種のエラーを通知するエラーメールがある。本実施形態では、ユーザ自身が並べた６枚のタロットカードをカメラ付携帯電話機３００で撮像し、その撮像結果を添付ファイルとして付加したメールを、占いサーバ１００に対応する特定のメールアドレスに向けて送信することによりタロットカード占いの依頼を行うようになっている。占いサーバ１００では、メールに添付されて送られてきた画像の内容を解析することにより、ユーザによって並べられた６枚のタロットカードの種類や向きを判定してタロットカード占いを実施し、その結果を文字で示したメールをカメラ付携帯電話機３００に対応するメールアドレスに送り返す。ユーザから送られてくるメールに画像ファイルが添付されていない場合や、画像ファイルは添付されているがタロット占いを行うために必要な要件を満たしていない場合（例えば、撮像されたタロットカードの枚数が６枚と異なる場合やタロットカードを撮像した画像が不鮮明であってその種類を特定することができない場合等）には、占いサーバ１００からユーザに対してエラー通知用のメールが送信される。
【００２８】
メール・サーバ１１０は、上述した画像ファイル付メール、占い結果メール、エラーメールを、インターネット２００を介して送受信する処理を行う。受信メール処理部１２０は、メール・サーバ１１０によって受信された画像ファイル付メールを受信順に格納した後、これらの画像ファイル付メールのヘッダ部分から送信元アドレスを抽出するとともに、添付された画像ファイルを分離する。抽出された送信元アドレスは、占い結果メールの送信先アドレスとして使用される。添付された画像ファイルは、例えばＪＰＥＧ形式で圧縮されており、画像認識処理部１３０に送られる。なお、本実施形態では、比較的圧縮率の高い（データ量の少ない）ＪＰＥＧ形式で圧縮された画像ファイルが添付されているものとして説明を行うが、占いサーバ１００側で開くことができるファイル形式であれば、ＪＰＥＧ形式以外の形式で圧縮された、あるいは非圧縮の画像ファイルであってもよい。また、カメラ付携帯電話機３００から送られてくるので、この画像ファイルに対応する画像のサイズは小さく設定されている。例えば、撮像範囲に対応して縦横ともに１４４画素のサイズの画像ファイルが作成されて、添付ファイルとして送られてくる。
【００２９】
画像認識処理部１３０は、受信メール処理部１２０から入力される画像ファイルを用いて画像認識処理を行い、ユーザによって撮像された画像に含まれる６枚のタロットカードの種類と向きを判定する。この判定結果は、占い結果作成処理部１４０に送られる。
【００３０】
占い結果作成処理部１４０は、画像認識処理部１３０による画像認識処理によって得られた６枚のタロットカードの種類と向きに基づいて、占い結果を示す文章（テキストデータ）を作成する。６枚のタロットカードの種類と向きに対応する占い結果の文章が予め占いデータベースとして格納されており、占い結果作成処理部１４０は、この占いデータベースを検索することにより、該当する占い結果の文章を取得することができる。そして、占い結果の文章を「本文」部分に、受信メール処理部１２０によって抽出された送信元アドレスを「宛先（送信先アドレス）」にそれぞれ対応させた占い結果メールが作成される。
【００３１】
全体制御部１５０は、占いサーバ１００の全体の動作手順を制御するとともに、必要に応じてエラーメールを作成する。上述したように、添付された画像ファイルに基づいたタロットカード占いを行うことができない場合にこのエラーメールが作成されるため、占い結果作成処理部１４０によって作成される占い結果メールとこのエラーメールは、いずれか一方のメールのみが出力される。
【００３２】
上述した構成を有する占いサーバ１００には情報記録媒体１６０が接続されている。この情報記録媒体１６０は、占いサーバ１００に含まれる各構成部の動作プログラムや、画像認識処理部１３０による画像認識処理の実施に必要な登録パターン（後述する）のデータを格納するためのものである。この情報記録媒体１６０は、ＣＤ（コンパクトディスク）等の光学式のディスク型記録媒体や、ＲＯＭ、ＲＡＭ等の半導体メモリ、あるいはハードディスク装置などを用いて構成されており、占いサーバ１００に内蔵あるいは外付けされている。
【００３３】
次に、画像認識処理部１３０の詳細について説明する。図２は、画像認識処理部１３０の詳細構成を示す図である。図２に示すように、画像認識処理部１３０は、前処理部１０、画像切り出し部２０、ぼかし処理部３０、３８、正規化処理部３２、４０、２次微分処理部３４、絶対値処理部３６、登録パターン格納部４２、パターン比較部４４を含んで構成されている。
【００３４】
前処理部１０は、画像ファイルとして入力される３色の色データからなる撮像データをグレースケールの多値の階調データからなる撮像データに変換する前処理を行う。画像切り出し部２０は、前処理部１０から出力される撮像データの中から、６枚のタロットカードに対応する部分を切り出す処理を行う。図３は、画像切り出し部２０の詳細構成を示す図である。図３に示すように、画像切り出し部２０は、二値化処理部２１、境界追跡処理部２２、頂点検出部２３、回転補正部２４、切り出し処理部２５を有している。
【００３５】
二値化処理部２１は、前処理部１０によって所定の前処理が行われた撮像データを二値化する。境界追跡処理部２２は、二値化された撮像データに含まれるタロットカードの境界線（輪郭線）を抽出する。この抽出処理およびこれ以後の処理は、６枚のタロットカードのそれぞれについて行われる。頂点検出部２３は、境界追跡処理部２２によって抽出された境界線に基づいて、各タロットカードの４つの頂点を検出する。タロットカードはほぼ長方形を有しているが、４つのコーナーは丸くなっている。頂点検出部２３では、隣接する２辺を延長したときに交わる真の頂点が計算される。
【００３６】
回転補正部２４は、頂点検出部２３によって検出された４つの頂点の相対的な位置を、必要に応じて１つ分または２つ分ずらす処理を行う。切り出し処理部２５は、前処理部１０から出力される前処理後の撮像データ（階調データ）の中から、４つの頂点を結んだ領域に対応する部分を切り出す処理を行う。
【００３７】
ところで、本実施形態で行われるパターン比較処理では、階調データの値が所定の範囲から外れる画素を除外してパターン比較処理が行われる。したがって、この画像切り出し部２０よりも後段に配置されたぼかし処理部３０からパターン比較部４４のそれぞれでは、除外された画素についての処理は省略される。
【００３８】
ぼかし処理部３０は、画像切り出し部２０によって切り出された各タロットカード毎の撮像データに対してぼかし処理を行う。このぼかし処理とは、着目画素が中央に配置された３×３画素の各階調データを用いた平均化処理であり、所定のぼかしフィルタを用いて行われる。ぼかしフィルタの具体例については後述する。
【００３９】
正規化処理部３２は、画像切り出し部２０によって切り出され、ぼかし処理部３０によってぼかし処理された後の階調データに対してその明るさ、すなわち、階調データの値（階調値）の大きさを正規化する所定の正規化処理を行う。
【００４０】
２次微分処理部３４は、正規化処理部３２による正規化処理が終了した後の階調データに対して２次微分処理を行う。絶対値処理部３６は、２次微分処理部３４によって２次微分処理が行われた後の微分データに対して絶対値処理を行う。ぼかし処理部３８は、絶対値処理部３６によって絶対値処理がなされた後の微分データに対してぼかし処理を行う。このぼかし処理は、ぼかし処理部３０によって行われるぼかし処理と基本的に同じ内容を有しており、着目画素が中央に配置された３×３画素の各微分データを用いた平均化処理が所定のぼかしフィルタを用いて行われる。正規化処理部４０は、ぼかし処理部３８によるぼかし処理が行われた後の微分データに対してその値を正規化する所定の正規化処理を行う。
【００４１】
登録パターン格納部４２は、認識対象となる可能性のあるタロットカードの微分データを登録パターンとしてあらかじめ登録しておくためのものである。本実施形態では、１組のタロットカードのそれぞれを明暗２種類の照明条件下で撮像した撮像データに対して、画像認識処理部１３０に含まれる前処理部１０から正規化処理部４０までの各処理を行った後の微分データが登録パターンとして格納されている。パターン比較部４４は、正規化処理部４０によって正規化処理が行われた後の微分データと、登録パターン格納部４２に格納された複数の登録パターンとを比較することにより、微分データとの間の類似度が最も大きい登録パターンを抽出することにより、撮像されたタロットカードの種類と方向とを特定し、これらを内容とする認識結果を出力する。
【００４２】
上述した２次微分処理部３４が微分処理手段に、ぼかし処理部３８が第１のぼかし処理手段に、パターン比較部４４がパターン比較手段に、絶対値処理部３６が絶対値処理手段に、正規化処理部４０が第１の正規化処理手段に、前処理部１０が前処理手段に、全体制御部１５０がエラー通知手段にそれぞれ対応する。また、境界追跡処理部２２が境界抽出手段に、切り出し処理部２５が認識対象画像抽出手段に、ぼかし処理部３０が第２のぼかし処理手段に、正規化処理部３２が第２の正規化処理手段にそれぞれ対応する。
【００４３】
本実施形態の占いシステムはこのような構成を有しており、次に画像認識処理部１３０の詳細な処理手順を説明する。
【００４４】
図４は、カメラ付携帯電話機３００から送られてくるメールに添付された画像ファイルを取得し、この画像ファイルに対応する画像に含まれる６枚のタロットカードの種類と方向を認識するまでの一連のパターン認識手順を示す流れ図である。以下、図４を参照しながら、一連のパターン認識動作について説明する。
【００４５】
画像ファイルの取得（ステップ１００）
まず、画像認識処理部１３０内の前処理部１０は、受信メール処理部１２０から送られてくる画像ファイルを取得する。この画像ファイルには、カメラ付携帯電話機３００の撮像範囲の各座標（ｘ，ｙ）の画素に対応するＲ、Ｇ、Ｂ成分の色データＲ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）が含まれている。
【００４６】
例えば、本実施形態では、占いシステムを用いてタロットカード占いをしようとするユーザは、あらかじめ一組のタロットカードとこの中から６枚のタロットカードを選んで並べるためのシート部材とを所持しており、このシート部材上に並べられた６枚のタロットカードが撮像されて画像ファイルが作成される。
【００４７】
図５は、画像ファイルに対応する撮像範囲と各タロットカードとの関係を示す図である。シート部材４００は、６枚のタロットカード４０１〜４０６を並べたときに、それらの全体よりも大きいサイズを有する単一色の布であり、例えば濃紺色のフェルト生地が用いられる。シート部材４００は、持ち運び時には折りたたんだ状態で収納され、タロットカード４０１〜４０６を並べる際に広げて使用される。したがって、おりたたまれた状態から広げたときに、折り目が残らない材質であることが望ましく、材料費等を考慮するとフェルト生地が適している。但し、ビロード等の生地や紙によってシート部材４００を形成してもよく、同等の色合いを有する板材等の上にタロットカード４０１〜４０６を並べる場合にはシート部材４００を省略するようにしてもよい。
【００４８】
図５に示すように、本実施形態では、タロットカード占いの対象となるユーザは、６枚のタロットカード４０１〜４０６を３枚ずつ上下２列に並べた後に、これら６枚のタロットカード４０１〜４０６の全体がカメラ付携帯電話機３００の内蔵カメラの撮像範囲４１０に含まれ、しかも、この撮像範囲４１０の全体がシート部材４００に含まれるようにカメラ付携帯電話機３００を用いた撮像が行われる。この撮像によって、例えば撮像範囲４１０が１４４×１４４画素に対応するＲＧＢの撮像データが得られ、カメラ付携帯電話機３００から占いサーバ１００にメールの添付ファイルとして送られてくる。画像認識処理部１３０には、この撮像データのみが入力される。
【００４９】
なお、実際のタロットカード占いでは、６枚のタロットカードを横一列に並べることになっているが、本実施形態では、カメラ付携帯電話機３００による撮像範囲４１０が正方形に近いことを考慮して、３枚のタロットカードを上下２列に配置するようにしている。この配置では、下段の３枚のタロットカード４０１〜４０３が横一列に並べた６枚のタロットカード中の左半分の３枚のタロットカードに対応し、上段の３枚のタロットカード４０４〜４０６が横一列に並べた６枚のタロットカード中の右半分の３枚のタロットカードに対応している。したがって、占い結果を判定する際に、上下２列に配置された６枚のタロットカード４０１〜４０６のそれぞれの種類および向きは、「遠い過去」、「近い過去」、「現在」、「障害」、「近い未来」、「遠い未来」のそれぞれの出来事を示している。
【００５０】
グレースケール変換処理（ステップ１０１）
次に、前処理部１０は、取得した画像ファイルとしての３種類の色データＲ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）を各画素毎のグレースケールの階調データ（以下、単に「階調データ」と称する）Ｃ（ｘ，ｙ）に変換する処理を行う。
【００５１】
二値化処理（ステップ１０２）
次に、画像切り出し部２０内の二値化処理部２１は、上述したステップ１０１の変換処理によって得られた階調データＣ（ｘ，ｙ）を所定の閾値と比較することにより二値化処理を行う。
【００５２】
本実施形態の認識対象物としてのタロットカード４０１〜４０６は、その外縁部分の色がシート部材４００の色と識別可能なものが使用されている。例えば、本実施形態では、タロットカード４０１〜４０６は、標準的な模様のものが用いられており、外縁部分に白色の縁取りがなされている。このようなタロットカード４０１〜４０６が、濃紺色のシート部材４００上に並べられており、二値化処理によってタロットカード４０１〜４０６のそれぞれの外縁部分の抽出が行われる。
【００５３】
具体的には、二値化処理部２１は、前処理部１０から出力される階調データＣ（ｘ，ｙ）を所定の閾値Ｓ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（ｕ，ｖ）と実際の撮像によって得られた２次微分データＫ”（ｕ，ｖ）との誤差Ｔ（ｉ）を次式を用いて計算する。
【０１１５】
【数１】
2005242600.tif 000003
本実施形態では、着目しているタロットカード４０１等に対応する２次微分データＫ”（ｕ，ｖ）と登録パターンｉを１８０度回転させた場合（向きを反転させた場合）の２次微分データＥ’i（ｕ，ｖ） との誤差Ｔ’（ｉ）の計算を、次式を用いて並行して行っている。
【０１１６】
【数２】
2005242600.tif 000004
これら２種類の誤差Ｔ（ｉ）、Ｔ’（ｉ）の計算が、一のタロットカードに対応する２種類の登録パターンについて行われる。
【０１１７】
なお、上述した例では、４つの頂点によって特定される矩形の長辺と短辺のそれぞれの分割数を「５０」とした場合について説明したが、それぞれの分割数をＵ、Ｖとした場合には、上述した各式において、ｕに対応した「４９」を「Ｕ−１」に、ｖに対応した「４９」を「Ｖ−１」に置き換えればよい。
【０１１８】
次に、パターン比較部４４は、登録パターン格納部４２に登録パターンが格納されている全てのタロットカードについて照合処理を行ったか否かを判定する（ステップ３０２）。全てのタロットカードについての照合処理がまだ行われていない場合には、ステップ３０２で否定判断が行われる。この場合には上述したステップ３００に戻り、まだ選択されていない他のタロットカードに対応する処理が繰り返される。
【０１１９】
また、登録パターン格納部４２に格納されている全てのタロットカードについての照合処理が行われた場合には、ステップ３０２で肯定判断が行われる。次に、パターン比較部４４は、照合処理により最も誤差の少ない照合結果が得られたタロットカードの種類と方向をタロットカード４０１等についての認識結果として出力する（ステップ３０３）。なお、画像認識処理部１３０に入力された画像ファイルには、６枚のタロットカード４０１〜４０６の画像が含まれているため、それぞれのタロットカード４０１等について上述した一連の処理が行われる。
【０１２０】
このように、本実施形態の占いサーバ１００に含まれる画像認識処理部１３０では、認識対象物としてのタロットカード４０１〜４０６を撮像して得られた階調データに対して微分処理を行った結果をパターン比較に直接用いるのではなく、ぼかし処理を行った後にパターン比較を行っているため、実際の撮像によって得られた範囲が若干ずれた場合であっても、比較されるデータ同士の相関値が極端に低下することがなく、認識率を高めることができる。しかも、ぼかし処理を行わずに１画素分ずらしながらパターン比較を繰り返し行う場合に比べて処理量（計算量）を大幅に低減することが可能になる。
【０１２１】
また、このパターン比較処理は、階調データの値が所定の範囲から外れる画素、具体的には基準値よりも大きな値を有する画素を除外して行われる。これにより、光の照射状態が悪くて有効な情報が得られない撮像データ（例えば、照射光が強く反射してしまって白く光ってしまった部分）を除いてパターン認識処理を行うことができ、認識精度をさらに高めることが可能になる。
【０１２２】
また、着目画素とその周囲に配置された周辺画素のそれぞれの撮像データを用いて２次微分処理を行うことにより微分データを生成しており、方向性のない微分データを得ることができるため、タロットカード４０１〜４０６の配置やそれぞれに含まれる模様の方向等に関係なく正確なパターン認識処理を行うことができる。
【０１２３】
また、２次微分処理によって得られた微分データに対して絶対値処理を行うことにより、階調データの値の変化の方向に関係しないパターン認識処理を行うことができるため、照明条件によってタロットカード４０１〜４０６の色や階調度が変化した場合であっても高い認識精度を維持することが可能になる。
【０１２４】
また、パターン比較処理を行う前の２次微分データに対して正規化処理を行うことにより、照明条件やカメラ付携帯電話機３００に搭載されたカメラの特性等の相違によって２次微分データの値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度をさらに上げることができる。
【０１２５】
また、本実施形態の画像認識処理部１３０では、色データそのものではなく色データを階調データに変換して用いている。これにより、ＲＧＢの色データを用いてパターン認識を行う場合に比べて処理量を大幅に低減することができる。特に、２次微分データを用いてパターン認識を行う場合には、色そのものはあまり重要ではなく、階調データに変換しても高い認識精度を維持することが可能になる。
【０１２６】
また、階調データを生成するために用いられる色データは、カメラ付携帯電話機３００によって撮像されてメールに添付された画像ファイルとして画像認識処理部１３０に入力されている。一般に、カメラ付携帯電話機３００に搭載されたカメラを用いて撮像された画像は解像度が低く、しかも、メールに添付可能な画像ファイルの解像度はさらに低い値に制限されていることが多い。また、各ユーザが自分のカメラ付携帯電話機３００を使用してタロットカード４０１〜４０６を撮像する場合には、照明条件や手振れの状態などがユーザ毎に異なることになり、撮像された画像の色や階調値、手振れの状態が一定しない。このような場合であっても、２次微分データに対してぼかし処理を行った結果を用いてパターン比較を行うことにより、タロットカード４０１〜４０６のそれぞれの画像全体の模様の傾向が一致する登録パターンを正確に抽出することができる。
【０１２７】
また、メールに添付された画像ファイルに基づいて判定したタロットカードの数が所定数（６枚）と異なるときに全体制御部１５０によってエラー通知を行う行うことにより、パターン認識の結果を用いる占い等の各種のアプリケーションにおいて、明らかに誤りの結果しか得られない場合の複雑な処理を省略することができ、処理量をさらに低減することができる。
【０１２８】
また、タロットカード４０１〜４０６のそれぞれに対応する階調データを切り出す際に、各タロットカードの境界線を追跡して抽出することにより、処理対象となる階調データの範囲を限定することが可能になり、パターン比較に要する処理量を低減することが可能になる。
【０１２９】
また、画像切り出し部２０内の切り出し処理部２５では、各タロットカードを構成する画素数（第１の画素数）が登録パターンを構成する画素数（第２の画素数、具体的には５０×５０画素）と異なるときに、各タロットカードに対応する第２の画素数分の階調データを生成している。これにより、パターン比較の対象となる各タロットカードと登録パターンの各構成画素数を一致させることができ、パターン認識の処理手順を簡素化することができる。
【０１３０】
また、ぼかし処理部３０によって、着目画素毎とその周辺に配置された周囲画素のそれぞれの階調データを平均化して着目画素の新たな階調データを生成するぼかし処理を行うことにより、各タロットカードと登録パターンとの間の正確な位置合わせを行うことなく精度の高いパターン認識処理を行うことが可能になる。
【０１３１】
また、正規化処理部３２によって、各タロットカードに対応した階調データに対して正規化処理を行うことにより、照明条件やカメラの特性等の相違に基づく階調データの値の分布が偏ることによる影響を取り除くことができるため、パターン比較を行う際の精度をさらに上げることができる。
【０１３２】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、２次微分データを用いたパターン認識処理によってタロットカード４０１〜４０６のそれぞれの種類と方向を判定するようにしたが、２次微分データと階調データの両方を用いてパターン認識処理を行うようにしてもよい。この場合には、登録パターン格納部４２には、各タロットカード毎に２次微分データと階調データの両方を対応させて格納しておく必要がある。パターン比較部４４は、階調データを用いて計算した第１の誤差と、２次微分データを用いて計算した第２の誤差とを所定の重み付けを行って加算し、合計値が最小となる一の登録パターンを抽出する。微分データと階調データとを併用してパターン認識を行うことにより、様々な照明条件や模様等に対応した精度の高い認識処理を行うことが可能になる。
【０１３３】
また、２次微分データと階調データの他に、階調データの生成に用いた元の色データを用いてパターン認識処理を行うようにしてもよい。この場合には、登録パターン格納部４２には、各タロットカード毎に２次微分データ、階調データ、色データのそれぞれを対応させて格納しておく必要がある。パターン比較部４４は、階調データを用いて計算した第１の誤差と、２次微分データを用いて計算した第２の誤差と、色データを用いて計算した第３の誤差とを所定の重み付けを行って加算し、合計値が最小となる一の登録パターンを抽出する。階調データだけでなく色データも用いることにより、特徴的な色合いの模様等を有する認識対象物に対してさらに精度の高い認識処理を行うことが可能になる。
【０１３４】
また、上述した実施形態では、登録パターンとして明暗２種類の照明に対応した２次微分データ（階調データや色データを用いる場合にはこれらについても明暗２種類の照明に対応したデータ）を用いたが、中間の明るさの照明に対応した２次微分データを補間処理によって作成して登録パターンの種類を増やすようにしてもよい。図２７は、補間処理によって登録パターンの種類を増やす場合の画像認識処理部１３０Ａの変形例を示す図である。この画像認識処理部１３０Ａに含まれる補間パターン作成部４３は、図２８に示すように、一のタロットカードに対応する明暗２種類の登録パターンＴ１、Ｔ２としての２次微分データ（あるいは階調データや色データ）を用いて補間処理（例えば直線補間処理）を行い、中間の明るさの照明に対応する３種類の登録パターンとしての補間パターンｔ１、ｔ２、ｔ３を作成する。パターン比較部４４は、登録パターンＴ１、Ｔ２と補間パターンｔ１、ｔ２、ｔ３のいずれかに対応する誤差が最小となったときに、これら５種類のパターンに対応するタロットカードの種類と方向をパターン認識結果として出力する。
【０１３５】
但し、上述したように補間処理によって照合用パターンを増やすのではなく、あらかじめ例えば５種類の照明条件の下で登録パターンを作成してもよい。
【０１３６】
また、上述した実施形態では、タロットカード４０１〜４０６のそれぞれに対応する単一の領域を切り出してパターン認識処理を行うようにしたが、一のタロットカードに対応する領域を複数の分割領域に分け、それぞれの分割領域毎に誤差が最小の登録パターンを抽出した後、多数決判定等によって最終的に一の登録パターンに対応するタロットカードの種類と方向を決定するようにしてもよい。これにより、特徴のある模様等がタロットカードの一部に含まれている場合においてこの模様等を強調したパターン認識を行うことができる。
【０１３７】
また、上述した実施形態では、６枚のタロットカードと異なる枚数のタロットカードが撮像された場合にエラーメールを送信するようにしたが、撮像されたタロットカードの枚数が６枚であっても、例えば、照明条件等により、白く光りすぎて撮像されているカードが６枚中１枚でもあれば、そのカードの認識に必要な信頼性の高いデータを十分に取得することができない可能性があると判断して、全体制御部１５０からエラーメールが送信される。「白く光りすぎている」かどうかの判定には、ヒストグラムのデータを利用してもよいし、階調値がある閾値を超えた画素数をカウントしてもよい。いずれにしても１枚のタロットカード総画素にしめる「明るすぎる画素」の割合が一定の値を超えていた場合に「白く光りすぎている」と見なしている。
【０１３８】
また、上述した実施形態では、カメラ付携帯電話機３００からメールに添付された画像ファイルとして撮像データを取得するようにしたが、カメラ付携帯電話機３００上のアプリケーションプログラムから直接送信された画像データとして撮像データが取得可能な場合には、この撮像データを用いてタロットカードの認識処理を行うようにしてもよい。
【０１３９】
また、上述した実施形態では、タロットカード４０１〜４０６のカードデザインについては言及していないが、本発明における照合処理に適しているカードデザインとして以下の特徴（１）〜（６）を有するタロットカードを用いることが望ましい。
（１）彩色時にグラデーションは使わない、あるいは可能な限り少なくする。模様にグラデーションがかかっていると、それが照明による影響であると判断し、２次微分を行うことでその効果を打ち消そうとするように補正が働くようになっているからである。
（２）ある程度広い面積を同じ明るさで単一階調の色で塗りつぶすこと。さらに、隣接した領域とのコントラストが大きいこと。
（３）グレースケールにした後に、大きなコントラストが得られる画像であること。コントラストが小さい画像のカードではノイズに弱いからである。
（４）濃淡差が現れる場所は、できるだけ他の種類のカードと重ならないようにすること。
（５）濃淡（階調値）の絶対値についても、同じような模様が他の種類のカードの同じような場所に現れないようにすること。
（６）細かい模様はあまり使わないこと。画像全体に対してぼかし処理を行っているため、細かい模様がつぶれてしまうからである。反対に、画像認識時の指標として使いたい部分には、ある程度、大きな面積が必要となる。
【図面の簡単な説明】
【０１４０】
【図１】一実施形態の占いシステムの構成を示す図である。
【図２】画像認識処理部の詳細構成を示す図である。
【図３】画像切り出し部の詳細構成を示す図である。
【図４】画像ファイルを取得してタロットカードの種類と方向を認識するまでの一連のパターン認識手順を示す流れ図である。
【図５】画像ファイルに対応する撮像範囲と各タロットカードとの関係を示す図である。
【図６】二値化処理がなされた後の画像の具体例を示す図である。
【図７】境界追跡処理の具体例を示す図である。
【図８】境界追跡処理において次の白画素を決定する手法を説明するための図である。
【図９】境界追跡処理と並行して収集する座標値を説明するための図である。
【図１０】各コーナーと頂点との関係を示す図である。
【図１１】境界線に沿って移動する部分画素列の具体例を示す図である。
【図１２】コーナー開始点とコーナー終了点の登録手順を示す図である。
【図１３】コーナーの誤検出の原理を説明するための図である。
【図１４】部分画素列がコーナーを抜け出したものとして誤検出する場合の具体例を示す図である。
【図１５】回転補正の概略を示す図である。
【図１６】回転補正の詳細な内容を示す図である。
【図１７】回転補正によって向きが変更された後のカードの配置状態を示す図である。
【図１８】撮像データの切り出し処理の概要を示す図である。
【図１９】ぼかし処理において用いられるぼかしフィルタの具体例を示す図である。
【図２０】外周部分の着目画素に対応するぼかし処理の説明図である。
【図２１】正規化処理の詳細な手順を示す流れ図である。
【図２２】極端な階調値を有する階調データを削除する場合の概略を示す図である。
【図２３】正規化処理の前後における階調値の変化を示す図である。
【図２４】２次微分処理を行う際に用いられる３×３の２次微分オペレータの具体例を示す図である。
【図２５】２次微分処理から正規化処理までの内容を概略的に示す説明図である。
【図２６】パターン比較処理の詳細な手順を示す流れ図である。
【図２７】画像認識処理部の変形例を示す図である。
【図２８】補間パターンの作成方法の一例を示す図である。
【符号の説明】
【０１４１】
１０  前処理部
２０  画像切り出し部
２１  二値化処理部
２２  境界追跡処理部
２３  頂点検出部
２４  回転補正部
２５  切り出し処理部
３０、３８  ぼかし処理部
３２、４０  正規化処理部
３４  ２次微分処理部
３６  絶対値処理部
４２  登録パターン格納部
４３  補間パターン作成部
４４  パターン比較部
１００  占いサーバ
１１０、３２０  メール・サーバ
１２０  受信メール処理部
１３０  画像認識処理部
１４０  占い結果作成処理部
１５０  全体制御部
１６０  情報記録媒体
２００  インターネット
３００  カメラ付携帯電話機
３１０  基地局
４００  シート部材
４０１〜４０６  タロットカード
４１０  撮像範囲
【図１】
2005242600.tif 000005
【図２】
2005242600.tif 000006
【図３】
2005242600.tif 000007
【図４】
2005242600.tif 000008
【図５】
2005242600.tif 000009
【図６】
2005242600.tif 000010
【図７】
2005242600.tif 000011
【図８】
2005242600.tif 000012
【図９】
2005242600.tif 000013
【図１０】
2005242600.tif 000014
【図１１】
2005242600.tif 000015
【図１２】
2005242600.tif 000016
【図１３】
2005242600.tif 000017
【図１４】
2005242600.tif 000018
【図１５】
2005242600.tif 000019
【図１６】
2005242600.tif 000020
【図１７】
2005242600.tif 000021
【図１８】
2005242600.tif 000022
【図１９】
2005242600.tif 000023
【図２０】
2005242600.tif 000024
【図２１】
2005242600.tif 000025
【図２２】
2005242600.tif 000026
【図２３】
2005242600.tif 000027
【図２４】
2005242600.tif 000028
【図２５】
2005242600.tif 000029
【図２６】
2005242600.tif 000030
【図２７】
2005242600.tif 000031
【図２８】
2005242600.tif 000032