(57)【要約】  認識処理に要する時間をより短縮することを可能とする画像処理装置、制御方法及び制御プログラムを提供する。画像処理装置は、操作部と、表示部と、入力画像を順次生成する撮像部と、順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出する評価点算出部と、順次生成された入力画像毎に算出された複数の評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を入力画像内の文字として認識する文字認識部と、を有し、文字認識部は、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、複数の文字候補を、評価点に基づく順序で表示部に表示し、表示部に表示されている文字候補の内の一つが、操作部によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。
2019097690.tif 000002
【特許請求の範囲】
【請求項１】
操作部と、
表示部と、
入力画像を順次生成する撮像部と、
前記順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出する評価点算出部と、
前記順次生成された入力画像毎に算出された複数の前記評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を前記入力画像内の文字として認識する文字認識部と、を有し、
前記文字認識部は、
前記評価点の算出処理が開始されてから所定条件が満たされた場合、前記確度が前記閾値以上である文字候補が存在しなくても、前記評価点の算出処理を終了させ、
前記複数の文字候補を、前記評価点に基づく順序で前記表示部に表示し、
前記表示部に表示されている文字候補の内の一つが、前記操作部によってユーザにより指定された場合、前記指定された文字候補を前記入力画像内の文字とする、
ことを特徴とする画像処理装置。
【請求項２】
前記所定条件は、所定時間が経過したこと、又は、所定数の入力画像から文字認識処理を実行したことである、請求項１に記載の画像処理装置。
【請求項３】
前記文字認識部は、前記順次生成された入力画像毎に、前記複数の文字候補の中から前記評価点が最大である文字候補を特定し、所定数の入力画像に対して特定した文字候補の中の最頻値を特定し、前記所定数に対する前記最頻値の発生数の割合を前記最頻値に係る文字候補の前記確度として算出する、請求項１または２に記載の画像処理装置。
【請求項４】
前記評価点算出部は、各入力画像内の文字のグループ毎に、複数の文字候補毎の評価点を算出し、
前記文字認識部は、
各グループ毎に、前記複数の文字候補を切り替え可能に前記表示部に表示し、
前記表示部に表示されている各文字候補が、前記操作部によってユーザにより指定された場合、前記指定された文字候補を組み合わせた文字を、前記入力画像内の文字とする、請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記文字認識部は、前記確度が前記閾値以上である文字候補が存在するグループと、前記確度が前記閾値以上である文字候補が存在しないグループとを識別可能に前記表示部に表示する、請求項４に記載の画像処理装置。
【請求項６】
前記文字認識部は、
前記操作部によってユーザにより前記評価点の算出処理の終了が指示された場合、前記確度が前記閾値以上である文字候補が存在しなくても、前記評価点の算出処理を終了させ、
前記複数の文字候補を切り替え可能に前記表示部に表示し、
前記表示部に表示されている文字候補が、前記操作部によってユーザにより指定された場合、前記指定された文字候補を前記入力画像内の文字とする、請求項１〜５の何れか一項に記載の画像処理装置。
【請求項７】
操作部と、表示部と、入力画像を順次生成する撮像部と、を有する画像処理装置の制御方法であって、
前記順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出し、
前記順次生成された入力画像毎に算出された複数の前記評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を前記入力画像内の文字として認識することを含み、
前記認識において、
前記評価点の算出処理が開始されてから所定条件が満たされた場合、前記確度が前記閾値以上である文字候補が存在しなくても、前記評価点の算出処理を終了させ、
前記複数の文字候補を、前記評価点に基づく順序で前記表示部に表示し、
前記表示部に表示されている文字候補の内の一つが、前記操作部によってユーザにより指定された場合、前記指定された文字候補を前記入力画像内の文字とする、
ことを特徴とする制御方法。
【請求項８】
操作部と、表示部と、入力画像を順次生成する撮像部と、を有する画像処理装置の制御プログラムであって、
前記順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出し、
前記順次生成された入力画像毎に算出された複数の前記評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を前記入力画像内の文字として認識することを前記画像処理装置に実行させ、
前記認識において、
前記評価点の算出処理が開始されてから所定条件が満たされた場合、前記確度が前記閾値以上である文字候補が存在しなくても、前記評価点の算出処理を終了させ、
前記複数の文字候補を、前記評価点に基づく順序で前記表示部に表示し、
前記表示部に表示されている文字候補の内の一つが、前記操作部によってユーザにより指定された場合、前記指定された文字候補を前記入力画像内の文字とする、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、制御方法及び制御プログラムに関し、特に、入力画像内の文字を認識する画像処理装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
工場、家屋等では、設備点検作業において、作業者が電力量等のメータ（装置）から電力量等を示す数値を目視により読み取り、紙の台帳である点検簿に記録している。しかしながら、このような人手による作業では、人為的ミスにより誤った数値が点検簿に記録され、手戻りが発生する可能性があった。このような問題を解消するために、近年、設備点検作業において、カメラでメータを撮影した画像から、コンピュータにより数値等の文字を自動認識する技術が利用されている。【０００３】
カメラで撮影された画像から読み取った読取文字列を表示するコンピュータが開示されている（特許文献１を参照）。このコンピュータは、読取文字列の表示範囲に対する操作を受け付けて、読取文字列中の訂正対象の文字を判別し、訂正対象の文字に対して導出した候補文字を表示する。このコンピュータは、表示された候補文字を承認する操作を受け付けて、読取文字列内の訂正対象の文字を承認された候補文字に置き換える。【０００４】
認識した結果を文字列としてディスプレイに表示する光学式文字読取装置が開示されている（特許文献２を参照）。この光学式文字読取装置は、認識した結果を表示する際に、誤認識された可能性の高い文字に対しては、認識結果を第一候補文字だけでなく、候補文字全てを表示させ、文字列の中に１文字ずつ入れ替えながら表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１７８９５４号公報
【特許文献２】特開平５−２１７０１７号公報
【発明の概要】
【０００６】
入力画像内の文字を認識する画像処理装置では、認識処理に要する時間をより短縮することが望まれている。
【０００７】
画像処理装置、制御方法及び制御プログラムの目的は、認識処理に要する時間をより短縮することにある。
【０００８】
本発明の一側面に係る画像処理装置は、操作部と、表示部と、入力画像を順次生成する撮像部と、順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出する評価点算出部と、順次生成された入力画像毎に算出された複数の評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を入力画像内の文字として認識する文字認識部と、を有し、文字認識部は、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、複数の文字候補を、評価点に基づく順序で表示部に表示し、表示部に表示されている文字候補の内の一つが、操作部によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。
【０００９】
また、本発明の一側面に係る制御方法は、操作部と、表示部と、入力画像を順次生成する撮像部と、を有する画像処理装置の制御方法であって、順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出し、順次生成された入力画像毎に算出された複数の評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を入力画像内の文字として認識することを含み、認識において、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、複数の文字候補を、評価点に基づく順序で表示部に表示し、表示部に表示されている文字候補の内の一つが、操作部によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。
【００１０】
また、本発明の一側面に係る制御プログラムは、操作部と、表示部と、入力画像を順次生成する撮像部と、を有する画像処理装置の制御プログラムであって、順次生成された入力画像毎に、各入力画像内の文字に対する複数の文字候補毎の評価点を算出し、順次生成された入力画像毎に算出された複数の評価点に基づく確度が閾値以上である文字候補が存在する場合、当該文字候補を入力画像内の文字として認識することを画像処理装置に実行させ、認識において、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、複数の文字候補を、評価点に基づく順序で表示部に表示し、表示部に表示されている文字候補の内の一つが、操作部によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。
【００１１】
本実施形態によれば、画像処理装置、制御方法及び制御プログラムは、認識処理に要する時間をより短縮することが可能となる。
【００１２】
本発明の目的及び効果は、特に請求項において指摘される構成要素及び組み合わせを用いることによって認識され且つ得られるだろう。前述の一般的な説明及び後述の詳細な説明の両方は、例示的及び説明的なものであり、特許請求の範囲に記載されている本発明を制限するものではない。
【図面の簡単な説明】
【００１３】
【図１】実施形態に従った画像処理装置１００の概略構成の一例を示す図である。
【図２】記憶装置１１０及びＣＰＵ１２０の概略構成を示す図である。
【図３】全体処理の動作の例を示すフローチャートである。
【図４】判定処理の動作の例を示すフローチャートである。
【図５】入力画像５００の一例を示す図である。
【図６Ａ】文字領域テーブルのデータ構造の一例を示す図である。
【図６Ｂ】文字候補テーブルのデータ構造の一例を示す図である。
【図７】表示処理の動作の例を示すフローチャートである。
【図８Ａ】表示画面８００の一例を示す図である。
【図８Ｂ】文字候補が切り替えられた表示画面８２０の一例を示す図である。
【図９】他の処理回路２３０の概略構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本開示の一側面に係る画像処理装置について図を参照しつつ説明する。但し、本開示の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００１５】
図１は、実施形態に従った画像処理装置１００の概略構成の一例を示す図である。
【００１６】
画像処理装置１００は、タブレットＰＣ、多機能携帯電話（いわゆるスマートフォン）、携帯情報端末、ノートＰＣ等の携帯可能な情報処理装置であり、そのユーザである作業者により使用される。画像処理装置１００は、通信装置１０１と、入力装置１０２と、表示装置１０３と、撮像装置１０４と、記憶装置１１０と、ＣＰＵ（Central Processing Unit）１２０と、処理回路１３０とを有する。以下、画像処理装置１００の各部について詳細に説明する。
【００１７】
通信装置１０１は、主に２．４ＧＨｚ帯、５ＧＨｚ帯等を感受帯域とするアンテナを含む、通信インターフェース回路を有する。通信装置１０１は、アクセスポイント等との間でＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.）８０２．１１規格の無線通信方式に基づいて無線通信を行う。そして、通信装置１０１は、アクセスポイントを介して外部のサーバ装置（不図示）とデータの送受信を行う。通信装置１０１は、アクセスポイントを介してサーバ装置から受信したデータをＣＰＵ１２０に供給し、ＣＰＵ１２０から供給されたデータをアクセスポイントを介してサーバ装置に送信する。なお、通信装置１０１は、外部の装置と通信できるものであればどのようなものであってもよい。例えば、通信装置１０１は、携帯電話通信方式に従って不図示の基地局装置を介してサーバ装置と通信するものでもよいし、有線ＬＡＮ通信方式に従ってサーバ装置と通信するものでもよい。
【００１８】
入力装置１０２は、操作部の一例であり、タッチパネル式の入力装置、キーボード、マウス等の入力デバイス及び入力デバイスから信号を取得するインターフェース回路を有する。入力装置１０２は、ユーザの入力を受け付け、ユーザの入力に応じた信号をＣＰＵ１２０に対して出力する。
【００１９】
表示装置１０３は、表示部の一例であり、液晶、有機ＥＬ（Electro-Luminescence）等から構成されるディスプレイ及びディスプレイに画像データ又は各種の情報を出力するインターフェース回路を有する。表示装置１０３は、ＣＰＵ１２０と接続されて、ＣＰＵ１２０から出力された画像データをディスプレイに表示する。なお、タッチパネルディスプレイを用いて、入力装置１０２と表示装置１０３を一体に構成してもよい。
【００２０】
撮像装置１０４は、１次元又は２次元に配列されたＣＣＤ（Charge Coupled Device）からなる撮像素子を備える縮小光学系タイプの撮像センサと、Ａ／Ｄ変換器とを有する。撮像装置１０４は、撮像部の一例であり、ＣＰＵ１２０からの指示に従ってメータ等を順次撮影して入力画像を順次生成する（例えば３０フレーム／秒）。撮像センサは、撮影したアナログの画像信号を生成してＡ／Ｄ変換器に出力する。Ａ／Ｄ変換器は、出力されたアナログの画像信号をアナログデジタル変換してデジタルの画像データを順次生成し、ＣＰＵ１２０に出力する。なお、ＣＣＤの代わりにＣＭＯＳ（Complementary Metal Oxide Semiconductor）からなる撮像素子を備える等倍光学系タイプのＣＩＳ（Contact Image Sensor）を利用してもよい。以下では、撮像装置１０４により撮影されて出力されたデジタルの画像データを入力画像と称する場合がある。
【００２１】
記憶装置１１０は、記憶部の一例である。記憶装置１１０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶装置１１０には、画像処理装置１００の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばＣＤ−ＲＯＭ（compact disk read only memory）、ＤＶＤ−ＲＯＭ（digital versatile disk read only memory）等のコンピュータ読み取り可能な可搬型記録媒体からインストールされてもよい。コンピュータプログラムは、公知のセットアッププログラム等を用いて記憶装置１１０にインストールされる。また、記憶装置１１０には、各入力画像から検出された文字領域を管理する文字領域テーブル、及び、各文字領域において検出された文字候補を管理する文字候補テーブル等が格納される。各テーブルの詳細については後述する。
【００２２】
ＣＰＵ１２０は、予め記憶装置１１０に記憶されているプログラムに基づいて動作する。ＣＰＵ１２０は、汎用プロセッサであってもよい。なお、ＣＰＵ１２０に代えて、ＤＳＰ（digital signal processor）、ＬＳＩ（large scale integration）等が用いられてよい。また、ＣＰＵ１２０に代えて、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）等が用いられてもよい。
【００２３】
ＣＰＵ１２０は、通信装置１０１、入力装置１０２、表示装置１０３、撮像装置１０４、記憶装置１１０及び処理回路１３０と接続され、これらの各部を制御する。ＣＰＵ１２０は、通信装置１０１を介したデータ送受信制御、入力装置１０２の入力制御、表示装置１０３の表示制御、撮像装置１０４の撮像制御、記憶装置１１０の制御等を行う。ＣＰＵ１２０は、撮像装置１０４により生成された入力画像に写っている（含まれる）文字を認識するとともに、文字候補を表示装置１０３に表示し、表示した文字候補が入力装置１０２によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。
【００２４】
処理回路１３０は、撮像装置１０４から取得した入力画像に補正処理等の所定の画像処理を施す。なお、処理回路１３０として、ＬＳＩ、ＤＳＰ、ＡＳＩＣ又はＦＰＧＡ等が用いられてもよい。
【００２５】
図２は、記憶装置１１０及びＣＰＵ１２０の概略構成を示す図である。
【００２６】
図２に示すように、記憶装置１１０には、画像取得プログラム１１１、評価点算出プログラム１１２及び文字認識プログラム１１３等の各プログラムが記憶される。これらの各プログラムは、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。ＣＰＵ１２０は、記憶装置１１０に記憶された各プログラムを読み取り、読み取った各プログラムに従って動作することにより、画像取得部１２１、評価点算出部１２２及び文字認識部１２３として機能する。
【００２７】
図３は、画像処理装置１００による全体処理の動作の例を示すフローチャートである。
【００２８】
以下、図３に示したフローチャートを参照しつつ、画像処理装置１００による全体処理の動作の例を説明する。なお、以下に説明する動作のフローは、予め記憶装置１１０に記憶されているプログラムに基づき主にＣＰＵ１２０により画像処理装置１００の各要素と協働して実行される。
【００２９】
最初に、画像取得部１２１は、入力装置１０２によってユーザにより撮影の開始を指示する撮影開始指示が入力され、入力装置１０２から撮影開始指示信号を受信すると、撮影開始指示を受け付ける（ステップＳ１０１）。画像取得部１２１は、撮影開始指示を受け付けると、画像処理に用いられる各情報の初期化、及び、撮像装置１０４の撮像サイズ、フォーカス等のパラメータ設定を実行し、撮像装置１０４に文字等を撮影させて入力画像を生成させる。画像取得部１２１は、撮像装置１０４により順次生成された入力画像を記憶装置１１０に順次記憶する。
【００３０】
次に、評価点算出部１２２及び文字認識部１２３は、判定処理を実行する（ステップＳ１０２）。判定処理において、評価点算出部１２２は、撮像装置１０４によって生成された入力画像から文字候補を検出し、文字候補毎の評価点を算出する。また、文字認識部１２３は、評価点に基づく確度が所定閾値以上である文字候補が存在する場合、その文字候補を入力画像内の文字として認識する。文字認識部１２３は、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が所定閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させる。判定処理の詳細については後述する。
【００３１】
次に、文字認識部１２３は、表示処理を実行し（ステップＳ１０３）、一連のステップを終了する。表示処理において、文字認識部１２３は、各文字候補を評価点に基づく順序で表示装置１０３に表示し、表示装置１０３に表示した文字候補が、入力装置１０２によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。表示処理の詳細については後述する。
【００３２】
図４は、判定処理の動作の例を示すフローチャートである。図４に示す動作のフローは、図３に示すフローチャートのステップＳ１０２において実行される。図４のステップＳ２０１〜Ｓ２１３の各処理は、撮像装置１０４により順次生成された各入力画像に対して実行される。
【００３３】
最初に、評価点算出部１２２は、入力画像から文字が写っている文字領域を検出する（ステップＳ２０１）。
【００３４】
評価点算出部１２２は、文字が写っている画像が入力された場合に、画像内の各文字を含む各文字領域の位置情報を出力するように事前学習された識別器により、部分領域を検出する。この識別器は、例えばディープラーニング等により、文字を撮影した複数の画像を用いて事前学習され、予め記憶装置１１０に記憶される。評価点算出部１２２は、入力画像を識別器に入力し、識別器から出力された位置情報を取得することにより文字領域を検出する。
【００３５】
または、評価点算出部１２２は、入力画像内の画素の水平及び垂直方向の両隣の画素又はその画素から所定距離だけ離れた複数の画素の輝度値又は色値（Ｒ値、Ｂ値、Ｇ値）の差の絶対値が閾値を越える場合、その画素をエッジ画素として抽出する。評価点算出部１２２は、抽出した各エッジ画素が他のエッジ画素と連結しているか否かを判定し、連結しているエッジ画素を一つのグループとしてラベリングする。評価点算出部１２２は、抽出したグループの内、最も面積が大きいグループで囲まれる領域の外縁（又は外接矩形）を文字領域として検出する。または、評価点算出部１２２は、公知のＯＣＲ（Optical Character Recognition）技術を利用して入力画像から文字を検出し、文字を検出できた場合、その領域を文字領域として検出してもよい。
【００３６】
図５は、入力画像５００の一例を示す図である。
【００３７】
図５に示すように、この入力画像５００には、複数の文字５０１〜５０９が写っている。なお、入力画像に写っている文字には、数字（５０３〜５０９）又は記号（不図示）等が含まれてもよい。この入力画像５００から、各文字５０１〜５０９を囲む文字領域５１１〜５１８が検出される。なお、図５に示すように、一つの文字領域５１１に複数の文字５０１及び５０２が含まれてもよい。各文字領域は、入力画像内の文字のグループの一例である。
【００３８】
なお、文字（数字）領域がプレート枠に囲まれているメータ等が撮像される場合、評価点算出部１２２は、入力画像からプレート枠を検出し、プレート枠で囲まれた領域を文字領域として検出してもよい。その場合、評価点算出部１２２は、ハフ変換又は最小二乗法等を用いて、抽出した各エッジ画素の近傍を通過する直線を抽出し、抽出した各直線のうち二本ずつが略直交する四本の直線から構成される矩形の内、最も大きい矩形をプレート枠として検出する。
【００３９】
または、評価点算出部１２２は、メータの筐体の色と、プレートの色の違いを利用してプレート枠を検出してもよい。評価点算出部１２２は、各画素の輝度値又は色値が閾値未満であり（黒色を示し）、その画素に右側に隣接する画素又はその画素から右側に所定距離離れた画素の輝度値又は色値が閾値以上である（白色を示す）場合、その画素を左端エッジ画素として抽出する。この閾値は黒色を示す値と白色を示す値の中間の値に設定される。同様に、評価点算出部１２２は、各画素の輝度値又は色値が閾値未満であり、その画素に左側に隣接する画素又はその画素から左側に所定距離離れた画素の輝度値又は色値が閾値以上である場合、その画素を右端エッジ画素として抽出する。同様に、評価点算出部１２２は、各画素の輝度値又は色値が閾値未満であり、その画素に下側に隣接する画素又はその画素から下側に所定距離離れた画素の輝度値又は色値が閾値以上である場合、その画素を上端エッジ画素として抽出する。同様に、評価点算出部１２２は、各画素の輝度値又は色値が閾値未満であり、その画素に上側に隣接する画素又はその画素から上側に所定距離離れた画素の輝度値又は色値が閾値以上である場合、その画素を下端エッジ画素として抽出する。
【００４０】
評価点算出部１２２は、ハフ変換又は最小二乗法等を用いて、抽出した左端エッジ画素、右端エッジ画素、上端エッジ画素及び下端エッジ画素のそれぞれを連結した直線を抽出し、抽出した各直線から構成される矩形をプレート枠として検出する。
【００４１】
次に、評価点算出部１２２は、検出した各文字領域に領域番号を割り当てる（ステップＳ２０２）。評価点算出部１２２は、例えば、最初に生成された入力画像から検出した各文字領域については、重心位置が水平方向の左端側に位置する文字領域から昇順に領域番号を割り当てる（最も左側の文字領域から順に１、２、３、４の領域番号を割り当てる）。一方、評価点算出部１２２は、二番目以降に生成された入力画像から検出した文字領域については、過去に生成された入力画像から検出された文字領域の何れかに対応するか（例えば二つの文字領域の一部が重複しているか）否かを判定する。評価点算出部１２２は、新たに検出した文字領域が過去に検出された文字領域に対応する場合、新たに検出した文字領域に、対応する過去に検出された文字領域に割り当てられた領域番号を割り当てる。一方、評価点算出部１２２は、新たに検出した文字領域が過去に検出された文字領域に対応しない場合、新たに検出した各文字領域に新たな領域番号を割り当てる。
【００４２】
評価点算出部１２２は、検出した各文字領域を文字領域テーブルに記憶する。
【００４３】
図６Ａは、文字領域テーブルのデータ構造の一例を示す図である。
【００４４】
文字領域テーブルには、各文字領域毎に、領域番号及び位置情報等の情報が関連付けて記憶される。領域番号は、各文字領域に割り当てた領域番号である。位置情報は、各文字領域の入力画像における座標等を示す情報であり、位置情報として、例えば左上端の座標と、右下端の座標とが記憶される。
【００４５】
次に、評価点算出部１２２は、検出した各文字領域毎に、各文字領域内の文字に対する複数の文字候補を特定し、特定した複数の文字候補毎の評価点を算出する（ステップＳ２０３）。即ち、評価点算出部１２２は、入力画像内の文字のグループ毎に、複数の文字候補毎の評価点を算出する。
【００４６】
評価点算出部１２２は、文字が写っている画像が入力された場合に、その画像内の文字に対する複数の文字候補を示す情報と、各文字候補毎の評価点を出力するように事前学習された識別器により、各文字候補を特定して各文字候補毎の評価点を算出する。各評価点は、その画像に写っている文字が各文字候補である確率、正確性又は精度等を示す点数であり、画像に写っている文字が各文字候補である可能性が高いほど高くなるように事前学習される。この識別器は、例えばディープラーニング等により、様々な文字を撮影した複数の画像を用いて事前学習され、予め記憶装置１１０に記憶される。評価点算出部１２２は、各文字領域が含まれる画像を識別器に入力し、識別器から出力された文字候補を示す情報と、各文字候補の評価点を取得する。なお、評価点算出部１２２は、公知のＯＣＲ技術を利用して、文字領域に写っている文字候補を特定し、文字候補の評価点を算出してもよい。
【００４７】
評価点算出部１２２は、各文字領域に対して特定した複数の文字候補と、各文字候補の評価点とを関連付けて、文字候補テーブルに記憶する。
【００４８】
図６Ｂは、文字候補テーブルのデータ構造の一例を示す図である。
【００４９】
文字候補テーブルには、各入力画像毎に、各入力画像の識別情報（入力画像ＩＤ）と、各入力画像に含まれる各文字領域に対して特定された複数の文字候補と、各文字候補の評価点とが関連付けて記憶される。各文字領域に対して文字候補が特定されなかった場合、文字候補及び評価点としてブランク（空白）が記憶される。
【００５０】
次に、評価点算出部１２２は、入力画像から一つ以上の文字候補を特定したか否かを判定する（ステップＳ２０４）。
【００５１】
入力画像から文字候補を特定できなかった場合、評価点算出部１２２は、ステップＳ２１２へ処理を移行する。一方、入力画像から一つ以上の文字候補を特定した場合、評価点算出部１２２は、所定数（例えば１０）以上の入力画像に対して文字候補の特定処理が実行されたか否かを判定する（ステップＳ２０５）。
【００５２】
評価点算出部１２２は、まだ所定数以上の入力画像に対して文字候補の特定処理が実行されていない場合、ステップＳ２１２へ処理を移行し、所定数以上の入力画像に対して文字候補の特定処理が実行された場合、ステップＳ２０６へ処理を移行する。ステップＳ２０６〜Ｓ２１０の処理は、検出された文字領域毎に実行される。
【００５３】
所定数以上の入力画像に対して文字候補の特定処理が実行された場合、文字認識部１２３は、特定された各文字候補の確度を算出する（ステップＳ２０６）。確度は、各文字領域にその文字候補が写っている確からしさの度合いを示し、順次生成された入力画像毎に算出された複数の評価点に基づいて算出される。
【００５４】
例えば、文字認識部１２３は、順次生成された入力画像毎に、各文字領域に対して特定された複数の文字候補の中から評価点が最大である文字候補を特定する。そして、文字認識部１２３は、所定数に対する、各文字候補が評価点が最大である文字候補として特定された回数の割合を、各文字候補の確度として算出する。なお、文字認識部１２３は、各文字候補について算出された全ての（又は、直近の所定数の）評価点の平均値を、各文字候補の確度として算出してもよい。
【００５５】
次に、文字認識部１２３は、確度が所定閾値以上である文字候補が存在するか否かを判定する（ステップＳ２０７）。所定閾値は、例えば５０％に設定される。
【００５６】
例えば、文字認識部１２３は、所定数の入力画像に対して特定した文字候補の中の、評価点が最大である文字候補の最頻値を特定する。文字認識部１２３は、直近の所定数の文字候補の中で、評価点が最大である文字候補として最も多く特定された文字候補を最頻値として特定する。文字認識部１２３は、その最頻値に係る文字候補の確度（所定数に対する最頻値の発生数の割合）が所定閾値以上であるか否かにより、確度が所定閾値以上である文字候補が存在するか否かを判定する。
【００５７】
または、文字認識部１２３は、所定数の入力画像に対して特定した文字候補の中で、評価点の平均値が最大である文字候補を特定する。文字認識部１２３は、評価点の平均値が最大である文字候補の確度（評価点の平均値）が所定閾値以上であるか否かにより、確度が所定閾値以上である文字候補が存在するか否かを判定する。
【００５８】
確度が所定閾値以上である文字候補が存在しない場合、文字認識部１２３は、各文字候補はまだ信頼できないとみなして、ステップＳ２０９へ処理を移行する。一方、確度が所定閾値以上である文字候補が存在する場合、文字認識部１２３は、確度が所定閾値以上である文字候補の内、確度が最も高い文字候補を文字領域内の文字として確定させる（認識する）（ステップＳ２０８）。このように、文字認識部１２３は、算出した確度が所定閾値以上である場合に限り文字を確定させるため、認識する文字の信頼性をより高めることが可能となる。
【００５９】
次に、文字認識部１２３は、検出した全ての文字領域に対して処理が完了したか否かを判定する（ステップＳ２０９）。
【００６０】
まだ処理が完了していない文字領域が存在する場合、文字認識部１２３は、ステップＳ２０６へ処理を戻し、ステップＳ２０６〜Ｓ２０９の処理を繰り返す。一方、検出した全ての文字領域に対して処理が完了した場合、文字認識部１２３は、全ての文字領域の文字が確定したか否かを判定する（ステップＳ２１０）。
【００６１】
全ての文字領域の文字が確定した場合、文字認識部１２３は、全ての文字領域のそれぞれについて確定した文字を組み合わせた文字列を、入力画像内の文字として認識し（ステップＳ２１１）、一連のステップを終了する。
【００６２】
このように、文字認識部１２３は、順次生成された各入力画像に写っている文字を文字領域のグループ毎に特定して集計し、集計結果に基づいて、文字を認識する。文字認識部１２３は、特定の文字領域の文字を特定できない入力画像に対しても、他の文字領域の文字を特定して集計に利用するため、より少ない入力画像を用いて精度良く文字を認識することができる。ユーザは、全ての文字を識別可能な入力画像が生成されるまで撮像し続ける必要がなくなるため、画像処理装置１００は、ユーザの利便性を向上させることが可能となる。なお、文字認識部１２３は、順次生成された各入力画像に写っている文字を全文字領域についてまとめて特定して集計し、集計結果に基づいて、文字を認識してもよい。
【００６３】
一方、全ての文字領域の文字がまだ確定していない場合、文字認識部１２３は、評価点の算出処理が開始されてから所定条件が満たされたか否かを判定する（ステップＳ２１２）。
【００６４】
所定条件は、例えば評価点の算出処理が開始されてから所定時間（例えば１秒）が経過したことである。その場合、文字認識部１２３は、ステップＳ２０４において、文字候補が最初に検出されたときに、時間の計測を開始し、所定時間が経過した場合に、所定条件が満たされたと判定する。
【００６５】
また、所定条件は、所定数（例えば３０）の入力画像から文字認識処理を実行したことにしてもよい。その場合、文字認識部１２３は、一つの入力画像に対して、判定処理を実行するたびに、処理数をインクリメントし、処理数が所定数以上になった場合に、所定条件が満たされたと判定する。
【００６６】
また、所定条件は、順次生成された各入力画像（又は入力画像内の文字領域）間の各画素値の差（フレーム間差分値）が上限値以下となったことにしてもよい。その場合、文字認識部１２３は、現在の入力画像と直前に生成された入力画像の全ての画素（又は文字領域内の画素）について、相互に対応する（同一座標の）画素間の差分の絶対値を算出する。文字認識部１２３は、各画素について算出した差分の絶対値の総和が上限値以下となった場合に、所定条件が満たされたと判定する。または、文字認識部１２３は、連続する入力画像の各ペアに対して上記差分の絶対値の総和を算出し、直近の所定数（例えば３０）のペアに対して算出した総和の合計が上限値以下となった場合に、所定条件が満たされたと判定する。
【００６７】
また、所定条件は、最新の入力画像（又は最新の入力画像内の文字領域）が鮮明であることとしてもよい。画像が鮮明であるとは、画像に含まれる文字を認識可能であることを意味し、画像にボケ又はテカリが含まれないことを意味する。逆に、画像が不鮮明であるとは、画像に含まれる文字を認識できないことを意味し、画像にボケ又はテカリが含まれることを意味する。ボケとは、撮像装置１０４の焦点ずれにより、画像内の各画素の輝度値の差が小さくなっている領域、又は、ユーザの手ぶれによって画像内の複数の画素に同一物が写り、画像内の各画素の輝度値の差が小さくなっている領域を意味する。テカリとは、外乱光等の影響により、画像内の所定領域の画素の輝度値が一定の値に飽和（白飛び）している領域を意味する。
【００６８】
文字認識部１２３は、画像が入力された場合に、入力された画像にボケが含まれる度合いを示すボケ度を出力するように事前学習された識別器により、画像にボケが含まれるか否かを判定する。この識別器は、例えばディープラーニング等により、文字を撮影し且つボケが含まれない画像を用いて事前学習され、予め記憶装置１１０に記憶される。なお、この識別器は、文字を撮影し且つボケが含まれる画像をさらに用いて事前学習されていてもよい。文字認識部１２３は、画像を識別器に入力し、識別器から出力されたボケ度が閾値以上であるか否かにより、画像にボケが含まれるか否かを判定する。
【００６９】
または、文字認識部１２３は、画像に含まれる各画素の輝度値のエッジ強度に基づいて、画像にボケが含まれるか否かを判定してもよい。文字認識部１２３は、画像内の画素の水平もしくは垂直方向の両隣の画素又はその画素から所定距離だけ離れた複数の画素の輝度値の差の絶対値を、その画素のエッジ強度として算出する。文字認識部１２３は、画像内の各画素について算出したエッジ強度の平均値が閾値以下であるか否かにより、画像にボケが含まれるか否かを判定する。
【００７０】
または、文字認識部１２３は、画像に含まれる各画素の輝度値の分布に基づいて、画像にボケが含まれるか否かを判定してもよい。文字認識部１２３は、画像内の各画素の輝度値のヒストグラムを生成し、数値（白色）を示す輝度値の範囲と、背景（黒色）を示す輝度値の範囲のそれぞれにおいて極大値を検出し、各極大値の半値幅の平均値を算出する。文字認識部１２３は、算出した各極大値の半値幅の平均値が閾値以上であるか否かにより、画像にボケが含まれるか否かを判定する。
【００７１】
また、文字認識部１２３は、画像が入力された場合に、入力された画像にテカリが含まれる度合いを示すテカリ度を出力するように事前学習された識別器により、画像にテカリが含まれるか否かを判定する。この識別器は、例えばディープラーニング等により、文字を撮影し且つテカリが含まれない画像を用いて事前学習され、予め記憶装置１１０に記憶される。なお、この識別器は、文字を撮影し且つテカリが含まれる画像をさらに用いて事前学習されていてもよい。文字認識部１２３は、画像を識別器に入力し、識別器から出力されたテカリ度が閾値以上であるか否かにより、画像にテカリが含まれるか否かを判定する。
【００７２】
または、文字認識部１２３は、画像に含まれる各画素の輝度値に基づいて、画像にテカリが含まれるか否かを判定してもよい。文字認識部１２３は、画像内の画素の内、輝度値が閾値以上（白色）である画素の数を算出し、算出した数が他の閾値以上であるか否かにより、画像にテカリが含まれるか否かを判定する。
【００７３】
または、文字認識部１２３は、画像に含まれる各画素の輝度値の分布に基づいて、画像にテカリが含まれるか否かを判定してもよい。文字認識部１２３は、画像内の各画素の輝度値のヒストグラムを生成し、閾値以上の領域に分布された画素の数が他の閾値以上であるか否かにより、画像にテカリが含まれるか否かを判定する。
【００７４】
なお、上記した各閾値及び各範囲は、事前の実験により、予め設定される。
【００７５】
所定条件が満たされた場合、文字認識部１２３は、確度が所定閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、一連のステップを終了する。一方、所定条件が満たされていない場合、文字認識部１２３は、入力装置１０２によってユーザにより評価点の算出処理の終了が指示されたか否かを判定する（ステップＳ２１３）。
【００７６】
ユーザにより評価点の算出処理の終了が指示された場合、文字認識部１２３は、確度が所定閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、一連のステップを終了する。一方、ユーザにより評価点の算出処理の終了が指示されていない場合、文字認識部１２３は、処理をステップＳ２０１に戻し、次に生成された入力画像に対して、ステップＳ２０１〜Ｓ２１３の処理を繰り返す。
【００７７】
なお、ステップＳ２０５において、文字認識部１２３は、文字候補の特定処理が実行された入力画像の数が所定数以上でなくても、文字を確定可能な数以上であれば、ステップＳ２０６以降の処理を実行してもよい。例えば、所定数が１０であり且つ所定閾値が５０％である場合、文字候補の特定処理が実行された入力画像の数が６つの時点で、各入力画像について特定された文字が全て同一であれば、その文字は最頻値となり、最頻値の発生数の割合は６０％以上となる。そのような場合、文字認識部１２３は、文字候補の特定処理が実行された入力画像の数が所定数以上でなくても、認識する数値を確定させてもよい。これにより、文字認識部１２３は、判定処理による処理時間を短縮させることが可能となる。
【００７８】
また、文字認識部１２３は、処理対象となる文字領域の文字が既に確定済みである場合、その文字領域について、ステップＳ２０６〜Ｓ２０８の処理を省略してもよい。これにより、文字認識部１２３は、判定処理による処理時間を短縮させることが可能となる。
【００７９】
図７は、表示処理の動作の例を示すフローチャートである。図７に示す動作のフローは、図３に示すフローチャートのステップＳ１０３において実行される。
【００８０】
最初に、文字認識部１２３は、判定処理において各文字領域のグループ毎に特定された複数の文字候補を切り替え可能に表示装置１０３に表示する（ステップＳ３０１）。文字認識部１２３は、まず、各文字領域について、文字候補テーブルを参照して評価点の最も高い文字候補を抽出し、抽出した各文字候補を領域番号の順に並べて表示する。例えば、文字認識部１２３は、全ての（又は、直近の所定数の）評価点の平均値が最も高い文字候補を抽出する。なお、文字認識部１２３は、最新の入力画像から算出された評価点が最も高い文字候補を抽出してもよい。
【００８１】
図８Ａは、表示装置１０３に表示される表示画面８００の一例を示す図である。
【００８２】
図８Ａに示すように、表示画面８００には、入力画像内において重心位置が水平方向の左端側に位置する文字領域から順に、各文字領域において算出された評価点が最も高い各文字候補８０１〜８０８が並べて表示される。表示画面８００に表示された各文字候補８０１〜８０８は、入力装置１０２を用いたユーザにより切り替え可能に表示される。表示画面８００には、各文字候補８０１〜８０８の内、確度が所定閾値未満である文字候補を識別するための記号８０９が表示される。なお、確度が所定閾値未満である文字候補を識別するための表示は、記号８０９に限定されず、警告の画像であればどのようなものでもよい。また、文字認識部１２３は、記号８０９を表示することに代えて又は加えて、各文字候補８０１〜８０８の内、確度が所定閾値未満である文字候補の表示色又は表示サイズ等を、確度が所定閾値以上である文字候補の表示色又は表示サイズ等と異ならせてもよい。
【００８３】
このように、文字認識部１２３は、確度が所定閾値以上である文字候補が存在する文字領域のグループと、確度が所定閾値以上である文字候補が存在しない文字領域のグループとを識別可能に表示装置１０３に表示する。これにより、利用者は、確度が低い文字候補を容易に識別することが可能となり、実際の文字と異なる文字候補が表示されていることに気付き易くなる。
【００８４】
また、表示画面８００には、表示された文字候補を、入力画像内の文字として確定させるための確定ボタン８１０が表示される。
【００８５】
次に、文字認識部１２３は、入力装置１０２によってユーザにより確定ボタン８１０が押下され、確定指示が入力されたか否かを判定する（ステップＳ３０２）。
【００８６】
確定指示が入力されていない場合、文字認識部１２３は、入力装置１０２によってユーザにより各文字候補８０１〜８０８が押下され、修正指示が入力されたか否かを判定する（ステップＳ３０３）。
【００８７】
修正指示が入力されていない場合、文字認識部１２３は、ステップＳ３０２へ処理を戻し、再度、確定指示が入力されたか否かを判定する。一方、修正指示が入力された場合、文字認識部１２３は、押下された文字候補を次の文字候補に切り替え（ステップＳ３０４）、ステップＳ３０２へ処理を戻す。文字認識部１２３は、対応する文字領域について、文字候補テーブルを参照して、現在表示されている文字候補の次に評価点が高い文字候補を抽出し、現在表示されている文字候補を、抽出した文字候補に変更する。なお、評価点が最も低い文字候補が表示されている場合、文字認識部１２３は、評価点が最も高い文字候補を抽出する。
【００８８】
図８Ｂは、文字候補が切り替えられた表示画面８２０の一例を示す図である。
【００８９】
図８Ｂに示す例では、表示画面８２０において、表示画面８００に表示された文字候補８０８がユーザにより押下され、文字候補８０８が、文字候補８０８の次に評価点が高い文字候補８２８に切り替えて表示されている。
【００９０】
なお、表示画面８００、８２０において、現在表示されている各文字候補に対応付けて、現在表示されている各文字候補の次に評価点が高い文字候補、又は、評価点が高い順に所定数（例えば２つ）の文字候補が表示されてもよい。これにより、利用者は、各文字候補を指定した場合に次に表示される文字候補を事前に認識できるため、正解である文字候補までの切り替えをより容易に行うことが可能となる。
【００９１】
このように、文字認識部１２３は、複数の文字候補を、評価点に基づく順序で表示装置１０３に表示する。評価点に基づく順序で文字候補が表示されることにより、最初に表示される文字候補が正解である可能性が高く、ユーザによる文字の修正が不要となる可能性が高いため、結果として認識処理に要する時間を短縮することが可能となる。また、ユーザは、誤った文字候補を押下（指定）するだけで、その文字候補を次に正解である可能性が高い文字候補に切り替えていくことができ、容易且つ短時間に文字候補を切り替えることが可能となる。これにより、画像処理装置１００は、ユーザの利便性を向上させることが可能となる。
【００９２】
一方、ステップＳ３０２において確定指示が入力された場合、文字認識部１２３は、現在表示画面８００に表示されている文字候補の組合せを、入力画像内の文字として確定（認識）し（ステップＳ３０５）、一連のステップを終了する。このように、文字認識部１２３は、表示装置１０３に表示されている文字候補の内の一つが、入力装置１０２によってユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。特に、文字認識部１２３は、表示装置１０３に表示されている各文字候補が、入力装置１０２によってユーザにより指定された場合、指定された文字候補を組み合わせた文字を入力画像内の文字とする。
【００９３】
なお、文字認識部１２３は、認識した文字を通信装置１０１を介してサーバ装置に送信してもよい。
【００９４】
また、文字認識部１２３は、表示画面８００において、ステップＳ２０８で文字領域内の文字を確定させた文字領域については、確定させた文字を表示し、ユーザによる変更指示を受け付けないようにしてもよい。
【００９５】
また、画像処理装置１００は、撮像装置１０４が入力画像を生成したタイミングにあわせてリアルタイムに判定処理及び表示処理を実行するのではなく、撮像装置１０４が入力画像を生成したタイミングとは非同期に判定処理及び表示処理を実行してもよい。
【００９６】
以上詳述したように、図３、４及び７に示したフローチャートに従って動作することによって、画像処理装置１００は、認識処理に要する時間をより短縮することが可能となった。
【００９７】
例えば、画像処理装置１００がハンドヘルドメータ等を撮影する場合、利用者は一方の手でメータを保持しながら、他方の手で画像処理装置１００を保持するため、腕が震えて入力画像がぶれてしまう可能性がある。また、高所に設置されたメータを撮影する場合、利用者は腕を伸ばして画像処理装置１００を保持するため、腕が震えて入力画像がぶれてしまう可能性がある。また、雨天時にメータを撮影する場合、入力画像に外乱（ノイズ）が発生する可能性がある。これらの場合、入力画像が不鮮明となり、正しい文字（数値）を読み取るまでに多大な時間を要する。画像処理装置１００は、所定条件が満たされた場合には、確度が所定閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させる。そして、画像処理装置１００は、各文字候補を、評価点に基づく順序で表示し、各文字候補がユーザにより指定された場合、指定された文字候補を入力画像内の文字とする。これにより、画像処理装置１００は、認識処理に要する時間を短縮することが可能となる。
【００９８】
図９は、他の実施形態に係る画像処理装置における処理回路２３０の概略構成を示すブロック図である。
【００９９】
処理回路２３０は、画像処理装置１００の処理回路１３０の代わりに用いられ、ＣＰＵ１２０の代わりに、全体処理を実行する。処理回路２３０は、画像取得回路２３１、評価点算出回路２３２及び文字認識回路２３３等を有する。
【０１００】
画像取得回路２３１は、画像取得部の一例であり、画像取得部１２１と同様の機能を有する。画像取得回路２３１は、撮像装置１０４から入力画像を順次取得し、評価点算出回路２３２及び文字認識回路２３３に送信する。
【０１０１】
評価点算出回路２３２は、評価点算出部の一例であり、評価点算出部１２２と同様の機能を有する。評価点算出回路２３２は、各入力画像内の文字に対する複数の文字候補を特定し、文字候補毎の評価点を算出して、記憶装置１１０に記憶する。
【０１０２】
文字認識回路２３３は、文字認識部の一例であり、文字認識部１２３と同様の機能を有する。文字認識回路２３３は、文字候補毎の確度を算出し、確度が所定閾値以上である文字候補が存在する場合、その文字候補を入力画像内の文字として認識する。また、文字認識回路２３３は、評価点の算出処理が開始されてから所定条件が満たされた場合、確度が所定閾値以上である文字候補が存在しなくても、評価点の算出処理を終了させ、複数の文字候補を評価点に基づく順序で表示装置１０３に表示する。また、文字認識回路２３３は、入力装置１０２から表示装置１０３に表示されている文字候補の修正指示を受信した場合、指定された文字候補を入力画像内の文字とする。
【０１０３】
以上詳述したように、画像処理装置１００は、処理回路２３０を用いる場合においても、認識処理に要する時間をより短縮することが可能となった。
【０１０４】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、判定処理で使用される各識別器は、記憶装置１１０に記憶されているのではなく、サーバ装置等の外部装置に記憶されていてもよい。その場合、評価点算出部１２２及び文字認識部１２３は、通信装置１０１を介してサーバ装置に、各画像を送信し、サーバ装置から各識別器が出力する識別結果を受信して取得する。
【０１０５】
また、画像処理装置１００は、携帯可能な情報処理装置に限定されず、例えば、メータ等を撮像可能に設置された定点カメラ等でもよい。
【符号の説明】
【０１０６】
１００    画像処理装置
１０２    入力装置
１０３    表示装置
１０４    撮像装置
１２２    評価点算出部
１２３    文字認識部
【図１】
2019097690.tif 000003
【図２】
2019097690.tif 000004
【図３】
2019097690.tif 000005
【図４】
2019097690.tif 000006
【図５】
2019097690.tif 000007
【図６Ａ】
2019097690.tif 000008
【図６Ｂ】
2019097690.tif 000009
【図７】
2019097690.tif 000010
【図８Ａ】
2019097690.tif 000011
【図８Ｂ】
2019097690.tif 000012
【図９】
2019097690.tif 000013
【国際調査報告】
2019097690.tif 000014
2019097690.tif 000015