(57)【要約】【課題】  文字のアウトラインを正確に検出するのが困難な画像に対しても、文字認識処理の精度を向上させる。【解決手段】  認識対象画像に対して、探索領域を設定し、前記探索領域内の複数カ所に、切り出し領域を設定し、前記設定された前記複数の切り出し領域それぞれに対応する画像を抽出し、当該抽出した各画像と辞書データとの比較により求められる各候補文字の類似度に対して、各切り出し領域の位置に応じた重み付けを行うことにより、各候補文字についての評価値を求め、当該求められた候補文字の中から評価値の最も高い候補文字を認識結果として出力する。さらに、その認識結果に対応する切り出し領域の位置情報に基づいて、次の文字に関する探索領域を設定する。【選択図】  図１５
2018088116.tif 000002
【特許請求の範囲】
【請求項１】
認識対象画像に対して、探索領域を設定する第１の設定手段と、
前記探索領域内の複数カ所に、切り出し領域を設定する第２の設定手段と、
前記第２の設定手段によって設定された前記複数の切り出し領域それぞれに対応する画像を抽出し、当該抽出した各画像と辞書データとの比較により求められる各候補文字の類似度に対して、各切り出し領域の位置に応じた重み付けを行うことにより、各候補文字についての評価値を求め、当該求められた候補文字の中から評価値の最も高い候補文字を認識結果として出力する文字検出手段と、を有し、
前記第１の設定手段が、さらに、前記文字検出手段で出力された前記認識結果に対応する切り出し領域の位置情報に基づいて、次の文字に関する探索領域を設定することにより、前記第２の設定手段と前記文字検出手段とによる処理が繰り返し実行されることを特徴とする情報処理装置。
【請求項２】
前記文字検出手段は、他の文字の認識結果として出力された切り出し領域の位置に基づいて近似直線を求め、各切り出し領域の位置と当該求めた近似直線との距離に基づいて前記重み付けを行うことにより、各候補文字についての評価値を求めることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文字検出手段は、前記近似直線を求める際に使用した前記他の文字の認識結果の数に応じて、前記重み付けの値を変更することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記文字認識手段により前記認識対象画像におけるすべての文字を検出した後、前記近似直線が水平になるように前記認識対象画像を回転する補正手段を更に有し、
前記補正手段によって補正された後の前記認識対象画像に対して、再度、前記第１の設定手段と前記第２の設定手段と前記文字検出手段とによる処理が実行されることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
コンピュータを、請求項１乃至４のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項６】
認識対象画像に対して、探索領域を設定する第１の設定ステップと、
前記探索領域内の複数カ所に、切り出し領域を設定する第２の設定ステップと、
前記第２の設定ステップで設定された前記複数の切り出し領域それぞれに対応する画像を抽出し、当該抽出した各画像と辞書データとの比較により求められる各候補文字の類似度に対して、各切り出し領域の位置に応じた重み付けを行うことにより、各候補文字についての評価値を求め、当該求められた候補文字の中から評価値の最も高い候補文字を認識結果として出力する文字検出ステップと、を有し、
前記第１の設定ステップで、さらに、前記文字検出ステップで出力された前記認識結果に対応する切り出し領域の位置情報に基づいて、次の文字に関する探索領域を設定することにより、前記第２の設定ステップと前記文字検出ステップとによる処理が繰り返し実行されることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識処理に関する。
【背景技術】
【０００２】
従来、紙面上の文字に対する認識処理は、文字のアウトライン（輪郭）を検出して、文字画像の位置を特定し、更に、水平または垂直方向の文字行を認識する。そして、当該認識した文字行の傾きを補正した後、一文字ごとに文字画像の切り出しを行い、切り出した文字画像に対して、何の文字であるかを識別する処理を行っていた。そのため、文字の切り出し位置が誤っていると、正しい文字が認識されない。
【０００３】
特許文献１では、切り出した文字の文字配置ピッチ（文字矩形間距離と中心線距離情報）を求め、平均値から大きく相違する不規則な文字配置ピッチが生じた箇所を文字切り出し誤りとして検出する技術が提示されている。
【０００４】
また、近年、スマートフォンやデジタルカメラなどの普及により、文字情報を含む画像情報が手軽に取れるようになってきた。これによって、より多種多様な観測環境から、文字を取り込む大きな市場が開けつつある。例えば、鉱山などの採石現場では、ダンプトラックに使用されているタイヤを管理するために、タイヤに刻印されたシリアルナンバーを用いるというユースケースがある。そこで、タイヤに刻印されたシリアルナンバーをスマートフォンやデジタルカメラなどで撮影し、撮影した画像に対して文字認識処理を行い、その文字認識結果のシリアルナンバーを用いて管理することが考えられる。しかしながら、タイヤに刻印されたシリアルナンバーなどの場合、文字とその背景のコントラストが小さかったり、表面に汚れが多くあったりするなど、紙面上の文字を認識する場合とは、前提条件が大きく異なる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−４６７２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
文字とその背景のコントラストが小さかったり、表面に汚れが多くあったりする場合、文字のアウトラインの検出精度が低いので、アウトラインに基づいて文字行を正確に検出することが難しい。加えて、スマートフォンなどで撮影した画像は、フラットベッドスキャナーで原稿をスキャンする場合に比べて、被写体が傾いて撮影されている可能性も高い。被写体が傾いた画像に対して、傾きを考慮せずに文字認識を行った場合には認識精度も悪化してしまう。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、認識対象画像に対して、探索領域を設定する第１の設定手段と、前記探索領域内の複数カ所に、切り出し領域を設定する第２の設定手段と、前記第２の設定手段によって設定された前記複数の切り出し領域それぞれに対応する画像を抽出し、当該抽出した各画像と辞書データとの比較により求められる各候補文字の類似度に対して、各切り出し領域の位置に応じた重み付けを行うことにより、各候補文字についての評価値を求め、当該求められた候補文字の中から評価値の最も高い候補文字を認識結果として出力する文字検出手段と、を有し、前記第１の設定手段が、さらに、前記文字検出手段で出力された前記認識結果に対応する切り出し領域の位置情報に基づいて、次の文字に関する探索領域を設定することにより、前記第２の設定手段と前記文字検出手段とによる処理が繰り返し実行されることを特徴とする。
【発明の効果】
【０００８】
文字があると推定される探索領域内で位置をずらしながら複数の領域を切り出し、当該切り出した複数の領域に基づいて文字認識処理を適用し、且つ、切り出した領域の位置に応じた重み付けを行って評価値を算出することで、文字認識処理の精度を向上できる。
【図面の簡単な説明】
【０００９】
【図１】モバイル端末の外観の一例
【図２】ハードウェア構成の一例
【図３】モバイル端末１００におけるソフトウェアの構成の一例
【図４】文字画像情報（辞書データ）の一例
【図５】文字認識処理の概念図
【図６】評価値算出処理の概念図
【図７】認識結果の表示画面例
【図８】認識対象画像の一例
【図９】切り出し領域候補を示す例
【図１０】認識結果を示す例
【図１１】文字画像情報（辞書データ）のデータ構造の一例
【図１２】文字認識結果のデータ構造の一例
【図１３】文字認識処理の詳細を示すフローチャート
【図１４】文字検出処理の詳細を示すフローチャート
【図１５】文字認識の処理の詳細を示すフローチャート
【図１６】認識対象画像の回転を示す一例
【図１７】実施例２の文字認識の処理の詳細を示すフローチャート
【発明を実施するための形態】
【００１０】
（実施例１）
本実施形態に係る情報処理装置の一例として、モバイル端末（携帯端末）を例に説明する。モバイル端末は、無線通信機能などを用いて外部と通信可能な端末である。
【００１１】
図１は、モバイル端末１００（モバイル端末の前面１０１と背面１０３）の外観と、被写体１０５となるタイヤを示す図である。モバイル端末前面部１０１には、タッチパネルディスプレイ１０２が備えられ、表示とタッチ操作入力との２つの機能を有する。モバイル端末背面部１０３には、被写体を撮影して画像を取り込むためのカメラユニット１０４が備えられる。本実施形態では、モバイル端末１００のユーザは、モバイル端末のＣＰＵにより動作するモバイルアプリ（詳細は後述）を利用して、被写体１０５を撮影し、文字認識処理を実行させることができる。被写体１０５は、タイヤの例である。タイヤのシリアルＩＤ（シリアルナンバーもしくはセリアルナンバーともいう）が記載されている部分を、モバイル端末のカメラユニットを用いて撮影することにより、撮影画像１０６を取得することができる。シリアルＩＤ１０７はタイヤに刻印されたシリアルナンバーを示しており、タイヤを一意に識別するためのＩＤである。
【００１２】
なお、本実施形態では、被写体１０５としてタイヤを例にして説明するが、被写体はタイヤに限るものではない。後述のモバイルアプリは、被写体１０５の画像を取り込み、タッチパネル１０２にその画像を出力することができる。
【００１３】
図２は、モバイル端末１００のハードウェアの構成の一例を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、各種のプログラムを実行することによって様々な機能を実現する処理ユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、各種の情報の記憶や、ＣＰＵ２０１の一時的な作業記憶領域として利用されるユニットである。不揮発性メモリ（例えばＲＯＭ）２０３は、各種のプログラムやデータ等を記憶するユニットである。ＣＰＵ２０１は、不揮発性メモリ２０３に記憶されているプログラムをＲＡＭ２０２にロードしてプログラムを実行する。すなわち、モバイル端末のＣＰＵ（コンピュータ）は、該プログラムを実行することにより、図３で説明するような各処理部として機能し、後述するシーケンスの各ステップを実行する。なお、不揮発性メモリ２０３は、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）などであってもよい。なお、モバイル端末１００の各機能ならびに後述するシーケンスに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０４は、タッチパネル１０２とデータを送受信する。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０５は、モバイル端末１００をネットワーク（不図示）に接続するためのユニットである。カメラインターフェース２０６は、カメラユニット１０４と接続し、被写体１０５の画像をモバイル端末１００に取り込む。上述したユニットは、バス２０７を介してデータの送受信を行うことができる。
【００１４】
次に、モバイル端末１００におけるソフトウェア構成について説明する。図３は、モバイル端末１００のソフトウェア構成の一例を示す概念図である。モバイル端末のＣＰＵは、モバイルアプリ（モバイル端末用のアプリケーションプログラム）３０２を実行することにより、各処理部（各処理モジュール）３０３〜３０８として機能する。また、モバイル端末１００のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（不図示）は、画像管理部３０１として機能する。
【００１５】
画像管理部３０１は、画像やアプリケーションデータを管理する。ＯＳは、データ管理部３０１を利用するための制御ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  ＰｒｏｇｒａｍｍｉｎｇＩｎｔｅｒｆａｃｅ）を提供している。各アプリケーションは、その制御ＡＰＩを利用することでデータ管理部３０１に対し、画像やアプリケーションデータの取得処理や保存処理を行う。
【００１６】
モバイルアプリ３０２は、モバイル端末１００のＯＳのインストール機能を利用して、ダウンロードしインストールすることにより実行可能なアプリケーションである。モバイルアプリ３０２は、カメラインターフェース２０６を介して取り込んだ被写体１０５の画像に対する各種のデータ処理を行う。
【００１７】
メイン制御部３０３は、後述する各モジュール部（３０３〜３０８）に対する指示及び管理を行う。
【００１８】
情報表示部３０４は、メイン制御部３０３からの指示に従い、図７に示すようなモバイルアプリ３０２のユーザインタフェース（ＵＩ）をタッチパネルに表示するように制御する。
【００１９】
図７は、モバイルアプリ３０２のＵＩ（携帯端末用のＵＩ）の画面（モバイル端末画面７００）の一例を示す図である。モバイル端末画面７００は、モバイル端末１００のタッチパネル１０２に表示される。モバイル端末画面７００は、領域７０１にカメラ１０４を用いて取り込んだ画像を表示し、また、画像やＵＩ等に対するユーザによる操作（ユーザ操作）を受け付ける。シャッターボタン７０２は、カメラユニットから入力された画像を、ＲＡＭ２０２やデータ管理部３０１に保存するためのボタンであり、以下では、保存された画像を撮影画像と呼ぶこととする。ズームボタン７０３は、表示画像の拡縮を行うためのボタンである。７０４〜７０７は、認識対象を撮影すべき位置の目安となるガイドである。ユーザは、認識対象のシリアルＩＤ１０７を４つのガイドによって囲まれる矩形の領域内に収まるように撮影位置を調整してタイヤを撮影する。７０８は、シリアルＩＤ１０７の文字認識結果を表示するための表示領域である。認識結果が誤っている場合、ユーザは、認識結果表示領域７０８の中の修正対象文字をタッチして、認識結果の修正を行う。
【００２０】
なお、モバイルアプリ３０２のＵＩの形態（位置、大きさ、範囲、配置、表示内容など）は、図に示す形態に限定されるものではなく、モバイル端末１００の機能を実現することができる適宜の構成を採用することができる。
【００２１】
再び図３に戻って各モジュールの説明を行う。操作情報取得部３０５は、モバイルアプリのＵＩ上で為されたユーザ操作に関する情報を取得し、当該取得した情報をメイン制御部３０３に通知する。例えば、領域７０１をユーザが手で触れると、操作情報取得部３０５は、触れられた画面上の位置の情報を感知し、感知した位置の情報をメイン制御部３０３に送信する。
【００２２】
画像処理部３０６は、カメラモユニット２０６を介して取り込んだ被写体１０５の撮影画像に対して、グレイスケール変換やエッジ抽出、特徴量抽出といった文字認識を行うために必要な画像処理を行う。
【００２３】
文字認識部３０７は、画像処理部３０６で処理した画像から文字が記載されていると推定される領域を複数切り出し、各領域の画像を比較対象の文字画像情報（辞書データ）と比較して、最も類似する文字を判別する。
【００２４】
文字画像管理部３０８は、文字認識部３０７が文字の認識を行う際に、比較対象として使用する文字画像情報（いわゆる文字認識辞書の辞書データとして使用される情報）を管理する。図４は、文字認識部３０７が、画像から文字を認識する際に、比較対象として使用する文字画像情報の例である。文字画像情報は、認識対象のタイヤで使用されている文字の種類それぞれについて用意する。文字画像情報４０１〜４１０は、数字の画像の例であるが、本実施例の認識対象であるタイヤのシリアルＩＤ１０７は、数字に加えて大文字のアルファベットの文字画像（不図示）を含むものとする。
【００２５】
なお、当該文字画像管理部で管理される文字画像情報（辞書データ）は、タイヤに刻印されている文字のフォントに基づいて作成された各文字の特徴を示す特徴情報であってもよいし、各文字の画像そのものであってもよい。どのような辞書データを用いるかは、認識対象の画像と辞書データとを照合する際に用いるアルゴリズムに応じたものとすればよい。
【００２６】
図５は、本実施例における文字認識処理について説明した図である。認識対象画像５０１は、カメラユニット１０４およびカメラインターフェース２０６を介して取り込んだ被写体１０５の画像の一部を切り出した画像である。図７で説明したように、ユーザは、モバイルアプリ３０２のＵＩに提示されたガイド（図７の７０４〜７０７）に、シリアルＩＤ１０７がちょうど納まるように撮影位置を調整してタイヤを撮影する。モバイルアプリ３０２は、撮影された画像から、ガイドで囲まれた部分の画像を切り出して、認識対象画像５０１とする。
【００２７】
なお、タイヤのシリアルＩＤ１０７は、メーカーごとにフォーマットが決まっており、本実施例では、桁数は９桁で、数字と大文字のアルファベットで構成されるものとして説明する。
【００２８】
タイヤに刻印されているシリアルＩＤなどを撮影した画像は、文字と背景のコントラストが小さかったり、タイヤ（被写体）の表面に汚れがあったりするので、文字のアウトラインを正確に検出することが困難な画像である。したがって、文字のアウトラインに基づいて文字を切り出す従来の技術を適用すると、文字の切り出し位置を誤る可能性が高く、その結果文字認識処理の精度が悪くなってしまう。そのため、本発明では、まず、文字が存在すると考えられる領域を探索領域として設定し、当該設定された探索領域内で、位置とサイズとを変えながら複数の切り出し領域を設定して複数の領域画像の切り出しを繰り返す。なお、図中の矢印は、複数の領域画像の切り出しを繰り返すことを表している。そして、切り出した複数の領域画像それぞれと辞書データ（文字画像管理部で管理される比較対象の文字画像情報）とを比較して、各領域画像に対する文字認識結果とその評価値とを求める。評価値の求め方の詳細については後述する。その後、それらの結果の中から最も評価値が高い文字認識結果とその文字認識結果を得るのに用いた切り出し領域とを、その探索領域における認識結果とする。そして、その認識結果の切り出し領域の位置をもとに、次の文字に対する探索領域を設定し、同様の処理を繰り返す。本実施例においては、認識対象画像５０１に含まれる９桁のシリアルＩＤ１０７を、１桁目（左端の文字）から順に認識していく。
【００２９】
１桁目の文字の探索領域５０２は、ガイド７０４〜７０７に基づいて切り出された認識対象画像５０１の左端から所定座標離れた位置に設定される。この最初の探索領域５０２の位置は、ガイドに収まるように撮影した場合に左端の文字が存在する可能性が高い領域として予め設定しておくものとする。そして、探索領域５０２内に切り出し領域５０５を設定して、その切り出し領域５０５の画像を抽出し、１桁目に出現する可能性のある文字に関する辞書データと比較して、辞書データに含まれる各文字との間の類似度を求め、評価値を算出する。また、切り出し領域５０５は、探索領域５０２内で水平方向（ｘ軸方向）と垂直方向（ｙ軸方向）のそれぞれをずらした複数の位置に設定され、それぞれの位置の切り出し領域の画像について辞書データと比較して類似度を求め、評価値を算出する。すなわち、探索領域５０２全体を網羅するように所定サイズの切り出し領域を複数カ所に設定して、それぞれの位置の切り出し領域の画像について辞書データとの比較を行う。その後、さらに、切り出し領域５０５の幅と高さを変更して、再度、探索領域５０２全体を網羅するように複数カ所に切り出し領域を設定して画像データを抽出して辞書データとの比較を行う。例えば、切り出し領域５０５の幅を３パターン、高さを２パターン変更する場合、切り出し領域５０５のサイズは、全部で３×２＝６パターンとなる。また、切り出し領域５０５を、水平方向に４回、垂直方向に４回スライドさせた位置それぞれに設定した場合、探索領域５０２に対して、切り出し領域５０５を（４＋１）×（４＋１）＝２５カ所に設定することになる。切り出し領域のサイズ変更が６パターンで、設定する位置が２５カ所であるので、トータルで６×２５＝１５０回、探索領域５０２から切り出し領域の画像を切り出すことになる。そして、画像を切り出すたびに、１桁目に出現する可能性のある文字の辞書データ（比較対象の文字画像情報）と比較し、それぞれの文字に対する類似度を求め、評価値を算出する。
【００３０】
すべての切り出し領域の画像を評価した結果のうち、最も評価値が高かった文字を１桁目の認識結果として確定するとともに、その最も評価値が高かったときの切り出し領域の位置を１桁目の文字の位置とする。５０４は、評価値が最も高かった「Ｂ」が１桁目の文字の認識結果として確定され、そのときの切り出し位置を示すものである。
【００３１】
その後、次の隣接する文字（左から２番目の文字）の探索領域５０３を設定する。探索領域５０３は、１桁目の認識結果の位置５０４からの相対位置で設定される。２桁目の文字についても、１桁目の場合と同様に、探索領域５０３内で複数の切り出し領域５０６を設定してそれぞれについて評価を行い、最も評価値の高い文字を決定していく。３桁目以降も、同様に、探索領域の設定と、切り出し領域の設定と、辞書データとの類似比較とを順次行って、認識結果の文字を確定させていく。
【００３２】
なお、撮影時に左右にずれて撮影されることも考慮し、１桁目の文字に対する探索領域５０２はやや広めにとるのが望ましい。一方、文字間のスペースは被写体の文字列に応じて予め決まっているので、２桁目以降の文字に対する探索領域５０３は、探索領域５０２より狭めに設定してもよい。
【００３３】
図６は、本実施例における評価値の算出方法について説明した図である。６０１は、認識対象画像である。６０２は、１桁目から４桁目までの認識結果の切り出し領域を示している。６０４、６０５は、５桁目の文字について切り出し領域として設定した複数の領域のうち、辞書データと比較したときの類似度が高かった切り出し領域の候補を示している。なお、切り出し領域６０２の内部に図示した黒点は、各切り出し領域の中心点を示している。６０３は、切り出し領域６０２それぞれの中心点の座標に基づいて直線近似処理を行うことよって算出した近似直線を示している。本実施形態では、各切り出し領域候補と辞書データとを比較することによって求められるそれぞれの類似度に対して、各切り出し領域候補と近似直線との距離に応じた重み付けを行って、評価値を算出する。このとき、近似直線との距離が近い切り出し領域候補の方の類似度に対する重み付けを大きくする。切り出し領域候補６０５の中心点の座標と近似直線６０３との距離は、切り出し領域候補６０４の中心点の座標と近似直線６０３との距離よりも近いので、切り出し領域候補６０５に対する重みを切り出し領域候補６０４に対する重みより大きくする。したがって、複数の切り出し領域候補について辞書データとの類似度の値が同じであったとしても、近似直線との距離に基づいて重み付けを行って評価値を求めるので、近似直線に近い切り出し領域候補の方の評価値が高くなる。
【００３４】
図８は、図７のモバイル端末画面６００で撮影された認識対象画像の例である。この例では、認識対象画像８０１に写っているシリアルＩＤ１０７は、モバイル端末画面６００に対して傾いた状態で撮影されている。また、認識対象画像８０１に写っているシリアルＩＤ１０７は、左から８番目の文字「９」が不鮮明で、文字の下半分がかすれているものとする。
【００３５】
図９は、図８のシリアルＩＤ１０７の文字認識処理における８桁目の切り出し領域の候補を示した図である。９０１は、８桁目の文字の探索領域を表している。９０２は、７桁目までの文字の認識結果として求められた各切り出し領域に基づいて計算された近似直線を示している。
【００３６】
９１１は、探索領域９０１において設定された複数の切り出し領域のうち、辞書データ（文字画像情報４０１）と比較した結果の類似度が最も高かった切り出し領域の候補を示している。９１２は、文字画像情報４０１と切り出し領域９０２の画像を比較した結果の類似度の値である。９１３は、切り出し領域９１１の中心点と近似直線９０２の距離を示している。９１４は、類似度の値９１２に、距離９１３に基づく重みを掛けた結果の評価値である。
【００３７】
また、９２１は、探索領域９０１において設定された複数の切り出し領域のうち、辞書データの文字画像情報４１０と比較した結果の類似度が最も高かった切り出し領域の候補を示している。９２２は、文字画像情報４１０と切り出し領域９２１の画像とを比較した結果の類似度の値である。９２３は、切り出し領域９２１の中心点と近似直線９０２の距離を示している。９２４は、類似度の値９２２に、距離９２３に基づく重みを掛けた結果の評価値である。
【００３８】
なお、探索領域９０１における複数の切り出し領域のうち、文字画像情報４０１と４１０以外の文字画像情報と比較した場合の類似度と距離とに基づいて求められた評価値は、評価値９１４や９２４よりも小さかったため、説明を省略する。
【００３９】
図９の例において、類似度の値は、文字画像情報４０１の方が高いが、近似直線との距離に基づく重みを付けた評価値は、文字画像情報４１０のほうが高い。したがって、切り出し領域９２１および文字画像情報４１０が、探索領域９０１に対する文字認識結果となる。
【００４０】
本実施例において、評価値は、重みｗを類似度に乗算して算出するものとする。ここで、重みｗは、近似直線との距離ｄの指数関数ｗ＝ａｄ（例えばａの値は０．９５）によって算出するものとする。ただし、重みの付け方は、これに限るものではなく、近似直線との距離が近い方が大きくなるようにすればよい。
【００４１】
図１０は、図８の認識対象画像７０１に対して、本発明の文字認識処理を実施した結果を示した図である。１００１、１００２はそれぞれ、文字認識処理を行った結果の切り出し領域と認識結果を表している。
【００４２】
図１１は、文字画像管理部３０８で管理する文字画像情報（辞書データ）のデータ構造の一例である。文字画像情報リストは、複数の文字画像情報を含む。文字画像情報（文字認識辞書の辞書データ）は、各文字の文字情報（キャラクターコード）と、各文字の文字画像から抽出した特徴情報を含む。各文字の特徴情報は、例えば、ＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量を使用すればよいが、その他の特徴量であっても構わない。
【００４３】
図１２は、文字認識部３０７により実行された文字認識処理の結果情報のデータ構造の一例である。認識結果情報は、複数の認識結果文字情報を含む。認識結果文字情報は、文字単位の認識結果に対応し、１つの認識結果文字情報に対して複数の候補文字情報を含む。本実施例のシリアルＩＤ１０７は９桁なので、認識結果情報は各桁に対応する９つの認識結果文字情報を含む。また、各候補文字情報は、矩形情報（各候補文字に対応する切り出し領域の位置とサイズ）と、文字情報（キャラクターコード）と、評価値とを含む。評価値は、図１１の文字画像情報の特徴情報と、切り出し領域で切り出した画像から抽出した特徴情報とを比較した結果の相関係数（類似度）に、近似直線との距離に応じた重みを付けて算出する。
【００４４】
図１３は、モバイルアプリ３０２の文字認識部３０７が、タイヤを撮影した後に実行する文字認識処理の詳細を示すフローチャートである。
【００４５】
ステップＳ１３０１で、文字認識部３０７は、ガイドに基づいて撮影画像から切り出された認識対象画像５０１に対して、１桁目の文字の探索領域（図５の５０２）を設定する。
【００４６】
ステップＳ１３０２で、文字認識部３０７は、探索領域の画像を切り出す。
【００４７】
ステップＳ１３０３で、文字認識部３０７は、切り出した探索領域の画像に対して、切り出し領域の設定と、辞書データとの類似比較とを順次行って、切り出し領域の位置とそれぞれの位置における候補文字とを検出する（文字検出処理）。なお、ステップＳ１３０３の処理の詳細は、図１４を用いて後述する。
【００４８】
ステップＳ１３０４で、最後の桁（９桁目）の文字かどうかを判断し、最後の桁の文字と判断した場合は、ステップＳ１３０７に進む。最後の桁の文字でないと判断した場合、ステップＳ１３０５に進む。
【００４９】
テップＳ１３０５で、文字認識部３０７は、図１２で示した認識結果文字情報から、評価値の最も高い候補文字情報を検索し、矩形情報（その候補文字情報に対応する切り出し領域の位置情報）を取得する。
【００５０】
ステップＳ１３０６で、ステップＳ１３０５で取得した矩形情報に基づいて、次の桁の探索領域を設定し、ステップＳ１３０２に進む。
【００５１】
ステップＳ１３０７で、文字認識部３０７は、情報表示部３０４を介して、認識結果を画面の認識結果表示領域６０８に表示して終了する。
【００５２】
図１４は、図１３のステップＳ１３０３の文字検出処理の詳細を示すフローチャートである。特に、切り出し領域のサイズを変えながら、探索領域内の複数の位置に切り出し領域を設定して認識処理を行う処理の詳細を示すものである。
【００５３】
ステップＳＳ１４０１で、文字認識部３０７は、切り出し領域（図５の５０５、５０６）の幅を、最小値に設定し、ステップＳ１４０２に進む。
【００５４】
ステップＳ１４０２で、切り出し領域の幅が所定の最大値を超えたかどうかを判断する。切り出し領域の幅が最大値を超えたと判断された場合は終了する。切り出し領域の幅が最大値を超えていないと判断された場合は、ステップＳＳ１４０３で、切り出し領域の高さを、最小値に設定し、ステップＳ１４０４に進む。
【００５５】
ステップＳ１４０４で、切り出し領域の高さが所定の最大値を超えたかどうかを判断する。切り出し領域の高さが最大値を超えたと判断された場合は、ステップＳ１４１３で、切り出し領域の幅を所定量大きくして、ステップＳ１４０２に進む。ステップＳ１４０４で、切り出し領域の高さが最大値を超えていないと判断された場合は、ステップＳＳ１４０５に進む。
【００５６】
ステップＳ１４０５で、文字認識部３０７は、切り出し領域の左端のｘ座標を、初期値（探索領域の左端のｘ座標）に設定し、ステップＳ１４０６に進む。ステップＳ１４０６で、切り出し領域の右端のｘ座標が、探索領域の右端のｘ座標を超えたかどうかを判断する。切り出し領域の右端のｘ座標が、探索領域の右端のｘ座標を超えたと判断された場合は、ステップＳ１４１２で、切り出し領域の高さを所定量大きくして、ステップＳ１４０４に進む。ステップＳ１４０６で、切り出し領域の右端のｘ座標が、探索領域の右端のｘ座標を超えていないと判断された場合は、ステップＳＳ１４０７で、切り出し領域の上端のｙ座標を、初期値（探索領域の上端のｙ座標）に設定し、ステップＳ１４０８に進む。
【００５７】
ステップＳ１４０８で、切り出し領域の下端のｙ座標が、探索領域の下端のｙ座標を超えたかどうかを判断する。切り出し領域の下端のｙ座標が、探索領域の下端のｙ座標を超えたと判断された場合は、ステップＳ１４１１で、切り出し領域をｘ軸方向にスライド（ｘ座標を大きく）して、ステップＳ１４０６に進む。ステップＳ１４０８で、切り出し領域の下端のｙ座標が、探索領域の下端のｙ座標を超えていないと判断された場合は、ステップＳ１４０９で当該切り出し領域の画像に対して文字画像情報（辞書データ）との比較処理（文字認識処理）を行う。ステップＳ１４０９の処理の詳細は図１５で説明する。ステップＳ１４１０で、切り出し領域をｙ軸方向にスライド（ｙ座標を大きく）して、ステップＳ１４０８に進む。
【００５８】
図１５は、図１４のステップＳ１４０９の文字認識の処理の詳細なフローチャートである。
【００５９】
ステップＳ１５０１で、文字認識部３０７は、切り出し領域（図５の５０５、５０６）の画像を切り出し、ステップＳ１５０２で、画像処理部３０６は、当該切り出した画像から特徴情報（ＨＯＧ特徴量）を抽出する。
【００６０】
ステップＳ１５０３で、文字認識部３０７は、３桁目以上の文字認識処理かどうかを判断する。具体的には、図１２の認識結果情報に含まれる認識結果文字情報の数が２以上かどうかで判断する。ステップＳ１５０３で３桁目以上でないと判断した場合（すなわち、１桁目または２桁目の文字であると判断した場合）、ステップＳ１５０７へ進む。ステップＳ１５０３で３桁目以上であると判断された場合、ステップＳ１５０４で近似直線を計算する。具体的には、図１２の認識結果情報に含まれる桁ごとの認識結果文字情報に対して、各認識結果文字情報に含まれる最も評価値の高い候補文字情報の矩形情報を取得し、近似直線を計算する。近似直線を計算する方法としては、例えば、矩形情報から中心点の座標を計算し、各桁の中心点の座標から最小二乗法を用いて近似直線を計算する。つまり、ｎ桁目の文字認識処理の場合、ｎ−１桁目までの認識処理結果の各桁の切り出し領域の中心点の座標に基づいて近似直線を計算する。
【００６１】
ステップＳ１５０５で、文字認識部３０７は、ステップＳ１５０４で計算した近似直線と、ステップＳ１５０１で画像を切り出した際の切り出し位置の中心点の座標との距離を算出する。
【００６２】
なお、本実施例では、切り出し領域の矩形情報の中心点の座標を使用して近似直線を求め、更に、切り出し領域の中心点と近似直線との距離を求めているが、近似直線および距離の算出はこれに限るものではない。例えば、切り出し領域矩形の左上や右下の頂点の座標を使用して近似直線および距離を求めてもよい。
【００６３】
ステップＳ１５０６で、ステップＳ１５０５で算出した距離に基づいて重みを算出する。重みの算出には、距離が小さいほど重みが大きく、距離が大きいほど重みが小さくなるような計算式を使用する。例えば、指数関数ｗ＝ａｄを用いた場合、０＜ａ＜１の条件を満たす定数ａに対して、変数ｄに距離を代入すると、重みｗが算出される。
【００６４】
なお、距離に基づく重みは、近似直線を計算する際に使用する点の数（すなわち、認識結果の文字の数）に応じて、距離に基づく重み付けの影響度（比重）を変えてもよい。指数関数の例で言えば、近似直線を計算する際に使用する点の数が多くなるにつれて、定数ａの値を小さくする。定数ａの値が小さくなればなるほど、近似直線からの距離に応じた重み付けの影響が大きくなる。
【００６５】
ステップＳ１５０７で、文字認識部３０７は、図１１で示した文字画像情報リストの先頭の文字画像情報（辞書データ）を取得する。
【００６６】
ステップＳ１５０８で、当該取得した文字画像情報に含まれる特徴情報と、ステップＳ１５０２で抽出した特徴情報とを比較して、相関係数（類似度）を求める。
【００６７】
ステップＳ１５０９で、ステップＳ１５０８で求めた相関係数（類似度）と、ステップＳ１５０６で算出した重みとを乗算することにより算出した重み付け相関係数（重み付け類似度）を、評価値として求める。なお、１〜２桁目の文字に関しては、重みｗ＝１として評価値を求める。すなわち、１〜２桁目の文字に関しては、ステップＳ１５０８で求めた相関係数（類似度）をそのまま評価値として用いる。
【００６８】
ステップＳ１５１０で、文字認識部３０７は、図１２で示した候補文字情報を作成し、ステップＳ１５０９で算出した評価値を設定する。このとき、候補文字情報の文字情報（キャラクターコード）には、文字画像情報の文字情報、矩形情報には、切り出し領域の位置とサイズを設定する。
【００６９】
ステップＳ１５１２で、文字認識部３０７は、処理中の桁の文字に関して、（図１２で示した）認識結果文字情報の候補文字情報を検索し、ステップＳ１５１０で作成した候補文字情報と、文字情報が一致する候補文字情報がすでに存在するかどうかを判断する。ステップＳ１５１３で、文字情報が一致する候補文字情報が存在しないと判断された場合は、ステップＳ１５１５に進む。文字情報が一致する候補文字情報がすでに存在すると判断された場合は、ステップＳ１５１３に進む。
【００７０】
ステップＳ１５１３で、文字認識部３０７は、ステップＳ１５１０で作成した候補文字情報の評価値の方が、既に存在する候補文字情報の評価値より高いかどうかを判断する。ステップＳ１５１０で作成した候補文字情報の評価値の方が高いと判断されなかった場合は、ステップＳ１５１６に進む。
【００７１】
一方、ステップＳ１５１０で作成した候補文字情報の方が高いと判断された場合は、ステップＳ１５１４に進んで、格納されている認識結果文字情報の候補文字情報を削除する。そして、ステップＳ１５１５で、ステップＳ１５１０で作成した候補文字情報を、認識結果文字情報に格納し、ステップＳ１５１６へ進む。
【００７２】
ステップＳ１５１６で、文字画像情報リストの最後かどうかを判断し、最後でないと判断された場合は、ステップＳ１５１７で、文字画像情報リストの次の文字画像情報を取得する。ステップＳ１５１６で、文字画像情報リストの最後と判断された場合は終了する。
【００７３】
以上述べたように、本実施例では、切り出し領域の画像を辞書データと比較することにより求められる類似度に対して、切り出し領域の位置と近似直線との距離に応じた重みを掛けることによって、評価値を求めるようにしている。したがって、類似度の値が近い複数の切り出し領域候補があった場合、近似直線との距離がより近い切り出し領域候補が認識結果として選択されることになる。文字があると推定される探索領域内で位置をずらしながら複数の領域を切り出し、当該切り出した複数の領域に基づいて文字認識処理を適用する文字認識方法において、切り出した領域の位置に応じた重み付けを行って評価値を算出することで、文字認識処理の精度が向上する。
【００７４】
（実施例２）
実施例２では、実施例１で説明した文字認識処理を実行した後、すべての桁の切り出し領域から近似直線を計算し、近似直線が水平になるように画像を回転してから、再度、文字認識処理を行う。これにより、より精度の高い認識結果を得ることができる。なぜなら、傾いた状態の画像に対して、（傾いていない状態の）文字画像情報と特徴量の比較を行うより、傾きを補正した画像に対して特徴量の比較を行ったほうが類似度をより正確に判定できるためである。
【００７５】
図１６は、図１０の認識結果に基づいて近似直線を求め、その近似直線に基づいて補正した画像を示している。１６０１は、切り出し領域１００１から計算された近似直線を示している。１６０２は、近似直線１６０１が水平になるように認識対象画像８０１を回転した結果の画像である。本実施例では、傾き補正した後の画像１６０２に対して、再度、文字認識処理を行う。
【００７６】
図１７は、本実施例において、タイヤを撮影した後に実行する文字認識処理の詳細を示すフローチャートである。ステップＳ１７０１〜Ｓ１７０６、および、ステップＳ１７０９〜Ｓ１７１４の処理は、実施例１の図１３のフローチャートのステップＳ１３０１〜Ｓ１３０６の処理と同様である。また、ステップＳ１７１５の処理は、ステップＳ１３０７の処理と同様である。ステップＳ１７０７で、文字認識部３０７は、Ｓ１７０１〜Ｓ１７０６の処理により求められた認識結果の切り出し領域の位置（矩形情報）に基づいて近似直線を計算する。ステップＳ１７０８で、文字認識部３０７は、当該計算した近似直線が水平になるように、認識対象画像を回転して傾き補正を実行する。その後、傾き補正した後の画像に対して、ステップＳ１７０９〜Ｓ１７１５の処理を実行する。
【００７７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018088116.tif 000003
【図２】
2018088116.tif 000004
【図３】
2018088116.tif 000005
【図４】
2018088116.tif 000006
【図５】
2018088116.tif 000007
【図６】
2018088116.tif 000008
【図７】
2018088116.tif 000009
【図８】
2018088116.tif 000010
【図９】
2018088116.tif 000011
【図１０】
2018088116.tif 000012
【図１１】
2018088116.tif 000013
【図１２】
2018088116.tif 000014
【図１３】
2018088116.tif 000015
【図１４】
2018088116.tif 000016
【図１５】
2018088116.tif 000017
【図１６】
2018088116.tif 000018
【図１７】
2018088116.tif 000019