(57)【要約】【課題】文字列を含む被写体を撮影して得られた複数の画像の位置合わせ精度を向上させ、その被写体全体の文字情報を精度よく抽出することができる画像処理装置及びその制御方法並びにプログラムを提供する。【解決手段】  モバイル端末１００において、撮影画像取得部２０１で帳票の紙面を撮影して得られた基準フレーム画像及び追跡フレーム画像を取得し、その夫々から、画像特徴取得部２０７で画像特徴点を検出すると共に文字列領域検出部２０４で文字列領域及びその座標情報を検出する。さらに文字列認識部２０５でその文字列領域の文字認識を行う。文字列情報記憶部２０２は、文字列領域の座標情報及び文字認識結果からなる文字列情報を生成する。基準フレーム画像及び追跡フレーム画像の画像特徴点及び文字列情報に基づき、基準フレーム画像及び追跡フレーム画像の間の文字列情報を統合する。【選択図】図３
2020201821.tif 000002
【特許請求の範囲】
【請求項１】
文字列を含む被写体を撮影して得られた第１及び第２の画像を取得する第１の取得手段と、
前記第１及び第２の画像の夫々から画像特徴点を取得する第２の取得手段と、
前記第１及び第２の画像の夫々から文字列領域を検出し、前記文字列領域の座標情報及びその文字認識結果からなる文字列情報を生成する生成手段と、
前記第１及び第２の画像の画像特徴点及び文字列情報に基づき、前記第１及び第２の画像の間の前記文字列情報を統合する統合手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記統合手段は、
前記第１及び第２の画像の画像特徴点から、前記第２の画像の座標系を前記第１の画像の座標系に変換する第１のホモグラフィ行列を推定する第１の推定手段と、
前記第１のホモグラフィ行列によって前記第２の画像から検出された文字列領域を第１の変換文字列領域に変換し、前記第１の画像に写像する第１の写像手段と、
前記第１の写像手段による写像の結果と前記文字認識結果に基づき、前記第１及び第２の画像の間の前記文字列情報の組合せを決定する決定手段と、
前記決定された組合せにおいて、前記第１の画像の文字列領域と前記第１の変換文字列領域との間の距離が離れている場合、前記決定された組合せ、前記第１の画像の文字列情報、及び前記第１の写像手段による写像後の前記第２の画像の文字列情報から、前記第１の写像手段による写像後の前記第２の画像の座標系を前記第１の画像の座標系に変換する第２のホモグラフィ行列を推定する第２推定手段と、
第２のホモグラフィ行列によって前記第１の変換文字列領域を第２の変換文字列領域に変換し、前記第１の画像に写像する第２の写像手段とを備え、
前記第２の写像手段による写像の結果と前記決定された組合せに基づき、前記第１及び第２の画像の間の前記文字認識結果を統合することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２推定手段は、前記決定された組合せのうち、前記第２の取得手段により取得された前記画像特徴点が前記第１の画像において密集した領域に位置する組合せを間引いて、前記第２のホモグラフィ行列を推定することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記第２推定手段は、前記第１の画像の文字列情報、及び前記第１の写像手段による写像後の前記第２の画像の文字列情報に基づき算出される座標値を使用して前記第２のホモグラフィ行列を推定することを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記第２推定手段は、前記決定された組合せのうち、前記第２推定手段において使用する前記座標値が前記第１の画像において密集した領域に位置する組合せを間引いて、前記第２のホモグラフィ行列を推定することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記第２推定手段は、前記決定された組合せのうち、前記文字認識結果に予め設定した文字コードが含まれる組合せを間引いて、前記第２のホモグラフィ行列を推定することを特徴とする請求項２記載の画像処理装置。
【請求項７】
前記第２推定手段は、前記決定された組合せのうち、前記各文字の認識信頼度が低い組合せを間引いて、前記第２のホモグラフィ行列を推定することを特徴とする請求項２記載の画像処理装置。
【請求項８】
前記決定された組合せのうち、前記第１の画像の文字列領域と前記第２の変換文字列領域との間の距離が離れている第１の組合せがある場合、前記第１の組合せ、前記第１の画像の文字列情報、及び前記第１及び第２の写像手段による写像後の前記第２の画像の文字列情報から、前記第１及び第２の写像手段による写像後の前記第２の画像の座標系を前記第１の画像の座標系に変換する第３のホモグラフィ行列を推定する第３の推定手段と、
前記第３のホモグラフィ行列によって前記第１の組合せに含まれる前記第２の変換文字列領域を第３の変換文字列領域に変換し、前記第１の画像に写像する第３の写像手段とを更に備えることを特徴とする請求項２記載の画像処理装置。
【請求項９】
前記決定された組合せのうち、前記第１の画像の文字列領域と前記第２の変換文字列領域との間の距離が離れている第１の組合せがある場合、ユーザに前記第３の推定手段及び前記第３の写像手段を実行するか問い合わせを行う問合手段を更に備えることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
文字列を含む被写体を撮影して得られた第１及び第２の画像を取得する第１の取得工程と、
前記第１及び第２の画像の夫々から画像特徴点を取得する第２の取得工程と、
前記第１及び第２の画像の夫々から文字列領域を検出し、前記文字列領域の座標情報及びその文字認識結果からなる文字列情報を生成する生成工程と、
前記第１及び第２の画像の画像特徴点及び文字列情報に基づき、前記第１及び第２の画像の間の前記文字列情報を統合する統合工程とを有することを特徴とする画像処理装置の制御方法。
【請求項１１】
請求項１０記載の制御方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法並びにプログラムに関し、特に、文字列を含む被写体を撮影して得られた複数の画像から文字情報を抽出する画像処理装置及びその制御方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、カメラ機能付きスマートフォンやタブレット等のカメラ機能を有するモバイル端末で紙文書を撮影して得られた動画像に対して文字認識処理（ＯＣＲ処理）を行うことで、紙文書に含まれる文字情報を抽出する技術が種々開発されている。
【０００３】
例えば、特許文献１では、長尺文書をモバイル端末により分割して撮影する技術が開示されている。具体的にはモバイル端末を移動させながら動画撮影を行い、その際のモバイル端末の動きベクトル量によりフレーム画像間の重複部分を特定する。次に、その重複部分にある文字情報のフレーム画像間の詳細マッチングからアフィン行列を求め、フレーム画像を同一の座標系に変換した後に接合合成する。
【０００４】
また、特許文献２では、複数の画像についての文字認識結果の、文字コードが重複する個所の検出を行い、文字認識結果の位置合わせを行う。
【０００５】
特許文献３では、媒体に存在する第１及び第２のテキストブロック間の幾何学的関係が、撮影画像をＯＣＲ処理して得た第２の参照フレーム画像内の第１のテキストブロックの位置と、第２の参照フレーム画像と関連付けられたカメラ姿勢により決定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１６−５３８７８３号公報
【特許文献２】特開２００５−５５９６９号公報
【特許文献３】特表２０１６−５０２２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１〜３では、複数の画像についての文字認識結果のみに基づき、画像間の位置合わせや文字認識結果の位置合わせを行っているため、その位置合わせ精度が不充分な場合がある。このような場合、紙文書全体に含まれる文字情報を精度よく抽出できなくなる。
【０００８】
また、特許文献１，３では、詳細マッチングに使用する文字情報の分布の偏りについては考慮されていない。よって、撮影対象である文字列を含む被写体、例えば特許文献１の長尺文書において、文字情報の少ない部分で詳細マッチングを行うと位置ずれが発生する可能性が高い。
【０００９】
また、特許文献２では、文字認識結果の文字コードのみを照合してマッチングしており、複数の画像の間で文字認識結果に重複する文字コードがなかった場合は考慮されていない。
【００１０】
そこで、本発明は、文字列を含む被写体を撮影して得られた複数の画像の位置合わせ精度を向上させ、その被写体全体の文字情報を精度よく抽出することができる画像処理装置及びその制御方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１に係る画像処理装置は、文字列を含む被写体を撮影して得られた第１及び第２の画像を取得する第１の取得手段と、前記第１及び第２の画像の夫々から画像特徴点を取得する第２の取得手段と、前記第１及び第２の画像の夫々から文字列領域を検出し、前記文字列領域の座標情報及びその文字認識結果からなる文字列情報を生成する生成手段と、前記第１及び第２の画像の画像特徴点及び文字列情報に基づき、前記第１及び第２の画像の間の前記文字列情報を統合する統合手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、文字列を含む被写体を撮影して得られた複数の画像の位置合わせ精度を向上させ、その被写体全体の文字情報を精度よく抽出することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に係る画像処理装置としてのモバイル端末の外観の一例を示すブロック図である。
【図２】モバイル端末内の各機能部の構成の一例を示す図である。
【図３】モバイル端末において実行される文字情報抽出処理の一例を示すフローチャートである。
【図４】実施例１に係る図３のステップＳ３０６のフレーム画像間統合処理のフローチャートである。
【図５】図４のフレーム画像間統合処理を説明するための図である。
【図６】図２における文字列情報記憶部が保持するデータ構造を示す図である。
【図７】図４のステップＳ４０４の処理後のフレーム間の文字列領域の位置ずれの状態を示す図である。
【図８】ステップＳ４０７におけるホモグラフィ行列Ｈ２の推定に用いるパラメータを説明するための図である。
【図９】実施例１，２の夫々によりフレーム間の文字列領域の位置ずれが調整された状態を示す図である。
【図１０】実施例２に係る図３のステップＳ３０６のフレーム画像間統合処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組合せのすべてが、課題を解決するための手段に必須のものとは限らない。
【００１５】
（実施例１）
以下本実施例では、画像処理装置としてタブレットＰＣやスマートフォンなどのカメラ機能を有するモバイル端末を使用する場合について説明する。ここでモバイル端末は、携帯通信端末の一例であり、無線通信機能などを実装しており自由な場所で利用できる端末である。
【００１６】
図１（ａ）および図１（ｂ）は、本実施例に係る画像処理装置としてのモバイル端末１００の外観の一例を示す図である。図１（ａ）はモバイル端末１００を表面側（正面側）から見た図であり、図１（ｂ）はモバイル端末１００を裏面側（背面側）から見た図である。
【００１７】
モバイル端末１００は、撮像器（カメラ）１０１、表示器１０２、ボタン１０３、通信器１０４を有する。図１（ａ）に示すようにモバイル端末１００はその正面に撮像器１０１を備える。また図１（ｂ）に示すようにモバイル端末１００はその背面部に表示器１０２およびボタン１０３を備える。
【００１８】
撮像器１０１は、実世界の情景を被写体として撮像し、画像データとして得る機器である。例えば撮像器１０１はレンズと撮像素子で構成される。
【００１９】
表示器１０２は、撮像器１０１で得られた画像データをユーザが視覚的に確認できるよう表示する機器である。表示器１０２としては例えば液晶ディスプレイが挙げられる。
【００２０】
ボタン１０３は、ユーザがモバイル端末１００に対して撮影開始、終了などの操作を行うインターフェースである。ボタン１０３としては例えば機械式あるいは感圧式のボタンが挙げられる。これらは一例であって、例えば表示器１０２はボタン１０３の機能をも有するタッチパネルを兼ねた液晶ディスプレイであってもよい。
【００２１】
通信器１０４は、モバイル端末１００に内蔵されており、モバイル端末１００は通信器１０４を介して無線でイントラネット・インターネットに接続して外部サーバ等とのデータ交換を行うことが可能である。
【００２２】
撮像器１０１は、一定時間内で被写体を連続撮影し取得した複数の撮影画像を動画像としてデータ取得可能な機器である。言い換えると、撮像器１０１は、動画像を構成する複数のフレーム画像を所定の撮像間隔（例えば１秒間に３０回あるいは６０回）で撮像可能な機器である。詳細につき後述するように、撮影された動画像は直ちにモバイル端末１００の表示器１０２に表示されるので、ユーザは被写体に対する現在の撮影範囲を認識することができる。さらにモバイル端末１００は、撮影された動画像から被写体に含まれる文字列の内容を認識し、その認識結果を撮影された動画像の表示の際に関連づけて表示する機能を有してもよい。また、認識結果を、通信器１０４により外部サーバ等に送信してもよい。
【００２３】
＜モバイル端末１００のソフトウェア構成＞
次に、モバイル端末１００のソフトウェアの構成について説明する。
【００２４】
図２は、図１のモバイル端末１００内の各機能部の構成の一例を示す図である。
【００２５】
モバイル端末１００は、その機能部として、撮影画像取得部２０１、文字列情報記憶部２０２、表示生成部２０３、文字列領域検出部２０４、文字列認識部２０５、操作情報取得部２０６、画像特徴取得部２０７を有する。
【００２６】
図２に示される各機能部はソフトウェアコンポーネントであり、ソフトウェアのバス２００を介して互いに接続し、必要に応じて相互にデータを入出力する。また各機能部はその機能を実現するためにハードウェアとの通信を行う。但しこれはあくまで一例であって、各機能部はサブルーチンとして実装したソフトウェアプログラムとしてモバイル端末１００において実現されてもよい。
【００２７】
撮影画像取得部２０１は、撮像器１０１により撮影した動画像の各フレーム画像を所定の撮影間隔で取得する。
【００２８】
文字列情報記憶部２０２は、文字列領域検出部２０４が検出した１以上の文字列領域の座標情報（各文字列領域の四隅を表す位置座標）を各文字列領域の文字列情報として記憶する。また、文字列情報記憶部２０２は、各文字列領域に対して文字列認識部２０５が生成する文字認識結果も文字列情報に加えて記憶する。すなわち、文字列情報記憶部２０２は、文字列情報の生成・更新を行う（生成手段）。
【００２９】
また、文字列情報記憶部２０２は、画像特徴取得部２０７が取得した画像特徴の情報、すなわち各画像特徴点の座標値も記憶する。さらに、各フレーム画像から取得・検出された画像特徴の情報や文字列情報のうち、同一の文字列領域に対する情報は、文字列情報記憶部２０２において１つの情報に統合されて記憶する。なお、文字列情報記憶部２０２が有する以上の機能の詳細および具体例は、図３および図４のフローチャートを用いて後述する。
【００３０】
表示生成部２０３は、ユーザインターフェースの為の表示画像を生成する。生成された表示画像は、図１Ｂの表示器１０２により可視化される。かかる表示画像の一例として、撮影画像取得部２０１で取得される各フレーム画像が挙げられる。表示生成部２０３は、表示器１０２で可視化されるフレーム画像を、撮影間隔と同等の間隔で更新する。これにより、ユーザは撮像器１０１による撮影内容・撮影状態を確認することができる。この時、文字列情報記憶部２０２から得られる画像特徴や文字列情報の情報が付加・重畳されていてもよい。
【００３１】
文字列領域検出部２０４は、撮影画像取得部２０１で取得された各フレーム画像中から公知の検出技術を用いて文字認識処理の対象となる文字列を含む文字列領域及びその座標情報を検出する。検出された文字列領域の座標情報は文字列情報記憶部２０２に記憶される。
【００３２】
文字列認識部２０５は、撮影画像取得部２０１で取得された各フレーム画像において文字列情報記憶部２０２に記憶された文字列領域内で公知の文字認識処理を行い、文字コードの並びからなる文字認識結果を得る。得られた文字認識結果は文字列情報記憶部２０２に記憶される。
【００３３】
操作情報取得部２０６は、ユーザによる操作情報を受け付ける。例えば、操作情報取得部２０６は、後述する図３の文字情報抽出処理において文字情報抽出結果の表示中にボタン１０３に対してユーザから作業完了の旨の操作があった場合、この操作を文字情報抽出処理を終了する操作情報として受け付ける。他方、操作情報取得部２０６は、上記文字情報抽出結果の表示中にボタン１０３に対してユーザから作業続行の旨の操作があった場合、この操作を文字情報抽出処理を続行する操作情報として受け付ける。
【００３４】
画像特徴取得部２０７は、撮影画像取得部２０１で取得された各フレーム画像中から公知の検出技術を用いて画像特徴を取得する。検出された画像特徴は文字列情報記憶部２０２に記憶される。
【００３５】
＜モバイルアプリの動作＞
続いて、モバイル端末１００のモバイルアプリによる文字列情報抽出処理の一例について、図３のフローチャートを用いて説明する。
【００３６】
図３は、モバイル端末１００において実行される文字情報抽出処理の一例を示すフローチャートである。ここでは、文字列を含む被写体である、机等の台上に置かれた紙帳票の紙面を、モバイル端末１００で動画像として撮影して紙帳票に記載された文字情報を抽出する。
【００３７】
図３において、まずステップＳ３０１では、操作情報取得部２０６が、モバイル端末１００にインストールされた不図示のモバイルアプリが起動された場合、この起動をユーザによる本処理の作業開始の操作情報として受け付ける。尚、ユーザは、モバイル端末１００をその正面が被写体である紙帳票の紙面から離間した位置において対向するように保持した状態で、このモバイルアプリの起動を行う。
【００３８】
ステップＳ３０２では、撮像器１０１は紙帳票の紙面の動画像としての撮影を開始する。撮影画像取得部２０１は、撮像器１０１により撮影された動画像のフレーム画像を取得する。具体的には、まず、撮影画像取得部２０１は、動画像の最初のフレーム画像を基準フレーム画像として取得する。その後、後述のステップＳ３０８でユーザから作業続行の旨の操作がある毎に、基準フレーム画像以降のフレーム画像を順次追跡フレーム画像として取得する（第１の取得手段）。
【００３９】
ステップＳ３０３では、画像特徴取得部２０７が、ステップＳ３０２で撮影画像取得部２０１が取得したフレーム画像の画像特徴を取得する（第２の取得手段）。画像特徴として取得される画像特徴点は、コーナー特徴であるＨａｒｒｉｓ特徴（Ｈａｒｒｉｓ  ｆｅａｔｕｒｅｓ）や、ＯＲＢ、ＳＩＦＴといった公知の特徴点であり、その抽出には公知の特徴点検出器を用いることができる。取得した画像特徴は文字列情報記憶部２０２に保存される。
【００４０】
ステップＳ３０４では、文字列領域検出部２０４が、ステップＳ３０２で撮影画像取得部２０１が取得したフレーム画像から１以上の文字列領域及びその座標情報を検出する。ステップＳ３０４での文字列領域及びその座標情報の検出の方法の詳細については後述する。検出された文字列領域の座標情報は文字列情報として文字列情報記憶部２０２に記憶される。文字列領域の座標情報は、例えば図６（ａ）のＩＤ１００に示すｒｅｃｔ．ｘ、ｒｅｃｔ．ｙ、ｒｅｃｔ．ｈ，ｒｅｃｔ．ｗの情報のように、左上端のｘｙ座標及び文字列情報の幅・高さからなるリストにより構成される。
【００４１】
フレーム画像中の文字列領域の検出には公知技術が用いられる。例えば次のような方法がある。まず撮影画像取得部２０１が取得した、グレーもしくはカラーの多値のフレーム画像における各画素を二値化した二値画像を生成する。二値化はフレーム画像内の各画素の輝度分布により適応的に求めた閾値で行う。次に二値画像内で連結する黒画素をラベリング処理により連結した連結画素塊（＝Ｃｏｎｎｅｃｔｅｄ  Ｃｏｍｐｏｎｅｎｔ）を抽出する。抽出された連結画素塊のうち、外接矩形の大きさなどから文字らしいと推定された文字画素塊を、さらに近傍に存在する文字画素塊と結合して文字列領域を抽出する。
【００４２】
なお、上記の検出方法は一例であって、例えば、フレーム画像から二値画像を生成することなく、フレーム画像を多値画像のままで輝度や色の近い画素を連結して連結画素塊を得てもよい。あるいはフレーム画像のエッジ抽出を行い、連結するエッジ画素から連結画素塊を得てもよい。また、ステップＳ３０４における文字列領域検出部２０４でのフレーム画像中の文字列領域の検出を高速化する為に、縮小処理を施したフレーム画像から連結画素塊を抽出して文字列を検出してもよい。
【００４３】
ステップＳ３０５では、文字列認識部２０５が、ステップＳ３０２で取得したフレーム画像とステップＳ３０４で文字列情報記憶部２０２に記憶されたその文字列情報に基づき文字認識処理を行い、文字列情報記憶部２０２の文字列情報を更新する。具体的には、フレーム画像における文字列領域内で公知の文字認識処理を行い、文字コード（文字認識結果）および認識信頼度からなる文字認識結果を得る。この文字認識結果によって文字列情報を更新する。例えば、図６（ａ）のＩＤ１０１〜１０５に示す１つの文字列領域に含まれる各文字のｃｏｄｅ（文字コード）やｃｏｎｆｉｄｅｎｃｅ（認識信頼度）の情報を含むリストで、ＩＤ１００のリストからなる文字列情報を更新する。尚、各文字の座標もこのリストに含めてもよい。
【００４４】
ステップＳ３０６では、文字列情報記憶部２０２が、ステップＳ３０３で記憶した画像特徴とステップＳ３０５で更新された文字列情報を入力データとして用いてフレーム間の文字列情報を統合するフレーム間統合処理を行なう（統合手段）。本処理の詳細は後述する。
【００４５】
ステップＳ３０７では、表示器１０２がステップＳ３０６で統合された文字列情報を、ステップＳ３０２で取得したフレーム画像に重畳し、文字情報抽出結果として表示する。ユーザは、この表示に基づき文字情報抽出結果の内容に誤りがないと判断した場合、ボタン１０３に対して作業完了の旨の操作を行い、誤りがあると判断した場合、ボタン１０３に対して作業続行の旨の操作を行う。
【００４６】
ステップＳ３０８では、操作情報取得部２０６は、ボタン１０３に対する作業完了の旨の操作があった場合、この操作を本処理を終了する操作情報として受け付け、本処理を終了する。一方、ボタン１０３に対する作業続行の旨の操作があった場合、この操作を本処理を続行する操作情報として受け付け、ステップＳ３０２に戻って本処理を続行する。
【００４７】
本処理によれば、紙帳票の紙面を動画像として撮影し、その動画像の各フレーム画像から取得・抽出された画像特徴と、各文字列領域の座標情報及び文字認識結果からなる文字列情報の統合が、作業完了の旨のユーザ操作があるまで継続して行われる。これにより、文字認識結果を高い精度で維持される。
【００４８】
尚、本実施例では、文字列を含む被写体を動画像として撮影したが、図３の処理において同一の被写体の撮影により複数の画像が得られるのであればこれに限定されない。例えば、ステップＳ３０２では、ボタン１０３による静止画像の撮影開始のユーザ操作に応じて、静止画像を取得するようにしてもよい。
【００４９】
＜実施例１におけるステップＳ３０６のフレーム間統合処理の詳細＞
実施例１における、文字列情報記憶部２０２が実行する図３のステップＳ３０６のフレーム間統合処理について図４と図５を用いて説明する。
【００５０】
図５（ａ）において、被写体５００は、撮像器１０１で動画として撮影される対象である帳票の紙面であり、基準フレーム画像５０１及び追跡フレーム画像５０２は夫々、撮影画像取得部２０１が取得したその動画像のフレーム画像の一つである。
【００５１】
また、基準フレーム画像５０１及び追跡フレーム画像５０２の夫々に対する、ステップＳ３０４で検出された文字列領域、及びステップＳ３０５で認識された文字認識結果を可視化した例を図５（ｂ），（ｃ）に示す。
【００５２】
ステップＳ４０１では、撮影画像取得部２０１で新たに取得されたフレーム画像が、基準フレーム画像か、追跡フレーム画像かを判定する。これは、基準フレーム画像の文字列情報が文字列情報記憶部２０２に既に存在するか否かで判断すればよい。判定の結果、撮影画像取得部２０１で新たに取得されたフレーム画像が基準フレーム画像である、すなわち、まだ保存されている基準フレーム画像がなければ、ステップＳ４０２に進む。ステップＳ４０２では、ステップＳ３０３〜Ｓ３０５で取得・更新された画像特徴及び文字列情報を基準フレーム画像の情報として保存する。一方、既に基準フレーム画像の文字列情報が文字列情報記憶部２０２に保存されていれば、そのフレーム画像を追跡フレーム画像と判断し、ステップＳ４０３へ進む。
【００５３】
ステップＳ４０３では、画像特徴取得部２０７で取得した、基準フレーム画像と追跡フレーム画像の間（以下、単に「フレーム間」という）で画像特徴のマッチングを行う。このマッチングは、基準フレーム画像と追跡フレーム画像の夫々から取得した画像特徴の類似度と距離を用いて行われる。
【００５４】
マッチングされた画像特徴を用いて、追跡フレーム画像の座標系を基準フレーム画像の座標系に変換するホモグラフィ行列（ｈｏｍｏｇｒａｐｈｙ  ｍａｔｒｉｘ）Ｈ１を推定する。具体的には、ＲＡＮＳＡＣ法を用いて誤ってマッチングされた画像特徴を除いた後、マッチングされた画像特徴における画像特徴点集合間のホモグラフィ行列のパラメータを求める連立方程式を解くことにより、ホモグラフィ行列Ｈ１を推定する。このとき公知の最小二乗法（ｌｅａｓｔ  ｓｑｕａｒｅｓ  ｍｅｔｈｏｄ）を用いてもよい。
【００５５】
図７は、図４のステップＳ４０４の処理後のフレーム間の文字列領域の位置ずれの状態を示す図である。具体的には、図７は、図５の追跡フレーム画像５０２をステップＳ４０３で推定されたホモグラフィ行列Ｈ１でフレーム画像５０２ａに変換し、図５の基準フレーム画像５０１に写像した状態を示す。
【００５６】
この例では、フレーム間の文字列領域の位置ずれが大きい。すなわち、ステップＳ４０３のようにマッチングされた画像特徴のみではホモグラフィ行列Ｈ１の推定精度が低くなる場合があることがわかる。
【００５７】
ステップＳ４０４では文字列領域検出部２０４で取得した追跡フレーム画像の各文字列領域をホモグラフィ行列Ｈ１で第１の変換文字列領域に変換し、基準フレーム画像に写像する。具体的には前記ステップＳ４０３で取得したホモグラフィ行列Ｈ１により、追跡フレーム画像の文字列情報の座標情報に対して公知の変換処理を行えばよい。
【００５８】
ステップＳ４０５では、ステップＳ４０４による写像の結果とステップＳ３０５における基準フレーム画像及び追跡フレーム画像に対する文字認識結果に基づき、フレーム間の文字列情報の組合せを決定する。具体的には文字列領域の位置が近く、さらに、文字認識結果が類似しているものを組合せに選択する。例えば、図６のように、ステップＳ３０５で複数の候補からなる文字認識結果が得られている場合は、下位候補も含めて類似判定をしてもよい。
【００５９】
ステップＳ４０６では、ステップＳ４０５で決定した組合せにおいて、基準フレーム画像の文字列領域と、ステップＳ４０４で変換された追加フレーム画像の文字列領域（第１の変換文字列領域）との間の距離が離れているか否かを判定する。本実施例では、決定した全ての組合せの文字列領域の間の距離の総和を取り、閾値以上であれば距離が離れていると判定する。尚、決定された全ての組合せの文字列領域の間の距離の平均値、最大値、最頻値のいずれかに基づき、距離が離れているか否かを判定してもかまわない。判定の結果、距離が離れている場合（ステップＳ４０６でＹｅｓ）、ステップＳ４０７へ進み、そうでない場合（ステップＳ４０６でＮｏ）、ステップＳ４０９へ進む。
【００６０】
ステップＳ４０７では、ステップＳ４０４での写像後の追跡フレーム画像の座標系を基準フレーム画像の座標系に変換するホモグラフィ行列Ｈ２を推定する。この推定に用いるパラメータは、ステップＳ４０５で決定した組合せ、基準フレーム画像の文字列情報、及びステップＳ４０４での写像後の追加フレーム画像の文字列情報に基づくものであれば、特に限定されるものではない。例えば、図８（ａ）のように、使用する座標情報から文字列領域の重心の座標値８０２〜８０９を算出し、その重心の座標値８０２〜８０９を使ってホモグラフィ行列Ｈ２を推定してもよい。また、使用する座標情報から文字列領域の各頂点位置を示す４点の座標値を算出し、その４点の座標値を使ってホモグラフィ行列Ｈ２を推定してもよい。また、各文字列領域に含まれる１文字ごとの重心の座標値を算出し、その重心の座標値を使ってホモグラフィ行列Ｈ２を推定してもよい。
【００６１】
尚、ステップＳ４０７におけるホモグラフィ行列Ｈ２の推定の際、ステップＳ４０５で決定した全ての組合せを使う必要はない。例えば、基準フレーム画像において文字列領域が密集している領域に位置する組合せについてはその一部はホモグラフィ行列Ｈ２の推定の計算に用いなくてもよい。あるいは、基準フレーム画像において、ステップＳ４０３でホモグラフィ行列Ｈ１を推定する際に使用した画像特徴点が密である領域に位置する組合せについてはその一部はホモグラフィ行列Ｈ２の推定の計算に用いなくてもよい。具体的には、図８（ａ）の領域８０１は基準フレーム画像５０１において画像特徴点が密集した領域にあるので、図８（ｂ）のように、領域８０１においてホモグラフィ行列Ｈ２の推定の計算に用いる組合せを間引いてもよい。尚、基準フレーム画像を既定のサイズにタイル分割し、ホモグラフィ行列Ｈ２の推定の計算に使用する座標値が規定タイル内に一定数以上あれば、その規定タイルに含まれる計算に用いる組合せを間引くという方法を用いてもよい。
【００６２】
このように画像特徴点やホモグラフィ行列Ｈ２の推定の計算に使用する座標値の粗密に応じて計算に用いる組合せを間引く。これにより、ホモグラフィ行列Ｈ１による写像だけではフレーム間での位置ずれの大きかった文字列領域の位置ずれを小さくさせるホモグラフィ行列Ｈ２を推定することが可能になる。
【００６３】
ステップＳ４０８では、ステップＳ４０４で変換された追加フレーム画像の文字列領域（第１の変換文字列領域）をホモグラフィ行列Ｈ２で第２の変換文字列領域に変換し、基準フレーム画像に再写像する。
【００６４】
図９（ａ）は、本実施例によりフレーム間の文字列領域の位置ずれが調整された状態を示す図である。具体的には、図９（ａ）は、図５の追跡フレーム画像５０２をホモグラフィ行列Ｈ１，Ｈ２でフレーム画像５０２ｂに変換し、図５の基準フレーム画像５０１に再写像した状態を示す。ホモグラフィ行列Ｈ１のみを用いて追跡フレーム画像５０２をフレーム画像５０２ａに変換し、基準フレーム画像５０１に写像した図７の場合と比べて、図９（ａ）のフレーム間の文字列領域の位置ずれは小さくなるがわかる。
【００６５】
ステップＳ４０９では、フレーム間の文字認識結果を統合する。ここでは、ステップＳ４０６から直接ステップＳ４０９に進んだ場合は、基準フレーム画像の文字列領域とホモグラフィ行列Ｈ１を用いて変換した追加フレーム画像の文字列領域（第１の変換文字列領域）の間の文字認識結果を統合する。一方、ステップＳ４０８からステップＳ４０９に進んだ場合は、基準フレーム画像の文字列領域とホモグラフィ行列Ｈ１，Ｈ２を用いて２度変換した追加フレーム画像の文字列領域（第２の変換文字列領域）の間の文字認識結果を統合する。この統合の際、ステップＳ４０５で決定した文字列領域の各組合せから、文字認識結果の信頼度の高いものを採用してもよい。また、ステップＳ４０５で決定した文字列情報の各組合せにおいて認識された文字コードの多数決により統合した文字認識結果を決定してもよい。また、基準フレーム画像及び追跡フレーム画像の夫々の画像状態により、紙帳票の紙面の同一の部分を含む文字列領域であるがステップＳ３０４において異なる大きさの文字列領域として検出される場合がある。よって、ステップＳ４０５で決定された組合せ毎に文字列領域の大きさの比較を行う。この比較の結果、大きさに一定以上の差があった組合せの文字領域については、基準フレーム画像及び追跡フレーム画像における各々で横もしくは縦に隣接する文字を集めた文字列に対して動的計画法によるマッチングを行って個々の文字の組合せを決定する。その後、ステップＳ４０９における統合を行って、本処理を終了する。
【００６６】
以上説明したように、本実施例によれば、紙帳票の紙面をモバイル端末１００で動画像として撮影して紙帳票に記載された文字情報を抽出する際、まず、撮影で得られた動画像のフレーム画像毎に画像特徴、文字列情報、文字認識結果を抽出する。その後、その抽出された画像特徴、文字列情報、文字認識結果に基づいてフレーム間の文字列領域の位置ずれを小さくした後、フレーム間の文字認識結果を統合する。これによって、画像特徴が少ない部分におけるフレーム間の文字列領域の位置ずれも確実に小さくすることができ、被写体である紙帳票の紙面の文字情報を抽出する際に良好な文字認識結果を効率よく取得することができる。
【００６７】
（実施例２）
動画像として取得した各フレーム画像内に撮像器１０１のレンズ等に起因する非線形な歪みがあり、実施例１のようにホモグラフィ行列Ｈ１やホモグラフィ行列Ｈ２を用いて追跡フレーム画像の全体に一括した補正をしても位置合わせの差分が大きい場合がある。本実施例はかかる場合に対応する形態である。具体的には、図９（ａ）に示すように、ホモグラフィ行列Ｈ１，Ｈ２で補正してもなお、領域９０３のように、他の領域９０１，９０２と比べてフレーム間の文字列領域の位置ずれが大きい場合がある。このような場合に、領域９０３における文字列情報のみを抽出して、ホモグラフィ行列Ｈ３を推定する。
【００６８】
なお、制御の流れなど実施例１と共通する内容については説明を省略し、以下では本実施例の特徴である、上記非線形な歪みが生じている部分のみ追跡フレーム画像を補正した後、その部分におけるフレーム間の文字認識結果を統合する方法を中心に説明する。
【００６９】
＜実施例２におけるステップＳ３０６のフレーム間統合処理の詳細＞
実施例２における、文字列情報記憶部２０２が実行する図３のステップＳ３０６のフレーム間統合処理について図１０を用いて説明する。
【００７０】
ステップＳ４０１〜Ｓ４０９の処理は実施例１と共通するステップのため、説明を省略する。
【００７１】
本実施例では、図４のステップＳ４０８の処理後、ステップＳ１００１に進む。ステップＳ１００１では、ステップＳ４０５で決定した組合せ毎に、基準フレーム画像とステップＳ４０４，Ｓ４０８でのホモグラフィ行列Ｈ１，Ｈ２を用いた２度の写像後の追跡フレーム画像との文字列領域の間の距離が離れているかを判定する。本実施例では、決定した全ての組合せの文字列領域の間の距離の最頻値に基づき、距離が離れていると判定する。尚、決定された全ての組合せの文字列領域の間の距離の平均値及び最小値のいずれか基づき、距離が離れているか否かを判定してもかまわない。判定の結果、距離が離れていると判定された組合せがあった場合（ステップＳ１００１でＹＥＳ）、ステップＳ１００２へ進み、そうでない場合（ステップＳ１００１でＮｏ）、ステップＳ４０９へ進む。
【００７２】
ステップＳ１００２では、ステップＳ１００１で距離が離れていると判定された組合せの文字列情報のみを用いてホモグラフィ行列Ｈ３を推定する。例えば、図９（ａ）の場合、領域９０３に含まれる全ての文字列領域の座標情報をホモグラフィ行列Ｈ３を推定する際に使用する。
【００７３】
ステップＳ１００３では、ステップＳ１００１で距離が離れていると判定された組合せのみ、追跡フレーム画像の第２の変換文字列領域をホモグラフィ行列Ｈ３で第３の変換文字列領域に変換し、基準フレーム画像に再々写像する。その後、ステップＳ４０９に進む。
【００７４】
図９（ｂ）は、本実施例によりフレーム間の文字列領域の位置ずれが調整された状態を示す図である。具体的には、図９（ｂ）は、図９（ａ）のフレーム画像５０２ｂをその領域９０３のみホモグラフィ行列Ｈ３を用いて変換しフレーム画像５０２ｃとすることで、図５の基準フレーム画像５０１に再々写像した状態を示す。実施例１によりフレーム間の文字列領域の位置ずれが調整された図９（ａ）の場合と比べて、図９（ｂ）では、フレーム間の文字列領域の位置ずれ、特に図９（ａ）において大きな位置ずれが生じていた領域９０３における位置ずれは小さくなることが分かる。
【００７５】
尚、ステップＳ１００３からステップＳ４０９に進んだ場合、ステップＳ１００１において距離が離れていると判定された組合せについては、ステップＳ１００３による再々写像の結果に基づき、フレーム間の文字認識結果を統合する。一方、ステップＳ１００１において距離が離れていないと判定された組合せについては、ステップＳ４０９と同様の方法でフレーム間の文字認識結果を統合する。
【００７６】
以上説明したように、本実施例によれば、フレーム間の文字列情報の組合せのうち、ホモグラフィ行列Ｈ１，Ｈ２による補正後も文字列領域の位置ずれが大きい組合せについては、その組合せの文字列情報に基づきその位置ずれを小さくする補正を行う。これによって、動画像として取得した各フレーム画像内に撮像器１０１のレンズ等に起因する非線形な歪みが生じている場合であっても、被写体である紙帳票の紙面の文字情報を抽出する際に良好な文字認識結果を効率よく取得することができる。
【００７７】
尚、ステップＳ１００１において、距離が離れていると判定された組合せがあると判定された場合、ユーザにステップＳ１００２，Ｓ１００３を実行するかを問い合わせるようにしてもよい（問合手段）。具体的には、図９（ａ）の黒枠に示す画面を位置ずれが生じている領域９０３を強調した形で表示器１０２に表示すると共に「部分的な位置ずれの調整を行いますか」というメッセージを表示する。
【００７８】
（実施例３）
さらに、ステップＳ４０５で決定した組合せから、ステップＳ４０７におけるホモグラフィ行列Ｈ２の推定の際に使用する組み合せを選択する場合、その選択を文字認識結果に基づき行ってもよい。
【００７９】
例えば、数字や記号のように、被写体である帳票の紙面において出現頻度が高い文字が、フレーム画像内の複数の文字列領域に重複して存在している場合がある。この場合、ステップＳ４０５の処理精度、すなわち、かかる文字を含む文字列情報の組合せの決定精度は低くなる。そこで、本実施例では予め設定した文字コードが含まれる文字列情報はホモグラフィ行列Ｈ２の推定の際に使用する組合せから除外する。
【００８０】
さらに、文字列領域に含まれる各文字の認識信頼度が低い場合、その文字認識結果は、文字ではなくノイズを誤って文字認識した結果であったり、文字を誤認識した結果である場合がある。かかる場合、ステップＳ４０９の処理精度、すなわち、フレーム間の文字認識結果の統合精度が低くなる。そこで本実施例では、信頼度の低い文字列情報はホモグラフィ行列Ｈ２の推定の際に使用する組合せから除外する。
【００８１】
以上説明したように、本実施例によれば、ステップＳ４０５やステップＳ４０９の処理精度が低くなるような文字列情報を除外する。これにより、被写体である紙帳票の紙面の文字情報を抽出する際に良好な文字認識結果を効率よく取得することができる。
【００８２】
尚、実施例１〜３では、画像処理装置としてモバイル端末を使用したがこれに限定されない。すなわち、画像処理装置は、自由な場所で利用できるカメラ機能、及びデータ送受信機能を有する外部装置から、その外部装置での撮影画像を取得できる装置、例えば、クラウドサーバであってもよい。この場合、クラウドサーバは、外部装置においてインストールされた専用のクラウドアプリの起動後、外部装置から順次撮影された複数の画像を取得することで、実施例１〜３の文字情報抽出処理を実行する。
【００８３】
［その他の実施例］
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、装置に供給することによっても、達成されることは言うまでもない。このとき、供給された装置の制御部を含むコンピュータ（またはＣＰＵやＭＰＵ）は、記憶媒体に格納されたプログラムコードを読み出し実行する。
【００８４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８６】
また、上述のプログラムコードの指示に基づき、装置上で稼動しているＯＳ（基本システムやオペレーティングシステム）などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれ、前述した実施例の機能が実現される場合も含まれることは言うまでもない。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行う。
【符号の説明】
【００８８】
１００  モバイル端末
１０１  撮像器
１０２  表示器
１０３  ボタン
１０４  通信器
２０１  撮影画像取得部
２０２  文字列情報記憶部
２０３  表示生成部
２０４  文字列領域検出部
２０５  文字列認識部
２０６  操作情報取得部
２０７  画像特徴取得部
【図１】
2020201821.tif 000003
【図２】
2020201821.tif 000004
【図３】
2020201821.tif 000005
【図４】
2020201821.tif 000006
【図５】
2020201821.tif 000007
【図６】
2020201821.tif 000008
【図７】
2020201821.tif 000009
【図８】
2020201821.tif 000010
【図９】
2020201821.tif 000011
【図１０】
2020201821.tif 000012