特許第6342298号(P6342298)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社東芝の特許一覧 ▶ 東芝ソリューション株式会社の特許一覧

特許6342298文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6342298
(24)【登録日】2018年5月25日
(45)【発行日】2018年6月13日
(54)【発明の名称】文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラム
(51)【国際特許分類】
   G06K 9/62 20060101AFI20180604BHJP
   G06K 9/20 20060101ALI20180604BHJP
   G06K 9/03 20060101ALI20180604BHJP
【FI】
   G06K9/62 620B
   G06K9/20 340J
   G06K9/03 J
【請求項の数】18
【全頁数】52
(21)【出願番号】特願2014-223173(P2014-223173)
(22)【出願日】2014年10月31日
(65)【公開番号】特開2016-91200(P2016-91200A)
(43)【公開日】2016年5月23日
【審査請求日】2017年3月28日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】浜田 伸一郎
(72)【発明者】
【氏名】長田 邦男
【審査官】 板垣 有紀
(56)【参考文献】
【文献】 特開2012−185722(JP,A)
【文献】 米国特許出願公開第2002/0131642(US,A1)
【文献】 特開平09−050485(JP,A)
【文献】 松尾 賢一 他,局所対象領域の2値化による情景画像からの文字列領域抽出,電気学会論文誌C,日本,(社)電気学会,2002年 2月 1日,第122-C巻 第2号,pp.232〜241
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/00 − 9/82
(57)【特許請求の範囲】
【請求項1】
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する検出部と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する第1認識部と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する推定部と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する第2認識部と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する出力部と、を備える文字認識装置。
【請求項2】
前記推定部は、直線状に並ぶ複数の前記顕在的テキスト領域の組であって、テキスト方向が前記顕在的テキスト領域の並び方向に一致する複数の前記顕在的テキスト領域の組を検出し、該組に含まれる2つの前記顕在的テキスト領域の間に挟まれた領域を前記隠れテキスト領域と推定して、該隠れテキスト領域を前記組に統合した領域を前記半隠れテキスト領域と推定する、請求項1に記載の文字認識装置。
【請求項3】
前記推定部は、前記入力画像の縁に接する前記顕在的テキスト領域を、該顕在的テキスト領域のテキスト方向と一致する方向に、前記縁から前記入力画像の外に延長したときの追加領域を前記隠れテキスト領域と推定し、該隠れテキスト領域を前記顕在的テキスト領域に統合した領域を前記半隠れテキスト領域と推定する、請求項1に記載の文字認識装置。
【請求項4】
前記推定部は、前記顕在的テキスト領域を、該顕在的テキスト領域のテキスト方向と一致する方向に、他の顕在的テキスト領域と重ならない範囲で延長したときの追加領域を前記隠れテキスト領域と推定し、該隠れテキスト領域を前記顕在的テキスト領域に統合した領域を前記半隠れテキスト領域と推定する、請求項1に記載の文字認識装置。
【請求項5】
前記第2認識部は、前記隠れテキスト領域のサイズに基づいて、該隠れテキスト領域に当てはめるテキスト候補を決定する、請求項1に記載の文字認識装置。
【請求項6】
前記第2認識部は、前記隠れテキスト領域のサイズに応じた空間コストをさらに統合した前記統合コストを算出する、請求項1に記載の文字認識装置。
【請求項7】
前記第2認識部は、前記隠れテキスト領域の発生原因に応じた空間コストをさらに統合した前記統合コストを算出する、請求項1に記載の文字認識装置。
【請求項8】
前記出力部は、推定される前記半隠れテキスト領域の候補が複数ある場合に、前記統合コストを用いて選択した前記半隠れテキスト領域に対する文字認識の結果を出力する、請求項1に記載の文字認識装置。
【請求項9】
一つまたは複数の前記顕在的テキスト領域または前記半隠れテキスト領域に対し、テキスト方向が一致し、かつ、該テキスト方向に対して垂直な方向に存在する領域である隠れテキスト行領域を統合した領域である複数行テキスト領域を推定する第2推定部をさらに備え、
前記第2認識部は、前記複数行テキスト領域が推定された場合、前記複数行テキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コスト、または前記複数行テキスト領域に含まれる前記統合コストと、前記複数行テキスト領域の全体に当てはめるテキストの言語的な尤度に応じた前記言語的コストとを統合した前記統合コストを、前記複数行テキスト領域に対する前記統合コストとして算出する、請求項1に記載の文字認識装置。
【請求項10】
前記第2推定部は、テキスト方向に対して垂直な方向に離れて存在する複数の前記顕在的テキスト領域または前記半隠れテキスト領域の組を検出し、該組に含まれる2つの前記顕在的テキスト領域または前記半隠れテキスト領域の間に挟まれた領域を前記隠れテキスト行領域と推定して、該隠れテキスト行領域を前記組に統合した領域を前記複数行テキスト領域と推定する、請求項9に記載の文字認識装置。
【請求項11】
前記第2推定部は、前記入力画像の縁に接する前記顕在的テキスト領域または前記半隠れテキスト領域を、該顕在的テキスト領域または該半隠れテキスト領域のテキスト方向に対して垂直な方向に、前記縁から前記入力画像の外に延長したときの追加領域を前記隠れテキスト行領域と推定し、該隠れテキスト行領域を前記顕在的テキスト領域または前記半隠れテキスト領域に統合した領域を前記複数行テキスト領域と推定する、請求項9に記載の文字認識装置。
【請求項12】
前記第2推定部は、前記顕在的テキスト領域または前記半隠れテキスト領域を、該顕在的テキスト領域または該半隠れテキスト領域のテキスト方向に対して垂直な方向に、他の顕在的テキスト領域と重ならない範囲で延長したときの追加領域を前記隠れテキスト行領域と推定し、該隠れテキスト行領域を前記顕在的テキスト領域または前記半隠れテキスト領域に統合した領域を前記複数行テキスト領域と推定する、請求項9に記載の文字認識装置。
【請求項13】
請求項1〜12のいずれか一項に記載の文字認識装置と、
前記文字認識装置が出力する文字認識の結果を、前記顕在的テキスト領域に対応するテキストと前記隠れテキスト領域に対応するテキストとを識別可能な形式で前記入力画像に重畳した表示画面を生成し、該表示画面をディスプレイに表示させる表示制御部と、を備える画像表示装置。
【請求項14】
前記表示制御部は、
前記半隠れテキスト領域に組み込まれなかった前記隠れテキスト領域の候補に対応するテキストを、前記半隠れテキスト領域に組み込まれた前記隠れテキスト領域の候補に対応するテキストと識別可能な形式で前記入力画像にさらに重畳した前記表示画面を生成して前記ディスプレイに表示させ、
前記表示画面上で前記半隠れテキスト領域に組み込まれなかった前記隠れテキスト領域の候補に対応するテキストを指定する操作が行われた場合に、該操作に応じて前記表示画面を更新する、請求項13に記載の画像表示装置。
【請求項15】
請求項1〜12のいずれか一項に記載の文字認識装置と、
画像蓄積部に蓄積された画像を前記文字認識装置に入力し、該文字認識装置が出力する文字認識の結果に基づき、入力した画像に対する索引を生成する索引生成部と、
前記索引を用いて、検索クエリに適合する画像を前記画像蓄積部から検索して出力する検索部と、を備える画像検索装置。
【請求項16】
前記索引生成部は、前記文字認識装置が出力する文字認識の結果に応じて異なる重みが与えられた前記索引を生成し、
前記検索部は、前記検索クエリに適合する画像を、該画像の前記索引に与えられた前記重みに応じて順位付けして出力する、請求項15に記載の画像検索装置。
【請求項17】
文字認識装置において実行される文字認識方法であって、
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する工程と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する工程と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する工程と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する工程と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する工程と、を含む文字認識方法。
【請求項18】
コンピュータに、
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する機能と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する機能と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域とを統合した領域である半隠れテキスト領域を推定する機能と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する機能と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムに関する。
【背景技術】
【0002】
従来、例えばスマートフォンに付属するカメラなどから入力した情景画像から文字を認識する技術が知られている。情景画像として撮影される情景には、実際には存在しているが隠されているために見えない文字が含まれていることがある。例えば、電柱などの遮蔽物によってその背後にある看板の文字が見えなかったり、白とびやピンボケなどによって特定範囲の文字が見えなかったりすることがある。しかし、従来の文字認識の技術では、顕在化している文字のみを認識対象とするため、このような隠れた文字が含まれないかたちで文字認識が行われる。
【0003】
文字認識の結果として得られるテキストを様々なテキスト応用で利用する場合、このような隠れた文字が認識されないことによるテキストの欠損が大きな問題となり得る。例えば、認識結果のテキストを翻訳する場合、一部の文字が欠けるだけで解析に大きな混乱を生じさせ、翻訳精度が大幅に低下する懸念がある。また、認識結果のテキストを元に画像検索を行う場合、文字の欠損は検索結果の再現率低下につながる。特に単語ベースの検索器の場合にその影響は大きくなる。このため、隠れた文字を補完するかたちで認識結果のテキストを得ることができる新たな技術の構築が望まれている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−185722号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、隠れた文字を補完するかたちで認識結果のテキストを得ることができる文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態の文字認識装置は、検出部と、第1認識部と、推定部と、第2認識部と、出力部と、を備える。検出部は、入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する。第1認識部は、前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する。推定部は、一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する。第2認識部は、前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する。出力部は、前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する。
【図面の簡単な説明】
【0007】
図1図1は、ブラインド現象を説明する図である。
図2図2は、部分欠損文字を説明する図である。
図3図3は、実施形態の文字認識装置の構成例を示すブロック図である。
図4図4は、隠れテキスト領域の例を示す図である。
図5-1】図5−1は、スポット方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートである。
図5-2】図5−2は、スポット方式による顕在的テキスト領域の検出の具体例を説明する図である。
図6-1】図6−1は、ラスタ方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートである。
図6-2】図6−2は、ラスタ方式による顕在的テキスト領域の検出の具体例を説明する図である。
図7図7は、文字パタン認識器による処理の手順を示すフローチャートである。
図8図8は、文字パタン認識が出力するラティスの一例を示す図である。
図9図9は、文字認識リジェクトを用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。
図10-1】図10−1は、部分欠損文字識別器を用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。
図10-2】図10−2は、部分欠損文字識別器を用いた部分欠損文字領域の検出の具体例を説明する図である。
図11図11は、半隠れテキスト領域推定器の構成例を示すブロック図である。
図12図12は、テキスト領域の統合方法を説明する図である。
図13図13は、分断型半隠れテキスト領域推定器による処理の手順を示すフローチャートである。
図14図14は、半隠れテキスト領域の構造例を示す図である。
図15図15は、フレームアウト切詰型半隠れテキスト領域の一例を説明する図である。
図16図16は、フレームアウト切詰型半隠れテキスト領域推定器による処理の手順を示すフローチャートである。
図17図17は、遮蔽切詰型半隠れテキスト領域の一例を説明する図である。
図18図18は、遮蔽切詰型半隠れテキスト領域を推定する処理の手順を示すフローチャートである。
図19図19は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。
図20図20は、横書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。
図21図21は、縦書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。
図22図22は、隠れテキスト領域のラティスの一例を示す図である。
図23図23は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。
図24図24は、半隠れテキスト領域のラティスの一例を示す図である。
図25図25は、統合可能な半隠れテキスト領域の例を説明する図である。
図26図26は、分断型ブラインド現象の認識例を説明する図である。
図27図27は、切詰型ブラインド現象の認識例を説明する図である。
図28図28は、実施形態の画像表示装置の構成例を示すブロック図である。
図29図29は、画像表示装置による表示画面の画面例を示す図である。
図30図30は、実施形態の画像検索装置の構成例を示すブロック図である。
図31図31は、索引を構築する処理の手順を示すフローチャートである。
図32図32は、ランキング処理の手順を示すフローチャートである。
図33図33は、従来の翻訳モデルの一例を説明する図である。
図34図34は、実施形態の翻訳モデルの一例を説明する図である。
図35図35は、原テキスト片のコストを算出する処理の手順を示すフローチャートである。
図36図36は、翻訳単位の重要度を算出する処理の手順を示すフローチャートである。
図37図37は、依存構造解析の結果の一例を示す図である。
図38図38は、ブラインド現象を説明する図である。
図39図39は、部分欠損行を説明する図である。
図40図40は、実施形態の行補完型文字認識装置の構成例を示すブロック図である。
図41図41は、隠れテキスト行領域の一例を示す図である。
図42図42は、複数行テキスト領域推定器の構成例を示すブロック図である。
図43図43は、テキスト行領域の統合方法を説明する図である。
図44図44は、複数行テキスト領域の構造例を示す図である。
図45図45は、分断型隠れテキスト行領域の一例を示す図である。
図46図46は、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理の手順を示すフローチャートである。
図47図47は、複数行テキスト領域を列挙する処理の手順を示すフローチャートである。
図48図48は、フレームアウト切詰型複数行テキスト領域の一例を示す図である。
図49図49は、フレームアウト切詰型複数行テキスト領域を推定する処理の手順を示すフローチャートである。
図50図50は、遮蔽切詰型複数行テキスト領域の一例を示す図である。
図51図51は、遮蔽切詰型複数行テキスト領域を推定する処理の手順を示すフローチャートである。
図52図52は、複数行テキスト領域ラティスの一例を示す図である。
図53図53は、文字認識装置のハードウェア構成の一例を概略的に示すブロック図である。
【発明を実施するための形態】
【0008】
以下、実施形態の文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムを、図面を参照しながら詳細に説明する。
【0009】
<第1実施形態>
実施形態の文字認識装置は、入力された画像(以下、「入力画像」と呼ぶ。)の中で文字(テキスト)を含むテキスト領域に対して文字認識を行う。この際、実際には存在するが隠されているために入力画像に現れていない文字を補完するかたちで文字認識を行い、認識結果のテキストを出力する。ただし、本実施形態の説明では、テキスト領域は単数行テキストが現れている画像領域を示すものとし、テキストが複数行に亘る場合は、各行を別々のテキスト領域として扱うものとする。
【0010】
(ブラインド現象の分類)
以下では、実際には存在する文字が隠される現象を「ブラインド現象」と呼ぶ。図1は、ブラインド現象を説明する図である。テキスト領域のどの位置の文字が隠されるかという観点から、ブラインド現象を「分断型」と「切詰型」の2種類に区別する。
【0011】
分断型は、図1(a)に示すように、テキスト領域の両端以外の文字列が隠されるパタンである。図1(b)は情景画像における分断型のブラインド現象の例であり、電柱などの遮蔽物のため、背後の看板の途中にある文字列が隠れている。図1(c)はスキャナで原稿を読み取ることで取得されるスキャン画像における分断型のブラインド現象の例であり、2行目のテキストの途中にある文字列がインクでつぶれている。
【0012】
切詰型は、図1(d)に示すように、テキスト領域の先頭や末尾の文字列が隠されるパタンである。図1(e)は情景画像における切詰型のブラインド現象の例であり、電柱などの遮蔽物のため、背後の看板の左端の文字列が隠れている。図1(f)は情景画像における切詰型のブラインド現象の別の例であり、看板が左にフレームアウトしており、左端の文字列が隠れている。図1(g)はスキャン画像における切詰型のブラインド現象の例であり、2行目のテキストの右端の文字列がインクでつぶれている。なお、以降の説明では、図1(e)および図1(g)で例示するブラインド現象を「遮蔽切詰型」、図1(f)で例示するブラインド現象を「フレームアウト切詰型」と呼んで、両者を区別する。
【0013】
(部分欠損文字現象)
以上のブラインド現象の分類は、文字単位での隠れ方に基づく分類である。しかし実際には、文字境界に合うように隠蔽されるとは限らず、図2(a),(b)に一例を示すように、文字の途中から隠蔽が始まることもある。この現象を「部分欠損文字現象」と呼び、当該文字およびその領域を「部分欠損文字」および「部分欠損文字領域」と呼ぶ。図2(a),(b)の例では、図中の破線で囲まれた領域が部分欠損文字領域である。部分欠損文字現象は、上記に分類したいずれのブラインド現象においても起こり、文字認識を混乱させる原因となりうる。本実施形態では、部分欠損文字現象についても併せて対処する。
【0014】
(本実施形態の処理における注意事項)
前述の通り本実施形態では、単数行テキストが現れている領域をテキスト領域として扱うものとし、テキストが複数行に渡る場合は、各行を別々のテキスト領域として扱うものとする。
【0015】
また、テキスト領域は矩形の領域であるものとする。射影ゆがみや回転などで変形されたテキスト領域については、前処理として、射影ゆがみや回転のある領域を検出して正対画像に補正した後に、本実施形態で説明する処理を行う。なお、正対画像に補正する技術は公知であるため、ここでは詳細な説明は省略する。
【0016】
また、横書きテキストのテキスト方向は左から右、縦書きテキストのテキスト方向は上から下であるとする。アラビア語などこれに合わない言語を対象とする場合は、テキスト方向を調整すればよい。
【0017】
(用語の定義)
本実施形態の説明で用いる領域に関する用語を以下にまとめる。
【0018】
顕在的テキスト領域:画像上に文字が連続的に現れている単数行テキストの矩形領域を「顕在的テキスト領域」と呼ぶ。ブラインド現象により文字が画像上に現れていない領域は当該領域外となる。
【0019】
隠れテキスト領域:本来文字が存在しているがブラインド現象によって隠蔽されている矩形領域を「隠れテキスト領域」と呼ぶ。
【0020】
半隠れテキスト領域:画像中の顕在的テキスト領域と隠れテキスト領域の任意の組のうち、1つの単数行テキストをなしていて互いに隣接する組から構成される1つの矩形領域を「半隠れテキスト領域」と呼ぶ。
【0021】
テキスト領域:顕在的テキスト領域、隠れテキスト領域、および半隠れテキスト領域を包含する上位概念を「テキスト領域」と呼ぶ。
【0022】
(文字認識装置の構成)
図3は、本実施形態の文字認識装置100の構成例を示すブロック図である。本実施形態の文字認識装置100は、図3に示すように、顕在的テキスト領域検出器110(検出部)と、文字パタン認識器120(第1認識部)と、部分欠損文字領域検出器130と、半隠れテキスト領域推定器140(推定部)と、半隠れテキスト領域ラティス生成器150および言語評価ベース文字認識器160(第2認識部)と、テキスト領域構造選択器170(出力部)と、を備える。なお、本実施形態の文字認識装置100では様々な推定処理が行われるが、推定結果に対する指標として一貫してコストを用いる。コストとは確信度やスコアと逆の概念を持つ指標であり、確信度が高いほどコストは小さくなる。
【0023】
顕在的テキスト領域検出器110は、入力画像Xから顕在的テキスト領域を検出する。顕在的テキスト領域検出器110の処理は既存技術を利用することができる。処理の具体例については詳細を後述する。
【0024】
文字パタン認識器120は、各顕在的テキスト領域に対して文字パタン認識を行い、テキスト候補をラティス形式で出力する。出力されるラティスは、文字パタン認識によって得られるテキスト候補に対応するパスを持ち、各パスに対して、対応するテキスト候補に対する文字パタン認識の尤度に応じたコスト(以下、「文字パタン認識コスト」と呼ぶ。)が与えられる。文字パタン認識器120の処理は既存技術を利用することができる。処理の具体例については詳細を後述する。
【0025】
部分欠損文字領域検出器130は、図2に例示したように部分欠損文字現象が生じた部分欠損文字領域を検出する。本実施形態では、認識コストが低い領域をリジェクトする方法と、部分欠損文字領域の検出器を用いて検出する方法との2種類を用意する。部分欠損文字領域が検出された場合、その文字が属する顕在的テキスト領域から当該部分欠損文字領域を除外する。これにより、顕在的テキスト領域には部分欠損文字は含まれなくなる。処理の具体例については詳細を後述する。
【0026】
半隠れテキスト領域推定器140は、検出された顕在的テキスト領域を元に隠れテキスト領域を推定し、さらにそれらを統合した半隠れテキスト領域を推定する。隠れテキスト領域の例を図4に示す。図4(a)〜(e)は、それぞれ図1に示したブラインド現象の具体例に対応しており、太線の枠で囲まれた領域が隠れテキスト領域である。
【0027】
半隠れテキスト領域推定器140は、例えば、顕在的テキスト領域の入力画像X上での絶対的または相対的な位置関係を元に、前述したブラインド現象の発生を検出し、隣接する隠れテキスト領域を推定する。ただし予測精度が低いため、この段階では確信度の低い候補も含めて過検出するようにし、後続処理で詳細な判定を行って絞り込む。処理の具体例については詳細を後述する。
【0028】
半隠れテキスト領域ラティス生成器150は、半隠れテキスト領域のラティスを生成する。半隠れテキスト領域とは、上述したように、入力画像X中の顕在的テキスト領域と隠れテキスト領域との任意の組のうち、1つの単数行テキストをなしていて互いに隣接する領域の組から構成される1つの矩形領域のことである。半隠れテキスト領域ラティス生成器150は、隠れテキスト領域に当てはめ可能な文字列候補をラティス形式で生成し、顕在的テキスト領域の文字列候補ラティスと連結することで、半隠れテキスト領域のラティスを得る。ただし、当てはめるテキスト候補については、隣接する顕在的テキスト領域と同等フォントを用いたときにテキストの画像表現に要すると推定されるサイズが、隠れテキスト領域のサイズとほぼ一致する、という制約を与える。
【0029】
また、半隠れテキスト領域のラティスには、隠れテキスト領域の空間コストを与える。空間コストの割り当て方法としては、空間的な観点から算出したコストを割り当てる方法と、隠れた原因を特定してその原因に応じたコストを割り当てる方法とを用意する。処理の具体例については詳細を後述する。
【0030】
言語評価ベース文字認識器160は、半隠れテキスト領域群および個別の顕在的テキスト領域群について、それぞれテキスト領域全体を通じた言語的評価を行い、その評価結果をこれまでに得た文字パタン認識コストと空間コストと合わせて総合的な文字認識を行う。つまり、言語評価ベース文字認識器160は、文字パタン認識コストおよび空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じたコスト(以下、「言語的コスト」と呼ぶ。)とを統合した統合コストを算出し、半隠れテキスト領域に対する総合的な文字認識を行う。これにより、半隠れテキスト領域に含まれる隠れテキスト領域は、半隠れテキスト全体を通じた言語的な適切性を与えるようなテキストのうち、なるべく小さな領域サイズに当てはまる場合に高く評価される。処理の具体例については詳細を後述する。
【0031】
テキスト領域構造選択器170は、入力画像Xから検出されたすべての顕在的テキスト領域を半隠れテキスト領域に組み込む統合方法を決定し、入力画像Xに含まれる各テキスト領域に対する文字認識結果Y1を出力する。この際、テキスト領域構造選択器170は、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識の結果として出力する。
【0032】
顕在的テキスト領域を半隠れテキスト領域へ組み込む方法には選択余地がある。例えば、3つの顕在的テキスト領域が直線状に並び、その間に隠れテキストが存在するとき、3組を1つの半隠れテキスト領域に統合するのか、2組のいずれかを半隠れテキスト領域に統合するのか、などの選択肢がある。あるいは切詰型ブラインド現象の場合、隠れテキスト領域の延長量に自由度がある。そこで、テキスト領域構造選択器170は、すべての可能な統合方法の中から、各テキスト領域のコストが最小となるような統合方法を選択する。そして、テキスト領域構造選択器170は、選択した統合方法に応じたテキスト領域に対する文字認識結果Y1を出力する。処理の具体例については詳細を後述する。
【0033】
以下では、本実施形態の文字認識装置100を構成する以上の各モジュールによる処理の詳細について説明する。
【0034】
(顕在的テキスト領域検出器)
顕在的テキスト領域検出器110は、入力画像Xを入力として受け取り、入力画像Xに含まれる顕在的テキスト領域をすべて検出して顕在的テキスト領域群を出力するモジュールである。この実現には既存技術を用いる。ここでは例として、スポット方式とラスタ方式に関する処理手順について説明する。
【0035】
スポット方式は、情景画像やチラシのスキャン画像ように、含まれるテキストがまばらである場合や、縦書きテキストおよび横書きテキストの両方が含まれるような画像の処理に適した方式である。図5−1は、スポット方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートであり、図5−2は、スポット方式による顕在的テキスト領域の検出の具体例を説明する図である。なお説明の簡便化のため、背景が明るく文字色が暗い場合で説明する。
【0036】
顕在的テキスト領域検出器110は、スポット方式により顕在的テキスト領域を検出する場合、以下のステップS101〜ステップS104の処理を行って、入力画像Xから顕在的テキスト領域を検出する。
【0037】
ステップS101:顕在的テキスト領域検出器110は、入力画像Xを二値化する(図5−2(a)参照)。
【0038】
ステップS102:顕在的テキスト領域検出器110は、黒色の隣接する画素同士を連結し(連結された画素クラスタを「連結成分」と呼ぶ。)、各連結成分の外接矩形を求める(図5−2(b)参照)。
【0039】
ステップS103:顕在的テキスト領域検出器110は、重なり合っている、または距離が閾値以下の矩形同士のクラスタ群を作り、各クラスタの外接矩形を顕在的テキスト領域とする(図5−2(c)参照)。
【0040】
ステップS104:顕在的テキスト領域検出器110は、各テキスト領域について縦横比からテキスト方向を推定する。具体的には、縦長であれば縦書き、横長であれば横書き、正方形に近い場合は不明とする(図5−2(d)参照)。
【0041】
ラスタ方式は、論文などのスキャナ画像のように、同じ方向(縦書き・横書き)のテキストが敷き詰めるように領域の大半を占めているような画像に向いている方式である。図6−1は、ラスタ方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートであり、図6−2は、ラスタ方式による顕在的テキスト領域の検出の具体例を説明する図である。なお説明の簡便化のため、背景が明るく文字色が暗くかつテキスト方向は横書きである場合で説明する。
【0042】
顕在的テキスト領域検出器110は、ラスタ方式により顕在的テキスト領域を検出する場合、以下のステップS201〜ステップS205の処理を行って、入力画像Xから顕在的テキスト領域を検出する。
【0043】
ステップS201:顕在的テキスト領域検出器110は、入力画像Xを二値化する(図6−2(a)参照)。
【0044】
ステップS202:顕在的テキスト領域検出器110は、黒色の画素数をラスタごとに集計する。
【0045】
ステップS203:顕在的テキスト領域検出器110は、集計結果の画素数が一定以上の各ラスタをテキスト領域ラスタとみなす。
【0046】
ステップS204:顕在的テキスト領域検出器110は、各テキスト領域ラスタのうち、黒色から開始し黒色で終わるスパンのうち白色が一定以上連続的に並ぶスパンを含まない局所最大のスパンを、テキスト領域スライス群とする(図6−2(b)参照)。
【0047】
ステップS205:顕在的テキスト領域検出器110は、互いに隣接するテキスト領域スライスの組をマージして得られた領域の外接矩形を顕在的テキスト領域とする(図6−2(c)参照)。
【0048】
(文字パタン認識器)
文字パタン認識器120は、顕在的テキスト領域検出部110により入力画像Xから検出された顕在的テキスト領域群を入力として受け取り、文字パタンとの照合結果として得られるテキスト候補群およびその文字パタン認識コストを表すラティスを出力するモジュールである。この実現には既存技術を用いる。以下では典型的な手順を大まかに説明する。
【0049】
図7は、文字パタン認識器120による処理の手順を示すフローチャートである。文字パタン認識器120は、顕在的テキスト領域検出部110により検出された顕在的テキスト領域群に対し、以下のステップS301〜ステップS309の処理を行う。ただし、字種ごとのパタンモデルを事前準備しておき、これを「字種パタン辞書」と呼ぶ。
【0050】
ステップS301:文字パタン認識器120は、顕在的テキスト領域群から顕在的テキスト領域を1つ取り出す。
【0051】
ステップS302:文字パタン認識器120は、ステップS301で取り出した顕在的テキスト領域を、適当な文字部品単位に領域分割する(これを「文字部品画像」と呼ぶ。)。
【0052】
ステップS303:文字パタン認識器120は、あらゆる文字列の中から照合すべき文字列候補を1つ選択する。
【0053】
ステップS304:文字パタン認識器120は、ステップS303で選択した文字列候補の前方から順に文字を1つ取り出す。
【0054】
ステップS305:文字パタン認識器120は、ステップS304で取り出した文字の字種サイズと適合する1以上の文字部品画像群をテキスト前方から取り出し、字種パタンと照合してコストを算出する。
【0055】
ステップS306:文字パタン認識器120は、ステップS303で選択した文字列候補からすべての文字を取り出したか否かを判定する。そして、判定の結果がYesであればステップS307に進み、NoであればステップS304に戻る。
【0056】
ステップS307:文字パタン認識器120は、あらゆる文字列候補について照合を行ったか否かを判定する。そして、判定の結果がYesであればステップS308に進み、NoであればステップS303に戻る。
【0057】
ステップS308:文字パタン認識器120は、各文字列候補に関する照合結果(字種+コストの列)を、ステップS301で取り出した顕在的テキスト領域のラティスとして統合して出力する。
【0058】
ステップS309:文字パタン認識器120は、顕在的テキスト領域群から顕在的テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がNoであればステップS301に戻り、Yesであれば処理を終了する。
【0059】
図8は、文字パタン認識器120が出力するラティスの一例を示す図である。ラティスの各ノードは認識文字とそのコストを持ち、開始ノードから終了ノードまでを結ぶパスにおいて、各ノードの文字を連結したものが文字パタンの認識結果であり、コストを合計したものが、文字パタン全体に対する文字パタン認識コストとなる。図8の例では、“cls”および“ds”の2種類が文字パタンの認識結果であり、それぞれの文字パタン認識コストは6.5および6.6である。
【0060】
(部分欠損文字領域検出器)
部分欠損文字領域検出器130は、図2で例示した部分欠損文字領域を検出するモジュールである。当該モジュールによって部分欠損文字領域が検出された場合、顕在的テキスト領域から当該領域が除去されて、文字パタン認識器120による処理が再度実行される。これを繰り返すことで、顕在的テキスト領域から部分欠損文字領域を完全に排除するのが当該モジュールの目的である。部分欠損文字領域検出器130の処理の方式としては、文字認識リジェクトを用いる方式と、部分欠損文字識別器を用いる方式とがある。
【0061】
部分欠損文字は、どの字種とも異なる形状をしているため、文字認識の処理を行った場合に認識コストが著しく高くなる。文字認識リジェクトを用いる方式は、これを利用した方式であり、認識コストが閾値以上なら部分欠損文字と判定する。
【0062】
図9は、文字認識リジェクトを用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。部分欠損文字領域検出器130は、文字認識リジェクトを用いて部分欠損文字領域を検出する場合、文字パタン認識器120が出力する文字パタン認識結果のラティスを用いて以下のステップS401〜ステップS403の処理を行い、部分欠損文字領域を検出する。
【0063】
ステップS401:部分欠損文字領域検出器130は、文字パタン認識器120が出力する文字パタン認識結果のラティスから、最小コストのパスを取り出す。
【0064】
ステップS402:部分欠損文字領域検出器130は、ステップS401で取り出した最小コストパスの先頭ノードのコストが閾値以上であれば、そのノードに対応する画像領域を部分欠損文字領域として出力する。
【0065】
ステップS403:部分欠損文字領域検出器130は、ステップS401で取り出した最小コストパスの末尾ノードのコストが閾値以上であれば、そのノードに対応する画像領域を部分欠損文字領域として出力する。
【0066】
なお、図9に示した上記の手順では、最小コストパスのみを用いたが、最小コストパスが必ずしも正しい認識結果とは限らない。このため、コストが下位k個のパスについてそれぞれステップS402およびステップS403の処理を行い、ORを取るなどの方法を用いるようにしてもよい。
【0067】
部分欠損文字識別器を用いる方式は、部分欠損文字領域かどうかを陽に判定する方式である。部分欠損文字画像と文字画像とを予め大量に準備し、これらを訓練データとした二値の識別器を生成する。続いて、テキスト領域を滑走する窓によってクリップされた画像に対して順に当該識別器を適用して、部分欠損文字領域を検出する。
【0068】
図10−1は、部分欠損文字識別器を用いて部分欠損文字領域を検出する処理の手順を示すフローチャートであり、図10−2は、部分欠損文字識別器を用いた部分欠損文字領域の検出の具体例を説明する図である。部分欠損文字領域検出器130は、部分欠損文字識別器を用いて部分欠損文字領域を検出する場合、以下のステップS501〜ステップS505の処理を行い、部分欠損文字領域を検出する。なお、部分欠損文字識別器は、大量の部分欠損文字画像と文字画像とを用いた確信度付き二値分類手法(例えばロジスティック回帰など)ベースの訓練処理によって予め生成済みであるとする。
【0069】
ステップS501:部分欠損文字領域検出器130は、判定の対象となる顕在的テキスト領域に関する、部分欠損文字への確信度の高さを示すヒートマップを用意する。ヒートマップの初期値は0とする。
【0070】
ステップS502:部分欠損文字領域検出器130は、判定の対象となる顕在的テキスト領域に対して滑走窓を適用して順に画像をクリップする(図10−2(a)および(b)参照)。
【0071】
ステップS503:部分欠損文字領域検出器130は、クリップされた画像に対して部分欠損文字識別器を適用して部分欠損文字への確信度を求め、ヒートマップの該当領域にその値を加算する。
【0072】
ステップS504:部分欠損文字領域検出器130は、判定の対象となる顕在的テキスト領域の範囲で画像をすべてクリップしたか否かを判定する。そして、判定の結果がYesであればステップS505に進み、NoであればステップS502に戻る。
【0073】
ステップS505:部分欠損文字領域検出器130は、ヒートマップの中で閾値を越える値を持ち、かつ両端に位置する領域を、部分欠損文字領域として出力する(図10−2(c)参照)。
【0074】
(半隠れテキスト領域推定器)
半隠れテキスト領域推定器140は、顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域を推定するモジュールである。半隠れテキスト領域推定器140は、顕在的テキスト領域検出器110により入力画像Xから検出された顕在的テキスト領域群を元に、隠れテキスト領域を推定する。さらに、半隠れテキスト領域推定器140は、得られた隠れテキスト領域群と顕在的テキスト領域群とを元に、可能な統合方法(すなわち半隠れテキスト領域)をすべて列挙する。
【0075】
隠れテキスト領域の推定処理は、分断型、フレームアウト切詰型および遮蔽切詰型の3タイプのブラインド現象それぞれについて、異なるモジュールによって異なる手順で処理が行われる。
【0076】
図11は、半隠れテキスト領域推定器140の構成例を示すブロック図である。半隠れテキスト領域推定器140は、図11に示すように、分断型半隠れテキスト領域推定器141と、フレームアウト切詰型半隠れテキスト領域推定器142と、遮蔽切詰型半隠れテキスト領域推定器143とを含む。半隠れテキスト領域推定器140に顕在的テキスト領域群T1が入力されると、まず、分断型半隠れテキスト領域推定器141で処理され、その後、フレームアウト切詰型半隠れテキスト領域推定器142または遮蔽切詰型半隠れテキスト領域推定器143での処理が行われる。半隠れテキスト領域推定器140は、これらの処理の結果を併せて、半隠れテキスト領域群T2として出力する。
【0077】
このため、分断型半隠れテキスト領域推定器141によって生成された半隠れテキスト領域群に対し、さらにフレームアウト切詰型半隠れテキスト領域推定器142または遮蔽切詰型半隠れテキスト領域推定器143によって隠れテキスト領域が付与される可能性がある。以上の3種類の処理は、アプリケーションに応じて必要なものだけを行うようにしてもよい。また、図11の構成例では、フレームアウト切詰型半隠れテキスト領域推定器142での処理と、遮蔽切詰型半隠れテキスト領域推定器143での処理が選択的に行われるように構成したが、フレームアウト切詰型半隠れテキスト領域推定器142と遮蔽切詰型半隠れテキスト領域推定器143を直列に繋いで、これらの処理を両方を実行できるように構成してもよい。
【0078】
以下では、分断型半隠れテキスト領域推定器141、フレームアウト切詰型半隠れテキスト領域推定器142、および遮蔽切詰型半隠れテキスト領域推定器143のそれぞれの処理の詳細について説明する。
【0079】
(分断型半隠れテキスト領域推定器)
分断型半隠れテキスト領域推定器141は、2つ以上の顕在的テキスト領域について、それらの間に隠れテキスト領域があるかどうかを、領域の位置やサイズに基づいて判定する。またその後、顕在的テキスト領域群と隠れテキスト領域群の任意の組合せを行って、可能性のある半隠れテキスト領域を列挙する。
【0080】
テキスト領域群の半隠れテキスト領域への統合において、その構成メンバーとなるテキスト領域に関して満たすべき条件を以下に列挙する。これらの条件を「テキスト領域統合条件」と呼ぶものとする。なお、これらのテキスト領域統合条件はすべてが必須の条件ではなく、入力画像Xの種類などに応じて半隠れテキスト領域への統合に必要とされる条件を適宜選択して使用すればよい。
【0081】
条件1:構成メンバーとなるテキスト領域の数は2以上である。
条件2:構成メンバーとなるテキスト領域は直線状に並び、テキスト方向と垂直なベクトルにテキスト領域を射影したときほぼ同じ線分になる(いずれも外接矩形に対してほぼ接している)。
条件3:構成メンバーとなる顕在的テキスト領域のうち、テキスト方向が不明でないものについては、いずれもテキスト領域が並ぶ方向にテキスト方向が一致する。
条件4:構成メンバーとなる顕在的テキスト領域に含まれる背景や文字色などの配色が類似している。
条件5:構成メンバーとなる顕在的テキスト領域に含まれる文字サイズの尺度が類似している。
条件6:構成メンバーとなる顕在的テキスト領域に含まれる深さの誤差が閾値以下である。
【0082】
条件6の深さとは、入力画像Xがカメラで撮影した画像である場合の撮影者からの距離(奥行き)のことであり、例えば、ライトフィールドカメラなど奥行きを検知可能なカメラで撮像された深さ情報付き画像(RGB−D画像)に含まれている情報である。情景画像において手前の遮蔽物と奥にある看板とを区別するなどの判断に利用できる。
【0083】
図12は、テキスト領域の統合方法を説明する図である。図12(a)は、顕在的テキスト領域と隠れテキスト領域とを横並びで統合して半隠れテキスト領域とする例を示しており、上記の条件1〜条件3を満たしている。図12(b)は、顕在的テキスト領域と隠れテキスト領域とを縦並びで統合して半隠れテキスト領域とする例を示しており、上記の条件1および条件2を満たしている。
【0084】
ここで、分断型半隠れテキスト領域推定器141による処理の具体例について、図13および図14を参照して説明する。図13は、分断型半隠れテキスト領域推定器141による処理の手順を示すフローチャートであり、図14は、半隠れテキスト領域の構造例を示す図である。分断型半隠れテキスト領域推定器141は、以下のステップS601およびステップS602の処理を行い、分断型半隠れテキスト領域を推定する。なお、ここではアルゴリズムを説明するため、すべての顕在的テキスト領域のテキスト方向は不明とする。
【0085】
ステップS601:分断型半隠れテキスト領域推定器141は、テキスト領域統合条件を満たす顕在的テキスト領域の組をすべて列挙する。図14の例の場合、ステップS601で列挙される顕在的テキスト領域の組は、(A,C)、(D,E)、(B,C)、(C,D)、(B,C,D)、(F,G)である。
【0086】
ステップS602:分断型半隠れテキスト領域推定器141は、ステップS601で得られた顕在的テキスト領域の各組に対し、隣り合う顕在的テキスト領域のペアに挟まれたすべての矩形領域を隠れテキスト領域として追加し、これらの組を半隠れテキスト領域として出力する。図14の例の場合、ステップS602で出力される半隠れテキスト領域は、(A,a,C)、(D,d,E)、(B,b,C)、(C,c,D)、(B,b,C,c,D)、(F,e,G)である。
【0087】
以降の処理では、横方向に連結した半隠れテキスト領域のテキスト方向は横方向、縦方向に連結した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【0088】
(フレームアウト切詰型半隠れテキスト領域推定器)
フレームアウト切詰型半隠れテキスト領域推定器142は、入力画像Xの縁(上下左右の辺)に接する顕在的テキスト領域または分断型半隠れテキスト領域141が出力した半隠れテキスト領域に対し、入力画像Xの辺の外側に隠れテキスト領域が存在すると仮定して、入力画像Xの辺の外側に領域を延長したものを半隠れテキスト領域として推定する。ただし分断型と異なり、隠れテキスト領域の大きさを決定する判断材料はない。したがって、予め定めた設定に従って入力画像Xの辺の外側に延長する領域の長さを決定する。延長する領域の長さの設定方法としては、例えば、文字サイズ尺度に基づく長さを用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。
【0089】
図15は、フレームアウト切詰型半隠れテキスト領域の一例を説明する図である。図15(a)は、入力画像Xの左辺に接する顕在的テキスト領域または半隠れテキスト領域を入力画像Xの左辺から外側に延長し、半隠れテキスト領域とする例を示している。図15(b)は、入力画像Xの下辺に接する顕在的テキスト領域または半隠れテキスト領域を入力画像Xの下辺から外側に延長し、半隠れテキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの長さで領域を延長する。
【0090】
図16は、フレームアウト切詰型半隠れテキスト領域推定器142による処理の手順を示すフローチャートである。フレームアウト切詰型半隠れテキスト領域推定器142は、以下のステップS701〜ステップS707の処理を行い、フレームアウト切詰型半隠れテキスト領域を推定する。
【0091】
ステップS701:フレームアウト切詰型半隠れテキスト領域推定器142は、分断型半隠れテキスト領域推定器141が出力した半隠れテキスト領域群および顕在的テキスト領域群の集合の中からテキスト領域を1つ取り出す。
【0092】
ステップS702:フレームアウト切詰型半隠れテキスト領域推定器142は、ステップS701で取り出したテキスト領域について、テキスト方向が横書きで、かつ、入力画像Xの左右いずれかの辺に接しているか否かを判定する。そして、判定の結果がYesであればステップS703に進み、NoであればステップS704に進む。
【0093】
ステップS703:フレームアウト切詰型半隠れテキスト領域推定器142は、ステップS701で取り出したテキスト領域を、設定に基づく長さだけ、当該テキスト領域が接している入力画像Xの左右いずれかの辺から画像外に延長し、これを新たな半隠れテキスト領域とする。
【0094】
ステップS704:フレームアウト切詰型半隠れテキスト領域推定器142は、ステップS701で取り出したテキスト領域について、テキスト方向が縦書きで、かつ、入力画像Xの上下いずれかの辺に接しているか否かを判定する。そして、判定の結果がYesであればステップS705に進み、NoであればステップS706に進む。
【0095】
ステップS705:フレームアウト切詰型半隠れテキスト領域推定器142は、ステップS701で取り出したテキスト領域を、設定に基づく長さだけ、当該テキスト領域が接している入力画像Xの上下いずれかの辺から画像外に延長し、これを新たな半隠れテキスト領域とする。
【0096】
ステップS706:フレームアウト切詰型半隠れテキスト領域推定器142は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS707に進み、NoであればステップS701に戻る。
【0097】
ステップS707:フレームアウト切詰型半隠れテキスト領域推定器142は、生成した半隠れテキスト領域群を出力する。
【0098】
以降の処理では、横方向に延長した半隠れテキスト領域のテキスト方向は横方向、縦方向に延長した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【0099】
(遮蔽切詰型半隠れテキスト領域推定器)
遮蔽切詰型半隠れテキスト領域推定器143は、すべての顕在的テキスト領域または分断型半隠れテキスト領域141が出力した半隠れテキスト領域について、テキスト前方側やテキスト後方側に隠れテキスト領域が存在すると仮定して、テキスト領域をテキスト方向に延長したものを半隠れテキスト領域として推定する。延長する領域の長さは、フレームアウト切詰型と同様、予め定めた設定に従って決定する。延長する領域の長さの設定方法としては、例えば、元のテキスト領域の文字サイズ尺度に基づく長さを用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。ただし、フレームアウト切詰型と異なり、延長する領域の長さに対する制約として、他の顕在的テキスト領域に重ならないという制約が加わる。
【0100】
図17は、遮蔽切詰型半隠れテキスト領域の一例を説明する図である。図17(a)は、テキスト方向が横方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で横方向に延長し、半隠れテキスト領域とする例を示している。図17(b)は、テキスト方向が縦方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で縦方向に延長し、半隠れテキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの長さで領域を延長する。
【0101】
図18は、遮蔽切詰型半隠れテキスト領域推定器143による処理の手順を示すフローチャートである。遮蔽切詰型半隠れテキスト領域推定器143は、以下のステップS801〜ステップS805の処理を行い、遮蔽切詰型半隠れテキスト領域を推定する。
【0102】
ステップS801:遮蔽切詰型半隠れテキスト領域推定器143は、分断型半隠れテキスト領域推定器141が出力した隠れテキスト領域群および顕在的テキスト領域群の集合の中からテキスト領域を1つ取り出す。
【0103】
ステップS802:遮蔽切詰型半隠れテキスト領域推定器143は、ステップS801で取り出したテキスト領域を、設定に基づく長さだけテキスト前方へ延長し、これを新たな半隠れテキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【0104】
ステップS803:遮蔽切詰型半隠れテキスト領域推定器143は、ステップS801で取り出したテキスト領域を、設定に基づく長さだけテキスト後方へ延長し、これを新たな半隠れテキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【0105】
ステップS804:遮蔽切詰型半隠れテキスト領域推定器143は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS805に進み、NoであればステップS801に戻る。
【0106】
ステップS805:遮蔽切詰型半隠れテキスト領域推定器143は、得られたすべての半隠れテキスト領域を出力する。
【0107】
以降の処理では、横方向に延長した半隠れテキスト領域のテキスト方向は横方向、縦方向に延長した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【0108】
(半隠れテキスト領域ラティス生成器)
半隠れテキスト領域ラティス生成器150は、半隠れテキスト領域推定器140によって生成された各半隠れテキスト領域について、領域全体を通じたテキスト候補をコスト付きで列挙するラティスを生成するモジュールである。半隠れテキスト領域ラティス生成器150は、例えば、隠れテキスト領域のラティスを生成した上で、文字パタン認識器120によって生成済の顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に連結したものを、半隠れテキスト領域のラティスとして出力する。この場合、隠れテキスト領域のラティスの生成処理においては、文字推定の手がかりとなる画像が隠れテキスト領域には存在しないため、領域のサイズを元に当てはまる文字列を候補とし、その候補を列挙するラティスを出力する方法を取る。
【0109】
図19は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器150は、以下のステップS901〜ステップS907の処理を行って、半隠れテキスト領域のラティスを生成する。
【0110】
ステップS901:半隠れテキスト領域ラティス生成器150は、入力画像Xに含まれる隠れテキスト領域を1つ取り出す。
【0111】
ステップS902:半隠れテキスト領域ラティス生成器150は、ステップS901で取り出した隠れテキスト領域について、コストなしラティスを生成する。この処理の詳細は後述する。
【0112】
ステップS903:半隠れテキスト領域ラティス生成器150は、ステップS902で生成した隠れテキスト領域のコストなしラティスに空間コストを付与する。この処理の詳細は後述する。
【0113】
ステップS904:半隠れテキスト領域ラティス生成器150は、未処理の隠れテキスト領域があるか否かを判定する。そして、判定の結果がNoであればステップS905に進み、YesであればステップS901に戻る。
【0114】
ステップS905:半隠れテキスト領域ラティス生成器150は、入力画像Xに含まれる半隠れテキスト領域を1つ取り出す。
【0115】
ステップS906:半隠れテキスト領域ラティス生成器150は、ステップS905で取り出した半隠れテキスト領域のラティス合成を行う。この処理の詳細は後述する。
【0116】
ステップS907:半隠れテキスト領域ラティス生成器150は、未処理の半隠れテキスト領域があるか否かを判定する。そして、判定の結果がYesであればステップS905に戻り、Noであれば処理を終了する。
【0117】
以下では、上記ステップS902の隠れテキスト領域のコストなしラティス生成、ステップS903の隠れテキスト領域ラティスへの空間コスト付与、およびステップS906の半隠れテキスト領域のラティス合成のそれぞれの処理の詳細を説明する。
【0118】
(隠れテキスト領域のコストなしラティス生成)
事前準備として、スケールが統一(字種n、高さYn、幅Xn)された3つ組データが格納された標準フォント辞書を用意する。また全字種の中で最大の高さをYmax、最大の幅をXmaxとする。隠れテキスト領域のコストなしラティス生成は、横書きの場合と縦書きの場合とで処理が異なる。以下、横書きの場合の処理と縦書きの場合の処理とを個別に説明する。
【0119】
図20は、横書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器150は、以下のステップS1001〜ステップS1004の処理を行って、横書きの隠れテキスト領域のコストなしラティスを生成する。
【0120】
ステップS1001:半隠れテキスト領域ラティス生成器150は、処理の対象とする半隠れテキスト領域の高さHと幅Wを取得する。
【0121】
ステップS1002:半隠れテキスト領域ラティス生成器150は、標準フォントに基づく尺度rをH/Ymaxで求める。
【0122】
ステップS1003:半隠れテキスト領域ラティス生成器150は、標準フォント辞書の各字種の幅をr倍する。これを「フィット幅」と呼ぶ。
【0123】
ステップS1004:半隠れテキスト領域ラティス生成器150は、候補テキストに含まれる各文字のフィット幅の合計値Xsumが、W−ε×r≦Xsum≦W+ε×r(εは許容誤差変数)となるような文字列をすべて求める。これがテキスト候補であり、これらのテキスト候補に対応するパスを持つラティスを、隠れテキスト領域のコストなしラティスとする。なお、許容誤差変数εの設定においては、テキスト行の周辺の余白を考慮してもよい。
【0124】
図21は、縦書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器150は、以下のステップS1101〜ステップS1104の処理を行って、縦書きの隠れテキスト領域のコストなしラティスを生成する。
【0125】
ステップS1101:半隠れテキスト領域ラティス生成器150は、処理の対象とする半隠れテキスト領域の高さHと幅Wを取得する。
【0126】
ステップS1102:半隠れテキスト領域ラティス生成器150は、標準フォントに基づく尺度rをW/Xmaxで求める。
【0127】
ステップS1103:半隠れテキスト領域ラティス生成器150は、標準フォント辞書の各字種の高さをr倍する。これを「フィット高さ」と呼ぶ。
【0128】
ステップS1104:半隠れテキスト領域ラティス生成器150は、候補テキストに含まれる各文字のフィット高さの合計値Ysumが、W−ε×r≦Ysum≦W+ε×r(εは許容誤差変数)となるような文字列をすべて求める。これがテキスト候補であり、これらのテキスト候補に対応するパスを持つラティスを、隠れテキスト領域のコストなしラティスとする。なお、許容誤差変数εの設定においては、テキスト行の周辺の余白を考慮してもよい。
【0129】
図22は、隠れテキスト領域のラティスの一例を示す図である。この図22の例は、半隠れテキスト領域の空間に当てはまるテキスト候補の文字列として、“w”と、“vv”と、“iii”とが挙げられた例である。なお、図22に示すラティスのノードcに割り当てられた数値は、次に説明する空間コストである。
【0130】
(隠れテキスト領域ラティスへの空間コスト付与)
空間コストとは、隠れテキスト領域の蓋然性に応じたコストである。空間コストを割り当てる方式としては、隠れテキスト領域のサイズに応じた空間コストを割り当てる方式と、ブラインド現象の原因に応じた空間コストを割り当てる方式とがある。前者はあらゆる領域に適用可能な汎用方式であり、後者はブラインド現象の特定原因に関して高い精度が期待できる特化方式である。互いに補完的であるため、コストの総和を用いるなど両者を併せ用いてもよい。それぞれの処理の詳細について、以下に説明する。
【0131】
(サイズに応じた空間コスト付与)
空間コストとして、次のような割り当てを行うものとする。
横書きの場合:−ln(α×e(−W/H)
縦書きの場合:−ln(α×e(−H/W)
ただし、隠れテキスト領域の高さはH、幅はWとし、αは予め与える調整用の定数である。隠れテキスト領域の生起確率を文字尺度で正規化された長さに対する指数分布に従うと仮定し、その負の対数尤度を空間コストとしている。したがって、隠れテキスト領域の大きさが大きくなるほど、この空間コストは増大する。
【0132】
なお、分断型、フレームアウト切詰型、遮蔽切詰型などの隠れテキスト領域の種類に応じて異なる係数αを与えてもよい。これらの係数αは、分断型、フレームアウト切詰型、遮蔽切詰型のそれぞれの事前確率に相当する。例えば、片端のみ顕在的テキスト領域で規定されている切詰型よりも、両端が顕在的テキスト領域に挟まれている分断型の方が蓋然性が高いと考えられる。また、同じ切詰型同士でも、画像辺というエビデンスがあるフレームアウト切詰型の方が、遮蔽切詰型よりも蓋然性が高いと考えられる。そのような蓋然性の違いを係数αの値の違いを用いて設定することができる。
【0133】
半隠れテキスト領域ラティス生成器150は、以上の方法を用いて入力画像X中のすべての隠れテキスト領域について、そのサイズに応じた空間コストを算出し、算出した空間コストの値を図22に例示したラティスのノードCに割り当てる。
【0134】
(ブラインド現象の原因に基づく空間コスト付与)
ブラインド現象の典型的な原因は、入力画像Xの種類に応じて事前に把握することができる。例えば、スキャン画像におけるブラインド現象の典型的な原因はインク潰れである。また、情景画像におけるブラインド現象の典型的な原因は、画像の白飛び、遮蔽物による隠蔽、フレームアウトなどである。このような原因を陽に検出した結果に基づいて、隠れテキスト領域のラティスに空間コストを割り当てるのが本方式である。この方式には、隠れテキスト領域の蓋然性をより正確に捉えることができる利点がある一方、特定の原因に対してしか適用できない欠点がある。したがって、上述のサイズに応じた空間コストの割り当てと併せ用いるのがよい。
【0135】
ここでは、ブラインド現象の原因として以下を扱うものとする。なお、以下の処理の性質上、フレームアウトは判定対象外である。
1:インク潰れの判定
2:画像の白飛びの判定
3:深さ情報に基づく遮蔽物の判定
4:特定オブジェクトに基づく遮蔽物の判定
【0136】
原因箇所の検出方法は以下の通りである。
1:対象領域の平均輝度が閾値以下の場合、当該領域はインク潰れを原因とするブラインド現象が生じた領域と判定する。
2:対象領域の平均輝度が閾値以上の場合、当該領域は画像の白飛びを原因とするブラインド現象が生じた領域と判定する。
3:対象領域の深さが、隣接する顕在的テキスト領域の深さよりも一定以上小さい場合、当該領域は遮蔽物を原因とするブラインド現象が生じた領域と判定する。
4:対象領域に特定オブジェクト検出処理(例えば顔検出処理)を適用し、特定オブジェクトが検出された場合、当該領域は遮蔽物を原因とするブラインド現象が生じた領域と判定する。
【0137】
以上の手順によって原因が検出された場合、それぞれの原因ごとに予め用意された定数値を空間コストとして割り当てる。また上記1〜4の検出器が確信度を伴う出力をする場合、その確信度に比例するようにコスト割り当てを行ってもよい。
【0138】
半隠れテキスト領域ラティス生成器150は、以上の方法を用いて入力画像X中のすべての隠れテキスト領域について、ブラインド現象の原因に応じた空間コストを算出し、算出した空間コストの値を図22に例示したラティスのノードCに割り当てる。
【0139】
(半隠れテキスト領域のラティス合成)
半隠れテキスト領域ラティス生成器150は、半隠れテキスト領域に含まれる顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に結合し、半隠れテキスト領域全体の候補テキスト群を示すラティスを生成する。
【0140】
図23は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器150は、以下のステップS1201〜ステップS1205の処理を行って、顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に結合し、半隠れテキスト領域のラティスを生成する。
【0141】
ステップS1201:半隠れテキスト領域ラティス生成器150は、単一ノードだけからなるラティスを用意する。このノードは、開始ノードかつ終了ノードである。このラティスを「統合ラティス」と呼ぶ。
【0142】
ステップS1202:半隠れテキスト領域ラティス生成器150は、半隠れテキスト領域に含まれるテキスト領域をテキスト順での前方(横書きであれば左、縦書きであれば上)から順に取り出す。
【0143】
ステップS1203:半隠れテキスト領域ラティス生成器150は、ステップS1202で取り出したテキスト領域のラティスを取り出し、当該ラティスの開始ノードを統合ラティスの終了ノードに接続する。
【0144】
ステップS1204:半隠れテキスト領域ラティス生成器150は、処理の対象となる半隠れテキスト領域からすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS1205に進み、NoであればステップS1202に戻る。
【0145】
ステップS1205:半隠れテキスト領域ラティス生成器150は、以上の手順を経た統合ラティスを、半隠れテキスト領域のラティスとして出力する。
【0146】
図24は、半隠れテキスト領域のラティスの一例を示す図である。図24に示すように、半隠れテキスト領域のラティスは、顕在的テキスト領域における文字パタン認識コストと、隠れテキスト領域における空間コストとを含むラティスになっている。
【0147】
(言語評価ベース文字認識器)
言語評価ベース文字認識器160は、これまでの処理によって得られた半隠れテキスト領域群および顕在的テキスト領域群それぞれについて、テキスト領域全体を通じた言語的評価を行い、文字パタン認識コスト、空間コスト、および言語的コストの3点を考慮した文字認識処理を行うモジュールである。
【0148】
言語的評価とは、予め用意した言語モデルを用いて、各テキスト候補に対する尤度を計算する処理である。これまでの処理によって、顕在的テキスト領域には文字パタン認識コストが反映されたラティスが与えられており、半隠れテキスト領域には、文字パタン認識コストと空間コストの両方が反映されたラティスが与えられている。ここでの処理は、これらのラティスに対して言語的評価を追加した合成ラティスを生成し、そのラティスの中での最小コストパスを見つけることである。この合成ラティスのそれぞれのパスのコストが、文字認識コストおよび空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語コストとを統合した統合コストに相当する。
【0149】
言語的評価の処理には、既存技術を用いる。一例として、WFST(重み付き有限状態トランスデューサ)を用いた処理の手順を以下に簡単に説明する。なお、WFSTを用いた言語的評価については、下記の参考文献に詳細が記載されている。
参考文献:Mohri,Mehryar,et al.“Full expansion of context-dependent networks in large vocabulary speech recognition.”Acoustics,Speech and Signal Processing,1998.Proceedings of the 1998 IEEE International Conference on.Vol.2.IEEE,1998.
【0150】
1:言語モデル構築器を用いて、確率的言語モデルを生成する。代表的な確率的言語モデルである生成的Ngramモデルを採用する場合、例えば、SRILM(http://www.speech.sri.com/projects/srilm/)、IRSTLM(https://hlt.fbk.eu/technologies/irstlm-irst-language-modelling-toolkit)などのソフトウェアを用いて構築することができる。また、PMI(Pointwise Mutual Information)に基づく確率言語モデルを用いるのも有効である。PMIは、予測すべきテキストの生成確率を、前後など周辺にあるテキストに基づいて予測するモデルであり、テキストの順序は無視する。看板などのテキストの場合は、こちらの方が有効である場合がある。
2:確率的言語モデルをWFSTに変換する。これをLとする。
3:文字列を単語列に対応付けるFSTを生成する。これをGとする。
4:評価対象のテキスト領域(顕在的テキスト領域または半隠れテキスト領域)のラティスをWFSTに変換する。これをXとする。
5:X・G・Lの合成処理を行い(ただし“・”は合成を示す演算子とする)、合成結果のWFSTを得る。これをYとする。
6:Yの中からコストが最小となる経路を探索する。探索結果のパスをPとする。
7:パスP上の各ノードに記載の文字を結合して得た文字列が予測解である。
【0151】
(テキスト領域構造選択器)
以上の処理で得られた半隠れテキスト領域群は、文字認識結果Y1の選択候補である。テキスト領域構造選択器170は、最終的に選択すべき半隠れテキスト領域群を決定する。そして、テキスト領域構造選択器170は、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識結果Y1として出力する。
【0152】
テキスト領域構造選択器170は、顕在的テキスト領域を最大1回だけ用いて半隠れテキスト領域群を生成するすべての統合方法のうち、生成される半隠れテキスト領域群および半隠れテキスト領域群に組み込まれなかった顕在的テキスト領域群のコストの合計が最小となる統合方法を選択する。この処理は、一般的な組合せ最適化問題にあたる。
【0153】
図25は、図14の左側に例示した顕在的テキスト領域に対して、統合可能な半隠れテキスト領域の例を列挙したものである。図中、ドットが書き込まれた領域が顕在的テキスト領域であり、破線で囲まれた白色の領域が隠れテキスト領域である。ただし、図を簡単にするため、切詰型による隠れテキストはなく、分断型による隠れテキストのみ存在しているとしている。この例の場合、(a)のように検出された顕在的テキスト領域群に対し、(b)〜(h)の7通りの方法で半隠れテキスト領域を推定することができる。(b)〜(h)の7通りの方法で推定される顕在的テキスト領域および半隠れテキスト領域に対しては、それまでの処理によってコストが算出済みであり、それらの合計コストが最小となる方法を選択する。なお、以上の処理結果として得られた半隠れテキスト領域群および顕在的テキスト領域群のうち、コストが閾値を上回るテキスト領域を認識結果から除去してもよい。
【0154】
ここで、以上のように構成される本実施形態の文字認識装置100による認識例を例示する。
【0155】
(分断型ブラインド現象の認識例)
図26は、分断型ブラインド現象の認識例を説明する図である。図26(a)および(b)に示す例は、遮蔽物によって遮蔽されている領域以外は同じ画像であり、遮蔽物によって分断された2つの顕在的テキスト領域の間の距離は、ともに連結可能な距離であるものとする。
【0156】
図26(a)の例の場合は、2つの顕在的テキスト領域の間を隠れテキスト領域とし、その隠れテキスト領域に「動物」を当てはめた「東京動物病院」が、文字認識結果Y1として出力される。一方、図26(b)の例の場合は、2つの顕在的テキスト領域の間を隠れテキスト領域とし、その隠れテキスト領域に「動物」を当てはめた「東京動物病院」が候補として挙がるが、分断幅が大きいためその間をつなぐ隠れテキスト領域の空間コストが大きくなること、および、顕在的テキストを別々に認識した「東京」と「病院」がどちらも言語的に妥当と判断されることから、これらを統合せずに別々のテキスト領域とする方法が選択され、「東京」と「病院」の2つのテキストが文字認識結果Y1として出力される。
【0157】
(切詰型ブラインド現象の認識例)
図27は、切詰型ブラインド現象の認識例を説明する図である。図27(a)は入力画像Xを示している。ここでは隠れテキスト領域を想定して領域を延長する長さとして、1文字分および2文字分のみが選択候補であるとする。図27(b)は、1文字分の隠れテキスト領域を想定して当てはまるテキストを探す例を示しており、図27(c)は、2文字分の隠れテキスト領域を想定して当てはまるテキストを探す例を示している。
【0158】
図27(b)の例では、例えば、「真直入(まっすぐ入る)」、「宿直入(しゅくちょくいり)」、「立直入(リーチ入る)」などが候補として挙げられる。これらの候補はいずれも言語的コストは高い(言語的コスト:大)。ただし、隠れテキスト領域が1文字分のサイズであるため、図27(c)の例よりも空間コストは低い(空間コスト:小)。一方、図27(c)の例では、例えば、「単刀直入」が候補として挙げられる。この候補は、言語的コストが低い(言語的コスト:小)。ただし、隠れテキスト領域が2文字分のサイズであるため、図27(b)の例よりも空間コストは高い(空間コスト:中)。
【0159】
図27(b)の例と図27(c)の例は、文字パタン認識コストは同じである。このため、空間コストと言語的コストが比較対象となる。この例では、言語的コストが低い図27(c)の「単刀直入」が選択され、文字認識結果Y1として出力される。
【0160】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の文字認識装置100では、顕在的テキスト領域検出器110が、入力画像Xから顕在的テキスト領域を検出し、文字パタン認識器120が、顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する。そして、半隠れテキスト領域推定器140が、顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域を推定し、半隠れテキスト領域ラティス生成器150および言語評価ベース文字認識器150が、半隠れテキスト領域に含まれる顕在的テキスト領域の文字認識コストおよび隠れテキスト領域の空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する。そして、テキスト領域構造選択器170が、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識結果Y1として出力する。
【0161】
したがって、本実施形態の文字認識装置100によれば、隠れた文字を補完するかたちで文字認識結果Y1としてのテキストを得ることができる。
【0162】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、第1実施形態の文字認識装置100を用いた画像表示装置の実施形態である。
【0163】
図28は、本実施形態の画像表示装置200の構成例を示すブロック図である。本実施形態の画像表示装置200は、図28に示すように、文字認識装置100と、表示画面生成器210と、再構造器220と、テキスト領域構造選択器230とを備える。
【0164】
本実施形態の画像表示装置200は、文字認識装置100によって入力画像Xから検出したテキスト領域に重畳するかたちで、文字認識結果Y1としてのテキスト(以下、「認識テキスト」と呼ぶ。)を表示する。この際、例えば、顕在的テキスト領域のテキストは青色、隠れテキスト領域のテキストは緑色といったように、テキストを色分けするなどして識別可能に表示することで、ユーザに対する注意喚起を行う。
【0165】
また、本実施形態の画像表示装置200は、オプショナルな機能として、文字認識装置100のテキスト領域構造選択器170によって不採用となった隠れテキスト領域を含む半隠れテキスト領域についても、文字認識結果Y1としてのテキストを表示する。この際、例えば、不採用となった隠れテキスト領域のテキストを赤色で表示するなど、採用された隠れテキスト領域のテキストと識別可能に表示する。
【0166】
図29は、本実施形態の画像表示装置200による表示画面Zの画面例を示す図である。図29では、「東京病院」というテキストと「美容院」というテキストが、入力画像Xから検出したテキスト領域に重畳表示されている。このうち、「美容院」の「容」の部分が不採用になった隠れテキスト領域のテキストである。本実施形態の画像表示装置200では、ユーザがこの不採用となった隠れテキスト領域のテキストをクリックするなど、所定の操作を行うと、その隠れテキスト領域を採用するかたちでテキスト領域構造を再構築して認識結果を再表示する。これにより、隠れテキスト領域の採否にエラーがあった場合に、ユーザ操作によって修正することができる。構造が変わることで統合方法が連鎖的に変わり、その結果、認識および推定されるテキスト内容も大幅に変わる場合がある。
【0167】
文字認識装置100は、第1実施形態で説明したように、入力画像Xを受け取り、各テキスト領域に関する認識テキストを出力する。本実施形態では、文字認識装置100は、認識テキストだけでなくその位置情報も併せて出力する。また、文字認識装置100は、上述したテキスト領域構造選択器170によって不採用となったテキスト領域も対象に含めて、そのテキスト領域の認識テキストを出力する。
【0168】
表示画面生成器210は、文字認識装置100から各テキスト領域に関する認識テキストおよびその位置情報を受け取り、入力画像X1の各テキスト領域の位置に認識テキストを重畳した表示画面Zを生成して、表示ディスプレイなどに表示させる。この際、表示画面生成器210は、例えば、顕在的テキスト領域に対応する認識テキストの表示色を青色、採用された隠れテキスト領域に対応する認識テキストの表示色を緑色、不採用となった隠れテキスト領域に対応する認識テキストの表示色を赤色とするといったように、各テキストを色分けして表示させることにより、これらのテキストを識別可能とする。
【0169】
再構造器220は、不採用となった任意の隠れテキスト領域を指定するユーザ操作Pを受け取ると、このユーザ操作Pにより指定された隠れテキスト領域を採用扱いとして固定したかたちでのテキスト構造の再構築を、テキスト領域構造選択器230に指示する。なお、例えばシフトキーを押しながらクリック操作を複数回繰り返すなど、2つ以上の不採用となった隠れテキスト領域を指定するユーザ操作Pを受け付けるようにしてもよい。
【0170】
テキスト領域構造選択器230は、文字認識装置100のテキスト領域構造選択器170と同様に組み合わせ最適化問題を解くことで、テキスト領域構造を再構築する。ただし、組み合わせ最適化問題を解く際に、ユーザにより指定の隠れテキスト領域をメンバーに持つ半隠れテキスト領域が、生成する半隠れテキスト領域群に含まれているとの制約条件が加わる。テキスト領域構造選択器230によってテキスト領域構造が再構築されると、表示画面生成器210により、再構築されたテキスト領域構造に従った表示画面が生成され、表示ディスプレイに表示される。
【0171】
以上説明したように、本実施形態の画像表示装置200は、文字認識装置100による認識結果のテキストをユーザに分かり易いかたちで提示することができる。また、この画像表示装置200は、ユーザ操作Pに応じてテキスト領域構造を再構築する機能を持つため、テキスト領域構造の推定誤りを修正するエディタとして利用することもできる。本実施形態の画像表示装置200により修正されたデータは、例えば、テキストの機械翻訳や次に説明する画像検索など、様々なテキスト応用で活用することができる。
【0172】
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態は、第1実施形態の文字認識装置100を用いた画像検索装置の実施形態である。
【0173】
図30は、本実施形態の画像検索装置300の構成例を示すブロック図である。本実施形態の画像検索装置300は、図30に示すように、文字認識装置100と、画像DB(データベース)310と、索引構築器320と、ランカ330とを備える。
【0174】
本実施形態の画像検索装置300は、ユーザからテキストによる検索クエリQを受け付けると、画像DB310に予め蓄積された画像群の中から、検索クエリQにマッチする画像群Rを返す。ただし、検索クエリQと画像DB310内の画像との照合には、文字認識装置100により画像に対して行った文字認識の認識テキストを用いる。すなわち、文字認識装置100が出力した認識テキストを、画像の索引として用いる。
【0175】
文字認識装置100は、第1実施形態で説明したように、ブラインド現象によって隠れたテキスト領域を含めたテキストを認識結果として出力するため、一部のテキストが隠れていても検索クエリQとマッチさせることができる。これにより、既存技術による画像検索よりも高い再現率を実現することができる。ただし、隠れ領域のテキストは顕在的テキスト領域のテキストよりも不確かであることから、文字単位で重みを変える処理を入れることで、精度(適合率とも呼ばれる)を向上させるようにしている。
【0176】
また、本実施形態の画像検索装置300は、オプショナルな機能として、文字認識装置100のテキスト領域構造選択器170によって採用された統合方法に含まれるテキスト領域のテキストだけでなく、不採用となった統合方法に含まれるテキスト領域のテキストも、索引として併せて用いる。さらに、各テキスト領域での最小コストの認識テキストだけでなく、コストに応じて順位付けされた順位が二位以下の認識テキストの候補も、索引として併せて用いる。これらにより、画像検索の再現率をさらに高めることができる。ただし、これらの索引の導入により精度が低下するため、それぞれの索引に対する重みを変える処理を加える。
【0177】
本実施形態では、単語ベクトルをベースとした検索処理を行う方式を採用する。ここで言う単語ベクトルとは、各次元に各語彙を対応付け、各ベクトル要素には該当する語彙の出現頻度を示す値を設定した高次元ベクトルを指すものとする。なお、実用的な検索システムには、定冠詞や助詞など検索には不要な語彙を除去する処理や、検索速度を高速する転置索引が搭載されていることが多いが、ここではそれらの機能については説明を省略する。また、検索クエリQとしては、空白で区切られた単語列を受け付けるものとする。
【0178】
本実施形態の画像検索装置300は、まず索引構築フェーズとして、画像DB310内の各画像に対して認識テキストを元に単語ベクトルを生成し、画像索引として登録する。検索フェーズでは、検索クエリQから単語ベクトルを生成し、各画像ごとに、画像索引として登録された各単語ベクトルとのコサイン尺度の合計(これを「検索スコア」と呼ぶ。)を順に計算し、これら検索スコアが大きい順に並べた画像群Rを出力する。画像索引としては、以下のテキストに基づく頻度に対して異なる重み(λ1〜λ8)をかけたものを利用する。なお、ベクトル同士の関連性の大きさを表す指標であれば、コサイン尺度以外の指標を用いてもよい。
λ1:採用された顕在的テキスト領域の第1候補の認識テキストに対する重み
λ2:採用された顕在的テキスト領域の第2候補の認識テキストに対する重み
λ3:採用された隠れテキスト領域の第1候補の認識テキストに対する重み
λ4:採用された隠れテキスト領域の第2候補の認識テキストに対する重み
λ5:不採用の顕在的テキスト領域の第1候補の認識テキストに対する重み
λ6:不採用の顕在的テキスト領域の第2候補の認識テキストに対する重み
λ7:不採用の隠れテキスト領域の第1候補の認識テキストに対する重み
λ8:不採用の隠れテキスト領域の第2候補の認識テキストに対する重み
【0179】
文字認識装置100は、第1実施形態で説明したように、入力画像Xを受け取り、各テキスト領域に関する認識テキストを出力する。本実施形態では、画像DB310に蓄積されている各画像である。
【0180】
索引構築器320は、画像DB310に蓄積されている各画像に対して、文字認識装置100により得られた認識テキストを索引として付与する処理を行う。この処理は、画像検索を開始するよりも前の時点で事前に行っておく処理である。
【0181】
図31は、索引を構築する処理の手順を示すフローチャートである。索引構築器320は、画像DB310に含まれる各画像に対して、以下のステップ1301〜ステップS1318の処理を行って、傾斜重みがかけられた単語ベクトルベースの索引を付与する。なお、以下の説明では、文字認識装置100のテキスト領域構造選択器170によって採用された統合方法に含まれる半隠れテキスト領域群および顕在化テキスト領域群を総じて「採用テキスト領域」と呼び、採用されなかった全統合方法(または上位N個の統合方法)に含まれる半隠れテキスト領域および顕在化テキスト領域を総じて「不採用テキスト領域」と呼ぶ。
【0182】
ステップS1301:索引構築器320は、要素値がすべて0の単語ベクトルを生成する。これを「画像索引ベクトル」と呼ぶ。
【0183】
ステップS1302:索引構築器320は、画像DB310から取り出した画像を文字認識装置100に入力し、採用テキスト領域を1つずつ順に取り出す。
【0184】
ステップS1303:索引構築器320は、ステップS1302で取り出した採用テキスト領域の第1候補のテキストを単語に分割し、語彙(w)ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度(N1w_i)および隠れテキスト領域での出現頻度(N2w_i)を集計する。
【0185】
ステップS1304:索引構築器320は、ステップS1303の集計結果を元に単語ベクトルを生成する。ただし、語彙(w)に当たる次元の要素値はλ1×N1w_i+λ2×N2w_iとする。
【0186】
ステップS1305:索引構築器320は、ステップS1304で生成した単語ベクトルを画像索引ベクトルに加算する。
【0187】
ステップS1306:索引構築器320は、ステップS1302で取り出した採用テキスト領域の第2候補のテキストを単語に分割し、語彙(w)ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度(N3w_i)および隠れテキスト領域での出現頻度(N4w_i)を集計する。
【0188】
ステップS1307:索引構築器320は、ステップS1306の集計結果を元に単語ベクトルを生成する。ただし、語彙(w)に当たる次元の要素値はλ3×N3w_i+λ4×N4w_iとする。
【0189】
ステップS1308:索引構築器320は、ステップS1307で生成した単語ベクトルを画像索引ベクトルに加算する。
【0190】
ステップS1309:索引構築器320は、採用テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がYesであればステップS1310に進み、NoであればステップS1302に戻る。
【0191】
ステップS1310:索引構築器320は、不採用テキスト領域を1つずつ順に取り出す。
【0192】
ステップS1311:索引構築器320は、ステップS1310で取り出した不採用テキスト領域の第1候補のテキストを単語に分割し、語彙(w)ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度(N5w_i)および隠れテキスト領域での出現頻度(N6w_i)を集計する。
【0193】
ステップS1312:索引構築器320は、ステップS1311の集計結果を元に単語ベクトルを生成する。ただし、語彙(w)に当たる次元の要素値はλ5×N5w_i+λ6×N6w_iとする。
【0194】
ステップS1313:索引構築器320は、ステップS1312で生成した単語ベクトルを画像索引ベクトルに加算する。
【0195】
ステップS1314:索引構築器320は、ステップS1310で取り出した不採用テキスト領域の第2候補のテキストを単語に分割し、語彙(w)ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度(N7w_i)および隠れテキスト領域での出現頻度(N8w_i)を集計する。
【0196】
ステップS1315:索引構築器320は、ステップS1314の集計結果を元に単語ベクトルを生成する。ただし、語彙(w)に当たる次元の要素値はλ7×N7w_i+λ8×N8w_iとする。
【0197】
ステップS1316:索引構築器320は、ステップS1315で生成した単語ベクトルを画像索引ベクトルに加算する。
【0198】
ステップS1317:索引構築器320は、不採用テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がYesであればステップS1318に進み、NoであればステップS1310に戻る。
【0199】
ステップS1318:索引構築器320は、以上の処理を経て生成された画像索引ベクトルを、ステップS1303で画像DB310から取り出した画像に対応付けて画像DB310に登録する。
【0200】
なお、認識テキストに含まれる単語が顕在的テキスト領域と隠れテキスト領域の両方に跨ることがある。その場合、上述した処理において、単語の頻度をその文字数で按分した結果を集計に用いるものとする。例えば、5文字の単語が顕在的テキスト領域に3文字、隠れテキスト領域に2文字出現する場合、当該単語が顕在的テキスト領域で0.6回、隠れテキスト領域で0.4回出現したとカウントする。
【0201】
ランカ330は、テキスト形式の検索クエリQを受け付けて、画像DB310に蓄積されている各画像に付与されている索引との照合を順に行って、検索クエリQにマッチする画像群Rをマッチングスコアが高い順に出力する。
【0202】
図32は、ランキング処理の手順を示すフローチャートである。ランカ330は、ユーザから入力された検索クエリQを元に、以下のステップS1401〜ステップS1407の処理を行い、上位ランクの画像群Rを出力する。
【0203】
ステップS1401:ランカ330は、単語ごとに空白で区切られた検索クエリQのテキストを入力として受理する。
【0204】
ステップS1402:ランカ330は、空白区切りを用いて検索クエリを単語に分割し、単語の二値ベクトルを生成する。なお、単語の二値ベクトルとは、語彙を各次元とし、語彙が含まれている要素に1を、それ以外には0を設定した高次元スパースなベクトルのことである。
【0205】
ステップS1403:ランカ330は、画像DB310から画像索引を順に取り出す。
【0206】
ステップS1404:ランカ330は、ステップS1403で画像DB310から取り出した画像索引の単語ベクトルと、ステップS1402で生成した検索クエリQの単語ベクトルとのコサイン尺度を計算する。
【0207】
ステップS1405:ランカ330は、未処理の画像索引があるか否かを判定する。そして、判定の結果がNoであればステップS1406に進み、NoであればステップS1403に戻る。
【0208】
ステップS1406:ランカ330は、各画像に対応付けられた画像索引のコサイン尺度を元に画像群をソートする。
【0209】
ステップS1407:ランカ330は、ステップS1407でソートされた上位ランクの画像群Rをコサイン尺度の高い順に出力する。
【0210】
以上説明したように、本実施形態の画像検索装置300は、画像DB310に蓄積された画像に対して隠れた文字を補完するかたちで認識された認識テキストを画像索引として用いて画像の検索を行うので、検索クエリQに対する再現率が高い高精度な画像検索を実現することができる。
【0211】
<第4実施形態>
次に、第4実施形態について説明する。第4実施形態は、第1実施形態の文字認識装置100を用いた翻訳装置の実施形態である。本実施形態の翻訳装置は、第1実施形態で説明した文字認識装置100によって得られた認識テキストに対して機械翻訳を行って、翻訳結果を表示する。この際、テキスト片の尤度と翻訳片の重要度とを加味して、翻訳結果を選択するようにしている。
【0212】
本実施形態の翻訳装置は、第1実施形態の文字認識装置100を用いて、半隠れテキスト領域、および半隠れテキスト領域に組み込まれなかった顕在的テキスト領域の文字認識を行い、その結果得られたテキストに対して、さらにターゲット言語への翻訳処理を行い、最尤の翻訳結果をユーザに提示する。
【0213】
翻訳処理には既存技術を用いる。既存技術による翻訳処理の多くは、原テキストを文節や句など扱いやすい適度な単位(これを「翻訳単位」と呼ぶ。)に分解して個別にターゲット言語へ翻訳したテキスト候補を列挙し、それらを組み合わせて、文などの全体テキストを構成する方式を取っている。
【0214】
図33は、従来の翻訳モデルの一例を説明する図である。この図33に示す例では、ソース言語で記載された原テキストを、(1)翻訳単位に分解し、(2)各翻訳単位に対してターゲット言語の翻訳テキストを割り当て、(3)それらをターゲット言語の文法に合うよう並べ替えを行い、(4)文として構成する手順となっている。この一連の翻訳処理プロセスによって生成される翻訳テキストの評価は、各翻訳単位の翻訳処理における負の対数尤度の平均値と、最終的に構成する文の言語的観点での負の対数尤度とを合算することで行う。この評価値を「翻訳コスト」と呼ぶ。(1)翻訳単位の分解、(2)翻訳テキスト割当、(3)並替えには、それぞれ複数候補があり、各段階の候補の組合せが全プロセスを通じた候補となる。先に述べた評価方法を用いて、全候補の中から最も翻訳コストの低いものを選ぶ。
【0215】
ここで、各翻訳単位には全体の翻訳テキストを決定する上で重要度の大小があることに注目する。例えば意味論的観点で考察した場合、動詞は文の意味を決定する上で最重要な要素である。あるいは構文解析をベースとした翻訳処理の場合、構文構造でのルートノードに近い翻訳単位ほど翻訳結果に与える影響は大きい。
【0216】
本実施形態において翻訳処理対象となる原テキストは、文字認識結果であるため不確かである。重要度の高い翻訳単位は他の翻訳単位に大きな影響を与えることから、その原テキストに対してより高い確信度を求めるべきである。換言すれば、重要度の低い翻訳単位の場合、原テキストが誤っていてもそれによって受ける被害は小さい。
【0217】
以上の考察から、本実施形態では、重要度の高い翻訳単位に対応する原テキスト片に対して高い確信度を求める、という翻訳候補の選択基準を持つ翻訳装置を提案する。
【0218】
図34は、実施形態の翻訳モデルの一例を説明する図である。図33に例示した従来の翻訳モデルと異なる点は、各翻訳単位について、その重要度と原テキストの文字認識コストとの積の平均(図34の太字部)を翻訳コストに加算する点である。これにより、高い確信度を持つ原テキスト片に対して重要度が高い翻訳単位を割り当てられた場合に、高く評価されるようになる。
【0219】
以下では、従来との差分要素である原テキスト片のコストの算出方法および重要度の算出方法について説明する。
【0220】
(原テキスト片のコストの算出方法)
半隠れテキスト領域および顕在的テキスト領域にあるテキストが翻訳対象であるが、半隠れテキスト領域のテキストの翻訳処理が顕在テキスト領域のテキストの翻訳処理を包含しているため、以下では半隠れテキスト領域のテキストの翻訳処理についてのみ説明する。
【0221】
半隠れテキスト領域のラティスは、図24に例示したような構造になっている。これを念頭において、以下に具体的な処理手順を示す。図35は、原テキスト片のコストを算出する処理の手順を示すフローチャートである。本実施形態の翻訳装置は、以下のステップS1501〜ステップS1502の処理を行って、原テキスト片のコストを算出する。
【0222】
ステップS1501:本実施形態の翻訳装置は、原テキスト片のコストをCとし、初期値として0を代入する。
【0223】
ステップS1502:本実施形態の翻訳装置は、原テキスト片のうち、顕在テキスト領域内にあるテキスト部T1と隠れテキスト領域内にあるテキスト部T2とに分ける。
【0224】
ステップS1503:本実施形態の翻訳装置は、顕在テキスト領域のラティスに記載されている各文字のコストを用いて、T1に該当するパスにある各文字のコストの総和をCに追加する。
【0225】
ステップS1504:本実施形態の翻訳装置は、隠れテキスト領域のラティス内でのT2の最尤パスの文字列長Lを数える。
【0226】
ステップS1505:本実施形態の翻訳装置は、隠れテキスト領域の空間コストをLで割り、T2の文字列長で掛けた値をCに追加する。
【0227】
ステップS1506:本実施形態の翻訳装置は、原テキスト片のコストCを出力する。
【0228】
以上の処理により算出される原テキスト片のコストCの具体例を説明する。対象となる原テキスト片が図24に例示した「clsii」である場合、顕在的テキスト領域に属する「cls」についてのコストは、2.5+1.2+2.8=6.5となる。また、隠れテキスト領域に属する「ii」についてのコストは、9.8/3×2=約6.53となる。したがって、原テキスト片「clsii」のコストCは、6.5+6.53=13.03となる。
【0229】
なお、以上の説明では、文字パタン認識コストと空間コストのみを対象としたが、文字認識装置100内で評価した言語モデルのコストを併せ用いるようにしてもよい。
【0230】
(翻訳単位の重要度の算出方法)
ここでは、構文解析の一種である依存構造解析を用いて翻訳単位の重要度を算出する手順を説明する。図36は、翻訳単位の重要度を算出する処理の手順を示すフローチャートである。本実施形態の翻訳装置は、以下のステップS1601〜ステップS1603の処理を行って、翻訳単位の重要度を算出する。
【0231】
ステップS1601:本実施形態の翻訳装置は、文に構成されたターゲット言語のテキストに対して依存構造解析を行う。図37は、依存構造解析の結果の一例を示す図であり、図34に示した文例の依存構造解析の結果を示している。ターゲット言語のテキストは、単語または形態素の木構造をなす。
【0232】
ステップS1602:本実施形態の翻訳装置は、木構造上の各ノードに対して重みを割り当てる。ただし、各ノードの重みは、自ノードまたは子孫ノードの総数とする。
【0233】
ステップS1603:本実施形態の翻訳装置は、翻訳単位のターゲット言語でのテキスト片に含まれる単語(または形態素)の重みの最大値を、翻訳単位の重要度とする。図37の例では、「I」の重みは1、「am」の重みは4、「a boy」の重みは2である。
【0234】
以上説明したように、本実施形態の翻訳装置によれば、隠れた文字を補完するかたちで認識された認識テキストを適切にターゲット言語に翻訳して、その翻訳結果をユーザに提示することができる。
【0235】
<第5実施形態>
次に、第5実施形態について説明する。第5実施形態は、第1実施形態の文字認識装置100とは異なる文字認識装置の実施形態である。以下では、本実施形態の文字認識装置を、第1実施形態の文字認識装置100と区別して、「行補完型文字認識装置」と呼ぶ。
【0236】
第1実施形態の文字認識装置100は、単行内での隠れたテキストを検出するが、本実施形態の行補完型文字認識装置は、隠れた行のテキストを検出する。この目的の違いから、第1実施形態の文字認識装置100は、顕在的テキスト領域に隣接した隠れテキスト領域しか検出しないが、本実施形態の行補完型文字認識装置は、行間などの考慮により、顕在的テキスト領域から離れた隠れテキスト領域も検出する。なお、本実施形態の行間型文字認識装置は、行内の隠れテキストの検出には第1実施形態の文字認識装置100を用いるものとする。
【0237】
(ブラインド現象の分類)
本実施形態で扱うブラインド現象について説明する。以下では、実際には存在するテキストの行が隠される現象を「ブラインド現象」と呼ぶ。図38は、本実施形態におけるブラインド現象を説明する図である。テキスト全体におけるどの位置の行が隠されるかという観点から、ブラインド現象を「分断型」と「切詰型」の2種類に区別する。
【0238】
分断型は、複数行テキストの両端以外の行が隠されるパタンである。図38(a)は、エレベータの操作パネルを被写体に含む情景画像における分断型のブラインド現象の例である。図38(a)に示す操作パネル内の各フロアボタンは、互いに離れているため独立した行として検出されているが、人体などによる遮蔽物あるいは画像の白飛びなどのため、フロアボタンの1つが隠れている。図38(b)は、スキャン画像における分断型のブラインド現象の例であり、2行目がインクでつぶれている。
【0239】
切詰型は、複数行テキストの先頭行または最終行が隠されるパタンである。図38(c)は情景画像における切詰型のブラインド現象の例であり、何らかの遮蔽物のため、背後の看板の最終行が隠れている。図38(d)は情景画像における切詰型のブラインド現象の別の例であり、看板が下にフレームアウトしており、最終行が隠れている。図38(e)はスキャン画像における切詰型のブラインド現象の例であり、先頭行がインクでつぶれている。なお、以降の説明では、図38(c)および図38(e)で例示するブラインド現象を「遮蔽切詰型」、図38(d)で例示するブラインド現象を「フレームアウト切詰型」と呼んで、両者を区別する。
【0240】
(部分欠損行現象)
以上のブラインド現象の分類は、行単位での隠れ方に基づく分類である。しかし実際には、行境界に合うように隠蔽されるとは限らず、図39(a),(b)に一例を示すように、行の途中から隠蔽が始まることもある。この現象を「部分欠損行現象」と呼び、「部分欠損行現象」が生じている行を「部分欠損行」と呼ぶ。「部分欠損行現象」は、第1実施形態で説明した部分欠損文字現象が行全体に及んだものと捉えることができる。本実施形態の行補完型文字認識装置は、内部で第1実施形態の文字認識装置100を用いるため、上述した部分欠損文字領域検出器130の処理により、部分欠損行全体が取り除かれることになる。このため、本実施形態では、部分欠損行現象について考慮に入れる必要はない。
【0241】
(用語の定義)
本実施形態の説明で用いる領域に関する用語を以下にまとめる。
【0242】
顕在的テキスト行領域:第1実施形態の文字認識装置100によって検出された単数行のテキスト領域(顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域、または個別の顕在化テキスト領域)を「顕在的テキスト行領域」と呼ぶ。
【0243】
隠れテキスト行領域:本来文字が存在しているがブラインド現象によって隠蔽されている単数行テキストの矩形領域を「隠れテキスト行領域」と呼ぶ。
【0244】
テキスト行領域:顕在的テキスト行領域と隠れテキスト行領域とを特に区別しない場合、これらを「テキスト行領域」と呼ぶ。
【0245】
複数行テキスト領域:画像中の顕在的テキスト行領域と隠れテキスト行領域の任意の組のうち、1つの複数行テキストをなしている組から構成される1つの矩形領域を「複数行テキスト領域」と呼ぶ。
【0246】
テキスト領域:顕在的テキスト領域、隠れテキスト領域、半隠れテキスト領域、顕在的テキスト行領域、隠れテキスト行領域、テキスト行領域、および複数行テキスト領域を包含する上位概念を「テキスト領域」と呼ぶ。
【0247】
(行補完型文字認識装置の構成)
図40は、本実施形態の行補間型文字認識装置500の構成例を示すブロック図である。本実施形態の行補完型文字認識装置500は、図40に示すように、文字認識装置100と、複数行テキスト領域推定器510と、複数行テキスト領域ラティス生成器520と、言語評価ベース文字認識器530と、複数行テキスト領域構造選択器540と、を備える。
【0248】
文字認識装置100は、第1実施形態で説明したように、入力画像Xが入力されると、顕在的テキスト領域を検出して文字パタン認識を行うとともに、顕在的テキスト領域に隠れテキスト領域を統合した半隠れテキスト領域の推定を行い、各テキスト領域に含まれる単数行の認識テキストを出力する。なお、各テキスト領域はいずれもテキスト方向が確定している。既に述べたように、本実施形態では一部に隠れテキスト領域が含まれていても、統一的に当該領域を顕在的テキスト行領域と呼ぶ。
【0249】
複数行テキスト領域推定器510は、文字認識装置100によって検出された顕在的テキスト行領域を元に、隠れテキスト行領域を推定し、さらにそれらを統合した複数行テキスト領域を推定する。隠れテキスト行領域の例を図41に示す。図41(a)〜(e)は、それぞれ図38(a)〜(e)に示したブラインド現象の具体例に対応しており、太線の枠で囲まれた領域が隠れテキスト行領域である。
【0250】
複数行テキスト領域推定器510は、例えば、顕在的テキスト行領域の入力画像X上での絶対的または相対的な位置関係を元に、前述したブラインド現象の発生を検出し、隠れテキスト行領域を推定する。ただし予測精度が低いため、この段階では確信度の低い候補も含めて過検出するようにし、後続処理で詳細な判定を行って絞り込む。処理の具体例については詳細を後述する。
【0251】
複数行テキスト領域ラティス生成器520は、複数行テキスト領域のラティスを生成する。複数行テキスト領域とは、上述したように、入力画像X中の顕在的テキスト行領域と隠れテキスト行領域のうち、1つの複数行テキストをなしていると思われる組を包含する領域のことである。複数行テキスト領域ラティス生成器520は、隠れテキスト行領域に当てはめ可能な文字列候補をラティス形式で生成し、顕在的テキスト行領域の文字列候補ラティスと連結することで、複数行テキスト領域のラティスを得る。隠れテキスト行領域に当てはめ可能な文字列候補の推定には当該領域のサイズと、近隣の顕在的テキスト行領域に用いられている文字サイズ尺度を用いる。すなわち、近隣の顕在的テキストと同程度のサイズのフォントを用いるとの仮定の元で、隠れテキスト行領域のサイズに適合する文字列が候補となる。
【0252】
また、複数行テキスト領域のラティスには、隠れテキスト行領域の空間コストを与える。空間コストの割り当てには、第1実施形態と同様の方法を用いる。処理の具体例については詳細を後述する。
【0253】
言語評価ベース文字認識器530は、複数行テキスト領域群および個別の顕在的テキスト行領域群について、それぞれテキスト領域全体を通じた言語的評価を行い、その評価結果をこれまでに得た文字認識コストと空間コストと合わせて総合的な文字認識を行う。これにより、隠れテキスト行領域は、複数行テキスト全体を通じた言語的な適切性を与えるようなテキスト行のうち、なるべく少ない行数(小さな領域サイズ)に当てはまる場合に高く評価される。なお、具体的な処理としては、第1実施形態の文字認識装置100における言語評価ベース文字認識器160と同様の方法を用いる。
【0254】
複数行テキスト領域構造選択器540は、入力画像Xから検出されたすべての顕在的テキスト行領域を複数行テキスト領域に組み込む統合方法を決定し、複数行テキスト領域を含めた入力画像X1内の各テキスト領域に対する文字認識結果Y2を出力する。
【0255】
顕在的テキスト行領域を複数行テキスト領域へ組み込む方法には選択余地がある。例えば、顕在的テキスト行領域が3つある場合、3組を1つの複数行テキスト領域に統合するのか、2組のいずれかを複数行テキスト領域に統合するのか、などの選択肢がある。あるいは切詰型ブラインド現象の場合、隠れテキスト行領域をいくつ仮定するのかにも自由度がある。そこで、複数行テキスト領域構造選択器540は、すべての可能な統合方法の中から、各テキスト領域のコストが最小となるような統合方法を選択する。そして、複数行テキスト領域構造選択器540は、選択した統合方法に応じたテキスト領域に対する文字認識結果Y2を出力する。処理の具体例については詳細を後述する。
【0256】
以下では、本実施形態の行補完型文字認識装置500を構成する以上の各モジュールのうち、第1実施形態で説明した文字認識装置100以外のモジュールによる処理の詳細について説明する。
【0257】
(複数行テキスト領域推定器)
複数行テキスト領域推定器510は、顕在的テキスト行領域と隠れテキスト行領域とを統合した複数行テキスト領域を推定するモジュールである。複数行テキスト領域推定部510は、文字認識装置100によって検出された顕在的テキスト行領域群を元に、隠れテキスト行領域を推定する。さらに、複数行テキスト領域推定器510は、得られた隠れテキスト行領域群と顕在的テキスト行領域群とを元に、可能な統合方法(すなわち複数行テキスト領域)をすべて列挙する。
【0258】
隠れテキスト行領域の推定処理は、分断型、フレームアウト切詰型および遮蔽切詰型の3タイプのブラインド現象それぞれについて、異なるモジュールによって異なる手順で処理が行われる。
【0259】
図42は、複数行テキスト領域推定器510の構成例を示すブロック図である。複数行テキスト領域推定器510は、図42に示すように、分断型複数行テキスト領域推定器511と、フレームアウト切詰型複数行テキスト領域推定器512と、遮蔽切詰型複数行テキスト領域推定器513とを含む。複数行テキスト領域推定器510に顕在的テキスト行領域群T3が入力されると、まず、分断型複数行テキスト領域推定器511で処理され、その後、フレームアウト切詰型複数行テキスト領域推定器512または遮蔽切詰型複数行テキスト領域推定器513での処理が行われる。複数行テキスト領域推定器510は、これらの処理の結果を併せて、複数行テキスト領域群T4として出力する。
【0260】
このため、分断型複数行テキスト領域推定器511によって生成された複数行テキスト領域群に対し、さらにフレームアウト切詰型複数行テキスト領域推定器512または遮蔽切詰型複数行テキスト領域推定器513によって隠れテキスト行領域が付与される可能性がある。以上の3種類の処理は、アプリケーションに応じて必要なものだけを行うようにしてもよい。また、図42の構成例では、フレームアウト切詰型複数行テキスト領域推定器512での処理と、遮蔽切詰型複数行テキスト領域推定器513での処理が選択的に行われるように構成したが、フレームアウト切詰型複数行テキスト領域推定器512と遮蔽切詰型複数行テキスト領域推定器513を直列に繋いで、これらの処理を両方を実行できるように構成してもよい。
【0261】
以下では、分断型複数行テキスト領域推定器511、フレームアウト切詰型複数行テキスト領域推定器512、および遮蔽切詰型複数行テキスト領域推定器513のそれぞれの処理の詳細について説明する。
【0262】
(分断型複数行テキスト領域推定器)
分断型複数行テキスト領域推定器511は、基本的な方針は第1実施形態の文字認識装置100における分断型半隠れテキスト領域推定器141と同じである。すなわち、分断型複数行テキスト領域推定器511は、2つ以上の顕在的テキスト行領域について、それらの間に隠れテキスト行領域があるかどうかを、領域の位置やサイズに基づいて判定する。またその後、顕在的テキスト行領域群と隠れテキスト行領域群の任意の組合せを行って、可能性のある複数行テキスト領域を列挙する。
【0263】
本実施形態の分断型複数行テキスト領域推定器511による処理は、以下の3点において、第1実施形態の分断型半隠れテキスト領域推定器141による処理と相違する。
【0264】
相違点1:第1実施形態では、顕在的テキスト領域同士を統合すると、その間にある領域をすべて隠れテキスト領域として認定した。これに対し本実施形態では、行間(これを「マージン」と呼ぶ。)を考慮して、顕在的テキスト行領域同士の間にある領域を、隠れテキスト行領域とマージンとに振り分ける。以降では、マージンと隠れテキスト行領域とを合わせた領域を、「潜在的テキスト領域」と呼ぶ。
【0265】
図43は、テキスト行領域の統合方法を説明する図である。図43(a)は、顕在的テキスト行領域と隠れテキスト行領域とを横並びで統合して複数行テキスト領域とする例を示している。図43(b)は、顕在的テキスト行領域と隠れテキスト行領域とを縦並びで統合して複数行テキスト領域とする例を示している。いずれの例も、隣り合うテキスト行領域の間にはマージンが介在している。
【0266】
相違点2:本実施形態では、複数行テキスト領域が隠れテキスト行領域を含まない構成とされることを許容する。例えば、領域間にマージンを介した2つの顕在的テキスト行領域から構成されるテキスト領域も、複数行テキスト領域の一つとする。
【0267】
相違点3:第1実施形態では、統合対象となるテキスト領域の中に、テキスト方向が不明なテキスト領域が含まれていた。これに対し本実施形態では、すべてのテキスト領域のテキスト方向が確定済みである。
【0268】
テキスト行領域の統合において満たすべき条件を以下に列挙する。これらの条件を「テキスト行領域統合条件」と呼ぶものとする。なお、これらのテキスト行領域統合条件はすべてが必須の条件ではなく、入力画像Xの種類などに応じて複数行テキスト領域への統合に必要とされる条件を適宜選択して使用すればよい。
【0269】
条件1:構成メンバーとなるテキスト行領域の数は2以上である。
条件2:構成メンバーとなるテキスト行領域は直線状に並び、テキスト方向と平行なベクトルにテキスト行領域を射影したときほぼ同じ線分になる(いずれも外接矩形に対してほぼ接している)。
条件3:構成メンバーとなる顕在的テキスト行領域のテキスト方向は、いずれもテキスト行領域が並ぶ方向と垂直である。
条件4:構成メンバーとなる顕在的テキスト行領域に含まれる背景や文字色などの配色が類似している。
条件5:構成メンバーとなる顕在的テキスト行領域に含まれる文字サイズの尺度が類似している。
条件6:構成メンバーとなる顕在的テキスト行領域に含まれる深さの誤差が閾値以下である。
【0270】
ここで、分断型複数行テキスト領域推定器511による処理の具体例について説明する。分断型複数行テキスト領域推定器511は、潜在的テキスト領域の列挙、潜在的テキスト領域のマージンと隠れテキスト行領域への振り分け、可能性のある複数行テキスト領域の列挙の処理をこの順で行う。
【0271】
まず、図44を参照して、潜在的テキスト領域を列挙する処理を説明する。図44は、複数行テキスト領域の構造例を示す図である。
【0272】
分断型複数行テキスト領域推定器511は、まず、入力画像Xの中からテキスト行領域統合条件を満たす顕在的テキスト行領域のペアを列挙し、各ペアに挟まれた矩形領域を潜在的テキスト領域として検出する。この処理により、図44の例では図中の破線の領域が潜在的テキスト領域として検出される。
【0273】
次に、図45および図46を参照して、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理を説明する。図45は、分断型隠れテキスト行領域の一例を示す図であり、図46は、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理の手順を示すフローチャートである。分断型複数行テキスト領域推定器511は、以下のステップS1701〜ステップS1704の処理を行って、図44に例示した潜在的テキスト領域を、図45のように、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける。
【0274】
なお、以下の説明で「幅」と呼ぶのは、テキスト方向と垂直となる辺の長さであるとする。また、説明で用いるマージンの幅は、例えば、潜在的テキスト領域が隣接する顕在的テキスト行の幅の0.5倍など、隣接する顕在的テキスト行の幅を基準に定めることができる。
【0275】
ステップS1701:分断型複数行テキスト領域推定器511は、上述の処理で検出された潜在的テキスト領域群から潜在的テキスト領域を1つ取り出す。
【0276】
ステップS1702:分断型複数行テキスト領域推定器511は、ステップS1701で取り出した潜在的テキスト領域と隣接する顕在的テキスト領域の幅を取り出す。
【0277】
ステップS1703:分断型複数行テキスト領域推定器511は、ステップS1701で取り出した潜在的テキスト領域に対して、ステップS1702で取り出した幅を持つ隠れテキスト行領域(すなわち、顕在的テキスト領域と同サイズの隠れテキスト行領域)を0個以上割り当てる。ただし、顕在的テキスト行領域または隠れテキスト行領域の間には必ずマージンが配置されるものとし、マージンの幅はすべて同じ(均等割り)とし、かつその結果が基準幅になるべく近くなることを条件とする。
【0278】
ステップS1704:分断型複数行テキスト領域推定器511は、すべての潜在的テキスト領域を取り出したか否かを判定する。そして、判定の結果がNoであればステップS1701に戻り、Yesであれば処理を終了する。
【0279】
次に、図45および図47を参照して、可能性のある複数行テキスト領域を列挙する処理を説明する。図47は、複数行テキスト領域を列挙する処理の手順を示すフローチャートである。分断型複数行テキスト領域推定器511は、以下のステップS1801およびステップS1802の処理を行って、可能性のある複数行テキスト領域を列挙する。
【0280】
ステップS1801:分断型複数行テキスト領域推定器511は、すべての顕在的テキスト行領域の中から、テキスト行領域統合条件を満たす組をすべて列挙する。図45の例の場合、ステップS1801で列挙される顕在的テキスト行領域の組は、(A,B)、(C,D)、(E,F)、(F,G)、(E,F,G)である。
【0281】
ステップS1802:分断型複数行テキスト領域推定器511は、ステップS1801で列挙した各組について、その間に存在する隠れテキスト行領域をすべて追加し、これらの組を複数行テキスト領域として出力する。図45の例の場合、ステップS1802で出力される複数行テキスト領域は、(A,B)、(C,a,D)、(E,F)、(F,b,c,G)、(E,F,b,c,G)である。
【0282】
(フレームアウト切詰型複数行テキスト領域推定器)
フレームアウト切詰型複数行テキスト領域推定器512は、入力画像Xの縁(上下左右の辺)に接する顕在的テキスト行領域に対し、入力画像Xの辺の外側に隠れテキスト行領域が存在すると仮定して、入力画像Xの辺の外側に領域を延長したものを複数行テキスト領域として推定する。ただし分断型と異なり、隠れテキスト行領域の大きさを決定する判断材料はない。したがって、予め定めた設定に従って入力画像Xの辺の外側に延長する領域の長さを決定する。延長する領域の長さの設定方法としては、例えば、追加行数を用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。
【0283】
図48は、フレームアウト切詰型複数行テキスト領域の一例を示す図である。図48(a)は、入力画像Xの左辺に接する顕在的テキスト行領域または複数行テキスト領域を入力画像Xの左辺から外側に延長し、複数行テキスト領域とする例を示している。図48(b)は、入力画像Xの下辺に接する顕在的テキスト行領域または複数行テキスト領域を入力画像Xの下辺から外側に延長し、複数行テキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの追加行数に対応する長さで領域を延長する。
【0284】
図49は、フレームアウト切詰型複数行テキスト領域推定器512による処理の手順を示すフローチャートである。フレームアウト切詰型複数行テキスト領域推定器512は、以下のステップS1901〜ステップS1907の処理を行い、フレームアウト切詰型複数行テキスト領域を推定する。
【0285】
ステップS1901:フレームアウト切詰型複数行テキスト領域推定器512は、分断型複数行テキスト領域推定器511が出力した複数行テキスト領域群および顕在的テキスト行領域群の集合の中からテキスト領域を1つ取り出す。
【0286】
ステップS1902:フレームアウト切詰型複数行テキスト領域推定器512は、ステップS1901で取り出したテキスト領域について、テキスト方向が縦書きで、かつ、入力画像Xの左右いずれかの辺に接しているか否かを判定する。そして、判定の結果がYesであればステップS1903に進み、NoであればステップS1904に進む。
【0287】
ステップS1903:フレームアウト切詰型複数行テキスト領域推定器512は、ステップS1901で取り出したテキスト領域を、設定に基づく長さ(追加行数分の幅およびマージンに相当する長さ)だけ、当該テキスト領域が接している入力画像Xの左右いずれかの辺から画像外に延長し、これを新たな複数行テキスト領域とする。
【0288】
ステップS1904:フレームアウト切詰型複数行テキスト領域推定器512は、ステップS1901で取り出したテキスト領域について、テキスト方向が横書きで、かつ、入力画像Xの上下いずれかの辺に接しているか否かを判定する。そして、判定の結果がYesであればステップS1905に進み、NoであればステップS1906に進む。
【0289】
ステップS1905:フレームアウト切詰型複数行テキスト領域推定器512は、ステップS1901で取り出したテキスト領域を、設定に基づく長さ(追加行数分の幅およびマージンに相当する長さ)だけ、当該テキスト領域が接している入力画像Xの上下いずれかの辺から画像外に延長し、これを新たな複数行テキスト領域とする。
【0290】
ステップS1906:フレームアウト切詰型複数行テキスト領域推定器512は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS1907に進み、NoであればステップS1901に戻る。
【0291】
ステップS1907:フレームアウト切詰型複数行テキスト領域推定器512は、生成した複数行テキスト領域群を出力する。
【0292】
(遮蔽切詰型複数行テキスト領域推定器)
遮蔽切詰型複数行テキスト領域推定器513は、すべての顕在的テキスト行領域について、その行の前方側や後方側に隠れテキスト行領域が存在すると仮定して、行の前方側や後方側に領域を延長したものを複数行テキスト領域として推定する。延長する領域の長さは、フレームアウト切詰型と同様、予め定めた設定に従って決定する。延長する領域の長さの設定方法としては、例えば、追加行数を用いる方法が考えられる。ただし、フレームアウト切詰型と異なり、延長する領域の長さに対する制約として、他の顕在的テキスト領域に重ならないという制約が加わる。
【0293】
図50は、遮蔽切詰型複数行テキスト領域の一例を説明する図である。図50(a)は、テキスト方向が縦方向の顕在的テキスト行領域または複数行テキスト領域を、別の顕在的テキスト領域に重ならない範囲で横方向に延長し、複数行テキスト領域とする例を示している。図50(b)は、テキスト方向が横方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で縦方向に延長し、複数行テキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの追加行数に対応する長さで領域を延長する。
【0294】
図51は、遮蔽切詰型複数行テキスト領域推定器513による処理の手順を示すフローチャートである。遮蔽切詰型複数行テキスト領域推定器513は、以下のステップS2001〜ステップS2005の処理を行い、遮蔽切詰型複数行テキスト領域を推定する。ただし、マージンサイズは分断型隠れテキスト行領域推定器511で用いたものと同様の設定を用いるものとする。また、新規に生成する隠れテキスト行領域のサイズは、延長元となるテキスト領域に含まれる顕在的テキスト行領域と同サイズとする。
【0295】
ステップS2001:遮蔽切詰型複数行テキスト領域推定器513は、分断型複数行テキスト領域推定器511が出力した複数行テキスト領域群および顕在的テキスト行領域群の集合の中からテキスト領域を1つ取り出す。
【0296】
ステップS2002:遮蔽切詰型複数行テキスト領域推定器513は、ステップS2001で取り出したテキスト領域を、設定に基づく長さ(追加行数分の幅およびマージンに相当する長さ)だけ前方行の方向へ延長し、これを新たな複数行テキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【0297】
ステップS2003:遮蔽切詰型複数行テキスト領域推定器513は、ステップS2001で取り出したテキスト領域を、設定に基づく長さ(追加行数分の幅およびマージンに相当する長さ)だけ後方行の方向へ延長し、これを新たな複数行テキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【0298】
ステップS2004:遮蔽切詰型複数行テキスト領域推定器513は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS2005に進み、NoであればステップS2001に戻る。
【0299】
ステップS2005:遮蔽切詰型複数行テキスト領域推定器513は、得られたすべての複数行テキスト領域を出力する。
【0300】
(複数行テキスト領域ラティス生成器)
複数行テキスト領域ラティス生成器520は、複数行テキスト領域推定器510によって生成された複数行テキスト領域について、当該複数行テキスト領域に含まれる顕在的テキスト行領域および隠れテキスト行領域を鎖状に行連結したかたちでのテキスト候補を列挙するラティスを生成するモジュールである。顕在的テキスト行領域のラティスは、第1実施形態の文字認識装置100により既に生成済みである。複数行テキスト領域ラティス生成器520は、例えば、隠れテキスト行領域のラティスを生成した上で、文字認識装置100によって生成済みの顕在的テキスト行領域のラティスと隠れテキスト行領域のラティスとを鎖状に連結したものを、複数行テキスト領域のラティスとして出力する。
【0301】
隠れテキスト行領域のラティスの生成方法は、文字認識装置100による隠れテキスト領域のラティスの生成方法(図19図22の処理手順)と同様である。ただし、領域サイズに基づく空間コストを割り当てる際に、隠れテキスト行領域のサイズだけでなく、マージンのサイズを含めて、隠れテキスト行領域のラティスに割り当てる空間コストを決定するようにしてもよい。
【0302】
図52は、複数行テキスト領域のラティスの一例を示す図である。この図52の例は、文字認識装置100の処理によって半隠れテキスト領域「W?L」と顕在的テキスト領域「toNY」が検出され、複数行テキスト領域推定器510の処理によって、それらの顕在的テキスト行領域の間に隠れテキスト行領域が検出された場合の例である。これらを統合した複数行テキスト領域に対応するラティスは、図52に示すように、各行L1,L2,L3のラティスを鎖状に繋いだものとなっている。
【0303】
複数行テキスト領域の1行目L1は、文字認識装置100の処理によって検出された半隠れテキスト領域であり、1行目L1のラティスは図24に例示した半隠れテキスト領域のラティスと同様の構造になっている。複数行テキスト領域の2行目L2は、複数行テキスト領域推定器510の処理によって検出された隠れテキスト行領域であるため、2行目L2のラティスは空間コストのみが割り当てられている。複数行テキスト領域の3行目L3は、文字認識装置100の処理によって検出された顕在的テキスト領域であり、3行目L3のラティスには、文字パタン認識コストが配置されている。
【0304】
(言語評価ベース文字認識器)
言語評価ベース文字認識器530は、複数行テキスト領域ラティス生成器520によって生成されたラティスに対して言語的評価を加え、文字パタン認識コスト、空間コスト、および言語的コストの3点を考慮した文字認識処理を行うモジュールである。なお、言語評価ベース文字認識器530による処理の手順は、文字認識装置100の言語評価ベース文字認識器160と同様であるため、詳細な説明は省略する。
【0305】
(複数行テキスト領域構造選択器)
以上の処理で得られた複数行テキスト領域群は、文字認識結果Y2の選択候補である。複数行テキスト領域構造選択器540は、最終的に選択すべき複数行テキスト領域群を決定する。そして、複数行テキスト領域構造選択器540は、統合コストに基づいて選択または順位付けされたテキストを、複数行テキスト領域に対する文字認識結果Y2として出力する。
【0306】
複数行テキスト領域構造選択器540は、顕在的テキスト行領域を最大1回だけ用いて複数行テキスト領域群を生成するすべての統合方法のうち、生成される複数行テキスト領域群および複数行テキスト領域群に組み込まれなかった顕在的テキスト領域群のコストの合計が最小となる統合方法を選択する。なお、複数行テキスト領域構造選択器540による処理の手順は、文字認識装置100のテキスト領域構造選択器170と同様であるため、詳細な説明は省略する。
【0307】
以上説明したように、本実施形態の行補間型文字認識装置500によれば、顕在的テキスト行領域に対して隠れテキスト行領域を統合した複数行テキスト領域を推定し、推定した複数行テキスト領域に対応するテキスト候補を文字認識結果Y2として出力するので、行の全体に跨って文字が隠れている場合であっても、隠れた文字を補完するかたちで文字認識結果Y2としてのテキストを得ることができる。
【0308】
<補足説明>
実施形態の文字認識装置100における各処理部(顕在的テキスト領域検出器110、文字パタン認識器120、部分欠損文字領域検出器130、半隠れテキスト領域推定器140、半隠れテキスト領域ラティス生成器150、言語評価ベース文字認識器160、およびテキスト領域構造選択器170)は、ハードウェア、またはハードウェアと協働して動作するソフトウェア(プログラム)での実装が可能である。上記の各処理部をソフトウェアで実装する場合、文字認識装置100は、例えば図53に示すように、CPU(Central Processing Unit)11などの制御装置、ROM(Read Only Memory)12やRAM(Random Access Memory)13などの記憶装置、表示パネルや各種操作デバイスが接続される入出力I/F14、ネットワークに接続して通信を行う通信I/F15、各部を接続するバス16などを備えた、通常のコンピュータを利用したハードウェア構成とすることができる。
【0309】
上述した実施形態の文字認識装置100で実行されるプログラムは、例えば、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【0310】
また、上述した実施形態の文字認識装置100で実行されるプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態の文字認識装置100で実行されるプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、上述した実施形態の文字認識装置100で実行されるプログラムを、ROM12等に予め組み込んで提供するように構成してもよい。
【0311】
上述した実施形態の文字認識装置100で実行されるプログラムは、文字認識装置100の各処理部(顕在的テキスト領域検出器110、文字パタン認識器120、部分欠損文字領域検出器130、半隠れテキスト領域推定器140、半隠れテキスト領域ラティス生成器150、言語評価ベース文字認識器160、およびテキスト領域構造選択器170)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU11(プロセッサ)が上記記録媒体からプログラムを読み出して実行することにより、上述した各処理部がRAM13(主記憶)上にロードされ、上述した各処理部がRAM13(主記憶)上に生成されるようになっている。なお、上述した実施形態の文字認識装置100は、上述した各処理部の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
【0312】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0313】
100 文字認識装置
110 顕在的テキスト領域検出器
120 文字パタン認識器
130 部分欠損文字領域検出器
140 半隠れテキスト領域推定器
141 分断型半隠れテキスト領域推定器
142 フレームアウト切詰型半隠れテキスト領域推定器
143 遮蔽切詰型半隠れテキスト領域推定器
150 半隠れテキスト領域ラティス生成器
160 言語評価ベース文字認識器
170 テキスト領域構造選択器
200 画像表示装置
210 表示画面生成器
220 再構造器
230 テキスト領域構造選択器
300 画像検索装置
310 画像DB
320 索引構築器
330 ランカ
500 行補完型文字認識装置
510 複数行テキスト領域推定器
511 分断型複数行テキスト領域推定器
512 フレームアウト切詰型複数行テキスト領域推定器
513 遮蔽切詰型複数行テキスト領域推定器
520 複数行テキスト領域ラティス生成器
530 言語評価ベース文字認識器
540 複数行テキスト領域構造選択器
図1
図2
図3
図4
図5-1】
図5-2】
図6-1】
図6-2】
図7
図8
図9
図10-1】
図10-2】
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
図51
図52
図53