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