(57)【要約】【課題】顧客の利用する自動車のナンバープレートを撮影してＯＣＲ認識する場合のように、信憑性の低いＯＣＲの認識結果を用いて顧客データ検索する場合であっても、検索データのヒット率を向上すること。【解決手段】カメラ１０１で撮影されたナンバープレート画像１０２から文字列を認識し、該認識された文字列データに検索候補展開エンジン１０６が正規化処理を加えて複数の検索候補データを生成し、該生成された複数の検索候補データに基づいて検索エンジン１０７が顧客データベースのデータ検索を行い、該検索結果（顧客データ）を画面１０９に出力することにより店員に通知する構成を特徴とする。【選択図】図１
2006163446.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像データから文字列を認識する認識手段と、
前記認識手段により認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化手段と、
前記正規化手段により生成された複数の検索候補データに基づいてデータ検索を行う検索手段と、
前記検索手段の検索結果を出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項２】
カメラにより撮影された自動車のナンバープレートを含む画像データからナンバープレートに記載された文字列を認識する認識手段と、
前記認識手段により認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化手段と、
顧客の使用する自動車のナンバープレートの情報と顧客情報とを紐付けて保持する顧客データベースと、
前記正規化手段により生成された複数の検索候補データをキーにして前記顧客データベースから顧客データを検索する検索手段と、
前記検索手段により検索された顧客データを出力する出力手段と、
を有することを特徴とする情報処理装置。
【請求項３】
入力される、カメラにより撮影された自動車のナンバープレートを含む画像データからナンバープレート画像データを切り出す切り出し手段を設け、
前記認識手段は、前記切り出し手段により切り出されたナンバープレート画像データからナンバープレートに記載された文字列を認識することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記正規化手段による正規化処理のルールを格納したルールデータベースを設け、
前記正規化手段は、前記ルールデータベースに格納されたルールに基づいて文字列データに正規化処理を行うことを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記ルールデータベースは、前記正規化手段による正規化処理のルールを複数保持するものであり、
前記正規化手段は、前記複数のルールに基づいて文字列データに正規化処理を行う際には、文字列データに対して前記いずれかのルールに基づく正規化処理を行い、該正規化処理結果に対して次のルールに基づく正規化処理を順次行うことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記ルールデータベースは、ルールを適用する際の条件を示す条件データと、該条件データを満たした場合に、実行する正規化処理を示すアクションデータとを含むものであり、
前記正規化手段は、前記認識手段により認識された文字列データと、前記ルールデータベース内の条件データとを比較して、前記文字列データが前記条件データが示す条件を満たす場合に、前記ルールデータベース内のアクションデータが示す正規化処理を実行して、前記文字列データから複数の検索候補データを生成することを特徴とする請求項４又は５記載の情報処理装置。
【請求項７】
撮影された画像データに基づいてデータ検索するデータ検索方法において、
撮影された画像データから文字列を認識する認識ステップと、
該認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化ステップと、
該生成された複数の検索候補データに基づいてデータ検索を行う検索ステップと、
該検索結果を出力する出力ステップと、
を有することを特徴とするデータ検索方法。
【請求項８】
カメラにより撮影された自動車のナンバープレートを含む画像データに基づいてデータ検索するデータ検索方法において、
カメラにより撮影された自動車のナンバープレートを含む画像データからナンバープレートに記載された文字列を認識する認識ステップと、
該認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化ステップと、
前記正規化ステップで生成された複数の検索候補データをキーにして、顧客の使用する自動車のナンバープレートの情報と顧客情報とを紐付けて保持する顧客データベースから、顧客データを検索する検索ステップと、
該検索された顧客データを出力する出力ステップと、
を有することを特徴とするデータ検索方法。
【請求項９】
請求項７又は８に記載されたデータ検索方法を実行するためのプログラム。
【請求項１０】
請求項７又は８に記載されたデータ検索方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データのＯＣＲ結果のように信憑性の低いデータに基づいて検索処理を行う情報処理装置およびデータ検索方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来より、特許文献１では、顧客サービス向上ために、顧客のナンバープレート画像から自動車ナンバーをＯＣＲ認識し、顧客情報をデータベースから検索する装置が提案されている。
【特許文献１】特開平０６−１３９２６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＯＣＲ認識には誤りが含まれるものであるが、特許文献１では、ＯＣＲ認識には誤りが含まれるという問題への対処が無く、ＯＣＲ認識結果をそのまま用いてデータ検索を行う構成となっている。
【０００４】
実際、カメラの精度、ＯＣＲソフトの精度によりナンバーが１００％正確に読み取れる確率は高くない。さらに天候、照明、ナンバープレートの汚れなどによるナンバーの識別が困難なケースが多く、これらは高精度のカメラやＯＣＲなどを使用したとしても、解決のできる問題ではない。
【０００５】
このように、特に、自動車のナンバープレートを撮影してＯＣＲ認識する場合のように、信憑性の低いＯＣＲの認識結果をそのまま用いてデータ検索を行う特許文献１の装置では、正しいデータへのヒット率が低くなってしまうという問題点があった。
【０００６】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、カメラ撮影された画像データから文字列を認識し、該認識された文字列データに正規化処理を加えて複数の検索候補データを生成し、該生成された複数の検索候補データに基づいてデータ検索を行い、該検索結果を出力することにより、自動車のナンバープレートを撮影してＯＣＲ認識する場合のように、信憑性の低いＯＣＲの認識結果を用いてデータ検索する場合であっても、検索のヒット率を向上し、ユーザの満足度を向上させることができる利便性の高いデータ検索システムを構築することができるＯＣＲの誤認識に対応可能な情報処理装置およびデータ検索方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、撮影された画像データから文字列を認識する認識手段と、前記認識手段により認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化手段と、前記正規化手段により生成された複数の検索候補データに基づいてデータ検索を行う検索手段と、前記検索手段の検索結果を出力する出力手段とを有することを特徴とする。
【０００８】
また、本発明は、カメラにより撮影された自動車のナンバープレートを含む画像データからナンバープレートに記載された文字列を認識する認識手段と、前記認識手段により認識された文字列データに正規化処理を加えて複数の検索候補データを生成する正規化手段と、顧客の使用する自動車のナンバープレートの情報と顧客情報とを紐付けて保持する顧客データベースと、前記正規化手段により生成された複数の検索候補データをキーにして前記顧客データベースから顧客データを検索する検索手段と、前記検索手段により検索された顧客データを出力する出力手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、カメラ撮影された画像データから文字列を認識し、該認識された文字列データに正規化処理を加えて複数の検索候補データを生成し、該生成された複数の検索候補データに基づいてデータ検索を行い、該検索結果を出力するので、自動車のナンバープレートを撮影してＯＣＲ認識する場合のように、信憑性の低いＯＣＲの認識結果を用いてデータ検索する場合であっても、検索のヒット率を向上し、ユーザの満足度を向上させることができる利便性の高いデータ検索システムを構築することができるＯＣＲの誤認識に対応したデータ検索システムを構築することができる。
【００１０】
従って、ＯＣＲ認識したデータを検索にかける前に、データに正規化処理をかけ検索の幅を広げて、ＯＣＲ認識の精度がクリティカルでない場面においても、ＯＣＲ認識結果を利用したデータ検索のヒット率を向上することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１１】
〔第１実施形態〕
図１は、本発明の情報処理装置を適用可能なデータ検索システムの構成の一例を示すシステム構成図である。
【００１２】
図１において、１０１はカメラで、ビデオカメラ又はデジタルカメラ等のカメラであり、自動車の動きに合わせ画像を撮影する。
【００１３】
本発明のデータ検索システムでは、このカメラ１０１により、店舗等の駐車場に進入してくる顧客自動車を撮影し、該撮影された自動車画像をサーバ１０３に取り込む。
【００１４】
そして、サーバ１０３において、自動車ナンバーをＯＣＲ認識して、自動車ナンバーで顧客データベース１０８を検索し、検索結果（顧客データ）を画面１０９に表示して、自動車で来客する顧客へのサービスの向上に利用しようというものである。例えば、画面９の顧客データ表示により、店舗内の販売員等が来店した顧客を即座に判別し、効率的に、その顧客のニーズに合った顧客サービスを実施するというものである。
【００１５】
なお、自動車のナンバー等を読み取る場合、カメラの精度，ＯＣＲの精度等により実際に自動車のナンバーが正確に読み取れる確率は高くない。また、天候，照明，ナンバープレートの汚れ等によるナンバーの識別が困難なケースも多く、これらは高精度のカメラやＯＣＲなどを使用したとしても、解決のできる問題ではない。
【００１６】
これに対して、本発明のデータ検索システムでは、サーバ１０３において、顧客データベース１０８の検索前に、自動車ナンバーのＯＣＲ認識結果に対して正規化処理（データを一定のルールに従って変形して検索に利用しやすいデータを生成する処理）を加えて複数の検索候補データを生成し、該生成した複数の候補データで顧客データベース１０８を検索することにより、自動車ナンバーの誤認識により誤った顧客データを検索してしまうことへ対処しようとするものである。
【００１７】
以下、サーバ１０３について詳細に説明する。
【００１８】
サーバ１０３において、１０４はナンバープレート切り出しモジュールで、カメラ１０１により撮影された画像からナンバープレートの位置の画像を切り出し、該切り出したナンバープレートの位置の画像を解析してナンバープレートの特徴を備えた画像であると判断した場合に、その画像をナンバープレート画像１０２として抽出する。
【００１９】
１０５はＯＣＲ部（ＯＳＲソフトウェア）で、ナンバー切り出しモジュール１０４により抽出されたナンバープレート画像１０２からナンバーに対応する文字列を認識する。
【００２０】
１０６は検索候補展開エンジンで、ＯＣＲ部１０５により認識されたナンバー文字列を、ルールデータベース１１０に格納されたルールに基づいて正規化し、検索結果の候補となるデータを増やす処理を行う。
【００２１】
なお、ルールデータベース１１０は、認識したナンバー文字列に正規化処理を加えるためのプログラムデータを、ルールという単位で複数保持するものである。詳細は図２に示す。
【００２２】
１０７は検索エンジンで、検索候補展開エンジン１０６で展開した候補となるデータをキーとして、顧客データベース１０８に格納された顧客のデータを検索し、画面１０９に出力する。なお、顧客データベース１０８は、顧客のデータを保持するものである。詳細は図４に示す。
【００２３】
画面１０９は、検索エンジン１０７の検索結果である顧客のデータを表示するためのものである。この表示画面１０９により、顧客のデータが係員に通知され、サービスに利用されることとなる。
【００２４】
以下、図２を参照して、図１で示したルールデータベース１１０について説明する。
【００２５】
本データ検索システムでは、上述したように、正規化を実行するためのルールプログラムが、ルールデータベース１１０に格納されている。そして、このルールプログラムを、検索候補展開エンジン１０６が、ルールデータベース１１０から読み込み、実行することで、認識されたデータを展開し、検索の幅を広げていく。
【００２６】
即ち、本発明のデータ検索システムでは、ルールデータベース１１０に格納されたプログラムデータを書き換えることで、容易に正規化のルールを変更することができる。
【００２７】
図２は、図１で示したルールデータベース１１０のデータ構成の一例を示すデータ構成図である。
【００２８】
図２に示すように、ルールデータは、条件部プログラムデータ６０１，アクション部プログラムデータ６０２，継続フラグ６０３から構成される。
【００２９】
条件部プログラムデータ６０１には、ルールが適用されるための条件を示すデータが格納される。アクション部プログラムデータ６０２には、条件部プログラムデータ６０１に示される条件に合致した場合に実行する展開処理方法を示すデータが格納される。継続フラグ６０３には、後続するルールの継続の是非を決定するためのフラグが設定されている。
【００３０】
以下、図２に示したルールデータベース１１０の各ルール６０４〜６０７について具体的に説明する。
【００３１】
ルール６０４（最低認識桁数ルール）は、条件部プログラムデータ６０１が「認識桁数が３桁未満である」であり、これを満たす場合に実行するアクション部プログラムデータ６０２の処理が「以下のすべての条件を無視し、検索失敗と表示するの処理を実行する」というものである。
【００３２】
ルール６０５（誤認識文字ルール１）は、条件部プログラムデータ６０１が「認識文字の中に４が含まれる」であり、これを満たす場合に実行するアクション部プログラムデータ６０２の処理が「４を９に変換して展開する」というものである。
【００３３】
ルール６０６（誤認識文字ルール２）は、条件部プログラムデータ６０１が「認識文字の中に９が含まれる」であり、これを満たす場合に実行するアクション部プログラムデータ６０２の処理が「９を４に変換して展開する」というものである。
【００３４】
ルール６０７（補完ルール）は、条件部プログラムデータ６０１が「認識文字数が４桁未満である」であり、これを満たす場合に実行するアクション部プログラムデータ６０２の処理が「１，２，３，４桁目にそれぞれ入りうる数字をすべて補完して展開する」というものである。
【００３５】
なお、図２では、条件部プログラムデータ６０１，アクション部プログラムデータ６０２を日本語表現で記載しているが、条件部プログラムデータ６０１，アクション部プログラムデータ６０２は、正規表現を利用した形式，所定のスクリプト言語等で記載可能であり、条件部プログラムデータ６０１，アクション部プログラムデータ６０２のデータ形式，表現形式は如何なるものであってもよい。
【００３６】
以下、図３を参照して、図１で示した検索候補展開エンジン１０６の構成について説明する。
【００３７】
図３は、図１で示した検索候補展開エンジン１０６の構成を示すブロック図である。
【００３８】
図３において、２０１は入力文字列処理部で、ＯＣＲ部１０５で読み取った（認識した）文字列を入力処理する。２０５はルール読込部で、ルールデータベ−ス１１０から全ルール（図２に示した例ではルール６０４〜６０７）を読み込む。２０８はルール展開部で、ルール読込部２０５で読み込んだルールを一つ一つのルールに展開する（図２に示した例ではルール６０４，ルール６０５，ルール６０６，ルール６０７に展開する）。
【００３９】
２０２は条件部読込部で、ルール展開部２０８で展開された各ルールの条件部（条件部プログラムデータ６０１）を読み込む。２０９はアクション部読込部で、ルール展開部２０８で展開された各ルールのアクション部（アクション部プログラムデータ６０２）を読み込む。２０６はフラグ判定部で、ルール展開部２０８で展開された各ルールのフラグ（継続フラグ６０３）を判別する。
【００４０】
２０７は条件部実行部で、条件部読込部２０２で読み込まれたルールの条件部を実行する（ＯＣＲ部１０５の認識文字列が条件部プログラムデータ６０１で示される条件にマッチしたか判定する）。２０３はアクション部実行部で、アクション部読込部２０９で読み込まれたルールのアクション部を実行する（アクション部プログラムデータ６０２で示される処理を実行する）。
【００４１】
２１０は展開文字列保持部で、アクション部実行部２０３で展開された文字列を保持する。２０４は出力文字列処理部で、展開文字列保持部２１０で保持されている文字列を検索エンジン１０７に出力する。
【００４２】
以下、図４を参照して、図１で示した顧客データベース１０８について説明する。
【００４３】
図４は、図１で示した顧客データベース１０８のデータ構成の一例を示すデータ構成図である。
【００４４】
図４に示すように、顧客データベース１０８のレコードは、キー値９０１，ナンバープレートの情報９０２，顧客名９０３，車体画像９０４，ナンバープレート画像９０５，訪問日９０６等から構成される。
【００４５】
以下、図５を参照して、図１で示した画面１０９に表示される検索結果画面について説明する。
【００４６】
図５は、図１で示した画面１０９への検索結果表示の一例を示す模式図である。
【００４７】
図５において、３０１は顧客データベースの検索結果件数の表示に対応する。３０２は、ＯＣＲ部１０５により認識されたナンバーの表示に対応する。３０３は、カメラ１０１により撮影された画像全体の表示に対応する。３０４は、ナンバープレート切り出しモジュール１０４により切り出されたナンバープレート画像１０２の表示に対応する。
【００４８】
３０５は、検索エンジン１０７により検索されて顧客データベース１０８から取得されたナンバープレートの情報，顧客名の表示に対応する。３０６は、検索エンジン１０７により検索されて顧客データベース１０８から取得された車体画像の表示に対応する。３０７は、検索エンジン１０７により検索されて顧客データベース１０８から取得されたナンバープレート画像の表示に対応する。
【００４９】
３０８は詳細情報ボタンで、このボタンを指示（クリック，タッチ等）することにより、該当する顧客に対する詳細データが表示される。なお、この詳細データは、顧客データベース１０８内に格納されたデータに限られるものではなく、該当する顧客をキーにして、他のデータベース等から取得したデータも合わせて表示するように構成してもよい。
【００５０】
図６は、図１に示したサーバ１０３のハードウェア構成を示すブロック図である。
【００５１】
図６において、４０１はＣＰＵで、ＲＯＭ４０３内のプログラムＲＯＭ、ハードディスク（ＨＤＤ）４１１、又はその他の図示しない記録媒体（例えば、ハードディスク，フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等）に格納されたプログラム（ＯＳ，各種アプリケーション）をＲＡＭ４０２上にロードして実行することにより、バス４０４を介して接続される各デバイスを制御する。なお、ＲＡＭ４０２は、ＣＰＵ４０１の作業領域として使用される。また、ＲＯＭ４０３は、フォントＲＯＭ，プログラムＲＯＭ，データＲＯＭ等から構成される。
【００５２】
４０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）４０９や図示しないマウス等のポインティングデバイス等の入力装置を制御する。４０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴ，ＬＣＤ，ＳＥＤ等の表示装置を制御する。
【００５３】
４０７はメモリコントローラ（ＭＣ）で、ＨＤＤ４１１や又はその他の図示しない記録媒体（例えば、ハードディスク，フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等）を制御する。
【００５４】
４０８はネットワークインタフェース（ＮＷ  Ｉ／Ｆ）で、ＬＡＮ等のネットワークとのデータ送受信を制御する。
【００５５】
なお、図１に示したナンバー切り出しモジュール１０４，ＯＣＲ部１０５，検索候補展開エンジン１０６，検索エンジン１０７は、ＣＰＵ４０１が、ＲＯＭ４０３、ハードディスク（ＨＤＤ）４１１、又はその他の図示しない記録媒体に格納されたプログラムをＲＡＭ４０２上にロードして実行することにより実現される。
【００５６】
また、図１に示したルールデータベース１１０，顧客データベース１０８は、ハードディスク（ＨＤＤ）４１１、又は、サーバ１０３が読み出し可能なその他の図示しない記録媒体上（他のコンピュータ上であってもよい）に保持される。
【００５７】
以下、図７，図８を参照して、本発明の情報処理装置を適用可能なデータ検索システムにおける全体処理（サーバ１０３において自動車画像を入力し、自動車ナンバーを自動認識で取得し、その結果に正規化処理を加えて顧客データベースを検索し、検索結果を表示するまでの一連の処理）動作について説明する。
【００５８】
図７は、本発明の情報処理装置を適用可能なデータ検索システムにおける第１の制御処理手順の一例を示すフローチャートであり、全体処理（サーバ１０３において自動車画像を入力し、自動車ナンバーを自動認識で取得し、その結果に正規化処理を加えて顧客データベースを検索し、検索結果を表示するまでの一連の処理）動作に対応する。なお、このフローチャートの処理は、図４に示したＣＰＵ４０１がＨＤＤ又はその他の記録媒体に格納されたプログラムをＲＡＭ４０２上にロードして実行することにより実現される。また、図中、Ｓ５０１〜Ｓ５０７は各ステップを示す。
【００５９】
図１に示したカメラ１０１で撮影された画像をサーバ１０３が受け取ると、ＣＰＵ４０１はフローチャートの処理を開始させる。
【００６０】
まず、ステップＳ５０１において、ナンバープレート切り出しモジュール１０４は、カメラ１０１から撮影画像を受け取り、ステップＳ５０２において、撮影画像からナンバープレート画像を切り出し、ナンバープレート画像１０２を抽出する処理を行う。
【００６１】
次に、ステップＳ５０３において、ナンバー切り出しモジュール１０４は、ステップＳ５０２でナンバープレート画像を抽出できたか否かを判定し、抽出できなかったと判断した場合には、ステップＳ５０１に処理を戻す。なお、カメラ１０１では、随時、定期的、又は、所定のセンサが自動車等を感知したタイミング等で撮影が行われ、撮影の度に、撮影画像がサーバ１０３に入力されることとなっている。
【００６２】
一方、ステップＳ５０３で、ナンバー切り出しモジュール１０４が、ナンバープレート画像を抽出できたと判断した場合には、ステップＳ５０４において、ＯＣＲ部１０５は、ステップＳ５０２で抽出したナンバープレート画像より文字列を抽出し、該抽出した文字列を検索公報展開エンジンに渡す。
【００６３】
次に、ステップＳ５０５において、検索候補展開エンジン１０６は、ステップＳ５０４で抽出された文字列にナンバー正規化ルールを適用する処理（正規化処理）を行い、展開結果（展開文字列）を展開文字列保持部２１０に保持させる（詳細は図８に示す）。
【００６４】
次に、ステップＳ５０６において、検索エンジン１０７は、ステップＳ５０５で検索候補展開エンジン１０６により正規化された展開文字列（候補文字列）を展開文字列保持部２１０から取得し、該取得した正規化された展開文字列をキーとして顧客データベースから顧客情報の検索を行う。なお、この検索は、ステップＳ５０５で生成された全ての展開文字列に対して行うものである。また、ステップＳ５０５の処理がエラーとなった場合や展開文字列保持部２１０に文字列が格納されていない場合には、検索処理を実行することなく処理を終了する。
【００６５】
次に、ステップＳ５０７において、検索エンジン１０７は、ステップＳ５０６の検索結果を画面１０９に出力して、検索された顧客情報を表示し、処理を終了する。
【００６６】
図８は、本発明の情報処理装置を適用可能なデータ検索システムにおける第１の制御処理手順の一例を示すフローチャートであり、図７のステップＳ５０５に示したナンバー正規化ルールの適用処理の詳細を示したフローチャートである。なお、このフローチャートの処理は、図４に示したＣＰＵ４０１がＨＤＤ又はその他の記録媒体に格納されたプログラムをＲＡＭ４０２上にロードして実行することにより実現される。また、図中、Ｓ６０１〜Ｓ６０６は各ステップを示す。
【００６７】
まず、入力文字列処理部２０１において、図７のステップＳ５０４で抽出された文字列を受け取り、該受け取った文字列を展開文字列保持部２１０に格納し（これ以前に展開文字列保持部２１０に保持されていたデータは削除される）、処理を開始する。
【００６８】
ステップＳ６０１において、ルールデータベース１１０からルールの読み込み処理を行う。詳細には、ルール読込部２０５が、ルールデータベ−ス１１０から全ルールデータを読み込み、ルール展開部２０８が、ルール読込部２０５で読み込んだルールを一つ一つのルールデータに展開する。
【００６９】
次に、ステップＳ６０２において、条件読込部２０２は、処理すべきルールデータがあるか否かを判定し、処理すべきルールデータが無いと判断した場合には、入力文字列処理部２０１が受け取った文字列（図７のステップＳ５０４で抽出された文字列）をそのまま展開文字列保持部２１０に格納し、図７のフローチャートに処理を戻し、検索エンジン１０７にて検索処理を実行させるように制御する。
【００７０】
一方、ステップＳ６０２で、条件読込部２０２が、処理すべきルールデータがあると判断した場合には、ステップＳ６０３において、所定の順序に従い（図２では上から順に）１つルールデータを取得し、該ルールデータから条件部プログラムデータ６０１を読み込み、条件部実行部２０７で、展開文字列保持部２１０内に保持されている各文字列が条件部プログラムデータ６０１で示される条件にマッチしたかそれぞれ判定する。
【００７１】
ステップＳ６０５において、条件部実行部２０７が、展開文字列保持部２１０に保持される各文字列がいずれも、読み込んだ条件部プログラムデータ６０１で示される条件にマッチしなかったと判断した場合には、ステップＳ６０２に処理を戻し、条件読込部２０２に次のルールデータの処理を行わせるように制御する。
【００７２】
一方、ステップＳ６０５において、条件部実行部２０７が、展開文字列保持部２１０に保持されるいずれかの文字列が、読み込んだ条件部プログラムデータ６０１で示される条件にマッチしたと判断した場合には、ステップＳ６０５において、アクション部読込部２０９は、カレントのルールデータからアクション部プログラムデータ６０２を読み込み、アクション部実行部２０３で、マッチしたと判断された全ての文字列に対して、アクション部プログラムデータ６０２で示される処理をそれぞれ実行する。そして、展開された文字列を展開文字列保持部２１０に上書き保存する（即ち、これ以前に展開文字列保持部２１０に保持されていたデータは削除される）。
【００７３】
次に、フラグ判定部２０６は、ステップＳ６０６において、カレントのルールデータが保持する継続フラグ６０３が「１」（継続を示す値）であるか否かを判定し、継続フラグが「１」（継続を示す値）であると判断した場合には、ステップＳ６０２に処理を戻し、条件読込部２０２に次のルールデータの処理を行わせるように制御する。
【００７４】
一方、フラグ判定部２０６が、ルールデータの継続フラグ６０３が継続を示す値「１」でない（継続を示さない値である）と判断した場合には、出力文字列処理部おいて展開文字列保持部２１０に保持されている文字列を検索エンジン１０７に出力し、図７のフローチャートに処理を戻し、検索エンジン１０７にて検索処理を実行させるように制御する。
【００７５】
以下、図９を参照して、検索候補展開エンジン１０６による展開処理を具体的に説明する。なお、ルールデータベースは図２に示したものを用いるものとする。
【００７６】
ここでは、仮に“２３−４５”というナンバーの車が進入してきたとする。そして、このナンバーをカメラ１０１で撮影し、ＯＣＲ認識した結果、ＯＣＲ部１０５の誤認識により“２９５”という３桁の文字を認識してしまったとする。この場合の展開結果を図９に示す。
【００７７】
図９は、検索候補展開エンジン１０６による展開処理結果の一例を示す模式図である。
【００７８】
図９において、列８０１は、図２に示したルールデータのうち、列８０２に示す展開する前のデータにマッチしたルールを示す。列８０３は、列８０２に示す展開する前のデータが、８０１に示すマッチしたルールで展開されたあとのデータを示す。
【００７９】
以下、図８のフローチャートに対応させて説明する。
【００８０】
まず、検索候補展開エンジン１０６には、認識結果である“２９５”が入力されると、図８のステップＳ６０１において、ルールデータベース１１０からルールを読み込み、図８のステップＳ６０２において、ルールの有無を判定し、図８のステップＳ６０３に進む。
【００８１】
図８のステップＳ６０３で、図２に示したルールデータ６０４（最低認識桁数ルール）の条件部プログラムデータ「認識桁数が３桁未満である」を読み込み、文字列“２９５”が「認識桁数が３桁未満である」とマッチングするか判定する。ここで、文字列“２９５”は３桁以上であるので、図８のステップＳ６０４で、マッチングしないと判断し、図８のステップＳ６０２に処理を戻す。
【００８２】
次に、ステップＳ６０３で、図２に示したルールデータ６０５（誤認識文字ルール１）の条件部プログラムデータ「認識文字に４が含まれている」を読み込み、文字列“２９５”が「認識文字に４が含まれている」とマッチングするか判定する。ここで、文字列“２９５”には'４'が含まれていないので、ステップＳ６０４で、マッチングしないと判断し、図８のステップＳ６０２に処理を戻す。
【００８３】
次に、図８のステップＳ６０３で、図２に示したルールデータ６０６（誤認識文字ルール２）の条件部プログラムデータ「認識文字に９が含まれている」を読み込み、文字列“２９５”が「認識文字に９が含まれている」とマッチングするか判定する。ここで、文字列“２９５”には'９'が含まれているので、図８のステップＳ６０４で、マッチングすると判断し、図８のステップＳ６０５に処理を進める。
【００８４】
図８のステップＳ６０５で、ルールデータ６０４（最低認識桁数ルール）のアクション部プログラムデータ「９を４に変換して展開する」を読み込み、実行する。即ち、文字列“２９５”の'９'を'４'に変換して、文字列“２９５”を展開する。この処理が終了すると、図９の８０４に示す展開されたあとのデータのように、二個の文字列“２９５”，“２４５”が展開される。そして、展開されたあとのデータ“２９５”，“２４５”を展開文字列保持部２１０に上書きする。
【００８５】
そして、認識文字ルール２（６０６）の継続フラグ６０３が「１」であるので、ルール実行を継続するものと判断し、ステップＳ６０３に処理を戻す。
【００８６】
次に、図８のステップＳ６０３で、図２に示したルールデータ６０７（補完ルール）の条件部プログラムデータ「認識文字数が４桁未満である」を読み込み、展開文字列保持部２１０内に保持されている文字列“２９５”，“２４５”が「認識文字数が４桁未満である」とマッチングするかをそれぞれ判定する。ここで、文字列“２９５”，“２４５”はいずれも４桁未満であるので、図８のステップＳ６０４で、マッチングすると判断し、図８のステップＳ６０５に処理を進める。
【００８７】
図８のステップＳ６０５で、ルールデータ６０４（最低認識桁数ルール）のアクション部プログラムデータ「４桁に補完し展開する。補完する桁の位置は１，２，３，４桁目とする」を読み込み、実行する。即ち、文字列“２９５”の１，２，３，４桁目をそれぞれ'０'〜'９'で補完する。この処理が終了すると、図９の８０６−１，８０６−２，８０６−３，８０６−４に示すような４０個の文字列が展開される。また、文字列“２４５”の１，２，３，４桁目をそれぞれ'０'〜'９'で補完する。この処理が終了すると、図９の８０５−１，８０５−２，８０５−３，８０５−４に示すような４０個の文字列が展開される。そして、展開されたあとのデータ（図９の８０５−１〜４，８０６−１〜４）を展開文字列保持部２１０に上書きする。
【００８８】
そして、補完ルール６０７の継続フラグ６０３が「０」であるので、ルール実行を継続しないものと判断し、図７のフローチャートに処理を戻し、検索エンジン１０７にて検索処理を実行させるように制御する。即ち、図７のステップＳ５０６の検索処理では、図９の８０５−１〜４，８０６−１〜４に示す展開されたあとのデータ（８０個）をキーにしてそれぞれ検索処理を行うこととなる。
【００８９】
なお、図９の８０５−１〜４，８０６−１〜４に示す展開されたあとのデータには、８０７に示すように、上述した正しいナンバー“２３−４５”も含まれており、これにより、目的の顧客の情報を検索することができる。よって、駐車場に進入してきた自動車のナンバーをＯＣＲが誤認識したとしても、検索結果より、来店する顧客の情報を高い確率で取得することができる。
【００９０】
この検索結果の一例が、図５に示したものである。図５では、検索結果の１番上にカーナンバー“２３−４５”の顧客データが表示されている。
【００９１】
なお、検索結果の表示の際、図５に示すように、検索結果だけでなく、撮影した車両とナンバープレートの画像と、検索でヒットした顧客の車両の画像の双方を画面表示（通知）するように構成してもよい。この構成により、複数の顧客情報がヒットしてしまった場合でも、販売員が正しい顧客（正しい検索結果）を容易に選択することができる、より利便性の高いデータ検索システムを提供できる。
【００９２】
また、自動車ナンバーを自動認識で取得し、その結果に正規化処理を加えて顧客データベースを検索し、顧客サービスを向上させる装置の構成について説明したが、さらに、検索結果の出力に関して、図５に示したように、顧客データベース１０８に顧客の訪問回数や最終訪問日などの情報をもたせることによって、数件ヒットした場合に訪問可能性の高い順番に、検索結果を画面表示させるように構成してもよい。これにより、販売員が正しい顧客（正しい検索結果）を容易に選択することができる、より利便性の高いデータ検索システムを提供できる。
【００９３】
さらに、上記実施形態では、自動車ナンバーを自動認識で取得し、その結果に正規化処理を加えて顧客データベースを検索し、結果を画面に出力する構成について説明したが、結果を自動的にプリントするように構成にしてもよい。
【００９４】
また、上記実施形態では、自動車ナンバープレートから検索に用いるための文字列を下部４桁の数字に絞って検索する構成について説明したが、さらにナンバープレート右端に記載されているひらがな文字や、上部に記載されている地域ナンバーも検索対象にすることによって、より信頼性をあげるデータ検索システムを構築することができる。
【００９５】
また、上記実施形態では、顧客データベースに情報を登録されている既存顧客が所有している自動車が進入してきた場合において、本発明のデータ検索システムを利用し、その自動車ナンバーを取得し、その結果に正規化処理を加えて顧客データベースを検索、検索結果をもとに店舗内の販売員などがいち早く対象の顧客に関する情報を把握し資料を用意するなど、より良いサービスを提供する目的であるシステムの構成について説明したが、電話やインターネットによりアクセスしてきた新規顧客に対して、あらかじめ自動車ナンバーを伺い、それを顧客データベースに入力しておくことによって、来店経験のない顧客に対しても、より迅速なサービスを提供することができる。
【００９６】
以上説明したように、ＯＣＲによって受け取ったデータに適切な正規化処理を加えて、該当するデータの検索を行うことにより、ＯＣＲ認識したデータを検索にかける前に、データに正規化処理をかけ検索の幅を広げ、ＯＣＲ認識の精度がクリティカルでない場面においても、目的のデータ（本来検索されるべき正しいデータ）を検索結果の一つとして出力することができる。
【００９７】
よって、このデータ検索システムを店舗等の駐車場に進入してくる自動車のナンバーをＯＣＲ認識して、該認識結果により顧客データを検索するシステムに適用した場合、駐車場に進入してきた自動車のナンバーをＯＣＲが誤認識したとしても、来店する顧客の情報を顧客の来店前に高い確率で取得して、効率的に顧客ニーズに合った顧客サービスを実施することができる。
【００９８】
以上に示したように、ＯＣＲの認識した文字に正規化処理を加えて検索を行なうことにより、認識文字列を検索にかける前にデータに正規化処理を行って、検索の幅を広げるように構成しているので、ナンバー認識の精度がクリティカルでない場面において、カメラやＯＣＲの精度に頼ることなく、ＯＣＲの誤認識に対応可能な安価なデータ検索システムを提供することを可能にする。
【００９９】
また、データの正規化を行うためのルールを持ったルールデータベース１１０は、システム本体とは独立しており、例えば、スクリプト言語により変更可能である。従って、適用する場面が異なる場合には、システム自体を変更せず、動作の変更を制御できる。例えば、日本市場向けに作成したナンバー読み取り（日本のナンバーのパターン）を開発した後、北米向け（アメリカのナンバープレートのパターン）読み取りには変更が必要であるが、簡単に変更可能である。また、自動車のナンバープレート以外のデータを認識するシステムを構築する場合も、容易に変更構築可能である。
【０１００】
ルールは、正規表現を利用した形式で記述し、またシステム本体ではなく、独立したルールファイルに記述することにより、テキストエディタ等により容易に編集し、カスタマイズできる。
【０１０１】
なお、本実施形態では、読み取りの対象を自動車のナンバープレートに特定したシステムの構成について説明したが、ルールデータベースの変更の容易性に基づき、読み取り対象を他の文字列（電話番号，住所など）とし、該読み取ったデータをＯＣＲ認識してデータ検索するように構成してもよい。
【０１０２】
〔第２実施形態〕
上記第１実施形態では、ＯＣＲを利用して取得したデータによりデータ検索するシステムについて説明したが、ルールデータベースの変更が容易なため、カメラ等で撮影した画像データを天候，撮影時間等の撮影条件に基づいて、画像処理し（色補正等を行い）、該画像処理後の画像データで、画像データ検索するように構成してもよい。
【０１０３】
即ち、ルールデータの条件部プログラムデータに撮影条件を示すデータを設定し、アクション部プログラムデータに色補正処理を指定するデータを設定するように構成する。
【０１０４】
例えば、入口で顧客の自動車や顧客自身の肖像を撮影し、該撮影画像により顧客データを画像検索して、顧客データを取得するようなシステムにおいて、顧客データの検索のヒット率を向上することができる。
【０１０５】
以上示したように、撮影データのＯＣＲ結果のように信憑性の低いデータに基づいて検索処理を行うデータ検索システム全般に対して、検索のヒット率を向上し、ユーザの満足度を向上させることができる利便性の高いデータ検索システムを構築することができる。
【０１０６】
なお、上記各実施形態及びその変形例の全て又はいずれかを組み合わせた構成も全て本発明に含まれるものである。
【０１０７】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１０８】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０９】
以下、図１０に示すメモリマップを参照してデータ検索システムを構成する情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１１０】
図１０は、本発明に係るデータ検索システムを構成する情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１１１】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１１２】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１３】
本実施形態における図７，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１１４】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１５】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１１６】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１１７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１９】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２０】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【産業上の利用可能性】
【０１２１】
本発明は、撮影データのＯＣＲ結果のように信憑性の低いデータに基づいて検索処理を行うデータ検索システムの検索ヒット率を向上させる用途に適用できる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の情報処理装置を適用可能なデータ検索システムの構成の一例を示すシステム構成図である。
【図２】図１で示したルールデータベースのデータ構成の一例を示すデータ構成図である。
【図３】図１で示した検索候補展開エンジンの構成を示すブロック図である。
【図４】図１で示した顧客データベースのデータ構成の一例を示すデータ構成図である。
【図５】図１で示した画面への検索結果表示の一例を示す模式図である。
【図６】図１に示したサーバのハードウェア構成を示すブロック図である。
【図７】本発明の情報処理装置を適用可能なデータ検索システムにおける第１の制御処理手順の一例を示すフローチャートである。
【図８】本発明の情報処理装置を適用可能なデータ検索システムにおける第２の制御処理手順の一例を示すフローチャートである。
【図９】検索候補展開エンジンによる展開処理結果の一例を示す模式図である。
【図１０】本発明に係るデータ検索システムを構成する情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１２３】
１０１  カメラ
１０２  ナンバープレート画像
１０３  サーバ
１０４  ナンバープレート切り出しモジュール
１０５  ＯＣＲ部
１０６  検索候補展開エンジン
１０７  検索エンジン
１０８  顧客データベース
１１０  ルールデータベース
２０１  入力文字列処理部
２０２  条件部読込部
２０３  アクション部実行部
２０４  出力文字列処理部
２０５  ルール読込部
２０６  フラグ判定部
２０７  条件部実行部
２０８  ルール展開部
２０９  アクション部読込部
２１０  展開文字列保持部
４０１  ＣＰＵ
４０２  ＲＡＭ
４１１  ＨＤＤ
【図１】
2006163446.tif 000003
【図２】
2006163446.tif 000004
【図３】
2006163446.tif 000005
【図４】
2006163446.tif 000006
【図５】
2006163446.tif 000007
【図６】
2006163446.tif 000008
【図７】
2006163446.tif 000009
【図８】
2006163446.tif 000010
【図９】
2006163446.tif 000011
【図１０】
2006163446.tif 000012