説明

文字認識装置、文字認識プログラム、および文字認識方法

【課題】接触文字、および縦横比変形文字による文字列であっても、正しく文字認識できる文字認識装置、文字認識プログラム、および文字認識方法を提供する。
【解決手段】文字認識装置に、文字列画像を取得する文字列画像取得手段と、文字列方向の文字長を測定した測定文字長を前記文字列画像取得手段で取得した文字列画像から複数の文字について取得する測定文字長取得手段と、取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識手段と、仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定手段と、決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出手段と、切り出した文字を本マッチング処理により本認識する文字認識手段とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば文字を認識するような文字認識装置、文字認識プログラム、および文字認識方法に関する。
【背景技術】
【0002】
従来、デジタルカメラなどの撮像手段、あるいはデジタルスキャナなどによって文字画像データを取得し、この文字画像データ内の文字を認識する文字認識技術が利用されている。
【0003】
この文字認識技術では、文字列から文字を切り出し、切り出した文字を辞書データとマッチングすることで文字を認識する。
【0004】
このような文字認識では、例えば文字と文字が接触している場合や、文字列方向に分離した複数の文字要素からなる分離文字(例えば、横書き文字列における「州」と「川」、縦書き文書における「二」と「三」など)、本来単独の文字要素からなる文字がかすれにより複数の文字要素に分離してしまった文字など、正確な文字の切り出しが困難な場合が生じる。
【0005】
このような接触文字や分離文字が含まれる文字列からでも正確な文字切り出しを行えるよう、文字幅を推定した上で文字切り出しを行う手法が、いくつか提案されている(特許文献1〜5参照)。
【0006】
しかし、これらの特許文献記載の技術には、未だ問題点が残っている。
詳述すると、特許文献1記載の文字認識装置は、文字幅が固定という前提で文字切り出しを行うものである。このため、この文字認識装置は、全角文字と半角文字が混合している文字列にうまく対応できないものである。
【0007】
特許文献2記載の文字認識装置は、全角文字と半角文字の各々について所定の文字幅を用意しておき、文字切り出しを行うものである。このため、全角文字と半角文字が混合している文字列に対応できる。しかし、中国で用いられるような縦横比変形文字には対応できないものである。すなわち、例えば中国の案内板や看板、飲食店のメニューなどでは、図10(A)に示すように、縦長に変形された縦長文字で構成される文字列や、図10(B)に示すように横太に変形された横長文字で構成される文字列など、様々な縦横比変形文字が使用されている。そして、特許文献2記載の文字認識装置は、所定の文字幅であることが前提であるから、このような縦横比変形文字にうまく対応できないという問題点がある。
【0008】
また、特許文献3記載の文字認識装置は、所定の文字幅を前提とし、抽出された文字が一文字である場合と二文字である場合の両方について考慮するというものである。しかし、これも前記特許文献2の場合と同様、所定の文字幅が前提であるが故に、縦長文字で構成される文字列や横長文字で構成される文字列など縦横比変形文字による文字列にうまく対応できない。
【0009】
また、前記特許文献4記載の文字認識装置は、全角文字の縦横比がほぼ1:1に近いことを仮定している。このため、前記特許文献2,3と同様に、縦長文字で構成される文字列や横長文字で構成される文字列など縦横比変形文字による文字列にうまく対応できない。
【0010】
また、前記特許文献5記載の文字認識装置は、文字列と垂直な方向に黒画素(文字に相当する画素)を投影させたデータから投影文字幅のヒストグラムを作成し、そのピーク値を文字幅とする。このため、縦長文字で構成される文字列や横長文字で構成される文字列など縦横比変形文字による文字列に対応できる可能性はある。しかし、例えば、図10(C)に示すように接触文字がある場合、接触文字の影響でピーク値がW2となり、実際の文字幅W1の倍のサイズW2が文字幅として推定されてしまう。
【特許文献1】特開平5−128308号公報
【特許文献2】特開平5−128307号公報
【特許文献3】特開平3−53393号公報
【特許文献4】特開平7−271911号公報
【特許文献5】特開平1−78395号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
この発明は、上述した従来の問題点に着目してなされたものであり、接触文字、および縦横比変形文字による文字列であっても、正しく文字認識できる文字認識装置、文字認識プログラム、および文字認識方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
この発明は、文字列画像を取得する文字列画像取得手段と、文字列方向の文字長を測定した測定文字長を前記文字列画像取得手段で取得した文字列画像から複数の文字について取得する測定文字長取得手段と、取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識手段と、仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定手段と、決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出手段と、切り出した文字を本マッチング処理により本認識する文字認識手段とを備えた文字認識装置であることを特徴とする。
【0013】
前記文字列画像取得手段は、例えばCCDカメラやCMOSカメラなどの撮像手段とする、あるいは、このような撮像手段で撮像した文字列画像のデータを該撮像手段から受信するインターフェースとするなど、画像を取得可能な適宜の手段で構成することができる。
【0014】
前記文字列方向は、文字が縦方向に並んでいれば縦方向、文字が横方向に並んでいれば横方向とするなど、文字が並んでいる適宜の方向とすることができる。
前記文字長は、文字列方向の1文字の長さを指し、例えば1文字における文字列方向の画素数とすることができる。
【0015】
前記文字仮認識手段は、例えば、文字画像から特徴データを抽出し該特徴データを辞書データの特徴データとマッチングし、どの文字かを認識する手段とすることができる。また、仮認識ができたとは、正しい文字が認識できていると考えられる程度にマッチング信頼度が得られている場合とすることができる。
【0016】
前記標準文字長決定手段は、複数の測定文字長の平均値を標準文字長とする平均文字長演算手段で構成する、あるいは、複数の測定文字長が最も集中している値を抽出する集中値抽出手段で構成するなど、標準文字長を決定する適宜の手段で構成することができる。
【0017】
前記文字認識手段は、例えば、文字画像から特徴データを抽出し該特徴データを辞書データの特徴データとマッチングし、どの文字かを認識する手段とすることができる。
【0018】
前記文字認識装置は、情報処理を実行するCPUなどの情報処理部と情報記憶を行うメモリなどの情報記憶部と外部装置に接続する接続端子などのインターフェース部とを有する半導体チップなどの装置で構成する、あるいは、撮像手段と制御手段と記憶手段とを備えた携帯電話機やPDAなどの情報処理端末で構成するなど、適宜の装置で構成することができる。
この発明により、接触文字、および縦横比変形文字による文字列であっても、正しく文字認識することが可能になる。
【0019】
この発明の態様として、前記仮マッチング処理により仮認識した文字が、前記文字列画像の文字列方向に配置された2つの部品文字を結合してできる1つの結合文字である場合、前記標準文字長決定手段は、前記標準文字長の決定に利用する測定文字長から該結合文字の測定文字長を除外する構成とすることができる。
【0020】
前記結合文字は、文字列方向が左右方向である場合に偏(へん)と旁(つくり)からなる文字、あるいは、文字列方向が上下方向である場合に冠(かんむり)と脚(あし)からなる文字とすることができる。
【0021】
前記部品文字は、文字列方向が左右方向である場合の前記結合文字の偏(へん)または旁(つくり)に該当する文字、あるいは、文字列方向が上下方向である場合の前記結合文字の冠(かんむり)または脚(あし)からなる文字とすることができる。
【0022】
これにより、2文字分の文字長を1文字の文字長として用いることを防止できる。詳述すると、例えば「日」の文字と「月」の文字がこの順で2つ並んでいる文字列について、過って「日」と「月」を結合した「明」の1文字と仮認識してしまうケースが考えられる。このような場合に、仮認識した「明」が結合文字であることから「明」の測定文字長を除外することができる。このため、「日」と「月」の2文字分の文字長を「明」1文字の測定文字長として誤採用することを防止できる。
【0023】
またこの発明の態様として、前記仮マッチング処理により仮認識した文字が、当該文字に対して文字列方向の前後いずれかの文字を結合すると1つの結合文字を形成できる部品文字である場合、前記標準文字長決定手段は、前記標準文字長の決定に利用する測定文字長から該部品文字の測定文字長を除外する構成とすることができる。
【0024】
これにより、結合文字の部品文字の測定文字長を1文字の測定文字長として過って採用することを防止できる。詳述すると、「明」の1文字を仮認識する際に、過って「日」と「月」の2文字であると仮認識するケースが考えられる。このような場合に、部品文字となり得る「日」や「月」の測定文字長を除外することができる。このため、部品文字の測定文字長を1文字分の測定文字長として誤採用することを防止できる。
【0025】
前記文字切出手段は、前記文字列画像を文字列方向と垂直な方向に投射した射影データを作成し、該射影データの切れ目あるいは谷から次の切れ目あるいは谷までの仮文字長が前記標準文字長に対して所定誤差内にある文字を切り出す第1切出処理を実行する構成とし、前記文字認識手段は、前記本マッチング処理として、切り出した文字について全角文字とマッチングする全角文字本マッチング処理を行う構成とし、該全角文字本マッチング処理でのマッチング信頼度が所定の閾値よりも低い場合、前記文字切出手段は、前記標準文字長のうち文字列前方から所定の範囲と文字列後方から前記所定誤差を切り落とした縮小文字長内にある文字を切り出す第2切出処理を実行する構成とし、前記文字認識手段は、前記本マッチング処理として、切り出した文字について半角文字とマッチングする半角文字本マッチグ処理を行う構成とすることができる。
これにより、全角文字と半角文字を正しく認識することができる。
【0026】
またこの発明の態様として、前記所定誤差を前記標準文字長の4分の1とすることができる。
これにより、全角文字同士の文字幅のばらつきに適切に対応できる。すなわち、例えば文字「と」と文字「ど」では、濁点の分だけ文字幅が少し異なるが、このような文字幅のばらつきに適切に対応することができる。
【0027】
またこの発明の態様として、前記所定の範囲を前記標準文字長の16分の1とすることができる。
これにより、「I」や「l」などの文字幅の小さい文字に対しても適切に対応できる。
【0028】
またこの発明は、文字列画像を文字列画像取得手段により取得する文字列取得ステップと、文字列方向の文字長を測定した測定文字長を前記文字列画像から複数の文字について取得する測定文字長取得ステップと、取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識ステップと、仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定ステップと、決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出ステップと、切り出した文字を本マッチング処理により本認識する文字認識ステップとをコンピュータに実行させる文字認識プログラムとすることができる。
【0029】
前記文字認識プログラムは、CD(Compact Disc)、DVD(Digital Versatile Disk)、フレキシブリディスク、メモリ、チップ、またはハードディスクなど、適宜の記憶媒体に格納することができる。また、前記文字認識プログラムは、インターネットなどの電気通信回線に接続されたサーバの記憶手段に記憶しておき、電気通信回線を通じてダウンロード可能とする、あるいは電気通信回線を通じてASP(Application Service Provider)のサービスとして利用可能にする構成としてもよい。
この発明により、接触文字、および縦横比変形文字による文字列であっても、正しく文字認識することが適宜のハードウェアにて実行可能になる。
【0030】
またこの発明は、文字列画像を文字列画像取得手段により取得する文字列取得ステップと、文字列方向の文字長を測定した測定文字長を前記文字列画像から複数の文字について取得する測定文字長取得ステップと、取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識ステップと、仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定ステップと、決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出ステップと、切り出した文字を本マッチング処理により本認識する文字認識ステップとを実行する文字認識方法とすることができる。
【発明の効果】
【0031】
この発明により、接触文字、および縦横比変形文字による文字列であっても、正しく文字認識できる文字認識装置、文字認識プログラム、および文字認識方法を提供することができる。
【発明を実施するための最良の形態】
【0032】
この発明の一実施形態を以下図面と共に説明する。
図1は、携帯端末1の斜視図を示し、図2は、携帯端末1の構成のブロック図を示す。
【0033】
携帯端末1は、図1に示すように、画像入力部3、操作部5、及び画面表示部7が設けられている。画像入力部3は、画像を撮像するデジタルカメラであり、操作部5は、押下操作されるボタンであり、画面表示部7は、画像を表示する液晶ディスプレイあるいは有機ELディスプレイである。
【0034】
図2に示すように、携帯端末1は、画像入力部3、操作部5、及び画面表示部7に加えて、CPU11、ROM12、およびRAM13が、バス16に接続して設けられている。
【0035】
画像入力部3は、CCDカメラまたはCMOSカメラなどのデジタルカメラであり、バス16に接続されている。画像入力部3が撮像して得た撮像画像は、デジタル画像データとしてCPU11に送信される。このデジタル画像データは、最終的に別途の記憶装置(不揮発性メモリなど)に記憶しても良い。なお、画像入力部3は、CPU11から撮像信号を受けて撮像を開始する。
【0036】
操作部5は、バス16に接続されている。この操作部5は、利用者に押下操作された押下信号を、バス16を介してCPU11に送信する。
【0037】
画面表示部7は、操作画面を表示する操作画面表示部7aとしての機能と、文字認識した認識結果を表示する認識結果表示部7bとしての機能とを有している。この操作画面表示部7は、バス16に接続されている。CPU11から画像データが送られてくると、この画像データの画像を操作画面表示部7aまたは認識結果表示部7bに表示する。
【0038】
CPU11は、ROM12に記憶されたプログラムに従ってRAM13を一時記憶領域に使用して各種動作を行うプロセッサであり、各部を制御する制御機能21と、文字認識機能22を有している。
【0039】
この文字認識機能22は、射影データ取得部31、文字長候補抽出処理部32、標準文字長算出部33、文字切出処理部34、および文字認識処理部35を有している。
【0040】
射影データ取得部31は、文字列画像を2値化して文字列方向と垂直な方向の黒画素数(文字を構成する画素の数)を文字列方向に並べたヒストグラムである射影データを取得する。
【0041】
文字長候補抽出処理部32は、射影データから黒画素のない部分や少ない部分を文字の切れ目と推測して標準文字長の候補となる測定文字長を抽出する。
【0042】
標準文字長算出部33は、測定文字長から標準文字長を算出する。
文字切出処理部34は、前記標準文字長で文字列を切り出して1文字単位に分離する。
【0043】
文字認識処理部35は、切り出された文字から該文字の特徴データを取得し、この特徴データがROM12の辞書データ25に記憶されている各文字の特徴データと一致または近似するかマッチングする。
【0044】
ROM12は、文字認識プログラム23、設定データ24、および辞書データ25を記憶している。設定データ24は、例えば、仮マッチング処理を行った文字が標準文字長を求める際に使用可能な文字か否か判定する条件を定めた標準文字長算出条件などが記憶されている。
【0045】
RAM13は、CPU11が各種制御や演算に使用するデータを一時記憶すると共に、画像メモリ14に文字列画像などの画像を記憶する。
【0046】
なお、携帯端末1には、無線通信を行う通信アンテナ、音声出力を行うスピーカ、および集音を行うマイク等も設けられている。これにより、携帯電話機として利用できるように構成されている。
【0047】
また、図に仮想線で示すように、CPU11とROM12は、1つのチップ15に搭載して電子部品として構成してもよい。この場合、チップ15を携帯端末1に備えれば、簡単に文字認識機能を追加することができる。
【0048】
図3は、文字のマッチングに使用する辞書データ25の構成図を示す。
辞書データ25は、文字コード、マッチング情報、全角/半角区別、結合文字区別、および左部品文字区別などの各項目によって構成されている。
【0049】
文字コードは、各文字についてSHIFT−JISやUTF−8などの適宜の文字コードを記憶する。
マッチング情報は、各文字について特徴量データを記憶している。
【0050】
全角/半角区別は、全角文字か半角文字かの区別を“1”/“0”で記憶している。
結合文字区別は、結合文字か否かの区別を“1”/“0”で記憶している。
左部品文字区別は、左側の部品文字であるか否かの区別を“1”/“0”で記憶している。
【0051】
図4は、画面表示部7に表示する認識画面40の画面構成図を示す。
認識画面40は、画像入力部3で取得した画像を画面中に大きく表示し、その中で認識したい文字列画像Pを認識対象特定枠41で囲んで表示している。なお、図示する例では、文字が横並びであるため、文字長は一般に言う文字幅となる。
【0052】
画面下方には、戻るボタン42、認識ボタン43、およびサブメニューボタン44が設けられている。
戻るボタン42は、押下されると前の画面に戻るボタンである。
認識ボタン43は、押下されると文字認識を開始するボタンである。
【0053】
サブメニューボタン44は、押下されると種々の機能を備えたサブメニューを表示するボタンである。なお、このサブメニューでは、認識対象特定枠41の位置や範囲を利用者の操作によって任意に変更できる認識対象指定機能も表示する。
【0054】
図5は、文字列画像から射影データを取得して測定文字長を抽出する仕組みを説明する説明図である。
図5(A)に示す文字列画像51を、文字部分が黒になるように2値化し、文字列方向に垂直な方向(図示の例では上下方向)の黒画素の数を、文字列方向にビット単位で並べると、図5(B)に示すように黒画素を投影させた射影データ52が得られる。
この射影データ52は、縦軸を黒画素数、横軸を文字列方向の位置とするヒストグラムである。
【0055】
この射影データ52は、図示するように、文字列方向における文字と文字の間位置の値が0または微小値となっており、この0または微小値部分が文字と文字の境目の可能性がある。
【0056】
このような文字と文字の境目から、図5(C)に示すように、様々な測定文字長の候補が得られる。図5(C)にて最上段に表示している測定文字長Lは、黒画素数が所定数(閾値B1)以下であれば文字の切れ目と推定した場合のものである。最下段に表示している測定文字長Lは、黒画素数が0(閾値B6)の場合のみを文字の切れ目と推定した場合のものである。これらの間の測定文字長Lは、文字の切れ目と推定する黒画素数の値(閾値B2〜B5)を異ならせた例である。
【0057】
このようにして、文字の切れ目とする黒画素数の閾値Bを変化させることにより、ある程度の精度の測定文字長Lが得られる。ただし、得られた測定文字長Lが完全に正しいとは限らないことは、図示するとおりである。このようにしてある程度の信頼性のある測定文字長Lを得て、さらに確実性の高い文字認識を行うための処理を次に説明する。
【0058】
図6〜図7は、ROM12に記憶されている文字認識プログラム23に従ってCPU11が実行する文字認識機能22についてのフローチャートを示す。
CPU11は、画像入力部3から文字画像を取得する(ステップS1)。この文字画像の取得は、操作部5から利用者の撮像操作を受け付け、この撮像操作に基づいて画像入力部3による撮像を実行し、画像入力部3が取得した撮像画像を文字画像としてデータ受信することで取得する。
【0059】
CPU11は、画面表示部7に認識画面40を表示し、利用者に操作部5で認識対象特定枠41を移動操作させて認識対象範囲の指定を受け付ける(ステップS2)。これ以降の説明は、図8(A)に示すように、「六月的宴会料理…」の文字画像を認識対象範囲として指定された場合を例にとって行う。
【0060】
CPU11は、射影データ取得部31としての機能を発揮し、指定された認識対象範囲の文字列について射影データ52を取得する(ステップS3)。
CPU11は、文字長候補抽出処理部32としての機能を発揮し、射影データ52から測定文字長を抽出する(ステップS4)。このとき、図8(B)に示すように、「六」「月」「白」「勺」「宴」「会」「米」「斗」「理」…、の文字候補単位に区分して測定文字長を抽出したものとする。なお、区分した文字候補および測定文字長は、文字列が横並びであれば左から順番に番号を付し、文字列が縦並びであれば上から順番に番号を付すと良い。
【0061】
CPU11は、変数「i」に“0”をセットして初期化し(ステップS5)、i番目の測定文字長内に存在する文字候補について仮マッチング処理を行ってマッチング信頼度を算出する(ステップS6)。このマッチング信頼度は、文字候補から特徴量を算出し、この特徴量を辞書データ25の各文字のマッチング情報と比較することで算出する。このとき、全角文字のマッチング情報のみと比較し、半角文字は使用しない。これにより、最終的に算出する標準文字長を全角文字の文字長とすることができ、精度を高めることができる。またこのとき、仮マッチング処理により文字を仮認識でき、この仮認識した文字を一時的に記憶しておくことが好ましい。
【0062】
CPU11は、算出したマッチング信頼度が予め定められた標準文字長算出条件を満たすか否か判定する(ステップS7)。この標準文字長算出条件は、次に示す条件1〜条件3を全て満たすという条件である。
【0063】
「標準文字長算出条件」
条件1:マッチング信頼度が所定の基準値以上であること
条件2:マッチングにより認識した文字が、部品文字に該当しないこと
条件3:マッチングにより認識した文字が、結合文字に該当しないこと
【0064】
条件1における所定の基準値は、正しい文字を認識できていると考えられる基準値に適宜定めることができる。
【0065】
条件2の部品文字は、例えば文字列方向前方(へん、又は、かんむり)になり得る前方部品文字とする、文字列方向後方(つくり、又は、あし)になり得る後方部品文字とする、あるいはその両方とすることができる。
【0066】
なお、前方部品文字を除外対象とする場合は、文字の仮認識の結果、当該前方部品文字と後方部品文字を合わせて1つの結合文字となる場合にのみ除外対象とすることが好ましい。このようにすることで、効率および精度を高めることができる。
【0067】
また、後方部品文字を除外対象とする場合は、文字の仮認識の結果、その前方に並んでいる文字の認識結果が当該後方部品文字と結合することで1つの結合文字となる場合にのみ除外対象することが好ましい。これにより、効率および精度を高めることができる。
【0068】
条件3の結合文字は、文字列方向が横方向であれば、「へん」と「つくり」からなる文字とし、文字列方向が縦方向であれば、「かんむり」と「あし」からなる文字とすることができる。
【0069】
図8(C)に示す例では、標準文字長算出条件を満たすものとして採用できる文字は、「六」「宴」「会」である。他の「月」「白」「勺」「米」「斗」「理」は、部品文字または結合文字に該当し得るものとして条件を満たさない。
【0070】
標準文字長算出条件を満たす場合(ステップS7:Yes)、CPU11は、当該測定文字長を標準算出用文字長とし、初期値を”0”としている変数「文字数」を1カウントアップする(ステップS8)。
標準文字長算出条件を満たさない場合(ステップS7:No)、CPU11は、そのまま処理をステップS9へ進める。
【0071】
CPU11は、必要数(例えば4文字分)の標準算出用文字長を収集したか、すなわち変数「文字数」が所定数(例えば4個)に達したか否かを判定する(ステップS9)。
【0072】
必要数の標準算出用文字長を収集した場合(ステップS9:Yes)、CPU11は、取得した所定数(例えば4文字)の標準算出用文字長から標準文字長を算出し(ステップS10)、ステップS14に処理を進める。この標準文字長は、所定数の標準算出用文字長の平均値とすることが好ましい。また、算出した標準文字長は、全角文字の標準文字長とする。
【0073】
必要数の標準算出用文字長を収集していない場合(ステップS9:No)、CPU11は、変数「i」を1カウントアップし(ステップS11)、この変数「i」が標準算出用文字長の数(すなわち変数「文字数」)に達するまで(ステップS12:Yes)、ステップS6に処理を戻して繰り返す。
【0074】
変数「i」が標準算出用文字長の数に達した場合(ステップS12:No)、標準算出用文字長が必要数集まらなかったと認識できる。このため、CPU11は、標準算出用文字長が1つ以上集まったか否か判定する(ステップS13)。
【0075】
標準算出用文字長が1つ以上集まっていた場合(ステップS13:Yes)、CPU11は、ステップS10へ処理を進め、集まった標準算出用文字長の平均値を算出し、これを標準文字長と定める(ステップS10)
【0076】
標準算出用文字長が1つも集まっていなかった場合(ステップS13:No)、CPU11は、標準文字長をデフォルト設定に基づいて算出する(ステップS14)。
【0077】
このデフォルト設定に基づく標準文字長は、読取対象の文字の縦横比率が1対1であると想定し、文字列方向と垂直方向の文字の長さ(この実施例であれば文字高さ)を標準文字長とする。このように縦横比率を1対1とするのは、一般的に縦横比率1対1の文字がそれ以外の縦横比率の文字よりも多いからである。
ここまでのステップS6からS14を実行するCPU11は、標準文字長算出部33として機能する。
【0078】
CPU11は、定めた標準文字長に従って、文字列画像の一文字目についての切出開始位置をセットする(ステップS15)。
【0079】
そして、CPU11は、文字切出処理部34として機能し、図9(A)に示すように切出開始位置から所定の切出範囲の画像を切り出す全角文字切出処理を実行する(ステップS16)。ここでの所定の切出範囲は、標準文字長La±αとする。すなわち、全角文字切出処理は、切出開始位置から標準文字長Laの位置を中心とする−α〜+αをサーチ範囲とし、このサーチ範囲にある射影データ52の切れ目あるいは谷を文字終端側カット位置と定める。そして、切出開始位置から文字終端側カット位置までの切出範囲で画像を切出す。なお、αは、文字終端許容誤差であり、標準文字長Laの1/4とすることが好ましい。
【0080】
そして、CPU11は、文字認識処理部35として機能し、全角文字切出処理で切出した画像内の文字について全角文字認識処理を実行する(ステップS17)。この全角文字認識処理は、辞書データ25に記憶されているマッチング情報のうち全角/半角区別が全角となっているマッチング情報のみを使用する。また、全角文字認識処理は、切り出した文字画像から特徴量を算出し、この特徴量と一致あるいは最も近似するマッチング情報を辞書データ25から検索する処理である。
【0081】
CPU11は、全角文字認識処理で得られたマッチング信頼度が基準値以上に高いか否か判定する(ステップS18)。この基準値は、認識した文字が正しいものであるとの可能性が高い値に設定する。そして、マッチング信頼度が前記基準値よりも高ければ(ステップS18:Yes)、CPU11は、当該文字を採用する(ステップS19)。
【0082】
マッチング信頼度が一定より低ければ(ステップS18:No)、CPU11は、文字切出処理部34として機能し、半角文字切出処理を実行する(ステップS20)。この半角文字切出処理は、図9(B)に示すように、「β<切出範囲<標準文字長La−α」となるように画像を切り出す。すなわち、全角文字での切出開始位置から文字開始端カット範囲β分をカットし、さらに標準文字長Laより文字終端許容誤差αだけ短い部分でカットすることで、半角文字を精度よく切り出すことができる。
【0083】
ここで、文字開始端カット範囲β分の画像のカットは、全角文字の切出開始位置から文字開始端カット範囲βの位置で常にカットする、あるいは、全角文字の切出開始位置から文字開始端カット範囲βまでの間で射影データ52の切れ目または谷でカットすると良い。なお、文字開始端カット範囲βは、標準文字長の1/16とすることが好ましい。
【0084】
また、文字終端側カット位置となる「標準文字長La−α」での画像のカットは、全角文字の切出開始位置から「標準文字長La−α」の位置でカットする、あるいは、全角文字の切出開始位置から「標準文字長La−α」の位置から標準文字長Laの位置までをサーチ範囲とし、このサーチ範囲にある射影データ52の切れ目または谷でカットすると良い。
【0085】
このようにして半角文字切出処理をした後、CPU11は、文字認識処理部35として機能し、半角文字認識処理を実行する(ステップS21)。この半角文字認識処理は、辞書データ25に記憶されているマッチング情報のうち全角/半角区別が半角となっているマッチング情報のみを使用する。また、半角文字認識処理は、切り出した文字画像から特徴量を算出し、この特徴量と一致あるいは最も近似するマッチング情報を辞書データ25から検索する処理である。
【0086】
CPU11は、マッチング処理の信頼度が高ければ、マッチングした文字を採用し、当該文字について認識成功とする(ステップS22)。
CPU11は、文字列画像の最後尾の文字か否か判定し(ステップS23)、最後尾の文字でなければ(ステップS23:No)、次の文字の切出開始位置をセットし(ステップS24)、ステップS20に処理を戻して繰り返す。次の文字の切出開始位置は、例えばステップS16の全角文字切出処理またはステップS20の半角文字切出処理で決定した文字終端側のカット位置とすればよい。
【0087】
前記ステップS23で最後尾の文字ではあった場合(ステップS23:Yes)、CPU11は、読取対象の全ての文字の文字認識が完了したものとして処理を終了する。ここで、文字認識した文字は、認識結果表示部7bとなる画面表示部7に表示する、あるいは、翻訳アプリケーションなどの別途のプログラムに渡すなど、適宜の出力手段により出力すればよい。
【0088】
以上の構成および動作により、接触文字、および縦横比変形文字による文字列であっても、正しく文字認識することができる。
標準文字長Laを定める際に、マッチング信頼度がある閾値より良いという条件を課したため、正しく文字認識できてない文字、すなわち接触文字であったり文字が途中で切れていたり文字以外のノイズが写っていたりする画像を標準文字長Laの算出から排除することができる。
【0089】
また、マッチング信頼度が高いだけでなく、部品文字になり得る文字や、結合文字となり得る文字を除外して標準文字長Laの算出を行うこととしたため、文字長を誤って認識することを防止できる。すなわち、例えば、「日」や「月」など、別の文字(「明」など)の要素になる確率が大きい文字が、実際に別の文字の要素になっている場合、「明」から「目」や「月」の部分だけで切り出して文字長の候補となってしまった場合にも、これらを除外して標準文字長Laを推定することができる。
【0090】
また、複数の文字長の平均値を採用することとしたため、文字長の推定精度を高めることができる。
また、射影データ52からの文字切出処理において、射影データ52の切れ目あるいは谷となるところを文字切り出し座標の候補としたことで、文字の接触が頻発している文字列であっても、正しく1文字を切出して精度よく文字認識することができる。
【0091】
また、文字終端許容誤差αと文字開始端カット範囲βを用いて、全角文字認識処理で正しく認識できない場合に半角文字認識処理を実行することで、全角文字と半角文字をいずれも読取ることができる。
【0092】
また、文字終端許容誤差αと文字開始端カット範囲βの値を標準文字長Laに対する比率で決定しているため、読取対象の文字列が縦長(図8(D)参照)か横長(図8(E)参照)かなどの大きさ(縦横比)の違いに関わらず適切に文字を認識することができる。
【0093】
また、文字開始端カット範囲βを標準文字長の1/16としたことで、「I」や「l」などの文字幅の小さい文字に対しても適切に対応できる。
【0094】
また、採用できる測定文字長を所定数(例えば4つ)取得した時点で標準文字長Laを決定してそれ以降の仮認識を行わず、あとは標準文字長Laを使って本認識を行うことで、文字認識に要する時間の短縮と、文字認識の精度向上を実現ことができる。
【0095】
この発明の構成と、上述の実施形態との対応において、
この発明の文字認識装置は、実施形態の携帯端末1またはチップ15に対応し、
以下同様に、
文字列画像取得手段は、ステップS1を実行するCPU11に対応し、
測定文字長取得手段は、文字長候補抽出処理部32に対応し、
文字仮認識手段は、ステップS6を実行する標準文字長算出部33に対応し、
標準文字長決定手段は、標準文字長算出部33に対応し、
文字切出手段は、文字切出処理部34に対応し、
文字認識手段は、文字認識処理部35に対応し、
仮文字長は、切出範囲E1に対応し、
縮小文字長は、切出範囲E2に対応し、
所定誤差は、文字終端許容誤差αに対応し、
所定の範囲は、文字開始端カット範囲βに対応し、
所定の閾値は、基準値に対応し、
文字列取得ステップは、ステップS1に対応し、
測定文字長取得ステップは、ステップS4に対応し、
仮マッチング処理、仮認識、および文字仮認識ステップは、ステップS6に対応し、
標準文字長決定ステップは、ステップS6〜S14に対応し、
第1切出処理は、ステップS16に対応し、
全角文字本マッチング処理は、ステップS17に対応し、
文字切出ステップは、ステップS16,S20に対応し、
文字認識ステップおよび本マッチング処理は、ステップS17,S21に対応し、
第2切出処理は、ステップS20に対応し、
半角文字本マッチグ処理は、ステップS21に対応するが、
この発明は、上述の実施形態の構成のみに限定されるものではなく、多くの実施の形態を得ることができる。
【図面の簡単な説明】
【0096】
【図1】携帯端末の斜視図。
【図2】携帯端末の構成のブロック図。
【図3】文字のマッチングに使用する辞書データの構成図。
【図4】画面表示部に表示する認識画面の画面構成図。
【図5】測定文字長を抽出する仕組みの説明図。
【図6】文字認識機能についてのフローチャート。
【図7】文字認識機能についてのフローチャート。
【図8】標準文字長を決定する過程の説明図。
【図9】切出開始位置から所定の切出範囲の画像を切り出す全角文字切出処理。
【図10】中国にて飲食店メニューなどに用いられる変形文字の説明図。
【符号の説明】
【0097】
1…携帯端末、11…CPU、15…チップ、23…文字認識プログラム、32…文字長候補抽出処理部、33…標準文字長算出部、34…文字切出処理部、35…文字認識処理部、52…射影データ、E1…切出範囲E2…切出範囲、L…測定文字長、La…標準文字長、P…文字列画像、α…文字終端許容誤差、β…文字開始端カット範囲

【特許請求の範囲】
【請求項1】
文字列画像を取得する文字列画像取得手段と、
文字列方向の文字長を測定した測定文字長を前記文字列画像取得手段で取得した文字列画像から複数の文字について取得する測定文字長取得手段と、
取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識手段と、
仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定手段と、
決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出手段と、
切り出した文字を本マッチング処理により本認識する文字認識手段とを備えた
文字認識装置。
【請求項2】
前記仮マッチング処理により仮認識した文字が、前記文字列画像の文字列方向に配置された2つの部品文字を結合してできる1つの結合文字である場合、前記標準文字長決定手段は、前記標準文字長の決定に利用する測定文字長から該結合文字の測定文字長を除外する構成とした
請求項1記載の文字認識装置。
【請求項3】
前記仮マッチング処理により仮認識した文字が、当該文字に対して文字列方向の前後いずれかの文字を結合すると1つの結合文字を形成できる部品文字である場合、前記標準文字長決定手段は、前記標準文字長の決定に利用する測定文字長から該部品文字の測定文字長を除外する構成とした
請求項1または2記載の文字認識装置。
【請求項4】
前記文字切出手段は、
前記文字列画像を文字列方向と垂直な方向に投射した射影データを作成し、該射影データの切れ目あるいは谷から次の切れ目あるいは谷までの仮文字長が前記標準文字長に対して所定誤差内にある文字を切り出す第1切出処理を実行する構成とし、
前記文字認識手段は、前記本マッチング処理として、切り出した文字について全角文字とマッチングする全角文字本マッチング処理を行う構成とし、
該全角文字本マッチング処理でのマッチング信頼度が所定の閾値よりも低い場合、
前記文字切出手段は、前記標準文字長のうち文字列前方から所定の範囲と文字列後方から前記所定誤差を切り落とした縮小文字長内にある文字を切り出す第2切出処理を実行する構成とし、
前記文字認識手段は、前記本マッチング処理として、切り出した文字について半角文字とマッチングする半角文字本マッチグ処理を行う構成とした
請求項1、2、または3記載の文字認識装置。
【請求項5】
前記所定誤差を前記標準文字長の4分の1とした
請求項4記載の文字認識装置。
【請求項6】
前記所定の範囲を前記標準文字長の16分の1とした
請求項4または5記載の文字認識装置。
【請求項7】
文字列画像を文字列画像取得手段により取得する文字列取得ステップと、
文字列方向の文字長を測定した測定文字長を前記文字列画像から複数の文字について取得する測定文字長取得ステップと、
取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識ステップと、
仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定ステップと、
決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出ステップと、
切り出した文字を本マッチング処理により本認識する文字認識ステップとをコンピュータに実行させる
文字認識プログラム。
【請求項8】
文字列画像を文字列画像取得手段により取得する文字列取得ステップと、
文字列方向の文字長を測定した測定文字長を前記文字列画像から複数の文字について取得する測定文字長取得ステップと、
取得した測定文字長内の文字を仮マッチング処理により仮認識する文字仮認識ステップと、
仮認識できた文字の前記測定文字長に基づいて標準文字長を決定する標準文字長決定ステップと、
決定した標準文字長に基づいて前記文字列画像から認識対象の全ての文字を切り出す文字切出ステップと、
切り出した文字を本マッチング処理により本認識する文字認識ステップとを実行する
文字認識方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−44485(P2010−44485A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−206722(P2008−206722)
【出願日】平成20年8月11日(2008.8.11)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】