(58)【調査した分野】(Int.Cl.,DB名)
【図面の簡単な説明】
【0008】
【
図1】
図1は、画像内のテキスト領域を自動的に検出する方法を示すフローチャートである。
【
図2】
図2は、閉曲線を特定する方法を示すフローチャートである。
【
図4】
図4は、検出アルゴリズムにより生成されたエッジマップの説明図である。
【
図5】
図5は、本明細書で記載する閉曲線特定方法で生成した閉曲線を含む、精製されたエッジマップを含む説明図である。
【
図6】
図6は、後処理のステップで、1つの画素だけで隔てられた2つの開口先端が特定され、それらを接続させたときの処理前及び処理後の画像の説明図である。
【
図7】
図7は、後処理ステップで、エッジマップ内に残っている開口先端を全部なくなるまで繰り返し浸食させたときの処理前及び処理後の画像の説明図である。
【
図8】
図8は、2つの閉曲線が単一のエッジに互いに付いたときの「エラーモード」が検出された画像の例を示す説明図である。
【
図9】
図9は、本明細書で記載する技術で修正可能な問題を抱えたエッジセットの例を示す説明図である。
【
図10】
図10は、閉曲線を囲む全ての背景画素を薄い灰色でマークして現れたエッジセットを示す説明図である。
【
図11】
図11は、誤って接続させた曲線から、首尾よく文字「B」を分離させたエッジセットを示す説明図である。
【
図12】
図12は、追加した後処理のステップを適用後の、精製されたエッジマップを示す説明図である。
【
図13】
図13は、候補テキスト線を形成する方法を示すフローチャートである。
【
図14】
図14は、閉曲線間のリンクの確立に関する追加的な詳細を示す説明図である。
【
図15】
図15は、後述の3つの基準を満たす閉曲線がリンクされたエッジマップの説明図である。
【
図16】
図16は、確立されたリンクを含み、テキスト文字を通るリンクが候補テキスト線として選択されたエッジマップの説明図である。
【
図17】
図17は、残りのテキスト文字の閉曲線を通って候補テキスト線が拡張した、エッジマップを示す説明図である。
【
図18】
図18は、閉曲線の候補テキストの文字列を囲んだ境界多角形(bounding polygons)を黄色で示したオリジナル画像を示す説明図である。
【
図19】
図19は、複数の境界多角形が計算された別の画像の例を示す説明図である。
【
図20】
図20は、検出されたテキスト領域に分類子を適用して誤認警報の割合をさらに抑える、候補テキスト線を分類する方法を示す説明図である。
【
図21】
図21は、適度なアスペクト比、及びその閉曲線全体に渡る著しい変化を見せるテキスト文字の例を示す説明図である。
【
図22】
図22は、ほとんど変化しない、非常に大きなアスペクト比を閉曲線が見せる、画像内の縦型窓用ブラインド内で誤認識されたテキスト線を示す説明図である。
【
図23】
図23は、閉曲線が非常に大きな画素率、即ち、「コンパクト過ぎる」を有し、ほとんど変化を見せない誤認識されたテキスト線を示す説明図である。
【発明を実施するための形態】
【0009】
本明細書に記載するシステム及び方法により、写真画像、デジタル画像、及び/又は電子画像等の自然風景内でテキストを見つける方法が提供される。記載される方法では、既知のエッジ検出技術、又はアルゴリズムから得られるエッジ情報(例えば、画像内の構造物又は物体のエッジ)が利用される。この方法では、ノイズが多少のレベルで発生したとしても、テキスト文字からのエッジが閉曲線を形成するとみなす。閉曲線のリンク、及び候補テキスト線の形成は、記載される方法の2つ追加的な特徴であり、本明細書でさらに詳細に記載する。最終的に、候補テキスト線の分類子と適用して、誤認識されるテキストが特定されることをさらに抑える。
【0010】
本明細書に記載するシステム及び方法は、いくつかの分野で潜在的な用途を見出す。その一例が、個人用テキストメッセージを自然効果として、画像に組み込んだ画像のパーソナル化である。ユーザが個人用メッセージと入れ替えることができそうな既存テキストを含んだ画像内領域を特定するために本発明を使用することができる。本発明はまた、画像の「パーソナル化に対する適合性」(SFP)を評価する評価基準に関する高性能の処理ステップとしても使用することができる。簡単に要約すると、画像がテキストベースのパーソナル化に適しているかどうかを判定する際、既存のテキスト(例えば、看板、垂れ幕等)が存在している場所が一般に、個人用テキストメッセージを書き込むための自然な画像領域を提案するときに、重要な目安を提供する。したがって、自然風景の中に埋め込まれたテキストを正確かつ効率的に見つけ出す能力は、効果的なSFPの判定、及び画像のパーソナル化のために、及びデザイン支援として機能するために有益である。その他に、例えば、画像理解及び画像認識、セキュリティ、監視、ナンバープレート認識等の様々な用途が想定される。テキスト領域の検出は、記載される方法を用いる用途に依存する。例えば、画像のパーソナル化では、特定されたテキスト領域を、(ユーザに対して)見やすくマークアップ又は強調し、コンピュータ50上、又はコンピュータ50と関連するグラフィカル・ユーザ・インターフェース(GUI)を介してユーザに提示することができる。
【0011】
コンピュータ50を本明細書に記載するシステム及び方法をサポートするために設定される、可能性のあるハードウェアの1つとして用いることができる。本明細書では、独立型のアーキテクチャを例示しているが、全ての好適なコンピュータ環境を本実施形態により使用可能であることは言うまでもない。例えば、独立型、マルチプロセッサ、分散型、クライアント/サーバ、ミニコンピュータ、メインフレーム、スーパーコンピュータ、デジタル及びアナログを含むコンピュータアーキテクチャを本実施形態により用いることができるがこれらには限定しない。
【0012】
コンピュータ50は、プロセッシングユニット(図示せず)及びシステムメモリ(図示せず)を含み、このプロセッシングユニットは、本明細書に記載する種々の機能、手順、方法、プロトコル、技術等を実行するためのコンピュータ実行可能命令(例えば、モジュール、プログラム、ルーチン、アルゴリズム等)のセットを1つ以上実行し、システムメモリは、そのコンピュータ実行可能命令を格納する。コンピュータは、システムバス(図示せず)さらに含むことができ、このシステムバスは、システムメモリからプロセッシングユニットまでを含む種々のシステムコンポーネント間を接続する。プロセッシングユニットは、様々な市販プロセッサのうち任意のものでよい。デュアルマイクロプロセッサ及びその他のマルチプロセッサアーキテクチャもプロセッシングユニットとして使用可能である。
【0013】
本明細書で使用される「アルゴリズム」又は「モジュール」とは、コンピュータ実行可能命令のセットのことを指し、これらは、コンピュータ可読媒体(例えば、メモリ、ハードドライブ、ディスク、フラッシュドライブ、又はその他の全ての好適な記憶媒体)上に永続的に格納される。さらに、本明細書に記載する方法のステップは、ユーザにより特別なことが行われない限り、コンピュータ及び/又はプロセッサによりを実行される。
【0014】
コンピュータ50は一般に、少なくともいくらかのコンピュータ可読媒体の形態を含む。コンピュータ可読媒体は、コンピュータがアクセス可能な全ての利用可能媒体でよい。例として、コンピュータ可読媒体には、コンピュータ格納媒体及び通信媒体が含まれ得るが、これらに限定はしない。コンピュータ記憶媒体には、揮発性媒体及び不揮発性媒体、取り外し可能媒体、及び非取り外し可能媒体が含まれ、これらは、コンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータ等の情報を格納するための全ての方法又は技術により実行される。
【0015】
通信媒体は一般に、搬送波又はその他の搬送機構等の、変調データ信号内でコンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータを具体化し、また通信媒体には、全ての情報配信媒体が含まれる。用語「変調データ信号」とは、その信号内の情報をコード化するように、その特徴のうちの1つ以上を設定、又は変更した信号を意味する。例として、通信媒体には、有線ネットワーク又は直接有線接続等の有線媒体、及び音響、RF、赤外線、並びにその他の無線媒体等の無線媒体が含まれるが、これらには限定しない。上記の全ての組み合わせも、コンピュータ可読媒体の範囲に含むことができる。
【0016】
ユーザは、キーボード(図示せず)、ポインティングディバイス(図示せず)、マウス、サムパッド、音声入力、スタイラスペン、タッチスクリーン等を用いて、命令及び情報をコンピュータに入力することができる。コンピュータ50は、遠隔コンピュータ(複数可)等の1つ以上の遠隔コンピュータと論理的接続、及び/又は物理的接続したネットワーク環境で動作可能である。図示する論理的接続にはローカルエリアネットワーク(LAN)、及びワイドエリアネットワーク(WAN)が含まれる。企業内コンピュータネットワーク、つまりイントラネット、及びインターネットのようなネットワーク環境はオフィス内では一般的である。
【0017】
図1には、画像内のテキスト領域を自動的に検出する方法が示される。この方法は、コンピュータ50により実行される。102で、電子画像(例えば、走査された写真、デジタル画像、又はその他の好適な電子画像)を受信する。104で、検出画像内でエッジを検出する。ある例では、キャニーエッジ検出アルゴリズムを実行して、又は行って画像内のエッジを検出しているが、本明細書に記載する方法及びシステムと連動して、全ての好適なエッジ検出アルゴリズム、又は技術を適用することも可能であることは言うまでもない。106で、検出したエッジを用いて閉曲線を特定する。108で、特定された閉曲線から候補テキスト線を形成する。110で、候補テキスト線をテキスト領域、又は非テキスト領域として分類する。
【0018】
図2には、閉曲線を特定する方法が
図1の106の関連として詳細に示される。この方法は、コンピュータ50により実行される。122で、閾値T
openより短い距離で隔てられた閉曲線の開口先端を接続してエッジを形成する。124で、残っている開口先端を(例えば、既知の形態学的侵食技術等を用いて)繰り返し浸食させる。125で、接続したエッジ要素を閉曲線の候補として特定する。126で、単一のエッジに2つの閉曲線が互いに付く場合に、誤って付いている状態が発生したかどうか対する判定を行う。発生している場合、128で、そのような誤って接続された要素を分離させる。誤って接続された要素を分離させた後、又は126で、誤認識された状態が存在しないと判定された場合、次いで130で、特定した閉曲線をテキスト文字の候補として出力する。
【0019】
引き続いて
図1及び
図2、並びにそれらに関連して記載した方法を参照して、
図3〜
図8、及びそれに関連して記載した1つ以上の又は動作の例を説明するが、それらのステップ又は動作は、
図1及び
図2の方法に関連して実行される。
【0020】
図3には、画像150の一例が示され、
図1の方法を用いて、この画像に対して画像内のテキストの線を特定する。
【0021】
図4には、エッジマップ160が示され、このエッジマップは、104でエッジ検出アルゴリズム(例えば、キャニーアルゴリズム等)を適用することにより作成される。その目的はテキスト「Russian Tea Room」を検出することである。しかし、画像内のその他の詳細部及び構造物で込み入ったエッジマップ160内にテキストが紛れてしまうため、テキストの検出は困難である。しかし、テキスト文字からのエッジ曲線は、高い確率で、自己閉鎖していることに注目する。言い換えれば、テキスト文字に関する曲線は閉じているが、構造物からのエッジは一般に、障害物、低いコントラスト等の様々な理由により分離している。したがって、後処理のステップを2つ適用することで、過度のエッジ詳細部を取り除き、閉曲線162をそのまま維持する。その結果を
図5の精製済みエッジマップ170内に示す。
【0022】
図6及び
図7には、前述した2つ後処理ステップが示される。アルゴリズムは検索して閉曲線を検出するため、まず閉曲線の開口先端が検索される。開口先端の例を緑の画素として
図6及び
図7内に示す。
図6に示す通り、「処理前」の画像180内で、1組の開口先端182が特定される。第1の後処理122(
図2)では、1画素だけで隔てられた2つ開口先端182を全て接続しようと試みる。このステップの狙いは、ノイズが存在するために発生するテキスト文字のエッジ曲線内の小さな隙間を閉じることである。
図6では、文字「I」に関する曲線が首尾よく閉じられて「処理後」の画像190が生成され、この画像190内では、開口先端182が閉じられてエッジ192が形成されている。
【0023】
図7には、処理前の画像200及び処理後の画像210が示される。第2の後処理ステップ(
図2の124)により、エッジマップ内に開口先端がなくなるまで、残っている開口先端182を繰り返し浸食し続ける。処理後の画像210内の男性の顔の上のエッジのほとんどが浸食後に取り除かれている。
【0024】
図5に戻ると、ステップ開口先端を接続するステップ(122)、及び浸食ステップ(124)が完了後、精製されたエッジマップ(例えば、
図5を参照)を出力する。但し、精製されたエッジマップ内の非テキストのエッジのほとんどが取り除かれている。接続された要素の分析も
図5のエッジマップ上で実行され、色分けを用いてそれぞれの接続された閉曲線の要素を示される。
【0025】
図8には、画像220の例が示され、この画像220内では、2つの閉曲線が互い単一のエッジに付いているため「エラーモード」(例えば、間違った閉曲線)が検出されている。
図8に示す通り、122及び124の後でも、単語「NOBODY」内の文字「B」が、この画像内のいくらかの別の詳細部に付いたままであり、単語「GETS」内の文字「S」及び単語「HURT」内の文字「H」も相互に付いている。
図8には、開口先端は残っていないが、誤認識された閉要素が検出されている。追加の後処理126及び128(
図2)を設けてこの問題に取り組む。つまり、誤って接続された閉曲線が存在することが126の判定により示された場合、128で、アルゴリズムが誤って接続された閉曲線を分離しようと試みる。
【0026】
図9には、一例として問題を抱えるエッジセット230が示される。間違って接続された閉曲線232からのエッジ画素を白で示し、その他のエッジ画素を灰色で示す。128(
図2)でアルゴリズムを実行するとき、境界ボックスの境界を分析し、全ての背景画素を、接続要素を分析することよりマークして目立たせる。
【0027】
図10には、閉曲線232を囲む全ての背景画素を、薄い灰色でマークして現れたエッジセット240が示される。
図10で見られるように、閉曲線232のエッジ画素と、閉曲線とリンクするエッジ画素との間には差が存在する。閉曲線のエッジ画素は、閉曲線232の内側の画素(黒)から背景画素(薄い灰色)を分離させ、その一方で、閉曲線とリンクするエッジ画素242は、背景画素の2つ部分を単に分けている。アルゴリズムは、この観察に基づいて、首尾よく閉曲線をリンクするエッジ画素を取り除くことができ、128(
図2)で閉曲線を分離させることができる。
【0028】
図11には、エッジセット250が示され、その中では、文字「B」が首尾よく分離されている。但し、文字「B」閉曲線232の内側には、隔離された円が2つ存在し、それらも当然文字「B」に属する。最後のステップで、これらの円も文字「B」の曲線と組み合わされる。
【0029】
図12には、追加の後処理ステップ126〜128(
図2)を適用後の、精製されたエッジマップ260が示される。この
図12では、各閉曲線がテキスト文字候補として見なされ、
図2の方法の130で行われるように、見やすくするために異なる色で色分けされる。
【0030】
図13には、候補テキスト線を形成する方法が示され、この方法は、例えば、
図1の方法の108で実行される。この方法は、コンピュータ50により実行される。270で、閉曲線間のリンクを確立する。同一線上のリンクを抽出し、それらのリンクは高い確率でテキスト線に属する。そのような線を見つけるために、トータル最小2乗法を用いて直線を繰り返し合わせ、閉曲線の中央からその線までの距離に対して閾値を適用することに基づく、しらみつぶし探索法で検討する。したがって、272で、検討するためのリンクが選択され、閉曲線に関連する2つの中央を通して直線を合わせる。続くステップで、両方の曲線からリンクを次々に拡張させる。272で、選択された現在の閉曲線に対して、274で、選択されたリンク以外の全ての関連リンクを特定する。関連するリンクのうちの1つに付いた対応曲線が選択され、その曲線の中央は前回に合わせた線から最も短い距離を有する。同様にその距離が所定の閾値T
fよりも短い場合、この閉曲線を現在の曲線の後に加えて、閉曲線の配列を形成する。前に合わせた線も、新しく加えられた曲線を求めることにより再度合わされる。さらに、新しく加えられた閉曲線が現在の曲線となり、計算される距離が所定の閾値より長くなるまでこのステップが繰り返される。
【0031】
276で、最初に選択されたリンクから両方の閉曲線を拡張した後、配列内の曲線の総数を算出する。所定の数(例えば、4)以上の曲線が存在する場合、その配列を候補テキスト線として特定する。次いでこの配列内の全ての閉曲線、及びこれらの閉曲線に関する全てのリンクを取り除く。278で、全てのリンクが処理されるまで、この方法(例えば、272、274、及び276)を繰り返して、その他のリンクを考察する。279で、必要に応じて候補テキスト線を拡張する。
【0032】
図14及び
図15には、閉曲線間のリンクを確立するステップに関する追加の詳細が示され、この詳細は、例えば、
図2の方法の132で行われる。
図14に関連して、2つ閉曲線がエッジマップ280の一部でリンクされ得る前に、3つの基準を評価する。第1に、2つ閉曲線の中央間の距離が閾値T
dより短いかどうかに関する判定を行う。
図14には、この閾値をどのように算出するかが示される。2つ「O」の文字を考察すると、文字ごとの幅と高さは、それぞれw
1,h
1及びw
2,h
2となる。次いで、以下の式で閾値を算出する。
【数1】
但し、m′は正の増倍係数である(例えば、0.5又はその他のいくらかの所定の係数)。
図14で見られる通り、閾値の式の中の第2の項1/2(h
1+h
2)m′により、2つ文字の間の隙間が決定され、この隙間の閾値を平均の高さの倍数になるよう設定する。
【0033】
第2に、2つ文字間の高さの割合に閾値を適用する(例えば、0.6又はその他のいくらかの所定の閾値)。第2の基準を以下の式で算出する。
【数2】
この第2の基準は、2つ文字の高さが比較可能である必要があることを表す。
【0034】
最終的に、隣接する閉曲線の背景画素や文字が統計的な意味で類似し、テキスト画素も同様であるという前提に基づいて、色に関する制約を設ける。最初に、エッジ画素を閉曲線ごとに拡張する。次いで、拡張した曲線で覆われた全ての画素の輝度−クロミナンス色空間のクロミナンスチャネル上で、2つモードを有する混合ガウス分布を推定する。例えば、CIELAB空間のa*チャネルとb*チャネルを用いることができる。次に、背景モード間、及び2つ文字に関するテキストモード間のカルバック・ライブラー・ダイバージェンスの平均を以下の式で計算する。
【数3】
但し、C
1及びC
2は任意の2つ閉曲線/文字を表し、G
1,1,G
1,2及びG
2,1,G
2,2はこの2つ文字に関して、それぞれ推定される背景モード及びテキストモードである。試行錯誤に基づいて距離が、2と選択された閾値T
cより短い場合、2つ文字間のリンクを維持する。
【0035】
図15には、前述の3つの基準を満たす閉曲線がリンクされたエッジマップ290が示される。リンク292は黄色で示されている。具体的には、リンクは閉曲線の中央間で黄色の実線で示されている。
【0036】
図16には、
図14で確立されたリンクを有するエッジマップ310が示され、この中では、テキスト文字を通るリンク(
図14内の282)が候補テキスト線312として選択されている。この特定なケースでは、テキスト線「Russian Tea Room」のその部分、及びオリジナル画像内での複数の窓により引き起こされた誤認識によるリンク314(
図14のリンク284)を除く他の全ての偽リンクが取り除かれている。
【0037】
図17には、エッジマップ320が示され、その中では、
図15のリンク298で行われるように、候補テキスト線が残っているテキスト文字の閉曲線を通って拡張される。例えば、アルゴリズムにより、候補テキスト線312(
図16)等のテキストの部分的な線だけを見つけることができる。したがって、298で、候補テキスト線312を両端から拡張する。この拡張は、閉曲線をリンクさせ、線を合わせる前述したのと同じ方法を適用して行われるが、緩和された閾値T
d、T
h、及びT
fが用いられる。
図16内の候補テキスト線312を拡張すると、
図17に示される結果が得られる。つまり、全テキスト線「Russian Tea Room」を得られる。この例では、説明するための誤認識のテキスト線314を未だに残している。
【0038】
図18には、オリジナル画像150が示され、その中では、閉曲線の候補テキスト文字列を囲んだ境界多角形330を黄色で示される。
【0039】
図19には、画像340の別の例が示され、その中では、複数の境界多角形340が計算されている。
【0040】
図20には、候補テキスト線を分類する方法が示され、この方法では、誤認警報の割合をさらに抑えるために、分類子を適用してテキスト領域を検出する。この方法は、コンピュータ50により実行される。分類子のための特徴のセットを生成さする。350で、候補テキスト線内の全ての閉曲線に関する、分類されたアスペクト比の中央、上部及び下部の四分位点を生成する。352で、候補テキスト線内の全ての閉曲線に関する、分類された画素率(例えば、テキスト画素対背景画素の比率)の中央、上部及び下部の四分位点を生成する。354で、前面のガウス分布と背景のガウス分布との間のカルバック・ライブラー(KL)ダイバージェンスを生成する(例えば、ガウス分布は前面画素及び背景画素からそれぞれ推定される)。356で、上述の情報を用いて、候補テキスト線をテキスト又は非テキストに対して本物か誤認識か分類する。358で、特定されたテキスト線を出力する。
【0041】
350で決定されたアスペクト比の特徴に関する発見的問題解決が
図21に示される。
図21では、画像370内の「AVVIL」のテキスト文字は、適度なアスペクト比、及びその閉曲線全体で著しい変化を示す(例えば、「I」は、「A」よりもかなり大きなアスペクト比を有する)。
図22では、縦型窓用ブラインドによる誤認識画像380により、閉曲線全体でほとんど変化しない、非常に大きなアスペクト比が示される。画素率に関する発見的問題解決も
図23に示される。本物のテキスト「AVVIL」は、非常にコンパクトというわけではなく、ストローク間は多くの背景画素で満たされているが、
図23の画像390内の曲線は非常にコンパクトである。その結果、本物のテキストは変化のある中程度の画素率を有し、一方誤認識では一般にさらに大きな画素率を示す。最終的に、354で生成されたKLダイバージェンスにより背景モードとテキストモードとの間の対比が測定され、一般的には低い対比を示す構造によるいくつかの誤認警報を取り除くのに役立つ。
【0042】
350、352、及び354で決定された特徴を356で分類子に供給し、この分類子が候補テキスト線を、テキストとして、又は非テキストとして分類する。これに関しては、あらゆる好適な分類子を用いることができる。ある例では、ロジスティック回帰分類子を用いる(米国特許出願第13/349,751号明細書の領域分類でも用いられている)。別の例では、適用可能ロジスティック回帰分類子を用い、この適用可能ロジスティックは、回帰分類子「改良」型のロジスティック回帰と見なすことができる。
【0043】
前述した方法、技術、手順等は、本明細書に記載されたコンピュータ50、及び/又はそれに含まれ、関連して記載されたプロセッサ(図示せず)などのコンピュータ、プロセッサ等により実行されることを理解されたい。
【0044】
好ましい実施形態を参照して、本発明の例示的な実施形態を説明してきた。前述の詳細な記述を読み理解することで、第三者により修正及び変更が行われることは明らかである。そのような全ての修正及び変更は、付随する請求項又は同等物の範囲に入る限りにおいて、本発明の例示的な実施形態に含まれると解釈されることを意図する。