(57)【要約】【課題】予め定めた参照リストを用いなくても、精度良く画像に含まれる文字列を特定することができる。【解決手段】情報処理装置１０は、ＯＣＲ処理によって画像から認識された文字列を取得する取得部２２と、取得部２２で取得された文字列から、正規表現で表された抽出パターンを用いて文字列候補を抽出する抽出部２４と、ＯＣＲ処理が誤認識する誤認識パターンを用いて文字列候補を修正する修正部２６と、正規表現を用いて、修正部２６で修正された文字列候補の中から特定した文字列候補を出力する出力部２８と、を備える。【選択図】図２
2020123273.tif 000002
【特許請求の範囲】
【請求項１】
文字認識処理によって画像から認識された文字列を取得する取得部と、
前記取得部で取得された文字列から、正規表現で表された抽出パターンを用いて文字列候補を抽出する抽出部と、
前記文字認識処理が誤認識する誤認識パターンを用いて前記文字列候補を修正する修正部と、
前記正規表現を用いて、前記修正部で修正された文字列候補の中から特定した文字列候補を出力する出力部と、
を備えた情報処理装置。
【請求項２】
前記抽出部は、前記誤認識パターンを用いて前記正規表現を修正した修正正規表現で表された修正抽出パターンを用いて前記文字列候補を抽出する
請求項１記載の情報処理装置。
【請求項３】
前記取得部は前記画像を取得し、
前記修正部は、特定の文字を対象として前記画像の文字認識処理を行う文字認識処理部と、
前記文字認識処理部により認識された文字列候補と同型の文字列候補である誤認識文字列候補を生成する生成部と、
を含み、
前記出力部は、前記誤認識文字列候補の中から特定した文字列候補を出力する
請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記生成部は、ユーザーによって指定された誤認識パターンを用いて生成した文字列を前記誤認識文字列候補に追加する
請求項３記載の情報処理装置。
【請求項５】
前記生成部は、前記抽出パターンで表される文字列候補を除いて前記誤認識文字列候補を生成する
請求項３又は請求項４記載の情報処理装置。
【請求項６】
前記文字認識処理部は、文字認識の精度を表すスコアを算出し、
前記出力部は、前記スコアが予め定めた閾値以上の場合に、前記特定した文字列候補を出力する
請求項３〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記文字認識処理部は、文字認識の精度を表すスコアを算出し、
前記出力部は、前記スコアが予め定めた閾値未満の場合に、前記特定した文字列候補を推定文字列候補として出力する
請求項３〜５の何れか１項に記載の情報処理装置。
【請求項８】
前記文字認識処理部は、文字認識の精度を表すスコアを算出し、
前記出力部は、前記スコアが予め定めた閾値以上で且つ前記特定した文字列候補が複数の場合に、複数の前記特定した文字列候補を推定文字列候補として出力する
請求項３〜５の何れか１項に記載の情報処理装置。
【請求項９】
前記文字認識処理部により文字認識された文字列から必要な文字列である必要文字列を抽出する必要文字列抽出部を更に備え、
前記生成部は、前記必要文字列抽出部により抽出された前記必要文字列と同型の文字列候補である誤認識文字列候補を生成する
請求項３〜５の何れか１項に記載の情報処理装置。
【請求項１０】
前記出力部は、前記正規表現で表される文字列に前記修正部で修正された文字列候補が存在しない場合、前記正規表現で表される文字列のうち、前記修正部で修正された文字列候補に近い文字列を推定文字列候補として出力する
請求項１〜５の何れか１項に記載の情報処理装置。
【請求項１１】
前記出力部は、前記正規表現で表される文字列のうち、前記修正部で修正された文字列候補と異なる文字の数が最も少ない文字列を推定文字列候補として出力する
請求項１０記載の情報処理装置。
【請求項１２】
コンピュータを、請求項１〜１１の何れか１項に記載の情報処理装置の各部として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、情報を複数保持する情報保持手段中から所定の情報を検索する情報検索装置において、文書画像入力手段と、文字認識手段と、文字認識の確信度から正規化レベルを決定する手段と、前記正規化レベルに基づき代表文字に置き換える正規化手段と、前記情報保持手段中から類似したテキストを含む情報を検索する検索手段と、前記検索結果を出力する検索結果出力手段とを備えたことを特徴とする情報検索装置が開示されている。
【０００３】
特許文献２には、文字列から所与の辞書に含まれる特定用語を検索する情報処理装置であって、ｎ−ｇｒａｍ方式を利用して前記所与の辞書に対して前記文字列の部分文字列の検索を行い、前記所与の辞書から該文字列に含まれる１以上の特定用語候補を抽出する抽出手段と、前記１以上の特定用語候補の各々に対して、ＤＰマッチング方式を利用して特定用語候補と該特定用語候補に対応する前記文字列内の部分文字列との編集距離を導出する導出手段と、前記編集距離が所定の閾値より短い前記１以上の特定用語候補に対応する前記文字列内の部分文字列を出力する出力手段と、を有することを特徴とする情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２３４１５号公報
【特許文献２】特開２０１８−８１４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、予め定めた参照リストを用いなくても、精度良く画像に含まれる文字列を特定することができる情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１態様に係る情報処理装置は、文字認識処理によって画像から認識された文字列を取得する取得部と、前記取得部で取得された文字列から、正規表現で表された抽出パターンを用いて文字列候補を抽出する抽出部と、前記文字認識処理が誤認識する誤認識パターンを用いて前記文字列候補を修正する修正部と、前記正規表現を用いて、前記修正部で修正された文字列候補の中から特定した文字列候補を出力する出力部と、を備える。
【０００７】
第２態様に係る情報処理装置は、第１態様に係る情報処理装置において、前記抽出部は、前記誤認識パターンを用いて前記正規表現を修正した修正正規表現で表された修正抽出パターンを用いて前記文字列候補を抽出する。
【０００８】
第３態様に係る情報処理装置は、第１態様又は第２態様に係る情報処理装置において、前記取得部は前記画像を取得し、前記修正部は、特定の文字を対象として前記画像の文字認識処理を行う文字認識処理部と、前記文字認識処理部により認識された文字列と同型の文字列候補である誤認識文字列候補を生成する生成部と、を含み、前記出力部は、前記誤認識文字列候補の中から特定した文字列候補を出力する。
【０００９】
第４態様に係る情報処理装置は、第３態様に係る情報処理装置において、前記生成部は、ユーザーによって指定された誤認識パターンを用いて生成した文字列を前記誤認識文字列候補に追加する。
【００１０】
第５態様に係る情報処理装置は、第３態様又は第４態様に係る情報処理装置において、前記生成部は、前記抽出パターンで表される文字列候補を除いて前記誤認識文字列候補を生成する。
【００１１】
第６態様に係る情報処理装置は、第３〜第５態様の何れかの態様に係る情報処理装置において、前記文字認識処理部は、文字認識の精度を表すスコアを算出し、前記出力部は、前記スコアが予め定めた閾値以上の場合に、前記特定した文字列候補を出力する。
【００１２】
第７態様に係る情報処理装置は、第３〜第５態様の何れかの態様に係る情報処理装置において、前記文字認識処理部は、文字認識の精度を表すスコアを算出し、前記出力部は、前記スコアが予め定めた閾値未満の場合に、前記特定した文字列候補を推定文字列候補として出力する。
【００１３】
第８態様に係る情報処理装置は、第３〜第５態様の何れかの態様に係る情報処理装置において、前記文字認識処理部は、文字認識の精度を表すスコアを算出し、前記出力部は、前記スコアが予め定めた閾値以上で且つ前記特定した文字列候補が複数の場合に、複数の前記特定した文字列候補を推定文字列候補として出力する。
【００１４】
第９態様に係る情報処理装置は、第３〜第５態様の何れかの態様に係る情報処理装置において、前記文字認識処理部により文字認識された文字列から必要な文字列である必要文字列を抽出する必要文字列抽出部を更に備え、前記生成部は、前記必要文字列抽出部により抽出された前記必要文字列と同型の文字列候補である誤認識文字列候補を生成する。
【００１５】
第１０態様に係る情報処理装置は、第１〜第５態様の何れかの態様に係る情報処理装置において、前記出力部は、前記正規表現で表される文字列に前記修正部で修正された文字列候補が存在しない場合、前記正規表現で表される文字列のうち、前記修正部で修正された文字列候補に近い文字列を推定文字列候補として出力する。
【００１６】
第１１態様に係る情報処理装置は、第１０態様に係る情報処理装置において、前記出力部は、前記正規表現で表される文字列のうち、前記修正部で修正された文字列候補と異なる文字の数が最も少ない文字列を推定文字列候補として出力する。
【００１７】
第１２態様に係る情報処理プログラムは、コンピュータを、第１〜第１１態様の何れか１つの態様に記載の情報処理装置の各部として機能させるための情報処理プログラムである。
【発明の効果】
【００１８】
第１及び第１２態様によれば、予め定めた参照リストを用いなくても、精度良く画像に含まれる文字列を特定することができる、という効果を有する。
【００１９】
第２態様によれば、誤認識パターンを用いて正規表現を修正した修正正規表現で表された修正抽出パターンを用いずに文字列候補を抽出する場合と比較して、本来抽出すべき文字列の一部の文字が誤認識された文字列も抽出することができる、という効果を有する。
【００２０】
第３態様によれば、誤認識文字列候補を生成しない場合と比較して、精度良く画像に含まれる文字列を特定することができる、という効果を有する。
【００２１】
第４態様によれば、ユーザーによって指定された誤認識パターンを用いずに誤認識文字列候補を生成する場合と比較して、精度良く画像に含まれる文字列を特定することができる、という効果を有する。
【００２２】
第５態様によれば、抽出パターンで表される文字列候補を除かずに誤認識文字列候補を生成する場合と比較して、画像に含まれる文字列を特定するまでの時間を短縮することができる、という効果を有する。
【００２３】
第６態様によれば、文字認識の精度を表すスコアに関係なく特定した文字列候補を出力する場合と比較して、特定した文字列候補が出力されたことについての信頼性が高まる、という効果を有する。
【００２４】
第７態様によれば、文字認識の精度を表すスコアに関係なく特定した文字列候補を推定文字列候補として出力する場合と比較して、推定文字列候補として出力されたことについての信頼性が高まる、という効果を有する。
【００２５】
第８態様によれば、文字認識の精度を表すスコアに関係なく複数の特定した文字列候補を推定文字列候補として出力する場合と比較して、複数の推定文字列候補として出力されたことについての信頼性が高まる、という効果を有する。
【００２６】
第９態様によれば、文字認識された文字列から必要文字列を抽出せずに誤認識文字列候補を生成する場合と比較して、適切に誤認識文字列候補を生成することができる、という効果を有する。
【００２７】
第１０態様によれば、正規表現で表される文字列に文字列候補が存在しない場合に何も出力しない場合と比較して、画像に含まれる可能性のある文字列を把握することができる、という効果を有する。
【００２８】
第１１態様によれば、正規表現で表される文字列と文字列候補との異なる文字の数に関係なく推定文字列候補を特定する場合と比較して、推定文字列候補の信頼性が高まる、という効果を有する。
【図面の簡単な説明】
【００２９】
【図１】画像形成装置の構成図である。
【図２】第１実施形態に係るＣＰＵの機能ブロック図である。
【図３】第１実施形態に係る情報処理のフローチャートである。
【図４】図面を読み取った画像の一例を示す図である。
【図５】再認識処理の対象となる領域について説明するための図である。
【図６】誤認識文字情報の一例を示す図である。
【図７】誤認識パターン情報の一例を示す図である。
【図８】第２実施形態に係るＣＰＵの機能ブロック図である。
【図９】第２実施形態に係る情報処理のフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
【００３１】
（第１実施形態）
【００３２】
図１は、本実施形態に係る画像形成装置１の構成図である。図１に示すように、画像形成装置１は、スキャナ部２、画像形成部３、操作部４、表示部５、通信部６、記憶部７、及び情報処理装置１０を備える。なお、図１では、用紙等の記録媒体を供給する供給機構、記録媒体を搬送する搬送機構、記録媒体を排出する排出機構等の図示を省略している。
【００３３】
画像形成装置１は、原稿を読み取るスキャン機能、原稿を複写するコピー機能、印刷データを印刷する印刷機能、原稿をファクシミリ送信するファクシミリ送信機能等の複数の機能を有する複合機として機能する。
【００３４】
スキャナ部２は、画像が形成された紙等の記録媒体を光学的に読み取って読み取り画像を生成し、情報処理装置１０に出力する。
【００３５】
画像形成部３は、例えば電子写真方式又はインクジェット記録方式等により紙等の記録媒体に画像を形成する機能を有し、情報処理装置１０からの指示により画像を記録媒体に形成する。
【００３６】
操作部４は、各種操作を受け付ける操作キーを含んで構成される。
【００３７】
表示部５は、液晶ディスプレイ等で構成され、例えば画面に指等で触れることで各種操作を受け付けるタッチパネルで構成される。
【００３８】
通信部６は、外部装置等とデータ通信を行うためのインターフェースである。
【００３９】
記憶部７は、ハードディスク等の不揮発性の記憶装置で構成され、後述する情報処理プログラム等を記憶する。
【００４０】
情報処理装置１０は、ＣＰＵ（Central Processing Unit）１０Ａ、ＲＯＭ（Read Only Memory）１０Ｂ、ＲＡＭ（Random Access Memory）１０Ｃ、不揮発性メモリ１０Ｄ、及び入出力インターフェース（Ｉ／Ｏ）１０Ｅを備える。そして、ＣＰＵ１０Ａ、ＲＯＭ１０Ｂ、ＲＡＭ１０Ｃ、不揮発性メモリ１０Ｄ、及びＩ／Ｏ１０Ｅがバス１０Ｆを介して各々接続されている。Ｉ／Ｏ１０Ｅには、スキャナ部２、画像形成部３、操作部４、表示部５、通信部６、記憶部７が接続されている。ＣＰＵ１０Ａは、記憶部７に記憶された情報処理プログラムを読み込んで実行する。
【００４１】
画像形成装置１は、前述したコピー機能等の複合機の基本機能の他に、図面情報抽出機能を有する。図面情報抽出機能は、製造業及び設備・建設業等で使用する図面を読み取り、読み取った図面の画像から、図面に記載されている指定の文字列を図面情報として抽出する機能である。図面に記載されている指定の文字列には、例えば品番、品名、及び版等を含む基本属性、図面に表された製品のスペックを表すスペック情報、材料情報、設計標準書番号等の各種情報を表す文字列が含まれる。図面から抽出した図面情報は、紙等の記録媒体に印刷したり、データファイルとして記憶部７に記憶したり、通信部６を介して外部装置に送信したり、表示部５に表示したりする。
【００４２】
図面情報抽出機能が利用されるケースとしては以下のようなケースが挙げられる。例えば図面に記載された文字列が或る技術標準に基づいて記載されている場合において、技術標準が更新されて図面に記載された文字列を修正する必要がある場合に、旧技術標準で記載された文字列を含む図面を探す場合等である。
【００４３】
以下、画像形成装置１が図面情報抽出機能を実行する場合におけるＣＰＵ１０Ａの機能構成について説明する。
【００４４】
図２に示すように、ＣＰＵ１０Ａは、機能的には、ＯＣＲ処理部２０、取得部２２、抽出部２４、修正部２６、及び出力部２８を備える。
【００４５】
ＯＣＲ処理部２０は、スキャナ部２が原稿から読み取った画像に対して文字認識処理、すなわちＯＣＲ（Optical Character Recognition）処理を実行し、読み取った画像に含まれる文字列を取得部２２に出力する。なお、ＯＣＲ処理部２０が実行するＯＣＲ処理は、一例としてルールベースのＯＣＲ処理である。すなわち、予め定めた規則に基づいて、読み取った画像に含まれる文字列を全て抽出する。
【００４６】
取得部２２は、ＯＣＲ処理部２０のＯＣＲ処理によって画像から認識された文字列を取得する。取得部２２は、取得した文字列を修正部２６へ出力する。
【００４７】
抽出部２４は、取得部２２で取得された文字列から、正規表現で表された抽出パターンを用いて文字列候補を抽出する。なお、ＯＣＲ処理部２０によるＯＣＲ処理によって認識された文字列には、誤認識された文字が含まれる場合が多い。このため、抽出部２４は、ＯＣＲ処理部２０のＯＣＲ処理で誤認識する誤認識パターンを用いて修正された修正正規表現で表された抽出パターンを用いて文字列候補を抽出する。
【００４８】
修正部２６は、ＯＣＲ処理が誤認識する誤認識パターンを用いて、抽出部２４が抽出した文字列候補を修正する。
【００４９】
具体的には、修正部２６は、再認識処理部３０及び生成部３２を備える。
【００５０】
再認識処理部３０は、特定の文字を対象として画像のＯＣＲ処理を再度行う。再認識処理部３０は、例えばニューラルネットワーク等の機械学習を用いて画像のＯＣＲ処理を実行する。なお、再認識処理部３０は、文字認識処理部の一例である。
【００５１】
生成部３２は、再認識処理部３０により認識された文字列候補と同型の文字列候補である誤認識文字列候補を生成する。例えば、誤認識パターンを用いて正規表現を修正した修正正規表現で表された修正抽出パターンを用いて誤認識文字列候補を生成する。
【００５２】
ここで、誤認識文字列候補とは、再認識処理部３０により認識された文字列候補であって、認識された文字と同型であり認識が難しい文字列候補、又は、再認識処理部３０により認識された文字列であって、認識された文字が誤っている可能性の高い文字列候補である。なお、以下では、再認識処理部３０により認識された文字列も誤認識文字列候補に含まれるものとする。
【００５３】
出力部２８は、正規表現を用いて、修正部２６で修正された文字列候補、すなわち生成部３２で生成された誤認識文字列候補の中から特定した文字列候補を出力する。
【００５４】
次に、図３を参照して、本実施の形態に係る情報処理装置１０の作用を説明する。図２に示すように、情報処理プログラム４０は記憶部７に記憶されている。ＣＰＵ１０Ａが情報処理プログラム４０を読み出して実行することにより、図３に示す情報処理が実行される。なお、図３に示す情報処理は、例えば、ユーザーがスキャナ部２に図面をセットし、操作部４を操作して図面情報抽出処理の実行を指示した場合に実行される。
【００５５】
ステップＳ１００では、ＣＰＵ１０Ａが、スキャナ部２に図面の読み取りを指示し、スキャナ部２が読み取った図面の画像を取得する。
【００５６】
ステップＳ１０２では、ＣＰＵ１０Ａが、ステップＳ１００で取得した画像に対してルールベースのＯＣＲ処理を実行する。これにより、読み取った画像に含まれる全ての文字列が取得される。また、読み取った画像に含まれる全ての文字列の位置、すなわち画像の中の座標も取得される。ＯＣＲ処理により認識された文字列は、例えばＸＭＬ形式の文字列として得られるが、文字列の形式はＸＭＬ形式に限られるものではない。
【００５７】
ステップＳ１０４では、ＣＰＵ１０Ａが、ステップＳ１０２のＯＣＲ処理によって得られた文字列から、ステップＳ１００で取得した画像に含まれる文字列候補を抽出する。具体的には、正規表現で表された抽出パターンを用いて画像に含まれる文字列候補を抽出する。本実施形態では、例えば図２に示すように、正規表現が定義された正規表現情報４２が予め記憶部７に記憶されており、この正規表現情報４２で定義された正規表現で表される抽出パターンを用いて文字列候補を抽出する。なお、正規表現情報４２を予め記憶部７に記憶しておく場合に限らず、通信部６を介して外部装置から正規表現情報４２を取得してもよい。
【００５８】
ここで、正規表現とは、文字列の集合を一つの文字列で表現する方法である。そして、正規表現は、図面情報の抽出対象となる図面に含まれ得る文字列に対応したものである。すなわち、記憶部７に予め記憶された正規表現情報４２には、図面情報の抽出対象となる図面に含まれ得る文字列に対応した正規表現が定義されている。
【００５９】
例えば、図面情報の抽出対象となる図面に含まれ得る文字列が４個の文字から構成され、先頭の文字が“Ａ”、２番目の文字が“Ｂ”、３番目の文字が“Ｃ”、４番目の文字が“０”〜“９”の１０種類の数字の何れかの文字である文字列であるとする。この場合、図面情報の抽出対象となる図面に含まれ得る文字列の正規表現は、“［Ａ］［Ｂ］［Ｃ］［０−９］”という一つの文字列で表される。この場合、正規表現情報４２には、正規表現として“［Ａ］［Ｂ］［Ｃ］［０−９］”が定義される。なお、正規表現“［Ａ］［Ｂ］［Ｃ］［０−９］”で表された抽出パターンの文字列は、“ＡＢＣ０”〜“ＡＢＣ９”までの１０パターンとなる。
【００６０】
ところで、ステップＳ１０２のＯＣＲ処理によって認識された文字列には、誤認識された文字が含まれる場合が多い。このため、上記の例において、正規表現“［Ａ］［Ｂ］［Ｃ］［０−９］”で表される抽出パターンを用いて文字列候補を抽出したのでは、本来抽出すべき文字列の一部の文字が誤認識された文字列が抽出されなくなってしまう。このため、ステップＳ１０４では、ＯＣＲ処理で誤認識する誤認識パターンを用いて修正された修正正規表現で表された抽出パターンを用いて文字列候補を抽出する。すなわち、正規表現情報４２には、ＯＣＲ処理で誤認識する誤認識パターンを用いて修正された修正正規表現を定義しておく。
【００６１】
例えば、上記の例の場合において、“Ａ”は、例えば“Ｈ”と誤認識されやすい。また、“Ｂ”は、例えば“８”又は“日”と誤認識されやすい。また、“Ｃ”は、“［”又は“（”と誤認識されやすい。また、“０”は、“ｏ”又は“Ｏ”と誤認識されやすい。この場合、ＯＣＲ処理で誤認識する誤認識パターンを用いて修正された修正正規表現は、“［ＡＨ］［Ｂ８日］［Ｃ［（］［０ｏＯ−９］”となる。このような修正正規表現で表される抽出パターンを用いて文字列候補を抽出することにより、本来抽出すべき文字列の一部の文字が誤認識された文字列も抽出される。
【００６２】
例えばステップＳ１００で得られた画像が図４に示す画像５０であったとする。画像５０には、文字列“ＡＢＣ０”を表す画像、文字列“ＡＢＣ８”を表す画像、文字列“ＸＹＺ１”を表す画像が含まれている。
【００６３】
この場合、ステップＳ１０２のＯＣＲ処理では、画像５０に含まれる全ての文字列が認識されるので、文字列“ＡＢＣ０”、文字列“ＡＢＣ８”、文字列“ＸＹＺ１”の全てが何らかの文字列として全て認識される。そして、ステップＳ１０２のＯＣＲ処理では少なくとも一部の文字が誤認識される場合があるので、全ての文字列を正しく認識するとは限らない。例えば、文字列“ＡＢＣ０”については、例えば“ＡＢＣｏ”又は“ＡＢＣＯ”と誤認識される場合がある。また、文字列“ＡＢＣ８”については、“ＡＢＣＢ”と誤認識される場合がある。これに対して、ステップＳ１０４では、修正正規表現で表された抽出パターンを用いて文字列候補を抽出するので、例えば“ＡＢＣｏ”又は“ＡＢＣＯ”と誤認識されても文字列候補として抽出される。
【００６４】
ステップＳ１０６では、ＣＰＵ１０Ａが、ステップＳ１０４で抽出された文字列候補について学習モデルを用いたＯＣＲ処理（以下、再認識処理と称する）を実行する。すなわち、ステップＳ１００で取得した画像全体について再認識処理を実行するのではなく、ステップＳ１０４で抽出された文字列候補についてのみ再認識処理を実行する。なお、再認識処理を実行する対象の領域は、ステップＳ１０２のルールベースのＯＣＲ処理で得られた文字列候補の位置に基づいて設定すればよい。
【００６５】
例えば図５に示すように、画像５０全体について再認識処理を実行するのではなく、文字列候補“ＡＢＣ０”を含む領域Ｒ１と、文字列候補“ＡＢＣ８”を含む領域Ｒ２と、について再認識処理を実行する。
【００６６】
なお、学習モデルを用いたＯＣＲ処理としては、本実施形態では一例として畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）等の機械学習を用いたＯＣＲ処理が挙げられるが、これに限られるものではない。
【００６７】
学習モデルは、特定の文字について学習されている。ここで、特定の文字とは、図面情報抽出機能を実行する対象の図面に含まれ得る文字であり、例えば、アルファベット、数字、及び記号等である。
【００６８】
このように、特定の文字について学習された学習モデルを用いたＯＣＲ処理は、ステップＳ１０２で実行されるルールベースのＯＣＲ処理と比較して文字列の認識率は高くなる。
【００６９】
例えば画像５０に含まれる文字列“ＡＢＣ０”が、ステップＳ１０２のＯＣＲ処理で“ＡＢＣｏ”と誤認識され、文字列“ＡＢＣ８”が“ＡＢＣＢ”と誤認識されたとする。このような場合でも、ステップＳ１０６の再認識処理で図５に示す領域Ｒ１、Ｒ２について再認識処理を実行した結果、“ＡＢＣ０”、“ＡＢＣ８”とそれぞれ正しく認識される場合があり得る。
【００７０】
なお、ステップＳ１０６で実行される再認識処理では、文字認識の精度を表すスコアが算出される。スコアが高いほど文字認識の精度が高く、スコアが低いほど文字認識の精度が低い。例えばスコアは０〜１の範囲の値であり、数値が高いほど文字認識の精度が高い。
【００７１】
以下のステップＳ１０８以降の処理は、再認識処理で認識された文字列毎に実行される。
【００７２】
ステップＳ１０８では、ＣＰＵ１０Ａが、ステップＳ１０６の再認識処理により認識された文字列と同型の文字列候補である誤認識文字列候補を生成する。
【００７３】
具体的には、例えば図６に示すように、誤認識文字が定義された誤認識文字情報４４が記憶部７に予め記憶されており、この誤認識文字情報４４を用いて誤認識文字列候補を生成する。誤認識文字情報４４は、ステップＳ１０２のＯＣＲ処理で誤認識する誤認識パターンを定義したものである。図６の例では、“Ａ”に対して誤認識されやすい“Ｈ”が定義されている。また、“Ｂ”に対して誤認識されやすい“８”が定義されている。また、“０”に対して誤認識されやすい“ｏ”及び“Ｏ”が定義されている。
【００７４】
これにより、例えばステップＳ１０６の再認識処理により認識された文字列が“ＡＢＣ０”であった場合、“ＨＢＣ０”、“Ａ８Ｃ０”、“ＡＢＣｏ”、“ＡＢＣＯ”、“Ｈ８Ｃ０”、“Ｈ８Ｃｏ”、“Ｈ８ＣＯ”等が誤認識文字列候補として生成される。
【００７５】
ステップＳ１１０では、ＣＰＵ１０Ａが、ユーザーによって指定された誤認識パターンを用いて生成した文字列を誤認識文字列候補に追加する。ここで、ユーザーによって指定された誤認識パターンとは、例えば図面に含まれる文字のフォントに応じて設定された誤認識パターンである。例えば“０”に対して誤認識されやすい文字の代表的な例は“ｏ”及び“Ｏ”であるが、図面で使用されている文字のフォントによっては、“ｏ”及び“Ｏ”以外の他の文字と誤認識されやすい場合もある。この場合、例えば図７に示すように、ユーザー指定の誤認識パターンを定義した誤認識パターン情報４６を記憶部７に予め記憶しておき、この誤認識パターン情報４６を用いて生成した文字列を誤認識文字列候補に追加する。
【００７６】
図７の誤認識パターン情報４６の例では、“Ｂ”に対して誤認識されやすい文字として“日”が、“０”に対して誤認識されやすい文字として“Ｄ”が設定されている。例えばステップＳ１０６の再認識処理により認識された文字列が“ＡＢＣ０”であった場合、“Ａ日Ｃ０”、“ＡＢＣＤ”が誤認識文字列候補として追加される。
【００７７】
なお、ステップＳ１０８及びステップＳ１１０で生成した誤認識文字列候補のうち、正規表現で表される文字列以外の誤認識文字列候補については、画像に含まれる文字列候補を特定する上で不要である。
【００７８】
そこで、ステップＳ１１２では、ＣＰＵ１０Ａが、ステップＳ１０８及びステップＳ１１０で生成した誤認識文字列候補のうち、正規表現で表される抽出パターンの文字列以外の誤認識文字列候補を除外する。
【００７９】
例えば、上記の例で正規表現が“［Ａ］［Ｂ］［Ｃ］［０−９］”の場合において、ステップＳ１０８及びステップＳ１１０で生成した誤認識文字列候補として“ＨＢＣ０”、“Ａ８Ｃ０”、“ＡＢＣｏ”、“ＡＢＣＯ”、“Ｈ８Ｃ０”、“Ｈ８Ｃｏ”、“Ｈ８ＣＯ”、“Ａ日Ｃ０”、“ＡＢＣＤ”が含まれていたとする。正規表現で表される文字列は先頭から３文字目まではアルファベット、先頭から４文字目は数字なので、上記の誤認識文字列候補のうち、先頭から４文字目がアルファベットである“ＡＢＣｏ”、“ＡＢＣＯ”、“Ｈ８Ｃｏ”、“Ｈ８ＣＯ”、“ＡＢＣＤ”、先頭から２文字目が漢字である“Ａ日Ｃ０”は誤認識文字列候補から除外される。
【００８０】
ステップＳ１１４では、ＣＰＵ１０Ａが、正規表現を用いて、誤認識文字列候補の中から文字列候補を特定する。すなわち、誤認識文字列候補のうち、正規表現で表される文字列に含まれる誤認識文字列候補を文字列候補として特定する。例えば正規表現が“［Ａ］［Ｂ］［Ｃ］［０−９］”の場合、正規表現で表される文字列は“ＡＢＣ０”〜“ＡＢＣ９”までの１０パターンである。従って、誤認識文字列候補のうち、“ＡＢＣ０”〜“ＡＢＣ９”の何れかの文字列と一致する誤認識文字列候補を文字列候補として特定する。一方、正規表現で表される文字列に何れの誤認識文字列候補も含まれていない場合は、文字列候補は特定されない。
【００８１】
ステップＳ１１６では、ＣＰＵ１０Ａが、ステップＳ１１４で文字列候補が特定されたか否かを判定する。そして、文字列候補が特定された場合、すなわち正規表現で表される文字列の何れかと一致する誤認識文字列候補が存在する場合はステップＳ１１８へ移行する。一方、文字列候補が特定されなかった場合、すなわち正規表現で表される文字列と一致する誤認識文字列候補が存在しなかった場合はステップＳ１２４へ移行する。
【００８２】
ステップＳ１１８では、ＣＰＵ１０Ａが、ステップＳ１０６の再認識処理において算出されたスコアが予め定めた閾値以上であるか否かを判定する。なお、閾値は、スコアが閾値以上であれば、ＯＣＲ処理の認識結果の信頼性が許容レベル以上とされる値に設定される。例えば、スコアが取り得る値の最大値の９割以上の値に設定される。具体的には、スコアが取り得る値の範囲が０〜１の場合、閾値は一例として０．９５に設定される。
【００８３】
そして、ステップＳ１０６の再認識処理において算出されたスコアが予め定めた閾値以上である場合、すなわちステップＳ１０６の再認識処理の認識結果の信頼性が許容レベル以上である場合はステップＳ１１９へ移行する。一方、ステップＳ１０６の再認識処理において算出されたスコアが予め定めた閾値未満である場合、すなわちステップＳ１０６の再認識処理の認識結果の信頼性が許容レベル未満である場合はステップＳ１２２へ移行する。
【００８４】
ステップＳ１１９では、ステップＳ１１４で特定された文字列候補が１つであるか否かを判定する。そして、特定された文字列候補が１つの場合はステップＳ１２０へ移行し、特定された文字列候補が複数の場合はステップＳ１２２へ移行する。
【００８５】
ステップＳ１２０では、ＣＰＵ１０Ａが、ステップＳ１１４で特定した１つの文字列候補を出力する。すなわち、特定した文字列候補を紙等の記録媒体に印刷したり、データファイルとして記憶部７に記憶したり、通信部６を介して外部装置に送信したり、表示部５に表示したりする。
【００８６】
一方、ステップＳ１２２が実行されるのは、ステップＳ１１８で再認識処理の認識結果の信頼性が許容レベル未満と判定された又はステップＳ１１９で複数の文字列候補が特定された場合である。このため、ステップＳ１１４で特定された文字列候補を、あくまで図面に含まれると推定される文字列候補である推定文字列候補として出力する。
【００８７】
また、ステップＳ１２４が実行されるのは、正規表現で表される文字列と一致する誤認識文字列候補が存在しない場合である。このため、誤認識文字列候補に近い文字列を正規表現で表される文字列から検索する。具体的には、正規表現で表される文字列の中から、誤認識文字列候補と異なる文字の数が最も少ない文字列を検索する。そして、検索した文字列を推定文字列候補として出力する。
【００８８】
ステップＳ１２６では、ステップＳ１０６で認識された全ての文字列についてステップＳ１０８〜Ｓ１２４の処理を実行したか否かを判定する。そして、ステップＳ１０６で認識された全ての文字列についてステップＳ１０８〜Ｓ１２４の処理を実行した場合は本ルーチンを終了する。一方、ステップＳ１０６で認識された全ての文字列についてステップＳ１０８〜Ｓ１２４の処理を実行していない場合は、ステップＳ１０８へ移行し、全ての文字列の処理が終了するまでステップＳ１０８〜Ｓ１２４の処理を繰り返す。
【００８９】
このように、本実施形態では、ＯＣＲ処理によって画像から認識された文字列から、正規表現で表された抽出パターンを用いて文字列候補を抽出する。そして、ＯＣＲ処理が誤認識する誤認識パターンを用いて文字列候補を修正し、正規表現を用いて、修正された文字列候補の中から特定した文字列候補を出力する。
【００９０】
なお、第１実施形態では、図３のステップＳ１１０において、ユーザー指定の誤認識パターンを定義した誤認識パターン情報４６を用いて生成した文字列を誤認識文字列候補に追加しているが、ステップＳ１１０の処理を省略してもよい。
【００９１】
次に、文字列候補を特定する場合の具体例について説明する。
【００９２】
・具体例１
【００９３】
具体例１では、正規表現が[F][X][1][0][A-Z][A-Z][0-9][0-9][0-9]、図面に含まれる実際の文字列が“FX10AA106”である。
【００９４】
上記の条件でＯＣＲ処理を実行すると、認識した文字列候補は“FXIOAAIO6”であった。すなわち、３、４文字目の“10”が“IO”に、７、８文字目の“10”が“IO”に誤認識されている。
【００９５】
次に、再認識処理の結果は、“FX10AA106”となり、図面に含まれる実際の文字列と完全に一致した。なお、再認識処理のスコアは閾値以上であった。また、誤認識文字列候補としては、再認識処理により認識された文字列も含めて、“FX10AA106”、“FX1OAA106”、“FX1oAA06”、“FX10AA1O6”、“FX10AA1o6”等が生成された。なお、具体例１では、ユーザー指定の誤認識パターン情報を用いて誤認識文字列候補を更に生成する処理は実行しなかった。
【００９６】
誤認識文字列候補のうち、正規表現を用いて不要な文字列候補を除外すると、“FX10AA106”のみが残る。この誤認識文字列候補は、正規表現で表される文字列である。このため、図面に記載された文字列候補として“FX10AA106”が特定され、出力される。この文字列は、図面に含まれる実際の文字列と完全に一致している。
【００９７】
・具体例２
【００９８】
具体例２では、再認識処理のスコアが閾値未満であること以外は具体例１と同じである。
【００９９】
具体例２では、具体例１と同様に、図面に記載された文字列候補として、図面に含まれる実際の文字列と完全に一致する“FX10AA106”が特定されるが、再認識処理のスコアが閾値未満であるため信頼性が低い。従って、文字列候補“FX10AA106”は、あくまで図面に含まれると推定される文字列候補である推定文字列候補として出力される。
【０１００】
・具体例３
【０１０１】
具体例３では、正規表現が[F][X][1][0][A-Z][A-Z][0-9][0-9][0-9,A-Z]、図面に含まれる実際の文字列が“FX10AA106”である。
【０１０２】
上記の条件でＯＣＲ処理を実行すると、認識した文字列候補は“FXIOAAIOG”であった。すなわち、３、４文字目の“10”が“IO”に、７〜９文字目の“106”が“IOG”に誤認識されている。
【０１０３】
次に、再認識処理の結果は、“FX10AA10G”となり、９文字目の“6”が“G”に誤認識されている。なお、再認識処理のスコアは閾値以上であった。
また、誤認識文字列候補としては、再認識処理により認識された文字列も含めて、“FX10AA10G”、“FX1OAA10G”、“FX1oAA0G”、“FX10AA1OG”、“FX10AA1oG”等が生成された。
【０１０４】
また、具体例３では、ユーザー指定の誤認識パターン情報を用いて生成した文字列を誤認識文字列候補に追加した。ユーザー指定の誤認識パターン情報は、誤認識パターンとして“６：Ｇ”が定義されている。このため、誤認識文字列候補として“FX10AA106”、“FX10AA10G”を生成して追加した。
【０１０５】
誤認識文字列候補のうち、正規表現を用いて不要な文字列候補を除外すると、“FX10AA106”、“FX10AA10G”が残る。これらの誤認識文字列候補は、何れも正規表現で表される文字列であるため、推定文字列候補として出力される。
【０１０６】
（第２実施形態）
【０１０７】
次に、第２実施形態について説明する。なお、第１実施形態と同一部分には同一符号を付し、詳細な説明は省略する。第２実施形態では、図面から抽出したい情報がプラスチック部品の材質を表す文字列である場合について説明する。
【０１０８】
プラスチック部品の材質の表示方法は、ＪＩＳ（日本工業規格）で規定されている。例えば、単一のポリマー等の部品の表示は、ＪＩＳ  Ｋ  ６８９９−１で規定された材料の略語を境界文字“＞”及び“＜”で挟むことになっている。例えば、材料がアクリロニトリル−ブタジエン−スチレンであり、この略語がＡＢＳである場合は、“＞ＡＢＳ＜”と表記される。
【０１０９】
また、プラスチック部品の材質の表示では、材料の略語の他に、“−”、“＋”、“（”、“）”等が区切り文字として使用されたり、質量分率又は材料の含有率等を表す数字が使用されたりする。例えば“＞ＰＡ６６−（ＧＦ２５＋ＭＤ１５）＜”と表記されている場合、ガラス繊維（ＧＦ）２５質量％と鉱物粉末（ＭＤ）１５質量％の混合物を含むポリアミド６６を表す。
【０１１０】
必要とされるのは材料の略語を含む文字列であり、境界文字は不要である。このため、第２実施形態では、境界文字で挟まれた文字列については、境界文字を除外した文字列を必要文字列として抽出する。
【０１１１】
図８には、第２実施形態に係るＣＰＵ１０Ａの機能ブロック図を示した。図８に示す機能ブロック図は、必要文字列抽出部３１が設けられている点が図２に示す機能ブロック図と異なる。
【０１１２】
必要文字列抽出部３１は、再認識処理部３０による再認識処理により認識された文字列から必要文字列を抽出する。具体的には、再認識処理により認識された文字列に境界文字が含まれているか否かを判定する。そして、再認識処理により認識された文字列に境界文字が含まれている場合には、境界文字を除外した文字列を必要文字列として抽出する。
【０１１３】
次に、図９を参照して、本実施の形態に係る情報処理装置１０の作用を説明する。図９に示す情報処理が図３に示す情報処理と異なるのは、ステップＳ１０７の処理が追加されている点である。
【０１１４】
ステップＳ１０７では、ステップＳ１０６の再認識処理により認識された文字列の各々について、必要文字列を抽出する処理を行う。すなわち、再認識処理により認識された文字列のうち、境界文字“＞”及び“＜”で挟まれた文字列を抽出する。そして、境界文字“＞”及び“＜”で挟まれた文字列については、境界文字を除いた文字列を必要文字列として抽出する。例えば再認識処理で認識された文字列が“＞ＡＢＳ＜”の場合は、境界文字を除外した“ＡＢＳ”を必要文字列として抽出する。また、再認識処理で認識された文字列が“＞ＰＡ６６−（ＧＦ２５＋ＭＤ１５）＜”の場合は、境界文字を除外した“ＰＡ６６−（ＧＦ２５＋ＭＤ１５）”を必要文字列として抽出する。
【０１１５】
次に、文字列候補を特定する場合の具体例について説明する。
【０１１６】
・具体例１
【０１１７】
具体例１では、正規表現が[>][][][][][][][][][][][][][][][][][][][][][][][][<] 、図面に含まれる実際の文字列が“>PA66-(GF25+MD15)<”である。
【０１１８】
上記の条件でＯＣＲ処理を実行すると、認識した文字列候補は“>PAGG-(GF2S+MDI5)<”であった。すなわち、４、５文字目の“66”が“GG”に、１０文字目の“5”が“S”に、１４文字目の“1”が“I”に誤認識されている。
【０１１９】
次に、再認識処理の結果は、“>PA66-(GF25+MD15)<”となり、再認識処理のスコアは閾値以上であった。この文字列は、正規表現で表される文字列と一致する。このため、図面に記載された文字列候補として“PA66-(GF25+MD15)”が特定され、出力される。
【０１２０】
・具体例２
【０１２１】
具体例２は、再認識処理のスコアが閾値未満である点以外は具体例１と同じである。この場合、再認識処理の認識結果の信頼性が低いので、“PA66-(GF25+MD15)”は推定文字列候補として出力される。
【０１２２】
以上、各実施形態を用いて本発明について説明したが、本発明は各実施形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１２３】
例えば上記各実施形態では、情報処理装置が複合機に適用される場合を例に説明したが、スマートフォン又はタブレット端末等に適用してもよい。この場合、スマートフォン又はタブレット端末に搭載されたカメラで図面を撮影し、撮影した画像に対して図３又は図９の処理を実行すればよい。
【０１２４】
また、例えば、図３、９に示した情報処理をＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアで実現するようにしてもよい。この場合、ソフトウエアで実現する場合に比べて、処理の高速化が図られる。
【０１２５】
また、各実施形態では、情報処理プログラムが記憶部７にインストールされている形態を説明したが、これに限定されるものではない。本実施形態に係る情報処理プログラムを、コンピュータ読取可能な記憶媒体に記録した形態で提供してもよい。例えば、本実施形態に係る情報処理プログラムを、ＣＤ(Compact Disc)−ＲＯＭ及びＤＶＤ(Digital Versatile Disc)−ＲＯＭ等の光ディスクに記録した形態、若しくはＵＳＢ(Universal Serial Bus)メモリ及びメモリカード等の半導体メモリに記録した形態で提供してもよい。また、本実施形態に係る情報処理プログラムを、通信部６に接続された通信回線を介して外部装置から取得するようにしてもよい。
【符号の説明】
【０１２６】
１     画像形成装置
２     スキャナ部
３     画像形成部
４     操作部
５     表示部
６     通信部
７     記憶部
１０   情報処理装置
２０   ＯＣＲ処理部
２２   取得部
２４   抽出部
２６   修正部
２８   出力部
３０   再認識処理部
３１   必要文字列抽出部
３２   生成部
４０   情報処理プログラム
４２   正規表現情報
４４   誤認識文字情報
４６   誤認識パターン情報
５０   画像
【図１】
2020123273.tif 000003
【図２】
2020123273.tif 000004
【図３】
2020123273.tif 000005
【図４】
2020123273.tif 000006
【図５】
2020123273.tif 000007
【図６】
2020123273.tif 000008
【図７】
2020123273.tif 000009
【図８】
2020123273.tif 000010
【図９】
2020123273.tif 000011