(57)【特許請求の範囲】
【請求項１】
被写体を連続して撮影し、複数枚の画像データを入力する手段と、
前記複数枚の画像データそれぞれから複数の所定の長さ以上の線分で構成される四辺形を算出し、それに外接する四辺形を求め、対応する各辺が形成する角度差を算出し、四辺の角度差の合計である正面からのズレの量Ｑが最も小さい画像データを前記複数枚の画像データの中で最も正面から撮影された画像データであると判定する手段と、
前記の最も正面から撮影された画像データの中の文字および図形を認識する手段と
を備えたことを特徴とする画像入力装置。
【請求項２】
被写体を連続して撮影し、複数枚の画像データを入力する手段と、
前記複数枚の画像データそれぞれから複数の所定の長さ以上の線分で構成される四辺形を算出し、それに外接する四辺形を求め、対応する各辺が形成する角度差を算出し、四辺の角度差の合計である正面からのズレの量Ｑが最も小さい画像データを前記複数枚の画像データの中で最も正面から撮影された画像データであると判定する手段と、
前記の最も正面から撮影された画像データを真正面から撮影された画像データに変換する手段と、
前記の真正面から撮影された画像データに変換された画像データの中の文字および図形を認識する手段と
を備えたことを特徴とする画像入力装置。
【請求項３】
被写体を連続して撮影し、複数枚の画像データを入力するステップと、
前記複数枚の画像データそれぞれから複数の所定の長さ以上の線分で構成される四辺形を抽出し、それに外接する四辺形を求め、対応する各辺が形成する角度差を算出し、四辺の角度差の合計である正面からのズレの量Ｑが最も小さい画像データを最も正面から撮影された画像データであると判定するステップと、
前記の最も正面から撮影された画像データの中の文字および図形を認識するステップと
を備えたことを特徴とする画像入力方法。
【請求項４】
被写体を連続して撮影し、複数枚の画像データを入力するステップと、
前記複数枚の画像データそれぞれから複数の所定の長さ以上の線分で構成される四辺形を抽出し、それに外接する四辺形を求め、対応する各辺が形成する角度差を算出し、四辺の角度差の合計である正面からのズレの量Ｑが最も小さい画像データを最も正面から撮影された画像データであると判定するステップと、
前記の最も正面から撮影された画像データを真正面から撮影された画像データに変換するステップと、
前記の真正面から撮影された画像データに変換された画像データの中の文字および図形を認識するステップと
を備えたことを特徴とする画像入力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＣＤなどの画像入力器を備えたカメラ、及び携帯情報端末、パーソナルコンピュータ、ワードプロセッサ等の電子機器において、連続的に撮影された画像の中から、被写体に対して、正面方向から撮影した画像データに最も近い画像データを自動的に選択し、更に真正面の画像データに変換して文字認識処理する画像入力装置、画像入力方法及びその処理を実行するプログラムが記録された記憶媒体に関する。
【０００２】
【従来の技術】
一般に、印刷物や物体に記された文字や図形を認識する場合、できるだけ被写体の正面から撮影した画像データに対して認識処理する方が、正しい認識結果を得る可能性が高いと知られている。これは、真正面方向からのズレ（位置、方向、回転）が大きくなるほど真正面の画像データへ戻す変換処理による誤差が大きくなり、画像データが劣化するためである。例えば、ＣＣＤカメラやディジタルカメラなどの撮影装置を使って、印刷された紙や物体等の被写体の真正面の画像データを入力しようとする場合、カメラか被写体のどちらかを手で動かして、真正面に近い画像データを入力するための位置合わせや角度合わせを行うことになる。例えば、図３は、パソコンに固定されたカメラで、手に持った印刷物を撮影するシーンであり、図４は、ディジタルカメラを手で持って印刷物に向けて撮影するシーンである。例えば、カメラと被写体が正対していれば、図５に示すような画像データを得ることができるが、カメラと被写体の位置と角度がずれていると、撮影した画像データは図６のように変形されたものとなる。なお、カメラの位置、姿勢推定など、カメラキャリブレーションについては、"コンピュータビジョン、技術評論と将来展望"(新技術コミュニケーションズ）pp.37-53,および同書pp.97-122に詳説されている。
【０００３】
しかしながら、従来の技術において、図６に示すような変形された画像データに対し「逆透視変換処理」と呼ばれる「カメラ位置を元の位置（真正面）に戻した時の画像データに変換する画像処理」を施すことによって、真正面の画像データに復元できることが知られている。「逆透視変換処理」については、”テレビジョン画像情報工学ハンドブック”（テレビジョン学会編、オーム社）,pp.462に詳説されている。
【０００４】
また、画像データ中の文字を認識する場合、Ｘ，Ｙ方向に傾いた画像データを画像変換で正立像に戻してから認識する方法が知られている（特開平6-103411,特開平110-25258）。画像データの中から文字列、文字を抽出する方法は、”拡張スプリット検出法による文書構造解析”（情報処理学会（平成９年度後期）第５５回全国大会 2-105,106)に詳しい。文字認識手法については、”手書き漢字の方向パターン・マッチング法による解析”（電子情報通信学会,Vol.J65-D,No.5,pp.550-557,1982.5)に詳しい。
【０００５】
しかしながら、正面からのズレの量が大きい画像データに対しては、画像データに「逆透視変換処理」を施しても完全に（正面から撮影した画像データ程度に）復元することは困難である。特に正面からのズレの量が大きくて文字が潰れたような画像データに対しては、文字を正しく認識することができる程度の画像データに復元することは不可能に近い。
【０００６】
従って、撮影時に、できるだけ正面に近い位置や方向からの画像データを得ることがこれらの課題の解決方法として最も有効である。
【０００７】
図４に示すシーンにおいては、撮影者が被写体に向けたカメラの位置や角度はおおよそ正面を向いていると考えてよい。このようなシーンにおける問題は、撮影者の手ぶれによるカメラの位置と角度の変化である。従来の撮影装置では、１枚の画像データを取り込むだけであったが、最近のデジタルカメラでは、一定時間連続して複数枚の画像データを記録できるものがある。１枚だけの画像データでは、正面から撮影した画像データとして適切なものである可能性は低いが、複数枚の連続した画像データが取り込まれると、その中に正面から撮影した画像データとして適切なものが含まれる可能性は大きい。
【０００８】
【発明が解決しようとする課題】
本発明では、一定時間連続して撮影された複数枚の画像データの中から最も正面の画像データとしてふさわしい画像データを選出する手段を実現し、その手段を用いて得られた画像データに逆透視変換処理を施して復元した真正面の画像データの中の文字や図形にパターン認識処理を施して結果を得る装置、及びその処理方法を実現する。
【０００９】
【問題点を解決するための手段、及び発明の効果】
本発明では、一定時間連続して撮影された複数枚の画像データの中から最も正面からの画像データとしてふさわしい画像データを選び出す手段を実現し、その手段を用いて得られた画像データに逆透視変換処理を施して復元した真正面の画像データの中に存在する文字や図形にパターン認識処理を施して結果を得る画像入力装置、及びその処理方法を実現する。
【００１０】
その結果、撮影時に「手振れ」があっても、連続して撮影された複数枚の画像データの中から最も正面の画像データを自動選出し、更に、逆透視変換処理を施して真正面の画像データに復元処理することにより、文字認識や図形認識の可能な品質の画像データを得て、画像データ中の文字や図形を精度よく認識することが可能となる。
【００１１】
【発明の実施の形態】
図を用いて本発明の一実施例を説明する。
【００１２】
図１は、本発明を実施するための装置の構成を示している。図中、（１０１）は、ＣＰＵであり、ＲＯＭ（１０５）に格納されたプログラムに従って処理を行う。ＲＯＭ（１０５）には、プログラムの他に画像処理や正面画像判定に必要な基準データなどが格納されている。また、ＲＡＭ（１０６）は、プログラムのロード領域、ワーキング領域、処理中の画像データ等の一時記憶領域などとして使用される。また、外部記憶（１０８）は、プログラムの他に画像処理や判定に用いる基準データ、及び処理中の画像データなどを一時的に記憶する。
【００１３】
（１０２）は、キーボードであり、撮影タイミングの指示や装置全体の制御指示をＣＰＵに入力する。
【００１４】
（１０３）は、表示部であり、撮影された生の画像データや変換された画像データや画像データをパターン認識した結果などがＣＰＵの指示に従って表示される。
【００１５】
（１０４）は、画像入力部（ＣＣＤカメラまたはディジタルカメラのCCD部）であり、ＣＰＵからの指示に従って１枚の画像データを撮影入力する。
【００１６】
図２は、装置全体の処理の構成を表すブロック図である。まず、画像データ入力部（１１０）により撮影された１枚の画像データがメモリに記録される。
【００１７】
視点位置算出部（１１１）は、入力された１枚の画像データの中に存在する複数の直線成分から、その画像データを撮影した時のカメラの位置（回転を含む）を逆算するブロックである。
【００１８】
適正画像判定部（１１２）は、複数枚の画像データの中に正面からのズレの量が許容範囲内の画像データがあるかどうか判定し、許容範囲内の画像データがあれば、その中から最も正面に近い画像データを選択するブロックである。
【００１９】
逆透視変換部（１１３）は、算出されたカメラの位置に基づいて、選択された画像データを、カメラを正面にした時の画像データに変換するブロックである。
【００２０】
文字認識部（１１４）は、画像データの中に存在する文字や図形を認識するブロックである。
【００２１】
図７は、本発明の特徴的な動作を示す図である。図中、G01〜G06は、連続的に撮影した画像データである。これらの画像データから４角形を構成する４本の線分を検出し、それらの線分の方向から、最も正面から撮影された画像データG04を選出する。選出された画像データG04に対して逆透視変換処理を施した結果がG041である。
【００２２】
図８は、複数枚の画像データを連続的に撮影し、その画像データの中から最も正面に近い画像データを選択する処理のフローチャートをである。以下、その処理の詳細について説明する。
【００２３】
まず、ステップＳ１０１の初期化処理において、ＣＰＵ（１０１）は、撮影画像枚数カウンタをクリアする。
【００２４】
そして、ステップＳ１０２の処理において、ＣＰＵ（１０１）は、画像入力部（１０４）へ撮影を指示し、撮影された１枚分の画像データをメモリＲＡＭ（１０６）に一時的に記憶する。
【００２５】
ステップＳ１０３の処理において、視点位置算出部１１１は、まず、撮影された画像データに対して、画像データを入力したカメラ部の空間的位置Ｐ（xp,yp,zp,rp）を算出する。具体的には、画像データの中から所定の長さ以上の複数の線分（例えば、図７の画像G01中の４角形の4辺など）を抽出し、その傾きから画像入力部のカメラ部の位置P(xp,yp,zp,rp)を算出する。図９上では、カメラ（Ｐ，Ｒ）の位置で示される。Ｘ，Ｙは被写体の水平座標、Ｙは垂直座標、xp,ypは被写体球面上の水平方向の極座標、垂直方向の極座標、zpは画像入力部（視点位置）と被写体との距離、rpは画像入力部と被写体との回転を示している。
【００２６】
図９では、視点位置（カメラ（Ｐ，Ｒ））の被写体の正面からのズレを極座標に変換した時の角度のズレとして算出する。ここで、極座標の中心Ｇは、被写体の中心（四辺形なら、その対角線の交点）とし、被写体平面上の四辺形の長辺軸方向をＸ軸とし、同平面上の短辺軸方向をＹ軸とする。Ｚ軸は被写体面に垂直方向にとり、被写体の中心Ｇからの距離を表す。回転はカメラの基準平面と被写体平面とのＺ軸を中心にした回転のズレとして表す。正面からのズレの量は極座標上の角度として表すことになる。図９では、視点位置のZpの極座標上の球面上で視点位置の軸と正面軸の間の角度として、[xp,yp,rp]として得ることができる。このように、xp,yp,rpの合計を正面からのズレの量Ｓとして計算し、視点位置Ｐ、正面からのズレの量Ｓは、画像データと対応づけてメモリ（ＲＡＭ１０６）に一時的に記憶しておく。
【００２７】
その後、ステップＳ１０４においては、撮影した画像の枚数が所定枚数に達したか否かを判定する。所定の枚数に達していなければ、達するまであるいはＣＰＵから撮影中止の指示が出されるまで、撮影を繰り返す（ステップＳ１０４のＮｏ）。所定の枚数に達していれば（ステップＳ１０４のＹｅｓ）、ステップＳ１０５に移る。
【００２８】
ステップＳ１０５の処理においては、適正画像判定部（１１２）が、複数枚の画像データの中に、正面からのズレの量が許容範囲内のものがあるか否かを判定する。ズレの量が許容範囲内の画像データがあれば（ステップＳ１０５のＹｅｓ)、ステップＳ１０６に進み、ズレの量が最小の画像データを最も正面に近い画像データとして選出する。ズレの量が許容範囲内の画像データがなければ（ステップＳ１０５のＮｏ）、その結果をＣＰＵに報知し、最初から撮影をやり直す。
【００２９】
以下、図１０を用いて、ステップＳ１０５の処理について、詳細に説明する。
【００３０】
まず、ステップＳ２０１からＳ２０３においてカウンタなどを初期化する。続いて、ステップＳ２０４において当該画像データのズレの量が許容範囲内にあるか否か判定する。ステップＳ２０４の処理を図１１を用いて説明する。まず、ステップＳ４１１において当該画像データのズレの量（xp,yp,rp）を取得する。次に、ステップＳ４１２において、xpがＸ方向の座標のズレの範囲内、ypがＹ方向の座標のズレの範囲内、rpが回転のズレの範囲内にあるか判定する。xp，yp，rpとも範囲内にあればステップＳ４１５において、ズレの量Ｓを計算する。さらに、Ｓがズレの許容範囲内にあるか判定し、範囲内にあれば、当該画像データのズレは許容範囲内であるという判定結果を与え（ステップＳ４１７）、Ｓがズレの許容範囲外であれば、当該画像データのズレは許容範囲外であるという判定結果を与えて（ステップＳ４１８）、それぞれステップＳ２０４の処理を終了する。
【００３１】
ステップＳ１０６の処理において、適正画像判定部（１１２）は、複数枚の画像データの中から最も正面に近い画像データ（ズレの量が最小の画像データ）を選出し、選出結果をメモリ（ＲＡＭ１０６）に記録し、ＣＰＵに報知して、連続撮影および適正画像選出処理を終了する。
【００３２】
図１２を用いて、ステップＳ１０６の処理を詳説する。まず、ステップＳ６０１でカウンタを初期化し、次にステップＳ６０２でズレの量が許容範囲内にあるＪ番目の画像データを特定し、ステップＳ６０３により、そのズレの量をメモリから取り出し、ステップＳ６０４によりズレの量Ｓを計算する。Ｓ６０５，Ｓ６０６は、Ｓｍｉｎ，Ｊｍｉｎを初期設定するルートである。Ｓ６０７，Ｓ６０８で最小のＳの値（Ｓｍｉｎ）とその画像データの番号（Ｊｍｉｎ）を更新し、最も小さいＳの値とその画像データの番号を記憶する。Ｓ６１０により、全てのズレの量が許容範囲ないの画像データのズレの量の比較の終了を判定し、全ての処理が終わればステップＳ６１１により、Ｊ番目の画像データを最も正面の画像データとして選出結果を与えて、ステップＳ１０６の処理を終了する。
【００３３】
上記実施例では、正面からのズレの量を、視点位置算出部１１１でのカメラの視点の位置の計算結果によって求めたが、別の実施方法として、図１３に示すように、検出した線分により構成される４辺形と、その４辺形を囲む矩形（長方形）との差分（近似的な変形具合）を正面からのズレの量として処理する方法もある。以下、別の実施方法において、主要な部分であるステップＳ１０３の処理からステップＳ１０６の処理について、詳しく説明する。
【００３４】
ステップＳ１０３の処理において、画像データの中から所定の長さ以上の複数の線分を抽出し、四辺形を構成する。次に、図１３に示すように、抽出した四辺形に外接する矩形を求めて、数１から数４の計算式によって、対応する各々の辺が形成する角度をズレの量｛ｑ１、ｑ２、ｑ３、ｑ４｝として算出する。以下の数式において、方向角度は、図１３における辺Ｂ１Ｂ４（水平右）方向を基準方向（０度）とした時の基準方向空の時計廻り角度で表す。正面からのズレの量Ｑは、数５によって計算し、画像データと対応づけてメモリＲＡＭ（１０６）に一時的に記憶しておく。数５において、｜ｑ｜は、ｑの絶対値を表す。
【００３５】
【数１】
0003649942.tif 000002
【００３６】
【数２】
0003649942.tif 000003
【００３７】
【数３】
0003649942.tif 000004
【００３８】
【数４】
0003649942.tif 000005
【００３９】
【数５】
0003649942.tif 000006
【００４０】
その後、ステップＳ１０４においては、撮影した画像の枚数が所定枚数に達したか否かを判定する。所定の枚数に達していなければ、達するまであるいはＣＰＵから撮影中止の指示が出されるまで、撮影を繰り返す（ステップＳ１０４のＮｏ）。所定の枚数に達していれば（ステップＳ１０４のＹｅｓ）、ステップＳ１０５に移る。
【００４１】
ステップＳ１０５の処理においては、適正画像判定部（１１２）が、複数枚の画像データの中に、正面からのズレの量が許容範囲内のものがあるか否かを判定する。ズレの量が許容範囲内の画像データがあれば（ステップＳ１０５のＹｅｓ)、ステップＳ１０６に進み、ズレの量が最小の画像データを最も正面に近い画像データとして選出する。ズレの量が許容範囲内の画像データがなければ（ステップＳ１０５のＮｏ）、その結果をＣＰＵに報知し、最初から撮影をやり直す。
【００４２】
以下、図９を用いて、ステップＳ１０５の処理について、詳細に説明する。
【００４３】
まず、ステップＳ２０１からＳ２０３においてカウンタなどを初期化する。続いて、ステップＳ２０４において当該画像データのズレの量が許容範囲内にあるか否か判定する。この場合のステップＳ２０４の処理については、図１４を用いて説明する。まず、ステップＳ４２１において当該画像データのズレの量（q1,q2,q3,q4）を取得する。次に、ステップＳ４２２からステップＳ４２５において、ズレの量（q1,q2,q3,q4）がそれぞれの許容範囲にあるか判定し、許容範囲内にあれば、ステップS426において、ズレの量の合計を求めてステップＳ４２７において許容範囲の判定を行う。ここでも許容範囲内にあると判定されれば、当該画像データのズレの量は、許容範囲内にあるという判定結果を与えてステップＳ２０４の処理を終了する。
【００４４】
ステップＳ１０６の処理において、適正画像判定部（１１２）は、複数枚の画像データの中から最も正面に近い画像データ（ズレの量が最小の画像データ）を選出し、選出結果をメモリ（ＲＡＭ１０６）に記録し、ＣＰＵに報知して、連続撮影および適正画像選出処理を終了する。
【００４５】
図１５を用いて、ステップＳ１０６の処理を詳説する。まず、ステップＳ６２１でカウンタを初期化し、次にステップＳ６２２でズレの量が許容範囲内にあるＪ番目の画像データを特定し、ステップＳ６２３により、そのズレの量をメモリから取り出し、ステップＳ６２４によりズレの量Ｑを計算する。Ｓ６２５，Ｓ６２６は、Ｑｍｉｎ，Ｊｍｉｎを初期設定するルートである。Ｓ６２７，Ｓ６２８で最小のＱの値（Ｑｍｉｎ）とその画像データの番号（Ｊｍｉｎ）を更新し、最も小さいＳの値とその画像データの番号を記憶する。Ｓ６３０により、全てのズレの量が許容範囲内の画像データのズレの量の比較の終了を判定し、全ての処理が終わればステップＳ６３１により、Ｊｍｉｎ番目の画像データを最も正面の画像データとして選出結果を与えて、ステップＳ１０６の処理を終了する。
【００４６】
また、図２の処理ブロック構成図において、適正画像判定部（１１２）で求めた最も正面に近い画像データに対し、逆透視変換部（１１３）によって真正面の画像データに逆透視変換処理して、その結果をメモリへ記憶する。
【００４７】
更に、真正面の画像データに対し、文字認識部（１１４）によって文字を認識する。文字認識部（１１４）は、まず、画像をY軸に投影した黒画素の分布から黒画素の少ない部分を行間として検出し、行単位の画像データに分割する。更に、行単位の画像データを１文字毎の画像データに分割する。行単位の画像データをX軸に投影して黒画素の分布から黒画素の少ない部分を字間として１文字づつの画像データに分割する。そ結果として得られた１文字毎の画像データと文字認識部の文字認識用照合辞書の全文字との間で類似度計算を行い、最も類似度の高い文字を認識結果とする。
【００４８】
画像データの中から文字列、文字を抽出する方法は、”拡張スプリット検出法による文書構造解析”（情報処理学会（平成９年度後期）第５５回全国大会 2-105,106)に詳しい。また、文字認識手法については、”手書き漢字の方向パターン・マッチング法による解析”（電子情報通信学会,Vol.J65-D,No.5,pp.550-557,1982.5)に詳しい。
また、「逆透視変換」については、”テレビジョン画像情報工学ハンドブック”（テレビジョン学会編、オーム社）,pp.462に説明されている。また、カメラの位置、姿勢推定など、カメラキャリブレーションについては、"コンピュータビジョン、技術評論と将来展望"(新技術コミュニケーションズ）pp.37-53,および同書pp.97-122に説明されている。
【００４９】
また、図１の実施例では、上述した画像入力処理方法をＲＯＭ１０５に記憶されたプログラムによって実行する場合について示したが、このプログラムは、フロッピーディスクやハードディスクなどの外部記憶媒体（１０８）に記憶するようにしてもよい。
【図面の簡単な説明】
【図１】本発明の一実施例を示すための装置の構成図である。
【図２】本発明の実施例の処理のブロック構成図である。
【図３】パソコンの固定カメラで撮影するイメージ図である。
【図４】ディジタルスチルカメラなどの携帯型カメラで撮影するイメージ図である。
【図５】被写体を正面から撮影した画像のイメージ図である。
【図６】被写体に対して正面（中心、垂直）方向から、左に、かつ下にずれた方向から撮影した画像のイメージ図である。
【図７】連続撮影した画像から正面画像を自動選択する概念を表した図である。
【図８】複数の画像を連続して撮影し、その中から正面から撮影した画像として最適な画像を選択する処理を示すフローチャートである。
【図９】視点位置を極座標の概念で表した図である。
【図１０】複数枚の画像データの中にズレの量が許容範囲内のものがあるかの判定処理（Ｓ１０５）のフローチャートである。
【図１１】ズレの量が許容範囲内であるかの判定処理（Ｓ２０４の処理）のフローチャートである。
【図１２】最小のズレの量の画像データ判定処理（Ｓ１０６の処理）のフローチャートである。
【図１３】対象四角形と外接矩形とのズレの量の概念を示す図である。
【図１４】外接矩形とのズレが許容範囲内にあるかの判定処理（Ｓ２０４）のフローチャートである。
【図１５】別の実施例（外接矩形）における、最小のズレの量の画像データ判定処理（Ｓ１０６の処理）のフローチャートである。
【符号の説明】
【図１】
0003649942.tif 000007
【図２】
0003649942.tif 000008
【図３】
0003649942.tif 000009
【図４】
0003649942.tif 000010
【図５】
0003649942.tif 000011
【図６】
0003649942.tif 000012
【図７】
0003649942.tif 000013
【図８】
0003649942.tif 000014
【図９】
0003649942.tif 000015
【図１０】
0003649942.tif 000016
【図１１】
0003649942.tif 000017
【図１２】
0003649942.tif 000018
【図１３】
0003649942.tif 000019
【図１４】
0003649942.tif 000020
【図１５】
0003649942.tif 000021