本発明の実施形態は、大きくは画像処理技術に関し、より詳細には、画像中のテキストの検出を容易にする方法及び装置に関する。
背景
最新のコンピュータ技術は計算能力の急速な向上をもたらし、低価格で高性能なコンピューティングデバイスの開発を促している。現代のコンピューティングデバイスの使い方は、社会経済的背景の範囲を超えたコンシューマーの中でユビキタスに近づいている。現代のコンピューティングデバイスは、画像処理に基づく様々なサービスを遂行する能力を有している。そのようなサービスには、例えば拡張現実アプリケーションや、POI(Point of Interest)に基づくナビゲーションサービスがあり、これらのアプリケーションでは、ユーザの周囲の光景が撮影され、その撮影イメージが、画像処理から導き出されたコンテキスト情報により拡張されたりする。別の例として、三次元マッピング技術というものもある。この技術は、撮影した現実世界のイメージを、三次元マップを作成するために使用する。この三次元マップには、情報の三次元的な位置や、画像のコンテキストから導き出されうるPOIに関連する情報が含まれる場合もある。
このような画像処理ベースのサービスは、撮影した現実世界イメージ中のテキストの検出に依存する場合があり、またテキストの検出により、サービスが強化されうる可能性がある。例えば、現実世界イメージから認識されたテキストは、POI認識を容易にしたり、テキストの音声読み上げに使用されたり、外国人旅行者のために翻訳サービスを提供したりするために使用されるかもしれない。しかし、画像中のテキスト検出はいまだに困難なものであり続けている。画像中のテキスト検出は、文書認識の分野では既に使われてきているが、アウトドアシーンのような自然の風景中のテキスト検出は、かなりの困難性を有することが知られている。この困難性は、テキストのフォントやスタイルの多様性や、カメラの視点、画像のコントラスト等、撮影された風景写真におけるテキストの視認性に影響を与える様々な因子によるものである。さらに、文書認識の分野では、撮影された画像で焦点が合わせられている主なものは、文書中のテキストであろうが、風景写真においてテキストが占める領域は、通常非常に小さいものであり、数千万画素の写真においても、テキストが占める割合はせいぜい数百ピクセルにすぎないこともしばしばである。
摘要
本明細書において、画像中のテキスト検出を容易にする方法、装置、コンピュータプログラムが開示される。様々な実施形態による方法や装置、コンピュータプログラムは、コンピューティングデバイスやそのユーザ、サービスプロバイダに対していくつかの利点を提供しうる。アウトドアの写真のような風景画像においては、フォントのスタイルやサイズが多様であり、背景のコントラストがテキスト検出の邪魔になりうるが、ある例示的実施形態が提供する画像中テキスト検出は、特に、そのような風景画像におけるテキスト検出に特に有用でありうる。ある例示的実施形態が提供するテキスト検出技術は、風景か増中のテキストのフォントや文字スタイル、向きには依存しない。特に、ある例示的実施形態は,フォントや文字スタイル、言語に依存しないテキストの特性を利用する。これらの実施形態は、理解したテキスト特性のモデルに基づいて高速に実行されうる計算を通じて、従来の方法に比べて高速のテキスト認識を可能にする。さらに、ある例示的実施形態により提供される、モデルに基づくテキスト検出のアプローチは、ヒューリスティック検出に基づく従来のアプローチに比べて、信頼性が向上しうる。ある例示的実施形態は、さらに、テキスト検出の性能に、制限を設定する能力を提供する。例えば、テキストモデルにより定められうる既知のテキスト特性に従って、ある検出レートが定められうる。それによって、ユーザは、所望の検出性能を満たすように、テキスト検出能力を調整することが可能になる。
第1の実施形態では、仮定されたテキスト片を含む画像領域に関連するアルファ値を計算することを含みうる方法が提供される。ここで前記アルファ値は、前記仮定されたテキスト片についての曲線的な文字長分布と、文字幅分布と、文字間隔分布との関数として定義されてもよい。この例示的実施形態の方法は、さらに、前記仮定されたテキスト片についての間隔長分布に少なくとも一部基づいて、ガンマ値を計算することを含んでもよい。この例示的実施形態の方法は、さらに、計算したアルファ値及びガンマ値に少なくとも一部基づいて、上記画像領域がテキストを含む領域であるか否かを分類することを含んでもよい。
別の例では装置が提供される。この例示的実施形態の装置は、少なくとも一つのプロセッサと、コンピュータプログラムコードを格納する少なくとも一つのメモリとを備えてもよい。前記少なくとも一つのメモリおよび前記格納されたコンピュータプログラムコードは、前記少なくとも一つのプロセッサと共に、前記装置に少なくとも、仮定されたテキスト片を含む画像領域に関連するアルファ値を計算させるように構成されてもよい。ここで前記アルファ値は、前記仮定されたテキスト片についての曲線的な文字長分布と、文字幅分布と、文字間隔分布との関数として定義されてもよい。前記少なくとも一つのメモリおよび前記格納されたコンピュータプログラムコードは、前記少なくとも一つのプロセッサと共に、前記装置に少なくとも、前記仮定されたテキスト片についての間隔長分布に少なくとも一部基づいて、ガンマ値を計算させるように構成されてもよい。前記少なくとも一つのメモリおよび前記格納されたコンピュータプログラムコードは、前記少なくとも一つのプロセッサと共に、前記装置に少なくとも、前記計算したアルファ値及びガンマ値に少なくとも一部基づいて、前記画像領域がテキストを含む領域であるか否かを分類させるように構成されてもよい。
別の例示的実施形態では、コンピュータプログラム製品が提供される。この実施形態のコンピュータプログラム製品は、コンピュータ可読プログラム命令を格納する少なくとも一つのコンピュータ可読記憶媒体を有する。この例示的実施形態のプログラム命令は、仮定されたテキスト片を含む画像領域に関連するアルファ値を計算するように構成されるプログラム命令を備えてもよい。ここで前記アルファ値は、前記仮定されたテキスト片についての曲線的な文字長分布と、文字幅分布と、文字間隔分布との関数として定義されてもよい。この例示的実施形態のプログラム命令は、さらに、前記仮定されたテキスト片についての間隔長分布に少なくとも一部基づいて、ガンマ値を計算するように構成されたプログラム命令を含んでもよい。この例示的実施形態のプログラム命令は、さらに、計算したアルファ値及びガンマ値に少なくとも一部基づいて、上記画像領域がテキストを含む領域であるか否かを分類するように構成されたプログラム命令を含んでもよい。
さらに別の例示的実施形態では、仮定されたテキスト片を含む画像領域に関連するアルファ値を計算する手段を備える装置が提供される。ここで前記アルファ値は、前記仮定されたテキスト片についての曲線的な文字長分布と、文字幅分布と、文字間隔分布との関数として定義されてもよい。この例示的実施形態の装置は、さらに、前記仮定されたテキスト片についての間隔長分布に少なくとも一部基づいて、ガンマ値を計算する手段を備えてもよい。この例示的実施形態の装置は、さらに、計算したアルファ値及びガンマ値に少なくとも一部基づいて、上記画像領域がテキストを含む領域であるか否かを分類するする手段を備えてもよい。
以上の概説は、本発明の幾つかの側面に対する基本的な理解が得られるように、本発明の幾つかの例示的実施形態を概説することを目的としただけのものである。よって当然ことながら、前述の例示的実施形態は単なる例示であって、如何なる形であっても本発明の範囲や思想を限定するように解釈すべきではない。また、本発明の範囲が多数の可能な実施形態を網羅していることも当然のことである。こうした実施形態の一部が概説されてきたが、以降でより詳細に説明する。
本発明の実施形態を一般的に説明してきたが、ここで添付の図面を参照する。なお図面のスケールは正確であるとは限らない。
画像中のテキストの検出を容易にする、ある例示的実施形態に従うテキスト検出装置のブロック図を描いたものである。
様々な実施形態に従う移動端末のブロック図を描いたものである。
ある実施形態に従う、テキスト検出を実行するシステムを描いたものである。
ある例示的実施形態に従う、言語発生のベイジアンネットワークを描いたものであり、これは、撮影された画像中において、テキストに影響を与える変数や効果を記述するために用いられうる。
ある例示的実施形態に従う、仮定されたテキスト片を横切る走査線の利用を描いたものである。
ある例示的実施形態に従って、仮定テキスト片を分類するモデルとして利用されうるトレーニングデータセットのために計算された、アルファ値及びガンマ値を描いたものである。
アルファ値及びガンマ値の散布図である。
ある実施形態に従ういくつかの分類結果を描いたものである。
画像中のテキストの検出を容易にする、ある例示的実施形態に従う例示的方法のフローチャートを描いたものである。
画像中のテキストの検出を容易にする、ある例示的実施形態に従う別の例示的方法のフローチャートを描いたものである。
詳細
以下、添付図面を参照して本発明のある例示的実施形態をより詳細に説明する。なお本発明の全ての実施形態が紹介されるわけではない。実際、本発明は様々な形態で実施されることができるので、本発明の実施形態がここで紹介される実施形態に限定されると考えてはならない。むしろここで紹介される実施形態は、本明細書が法的な要件を充足するために紹介されるものである。本明細書および図面を通じて同様の符号は同様の要素を表す。
本明細書で使用されるとき、「データ」や「コンテンツ」,「情報」および同様の用語は、種々例示的実施形態において送信されたり受信されたり、保存されたりしうるデータを言及するために互いに代替しうるように使用される。このため、このような用語が本開示の範囲や技術思想を制限するものと考えてはならない。さらに、本明細書に紹介されるコンピューティングデバイスは、別のコンピューティングデバイスからデータを受信するように説明されているが、データは、他のコンピューティングデバイスから直接受信される場合や、一つ又は複数の中継コンピューティングデバイスを通じて受信される場合もあることに注意されたい。そのような中継デバイスには、例えば、一つ又は複数のサーバやリレー、ルーター、ネットワークアクセスポイント、基地局のようなものがある。
本明細書で「コンピュータ可読媒体」との用語は、プロセッサに実行命令を含む情報を提供しうる如何なる媒体であってもよい。このような媒体は様々な形態をとりうるものであり、揮発性または不揮発性の非一時的コンピュータ可読記憶媒体や、伝送媒体が含まれる。ただし、これらに限定されない。伝送媒体は、例えば、同軸ケーブル,銅線,光ファイバーケーブル,ワイヤやケーブルを介さずに空間を伝う搬送波などであることができ、搬送波としては音波や電磁波があり、電磁波には無線電波,可視光,赤外線などがある。非一時的コンピュータ可読媒体の例として、フレキシブルディスクやハードディスク,磁気テープ,その他の非一時的磁気媒体等や、コンパクトディスク・読み出し専用メモリ(CD−ROM),書き換え可能なコンパクトディスク(CD−RW),デジタル多用途ディスク(DVD),ブルーレイディスク等の非一時的光学式コンピュータ可読媒体,ランダムアクセスメモリ(RAM),プログラマブル読み出し専用メモリ(PROM),消去可能プログラマブル読み出し専用メモリ(EPROM),フラッシュEPROM等、コンピュータが読み出し可能なその他のメモリチップやカートリッジ、非一時的媒体がある。本明細書においてコンピュータ可読記憶媒体との用語は、伝送媒体を除くどのようなコンピュータ可読な媒体をも言及する。しかし当然のことながら、コンピュータ可読記憶媒体を使用するように記載される実施形態においても、他の種類のコンピュータ可読媒体が代用されたり、別の実施形態においてコンピュータ可読記憶媒体に追加して使用されたりすることも可能である。
また、本明細書において「回路網(circuitry)」との用語は、(a)ハードウェアのみにより実装される回路網(例えばアナログ回路網及び/又はデジタル回路網による実装)や、(b)一つ又は複数のコンピュータ読み取り可能なメモリに記録されるソフトウェア及び/又はファームウェアと回路網との組合せであって、本明細書に記載の一つ又は複数の機能を協働して装置に実行させる組み合わせ、(c)例えば一つ又は複数のマイクロプロセッサや、一つ又は複数のマイクロプロセッサの部分であるような、一つ又は複数の回路であって、動作するために、(たとえ物理的には存在しないものであっても)ソフトウェア又はファームウェアを必要とするような回路、を言い表す。「回路網(circuitry)」のこの定義は、本明細書及び特許請求の範囲の全体にわたって適用されるべきものである。さらなる例として、本明細書で使用されるとき、「回路網(circuitry)」との用語は、一つ以上のプロセッサおよび/またはこれらの一つ以上の部分と、これらに付随するソフトウェアおよび/またはファームウェアを含む実装を含む。更なる例として、本明細書で使用されるとき、「回路網(circuitry)」との用語は、例えば、携帯電話のためのベースバンド統合回路やアプリケーションプロセッサ統合回路を意味することができ、また、サーバやセルラネットワークデバイス、その他のネットワークデバイス、その他のコンピュータデバイスの中の、同様の集積回路を意味することができる。
図1は、画像中のテキストの検出を容易にする、ある例示的実施形態に従うテキスト検出装置102のブロック図を描いたものである。なお、テキスト検出装置102は特定の実施形態の例示に過ぎず、如何なる意味においても、本明細書に開示される技術思想の範囲を制限するものであると考えてはならない。これに関して、本明細書に開示される技術思想は、本明細書及び図面に説明され例示される実施形態に加えて、実施可能な多くの具現化形態を包含することに留意されたい。図1は、画像中のテキストの検出を容易にする装置の構成の一例を図示しているが、本明細書に開示される技術思想を逸脱することなく様々な構成が具現化されうるものである。
テキスト検出装置102は、デスクトップコンピュータやラップトップコンピュータ、移動端末、携帯型コンピュータ、携帯電話、移動通信端末、タブレット型コンピューティングデバイス、一つ又は複数のサーバ、一つ又は複数のネットワークノード、ゲーム機器、デジタルカメラ/カムコーダ、オーディオ/ビデオプレーヤー、テレビ装置、ラジオ受信機、デジタルビデオレコーダー、測位デバイス、チップセット、チップセットを備える装置、これらいずれかの組み合わせ、などとして具現化されうる。ある例示的実施形態においては、テキスト検出装置102は、図2に描かれるように、移動端末として具現化されてもよい。
図2は、テキスト検出装置102の一つの実施形態を表す移動端末10のブロック図を描いたものである。ただ、この図に描かれ以下に説明されるデバイス100は、様々な実施形態に従って実装されうる(及び/又はそれに従って利益を受けうる)テキスト検出装置102の一つのタイプを単に例示するに過ぎず、従って、本明細書で開示される事項の範囲を限定するもの捉えてはならない。電子装置のいくつかの具現化形態がここに描かれ、例示のために説明されるが、他のタイプの電子デバイス、例えば携帯電話や携帯型コンピュータ、パーソナル・デジタル・アシスタント(PDA)、ポケットベル、ラップトップコンピュータ、デスクトップコンピュータ、ゲーム機器、テレビ当、様々なタイプの電子システムが、本発明の具現化形態を使ってもよい。
図示されるように、移動端末10は、送信機14および受信機16と協働する(一つまたは複数の)アンテナ12を備えていてもよい。移動端末10は、送信機及び受信機と信号をやりとりするように構成されたプロセッサ20を備えてもよい。プロセッサ20は、例えば、様々な手段として具現化されることができる。このような手段には、例えば回路網(circuitry)や、協働するDSPを備える一つ又は複数のマイクロプロセッサ、DSPを備えない一つ又は複数のプロセッサ、一つ又は複数のコプロセッサ、処理回路、一つ又は複数のコンピュータ、その他様々な処理要素等が含まれる。また、「その他様々な処理要素」には、例えば、ASICやFPGA、これらの組み合わせのような集積回路が含まれる。従って、図2においてはプロセッサ20はシングルプロセッサとして描かれているが、実施形態によっては複数のプロセッサであってもよい。プロセッサ20によりやりとりされる信号には、利用可能なセルラシステムや、様々な有線・無線ネットワーク技術の規格に従ったシグナリング情報を含んでいてもよい。このような技術の非限定的な例には、IEEE802.11やIEEE802.16規格のようなWi−Fiや無線ローカル・エリア・ネットワーク(WLAN)技術が含まれる。さらに、そのような信号には,音声データやユーザが生成したデータ、ユーザが要求したデータなどが含まれてもよい。これに関して移動端末は、一つ以上の無線インタフェース規格や通信プロトコル,変調タイプ,アクセスタイプによって動作可能であってもよい。より具体的には、移動端末は、第1世代(1G)、第2世代(2G)、2.5G、第3世代(3G)、第4世代(4G)等の様々な通信プロトコルや、SIP等のIMS通信プロトコル等で動作する能力を有してもよく、また将来開発されるプロトコルによって動作する能力を有してもよい。例えば、上記移動端末は、第2世代の無線通信プロトコルであるIS−136(時分割多重アクセス(TDMA))、GSM(Global System for Mobile communications)、IS−95(符号分割多重アクセス(CDMA))等で動作する能力を有してもよい。また、例えば、上記移動端末は、2.5世代の無線通信プロトコルであるGPRS(General Packet Radio Service)や、EDGE(Enhanced Data GSM Environment)等で動作する能力を有してもよい。さらに、例えば、上記移動端末は、第3世代の無線通信プロトコルであるUMTS(Universal Mobile Telecommunications System)やCDMA2000、WCDMA、TD−SCDMA等で動作する能力を有してもよい。上記移動端末は、第4世代の無線通信プロトコルであるロング・ターム・エボリューション(LTE)や、LTE−Advance(LTE−A)、E−UTRAN(Evolved Universal Terrestrial Radio Access Network)等で動作する能力を有してもよい。
デュアルモード又はそれ以上のモードを有する電話(例えばデジタルモードとアナログモードを有する電話や、TDMAとCDMA、アナログモードを有する電話)の場合、狭帯域電話システム(Narrow−band Advanced Mobile Phone System;NAMPS)や、TACS(Total Access Communication System)に関しても、本発明の具現化から利益を得ることができる可能性がある。さらに、移動端末10は、Wi−Fi(Wireless Fidelity)プロトコルやWiMAX(Worldwide Interoperability for Microwave Access)プロトコルに従って動作する能力を有してもよい。
プロセッサ20は、携帯端末10のオーディオ/ビデオ機能や論理機能を実装する回路網を備えていてもよい。さらに、プロセッサ20はDSPデバイスやマイクロプロセッサデバイス、A/D変換器、D/A変換器等を備えてもよい。携帯端末の信号及び情報処理機能は、それぞれの能力に従って、これらのデバイスの中に割り当てられてもよい。プロセッサは、内蔵の音声符号化器(VC)20aや、内蔵のデータモデム(DM)20b等を備えてもよい。さらに、プロセッサは、メモリに記録されうる一つ以上のソフトウェアプログラムを実行する能力を有してもよい。例えばプロセッサ20は、Webブラウザのような通信プログラムを実行する能力を有していてもよい。そのような通信プログラムは、携帯端末10がWebコンテンツを送受信できるようにする。そうしたWebコンテンツには、WAP(Wireless Application Protocol)やHTTP(Hypertext Transfer Protocol )等のプロトコルに従う位置ベースのコンテンツがある。移動端末10は、インターネットや他のネットワークとの間でWEBコンテンツを送受信するために、TCP/IP(Transmission Control Protocol/Internet Protocol)を使用する能力を有してもよい。
移動端末10はまた、例えばイヤホンやスピーカー24、リンガ22、マイクロホン26、ディスプレイ28、および、ユーザ入力インタフェースを含むユーザインタフェース等を備えていてもよく、これら全てはプロセッサ20に制御可能に接続されてもよい。これに関してプロセッサ20は、スピーカー24やリンガ22,マイクロホン26,ディスプレイ28等の一つ以上のユーザインタフェースの要素の少なくとも何れかを制御するように構成されるユーザインタフェース回路を備えていてもよい。プロセッサ20および/またはプロセッサ20を含むユーザインタフェース回路は、コンピュータプログラム命令を通じて、ユーザインタフェースの一つ以上の要素の一つ以上の機能を制御するように構成されてもよい。そうしたコンピュータプログラム命令は、例えば揮発性メモリ40や不揮発性メモリ42のような、プロセッサ20がアクセス可能なメモリに格納される、ソフトウェアおよび/またはファームウェア等であってもよい。図示されていないが、上記移動端末は、その様々な回路に電気を供給するバッテリーを備えてもよい。そのような回路には、例えば、知覚可能な出力として、機械的な振動を提供する回路がある。ユーザ入力インタフェースは、移動端末がデータを受信することを可能にするデバイスをいくつか備えていてもよい。そのようなデバイスには、例えばキーパッド30やタッチディスプレイ(図示していない)、ジョイスティック(図示していない)、またその他の入力デバイスが存在する。キーパッドを含む実施形態において、当該キーパッドは、0−9の数字キーや関連するキー(#,*)、その他携帯端末10を操作するためのキーを有していてもよい。
図2に描かれるように、移動端末10は、データの共有及び/又は取得のための一つ又は複数の手段を備えていてもよい。例えば上記移動端末は、短距離無線(RF)送受信機及び/又は質問器(インテロゲータ)64を備えていてもよい。従って、RFテクノロジに従って、他の電子機器とデータを共有したり、又はその電子機器からデータを取得したりすることができてもよい。上記移動端末は、様々な短距離無線送受信機を備えてもよい。例えば、赤外線送受信機66、Bluetooth作業グループにより開発された、Bluetooth(登録商標)ブランドの無線技術を用いるBluetooth(BT)送受信機68、ワイヤレスUSB送受信機70等を備えてもよい。Bluetooth送受信機68は、超低消費電力のBluetooth技術(例えばWibree(登録商標)無線規格)によって動作する能力を有していてもよい。これに関して、移動端末10及び特に短距離送受信機は、移動端末の近傍(例えば10m以内)において、他の電子機器との間でデータを送信及び/又は受信することができるようにされてもよい。図示されてはいないが、上記移動端末は、様々な無線ネットワーク技術に従って、他の電子機器との間でデータを送受信する能力を有してもよい。そのような無線ネットワーク技術には、例えば、IEEE802.11技術、IEEE802.15技術、IEEE802.16技術当のWi−Fi(Wireless Fidelity),無線LAN技術を含む。
移動端末10は、カメラモジュールやビデオモジュール、及び/又はオーディオモジュールのようなメディアキャプチャ要素を備えてもよい。これらメディアキャプチャ要素はプロセッサ20と通信する。上記メディアキャプチャ要素は、画像や動画及び/又は音声をキャプチャして格納したり表示したり送信したりする如何なる手段であってもよい。例えば、上記メディアキャプチャ要素がカメラモジュール36である例示的実施形態では、カメラモジュール36は、キャプチャしたイメージからデジタル画像ファイルを形成するように構成されたデジタルカメラを備えてもよい。さらに、カメラモジュール36のデジタルカメラはビデオクリップを撮影するように構成されてもよい。カメラモジュール36は、レンズその他の光学部品のような全てのハードウェアや、キャプチャしたイメージからデジタル画像ファイルを作成するために必要なソフトウェア、キャプチャしたビデオクリップからデジタルビデオファイルを作成するために必要なソフトウェアを含む。別の例では、カメラモジュール36は画像を取得するために必要なハードウェアのみを備える。そして移動端末10の記憶装置には、プロセッサ20によって実行されることによりキャプチャしたイメージからデジタル画像ファイルを作成するための命令が、ソフトウェアの形態として格納される。さらに別の例では、ユーザが望む場合にカメラによりキャプチャされうる画像を表示すべく、カメラモジュールの視野に存在するオブジェクトが移動端末10のディスプレイ28に表示されてもよい。
キャプチャされる画像は、例えば、カメラモジュール36によりキャプチャされ、画像ファイルとして格納される画像を含んでもよい。別の例では、キャプチャされる画像は、移動端末10のディスプレイまたはビューファインダに現在表示されているオブジェクトを含んでもよいが、必ずしも画像ファイルに格納されなくともよい。ある例示的実施形態においては、カメラモジュール36はさらに、プロセッサ20が画像データを処理することを支援するように構成されるコプロセッサのような処理要素や、画像データを圧縮したり伸張したりするエンコーダーやデコーダーを備えていてもよい。これらエンコーダーは又はデコーダーは、例えば、JPEG(joint photographic experts group)やMPEG(moving picture experts group)規格等のフォーマットに従って、圧縮・伸張を行ってもよい。
移動端末10は、加入者識別モジュール(SIM)38や、着脱可能なユーザ識別モジュール(R−UIM)等のメモリを備えていてもよい。これらは移動端末の加入者に関連する情報要素を格納してもよい。SIMに加えて、上記移動端末は、その他の着脱可能なメモリや内蔵メモリを備えてもよい。移動端末10は、揮発性メモリ40及び/又は不揮発性メモリ42を備えてもよい。例えば、揮発性メモリは、ランダムアクセスメモリ(RAM)を含んでもよく、ダイナミック及び/又はスタティックRAM、オンチップ又はオフチップのキャッシュメモリ等を含んでもよい。不揮発性メモリ42は、内蔵及び/又は着脱可能な不揮発性メモリであってもよく、また、例えばリード・オンリー・メモリ、フラッシュメモリ、磁気記憶デバイス(例えばハードディスクやフレキシブルディスクドライブ、磁気テープなど)、光ディスクドライブ及び/又は光ディスクメディア、不揮発性のランダムアクセスメモリ(NVRAM)等を含んでもよい。揮発性メモリ40と同様に、不揮発性メモリ42は、データの一時的な記憶のためのキャシュエリアを含んでもよい。これらのメモリは、移動端末が移動端末としての機能を遂行するために使用しうるソフトウェアプログラムや命令、情報片、データ等を一つ又は複数格納していてもよい。例えばこれらのメモリは、移動端末10をユニークに識別可能な国際移動体装置識別コード(IMEIコード)のような識別情報を格納していてもよい。
図1に戻る。ある例示的実施形態において、テキスト検出装置102は、本明細書に記載される様々な機能を実行するための、様々な手段を備える。これらの手段には、プロセッサ110、メモリ112、通信インタフェース114、ユーザインタフェース116、イメージキャプチャ回路網118、検出回路網120の一つ又は複数が含まれうる。本明細書で記載される、テキスト検出装置102のこれらの手段は、例えば、回路網(circuitry)やハードウェア要素(例えば適切にプログラムされたプロセッサ、論理回路の組み合わせ等)、コンピュータプログラムに基づく製品、これらの組み合わせ等として具現化されてもよい。なお、コンピュータプログラムに基づく製品とは、例えばプロセッサ110のような適切に構成された処理デバイスにより実行されるコンピュータ読み取り可能なプログラム命令(例えばソフトウェアやファームウェア)お格納するコンピュータ読み取り可能な媒体(例えばメモリ112)を備えるものである。
ある実施形態において、図1に描かれる一つ又は複数の手段は、チップ又はチップセットとして具現化されてもよい。言葉を変えれば、装置102は、例えばチップのような一つ又は複数の物理的なパッケージを含んでいてもよく、例えば基板のような構造組立部品(structural assembly)上に材料や部品、ワイヤ等を含んでいてもよい。構造組立部品は物理的な強度やサイズの保全を提供してもよく、また、要素回路の電気的な相互作用を抑える役割を果たしてもよい。これに関して、プロセッサ110、メモリ112、通信インタフェース114、ユーザインタフェース116、イメージキャプチャ回路網118、検出回路網120の一つ又は複数や、これらの組み合わせは、チップ又はチップセットとして具現化されてもよい。したがって、ある実施形態において、テキスト検出装置102は場合によっては、単一のチップや単一のシステム・オン・チップ(SoC)上に、本発明の具現化形態を実装するように構成されてもよい。別の例であるが、ある実施形態において、テキスト検出装置102は、本発明の具現化形態を、単一のチップや単一のシステム・オン・チップ(SoC)上に実装する要素を備えてもよい。このように、場合によっては、チップ又はチップセットは、本明細書に記載される機能を実現する一つ又は複数の処理を実行する手段を構成してもよく、及び/又は、本明細書に記載される機能やサービスに関してユーザをナビゲートする手段を構成してもよい。
プロセッサ110は、例えば、様々な手段として具現化されることができる。このような手段には、例えば、協働するDSPを備える一つ又は複数のマイクロプロセッサ、DSPを備えない一つ又は複数のプロセッサ、一つ又は複数のコプロセッサ、処理回路、一つ又は複数のコンピュータ、その他様々な処理要素等が含まれる。また、「その他様々な処理要素」には、例えば、ASICやFPGA、これらの組み合わせのような集積回路が含まれる。従って図1において、プロセッサ110はシングルプロセッサとして描かれているが、実施形態によっては複数のプロセッサであってもよい。これら複数のプロセッサは互いに協働しうるように通信してもよく、本明細書に記載されるような、テキスト検出装置102の一つ又は複数の機能を一緒に実行するように構成されてもよい。これら複数のプロセッサは、単一のコンピューティングデバイス上に搭載されてもよいが、複数のコンピューティング装置にまたがって分散されて搭載されてもよい。これら複数のコンピューティング装置は、一緒になって、テキスト検出装置102として機能するように構成される。テキスト検出装置102が移動端末10として具現化される実施形態において、プロセッサ110は、プロセッサ20として具現化されるか、又はプロセッサ20を含んでもよい。ある例示的実施形態において、プロセッサ110は、メモリ112に格納された命令を実行するように構成されてもよい。またはプロセッサ110は、自身がアクセス可能な命令を実行するように構成されてもよい。これらの命令は、プロセッサ110により実行されると、テキスト検出装置102に、本明細書で説明されるその一つ又は複数の機能を遂行させうる。このように、ハードウェアにより構成されるかソフトウェアによる手法により構成されるか、またはこれらの組合せにより構成されるかに関わらず、プロセッサ110は、本発明の実施形態に従う処理を実行する能力を有する要素として構成されてもよい。例えば、プロセッサ110がASICやFPGAのようなものにより具現化されるとき、プロセッサ110は、本明細書により説明される一つ又は複数の処理を遂行するために特別に構成されたハードウェアであってもよい。また、別の例では、プロセッサ110は、例えばメモリ112に格納されているかもしれない命令の実行主体として具現化される。その命令は、本明細書に開示されるアルゴリズムや処理の一つ又は複数をプロセッサ110に実行させるように特に構成されていてもよい。
メモリ112は、例えば、揮発性メモリや不揮発性メモリ、これらの組み合わせとして構成されてもよい。これに関して、メモリ112は、非一時的なコンピュータ読み取り可能な記憶媒体であってもよい。図1には単一のメモリとして示されているが、メモリ112は、複数のメモリから構成されてもよい。これら複数のメモリは、単一のコンピューティングデバイス上に搭載されてもよいが、複数のコンピューティング装置にまたがって分散されて搭載されてもよい。これら複数のコンピューティング装置は、一緒になって、テキスト検出装置102として機能するように構成される。様々な例示的実施形態において、メモリ112は、例えば、ハードディスクやランダムアクセスメモリ、キャッシュメモリ、フラッシュメモリ、CD−ROM、DVD−ROM、光ディスク、情報を格納するように構成された回路網、これらの組み合わせ等を含んでもよい。テキスト検出装置102が移動端末10として具現化される実施形態において、メモリ112は、揮発性メモリ40及び/又は不揮発性メモリ42を備えてもよい。様々な例示的実施形態に従う多くの機能をテキスト検出装置102が実行することを可能にするべく、メモリ112は、情報やデータ、ファイル、アプリケーション、命令および同様のものを格納するように構成されてもよい。例えば、少なくとも特定の実施形態においては、メモリ112は、プロセッサ110により処理された入力データをバッファするように構成される。さらに又は代替的に、少なくとも特定の実施形態においては、メモリ112は、プロセッサ110により実行される命令を格納するように構成されてもよい。メモリ112は、静的な形態として及び/又は動的な形態として、情報を格納してもよい。格納した情報は、例えば、顔認識のためのモデルや画像、映像、映像フレーム等を含んでもよい。また、格納した情報は、イメージキャプチャ回路網及び/又は検出回路網120によって、これらがその機能を遂行する際に使用されてもよい。
通信インタフェース114は、回路網やハードウェア、コンピュータプログラムに基づく製品、これらの組み合わせ等として具現化され、他のコンピューティングデバイスとの間でデータを送受信しうるように構成される、如何なるデバイスや手段として実施されてもよい。ここでコンピュータプログラムに基づく製品は、プロセッサ110等の適切に構成された処理装置によって実行される、ソフトウェアやファームウェア等のコンピュータ可読命令を格納するコンピュータ可読媒体(例えばメモリ112)を備える。例えば、通信インタフェース114は、ネットワークを介して画像や映像を表すデータを受信するように構成されてもよい。これに関して、テキスト検出装置102がサーバやネットワーク等を含む実施形態において、通信インタフェース114は、テキスト検出装置102によって処理され、一つ又は複数の例示的実施形態に従ってテキスト検出が行われる画像を、リモートの画像ソース(例えば画像ソース304)から受信するために、当該画像ソースと通信しうるように構成されてもよい。ある例示的実施形態において、通信インタフェース114は、その少なくとも一部がプロセッサ110により実装されたり、又はプロセッサ110により制御されるように実装されてもよい。これに関して、通信インタフェース114は、バス等を介してプロセッサ110と通信状態にあってもよい。通信インタフェース114は、例えば、アンテナや送信機、受信機、送受信機を備えてもよく、及び/又は、一つ又は複数の他のコンピューティングデバイスとの通信を可能にするためのサポートハードウェアやソフトウェアを備えてもよい。通信インタフェース114は、コンピューティングデバイスの間で通信を行うために使用される如何なるプロトコルを用いてデータの送受信を行うように構成されてもよい。これに関して、通信インタフェース114は、無線ネットワーク、有線ネットワーク、これらの組み合わせ等を介してデータ送信を行うために使用されうる如何なるプロトコルを用いてデータの送受信を行うように構成されてもよい。それによってテキスト検出装置102と他のコンピューティングデバイスとが通信することが可能になる。通信インタフェース114は、さらに、メモリ112、ユーザインタフェース116、イメージキャプチャ回路網118、検出回路網120等と、バス等を介して通信状態にあってもよい。
ユーザインタフェース116は、ユーザ入力を示す情報を受け取ったり、聴覚や視覚に関する出力や、機械的又はその他の出力をユーザに提供するために、プロセッサ110と通信状態にあってもよい。ユーザインタフェース116は、例えば、キーボードやマウス、ジョイスティック、ディスプレイ、タッチスクリーンディスプレイ、マイクロホン、スピーカー、その他の入力又は出力機構のいずれか一つ以上を有していてもよい。ユーザインタフェース116がタッチスクリーンディスプレイを備える実施形態において、ユーザインタフェース116は、さらに、タッチジェスチャ等の、タッチスクリーンディスプレイへの入力を表す情報を検出したり受信したりするように構成されてもよい。テキスト検出装置102が一つ又は複数のサーバとして具現化される実施形態において、ユーザインタフェース116に関する構成は縮小されてもよく、あるいは全く設けられなくともよい。ユーザインタフェース116は、メモリ112、通信インタフェース116、イメージキャプチャ回路網118、検出回路網120等と、バス等を介して通信状態にあってもよい。
ある例示的実施形態において、テキスト検出装置102は、イメージキャプチャ回路網118を備えてもよい。しかしながら、実施形態によっては、イメージキャプチャ回路網118は搭載されない場合もあることは理解されたい。イメージキャプチャ回路網118は、回路網やハードウェア、コンピュータプログラムに基づく製品、これらの組み合わせ等の様々な手段として実施されてもよい。ここでコンピュータプログラムに基づく製品は、プロセッサ110等の適切に構成された処理装置によって実行される、ソフトウェアやファームウェア等のコンピュータ可読命令を格納するコンピュータ可読媒体(例えばメモリ112)を備える。ある実施形態において、イメージキャプチャ回路網118はプロセッサ110によって具現化されるか、プロセッサ110によって制御される。ある実施形態において、イメージキャプチャ回路網118はプロセッサ110とは別に具現化され、プロセッサ110と通信状態にある。イメージキャプチャ回路網118は、メモリ112、通信インタフェース114、ユーザインタフェース116、検出回路網120等の1つ又は複数と、バス等を介して通信状態にあってもよい。
イメージキャプチャ回路網118は、静止画や動画をキャプチャするように構成されたハードウェアを備えてもよい。これに関してイメージキャプチャ回路網118は、デジタルイメージをキャプチャするための、カメラのレンズやその他の光学コンポーネンツを備えてもよい。別の例では、イメージキャプチャ回路網118は、別個のカメラモジュールによるイメージのキャプチャを指示するように構成された、回路網やハードウェア、コンピュータプログラムに基づく製品、又はこれらの組み合わせを備えてもよい。このカメラモジュールは、テキスト検出装置102に実装されてもよいし、それと接続するようにされてもよい。テキスト検出装置102が移動端末10として実施される実施形態において、イメージキャプチャ回路網108は、カメラモジュール36を備えてもよく、及び/又は、カメラモジュール36によるイメージのキャプチャを制御するように構成されてもよい。
検出回路網120は、回路網やハードウェア、コンピュータプログラムに基づく製品、これらの組み合わせ等の様々な手段として実施されてもよい。ここでコンピュータプログラムに基づく製品は、プロセッサ110等の適切に構成された処理装置によって実行される、ソフトウェアやファームウェア等のコンピュータ可読命令を格納するコンピュータ可読媒体(例えばメモリ112)を備える。ある実施形態において、検出回路網120はプロセッサ110によって具現化されるか、プロセッサ110によって制御される。ある実施形態において、検出回路網120はプロセッサ110とは別に具現化され、プロセッサ110と通信状態にある。検出回路網120は、メモリ112、通信インタフェース114、ユーザインタフェース116、イメージキャプチャ回路網118等の1つ又は複数と、バス等を介して通信状態にあってもよい。
図3は、ある実施形態に従う、テキスト検出を実行するシステム300を描いたものである。システム300は、テキスト検出装置302及び画像ソース304を有する。これらはネットワーク306を通じて通信するように構成される。テキスト検出装置302は、例えば、テキスト検出装置102の具現化形態を備えてもよい。ここでテキスト検出装置102は、画像中のテキストを検出するために、ネットワーク306を介して画像ソース304から画像を受信したり、画像ソース304の画像にアクセスしたりする。ネットワーク306は、有線ネットワークや無線ネットワーク、それらの組み合わせから構成されてもよく、実施形態によってはインターネットを含んでもよい。ここで無線ネットワークは、セルラネットワークや無線LAN、無線WAN、またこれらの組み合わせ等であってもよい。
画像ソース304は、ネットワーク306にアクセスするように構成され、テキスト検出装置302に画像を提供すべく当該装置と通信するように構成される、如何なるコンピューティングデバイスを有してもよい。これに関して、画像ソース304は、画像をキャプチャするように構成された装置であったり、及び/又は、画像を格納するように構成された装置であってもよい。例として、画像ソース304は、例えば、デスクトップコンピュータやラップトップコンピュータ、移動端末、携帯型コンピュータ、携帯電話、移動通信機器、タブレットコンピューティングデバイス、移動端末10、ゲーム機器、デジタルカメラ/カムコーダ、オーディオ/ビデオプレーヤー、テレビ機器、カメラ機器、デジタルビデオレコーダー、NAS(ネットワークアタッチトストレージ)、またこれらの組み合わせ等として具現化されてもよい。
このように、図3に例示されるシステムにおいて、テキスト検出装置302は、画像ソース304の画像にアクセスしたり、画像ソース304から画像を受信したりするように構成される。ここで「画像」には、例えば静止画やビデオクリップ、ビデオフレーム等が含まれる。テキスト検出装置302(例えば検出回路網120)は、テキスト検出装置102に関連して本明細書に説明される実施形態のいずれかに従って、受信した画像中のテキストを検出するテキスト検出処理を実行するように構成されてもよい。実施形態によっては、テキスト検出装置302(例えば検出回路網120及び/又は通信インタフェース114)は、さらに、実行したテキスト検出の結果を画像ソース304に送信するように構成されてもよい。
実施形態によっては、画像ソース304はユーザ端末として構成されてもよい。そのようなユーザ端末は、テキスト検出装置302により提供されうるテキスト検出機能にアクセスするように構成されてもよい。これに関して、ある例示的実施形態に従い実行されうる画像処理の少なくともいずれかは、サーバにより実行されるクラウドベースの処理であってもよい。従って、例えば、ある例示的実施形態において、当該実施形態に従いエンドユーザに提供されうるテキスト検出サービスは、エンドユーザのデバイスにおいてテキスト検出処理を行う必要がない。
別の例であるが、システム300のある例示的実施形態において、検出回路網120の機能は、画像ソース304とテキスト検出装置302とに分散されて具備されてもよい。これに関して、一つ又は複数の例示的実施形態に従い実行される画像中テキスト検出のタスクは、テキスト検出装置302と画像ソース304とに分離され、及び/又は、これらの間で分担されて遂行されてもよい。
従って、テキスト検出装置102が画像中のテキストを検出すると説明されたり、画像中の領域がテキストを含む領域であるか否かを分類すると説明されたりするなどの場合、その画像は、例えば、テキスト検出装置102によって(例えばイメージキャプチャ回路網118によって)キャプチャされた画像や、ローカルに(例えばメモリ112に)格納された画像であって装置102かアクセス可能な画像、ネットワークを介してリモートの画像ソース(例えば画像ソース304)から受信したりそれにアクセスして得た画像を含んでもよい。
ある例示的実施形態において、テキスト検出装置102は、テキストの特性をキャプチャするモデルに従って、画像中のテキストを検出するように構成されてもよい。ここで当該画像には、例えば静止画や動画、動画フレーム等を含む。このモデルは、画像中のテキストの知覚に影響を与えうるフォントやスタイル、視点、背景のコントラスト等の因子に依存しないものであってもよい。これに関して、ある例示的実施形態は、テキストの一般的な特性により予測されたモデルに少なくとも部分的に基づくテキスト検出を提供してもよい。そのような特性は、フォントやテキストスタイル、テキストと背景イメージとの間のコントラスト、画像中のテキストがキャプチャされた視点によっては実質的に変化しない特性であってもよい。これらの特性には、例えば次のようなものが含まれてもよい。
・ 線幅(Stroke width)は、通常、テキスト全体を通じて比較的一定である。
・ 文字の高さ(Character height)は、通常、テキスト全体を通じて比較的一定である。
・ 文字間隔(Character spacing)は、通常、テキスト全体を通じて比較的一定である。
・ あるテキスト高さについて、対応する線幅や文字間隔は当該高さに比例することは、可読性の観点から求められることである。例えば、線幅及び文字間隔は大きすぎても小さすぎてもならない。
・ テキストの下層には何らかの背景が存在することを考えれば、画像中でテキストを囲む境界領域(例えばボックス)は、明度(intensity)の点で二峰性(bimodal)を有しうる。
ここで図4を参照する。図4は、ある例示的実施形態に従う、言語発生のベイジアンネットワークを描いたものであり、これは、撮影された画像中において、テキストに影響を与える変数や効果を記述するために用いられうる。図4に描かれるように、様々な変量の一つ又は複数の様々な組み合わせが、テキストの幾何学的性質420に影響を与えうる。より具体的には、テキストの幾何学的性質420に影響を与えうる変量には、テキストに使用されている文字体系402(例えばラテンアルファベット、漢字、キリルアルファベット等)、テキストのスタイル404(例えば太字、斜体等)、テキストに使用されているフォント406、テキストを囲むボックス等の領域の高さ408(例えばテキストの文字の高さ)テキストの文字を構成する筆画(ストローク)の長さ410、テキストの(拡大縮小された)線幅412、テキストの文字間隔414、文字幅416、テキスト片の中のテキストの数418が含まれてもよい。
テキストの幾何学的性質420は、背景色422やテキスト色424のようなテキスト外観因子と同様に、テキスト片426の三次元的な特性に影響を与える。これは、テキスト片426が現実世界に存在するからである。そして、三次元のテキスト片426の画像中にキャプチャされうる二次元のテキスト片434の生成は、三次元テキスト片426の現実世界における外観や、符号428−432で表されたような変量に影響されうる。またそれは、画像がキャプチャされる画像処理に影響を与えうる。例えば、画像処理に影響を与えうる変量には、画像がキャプチャされた視点428や、カメラの露出特性430、画像がキャプチャされるシーンの照度(illumination)432等がある。
ある例示的実施形態によれば、上述のベイジアンネットワークの所与のものについて、いくつかのランダム変数が定義されうる。これは、テキスト固有の幾何学的性質であると説明されうる。このような変数には次のようなものが含まれうる。
・ H : 文字の高さ(図4におけるノード408)
・ L=λH : 文字の一次元的な長さ。例えば、湾曲した文字の骨格の全長として定義されうる。
・ B=βH : 文字の幅(図4におけるノード416)
・ S=ψH : 文字の線幅(図4におけるノード412)
・ D=δH : 文字間隔(図4におけるノード414)
・ m : 単語又はテキスト片の文字数(図4におけるノード418)
上の定義における量λ,β,ψ,δは、各テキスト特性を表すランダム変数であると定義されてもよい。これに関して、λはテキスト高に対する文字長を示してもよい。βはテキスト高に対する文字幅を示してもよい。ψはテキスト高に対する線幅を示してもよい。δはテキスト高に対する文字間隔を示してもよい。文字体系(例えば英語や中国語等)、スタイル(太字、斜体、ノーマル等)、フォント(例えばArial、Courier等)が選択されると、その選択は、λ,β,ψ,δに関する確率分布へとマップされる。ある単語の文字数をmとすると、その単語を構成する文字セットを作成するためのm個のインスタンスは、四つの確率分布から得られてもよい。ある例示的実施形態は、テキストのこれらの幾何学的性質を、テキスト検出を行うために利用するが、従って、その利用の仕方は、背景色422やテキスト色424のような、テキストの外観に影響を与える変量や、視点428や露出特性430、照度432のような、画像処理に影響を与える変量に対してロバストでありうる。
これに関して、ある例示的実施形態に従えば、画像中のテキスト片は、曲線的な文字長分布(λ)、文字幅分布(β)、文字間隔分布(ψ)の関数であるランダム変数として定義されうるアルファ値(α)を用いてモデル化することが可能でありうる。図4に関連して説明したように、λやβ,ψは、所与の文字体系・フォント・スタイルに固有のテキスト特性でありうる。アルファ値の導出例を紹介する。
画像中のテキスト片(単語等)について、当該テキスト片を含む画像領域(例えばテキストボックス)において、テキスト片の文字が占める領域は、次のように定義されうる。
テキスト片を含む全画像領域(例えばテキストボックス)が占める領域は、次のように定義されうる。
テキスト片を含む画像領域が占める領域に対する、テキスト片が占める領域の比は、占有比(occupancy ratio)と名付けることができ、ωで表すことができる。占有比は次のように定義されうる。
検出回路網120は、テキスト片からこの占有比を計算するように構成されてもよい。例えば、検出回路網120は、テキスト片の画素により占められる領域をカウントすると共に、当該テキスト片を含む画像領域(例えばテキストボックス)の画素により占められる領域をカウントするように構成されてもよい。従って、占有比は、量λ,β,ψ,δを直接計算しなくとも、計算されることができる。
占有比及び線幅ψが与えられると、アルファ値は次のように定義されうる。
従って、上述のように、アルファ値(α)は、文字体系・フォント・スタイルに固有のテキスト特性である、曲線的な文字長分布(λ)、文字幅分布(β)、文字間隔分布(ψ)の関数として定義されうる。アルファ値は線幅に対して不変量である。線幅というのは非常にバリエーションが多い量である。ある例示的実施形態によれば、それぞれの文字体系における、様々なフォントやスタイルに亘って、可読性の制約が、αの広がりを限定することが予測されている。
従って、以下に説明されるように、アルファ値は、様々な例示的実施形態における検出回路網120によって、画像中のテキスト検出を容易にするために使用されうる。
なお、式4により示されたように、検出回路網120は、占有比及び線幅に基づいてアルファ値を計算し、曲線的な文字長分布(λ)、文字幅分布(β)、文字間隔分布(ψ)については計算する必要はない。これによって、検出回路網120における計算負荷が減少しうる。これに関して前述のように、占有比は、検出回路網によって簡単に計算されうる。検出回路網120は、与えられたテキスト片について、または仮定したテキスト片について、アルファ値を計算するために線幅ψを計算するが、それは如何なる方法で行われてもよい。例えば、与えられたテキスト片の線幅は、テキスト片を横切るように適用されうる1本又は複数本の走査線に少なくとも部分的に基づいて、決定されてもよい。ある例示的実施形態において、線幅は、画像領域のバイナリイメージにユークリッド距離変換(Euclidean distance transform)を適用し、前面の画素(例えばテキスト画素であると仮定された画素)を、それに最も近い背景ピクセルへの距離によってラベリングすることにより、計算されてもよい。距離値は、筆画の中心線に沿った最大値に達してもよい。そのため、この最大値は筆画の幅の半分に対応してもよい。従って、線幅は、少なくとも部分的にこの最大値に基づいて決定されてもよい。例えば、ある例示的実施形態において、線幅の決定を容易にするために、線幅の情報は、最大値を有する画素から、仮定されたテキストの境界まで、"下り"方向に伝搬させられてもよい。従って、実施形態によっては、検出回路網120は、式4に示されるように、テキスト片についての占有比をテキスト片の線幅によって割ることによって、アルファ値を計算するように構成されてもよい。
テキストをモデル化するために使用されうるアルファ値の決定に、テキストの幾何学的特性がどのように適用されうるかを説明してきた。次は、画像中のテキストの検出を容易にするためのアルファ値の適用について、例示的実施形態に従って、説明する。ある実施形態において、検出回路網120は、テキスト片が含まれていると推定される画像領域を決定するように構成されてもよい。この画像領域は、例えば、テキストボックスであってもよい。なお、実施形態によっては、テキスト片が含まれていると推定される画像領域は、どのような幾何学的領域として決定されてもよいことに注意されたい。
ある例示的実施形態においては、検出回路網120は、画像中においてテキスト文字と思われるものやそれらの位置を検出しうる仮定テキスト生成器を実装するように構成された、別個の仮定テキスト生成器により識別された画像領域を受信することにより、当該画像領域を決定してもよい。これに関して、仮定テキスト生成器は、推定したテキスト片が含まれていると特定した画像領域を、検出回路網120に供給するように構成されてもよい。検出回路網120は、その画像領域内に推定されたテキスト片がテキストであるか否かの分類を行ってもよい。別個の仮定テキスト生成器は、例えば、テキスト検出装置102に実装されてもよく、また、プロセッサ110によって実装されてもよい。別の例では、仮定テキスト生成器は、例えば画像ソース304のような、テキスト検出装置102から離れて存在しうる、独立のエンティティとして実装されてもよい。
追加的に、又は更に別の例として、ある例示的実施形態においては、検出回路網120が画像を解析し、当該画像中でテキスト片が含まれていると推定されうる画像領域を識別してもよい。これに関して、ある例示的実施形態では、検出回路網120は、画像中における推定テキスト文字やそれらの位置を特定しうる仮定テキスト生成器を実装するように構成されてもよく、それによって、その画像領域内に推定されたテキスト片がテキストであるか否かの分類を行ってもよい。特定された画像領域において、検出回路網120は、例えば、当該画像に、領域ベースのテキスト検出技術を適用するように構成されてもよい。そのようなテキスト検出技術は、例えば、当該画像にスライディング・ウィンドウを適用し、当該ウィンドウ内の画像領域が推定されたテキスト片が含まれているかどうかを識別することを含んでもよい。追加的に、又は更に別の例として、検出回路網120は、連結成分(connected component)に基づくテキスト検出技術を利用して、ある画像領域にテキスト片と推定されるものが含まれるかどうかを識別するように構成されてもよい。
ある実施形態において、検出回路網120は、テキスト片が含まれていると推定される画像領域をバイナリ化し、バイナリ画像を生成するように構成されてもよい。検出回路網120は、画像をバイナリ化するどのような技術を用いて当該画像領域をバイナリ化してもよい。ある例示的実施形態において、検出回路網120は、大津の方法を使用するように構成されてもよい。しかし、様々な例示的実施形態において、大津の方法に加えて、または大津の方法の代わりに、別の技術を用いてもよいことには注意されたい。
検出回路網120は、バイナリ画像に少なくとも部分的に基づいて、推定したテキスト片が含まれている画像領域が、2つの(2つだけの)確率分布によって記述可能であるかを決定してもよい。これに関して、検出回路網120は、例えば、バイナリ信号に基づいて、推定したテキスト片が含まれる画像領域を検証してもよい。検出回路網120は、仮定したテキスト文字の分散と、背景の分散を別々に計算し、当該画像領域において推定されるセンサノイズに対してこれらの分散をテストすることによって、バイナリ信号から得られた画像領域ボックスの中の画像コンテンツを検証してもよい。検出回路網120が画像領域中のセンサノイズを計算する手法としては、利用可能などのような技術を利用してもよい。例えば、検出回路網120は、画像をいくつかのコヒーレントな領域に分割し、各領域についてセンサノイズを推定し、これらの推定値を結合してもよい。推定された文字と背景とが接する部分領域は、両方の信号が混合しており、分散の計算には信頼できないかもしれない。そこで、ある例示的実施形態は、文字の分散を計算するために、検出回路網120は、仮定したテキスト文字の分散を計算する前に、形態的なエロード(erode)処理を行うように構成されてもよい。さらに、背景の分散を計算するために、検出回路網120は、文字に対して形態的なダイレート(dilate)処理を行い、背景の分散を計算する前に、ダイレート処理を行った文字を画像領域(例えばテキストボックス)から除くように構成されてもよい。
画像領域が、確率分布二つだけでは記述できない仮定テキストを含むと判断された場合は、検出回路網120は、当該画像領域はテキストを含まない領域であると分類するように構成されてもよい。これに関して、検出回路網120は、仮定されたテキストを、テキストではないオブジェクトであるとみなしてもよい。そして検出回路網120は、画像領域におけるテキスト検出分析を更に遂行してもよい。
しかし、仮定されたテキストを含む画像領域が2つだけの確率分布により記述可能であると判断されたならば、検出回路網120は、当該画像領域のバイナリ化画像を、当該画像領域がテキストを含む領域であるか否かの分類(例えば、仮定されたテキストが本当にテキストであるか否かの分類)に用いる値の計算に用いてもよい。これに関して、検出回路網120は、バイナリ画像中で仮定されたテキスト片を横切る少なくとも1つの走査線を適用してもよい。またこれに関して、仮定された文字は1つ又は複数の走査線に横切られてもよい。これらの走査線は、仮定された文字と実質的に同じ向きを向いていてもよい。例えば、図5は、ある例示的実施形態に従う、仮定されたテキスト片を横切る走査線の利用を描いたものである。図5は、仮定されたテキスト片"TEXT"を含む画像領域502を描いたものである。図示されるように、画像領域502は、背景が黒色に、仮定された文字が白色に描かれるように、バイナリ化されている。仮定されたテキスト片を横切るように、走査線504が適用されている。
検出回路網120は、適用された少なくとも1つの走査線に少なくとも部分的に基づいて、仮定されたテキスト片の少なくとも1つの特性を決定するように構成されてもよい。検出回路網120は、仮定されたテキスト片が本当にテキストかどうかを分類するために使用しうる、1つまたは複数の値を決定するために、決定した少なくとも1つの特性を使用するように構成されてもよい。
例として、ある例示的実施形態においては、検出回路網120は、適用した少なくとも1つの走査線を、仮定したテキスト片における線幅ψを計算するために使用するように構成されてもよい。検出回路網120は、計算した線幅ψを、式4に従って、仮定されたテキスト片のアルファ値を決定するために使用してもよい。これに関して検出回路網120は、決定した領域全体の面積に対する、仮定したテキスト片により占められる画像領域の比を定める占有比を計算してもよく、この占有比を線幅で割ってアルファ値を計算してもよい。
ある実施形態では、検出回路網120は、線幅を計算することなくアルファ値を計算するように構成されてもよい。これに関して、既に述べたように、アルファ値は、曲線的な文字長分布λの関数として記述されうる。文字の曲線的な長さは、文字の骨格を抽出し、その骨格のピクセル数をカウントすることにより計算されてもよい。なお骨格抽出処理は、通常、直感的に期待されるような骨格を生成しない。これは特に、複雑な形状の場合にそうなる。しかしながら、通常、文字は、その文字の骨格を所与の幅(例えば線幅)を有するペンでなぞることにより、生成される。通常は線幅がほぼ一定であることに鑑みると、また文字の周囲長に比べて線幅が短いと仮定すると、曲線長(λH)は、文字の周囲長の半分である。そこで周囲長が計算される。これは、ランダムに選ばれた走査線の集まりで、仮定したテキスト文字を横断させ、N個の交点を得ることを通じて行われる。ここで上記走査線は、互いに間隔dを空けて実質的に平行である。仮定したテキスト片に含まれる全ての文字の曲線長は、次のように定義することができる。
式5を考慮すると、アルファ値は次のように表される。
従って、ある例示的実施形態においては、検出回路網120は、仮定した複数の文字を横切る互いに実質的に平行な走査線であって、ランダムに選ばれた数の走査線による、交点の数Nを計算するように構成されてもよい。交差する複数の線は、それらの線の間隔dによって特徴付けられることができる。検出回路網120はさらに、仮定されたテキスト片を含む画像領域の全周囲長を計算するように構成されてもよい。上記の走査線の数は何本でもよいが、ある例示的実施形態では、互いに間隔dを空けた走査線の数は、画像領域を十分に埋める(カバーする)数である。例えば、ある例示的実施形態では、10本又はそれ以上の線が、仮定されたテキスト片に交差させるために使用されうる。そして検出回路網120は、計算した交点の数及び計算した画像領域全面積を用いて、式6に従ってアルファ値を計算してもよい。
さらに別の例として、ある例示的実施形態では、検出回路網120は、画像領域のバイナリ画像に適用された少なくとも1本の走査線を用いて、仮定されたテキスト片の間隔長分布を決定するように構成されてもよい。例えば、再び図5を参照すると、仮定されたテキスト片について走査線504を用いて決定され得た間隔長分布が、間隔長分布506として描かれている。検出回路網120は、仮定されたテキスト片について決定された間隔長分布に少なくとも一部基づいて、ガンマ値(γ)を計算するように構成されてもよい。例えば、ある例示的実施形態では、検出回路網120は、間隔長をテキスト高(H)で割った分布の平均値を決定するように構成されてもよい。この平均値μは次のように表される。
[式7]
μ=(間隔長/テキスト高)分布の平均値
検出回路網120はさらに、間隔長をテキスト高(H)で割った分布の標準偏差を決定するように構成されてもよい。この標準偏差σは次のように表される。
[式8]
σ=(間隔長/テキスト高)分布の標準偏差
検出回路網120は、計算したμ及びσを、ガンマ値を次のように計算するために使用するように構成されてもよい。
[式9]
γ=σ/μ
ガンマ値は、間隔長分布の平均と標準偏差の比でありうるが、これは、間隔長の信号−ノイズ比を捕えたものであり得る。
検出回路網120は、さらに、計算したアルファ値及びガンマ値を、テキストを含む領域であるか否か(すなわち仮定されたテキストが本当にテキストであるか否か)により画像領域を分類するために使用するように構成されてもよい。これに関して、アルファ値及びガンマ値は、テキストをテキストでないものから区別するために使用しうる、テキストのモデルとして使用しうる。図6に描かれるように、テキストのアルファ値及びガンマ値は、非テキストの分布に比べてかなりコンパクトな分布を示す。なおこのデータは、様々に異なったフォントやスタイル、間隔やサイズを網羅するサンプルを含むトレーニングデータテキストの組によって得られたものである。散布図602及びヒストグラム604によれば、トレーニングデータセットのテキストサンプルについて計算されたアルファ値が、だいたいα=0.5でクラスターを形成していると考えうることが示されている。一方、トレーニングデータの非テキストサンプルについて計算されたアルファ値は広く分散しており、0.5付近にはあまり分布していない。同様に、散布図606及びヒストグラム608によれば、トレーニングデータセットのテキストサンプルについて計算されたガンマ値も、だいたいγ=0.5でクラスターを形成していると考えうることが示されている。一方、トレーニングデータの非テキストサンプルについて計算されたガンマ値は広く分散しており、0.5付近にはあまり分布していない。
広く様々なテキストを含むトレーニングデータからこのような結果が得られたことに鑑みると、仮定されたテキスト片について計算されるアルファ値及びガンマ値は、仮定されたテキスト片を含む画像領域が、本当にテキストを含む領域であるか否かを分類するために使用してもよいだろう。例えば、検出回路網120は、仮定されたテキスト片について計算されたアルファ値やガンマ値が、期待されるアルファ値やガンマ値に関連して設定された閾値関係を満足するか否かを決定するように構成されてもよい。この閾値関係は、例えば、期待される値よりも小さい場合の閾値から、期待される値よりも大きい場合の閾値までの範囲を定める、許容範囲を定めるものであってもよい。これに関して、計算されたアルファ値及びガンマ値が、期待されるアルファ値及びガンマ値についての許容範囲内であった場合は、仮定されたテキスト片を含む画像領域は、テキストを含む領域に分類されてもよい。一方、計算されたアルファ値及び/又はガンマ値が許容範囲に収まらない場合は、仮定されたテキスト片を含む画像領域は、テキストを含まない領域に分類されてもよい。このため、許容範囲は、許容可能な偽陽性の数に応じて調整されてもよい。例えば、偽陽性の数が多くても許容できる場合は(すなわち偽陽性の割合が大きくても許容できる場合は)、広い許容範囲が用いられてもよい。一方、偽陽性の数が少なくないと許容できない場合は(すなわち偽陽性の割合が小さくないと許容できない場合は)、狭い許容範囲が用いられてもよい。
ある例示的実施形態において、ガウシアン分布関数(例えば二次元ガウシアン分布関数)が、テキストについて期待されるアルファ値及びガンマ値を表すために、トレーニングデータセットから導き出されてもよい。検出回路網120は、仮定されたテキスト片について計算されたアルファ値及びガンマ値に対して、ガウシアン分布関数を適用するように構成されてもよい。計算されたアルファ値及びガンマ値のセットに対してガウシアン分布関数が適合する場合、仮定されたテキスト片を含む画像領域は、テキストを含む領域に分類されてもよい。しかし、計算されたアルファ値及び/又はガンマ値が分散しており、ガウシアン分布関数に適合しない場合は、仮定されたテキスト片を含む画像領域は、テキストを含まない領域に分類されてもよい。
図7は、トレーニングデータセットにおける、αとγの散布図例である。両方の量が正規分布でよく記述されており、この散布図は、これらの平均値のまわりの楕円体領域が、テキスト片に対応する部分を包み込んでいることを示唆している。そこで、容認可能な検出レート(例えば0.9)が選択されてもよい。この検出レートは、その検出レートのために許容可能なアルファ値及びガンマ値の範囲を定めるだろう。そこで、例示的実施形態によっては、この特性は、アルファ値及びガンマ値の許容可能範囲を定めるために用いられうる偽陽性の許容可能レートや、計算されたアルファ値及びガンマ値が適合しうる分布関数の広がり、及び/又は、テキストであると肯定的に分類されうる仮定テキスト片についてのアルファ値及びガンマ値の範囲を定めるために使用しうる他の量を設定するために使用されてもよい。検出レートを低い値に設定すると、偽陽性で検出される数は減るが、テキストを含む領域をテキストを含まない領域として分類してしまう可能性も増す。一方、検出レートを高い値に設定すると、テキストを本当に含む領域を、テキストを含む領域として正しく分類する割合は増すが、偽陽性の数も増す。
図8は、ある実施形態に従ういくつかの分類結果を描いたものである。ここで、802,804,806,808は、いずれも始めはテキスト片を含む領域との仮定がなされた画像領域である。
これらの領域802−808についてアルファ値及びガンマ値が計算され、例示的実施形態に従って、これらの画像領域を分類するために使用されてもよい。図8の例示的実施形態において、画像領域802,804,806はテキストを含む領域として分類されてもよく、一方、画像領域808は、テキストを含まない領域として分類されてもよい。
したがって、ある例示的実施形態においては、トレーニングデータセットについて計算されたアルファ値及びガンマ値が、画像中に仮定されたテキスト片を分類するモデルとして使用されてもよい。図6−7で例示されたように、上述の例のいくつかは、様々に異なるフォントやスタイル、間隔、サイズを広く含むトレーニングデータセットから生成された、一般的なテキストモデルに関連して説明されてきた。しかし、実施形態によっては、フォントやスタイル、これらの組み合わせ等にターゲットを定め、それにより適合したモデルが作られてもよい。その場合、アルファ値及びガンマ値のモデルは、特定の目的に適合した範囲の狭いデータセットを用いて作られてもよい。このような、特定目的に適合したモデルは、ターゲットとなる特定のタイプのフォントやスタイル、テキストサイズ等を画像から検出するために用いられてもよい。しかし、上述の例から理解されるように、いくつかの例示的実施形態は、図4に関連して例示され説明されたような、フォントの種類やスタイル、テキストサイズに対して事実上変わらなくともよいテキストの一般的な特性に基づく、一般的なテキストモデルを利用して、テキスト検出を行ってもよい。
ある例示的実施形態において、検出回路網120は、三次元画像からテキスト検出を実行するように構成されてもよい。三次元画像は、例えば、二次元画像と、対応する深度情報とを含んでもよい。検出回路網120は、画像領域中に仮定されたテキスト片の分類を容易にするために、上記深度情報を、画像中の画像領域の視点を操作するために使用するように構成されてもよい。
図9は、画像中のテキストの検出を容易にする、ある例示的実施形態に従う例示的方法のフローチャートを描いたものである。ここで、図9は、装置102によって実行されうる処理を描いたものである。図9に描かれ、またこの図に関連して説明される処理は、例えば、一つ又は複数のプロセス110、メモリ112、通信インタフェース114、ユーズインタフェース116、イメージキャプチャ回路網118、検出回路網120の一つ又は複数の支援により、またはこれら一つ又は複数の制御により、実行されてもよい。処理900は、仮定されたテキスト片を含む画像領域に関連するアルファ値を計算することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理900を実行する手段をなしてもよい。処理910は、仮定されたテキスト片についての間隔長分布に少なくとも一部基づいて、ガンマ値を計算することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理910を実行する手段をなしてもよい。処理920は、計算したアルファ値及びガンマ値に少なくとも一部基づいて、上記画像領域がテキストを含む領域であるか否かの分類を行うことを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理920を実行する手段をなしてもよい。
図10は、画像中のテキストの検出を容易にする、ある例示的実施形態に従う別の例示的方法のフローチャートを描いたものである。ここで、図10は、装置102によって実行されうる処理を描いたものである。図10に描かれ、またこの図に関連して説明される処理は、例えば、一つ又は複数のプロセス110、メモリ112、通信インタフェース114、ユーズインタフェース116、イメージキャプチャ回路網118、検出回路網120の一つ又は複数の支援により、またはこれら一つ又は複数の制御により、実行されてもよい。処理1000は、仮定されたテキスト片を含む画像領域をバイナリ化することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1000を実行する手段をなしてもよい。処理1010は、上記画像領域が二つの確率分布により、そして二つだけの確率分布により記述可能であることを検証することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1010を実行する手段をなしてもよい。処理1020は、仮定されたテキスト片に1本又は複数本の走査線を適用することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1020を実行する手段をなしてもよい。処理1030は、アルファ値及びガンマ値の計算を可能にするために、仮定されたテキスト片の性質を計算すべく、その基礎として上記走査線を使用することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1030を実行する手段をなしてもよい。処理1040は、上記走査線に基づいて計算された特性に少なくとも一部基づいて、仮定されたテキスト片についてのアルファ値及びガンマ値を計算することを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1040を実行する手段をなしてもよい。処理1050は、計算したアルファ値及びガンマ値に少なくとも一部基づいて、上記画像領域がテキストを含む領域であるか否かの分類を行うことを含んでもよい。例えば、プロセッサ110、メモリ112、検出回路網120のいずれか一つ以上は、処理1050を実行する手段をなしてもよい。
図9−10は、本発明の例示的実施形態に従うシステム、方法、コンピュータプログラムに基づく製品のフローチャートである。フローチャートの個々のブロック及びフローチャートのブロックの組み合わせは、様々な手段によって実施されることに留意されたい。そのような手段には、ハードウェアや、一つ又は複数のコンピュータプログラム命令を含むコンピュータプログラム製品が含まれる。例えば、本明細書で説明された一つ又は複数の処理は、コンピュータプログラムに基づく製品のコンピュータプログラム命令によって具現化されてもよい。これに関して、本明細書で説明された処理を具現化するコンピュータプログラムは、移動端末やサーバ等のコンピューティングデバイスの一つ又は複数のメモリ(例えばメモリ112)に格納されてもよく、また、これらコンピューティングデバイスのプロセッサ(例えばプロセッサ110)により実行されてもよい。実施形態によっては、本明細書で説明された処理を具現化するコンピュータプログラムを含むコンピュータプログラム命令は、複数のコンピューティングデバイスの複数のメモリデバイスに格納されうる。当然のことながら、こうしたコンピュータプログラムは、コンピュータや他のプログラム可能な装置(例えばテキスト検出装置102)にロードされて機械を構成する。すなわち、コンピュータまたはプログラム可能な装置が実行する命令は、フローチャートの(一つ以上の)ブロックにより特定される機能を実装するための手段を具現化する。コンピュータプログラムに基づく製品は、一つ又は複数のコンピュータ可読メモリを備えてもよく、そのメモリにはコンピュータプログラム命令が格納されてもよい。それによって、一つ又は複数のコンピュータ可読メモリは、特定の様式で機能するようにコンピュータ又は他のプログラム可能な装置に指示することができる。これによって、コンピュータプログラム製品は、フローチャートのブロックで特定される機能を実装する製品として構成される。一つ又は複数のコンピュータプログラム製品のコンピュータプログラム命令はコンピュータ又はその他のプログラム可能な装置(例えばテキスト検出装置102)にロードされ、一連の動作を前記コンピュータ又はその他のプログラム可能な装置で実行させることにより、コンピュータ実装プロセスを生成する。すなわち、コンピュータ又はその他のプログラム可能な装置で命令が実行されることにより、フローチャートブロックの一つ又は複数で特定される機能を実装する。
従って、フローチャートのブロックは、特定された機能を実行する手段の組み合わせをサポートする。また、フローチャートの一つ以上のブロック、および、フローチャートの複数のブロックの組合せは、特定の機能を実行する特定目的のハードウェアベースのコンピュータシステムや、特定目的のハードウェアとコンピュータプログラム製品との組合せによって実装されてもよいことも理解されたい。
上述の機能は様々な方法により遂行されることができる。例えば、様々な実施形態を遂行するために、上述の機能の各々を実行するための適当な手段が用いられてもよい。実施形態によっては、適切に構成されたプロセッサ(例えばプロセッサ110)が、上述の要素の全て又は一部となってもよい。実施形態によっては、上述の要素の全て又は一部が、コンピュータプログラム製品の制御の下に実行されるように構成されてもよい。本発明の実施形態による方法を遂行するコンピュータプログラム製品は、例えばメモリ112のようなコンピュータ可読記憶媒体を含み、これは不揮発性の記憶媒体であってもよい。また当該製品は、コンピュータ可読記憶媒体に具現化される、一連のコンピュータ命令のようなコンピュータ可読プログラムコード部分を備えてもよい。
前述の説明や関連する図面に示される教示から利益を受けうる当業者には、ここで説明された発明についての多くの変形やその他の実施形態が想起されるであろう。従って、本発明の実施形態は、ここで開示された特定の実施形態に制限されるものと理解されてはならず、上述の変形その他の実施形態も、本発明の範囲に含まれるべきものである。さらに、上述の説明や関連する図面が要素や機能の或る例示的な組み合わせという文脈で例示的な実施形態を説明してきたが、別の実施形態では、本発明の範囲を逸脱せずに、要素や機能の異なる組み合わせも可能であることに留意されたい。この関連で例えば、本発明の範囲には、前述で明示された要素および/または機能以外の別のものも想定されている。本願では特定の用語が使用されているが、それらは一般的説明を目的として使用されており、限定する目的で使用されていない。