図1Aは、テキストベース3次元(3D)拡張現実(AR)を提供するシステム100の特定の実施形態のブロック図である。システム100は、画像処理装置104に結合された撮像装置102を含む。画像処理装置104はまた、表示装置106と、メモリ108と、ユーザ入力機器180とに結合される。画像処理装置104は、着信画像データ又は着信ビデオデータ中のテキストを検出し、表示のための3D ARデータを生成するように構成される。
特定の実施形態では、撮像装置102は、テキスト152をもつシーンの画像150を表す入射光を画像センサ112に向けるように構成されたレンズ110を含む。画像センサ112は、検出された入射光に基づいてビデオデータ又は画像データ160を生成するように構成され得る。撮像装置102は、1つ以上のデジタルスチルカメラ、1つ以上のビデオカメラ、又はそれらの任意の組合せを含み得る。
特定の実施形態では、画像処理装置104は、図1B、図1C、及び図1Dに関して説明するように、着信ビデオ/画像データ160中のテキストを検出し、表示のための拡張画像データ170を生成するように構成される。撮像装置104は、撮像装置102から受信したビデオ/画像データ160内のテキストを検出するように構成される。撮像装置104は、検出されたテキストに基づいて、拡張現実(AR)データとカメラ姿勢データとを生成するように構成される。ARデータは、ビデオ/画像データ160と合成され、拡張画像151内に埋め込まれて表示される、AR特徴154などの少なくとも1つの拡張現実特徴を含む。撮像装置104は、表示装置106に提供される拡張画像データ170を生成するために、カメラ姿勢データに基づいてビデオ/画像データ160にARデータを埋め込む。
特定の実施形態では、表示装置106は、拡張画像データ170を表示するように構成される。例えば、表示装置106は、画像プレビュースクリーン又は他の視覚表示装置を含み得る。特定の実施形態では、ユーザ入力機器180は、表示装置106に表示された3次元物体のユーザ制御を可能にする。例えば、ユーザ入力機器180は、1つ以上のスイッチ、ボタン、ジョイスティック又はキーなどの1つ以上の物理制御を含み得る。他の例として、ユーザ入力機器180は、表示装置106のタッチスクリーン、音声インターフェース、エコーロケータ又はジェスチャー認識器、別のユーザ入力機構、又はそれらの任意の組合せを含むことができる。
特定の実施形態では、画像処理装置104の少なくとも一部分は、専用回路を介して実装され得る。他の実施形態では、画像処理装置104の少なくとも一部分は、画像処理装置104によって実行されるコンピュータ実行可能コードの実行によって実装され得る。例示のために、メモリ108は、画像処理装置104によって実行可能であるプログラム命令142を記憶する非一時的コンピュータ可読記憶媒体を含み得る。プログラム命令142は、ビデオ/画像データ160内のテキストなど、撮像装置から受信した画像データ内のテキストを検出するためのコードと、拡張画像データを生成するためのコードとを含み得る。拡張画像データは、拡張画像データ170など、テキストに関連する少なくとも1つの拡張現実特徴をレンダリングするための拡張現実データを含む。
テキストベースARのための方法は、図1Aの画像処理装置104によって実行され得る。テキストベースARとは、(a)実世界シーン中のテキストから情報を取り出し、(b)関係するコンテンツを実シーン中に埋め込むことによって関係するコンテンツを示すための技法を意味する。マーカーベースARとは異なり、この手法は、予め定義されたマーカーを必要とせず、既存の辞書(英語、韓国語、ウィキペディア、...)を使用することができる。また、様々な形態(重ね合せテキスト、画像、3D物体、音声、及び/又はアニメーション)で結果を示すことによって、テキストベースARは、多くの適用例(例えば、観光事業、教育)に対して非常に有用であり得る。
使用事例の特定の例示的な実施形態はレストランメニューである。外国を旅行しているときに、旅行者は、旅行者が辞書で調べることができないことがある外国語を見ることがあり得る。また、辞書中でその外国語が見つけられた場合でも、外国語の意味を理解することが困難であることがある。
例えば、「Jajangmyeon」は、中華料理「Zha jjang mian」から派生した人気がある韓国料理である。「Jajangmyeon」は、Chunjang(塩辛い黒い大豆ペースト)と、さいの目に切られた肉及び野菜と、ときには更に魚介類とで作られた濃厚なソースがトッピングされた小麦麺からなる。この説明は助けにはなるが、この料理が個人の味覚を満足させるかどうかを知ることは依然として困難である。しかしながら、Jajangmyeonの調理された料理の画像を個人が見ることができる場合、その個人はJajangmyeonを理解することがより容易になるであろう。
Jajangmyeonの3D情報が利用可能であった場合、個人は、それの様々な形状を見ると、Jajangmyeonをよりよく理解することができる。テキストベース3D ARシステムは、それの3D情報から外国語を理解するのを助けることができる。
特定の実施形態では、テキストベース3D ARはテキスト領域検出を実行することを含む。2値化と投影プロファイル分析とを使用することによって、画像の中心の周りのROI(関心領域:region of interest)内のテキスト領域が検出され得る。例えば、2値化と投影プロファイル分析とは、図1Dに関して説明したように、テキスト領域検出器122などのテキスト認識検出器によって実行され得る。
図1Bは、テキスト検出器120と、追跡/姿勢推定モジュール130と、ARコンテンツ生成器190と、レンダリング装置134とを含む図1Aの画像処理装置104の第1の実施形態のブロック図である。画像処理装置104は、着信ビデオ/画像データ160を受信し、画像処理装置104のモードに応答するスイッチ194の動作を介して、ビデオ/画像データ160をテキスト検出器120に選択的に与えるように構成される。例えば、検出モードでは、スイッチ194は、ビデオ/画像データ160をテキスト検出器120に与え得、追跡モードでは、スイッチ194は、ビデオ/画像データ160の処理によって、テキスト検出器120をバイパスさせ得る。追跡/姿勢推定モジュール130によって提供された検出/追跡モードインジケータ172を介して、モードはスイッチ194に示され得る。
テキスト検出器120は、撮像装置102から受信した画像データ内のテキストを検出するように構成される。テキスト検出器120は、所定のマーカーの位置を特定するためにビデオ/画像データ160を検査することなしに、及び登録自然画像のデータベースにアクセスすることなしに、ビデオ/画像データ160のテキストを検出するように構成され得る。テキスト検出器120は、図1Dに関して説明するように、検証されたテキストデータ166とテキスト領域データ167とを生成するように構成される。
特定の実施形態では、ARコンテンツ生成器190は、検証されたテキストデータ166を受信することと、ビデオ/画像データ160と合成され、拡張画像151内に埋め込まれて表示される、AR特徴154などの少なくとも1つの拡張現実特徴を含む拡張現実(AR)データ192を生成することとを行うように構成される。例えば、ARコンテンツ生成器190は、意味、翻訳、又は図16に示すメニュー翻訳使用事例に関して説明するような検証されたテキストデータ166の他の態様に基づいて、1つ以上の拡張現実特徴を選択し得る。特定の実施形態では、少なくとも1つの拡張現実特徴は3次元物体である。
特定の実施形態では、追跡/姿勢推定モジュール130は、追跡構成要素131と、姿勢推定構成要素132とを含む。追跡/姿勢推定モジュール130は、テキスト領域データ167とビデオ/画像データ160とを受信するように構成される。追跡/姿勢推定モジュール130の追跡構成要素131は、追跡モードにある間、ビデオデータの複数のフレーム中に、画像150中の少なくとも1つの他の顕著な特徴(salient feature)に関係するテキスト領域を追跡するように構成され得る。追跡/姿勢推定モジュール130の姿勢推定構成要素132は、撮像装置102の姿勢を決定するように構成され得る。追跡/姿勢推定モジュール130は、姿勢推定構成要素132によって決定された撮像装置102の姿勢に少なくとも部分的に基づいて、カメラ姿勢データ168を生成するように構成される。テキスト領域は3次元で追跡され得、ARデータ192は、追跡されるテキスト領域の位置と撮像装置102の姿勢とに従って複数のフレームに配置され得る。
特定の実施形態では、レンダリング装置134は、ARコンテンツ生成器190からのARデータ192と追跡/姿勢推定モジュール130からのカメラ姿勢データ168とを受信することと、拡張画像データ170を生成することとを行うように構成される。拡張画像データ170は、元の画像150のテキスト152及び拡張画像151のテキスト153に関連する拡張現実特徴154など、テキストに関連する少なくとも1つの拡張現実特徴をレンダリングするための拡張現実データを含み得る。レンダリング装置134はまた、ARデータ192のプレゼンテーションを制御するために、ユーザ入力機器180から受信したユーザ入力データ182に応答し得る。
特定の実施形態では、テキスト検出器120、ARコンテンツ生成器190、追跡/姿勢推定モジュール130、及びレンダリング装置134のうちの1つ以上の少なくとも一部分は、専用回路を介して実装され得る。他の実施形態では、テキスト検出器120、ARコンテンツ生成器190、追跡/姿勢推定モジュール130、及びレンダリング装置134のうちの1つ以上は、画像処理装置104中に含まれるプロセッサ136によって実行されるコンピュータ実行可能コードの実行によって実装され得る。例示のために、メモリ108は、プロセッサ136によって実行可能であるプログラム命令142を記憶する非一時的コンピュータ可読記憶媒体を含み得る。プログラム命令142は、ビデオ/画像データ160内のテキストなど、撮像装置から受信した画像データ内のテキストを検出するためのコードと、拡張画像データ170を生成するためのコードとを含み得る。拡張画像データ170は、テキストに関連する少なくとも1つの拡張現実特徴をレンダリングするための拡張現実データを含む。
動作中、ビデオ/画像データ160は、画像150を表すデータを含むビデオデータのフレームとして受信され得る。画像処理装置104は、テキスト検出モードでは、ビデオ/画像データ160をテキスト検出器120に与え得る。テキスト152は位置を特定され得、検証されたテキストデータ166とテキスト領域データ167とが生成され得る。ARデータ192は、カメラ姿勢データ168に基づいて、レンダリング装置134によってビデオ/画像データ160中に埋め込まれ、表示装置106に拡張画像データ170が与えられる。
テキスト検出モードにおいてテキスト152を検出したことに応答して、画像処理装置104が追跡モードに入り得る。追跡モードでは、テキスト検出器120がバイパスされ得、図10〜図15に関して説明するように、ビデオ/画像データ160の連続フレーム間の関心点の動きを決定したことに基づいて、テキスト領域が追跡され得る。テキスト領域追跡が、シーン中にテキスト領域がもはやないことを示す場合、検出/追跡モードインジケータ172は検出モードを示すように設定され得、テキスト検出器120においてテキスト検出が開始され得る。テキスト検出は、図1Dに関して説明するような、テキスト領域検出、テキスト認識、又はそれらの組合せを含み得る。
図1Cは、テキスト検出器120と、追跡/姿勢推定モジュール130と、ARコンテンツ生成器190と、レンダリング装置134とを含む図1Aの画像処理装置104の第2の実施形態のブロック図である。画像処理装置104は、着信ビデオ/画像データ160を受信することと、ビデオ/画像データ160をテキスト検出器120に与えることとを行うように構成される。図1Bとは対照的に、図1Cに示した画像処理装置104は、着信ビデオ/画像データ160のあらゆるフレーム中でテキスト検出を実行し得、検出モードと追跡モードとの間で遷移しない。
図1Dは、図1B及び図1Cの画像処理装置104のテキストデコーダ120の特定の実施形態のブロック図である。テキスト検出器120は、撮像装置102から受信したビデオ/画像データ160内のテキストを検出するように構成される。テキスト検出器120は、所定のマーカーの位置を特定するためにビデオ/画像データ160を検査することなしに、及び登録自然画像のデータベースにアクセスすることなしに、着信画像データ中のテキストを検出するように構成され得る。テキスト検出は、テキストの領域を検出することと、その領域内のテキストの認識とを含み得る。特定の実施形態では、テキスト検出器120は、テキスト領域検出器122とテキスト認識器125とを含む。ビデオ/画像データ160は、テキスト領域検出器122とテキスト認識器125とに与えられ得る。
テキスト領域検出器122は、ビデオ/画像データ160内のテキスト領域の位置を特定するように構成される。例えば、テキスト領域検出器122は、画像の中心の周りの関心領域を探索するように構成され得、図2に関して説明したように、2値化技法を使用してテキスト領域の位置を特定し得る。テキスト領域検出器122は、図3〜図4に関して説明した投影プロファイル分析又はボトムアップクラスタリング方法などに従って、テキスト領域の配向を推定するように構成され得る。テキスト領域検出器122は、図5〜図7に関して説明するように、1つ以上の検出されたテキスト領域を示す初期テキスト領域データ162を提供するように構成される。特定の実施形態では、テキスト領域検出器122は、図7に関して説明するように、2値化技法を実行するように構成された2値化構成要素を含み得る。
テキスト認識器125は、ビデオ/画像データ160と初期テキスト領域データ162とを受信するように構成される。テキスト認識器125は、図8に関して説明するように、遠近歪みを低減するように初期テキスト領域データ162中で識別されたテキスト領域を調整するように構成され得る。例えば、テキスト152は、撮像装置102の遠近感による歪みを有し得る。テキスト認識器125は、提案されたテキストデータを生成するために、テキスト領域の境界ボックスのコーナーを矩形のコーナーにマッピングする変換を適用することによって、テキスト領域を調整するように構成され得る。テキスト認識器125は、光学文字認識を介して、提案されたテキストデータを生成するように構成され得る。
テキスト認識器125は、提案されたテキストデータを検証するために辞書にアクセスするように更に構成され得る。例えば、テキスト認識器125は、代表的な辞書140など、図1Aのメモリ108に記憶された1つ以上の辞書にアクセスし得る。提案されたテキストデータは、複数のテキスト候補と、複数のテキスト候補に関連する信頼性データとを含み得る。テキスト認識器125は、図9に関して説明するように、テキスト候補に関連する信頼性値に従って辞書140の項目に対応するテキスト候補を選択するように構成され得る。テキスト認識器125は、検証されたテキストデータ166とテキスト領域データ167とを生成するように更に構成される。図1B及び図1Cに記載したように、検証されたテキストデータ166はARコンテンツ生成器190に与えられ得、テキスト領域データ167は追跡/姿勢推定130に与えられ得る。
特定の実施形態では、テキスト認識器125は、遠近歪み除去構成要素196と、2値化構成要素197と、文字認識構成要素198と、誤り訂正構成要素199とを含み得る。遠近歪み除去構成要素196は、図8に関して説明するように、遠近歪みを低減するように構成される。2値化構成要素197は、図7に関して説明するように、2値化技法を実行するように構成される。文字認識構成要素198は、図9に関して説明するように、テキスト認識を実行するように構成される。誤り訂正構成要素199は、図9に関して説明するように、誤り訂正を実行するように構成される、
図1B、図1C、及び図1Dの実施形態のうちの1つ以上に従って図1Aのシステム100によってイネーブルにされるテキストベースARは、他のAR方式に勝る有意な利点を提供する。例えば、マーカーベースAR方式は、コンピュータが画像中で識別し、復号することが比較的単純である別個の画像である「マーカー」のライブラリを含み得る。例示のために、マーカーは、外観と機能の両方においてクイックレスポンス(QR:Quick Response)コードなどの2次元バーコードに似ていることがある。マーカーは、画像中で容易に検出可能であるように、及び他のマーカーとは容易に区別されるように設計され得る。画像中でマーカーが検出されたとき、そのマーカー上に関連情報が挿入され得る。しかしながら、検出可能であるように設計されたマーカーは、シーン中に埋め込まれたときに不自然に見える。幾つかのマーカー方式実装形態では、指定されたマーカーがシーン内で可視であるかどうかを検証するために、境界マーカーも必要とされ、更に、追加のマーカーでシーンの自然な品質を低下させるかもしれない。
マーカーベースAR方式の別の欠点は、拡張現実コンテンツが表示されるべきあらゆるシーン中にマーカーを埋め込まなければならないことである。従って、マーカー方式は非効率的である。更に、マーカーは予め定義され、シーン中に挿入されなければならないので、マーカーベースAR方式は比較的融通が利かない。
テキストベースARはまた、自然特徴ベースAR方式と比較して利益を提供する。例えば、自然特徴ベースAR方式は、自然特徴のデータベースを必要とすることがある。スケール不変特徴変換(SIFT)アルゴリズムは、データベース中の自然特徴のうちの1つ以上がシーン中にあるかどうかを決定するために各ターゲットシーンを探索するために使用され得る。データベース中の十分に類似する自然特徴がターゲットシーン中で検出されると、ターゲットシーンに対して関連情報が重ね合わされ得る。しかしながら、そのような自然特徴ベース方式は画像全体に基づき得、検出すべき多くのターゲットがあり得るので、非常に大きいデータベースが必要とされることがある。
そのようなマーカーベースAR方式及び自然特徴ベースAR方式とは対照的に、本開示のテキストベースAR方式の実施形態は、マーカーを挿入するために任意のシーンの事前変更を必要とせず、また、比較のための画像の大きいデータベースを必要としない。代わりに、テキストがシーン内で位置を特定され、位置を特定されたテキストに基づいて関連情報が取り出される。
一般に、シーン内のテキストは、そのシーンに関する重要な情報を具現する。例えば、映画ポスターに現れるテキストはしばしば、映画のタイトルを含み、タグライン、映画の公開日時、俳優の名前、監督、プロデューサー、又は他の関連情報をも含み得る。テキストベースARシステムでは、少量の情報を記憶するデータベース(例えば、辞書)は、映画ポスターに関連する情報(例えば、映画タイトル、男優/女優の名前)を識別するために使用され得る。対照的に、自然特徴ベースAR方式は、数千枚の異なる映画ポスターに対応するデータベースを必要とすることがある。更に、テキストベースARシステムは、マーカーを含めるために前に変更されたシーンがある場合のみ有効であるマーカーベースAR方式とは反対に、シーン内で検出されたテキストに基づいて関連情報を識別するので、テキストベースARシステムは、任意のタイプのターゲットシーンに適用され得る。テキストベースARは、従って、マーカーベース方式と比較して、優れたフレキシビリティ及び効率を提供することができ、また、自然特徴ベース方式と比較して、より詳細なターゲット検出と低減されたデータベース要件とを提供することができる。
図2は、画像内のテキスト検出の例示的な例200を示す。例えば、図1Dのテキスト検出器120は、テキストが黒になり、他の画像コンテンツが白くなるように、ビデオ/画像データ160の入力フレームに対して2値化を実行し得る。左画像202は入力画像を示し、右画像204は、入力画像202の2値化結果を示す。左画像202は、カラー画像又はカラースケール画像(例えば、グレースケール画像)を表す。カメラ撮影画像に対するロバストな2値化のために、適応閾値ベースの2値化方法又はカラークラスタリングベースの方法などの任意の2値化方法が実装され得る。
図3に、図1Dのテキスト検出器120によって実行され得るテキスト配向検出の例示的な例300を示す。2値化結果が与えられれば、テキスト配向は、投影プロファイル分析を使用することによって推定され得る。投影プロファイル分析の基本概念は、ライン方向がテキスト配向と一致するときに、「テキスト領域(黒画素)」が最小数のラインでカバーされ得るということである。例えば、第1の配向302を有するラインの第1の数は、下にあるテキストの配向によりぴったりとマッチする第2の配向304を有するラインの第2の数よりも多い。幾つかの方向をテストすることによって、テキスト配向が推定され得る。
テキストの配向が与えられれば、テキスト領域が発見され得る。図4に、図1Dのテキスト検出器120によって実行され得るテキスト領域検出の例示的な例400を示す。代表的なライン404など、図4の幾つかのラインは、黒画素(テキスト中の画素)を通過しないラインであり、代表的なライン406などの他のラインは黒画素を横断するラインである。黒画素を通過しないラインを発見することによって、テキスト領域の垂直境界が検出され得る。
図5は、図1Aのシステムによって実行され得るテキスト領域検出の例示的な例を示す図である。テキスト領域は、テキスト502に関連する境界ボックス又は境界領域を決定することによって検出され得る。境界ボックスは、テキスト502を実質的に囲む複数の交差するラインを含み得る。
境界ボックスの上側ライン504は、第1の式y=ax+bによって記述され得、境界ボックスの下側ライン506は、第2の式y=cx+dによって記述され得る。第1の式についての値と第2の式についての値とを発見するために、以下の基準が課され得る。
特定の実施形態では、この条件は、上側ライン504と下側ライン506との間のエリアを低減する(例えば、最小限に抑える)方式で、上側ライン504と下側ライン506とが決定されることを直観的に示し得る。
テキストの垂直境界(例えば、テキストの上側境界と下側境界とを少なくとも部分的に区別するライン)が検出された後、水平境界(例えば、テキストの左境界と右境界とを少なくとも部分的に区別するライン)も検出され得る。図6は、図1Aのシステムによって実行され得るテキスト領域検出の例示的な例を示す図である。図6に、図5を参照しながら説明する方法などによって、上側ライン604及び下側ライン606が発見された後、境界ボックスを完成するために水平境界(例えば、左側ライン608及び右側ライン610)を発見するための方法を示す。
左側ライン608は第3の式y=ex+fによって記述され得、右側ライン610は第4の式y=gx+hによって記述され得る。境界ボックスの左側及び右側に比較的少数の画素があることがあるので、左側ライン608及び右側ライン610の傾斜は固定され得る。例えば、図6に示すように、左側ライン608と上ライン604とによって形成された第1の角度612は、左側ライン608と下ライン606とによって形成された第2の角度614に等しくなり得る。同様に、右側ライン610と上ライン604とによって形成された第3の角度616は、右側ライン610と下ライン606とによって形成された第4の角度618に等しくなり得る。上ライン604と下ライン606とを発見するために使用される手法と同様の手法が、ライン608、610を見つけるために使用され得るが、この手法は、ライン608、610の傾斜を不安定にすることがあることに留意されたい。
境界ボックス又は境界領域は、標準境界領域の遠近歪みに少なくとも部分的に対応する歪んだ境界領域に対応し得る。例えば、標準境界領域は、テキストを囲み、カメラ姿勢により歪み、その結果、図6に示す歪んだ境界領域を生じる、矩形であり得る。テキストが平面物体上に位置を特定され、矩形境界ボックスを有すると仮定することによって、1つ以上のカメラパラメータに基づいて、カメラ姿勢が決定され得る。例えば、カメラ姿勢は、焦点距離、主点、スキュー係数(skew coefficient)、画像歪み係数(径方向歪み及び接線方向歪みなど)、1つ以上の他のパラメータ、又はそれらの任意の組合せに少なくとも部分的に基づいて決定され得る。
図4〜図6を参照しながら説明した境界ボックス又は境界領域は、単に読者の便宜のために、上ライン、下ライン、左側ライン、及び右側ライン、及び水平及び垂直ライン又は境界を参照しながら説明してきた。図4〜図6を参照しながら説明した方法は、水平方向又は垂直方向に配列されたテキストの境界を発見することに限定されない。更に、図4〜図6を参照しながら説明した方法は、直線によって容易には境界を画定されないテキスト、例えば、湾曲して配列されたテキストに関連する境界領域を発見するために使用され得るか、又はそのような境界領域を発見するように適応され得る。
図7は、図2の画像内の検出されたテキスト領域702の例示的な例700を示す。特定の実施形態では、テキストベース3D ARはテキスト認識を実行することを含む。例えば、テキスト領域を検出した後、テキスト領域は、遠近感(perspective)によるテキストの1つ以上の歪みが除去又は低減されるように修正され得る。例えば、図1Dのテキスト認識器125は、初期テキスト領域データ162によって示されたテキスト領域を修正し得る。テキスト領域の境界ボックスの4つのコーナーを矩形の4つのコーナーにマッピングする変換が決定され得る。(消費者のカメラ中で一般に利用可能であるような)レンズの焦点距離は、遠近歪みを除去するために使用され得る。代替的に、カメラ撮影画像のアスペクト比が使用され得る(シーンが垂直に撮影された場合、手法間に大きい差は生じ得ない)。
図8に、遠近歪みを低減するために、遠近歪み除去を使用して「テキスト」を含むテキスト領域を調整する例800を示す。例えば、テキスト領域を調整することは、テキスト領域の境界ボックスのコーナーを矩形のコーナーにマッピングする変換を適用することを含み得る。図8に示す例800では、「テキスト」は、図7の検出されたテキスト領域702からのテキストであり得る。
修正された文字の認識のために、1つ以上の光学文字認識(OCR:optical character recognition)技法が適用され得る。従来のOCR方法は、カメラ画像ではなく走査画像とともに使用するように設計されていることがあるので、そのような従来の方法は、(フラットスキャナとは反対に)ユーザ動作型カメラによって撮影された画像中の外観歪み(appearance distortion)を十分には処理しないことがある。図1Dのテキスト認識器125によって使用され得るような、外観歪み影響(appearance distortion effects)を処理するための幾つかの歪みモデルを組み合わせることによって、カメラベースOCRのためのトレーニングサンプルが生成され得る。
特定の実施形態では、テキストベース3D ARは辞書検索を実行することを含む。OCR結果は誤っていることがあり、辞書を使用することによって訂正され得る。例えば、一般的な辞書が使用され得る。ただし、コンテキスト情報の使用は、より高速な検索とより適切な結果とのために、一般的な辞書よりも小さいことがある好適な辞書の選択を支援することができる。例えば、ユーザが韓国の中華レストランにいるという情報を使用することは、約100ワードから構成され得る辞書の選択を可能にする。
特定の実施形態では、OCRエンジン(例えば、図1Dのテキスト認識器125)は、各文字についての幾つかの候補と、候補の各々に関連する信頼性値を示すデータとを戻し得る。図9に、テキスト検証プロセスの例900を示す。画像902内の検出されたテキスト領域からのテキストは遠近歪み除去動作904を受け、その結果、修正されたテキスト906を生じ得る。OCRプロセスは、第1の文字に対応する第1のグループ910、第2の文字に対応する第2のグループ912、及び第3の文字に対応する第3のグループ914として示される、各文字についての5つの最も可能性がある候補を戻し得る。
例えば、複数の候補ワードが辞書916中で発見され得るとき、信頼性値に従って、検証された候補ワード918(例えば、辞書中で発見されたそれらの候補ワードの最高信頼性値を有する候補ワード)が決定され得る。
特定の実施形態では、テキストベース3D ARは追跡及び姿勢推定を実行することを含む。例えば、ポータブル電子機器(例えば、図1Aのシステム100)のプレビューモードでは、毎秒約15〜30個の画像が存在し得る。あらゆるフレームに対してテキスト領域検出とテキスト認識とを適用することは時間がかかり、モバイル機器の処理リソースの負担となり得る。あらゆるフレームについてのテキスト領域検出とテキスト認識とは、プレビュービデオ中の幾つかの画像が正しく認識される場合、目に見えるちらつき効果を時々生じることがある。
追跡方法は、関心点を抽出することと、連続する画像間の関心点の動きを計算することとを含むことができる。計算された動きを分析することによって、実平面(例えば、実世界におけるメニュープレート)と撮影された画像との間の幾何学的関係が推定され得る。推定されたジオメトリからカメラの3D姿勢が推定され得る。
図10に、図1Bの追跡/姿勢推定モジュール130によって実行され得るテキスト領域追跡の例示的な例を示す。代表的な関心点1002の第1のセットは、検出されたテキスト領域に対応する。代表的な関心点1004の第2のセットは、検出されたテキスト領域と同じ平面内の(例えば、メニューボードの同じ面上の)顕著な特徴に対応する。代表的なポイント1006の第3のセットは、メニューボードの前のボウルなど、シーン内の他の顕著な特徴に対応する。
特定の実施形態では、テキストベース3D ARにおけるテキスト追跡は、(a)テキストが、ロバストな物体追跡を提供するコーナーポイントに基づくテキストベース3D ARにおいて追跡され得、(b)テキストベース3D ARでは、同じ平面中の顕著な特徴(例えば、テキストボックス中の顕著な特徴だけでなく、代表的な関心点1004の第2のセットなどの周囲領域中の顕著な特徴)も使用され得、(c)信頼できない顕著な特徴が廃棄され、新しい顕著な特徴が追加されるように顕著な特徴が更新されるので、従来の技法とは異なる。従って、図1Bの追跡/姿勢推定モジュール130において実行されるようなテキストベース3D ARにおけるテキスト追跡は、視点変化とカメラ動きとに対してロバストであり得る。
3D ARシステムは、リアルタイムビデオフレーム上で動作し得る。リアルタイムビデオでは、あらゆるフレーム中でテキスト検出を実行する実装形態は、ちらつきアーティファクトなどの信頼できない結果を生成することがある。信頼性と性能とは、検出されたテキストを追跡することによって改善され得る。図1Bの追跡/姿勢推定モジュール130などの追跡モジュールの動作は、初期化と、追跡と、カメラ姿勢推定と、停止基準を評価することとを含み得る。追跡動作の例について、図11〜図15に関して説明する。
初期化中、追跡モジュールは、図1Bのテキスト検出器120などの検出モジュールからの幾つかの情報で開始され得る。初期情報は、検出されたテキスト領域と初期カメラ姿勢とを含み得る。追跡について、コーナー、ライン、ブロブ、又は他の特徴などの顕著な特徴は、追加情報として使用され得る。追跡は、図11〜図12に記載するように、抽出された顕著な特徴の動きベクトルを計算するために光学フローベースの方法を最初に使用することを含み得る。顕著な特徴は、光学フローベースの方法のための適用可能な形態に変更され得る。幾つかの顕著な特徴は、フレーム間マッチング中、それらの対応を失うことがある。顕著な特徴が対応を失った場合、対応は、図13に記載するような復元方法を使用して推定され得る。初期マッチと訂正マッチとを組み合わせることによって、最終動きベクトルが取得され得る。カメラ姿勢推定は、平面物体の仮定の下で、観測された動きベクトルを使用して実行され得る。カメラ姿勢を検出することは、3D物体の自然埋め込みを可能にする。カメラ姿勢推定と物体埋め込みについて、図14及び図16に関して説明する。停止基準は、追跡される顕著な特徴の対応の数又はカウントが閾値を下回ったことに応答して、追跡モジュールを停止することを含み得る。後続の追跡のための着信ビデオフレーム中のテキストを検出するために、検出モジュールがイネーブルされ得る。
図11及び図12は、図1Aのシステムによって実行され得るテキスト領域追跡の特定の実施形態を示す図である。図11に、図1Aの撮像装置102などの撮像装置によって撮影された、実世界シーンの第1の画像1102の一部分を示す。第1の画像1102中で、テキスト領域1104が識別されている。カメラ姿勢(例えば、撮像装置の相対位置、及び実世界シーンの1つ以上の要素)を決定することを可能にするために、テキスト領域は、矩形であると仮定され得る。更に、テキスト領域1104中で、関心点1106〜1110が識別されている。例えば、関心点1106〜1110は、高速コーナー認識技法を使用して選択された、テキストのコーナー又は他の輪郭などのテキストの特徴を含み得る。
第1の画像1102は、図1Bに関して説明するように、画像処理システムが追跡モードに入ったとき、カメラ姿勢の追跡をイネーブルにするための参照フレームとして記憶され得る。カメラ姿勢が変化した後、実世界シーンの第2の画像1202などの1つ以上の後続の画像が、撮像装置によって撮影され得る。第2の画像1202中で、関心点1206〜1210が識別され得る。例えば、コーナー検出フィルタを第1の画像1102に適用することによって、関心点1106〜1110が位置を特定され得、同じコーナー検出フィルタを第2の画像1202に適用することによって、関心点1206〜1210が位置を特定され得る。図示のように、図12の関心点1206、1208及び1210は、図11の関心点1106、1108及び1110にそれぞれ対応する。しかしながら、ポイント1207(文字「L」の上部)は、ポイント1107(文字「K」の中心)には対応せず、(文字「R」中の)ポイント1209は、(文字「F」中の)ポイント1109に対応しない。
カメラ姿勢が変化した結果、第2の画像1202中の関心点1206、1208、1210の位置は、第1の画像1102中の対応する関心点1106、1108、1110の位置とは異なることがある。光学フロー(例えば、第2の画像1202中の関心点1206〜1210の位置と比較した第1の画像1102中の関心点1106〜1110の位置間の変位又は位置差)が決定され得る。第1の画像1102と比較した第2の画像1202中の第1の関心点1106/1206の位置変化に関連する第1のフローライン1216など、関心点1206〜1210にそれぞれ対応するフローライン1216〜1220によって、図12に光学フローが示される。(例えば、図3〜6を参照しながら説明した技法を使用して)第2の画像1202中のテキスト領域の配向を計算するのではなく、第2の画像1202中のテキスト領域の配向は、光学フローに基づいて推定され得る。例えば、関心点1106〜1110の相対位置の変化は、テキスト領域の次元の配向を推定するために使用され得る。
特定の状況では、第1の画像1102中に存在しなかった歪みが、第2の画像1202にもたらされることがある。例えば、カメラ姿勢の変化が歪みをもたらすことがある。更に、ポイント1107〜1207、及びポイント1109〜1209など、第2の画像1202中で検出された関心点が第1の画像1102中で検出された関心点に対応しないことがある。統計的技法(ランダムサンプルコンセンサスなど)は、残りのフローラインに対する外れ値である1つ以上のフローラインを識別するために使用され得る。例えば、図12に示したフローライン1217は、他のフローラインのマッピングとは著しく異なるので、外れ値であり得る。別の例では、フローライン1219も他のフローラインのマッピングと著しく異なるので、フローライン1219は外れ値であり得る。サンプルのサブセット(例えば、ポイント1206〜1210のサブセット)がランダムに、又は擬似ランダムに選択され、選択されたサンプルの少なくとも幾つかの変位に対応するテストマッピング(例えば、光学フロー1216、1218、1220に対応するマッピング)が決定された場合、ランダムサンプルコンセンサスを介して外れ値が識別され得る。マッピングに対応しないと決定されたサンプル(例えば、ポイント1207及び1209)が、テストマッピングの外れ値として識別され得る。複数のテストマッピングが決定され得、選択されたマッピングを識別するために比較され得る。例えば、選択されたマッピングは、最も少数の外れ値を生じるテストマッピングであり得る。
図13に、ウィンドウマッチング手法に基づく外れ値の訂正を示す。キーフレーム1302は、現在フレーム1304などの1つ又は後続のフレーム(即ち、キーフレームの後に捕捉され、受信され、及び/又は処理される1つ以上のフレーム)中で関心点とテキスト領域とを追跡するための参照フレームとして使用され得る。例示的なキーフレーム1302は、図11のテキスト領域1104と関心点1106〜1110とを含む。関心点1107の予測位置の周りの領域1308内のウィンドウ1310などの現在フレーム1304のウィンドウを検査することによって、現在フレーム1304中で関心点1107が検出され得る。例えば、キーフレーム1302と現在フレーム1304との間のホモグラフィ1306は、図11〜図12に関して説明したような外れてない値の点(non-outlier points)に基づくマッピングによって推定され得る。ホモグラフィは、実行列(例えば、3×3実行列)によって表され得る、2つの平面物体間の幾何学的変換である。マッピングを関心点1107に適用した結果、現在フレーム1304内に関心点の予測位置を生じる。関心点が領域1308内にあるかどうかを決定するために、領域1308内のウィンドウ(即ち、画像データのエリア)が探索され得る。例えば、正規化相互相関(NCC)などの類似性測度は、キーフレーム1302の部分1312を、図示のウィンドウ1310などの領域1308内の現在フレーム1304の複数の部分と比較するために使用され得る。NCCは、幾何学的変形と照明変化とを補償するためのロバストな類似性測度として使用され得る。ただし、他の類似性測度も使用され得る。
関心点1107及び1109などのそれらの対応を失った顕著な特徴は、従って、ウィンドウマッチング手法を使用して回復され得る。その結果、関心点の変位(例えば、動きベクトル)の初期推定と、外れ値を回復するためのウィンドウマッチングとを含む、予め定義されたマーカーを使用しないテキスト領域追跡が行われ得る。フレームごとの追跡は、それらの対応を維持している追跡された顕著な特徴の数が、シーン変化、ズーム、照明変化、又は他のファクタにより閾値を下回ったときなど、追跡が失敗するまで続き得る。テキストは、予め定義されたマーカー又は自然マーカーよりも少数の関心点(例えば、より少数のコーナー又は他の別個の特徴)を含み得るので、外れ値の回復は、追跡を改善し、テキストベースARシステムの動作を向上させ得る。
図14に、カメラ1402などの撮像装置の姿勢1404の推定を示す。現在フレーム1412は図12の画像1202に対応し、関心点1406〜1410は、ポイント1207及び1209に対応する外れ値が図13に記載したようにウィンドウベースマッチングによって訂正された後の関心点1206〜1210に対応する。(図13のキーフレーム1302のテキスト領域1104に対応する)歪んだ境界領域が平面標準境界領域にマッピングされた場合、修正された画像1416に対するホモグラフィ1414に基づいて姿勢1404が決定される。標準境界領域は矩形として示されているが、他の実施形態では、標準境界領域は、三角形、正方形、円形、楕円形、六角形、又は他の規則形状であり得る。
カメラ姿勢1404は、3×3回転行列Rと3×1変換行列Tとから構成される剛体変換によって表され得る。(i)カメラの内部パラメータと、(ii)キーフレーム中のテキスト境界ボックスと現在フレーム中の境界ボックスとの間のホモグラフィとを使用すると、姿勢は、以下の式によって推定され得る。
式中、各数1、2、3は、ターゲット行列の1列ベクトル、2列ベクトル、3列ベクトルをそれぞれ示し、H’は、内部カメラパラメータによって正規化されたホモグラフィを示す。カメラ姿勢1404を推定した後、3Dコンテンツがシーンの自然な部分として見えるように、3Dコンテンツが画像に埋め込まれ得る。
カメラ姿勢の追跡の精度は、処理すべき十分な数の関心点及び/又は正確な光学フロー結果を有することによって改善され得る。処理するために利用可能である関心点の数が閾値数を下回ったとき(例えば、検出された関心点が少なすぎた結果として)、追加の関心点が識別され得る。
図15は、図1Aのシステムによって実行され得るテキスト領域追跡の例示的な例を示す図である。特に、図15は、図11の関心点1106〜1110などの画像中の関心点を識別するために使用され得るハイブリッド技法を示す。図15は、テキスト文字1504を含む画像1502を含む。説明しやすいように、単一のテキスト文字1504のみが示されているが、画像1502は任意の数のテキスト文字を含み得る。
図15において、テキスト文字1504の(ボックスとして示される)幾つかの関心点がハイライトされている。例えば、第1の関心点1506は、テキスト文字1504の外側コーナーに関連し、第2の関心点1508は、テキスト文字1504の内側コーナーに関連し、第3の関心点1510は、テキスト文字1504の湾曲部分に関連する。関心点1506〜1510は、高速コーナー検出器などによるコーナー検出プロセスによって識別され得る。例えば、高速コーナー検出器は、画像中の交差するエッジを識別するために1つ以上のフィルタを適用することによって、コーナーを識別し得る。しかしながら、丸められた文字又は湾曲した文字などにおいては、テキストのコーナーポイントは、しばしば、希薄であるか、又は信頼できないので、検出されたコーナーポイントは、ロバストなテキスト追跡には十分でないことがある。
追加の関心点を識別するための技法の詳細を示すために、第2の関心点1508の周りのエリア1512が拡大される。第2の関心点1508は、2つのラインの交点として識別され得る。例えば、2つのラインを識別するために、第2の関心点1508の近くの画素のセットが検査され得る。ターゲット画素又はコーナー画素pの画素値が決定され得る。例示のために、画素値は、画素強度値又はグレースケール値であり得る。閾値tは、ターゲット画素からラインを識別するために使用され得る。例えば、リング1514に沿ったI(p)−tよりも暗い画素とI(p)+tよりも明るい画素との間の変化ポイントを識別するために、コーナーp(第2の関心点1508)の周りのリング1514中の画素を検査することによってラインのエッジが区別され得、ただし、I(p)は位置pの強度値を示す。コーナー(p)1508を形成するエッジがリング1514と交差する場合、変化ポイント1516及び1520が識別され得る。第1のライン又は位置ベクトル(a)1518は、コーナー(p)1508で始まり、第1の変化ポイント1516を通って延びているとして識別され得る。第2のライン又は位置ベクトル(b)1522は、コーナー(p)1508で始まり、第2の変化ポイント1520を通って延びているとして識別され得る。
弱コーナー(例えば、約180度の角度を形成するように交差するラインによって形成されたコーナー)は消去され得る。例えば、2つのラインの内積を計算することによって、以下の式を使用する。
式中、a、b及びp∈R2は、不均一位置ベクトルを指す。νが閾値よりも低いとき、コーナーが消去され得る。例えば、2つの位置ベクトルa、bによって形成されたコーナーは、2つのベクトル間の角度が約180度であるときに追跡点として消去され得る。
特定の実施形態では、画像のホモグラフィHは、コーナーのみを使用して計算される。例えば、以下の式を使用する。
式中、xは、(図13のキーフレーム1302などの)キーフレーム中の同種位置ベクトル∈R3であり、x’は、(図13の現在フレーム1304などの)現在フレーム中のそれの対応するポイントの同種位置ベクトル∈R3である。
別の特定の実施形態では、画像のホモグラフィHは、コーナーとラインなどの他の特徴とを使用して計算される。例えば、Hは、以下の式を使用して計算され得る。
式中、lは、キーフレーム中のライン特徴であり、l’は、現在フレーム中のそれの対応するライン特徴である。
特定の技法は、ハイブリッド特徴を介したテンプレートマッチングを使用し得る。例えば、ウィンドウベースの相関方法(正規化相互相関(NCC)、2乗差分和(SSD)、絶対値差分和(SAD)など)は、以下の式を使用して、コスト関数として使用され得る。
コスト関数は、xの周りの(キーフレーム中の)ブロックとx’の周りの(現在フレーム中の)ブロックとの間の類似度を示し得る。
ただし、精度は、図15において識別されたライン(a)1518及びライン(b)1522などの追加の顕著な特徴の幾何学的情報を含む、例示的な例として以下の式のようなコスト関数を使用することによって改善され得る。
幾つかの実施形態では、キーフレーム中の検出されたコーナーの数がコーナーの閾値数よりも小さいときなど、少数のコーナーが追跡のために利用可能であるとき、追加の顕著な特徴(即ち、ラインなど、非コーナー特徴)がテキスト追跡のために使用され得る。他の実施形態では、追加の顕著な特徴が常に使用され得る。幾つかの実装形態では、追加の顕著な特徴はラインであり得るが、他の実装形態では、追加の顕著な特徴は、円、輪郭、1つ以上の他の特徴、又はそれらの任意の組合せを含み得る。
テキスト、テキストの3D位置、及びカメラ姿勢情報が知られているか、又は推定されるので、コンテンツは、現実的な様式でユーザに与えられ得る。コンテンツは、自然に配置され得る3D物体であり得る。例えば、図16に、図1Aのシステムによって生成され得るテキストベース3次元(3D)拡張現実(AR)コンテンツの例示的な例1600を示す。カメラからの画像又はビデオフレーム1602が処理され、拡張画像又はビデオフレーム1604が表示のために生成される。拡張フレーム1604はビデオフレーム1602を含み、画像の中心に位置を特定されたテキストは英訳1606と交換され、(ティーポットとして示された)3次元物体1608がメニュープレートの表面上に配置され、検出されたテキストに対応する調理された料理の画像1610が上側コーナーに示されている。拡張特徴1606、1608、1610のうちの1つ以上は、図1Aのユーザ入力機器180などを介して、ユーザインターフェースを介したユーザ対話又は制御のために利用可能であり得る。
図17は、テキストベース3次元(3D)拡張現実(AR)を提供する方法1700の第1の特定の実施形態を示す流れ図である。特定の実施形態では、方法1700は、図1Aの画像処理装置104によって実行され得る。
1702において、撮像装置から画像データを受信する。例えば、撮像装置は、ポータブル電子機器のビデオカメラを含み得る。例示のために、図1Aの撮像装置102からのビデオ/画像データ160は、画像処理装置104において受信される。
1704において、画像データ内でテキストを検出する。テキストは、所定のマーカーの位置を特定するために画像データを検査することなしに、及び登録自然画像のデータベースにアクセスすることなしに検出され得る。テキストを検出することは、図3〜図4に関して説明したような投影プロファイル分析又はボトムアップのクラスタリング方法に従って、テキスト領域の配向を推定することを含み得る。テキストを検出することは、図5〜図7を参照しながら説明したようなテキストの少なくとも一部分を囲んでいる境界領域(又は境界ボックス)を決定することを含み得る。
テキストを検出することは、図8に関して説明したような遠近歪みを低減するようにテキスト領域を調整することを含み得る。例えば、テキスト領域を調整することは、テキスト領域の境界ボックスのコーナーを矩形のコーナーにマッピングする変換を適用することを含み得る。
テキストを検出することは、光学文字認識を介して、提案されたテキストデータを生成することと、提案されたテキストデータを検証するために辞書にアクセスすることとを含み得る。提案されたテキストデータは、複数のテキスト候補と、複数のテキスト候補に関連する信頼性データとを含み得る。辞書の項目に対応するテキスト候補は、図9に関して説明したように、テキスト候補に関連する信頼性値に従って、検証されたテキストとして選択され得る。
1706において、テキストを検出したことに応答して、そのテキストに関連する少なくとも1つの拡張現実特徴を含む拡張画像データを生成する。図16の拡張現実特徴1606及び1608などの少なくとも1つの拡張現実特徴は、画像データ内に組み込まれ得る。拡張画像データは、図1Aの表示装置106などのポータブル電子機器の表示装置に表示され得る。
特定の実施形態では、画像データは、画像データを含むビデオデータのフレームに対応し得、テキストを検出したことに応答して、テキスト検出モードから追跡モードへの遷移が実行され得る。ビデオデータの少なくとも1つの他の顕著な特徴に関係するテキスト領域は、図10〜図15を参照しながら説明したように、ビデオデータの複数のフレーム中に追跡モードで追跡され得る。特定の実施形態では、撮像装置の姿勢が決定され、図14を参照しながら説明したように、テキスト領域は3次元で追跡される。拡張画像データは、テキスト領域の位置と姿勢とに従って複数のフレームに配置される。
図18は、画像データ中のテキストを追跡する方法1800の特定の実施形態を示す流れ図である。特定の実施形態では、方法1800は、図1Aの画像処理装置104によって実行され得る。
1802において、撮像装置から画像データを受信する。例えば、撮像装置は、ポータブル電子機器のビデオカメラを含み得る。例示のために、図1Aの撮像装置102からのビデオ/画像データ160は、画像処理装置104において受信される。
画像はテキストを含み得る。1804において、テキストのコーナー特徴の位置を特定するために、画像データの少なくとも一部分を処理する。例えば、方法1800は、テキスト内のコーナーを検出するために、テキストエリアを囲んでいる検出された境界ボックス内で、図15を参照しながら説明したようなコーナー識別方法を実行し得る。
1806において、位置を特定されたコーナー特徴のカウントが閾値を満たしていないことに応答して、画像データの第1の領域を処理する。処理される画像データの第1の領域は、テキストの追加の顕著な特徴の位置を特定するために、第1のコーナー特徴を含み得る。例えば、第1の領域は第1のコーナー特徴を中心とし得、第1の領域は、図15の領域1512を参照しながら説明したように、第1の領域内のエッジ及び輪郭のうちの少なくとも1つの位置を特定するためにフィルタを適用することによって処理され得る。位置を特定された追加の顕著な特徴と位置を特定されたコーナー特徴とのカウントが閾値を満たすまで、位置を特定されたコーナー特徴のうちの1つ以上を含む画像データの領域が反復的に処理され得る。特定の実施形態では、位置を特定されたコーナー特徴と位置を特定された追加の顕著な特徴とは、画像データの第1のフレーム内で位置を特定される。画像データの第2のフレーム中のテキストは、図11〜図15を参照しながら説明したように、位置を特定されたコーナー特徴と位置を特定された追加の顕著な特徴とに基づいて追跡され得る。「第1」よび「第2」という用語は、本明細書では、要素を特定の連続した順序に制限することなしに要素間を区別するためのラベルとして使用される。例えば、幾つかの実施形態では、第2のフレームは、画像データ中の第1のフレームの直後に続き得る。他の実施形態では、画像データは、第1のフレームと第2のフレームとの間の1つ以上の他のフレームを含み得る。
図19は、画像データ中のテキストを追跡する方法1900の特定の実施形態を示す流れ図である。特定の実施形態では、方法1900は、図1Aの画像処理装置104によって実行され得る。
1902において、撮像装置から画像データを受信する。例えば、撮像装置は、ポータブル電子機器のビデオカメラを含み得る。例示のために、図1Aの撮像装置102からのビデオ/画像データ160は、画像処理装置104において受信される。
画像データはテキストを含み得る。1904において、画像データの第1のフレーム中のテキストの顕著な特徴のセットを識別する。例えば、顕著な特徴のセットは、第1の特徴セットと第2の特徴とを含み得る。一例として図11を使用すると、特徴のセットは、検出された関心点1106〜1110に対応し得、第1の特徴セットは、関心点1106、1108及び1110に対応し得、第2の特徴は、関心点1107又は1109に対応し得る。特徴のセットは、図11に示すように、テキストのコーナーを含み得、場合によっては、図15を参照しながら説明したようなテキストの交差するエッジ又は輪郭を含み得る。
1906において、第1のフレーム中の第1の特徴セットと比較した画像データの現在フレーム中の第1の特徴セットの変位に対応するマッピングを識別する。例示のために、第1の特徴セットは、図11〜図15を参照しながら説明したような追跡方法を使用して追跡され得る。一例として図12を使用すると、現在フレーム(例えば、図12の画像1202)は、第1のフレーム(例えば、図11の画像1102)が受信されてからしばらく後に受信され、2つのフレーム間の特徴変位を追跡するために、テキスト追跡モジュールによって処理されるフレームに対応し得る。第1の特徴セットの変位は、第1の特徴セットの特徴1106、1108及び1110の各々の変位をそれぞれ示す光学フロー1216、1218及び1220を含み得る。
1908において、マッピングが、第1のフレーム中の第2の特徴と比較した現在フレーム中の第2の特徴の変位に対応していないと決定したことに応答して、第2の特徴が領域内で位置を特定されるかどうかを決定するために、マッピングに従って現在フレーム中の第2の特徴の予測位置の周りの領域を処理する。例えば、点1106、1108及び1110を点1206、1208及び1210にそれぞれマッピングするマッピングは、点1107を点1207にマッピングすることができないので、図11の関心点1107は外れ値に対応する。従って、マッピングによる点1107の予測位置の周りの領域1308は、図13に関して説明したように、ウィンドウマッチング技法を使用して処理され得る。特定の実施形態では、領域を処理することは、第1のフレーム(例えば、図13のキーフレーム1302)と現在フレーム(例えば、図13の現在フレーム1304)との間の幾何学的変形及び照明変化のうちの少なくとも1つを補償するために、類似性測度を適用することを含む。例えば、類似性測度は正規化相互相関を含み得る。マッピングは、領域内で第2の特徴の位置を特定したことに応答して調整され得る。
図20は、画像データ中のテキストを追跡する方法2000の特定の実施形態を示す流れ図である。特定の実施形態では、方法2000は、図1Aの画像処理装置104によって実行され得る。
2002において、撮像装置から画像データを受信する。例えば、撮像装置は、ポータブル電子機器のビデオカメラを含み得る。例示のために、図1Aの撮像装置102からのビデオ/画像データ160は、画像処理装置104において受信される。
画像データはテキストを含み得る。2004において、テキストの少なくとも一部分を囲む歪んだ境界領域を識別する。歪んだ境界領域は、テキストの一部分を囲む標準境界領域の遠近歪みに少なくとも部分的に対応し得る。例えば、境界領域は、図3〜図6に関して説明するような方法を使用して識別され得る。特定の実施形態では、歪んだ境界領域を識別することは、テキストの一部分に対応する画像データの画素を識別することと、識別された画素を含む実質的に最も小さいエリアを定義するために、歪んだ境界領域の境界を決定することとを含む。例えば、標準境界領域は矩形であり得、歪んだ境界領域の境界は区画(quadrangle)を形成し得る。
2006において、歪んだ境界領域と撮像装置の焦点距離とに基づいて、撮像装置の姿勢を決定する。2008において、表示装置に表示されるべき少なくとも1つの拡張現実特徴を含む拡張画像データを生成する。少なくとも1つの拡張現実特徴は、図16を参照しながら説明したように、撮像装置の姿勢に従って拡張画像データ内に配置され得る。
図21Aは、テキストベース3次元(3D)拡張現実(AR)を提供する方法の第2の特定の実施形態を示す流れ図である。特定の実施形態では、図21Aに示す方法は、検出モードを決定することを含み、図1Bの画像処理装置104によって実行され得る。
カメラモジュール2102から入力画像2104を受信する。2106において、電流処理モードが検出モードであるかどうかの決定を行う。電流処理モードが検出モードであることに応答して、2108において、入力画像2104の粗いテキスト領域2110を決定するためにテキスト領域検出を実行する。例えば、テキスト領域検出は、図2〜図4に関して説明したように、2値化と投影プロファイル分析とを含み得る。
2112において、テキスト認識を実行する。例えば、テキスト認識は、図8に関して説明したように、遠近感修正されたテキストの光学文字認識(OCR)を含むことができる。
2116において、辞書検索を実行する。とえば、辞書検索は、図9に関して説明したように実行され得る。検索障害に応答して、図21Aに示した方法は、カメラモジュール2102からの次の画像を処理することに戻る。例示のために、検索障害は、OCRエンジンによって与えられた信頼性データに従って所定の信頼性閾値を超えるワードが辞書中で見つからないときに生じ得る。
検索の成功に応答して、2118において、追跡を初期化する。翻訳されたテキスト、3D物体、ピクチャ、又は他のコンテンツなど、検出されたテキストに関連するARコンテンツが選択され得る。電流処理モードは、検出モードから(例えば、追跡モードに)遷移し得る。
2120において、カメラ姿勢推定を実行する。例えば、カメラ姿勢は、図10〜図14に関して説明したように、面内関心点及びテキストコーナー、ならびに面外関心点を追跡することによって決定され得る。ARコンテンツをもつ画像2124を生成するためにARコンテンツを入力画像2104に埋め込むか、又は場合によっては追加するために、カメラ姿勢とテキスト領域データとが3Dレンダリングモジュールによるレンダリング演算2122に与えられ得る。2126において、表示モジュールを介してARコンテンツをもつ画像2124を表示し、図21Aに示した方法は、カメラモジュール2102からの次の画像を処理することに戻る。
2106において、後続の画像を受信するときに電流処理モードが検出モードでないとき、関心点追跡2128を実行する。例えば、テキスト領域及び他の関心点が追跡され得、追跡された関心点についての動きデータが生成され得る。2130において、ターゲットテキスト領域が失われたかどうかの決定を行う。例えば、テキスト領域がシーンを出たか、又は1つ以上の他の物体によって実質的に閉塞されたとき、テキスト領域が失われ得る。キーフレームと現在フレームとの間の対応を維持する追跡点の数が閾値よりも少ないとき、テキスト領域は失われ得る。例えば、ハイブリッド追跡は、図15に関して説明したように実行され得、ウィンドウマッチングは、図13に関して説明したように、対応を失った追跡点の位置を特定するために使用され得る。追跡点の数が閾値を下回ったとき、テキスト領域が失われ得る。テキスト領域が失われなかったとき、処理は、2120においてカメラ姿勢推定を続ける。テキスト領域が失われたこと応答して、電流処理モードは検出モードに設定され、図21Aに示した方法は、カメラモジュール2102からの次の画像を処理することに戻る。
図21Bは、テキストベース3次元(3D)拡張現実(AR)を提供する方法の第3の特定の実施形態を示す流れ図である。特定の実施形態では、図21Bに示す方法は、図1Bの画像処理装置104によって実行され得る。
カメラモジュール2102は入力画像を受信し、2106において、電流処理モードが検出モードであるかどうかの決定を行う。電流処理モードが検出モードであることに応答して、2108において、入力画像の粗いテキスト領域を決定するためにテキスト領域検出を実行する。例えば、テキスト領域検出は、図2〜図4に関して説明したように、2値化と投影プロファイル分析とを含み得る。
2109において、テキスト認識を実行する。例えば、テキスト認識2109は、図8に関して説明したような遠近感修正されたテキストの光学文字認識(OCR)と、図9に関して説明したような辞書検索とを含むことができる。
2120において、カメラ姿勢推定を実行する。例えば、カメラ姿勢は、図10〜図14に関して説明したように、面内関心点及びテキストコーナー、ならびに面外関心点を追跡することによって決定され得る。ARコンテンツをもつ画像を生成するためにARコンテンツを入力画像に埋め込むか、又は場合によっては追加するために、カメラ姿勢とテキスト領域データとが3Dレンダリングモジュールによるレンダリング演算2122に与えられ得る。2126において、表示モジュールを介してARコンテンツをもつ画像を表示する。
2106において、後続の画像を受信するときに電流処理モードが検出モードでないとき、テキスト追跡2129を実行する。処理は、2120においてカメラ姿勢推定を続ける。
図21Cは、テキストベース3次元(3D)拡張現実(AR)を提供する方法の第4の特定の実施形態を示す流れ図である。特定の実施形態では、図21Cに示す方法は、テキスト追跡モードを含まず、図1Cの画像処理装置104によって実行され得る。
カメラモジュール2102は入力画像を受信し、2108において、テキスト領域検出を実行する。2108におけるテキスト領域検出の結果として、2109において、テキスト認識を実行する。例えば、テキスト認識2109は、図8に関して説明したような遠近感修正されたテキストの光学文字認識(OCR)と、図9に関して説明したような辞書検索とを含むことができる。
テキスト認識の後に、2120において、カメラ姿勢推定を実行する。例えば、カメラ姿勢は、図10〜図14に関して説明したように、面内関心点及びテキストコーナー、並びに面外関心点を追跡することによって決定され得る。ARコンテンツをもつ画像を生成するためにARコンテンツを入力画像2104に埋め込むか、又は場合によっては追加するために、カメラ姿勢とテキスト領域データとが3Dレンダリングモジュールによるレンダリング演算2122に与えられ得る。2126において、表示モジュールを介してARコンテンツをもつ画像を表示する。
図21Dは、テキストベース3次元(3D)拡張現実(AR)を提供する方法の第5の特定の実施形態を示す流れ図である。特定の実施形態では、図21Dに示す方法は、図1Aの画像処理装置104によって実行され得る。
カメラモジュール2102は入力画像を受信し、2106において、電流処理モードが検出モードであるかどうかの決定を行う。電流処理モードが検出モードであることに応答して、2108において、入力画像の粗いテキスト領域を決定するためにテキスト領域検出を実行する。テキスト領域検出2108の結果として、2109において、テキスト認識を実行する。例えば、テキスト認識2109は、図8に関して説明したような遠近感修正されたテキストの光学文字認識(OCR)と、図9に関して説明したような辞書検索とを含むことができる。
テキスト認識の後に、2120において、カメラ姿勢推定を実行する。例えば、カメラ姿勢は、図10〜図14に関して説明したように、面内関心点及びテキストコーナー、ならびに面外関心点を追跡することによって決定され得る。ARコンテンツをもつ画像を生成するためにARコンテンツを入力画像2104に埋め込むか、又は場合によっては追加するために、カメラ姿勢とテキスト領域データとが3Dレンダリングモジュールによるレンダリング演算2122に与えられ得る。2126において、表示モジュールを介してARコンテンツをもつ画像を表示する。
2106において、後続の画像を受信するときに電流処理モードが検出モードでないとき、3Dカメラ追跡2130を実行する。処理は、2122において、3Dレンダリングモジュールにおけるレンダリングに進む。
更に、本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、ハードウェアプロセッサなどの処理機器によって実行されるコンピュータソフトウェア、又は両方の組合せとして実装され得ることを、当業者は諒解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、及びステップを、上記では概して、それらの機能に関して説明した。そのような機能をハードウェアとして実装するか、実行可能ソフトウェアとして実装するかは、特定の適用例及び全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する方法又はアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、又はその2つの組合せで実施され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルクトランスファーMRAM(STT−MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD−ROM)、又は当技術分野で知られている任意の他の形態の記憶媒体などの非一時的記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。プロセッサ及び記憶媒体は特定用途向け集積回路(ASIC)中に常駐し得る。ASICは、コンピュータ機器又はユーザ端末中に常駐し得る。代替として、プロセッサ及び記憶媒体は、コンピュータ機器又はユーザ端末中に個別構成要素として常駐し得る。
開示した実施形態の上記の説明は、開示した実施形態を当業者が作成又は使用できるように行ったものである。これらの実施形態への様々な変更は当業者にはすぐに明らかになり、本明細書で定義された原理は本開示の範囲から逸脱することなく他の実施形態に適用され得る。従って、本開示は、本明細書に示した実施形態に限定されるものではなく、特許請求の範囲によって定義される原理及び新規の特徴と合致することが可能な最も広い範囲が与えられるべきものである。