IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッドの特許一覧

特許7402931方法、コンピュータ可読プログラムおよびシステム
<>
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図1
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図2
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図3
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図4
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図5
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図6
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図7
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図8
  • 特許-方法、コンピュータ可読プログラムおよびシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-13
(45)【発行日】2023-12-21
(54)【発明の名称】方法、コンピュータ可読プログラムおよびシステム
(51)【国際特許分類】
   G06V 30/14 20220101AFI20231214BHJP
   H04N 1/40 20060101ALI20231214BHJP
【FI】
G06V30/14 340A
H04N1/40 062
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2022110306
(22)【出願日】2022-07-08
(65)【公開番号】P2023051732
(43)【公開日】2023-04-11
【審査請求日】2023-01-05
(31)【優先権主張番号】17/490,770
(32)【優先日】2021-09-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】ティム プレブル
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2020-67959(JP,A)
【文献】特開平7-99581(JP,A)
【文献】特開2006-246435(JP,A)
【文献】特開2017-162179(JP,A)
【文献】特開2017-156852(JP,A)
【文献】特開平3-72778(JP,A)
【文献】特開2013-196369(JP,A)
【文献】特開2012-22575(JP,A)
【文献】特開2010-152800(JP,A)
【文献】特開2009-211296(JP,A)
【文献】特開昭63-61387(JP,A)
【文献】特開平9-120443(JP,A)
【文献】特開平11-85902(JP,A)
【文献】特開2001-285716(JP,A)
【文献】米国特許出願公開第2006/0171587(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/14
H04N 1/40
(57)【特許請求の範囲】
【請求項1】
入力画像からテキストを抽出し、文書を生成するための方法であって、
前記入力画像からエッジマスクを生成することと、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、
前記エッジマスクから得られるエッジ画像を生成することと、
前記エッジマスク内で、1または複数の推定テキスト領域を識別することと、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、
前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出することと、
前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成することと、
前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成することとを含む方法。
【請求項2】
得られた前記エッジ画像が前記エッジマスクと同じである請求項1に記載の方法。
【請求項3】
得られた前記エッジ画像は、入力画像のピクセルをブランクバックグラウンド上の、前記エッジマスク内のマークされた前記エッジに対応する位置に配置することによって生成される請求項1に記載の方法。
【請求項4】
1または複数の前記推定テキスト領域を識別することは、さらに、
前記エッジマスク内のテキストの水平ライン候補およびテキストの垂直ライン候補を識別することと、
第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記水平ライン候補を除去すること、および、前記第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記垂直ライン候補を除去することと、
隣り合った、または重なり合った残りの水平ライン候補および垂直ライン候補を、1または複数のグループ候補へグルーピングすることと、
1または複数のポリゴン候補を生成することと、ここで、前記ポリゴン候補の各々は、1の前記グループ候補から前記水平ライン候補および前記垂直ライン候補を結合し、水平ライン候補および垂直ライン候補が重なり合っているデュプリケートセクションを除去することによって生成され、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定することと、
テキストを含みそうであると判定されなかった前記ポリゴン候補の各々を除去することとをさらに含み、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定することは、
前記ポリゴン候補の各々の中で、前記潜在的な水平テキストラインおよび前記潜在的な垂直テキストラインを識別することと、
前記ポリゴン候補の各々の中で、第2の所定数のピクセルよりも小さい幅または高さを有する前記潜在的な水平ラインおよび前記潜在的な垂直テキストラインを除去することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像のポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な水平テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が水平テキストを含みそうかどうかを判定することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像の前記ポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な垂直テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が垂直テキストを含みそうかどうかを判定することとをさらに含む請求項1~3のいずれかに記載の方法。
【請求項5】
前記入力画像を、1または複数の初期領域へセグメント化することと、
前記初期領域の各々を複数のコンテンツクラスのうちの1つに分類することと、ここで、複数の前記コンテンツクラスは画像クラスを含み、
得られた前記エッジ画像のうち、前記初期領域のそれぞれに対応する、1または複数の初期部分のそれぞれに対して、第2のOCR操作を実行することによって、テキスト文字の第2のセットを抽出することとをさらに含み、前記初期部分は、
前記画像クラス以外の前記コンテンツクラスの1つに分類され、
前記画像クラスとして処理されるように選択され、
テキスト文字の前記第1のセットを抽出することは、得られた前記エッジ画像のうち、前記画像クラスとして分類された前記初期領域のそれぞれの中にある前記推定テキスト部分内でのみ実行され、
前記修正画像を生成することは、
前記第2のOCR操作によって抽出されたテキスト文字の前記第2のセットに対応する画像文字を前記入力画像から消去することをさらに含み、
前記文書を生成することは、
前記修正画像上に、テキスト文字の前記第2のセットを重ね合わせることをさらに含む請求項1に記載の方法。
【請求項6】
複数の前記コンテンツクラスは、
テキストクラス、
テーブルクラス、
チャートクラス、
フローチャートクラスおよび、
ベクトルグラフィッククラスをさらに含む請求項5に記載の方法。
【請求項7】
前記初期領域のコンテンツクラスによって判定されたテキストの抽出処理が試みられて失敗するとき、前記初期領域が前記画像クラスとして処理されるように選択される請求項5に記載の方法。
【請求項8】
入力画像からテキストを抽出し、文書を生成するためのコンピュータ可読プログラムであって、
前記入力画像からエッジマスクを生成し、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、
前記エッジマスクから得られるエッジ画像を生成し、
前記エッジマスク内で、1または複数の推定テキスト領域を識別し、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、
前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出し、
前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成し、
前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成することをコンピュータに実行させるコンピュータ可読プログラム。
【請求項9】
得られた前記エッジ画像が前記エッジマスクと同じである請求項8に記載のコンピュータ可読プログラム。
【請求項10】
得られた前記エッジ画像は、入力画像のピクセルをブランクバックグラウンド上の、前記エッジマスク内のマークされた前記エッジに対応する位置に配置することによって生成される請求項8に記載のコンピュータ可読プログラム。
【請求項11】
1または複数の前記推定テキスト領域を識別することでは、前記コンピュータ可読プログラムが、さらに、
前記エッジマスク内のテキストの水平ライン候補およびテキストの垂直ライン候補を識別し、
第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記水平ライン候補を除去し、および、前記第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記垂直ライン候補を除去し、
隣り合った、または重なり合った残りの水平ライン候補および垂直ライン候補を、1または複数のグループ候補へグルーピングし、
1または複数のポリゴン候補を生成し、ここで、前記ポリゴン候補の各々は、1の前記グループ候補から前記水平ライン候補および前記垂直ライン候補を結合し、水平ライン候補および垂直ライン候補が重なり合っているデュプリケートセクションを除去することによって生成され、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定し、
テキストを含みそうであると判定されなかった前記ポリゴン候補の各々を除去することとをさらに前記コンピュータにさらに実行させ、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定することは、
前記ポリゴン候補の各々の中で、前記潜在的な水平テキストラインおよび前記潜在的な垂直テキストラインを識別することと、
前記ポリゴン候補の各々の中で、第2の所定数のピクセルよりも小さい幅または高さを有する前記潜在的な水平ラインおよび前記潜在的な垂直テキストラインを除去することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像のポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な水平テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が水平テキストを含みそうかどうかを判定することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像の前記ポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な垂直テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が垂直テキストを含みそうかどうかを判定することとをさらに含む請求項8~10のいずれかに記載のコンピュータ可読プログラム。
【請求項12】
前記入力画像を、1または複数の初期領域へセグメント化し、
前記初期領域の各々を複数のコンテンツクラスのうちの1つに分類し、ここで、複数の前記コンテンツクラスは画像クラスを含み、
得られた前記エッジ画像のうち、前記初期領域のそれぞれに対応する、1または複数の初期部分のそれぞれに対して、第2のOCR操作を実行することによって、テキスト文字の第2のセットを抽出することを前記コンピュータにさらに実行させ、前記初期部分は、
前記画像クラス以外の前記コンテンツクラスの1つに分類され、
前記画像クラスとして処理されるように選択され、
テキスト文字の前記第1のセットを抽出することは、得られた前記エッジ画像のうち、前記画像クラスとして分類された前記初期領域のそれぞれの中にある前記推定テキスト部分内でのみ実行され、
前記修正画像を生成することは、
前記第2のOCR操作によって抽出されたテキスト文字の前記第2のセットに対応する画像文字を前記入力画像から消去することをさらに含み、
前記文書を生成することは、
前記修正画像上に、テキスト文字の前記第2のセットを重ね合わせることをさらに含む請求項8に記載のコンピュータ可読プログラム。
【請求項13】
複数の前記コンテンツクラスは、
テキストクラス、
テーブルクラス、
チャートクラス、
フローチャートクラスおよび、
ベクトルグラフィッククラスをさらに含む請求項12に記載のコンピュータ可読プログラム。
【請求項14】
前記初期領域のコンテンツクラスによって判定されたテキストの抽出処理が試みられて失敗するとき、前記初期領域が前記画像クラスとして処理されるように選択される請求項12に記載のコンピュータ可読プログラム。
【請求項15】
入力画像からテキストを抽出し、文書を生成するためのシステムであって、
メモリと、
前記メモリに接続されたプロセッサとを備え、前記プロセッサは、
前記入力画像からエッジマスクを生成し、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、
前記エッジマスクから得られるエッジ画像を生成し、
前記エッジマスク内で、1または複数の推定テキスト領域を識別し、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、
前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出し、
前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成し、
前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成するシステム。
【請求項16】
得られた前記エッジ画像が前記エッジマスクと同じである請求項15に記載のシステム。
【請求項17】
得られた前記エッジ画像は、入力画像のピクセルをブランクバックグラウンド上の、前記エッジマスク内のマークされた前記エッジに対応する位置に配置することによって生成される請求項15に記載のシステム。
【請求項18】
1または複数の前記推定テキスト領域を識別することでは、前記プロセッサは、さらに、
前記エッジマスク内のテキストの水平ライン候補およびテキストの垂直ライン候補を識別し、
第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記水平ライン候補を除去し、および、前記第1の所定数のピクセルよりも小さい幅または高さを有するテキストの前記垂直ライン候補を除去し、
隣り合った、または重なり合った残りの水平ライン候補および垂直ライン候補を、1または複数のグループ候補へグルーピングし、
1または複数のポリゴン候補を生成し、ここで、前記ポリゴン候補の各々は、1の前記グループ候補から前記水平ライン候補および前記垂直ライン候補を結合し、水平ライン候補および垂直ライン候補が重なり合っているデュプリケートセクションを除去することによって生成され、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定し、
テキストを含みそうであると判定されなかった前記ポリゴン候補の各々を除去し、
前記ポリゴン候補の各々がテキストを含みそうかどうかを判定することは、
前記ポリゴン候補の各々の中で、前記潜在的な水平テキストラインおよび前記潜在的な垂直テキストラインを識別することと、
前記ポリゴン候補の各々の中で、第2の所定数のピクセルよりも小さい幅または高さを有する前記潜在的な水平ラインおよび前記潜在的な垂直テキストラインを除去することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像のポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な水平テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が水平テキストを含みそうかどうかを判定することと、
前記ポリゴン候補に対応する、得られた前記エッジ画像の前記ポリゴナル部分の中でマークされたピクセルの前記所定の割合が、残りの潜在的な垂直テキストラインの中にあるかどうかを決定することによって、前記ポリゴン候補の各々が垂直テキストを含みそうかどうかを判定することとをさらに含む請求項15~17のいずれかに記載のシステム。
【請求項19】
前記プロセッサは、さらに
前記入力画像を、1または複数の初期領域へセグメント化し、
前記初期領域の各々を複数のコンテンツクラスのうちの1つに分類し、ここで、複数の前記コンテンツクラスは画像クラスを含み、
得られた前記エッジ画像のうち、前記初期領域のそれぞれに対応する、1または複数の初期部分のそれぞれに対して、第2のOCR操作を実行することによって、テキスト文字の第2のセットを抽出し、前記初期部分は、
前記画像クラス以外の前記コンテンツクラスの1つに分類され、
前記画像クラスとして処理されるように選択され、
テキスト文字の前記第1のセットを抽出することは、得られた前記エッジ画像のうち、前記画像クラスとして分類された前記初期領域のそれぞれの中にある前記推定テキスト部分内でのみ実行され、
前記修正画像を生成することは、
前記第2のOCR操作によって抽出されたテキスト文字の前記第2のセットに対応する画像文字を前記入力画像から消去することをさらに含み、
前記文書を生成することは、
前記修正画像上に、テキスト文字の前記第2のセットを重ね合わせることをさらに含む請求項15に記載のシステム。
【請求項20】
前記初期領域のコンテンツクラスによって判定されたテキストの抽出処理が試みられて失敗するとき、前記初期領域が前記画像クラスとして処理されるように選択される請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
画像からのテキスト抽出。
【背景技術】
【0002】
デジタル画像は、カメラに由来する自然画像であろうと、コンピュータによって生成される合成画像であろうと、テキスト情報を含み得る。物理的文書のデジタル表現は、画像、例えばスキャニングプロセスの結果に基づくことができる。これらの画像からテキスト文字を抽出して、それらをコンピュータアルゴリズムによってさらに処理することができるようにすることは、しばしば有用である。画像を含むが、画像からテキストを編集することができる文書を生成するために、デジタル画像からテキスト文字を抽出することも有用であることが多い。光学文字認識(OCR:Optical Character Recognition)操作では、自然または合成デジタル画像に埋め込まれたテキストを抽出するとき、高品質の結果を生成することができないことが多い。
【発明の概要】
【0003】
一般的に、本発明の1または複数の実施形態は、入力画像からテキストを抽出して文書を生成する方法に関する。この方法は、前記入力画像からエッジマスクを生成することと、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、前記エッジマスクから得られるエッジ画像を生成することと、前記エッジマスク内で、1または複数の推定テキスト領域を識別することと、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出することと、前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成することと、前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成することとを含む。
【0004】
一般的に、本発明の1または複数の実施形態は、入力画像からテキストを抽出し、ドキュメントを生成するためのコンピュータ可読プログラムに関する。コンピュータ可読プログラムは、前記入力画像からエッジマスクを生成し、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、前記エッジマスクから得られるエッジ画像を生成し、前記エッジマスク内で、1または複数の推定テキスト領域を識別し、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出し、前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成し、前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成することをコンピュータに実行させる。
【0005】
一般的に、本発明の1または複数の実施形態は、入力画像からテキストを抽出し、ドキュメントを生成するシステムに関する。システムは、メモリと、メモリに接続されたプロセッサとを備える。プロセッサは、前記入力画像からエッジマスクを生成し、ここで、前記エッジマスクは前記入力画像内の特徴のエッジをマーキングする二値画像を含み、前記エッジマスクから得られるエッジ画像を生成し、前記エッジマスク内で、1または複数の推定テキスト領域を識別し、ここで、前記推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平または垂直テキストライン内にあるポリゴンであり、前記エッジ画像のうち、前記推定テキスト領域のそれぞれに対応する、1または複数の推定テキスト部分のそれぞれに対して、第1の光学文字認識(OCR)操作を実行することによって、テキスト文字の第1のセットを抽出し、前記第1のOCR操作によって抽出されたテキスト文字の前記第1のセットに対応する画像文字を、前記入力画像から消去することによって修正画像を生成し、前記修正画像上に、抽出されたテキスト文字の前記第1のセットを重ね合わせることによって文書を生成する。
【0006】
本発明の他の態様は、以下の説明および添付の特許請求の範囲から明らかになるのであろう。
【図面の簡単な説明】
【0007】
図1】本発明の1または複数の実施形態に係る、画像からテキストを抽出し、文書を生成するための方法のフローチャートを示す。
図2】本発明の1または複数の実施形態に係る、推定テキスト領域を識別するための方法のフローチャートを示す。
図3】本発明の1または複数の実施形態に係る入力画像の図を示す。
図4】本発明の1または複数の実施形態に係るエッジマスクの図を示す。
図5】本発明の1または複数の実施形態に係るエッジ画像の図を示す。
図6】本発明の1または複数の実施形態に係る、エッジマスク上で識別されたテキストの水平ライン候補および垂直ライン候補の図を示す。
図7】本発明の1または複数の実施形態に係る、エッジマスク上で識別された推定テキスト領域の図を示す。
図8】本発明の1または複数の実施形態に係る修正画像の図を示す。
図9】本発明の1または複数の実施形態に係るコンピューティングシステムを示す。
【発明を実施するための形態】
【0008】
ここで、本発明の特定の実施形態を、添付の図面を参照して詳細に説明する。様々な図における同様の要素は、一貫性のために同様の参照番号によって示される。
【0009】
本発明の実施形態の以下の詳細な説明では、本発明のより完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、本発明がこれらの具体的な詳細なく、実施され得ることは、当業者には明らかであろう。他の例では、説明を不必要に複雑にすることを回避するために、周知の特徴は詳細には説明されていない。
【0010】
本出願を通して、序数(例えば、第1、第2、第3)は要素(すなわち、本出願における任意の名詞)の形容詞として使用され得る。序数の使用は「前」、「後」、「単一」、および他のそのような用語の使用などによって、明示的に開示されない限り、要素の特定の順序付けを暗示するまたは作成することも、任意の要素を単一の要素のみに限定することもない。むしろ、序数は、要素を区別するために使用される。一例として、第1の要素は第2の要素とは別個であり、第1の要素は2つ以上の要素を包含することができ、要素の順序付けにおいて第2の要素に続く(または先行する)ことができる。
【0011】
一般的に、本発明の実施形態は、入力画像からテキストを抽出し、抽出されたテキストが編集可能なテキストとして再生される文書を生成するための方法、非一時的コンピュータ可読媒体(CRM:Computer readable medium)、およびシステムを提供する。入力画像は、任意選択で、コンテンツのクラスに対応する領域にセグメント化される。画像に対応する(または画像として処理されるように設計された他のコンテンツクラスに対応する)領域は、OCR操作がこれらの領域からテキストを抽出する有効精度を改善するために処理される。具体的には、エッジマスク、または特徴のエッジをマーキングする二値画像が入力画像から生成される。エッジマスクはエッジ画像を生成するために使用され、ここでは、エッジマスクと同じエッジをマークするが、マーキングは入力画像から色付けされたピクセルである。エッジマスク内で、テキストを含む可能性の高い推定テキスト領域、またはポリゴナル領域が、テキストのライン候補のグループを識別し、次いで、マークされたピクセルの所定の割合がテキストのライン候補内に生じることをチェックすることによって、識別される。次いで、OCR操作が、推定テキスト領域に対して実行される。言い換えれば、画像クラスとして分類された領域内にテキストを含む可能性が高いポリゴナル領域を識別し、これらの領域にOCR操作を限定することによって、OCR操作は、画像領域内のテキストを首尾よく抽出する可能性がより高い。
【0012】
図1は本発明の1または複数の実施形態に係る、画像からテキストを抽出し、文書を生成するための方法のフローチャートを示す。本発明の1または複数の実施形態では、図1に示されるステップのうちの1または複数のステップが図1に示される順序とは異なる順序で、組み合わされ、省略され、反復され、および/または実行され得る。したがって、本発明の範囲は、図1に示されるステップの特定の配置に限定されると見なされるべきではない。
【0013】
任意選択のステップS100において、入力画像は、任意選択で、1または複数の初期領域にセグメント化される。セグメンテーションの前に、入力画像300は任意のソース(source)から取得(例えば、ダウンロード、スキャン、キャプチャ、撮像など)され得る。入力画像300は、写真、コンピュータ生成画像、文書、物理的文書のスキャン、または任意の他のタイプの画像であってもよい。初期領域は、様々なタイプのコンテンツを含む入力画像のポリゴナル領域であり、様々なタイプのコンテンツは、画像、テキスト、表、チャート、フローチャート、およびベクトルグラフィックを含むが、これらに限定されない。
【0014】
任意選択のステップS105において、初期領域の各々は、領域内に含まれるコンテンツのタイプに対応する様々なコンテンツクラスに分類される。可能なコンテンツクラスは、画像クラス、テキストクラス、テーブルクラス、チャートクラス、フローチャートクラス、およびベクトルグラフィックスクラスを含み得る。1または複数の実施形態では、上に列挙されたクラスのいくつかまたはすべては必要ではなく、同様に、上に列挙されたクラスに対する追加のクラスも含まれ得る。
【0015】
ステップS110において、入力画像からエッジマスクが生成される。エッジマスクは、入力画像内の特徴のエッジをマークする二値画像(バイナリイメージ)である。二値画像は、画像の各ピクセルが2つのみの可能な値のうちの1つを有する画像であり、典型的には白黒画像として表されるが、他の表現も使用され得る。
【0016】
エッジマスクは任意のエッジ発見プロセスによって生成され得るが、1または複数の実施形態ではプロセスは以下の通りである。
【0017】
入力画像はグレースケールに変換される。ここでは、白ピクセルは白として出力され、非白ピクセルはグレーの濃淡として表現される。言い換えれば、各ピクセルは、ゼロから最大ピクセル値までの範囲の値を有する。最大ピクセル値は白を表し、ゼロは黒を表し、ゼロと最大ピクセル値との間の値はグレーの濃淡を表す。
【0018】
このグレースケール画像は、次に反転され、反転されたグレースケール画像の各ピクセルが最大ピクセル値からグレースケール画像のピクセル値を減算した値を有するようにする。すなわち、白ピクセルが黒ピクセルとなり、黒ピクセルが白ピクセルとなり、グレーの濃淡を含むピクセルが最大ピクセル値に対してグレーの補完的な色合いとなる。
【0019】
次いで、適応閾値処理を適用することによって、反転されたグレースケール画像から二値画像が生成される。具体的には、反転したグレースケール画像から対応するピクセルの値が閾値より大きい場合には、二値画像の各ピクセルが最大値に設定される。ここで、閾値は反転したグレースケール画像の各ピクセルについて決定される。そうでない場合、ピクセルはゼロの値に設定される。閾値は様々な方法で決定することができるが、1または複数の実施形態では、隣り合うピクセルのガウシアン重み付け合計(Gaussian-weighted sum)を実行し、この合計から小さな負の定数値を減算することによって閾値が決定される。小さい定数値は、様々な値であるように選択されてもよい。1または複数の実施形態では、最大ピクセル値は255であり、定数値は-15に設定されてもよい。ガウシアン重み付け合計に含まれる隣り合うピクセルは、様々なメトリックス(metrix)によって選択され得る。1または複数の実施形態では、画像の最小寸法の2%のサイズのピクセルの正方形ブロック内にある、隣り合うピクセルが選択され得る。代替的に、画像のサイズに依存せずに、多数の隣り合うピクセルが選択されてもよい。上記の方法で閾値を決定することによって(ガウシアン重みづけ合計を使用し、この和から小さな負の定数を減算する)、テキスト文字を含む入力画像について、鮮明で、高コントラスト境界を有するエッジが、一定またはほぼ一定の色値(color value)で満たされた領域にわたって広くマークされる傾向がある。
【0020】
二値画像は、さらに処理され、最終エッジマスクを作成するためにノイズを除去してもよい。接続されたコンポーネント、または互いに連続して接続されているマークされたピクセルを識別し、接続されたコンポーネントのうちの小さいもの(たとえば、2、または3以下のピクセル、または3以下の接続されているマークされたピクセル)を除去することによって、ノイズを除去することができる。
【0021】
ステップS115では、エッジ画像が生成される。ここで、エッジ画像はエッジマスクから得られる。1または複数の実施形態では、得られたエッジ画像がエッジマスクと同じであってもよい。
【0022】
1または複数の実施形態では、得られたエッジ画像もまた、入力画像のピクセルを、ブランクバックグラウンド上の、エッジマスク内のマークされたエッジに対応する位置に配置することによって生成され得る。言い換えれば、入力画像からのカラーまたはグレースケールの値は、エッジマスクのマークされた各ピクセルに挿入され、エッジマスクのカラーバージョンまたはグレースケールバージョンを生成する。カラー化又はグレースケールのエッジは、典型的には白色であるように選択されるブランクバックグラウンド上に設定される。
【0023】
ステップS120において、1または複数の推定テキスト領域がエッジマスク内で識別される。推定テキスト領域は、マークされたピクセルの所定の割合が潜在的な水平および垂直テキストライン内にあるポリゴンである。以下の図2の説明において、推定テキスト領域の識別についてのさらなる情報が提供される。
【0024】
ステップS125において、第1のOCR操作を実行することによって、テキスト文字の第1のセットが抽出される。第1のOCR操作は、得られたエッジ画像のうち、推定テキスト領域の各々に対応する1または複数の推定テキスト部分の各々に対して実行される。言い換えれば、第1のOCR操作は、エッジ画像に対して、かつエッジマスクの推定テキスト領域に対応するエッジ画像の部分においてのみ実行される。上述のように、1または複数の実施形態では、エッジ画像がエッジマスクと同じであってもよく、他の実施形態ではエッジ画像がエッジマスクのカラー化バージョンである。このように、第1のOCR操作を、テキストを含む可能性が高いと判断されたエッジ画像の個々の部分内でのみ実行されるように制限することによって、OCR操作の結果をより正確にすることができる。OCR操作は、任意の光学文字認識プロセス、任意のインテリジェント文字認識(ICR:Intelligent character recognition)プロセス、または画像からテキスト文字を抽出する任意の他のプロセスであり得る。
【0025】
1または複数の実施形態では、ステップS125が、オプションのステップS105において画像クラスとして分類された入力画像の初期領域の境界内にもあるエッジ画像の推定テキスト部分内でのみ実行される。他の実施形態では、入力画像全体が画像クラスの初期領域の一つとして扱われてもよく、したがって、ステップS125が入力画像全体に適用される。
【0026】
任意選択のステップS130では、得られたエッジ画像の1または複数の初期部分の各々に対して第2のOCR操作を実行することによって、テキスト文字の第2のセットが抽出される。これらの初期部分の各々は、1)画像クラス以外のコンテンツクラスのうちの1つとして分類され、および2)画像クラスとして処理されるように選択された、入力画像の初期領域に対応する。ステップS125の第1のOCR操作とは対照的に、第2のOCR操作は、推定テキスト領域のみを用いて実行されるように制約されない。代わりに、第2のOCR操作は、画像クラスとして処理されるように選択された各初期領域に対応するエッジ画像の全体部分に対して実行される。1または複数の実施形態では、初期領域のコンテンツクラスによって判定された、テキスト抽出処理が試みられて失敗するときに、これらの非画像初期領域が画像クラスとして処理されるように選択される。すなわち、例えば、初期領域をフローチャートクラスに分類したが、フローチャートテキスト抽出処理が失敗した場合に、画像として処理するように選択されてもよい。このような場合、第2のOCR操作は、フローチャートクラスの初期領域全体に対応するエッジ画像の一部に対して実行される。
【0027】
ステップS135では、第1および第2のOCR操作によって抽出された第1および第2のテキスト文字セットに対応する画像文字を入力画像から消去することによって、修正画像が生成される。すなわち、ステップS125およびステップS130で抽出された各テキスト文字に対応する入力画像内の文字が、入力画像から消去される。このステップでは任意の消去処理を使用することができるが、1または複数の実施形態では以下の処理が使用される。OCRによって抽出されたテキスト文字に対応する画像内の各文字について、バウンディングボックスは、画像文字を囲む矩形ボックスとして定義される。バウンディングボックス内で、カラーまたはグレースケールの値は、バウンディングボックスのすぐ外側のピクセルに適用される補間処理によって決定される。例えば、座標(x、y)の左上コーナーを含むとともに、右下コーナーの座標(x+w、y+h)を含まない文字バウンディングボックスが与えられると、ピクセル(x+j、y+i)の新しい値(0≦j<wおよび0≦i<h)は、バウンディングボックスの4つのコーナーのすぐ外側のピクセルの値に基づく補間関数の値に設定される。このようにして、文字の下のバックグラウンドの外観を維持しながら、画像文字が元の入力画像から除去される。
【0028】
ステップS140では、抽出された第1および第2のテキスト文字セットを修正画像上に重ね合わせることによって、新しい文書が生成される。1または複数の実施形態では、これはテキスト文字および修正画像の両方を保持するためのコンテナを生成することを伴い得る。例えば、1または複数の実施形態では、Microsoft(登録商標) Word文書を生成することができ、修正画像を、ステップS125で抽出された特定の推定テキスト領域に対応するテキスト文字のブロックを有するグループに配置することができる。同様に、特定の非画像クラスの初期領域に対応するテキスト文字の別のブロックを、Microsoft Word文書のグループに配置することもできる。このようにして、テキストブロックおよび修正画像の位置は、入力画像上の元の文字の位置に近似するように、互いに相対的に位置決めされ得る。
【0029】
図2は、本発明の1または複数の実施形態に係る、ステップS120の推定テキスト領域を識別するための方法のフローチャートを示す。本発明の1または複数の実施形態では、図2に示されるステップのうちの1または複数のステップが図2に示される順序とは異なる順序で、組み合わされ、省略され、反復され、および/または実行され得る。したがって、本発明の範囲は、図2に示されるステムの特定の配置に限定されると見なされるべきではない。
【0030】
ステップS200では、テキストの水平ライン候補およびテキストの垂直ライン候補がエッジマスク内で識別される。テキストのライン候補は、テキストの典型的な水平または垂直配列に配置されたテキスト文字のラインに対応し得る任意の単一ラインである。当業者にはテキストのラインを識別するためのいくつかの既知のプロセスがあり、これらのうちのいずれかを使用して、テキストの水平および垂直ラインの候補を識別することができることを認識するのであろう。
【0031】
ステップS205では、所定のピクセル数よりも小さい幅または高さを有するテキストの任意の水平ライン候補が除去され、それによって、実際のテキストを含むには小さすぎるテキストの水平ライン候補が減る。同様に、所定のピクセル数よりも小さい幅または高さを有するテキストの任意の垂直ライン候補が除去され、それによって、テキストを含むには小さすぎるテキストの垂直ライン候補が減る。1または複数の実施形態ではこの所定ピクセル数を6ピクセルの幅および高さとして選択することができるが、他のピクセル数を選択することもできる。
【0032】
ステップS210では、隣り合った、または重なり合った残りのテキストの水平ライン候補および垂直ライン候補が、1または複数のグループ候補にグループ化される。言い換えれば、ステップS205において小さなテキストの水平ライン候補および垂直ライン候補を除去した後、残されたライン候補は、それらが傍にある、近くにある、または接触している場合、一緒にグループ化される。このようにして、入力画像内のテキストのブロックの一部であるテキスト文字は、グループにまとめられる傾向がある。
【0033】
ステップS215では、ステップS210のグループから1または複数のポリゴン候補が生成される。ステップS210のグループ内のテキストの水平ライン候補およびテキストの垂直ライン候補は、一緒に結合され、ライン候補が重なっているまたは交差している任意のデュプリケートセクション(duplicate section)が除去される。このようにして、テキストを含み得るエッジマスクの領域を画定するポリゴン候補が生成される。
【0034】
ステップS220では、ステップS215のポリゴン候補の各々がテキストを含みそうかどうかが判定される。各ポリゴン候補がテキストを含みそうかどうかを判定するために、潜在的な水平テキストラインおよび潜在的な垂直テキストラインが各ポリゴン候補内で識別される。水平および垂直テキストラインは、それぞれ、水平または垂直テキストを有する可能性があるポリゴン候補内の領域である。潜在的な水平および垂直テキストラインの識別は、画像内のテキストラインを識別するための様々なプロセスによってなされ得るが、1または複数の実施形態ではこれらのテキストラインが膨張(dilation)および収縮(erosion)操作を使用して識別される。
【0035】
具体的には、潜在的な水平テキストラインを識別するために、ワイドカーネルが使用され得る。ここで、カーネルは、膨張および収縮操作を実行するための形状を定義する小さなバイナリアレイである。したがって、ワイドカーネルはアレイである(この場合、1のアレイのサイズは、高さよりも幅が大きい1アレイロウ)。膨張および収縮操作の場合、ルールが画像のすべてのピクセルに適用され、カーネルは、ルールの基礎となる近傍ピクセルの近さを定義する。膨張では、特定のピクセルの近傍内のいずれかのピクセルがマークされる場合、特定のピクセルが、膨張操作後にマークされる。収縮では、特定のピクセルの近傍内のいずれかのピクセルがマークされていない場合、ピクセルは、収縮操作後にマークされない。このようにして、次の1または複数の膨張操作は、水平に分散されたテキスト文字を1つのワイドライン形状に組み合わせる傾向があり、次の収縮操作は、ラインの水平サイズをテキストラインの元のサイズに戻して減らす傾向がある。
【0036】
潜在的な垂直テキストラインは潜在的な水平テキストラインと同様の方法で見つけることができるが、幅よりも高さの大きいカーネル(すなわち、1のアレイのサイズは、幅よりも高さが大きいアレイカラム)を使用する。代替的に、エッジマスク又はエッジマスクの領域は、代わりに、幅および高さ寸法が逆となるように転置し、効果的に、垂直テキストラインを水平テキストラインにしてもよい。このようにして、潜在的な垂直テキストラインも、潜在的な水平テキストラインを識別するために使用される処理と同じ処理を使用して識別され得る。
【0037】
各ポリゴン候補内で、第2の所定数のピクセルよりも小さい高さまたは幅を有する潜在的な水平および垂直テキストラインが除去される。第2の所定数のピクセルは任意の数であるように選択され得るが、1または複数の実施形態では第2の所定数のピクセルは1~3ピクセルであるように選択される。
【0038】
ポリゴン候補の各々が水平テキストを含みそうかどうかは、ポリゴン候補内のマークされたピクセルの所定の割合が残りの潜在的な水平テキストライン内にもあるかどうかを決定することによって、判定される。同様に、ポリゴン候補の各々が垂直テキストを含みそうかどうかも、ポリゴン候補内のマークされたピクセルの所定の割合が残りの潜在的な垂直テキストライン内にもあるかどうかを決定することによって、判定される。所定の割合は様々な値であるように選択することができるが、1または複数の実施形態では所定の割合が45%であるように選択することができる。このようにして、ポリゴン候補内のピクセルの45%以上が、ポリゴン候補に関連する潜在的な水平または垂直テキストラインのいずれかに含まれる場合、ポリゴン候補がテキストを含む可能性が高い。しかしながら、この基準を満たすような、ポリゴン候補内のマークされたピクセルが45%未満である場合、ポリゴン候補がテキストを含む可能性は低い。ポリゴン候補内のコンテンツが高い割合でテキストのロウまたはカラムの大まかなジオメトリに適合しないためである。この場合、ポリゴン候補は、自然画像またはベクトルグラフィックスなどの非テキストコンテンツを含む可能性がより高い。
【0039】
ステップS225において、テキストを含みそうであると判定されなかったポリゴン候補が除去される。このようにして、ステップS120の推定テキスト領域のセットが識別される。
【0040】
図3は、本発明の1または複数の実施形態に係る入力画像300の図を示す。この例では、入力画像がいくつかのテキストクラス領域310、またはテキストクラスとして分類された初期領域を含む。入力画像はまた、いくつかの画像クラス領域320、または画像クラスとして分類される初期領域を含む。入力画像300は、この図に類似する画像に限定されない。入力画像は、任意の数の入力領域およびコンテンツクラスの任意の組み合わせを含む任意のタイプの画像であり得り、画像クラスとして分類された1の初期領域のみを有する場合を含む。
【0041】
図4は、本発明の1または複数の実施形態に係り、上述のステップS110によって生成され得るエッジマスクの図を示す。エッジマスクは二値画像であり、1または複数の実施形態では、バックグラウンドピクセルが黒に設定され、入力画像300内の任意の特徴のエッジが白色ピクセルとしてマークされる。
【0042】
図5は、本発明の1または複数の実施形態に係るエッジ画像500の図を示す。ステップS115で説明したように、エッジ画像はエッジマスク400から得られ、1または複数の実施形態では、エッジマスクと同じであってもよい。他の実施形態では、エッジマスクが、エッジマスクのカラー化バージョンであってもよく、これはカラー値またはグレースケール値が入力画像300から取得される。この例では、入力画像300が白色のバックグラウンド上に黒色の特徴を有しているので、得られたエッジ画像500は白色のバックグラウンド上にマークされた黒色のエッジとして示される。
【0043】
図6は、本発明の1または複数の実施形態に係る、エッジマスク400上に示される例示的なテキストの水平ライン候補610および例示的なテキストの垂直ライン候補620の図600を示す。これらの例示的なテキストの水平ライン610および垂直ライン620は、ステップS200で説明したように識別される。
【0044】
図7は、本発明の1または複数の実施形態に係る、エッジマスク400上に示される例示的な推定テキスト領域710の図700を示す。これらの例示的な推定テキスト領域は、ステップS200~S225で説明したように識別される。
【0045】
図8は、本発明の1または複数の実施形態に係る例示的な修正画像800の図を示す。修正画像800は入力画像300から得られ、ここでは、ステップS135に従って、ステップS125およびS130で抽出されたテキスト文字に対応する入力画像300内の文字が消去されている。入力画像300に酷似するが、テキストの編集可能である文書を生成するため、ステップS140に従って、ステップS125およびS130で抽出されたテキスト文字のブロックが修正画像800上に重ね合わされてもよい。
【0046】
本発明の実施形態は、使用されているプラットフォームにかかわらず、事実上任意のタイプのコンピューティングシステム上で実装され得る。例えば、コンピューティングシステムは1または複数のモバイルデバイス(例えば、ラップトップコンピュータ、スマートフォン、携帯情報端末(PDA:Personal digital assistans)、タブレットコンピュータ、または他のモバイルデバイス)、デスクトップコンピュータ、サーバ、サーバシャーシ内のブレード、または本発明の1または複数の実施形態を実行するための少なくとも最小処理能力、メモリ、および入出力デバイスを含む任意の他のタイプのコンピューティングデバイスであり得る。たとえば、図9に示すように、コンピューティングシステム(900)は1または複数のコンピュータプロセッサ(902)、関連メモリ(904)(たとえば、ランダムアクセスメモリ(RAM)、キャッシュメモリ、フラッシュメモリなど)、1または複数の記憶デバイス(906)(たとえば、ハードディスク、コンパクトディスク(CD:Compact disk)ドライブまたはデジタル多用途ディスク(DVD:Digital versatile disk)ドライブなどの光ドライブ、フラッシュメモリスティックなど)および多数の他の要素および機能を含んでいてもよい。コンピュータプロセッサ(902)は、命令を処理するための集積回路であってもよい。たとえば、コンピュータプロセッサは、プロセッサの1または複数のコア、またはマイクロコアであり得る。コンピューティングシステム(900)はまた、タッチスクリーン、キーボード、マウス、マイクロフォン、タッチパッド、電子ペン、または任意の他のタイプの入力デバイスなど、1または複数の入力デバイス(908)を含み得る。さらに、コンピューティングシステム(900)はスクリーン(たとえば、液晶ディスプレイ(LCD:Liquid crystal display)、プラズマディスプレイ、タッチスクリーン、陰極線管(CRT:Cathode ray tube)モニタ、プロジェクタ、または他のディスプレイデバイス)、プリンタ、外部記憶装置、または任意の他の出力デバイスなど、1または複数の出力デバイス(910)を含み得る。出力デバイスのうちの1または複数は、入力デバイスと同じであってもよく、または異なっていてもよい。コンピューティングシステム(900)はネットワークインターフェース接続(図示せず)を介して、ネットワーク(912)(例えば、ローカルエリアネットワーク(LAN:Local area network)、インターネットなどのワイドエリアネットワーク(WAN:Wide area network)、モバイルネットワーク、または任意の他のタイプのネットワーク)に接続され得る。入力および出力デバイスは、局所的に、または、離れて(たとえば、ネットワーク(912)を介して)、コンピュータプロセッサ(902)、メモリ(904)、および記憶デバイス(906)に接続され得る。多くの異なるタイプのコンピューティングシステムが存在し、前述の入出力デバイスは、他の形態をとり得る。
【0047】
本発明の実施形態を実行するためのコンピュータ可読プログラムコードの形式のソフトウェア命令は、CD、DVD、記憶デバイス、ディスケット、テープ、フラッシュメモリ、フィジカルメモリ、または任意の他のコンピュータ可読記憶媒体などの非一時的コンピュータ可読媒体に、全体的にまたは部分的に、一時的にまたは永続的に記憶され得る。具体的には、ソフトウェア命令がコンピュータ可読プログラムコードに対応し得り、これは、プロセッサによって実行されたときに本発明の実施形態を実行するように構成される。
【0048】
さらに、前述のコンピューティングシステム(900)の1または複数の要素は、離れた位置に配置され、ネットワーク(912)を介して他の要素に接続され得る。さらに、本発明の1または複数の実施形態は、複数のノードを有する分散システム上で実装され得り、ここでは、本発明の各部分が分散システム内の異なるノード上に位置し得る。1または複数の実施形態では、ノードが異なるコンピューティングデバイスに対応する。あるいは、ノードが、関連フィジカルメモリを有するコンピュータプロセッサに対応してもよい。ノードは、代替的に、コンピュータプロセッサまたは、共有メモリおよび/またはリソースを有するコンピュータプロセッサのマイクロコアに対応し得る。
【0049】
本発明の実施形態のうちの1または複数の実施形態は画像からテキストを抽出するための従来の技術に対する以下の利点および改善点のうちの1つまたは複数を有し得る。自然画像、写真、コンピュータ生成画像、または任意のタイプの電子画像からテキスト文字を抽出する際の効率および精度を改善すること。それぞれが異なるクラスのコンテンツを含む画像内の複数の領域を有する画像からテキスト文字を抽出する際の効率および精度を改善すること。さらなるコンピュータ処理のために画像内からテキストを利用するための性能を改善すること。テキストが編集可能であるが、文書が元の画像の画像特性を保持する文書を生成すること。上記の利点のうちの1つまたは複数は画像または文書内のテキストデータを理解し、分析し、操作するユーザの能力を向上させることができる。
【0050】
限定された数の実施形態に関して本開示を説明してきたが、本開示の恩恵を受ける当業者は本発明の範囲から逸脱することなく、様々な他の実施形態が考案され得ることを理解するのであろう。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9