(57)【特許請求の範囲】
【請求項１】
平面ターゲットを検出するために使用されるデータベースを作成するための方法であって、
基準座標系を有する前記平面ターゲットのイメージを受信するステップと、
前記平面ターゲットの前記イメージを処理する、第1の処理するステップであって、
前記平面ターゲット内で複数のキーポイントを検出するステップと、
前記平面ターゲット内の前記複数のキーポイントの各々の周囲の記述子を特定するステップであって、それによって、前記平面ターゲットの前記イメージの前記複数のキーポイントおよび対応する記述子が得られる、ステップと
を含む、第1の処理するステップと、
第1のワープされたイメージを処理する、第2の処理するステップであって、
第1のワープされた座標系を有する前記第1のワープされたイメージを形成するために、前記平面ターゲットをワープするステップと、
前記第1のワープされたイメージ内で複数のキーポイントを検出するステップと、
前記第1のワープされたイメージの前記複数のキーポイントの各々の周囲の記述子を特定するステップであって、それによって、前記第1のワープされたイメージの前記複数のキーポイントおよび対応する記述子が得られる、ステップと、
前記第1のワープされたイメージの前記複数のキーポイントの座標を、前記第1のワープされた座標系と、前記基準座標系との間において変換するステップと
を含む、第2の処理するステップと、
前記平面ターゲットの前記イメージに関する前記データベース内の単一のデータセットを形成するために、前記第1のワープされたイメージの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を、前記平面ターゲットの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部と結合するステップと
を含む、方法。
【請求項２】
1つまたは複数のワープされたイメージを処理する、第3の処理するステップをさらに含み、前記1つまたは複数のワープされたイメージのうちの各特定のワープされたイメージを処理する、第3の処理するステップが、
特定のワープされた座標系を有する前記特定のワープされたイメージを形成するために、前記平面ターゲットをワープするステップと、
前記特定のワープされたイメージ内で複数のキーポイントを検出するステップと、
前記特定のワープされたイメージの前記複数のキーポイントの各々の周囲の記述子を特定するステップであって、それによって、前記特定のワープされたイメージの前記複数のキーポイントおよび対応する記述子が得られる、ステップと、
前記特定のワープされたイメージの前記複数のキーポイントの座標を、前記特定のワープされた座標系と、前記基準座標系との間において変換するステップと
を含み、
前記結合するステップが、前記1つまたは複数のワープされたイメージのうちの前記特定のワープされたイメージの各々の前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を、前記平面ターゲットの前記イメージに関する前記データベース内の前記単一のデータセットに結合するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記平面ターゲットをワープするステップが、5°と35°との間の角度αだけワープするステップを含む、請求項1に記載の方法。
【請求項４】
前記平面ターゲットをワープするステップが、35°と45°との間の角度αだけワープするステップを含む、請求項1に記載の方法。
【請求項５】
前記平面ターゲットをワープするステップが、45°と55°との間の角度αだけワープするステップを含む、請求項1に記載の方法。
【請求項６】
前記平面ターゲットをワープするステップが、55°と75°との間の角度αだけワープするステップを含む、請求項1に記載の方法。
【請求項７】
前記結合するステップが、前記第1のワープされたイメージの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を枝刈りするステップ(pruning)を含む、請求項1に記載の方法。
【請求項８】
前記ワープするステップが、軸を中心にして前記平面ターゲットを数学的に回転させるステップを含む、請求項1に記載の方法。
【請求項９】
前記ワープするステップが、正投影を使用して前記平面ターゲットを数学的に回転させるアフィンワーピングを含む、請求項1に記載の方法。
【請求項１０】
前記ワープするステップが、遠近投影を使用して前記平面ターゲットを回転させるステップを含む、請求項1に記載の方法。
【請求項１１】
平面ターゲットを検出するためにモバイルデバイスによって使用するためのデータベースを作成するためのデバイスであって、
基準座標系を有する前記平面ターゲットのイメージを受信するための手段と、
前記平面ターゲットの前記イメージを処理するための第1の処理手段であって、
前記平面ターゲット内で複数のキーポイントを検出するための手段と、
前記平面ターゲット内の前記複数のキーポイントの各々の周囲の記述子を特定するための手段であって、それによって、前記平面ターゲットの前記イメージの前記複数のキーポイントおよび対応する記述子が得られる、手段と
を含む、第1の処理手段と、
第1のワープされたイメージを処理するための第2の処理手段であって、
第1のワープされた座標系を有する前記第1のワープされたイメージを形成するために、前記平面ターゲットをワープするための手段と、
前記第1のワープされたイメージ内で複数のキーポイントを検出するための手段と、
前記第1のワープされたイメージの前記複数のキーポイントの各々の周囲の記述子を特定するための手段であって、それによって、前記第1のワープされたイメージの前記複数のキーポイントおよび対応する記述子が得られる、手段と、
前記第1のワープされたイメージの前記複数のキーポイントの座標を、前記第1のワープされた座標系と、前記基準座標系との間において変換するための手段と
を含む、第2の処理手段と、
前記平面ターゲットの前記イメージに関する前記データベース内の単一のデータセットを形成するために、前記第1のワープされたイメージの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を、前記平面ターゲットの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部と結合するための手段と
を含む、デバイス。
【請求項１２】
1つまたは複数のワープされたイメージを処理するための第3の処理手段をさらに含み、前記1つまたは複数のワープされたイメージのうちの各特定のワープされたイメージを処理するための前記第3の処理手段が、
特定のワープされた座標系を有する前記特定のワープされたイメージを形成するために、前記平面ターゲットをワープするための手段と、
前記特定のワープされたイメージ内で複数のキーポイントを検出するための手段と、
前記特定のワープされたイメージの前記複数のキーポイントの各々の周囲の記述子を特定するための手段であって、それによって、前記特定のワープされたイメージの前記複数のキーポイントおよび対応する記述子が得られる、手段と、
前記特定のワープされたイメージの前記複数のキーポイントの座標を、前記特定のワープされた座標系と、前記基準座標系との間において変換するための手段と
を含み、
前記結合するための手段が、前記1つまたは複数のワープされたイメージのうちの前記特定のワープされたイメージの各々の前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を、前記平面ターゲットの前記イメージに関する前記データベース内の前記単一のデータセットに結合するための手段をさらに含む、請求項11に記載のデバイス。
【請求項１３】
前記結合するための手段が、前記第1のワープされたイメージの前記複数のキーポイントおよび前記対応する記述子のうちの少なくとも一部を枝刈りするための手段を含む、請求項11に記載のデバイス。
【請求項１４】
前記ワープするための手段が、正投影を使用して前記平面ターゲットを数学的に回転させるアフィンワーピングを行うための手段を含む、請求項11に記載のデバイス。
【請求項１５】
平面ターゲットを検出するためにモバイルデバイスによって使用するためのデータベースを作成するためのデバイスのために、その上に格納されている、請求項1〜10のいずれか一項に記載の方法を実行するためのプログラムコードを含む、非一時的なコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2013年3月11日に出願された「Detection of planar targets under steep angles」という名称の米国特許出願第13/793,629号の利益およびその米国特許出願第13/793,629号に対する優先権を主張するものであり、その米国特許出願第13/793,629号は、2012年10月15日に出願された「Detection of planar targets under steep angles」という名称の米国特許仮出願第61/714,115号の利益およびその米国特許仮出願第61/714,115号に対する米国特許法第35条119(e)項のもとでの優先権を主張しており、米国特許出願第13/793,629号および米国特許仮出願第61/714,115号は両方とも、それらの全体が参照によって本明細書に組み込まれている。
【０００２】
本開示は、一般には拡張現実(AR)のためのシステム、装置、および方法に関し、より詳細には、ランタイムに対する影響を最小限に抑えながら急角度からの平面ターゲットの認識を可能にすることに関する。
【背景技術】
【０００３】
拡張現実(AR)アプリケーションにおいては、ほとんどの平面オブジェクト検出システムは、(たとえば、ユーザによってモバイル電話カメラを用いて撮影された)平面オブジェクトの画像の記述子を、オフラインで作成された記述子のデータベースと比較する。最初に、平面ターゲット(基準ターゲット、基準イメージ、平面イメージ、平面ターゲットイメージ、平面基準イメージ、修正されたイメージなどと呼ばれる場合がある)が、提示される。次に、プロセッサが、その平面ターゲット上のキーポイント130(たとえば、コーナーフィーチャまたはエッジフィーチャ、一般にはフィーチャポイントと呼ばれる)を検出する。次いでプロセッサは、キーポイント130の各々の周囲の記述子を特定する。記述子は、平面オブジェクトの特定のキーポイントの周囲の外観について記述する(たとえば、32、64、または128の次元を有する)ベクトルとして表されることが可能である。キーポイント130は、その記述子とともに、フィーチャと呼ばれることが可能である。複数のキーポイント130は、その対応する複数の記述子とともに、ターゲットイメージに関する複数のフィーチャと呼ばれることが可能である。プロセッサは、平面ターゲットを表すフィーチャを、他の平面ターゲットの記述子とともにデータベース内に格納する。次いでモバイルデバイスは、カメライメージ内で見つかった記述子を記述子のデータベースと比較して、平面ターゲットをマッチさせ、または検出し、それによって、どの平面ターゲットがカメラのビュー内にあるか、およびどの視点からデータベース内の平面ターゲットが観察されているかを知ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
記述子は、いくらかの魅力的な特性を有するように設計されている。記述子は、明るさおよび視点に関して完全に不変となることが理想的である。明るさ、スケール、および面内回転に関する普遍性は、現代の記述子によって適切に取り扱われているが、強力な面外回転は、依然として問題である。必要とされているのは、効率よく(たとえば、ドット積を使用して)、かつ効果的に(たとえば、視点および明るさの変化に関して少なくとも部分的に不変で)という両方で記述子どうしを比較することおよびマッチさせることによって、ランタイムに対する影響を最小限に抑えながら急角度からの平面ターゲットの認識を可能にする、拡張現実(AR)システムにおけるシステム、装置、および方法である。
【課題を解決するための手段】
【０００５】
開示されるのは、より効率よく、かつ効果的にという両方で平面ターゲットを検出するためのシステム、装置、および方法である。
【０００６】
一部の態様によれば、開示されるのは、平面ターゲットを検出するために使用されるデータベースを作成するための方法であって、基準座標系を有する平面ターゲットのイメージを受信するステップと、平面ターゲットのイメージを処理するステップであり、平面ターゲット内で複数のキーポイントを検出するステップ、ならびに、平面ターゲット内の複数のキーポイントの各々の周囲の記述子を特定し、それによって、平面ターゲットのイメージの複数のキーポイントおよび対応する記述子が得られるステップを含む、処理するステップと、第1のワープされたイメージを処理するステップであり、平面ターゲットをワープして、第1のワープされた座標系を有する第1のワープされたイメージを形成するステップ、第1のワープされたイメージ内で複数のキーポイントを検出するステップ、第1のワープされたイメージの複数のキーポイントの各々の周囲の記述子を特定し、それによって、第1のワープされたイメージの複数のキーポイントおよび対応する記述子が得られるステップ、ならびに、第1のワープされたイメージの複数のキーポイントの座標を、第1のワープされた座標系と、基準座標系との間において変換するステップを含む、処理するステップと、第1のワープされたイメージの複数のキーポイントおよび対応する記述子のうちの少なくとも一部を、平面ターゲットの複数のキーポイントおよび対応する記述子のうちの少なくとも一部と結合して、平面ターゲットのイメージに関するデータベース内の単一のデータセットを形成するステップとを含む方法である。
【０００７】
一部の態様によれば、開示されるのは、平面ターゲットを検出するためにモバイルデバイスによって使用するためのデータベースを作成するためのデバイスであって、基準座標系を有するイメージを取り込むように構成されているカメラであり、そのイメージが平面ターゲットを含む、カメラと、そのカメラに結合されているプロセッサとを含み、プロセッサが、平面ターゲットのイメージを処理するステップであり、プロセッサが、平面ターゲット内で複数のキーポイントを検出するステップ、ならびに、平面ターゲット内の複数のキーポイントの各々の周囲の記述子を特定し、それによって、平面ターゲットのイメージの複数のキーポイントおよび対応する記述子が得られるステップを行うように構成されている、ステップと、第1のワープされたイメージを処理するステップであり、プロセッサが、平面ターゲットをワープして、第1のワープされた座標系を有する第1のワープされたイメージを形成するステップ、第1のワープされたイメージ内で複数のキーポイントを検出するステップ、第1のワープされたイメージの複数のキーポイントの各々の周囲の記述子を特定し、それによって、第1のワープされたイメージの複数のキーポイントおよび対応する記述子が得られるステップ、ならびに、第1のワープされたイメージの複数のキーポイントの座標を、第1のワープされた座標系と、基準座標系との間において変換するステップを行うように構成されている、ステップと、第1のワープされたイメージの複数のキーポイントおよび対応する記述子のうちの少なくとも一部を、平面ターゲットの複数のキーポイントおよび対応する記述子のうちの少なくとも一部と結合して、平面ターゲットのイメージに関するデータベース内の単一のデータセットを形成するステップとを行うように構成されている、デバイスである。
【０００８】
一部の態様によれば、開示されるのは、平面ターゲットを検出するためにモバイルデバイスによって使用するためのデータベースを作成するためのデバイスであって、基準座標系を有する平面ターゲットのイメージを受信するステップを行うための手段と、平面ターゲットのイメージを処理するステップを行うための手段であり、処理するステップが、平面ターゲット内で複数のキーポイントを検出するステップを行うための手段、ならびに、平面ターゲット内の複数のキーポイントの各々の周囲の記述子を特定し、それによって、平面ターゲットのイメージの複数のキーポイントおよび対応する記述子が得られるステップを行うための手段を含む、手段と、第1のワープされたイメージを処理するステップを行うための手段であり、処理するステップが、平面ターゲットをワープして、第1のワープされた座標系を有する第1のワープされたイメージを形成するステップを行うための手段、第1のワープされたイメージ内で複数のキーポイントを検出するステップを行うための手段、第1のワープされたイメージの複数のキーポイントの各々の周囲の記述子を特定し、それによって、第1のワープされたイメージの複数のキーポイントおよび対応する記述子が得られるステップを行うための手段、ならびに、第1のワープされたイメージの複数のキーポイントの座標を、第1のワープされた座標系と、基準座標系との間において変換するステップを行うための手段を含む、手段と、第1のワープされたイメージの複数のキーポイントおよび対応する記述子のうちの少なくとも一部を、平面ターゲットの複数のキーポイントおよび対応する記述子のうちの少なくとも一部と結合して、平面ターゲットのイメージに関するデータベース内の単一のデータセットを形成するステップを行うための手段とを含むデバイスである。
【０００９】
一部の態様によれば、開示されるのは、平面ターゲットを検出するためにモバイルデバイスによって使用するためのデータベースを作成するためのデバイス用のその上に格納されているプログラムコードを含む非一時的なコンピュータ可読ストレージメディアであって、基準座標系を有する平面ターゲットのイメージを受信するステップを行うためのプログラムコードと、平面ターゲットのイメージを処理するステップを行うためのプログラムコードであり、平面ターゲット内で複数のキーポイントを検出するステップ、ならびに、平面ターゲット内の複数のキーポイントの各々の周囲の記述子を特定し、それによって、平面ターゲットのイメージの複数のキーポイントおよび対応する記述子が得られるステップを行うためのプログラムコードを含む、処理するステップを行うためのプログラムコードと、第1のワープされたイメージを処理するステップを行うためのプログラムコードであり、平面ターゲットをワープして、第1のワープされた座標系を有する第1のワープされたイメージを形成するステップ、第1のワープされたイメージ内で複数のキーポイントを検出するステップ、第1のワープされたイメージの複数のキーポイントの各々の周囲の記述子を特定し、それによって、第1のワープされたイメージの複数のキーポイントおよび対応する記述子が得られるステップ、ならびに、第1のワープされたイメージの複数のキーポイントの座標を、第1のワープされた座標系と、基準座標系との間において変換するステップを行うためのプログラムコードを含む、処理するステップを行うためのプログラムコードと、第1のワープされたイメージの複数のキーポイントおよび対応する記述子のうちの少なくとも一部を、平面ターゲットの複数のキーポイントおよび対応する記述子のうちの少なくとも一部と結合して、平面ターゲットのイメージに関するデータベース内の単一のデータセットを形成するステップを行うためのプログラムコードとを含む非一時的なコンピュータ可読ストレージメディアである。
【００１０】
一部の態様によれば、開示されるのは、平面ターゲットを検出するためのモバイルデバイスにおける方法であって、鋭角での平面ターゲットのイメージを取り込んで、取り込まれたイメージを形成するステップであり、その鋭角が、平面ターゲットの平面から垂直なラインから測定される、ステップと、取り込まれたイメージから複数のキーポイントを検出するステップと、複数のキーポイントの各々の周囲の記述子を特定し、それによって、取り込まれたイメージからの複数の記述子を形成するステップと、取り込まれたイメージからの複数の記述子を、ワープされていないイメージの少なくとも1つのワープされたイメージに関する複数の記述子を含むデータベースと比較して、比較が得られるステップと、その比較から平面ターゲットを認識するステップとを含む方法である。
【００１１】
他の態様は、以降の詳細な説明から当業者にとって容易に明らかになるであろうということを理解されたい。以降の詳細な説明においては、様々な態様が、例として示され、説明されている。図面および詳細な説明は、例示的な性質のものであり、限定的なものではないと見なされるべきである。
【００１２】
図面を参照しながら、単なる例として、本発明の実施形態について説明する。
【図面の簡単な説明】
【００１３】
【図１】平面ターゲットに対する鋭角αを定義する図である。
【図２】本発明の一部の実施形態による平面ターゲットを示す図である。
【図３】本発明の一部の実施形態による平面ターゲットを示す図である。
【図４】本発明の一部の実施形態による、平面ターゲットをワープすることの例を示す図である。
【図５Ａ】本発明の一部の実施形態による、平面ターゲットをワープすることの例を示す図である。
【図５Ｂ】本発明の一部の実施形態による、平面ターゲットをワープすることの例を示す図である。
【図５Ｃ】本発明の一部の実施形態による、平面ターゲットをワープすることの例を示す図である。
【図６】本発明の一部の実施形態による、平面ターゲットから導出された様々なワープされたイメージを示す図である。
【図７】本発明の一部の実施形態による、平面ターゲットから導出された様々なワープされたイメージを示す図である。
【図８】本発明の一部の実施形態による、平面ターゲットから導出された様々なワープされたイメージを示す図である。
【図９】本発明の一部の実施形態による、平面ターゲットから導出された様々なワープされたイメージを示す図である。
【図１０】カメラから見た様々な急な入射角での平面ターゲットを示す図である。
【図１１】カメラから見た様々な急な入射角での平面ターゲットを示す図である。
【図１２】カメラから見た様々な急な入射角での平面ターゲットを示す図である。
【図１３】本発明の一部の実施形態による、平面ターゲット100を検出するためのデータベースをファイルするための前処理方法200を示す図である。
【発明を実施するための形態】
【００１４】
添付の図面と関連して以降で示されている詳細な説明は、本開示の様々な態様の説明として意図されており、本開示を実施することができる唯一の態様を表すことを意図されているものではない。本開示において説明されている各態様は、本開示の一例または例示として提供されているにすぎず、他の態様よりも好ましいまたは有利であると必ずしも解釈されるべきではない。この詳細な説明は、本開示の徹底的な理解を提供する目的で具体的な詳細を含んでいる。しかしながら、これらの具体的な詳細を伴わずに本開示を実施することができるということは、当業者にとって明らかであろう。一部の例においては、本開示のコンセプトをわかりにくくすることを避けるために、よく知られている構造およびデバイスがブロック図の形態で示されている。頭字語および他の記述用語は、便宜上、および明確にするために使用されているにすぎない場合があり、本開示の範囲を限定することを意図されているものではない。
【００１５】
図1は、平面ターゲット100に対する鋭角αを定義している。X軸、Y軸、およびZ軸を伴うデカルト座標系においては、平面ターゲット100は、X-Y平面において示される。面外回転角度αは、カメラ視野に沿ったライン110(すなわち、カメラレンズに垂直なライン)と、Z軸として示されている、平面ターゲット100に垂直なラインとの間における角度として定義される。
【００１６】
イメージは、面外回転角度αがゼロ度(0°)である場合には、ワープされていない。イメージは、面外回転角度αが0°よりも大きい場合には、ワープされている。すなわち、平面ターゲット100は、トップダウンビューとして提示される場合には、そのオリジナルのワープされていない次元を有したままである。イメージは、面外回転角度αが非常に小さい(たとえば、5°、10°、または15°未満である)場合には、ワープされていないと見なされることが可能である。前処理中に、平面ターゲット100のトップダウンビューに関して、複数のキーポイント130および記述子が導出される。平面ターゲット100は、ターゲットイメージとカメラとの間における面外回転角度αを、Z軸から1つまたは複数の軸を中心にしてゼロでない角度αで(たとえば、60°など、50°と65°との間で)回転させることによって、ワープされたイメージとして合成される。
【００１７】
遠近投影を使用して、または使用しないで、回転された平面ターゲットを投影することができる。遠近投影が使用される場合には、平面ターゲット100の前部が、より大きくなったように見える一方で、平面ターゲット100の後部が、より小さくなったように見え、それによって、正方形の平面ターゲットが、(たとえば、遠近投影を使用した場合には)台形のワープされたイメージになる。共通のビューどうしを結合するためには、およびメモリを節約するためには、遠近投影を使用する代わりに、正投影が使用される。正投影を用いると、イメージの前部および後部の相対的なサイズは変わらない。したがって、正方形の平面ターゲットは、ワープされたイメージにおいては平行四辺形になる。正投影を使用してワープすることは、アフィンワーピングと呼ばれ、これは、直線を保持する。アフィンワーピングは、平面ターゲットのワープされるビューの数の低減を可能にする。なぜなら、左および右への回転の結果、同じワープされたイメージが生成され、同じことが、上および下への回転についても生じるためである。したがって、共通のビューどうしが結合されて、単一のビューとなる。
【００１８】
様々な軸を中心にしてターゲットイメージを回転させることによって、複数の異なるワープされたイメージを形成することができる。やはり前処理中に、結果として生じるワープされたビューの各々に関して、別の数のキーポイント132(たとえば、それぞれ図6〜図9からの132A、132B、132C、132D)および記述子が導出される。角度αが小さい(たとえば、20°または30°未満である)限り、引き起こされるワーピングは小さく、導出されるキーポイント132および記述子は、ワープされていないターゲットイメージのキーポイント130および記述子にマッチするのに十分なだけ類似している。しかしながら、αが大きくなるにつれて、ますますワープされるビューに関して、キーポイント132と記述子とのますます異なるセットが導出されるようになり、ついには、(たとえば、60°を超える角度などの急角度からの)極度にワープされたビューの結果として生じる記述子がもはや、ターゲットビューから導出された記述子に適切にマッチしなくなるポイントに至る。
【００１９】
それまで、データベースは、1つまたは複数のワープされていないターゲットイメージからの記述子のみを伴って形成されていたが、そのデータベースは、急角度での(たとえば、65°と70°との間における、または70°と75°との間における鋭角での)ターゲットイメージの撮影されたカメライメージ内で検出された記述子を適切に表さなかった。本発明の一部の実施形態によれば、データベースは、斜視図を変更することまたは含めることを伴うまたは伴わない合成的にワープされたイメージなど、1つまたは複数のワープされたターゲットイメージの記述子を含む。データベースは、5°と35°との間の、35°と45°との間の、45°と55°との間の、および/または55°と75°との間の角度αだけワープまたは回転されたワープされたイメージのキーポイントおよび記述子を含むことができる。
【００２０】
ワープされたイメージの記述子を伴うデータベースは、モバイルデバイスにとって、ワープされていないイメージを伴うデータベースとまったく同じように見える。一部の実施形態においては、データベースは、1つまたは複数のワープされたターゲットイメージの記述子のみを含み、オリジナルのワープされていないターゲットイメージからの記述子を含まない。一部の実施形態においては、データベースは、1つまたは複数のワープされたターゲットイメージの記述子、およびオリジナルのワープされていないターゲットイメージの記述子を含む。いずれのケースにおいても、データベースを使用するモバイルデバイスは、そのデータベースが、ワープされたイメージを伴って、または伴わずに作成されたことを知る必要はない。しかしながら、データベースが、1つまたは複数のワープされたイメージを伴って作成された場合には、モバイルデバイスは、より傾斜したまたは鋭いカメラ角度で撮影されたイメージに対応するデータベース内のより多くの記述子を見つけ出すことができるであろう。したがって、データベースは、モバイルデバイスが、より鋭い角度で取り込まれたオブジェクトに対してマッチおよび認識をより堅牢に行うことを可能にすることができる。
【００２１】
図2および図3は、本発明の一部の実施形態による平面ターゲット100を示している。図2においては、0°の角度αからの平面ターゲット100のトップダウンビュー。良好な平面ターゲット100は、十分に分散されたセットだがランダムに配置されているキーポイント130を伴うランダムグラフィックス(すなわち、繰返しのパターンを伴わない)を含む。図3においては、同じ平面ターゲット100のキーポイント130のセットが、十字マークとして別個に示されている。キーポイント130は、十分に分散されている、およびランダムに分散されている、の両方である。
【００２２】
図4および図5A〜図5Cは、本発明の一部の実施形態による、平面ターゲット100をワープすることの例を示している。図4においては、X-Y平面における平面ターゲット100が、X軸、Y軸、およびZ軸を中心にした回転の軸とともに示されている。1つまたは2つの軸を中心にして平面ターゲット100を一定の度数だけ回転させることによって、平面ターゲット100をワープすることができる。たとえば、X軸を中心にして平面ターゲット100を回転させて上下の回転をもたらすことによって、ワープされたイメージを形成することができる。Y軸を中心にして平面ターゲット100を回転させて左右の回転をもたらすことによって、ワープされたイメージを形成することができる。X軸とY軸の両方を中心にして平面ターゲット100を回転させることによって、ワープされたイメージを形成することができる。さらに、X軸および/またはY軸ならびにZ軸を中心にして平面ターゲット100を回転させ、次いで、結果として生じるイメージを、ピボットポイントを中心にして時計回りのまたは反時計回りの方向に回転させることによって、ワープされたイメージを形成することができる。回転は、遠近投影を使用することを含むことができ、遠近投影では、回転されたイメージの前部がより大きく、回転されたイメージのより遠くへ行くほど、より小さく見える。あるいは、遠近感を除外することもでき、それによって、正投影を使用したアフィンワーピングによるワープされたイメージにおいては、遠近感は考慮されない。物理的なイメージおよび実際のカメラを用いて、ワープされたイメージを作成することができる。あるいは、遠近効果を含める、または除外するための数学的変換または数学的な回転によって、ワープされたイメージを作成することもできる。
【００２３】
図5Aにおいては、想像上のカメラに対するオリジナルの平面ターゲット100および様々な合成されたビューが示されている。Y軸を中心にした角度αyの左右の回転の結果、第1のワープされたイメージが生じる。X軸を中心にした角度αxの上下の回転の結果、第2のワープされたイメージが生じる。(たとえば、X軸またはY軸のいずれかを中心にしたαxy=60°の)回転、および(たとえば、Z軸を中心にしたβ=±45°の)ピボットの結果、第3のワープされたイメージが生じる。
【００２４】
斜視図を使用することによって遠近感が考慮される場合には、ワープされたイメージに関して2倍もの多くのキーポイント132が処理される必要がある。図5Bにおいて示されているように、キーポイントの1つのセット132A-右(この場合、「右」という用語は、右側からの斜視図を表す)、および対応する記述子が、右への回転から生じることが可能である。図5Cにおいて示されているように、キーポイントの別のセット132A-左(この場合、「左」という用語は、左側からの斜視図を表す)、および対応する記述子が、左への回転から生じることが可能である。ワープされたイメージの各々から、キーポイント132(たとえば、図6において示されているキーポイント132A)を検出することができ、対応する記述子を計算することができる。右側からの遠近イメージおよび左側からの遠近イメージが、Y軸を中心にした回転によって作成された。同様に、上側からの遠近イメージおよび下側からの遠近イメージは、X軸を中心にした回転によって作成されることが可能である。
【００２５】
各ビューは、遠近感が含まれているか否かを問わず、キーポイントと、各キーポイントに関する対応する記述子とのセットを提供する。データベースは、ワープされた各イメージからの記述子の完全なセットまたは枝刈りされた(pruned)セットを含むことができる。(遠近感を伴わない、または遠近感を示す)いずれのケースにおいても、データベース内で見つかった記述子を枝刈りすることは、モバイルデバイスのカメラおよびプロセッサにとって、平面イメージをマッチさせるためのより速いランタイムをもたらすことができる。
【００２６】
一部の実施形態においては、様々なイメージからのキーポイントおよび記述子(キーポイントおよび対応する記述子は、フィーチャと呼ばれることが可能である)からデータベースが形成される。本発明を具体化することを伴わないデータベースは、オリジナルのワープされていないイメージからのフィーチャだけを含む。本発明の実施形態を伴うデータベースは、少なくとも1つのワープされたまたは遠近ビューのイメージからのフィーチャを含む。
【００２７】
オリジナルのワープされていないイメージと、1つ、2つ、3つ、4つ、またはそれよりも多くのワープされたイメージとを伴ってデータベースを形成することができる。ワープされたイメージは、遠近感を考慮することを伴うこと、または伴わないことが可能である。あるいは、オリジナルのワープされていないイメージを伴わずに、その一方で1つ、2つ、3つ、4つ、またはそれよりも多くのワープされたイメージを伴ってデータベースを形成することもできる。たとえば、データベースは、(1)左側からの斜視図、(2)右側からの斜視図、(3)上側からの斜視図、および(4)下側からの斜視図という4つのイメージからの、枝刈りされている、または枝刈りされていない複数のフィーチャを含むことができる。データベースは、(1)オリジナルのワープされていないイメージ、(2)X軸を中心にして回転された非斜視図、および(3)Y軸を中心にして回転された非斜視図という3つのイメージからの複数のフィーチャを含むことができる。データベースは、(1)オリジナルのワープされていないイメージ、(2)X軸を中心にして(αx=20°で)回転された非斜視図、(3)X軸を中心にして(αx=45°で)回転された非斜視図、(4)Y軸を中心にして(αy=45°で)回転された非斜視図、および(5)Y軸を中心にして(αy=45°で)回転された非斜視図という5つのイメージからの複数のフィーチャを含むことができる。データベースは、(1)オリジナルのワープされていないイメージ、および(2)X軸またはY軸を中心にして回転された遠近感のないアフィンビューというイメージだけからの複数のフィーチャを含むことができる。イメージの他の組合せも可能である。
【００２８】
データベースは、ワープされていないイメージおよびワープされたイメージというわずか2つ、またはワープされたイメージ1つだけを含むことができる。ターゲットイメージから垂直な角度(図5Aからのαx=αy=0°)からのイメージは、オリジナルのワープされていないイメージと見なされる。遠近投影を使用した遠近ワーピングを用いると、オリジナルのイメージをこのトップダウンビューから考慮することもでき、それによって、長方形のターゲットイメージに関して長方形を形成するよりも、むしろエッジが湾曲される。ワープされたイメージは、垂直から所定の角度(たとえば、α=10°、20°、30°、または40°)だけ離れた角度で合成されることが可能である。
【００２９】
データベースは、上述のイメージの複数のデータベースを含むことができる。たとえば、データベースは、第1のターゲットイメージに関するワープされていないイメージおよびワープされたイメージを含むことができ、第2のターゲットイメージに関するワープされていないイメージおよびワープされたイメージを含むこともできる。
【００３０】
データベースは、単一の基準系にあることが可能である。たとえば、オリジナルのワープされていないイメージの基準系は、ワープされていないイメージとワープされたイメージの両方を表すために使用される共通の基準系として使用することができる。
【００３１】
図6〜図9は、本発明の一部の実施形態による、平面ターゲット100から導出された様々なワープされたイメージ120を示している。平面ターゲット100は、(たとえば、X-Y平面における)基準座標系と、特定されたキーポイント130のセットとを有する。以降の図においては、アフィンワーピングを使用することによって、遠近感が無視されている。図6においては、平面ターゲット100が、Y軸を中心にして左右方向に回転されており、その結果、平面ターゲット100がワープされて、第1のワープされたイメージ122が形成されている。第1のワープされたイメージ122は、第1のワープされた座標系を有している。この第1のワープされたイメージ122を使用して、キーポイント132Aが検出され、次いで、対応する記述子がキーポイント132Aから特定される。正投影を使用することによって遠近感が無視されている場合には、第1のワープされたイメージ122は、数学的に作成される。また、平面ターゲット100をワープする際に遠近感が無視されるので、第1のワープされたイメージ122は、平行な辺どうしを伴って、より縦長に見える。遠近投影を使用することによって遠近感が無視されなかった場合には、第1のワープされたイメージ122は、2つの平行な辺および2つの平行でない辺を伴って台形として見えることになる。
【００３２】
図7においては、平面ターゲット100が、X軸を中心にして上下方向に数学的に回転されており、その結果、平面ターゲット100がワープされて、第2のワープされた座標系を有する第2のワープされたイメージ124が形成されている。やはり、その第2のワープされたイメージ124に関して、キーポイント132Bが検出され、次いで、対応する記述子が特定される。正投影を使用した数学的変換において遠近感が無視されるので、第2のワープされたイメージ124は、4つの平行な辺を伴って、より横長に見える。やはり、遠近感が無視されなかった場合には、第2のワープされたイメージ124は、2つの平行な辺および2つの平行でない辺を伴って台形として見えることになる。
【００３３】
図8においては、平面ターゲット100が、中心点においてZ軸を中心にして反時計回りに、かつX軸を中心にして上下方向に数学的に回転されて、第3のワープされた座標系を有する第3のワープされたイメージ126が形成されている。その第3のワープされたイメージ126に関して、キーポイント132Cが検出され、次いで、対応する記述子が特定される。ここでは、第3のワープされたイメージ126の向かい合った辺どうしは、互いに平行であるが、隣接した辺に対しては必ずしも直角ではない。
【００３４】
図9においては、平面ターゲット100が、中心点においてZ軸を中心にして時計回りに、かつX軸を中心にして上下方向に回転されて、第4のワープされた座標系を有する第4のワープされたイメージ128が形成されている。やはり、その第4のワープされたイメージ128に関して、キーポイント132Dが検出され、記述子が特定される。
【００３５】
ここまで、前処理について論じてきた。数学的変換を使用して、以前のワープされたイメージを作成することができる。変換されたワープされたイメージから、キーポイントが特定される。それらのキーポイントのセットを組み合わせて、キーポイントの十分に分散された、およびランダムに分散されたセットなど、低減された数にすることができる。すべてのまたは一部のキーポイントに関して、そのキーポイントを表す記述子を特定することができる。これらのキーポイントおよび対応する記述子を、フィーチャとしてデータベース内に保存することができる。この前処理は、サーバまたは他のデバイスにおいて実行することができる。
【００３６】
次いで、デバイス上での使用について考える。デバイス上での使用は、モバイルデバイスが平面ターゲット100の実際のイメージを取り込んだ結果として生じる。これらの取り込まれるイメージにおいては、以降の図において示されているように、予想されるビューが取り込まれる。
【００３７】
図10〜図12は、カメラから見た様々な急な入射角での平面ターゲット100を示している。図10においては、平面ターゲット100は、60°の角度αでカメラから見られている。60°の死角を有するシステムは、カメラに対する平面ターゲット100の60°未満の鋭角αでキーポイント132を検出するが、60°超90°未満の鋭角では、キーポイント132がまったくまたはあまり検出されない結果となる。図11においては、平面ターゲット100は、70°の鋭角αでカメラから見られている。図12においては、平面ターゲット100は、77°の鋭角αでカメラから見られている。
【００３８】
本明細書において説明されている実施形態を伴わないキーポイント130の検出は、60°〜65°程度の角度αで機能することができる。一部の実施形態においては、本明細書において説明されている改善は、70°〜75°程度の急勾配の角度αでの記述子の検出を可能にする。すなわち、ワープされていないビューのみに関するキーポイントおよび記述子を含むデータベースは、ワープされたビューに関するキーポイントおよび記述子を含むデータベースよりも小さい死角を有する。ここでは、図10と図11との間におけるビュー角度αの差は、10°しかない。死角における同様の(60°から70°への)10°の変化は、検出が不可能である角度を(30°から20°へ)大幅に低減させ、これは33%の改善である。
【００３９】
図13は、本発明の一部の実施形態による、平面ターゲット100を検出するためのデータベースをファイルするための前処理方法200を示している。
【００４０】
210において、サーバなどのプロセッサが、平面ターゲットのイメージを受信する。平面ターゲット上のそれぞれのポイントは、基準座標系(たとえば、{x,y})によって記述されている。平面ターゲットは、しばしば正方形または長方形であるが、別の幾何学的形状(たとえば、平行四辺形、八角形、円、もしくは楕円)、または自由形式(たとえば、漫画のキャラクタの輪郭)であることも可能である。
【００４１】
220において、プロセッサは、平面ターゲット100のイメージを処理して、キーポイントと、対応する記述子とのセットを抽出する。詳細には、処理は222において開始し、224において完了する。
【００４２】
222において、プロセッサは、平面ターゲット100内で複数のキーポイント130を検出する。この時点で、それらの複数のキーポイント130を、十分におよびランダムに分散されている残りのキーポイント130のより小さいセットへと枝刈りして、必要とされるメモリおよび処理を軽減することができる。
【００４３】
224において、プロセッサは、平面ターゲット100内の(残りの)複数のキーポイント130の各々の周囲の記述子を特定し、それによって、平面ターゲット100のイメージの複数のキーポイント130および対応する記述子が得られる。一部の実施形態においては、キーポイント130を、ワープされたイメージ内で見つかったキーポイント130に基づいてさらに枝刈りして、低減された数のキーポイント130を得ることができる。一部の実施形態においては、キーポイントは、それらのキーポイントに関する記述子を導出する前に枝刈りされる。あるいは、キーポイントは、すべてのワープされていないイメージおよびワープされたイメージが処理されるまで枝刈りされない。
【００４４】
230において、プロセッサは、第1のワープされたイメージを処理して、記述子の別のセットを抽出する。詳細には、処理は232において開始し、234および246へ続き、次いで238において完了する。
【００４５】
232において、プロセッサは、平面ターゲットをワープして、または数学的に変換して、第1のワープされた座標系を有する第1のワープされたイメージを形成する。たとえば、平面ターゲットは、X軸および/またはY軸および/またはZ軸を中心にして回転される。第1のワープされたイメージは、第1のワープされた座標系(たとえば、{x',y'})を有し、それにより、第1のワープされた座標系におけるポイントが線形変換によって基準座標系に変換され、それによって軸回転の影響を逆転させることが可能である。数学的変換を使用して、{x,y}座標系におけるイメージのピクセルを{x',y'}座標系におけるワープされたイメージのピクセルに変換することができる。
【００４６】
234において、プロセッサが、第1のワープされたイメージ内で複数のキーポイント132(たとえば、132A)を検出する。やはり、キーポイント132を、残りのキーポイント132のセットへと枝刈りして、分散を改善すること、ならびに/または必要とされるメモリおよび処理を軽減することが可能である。
【００４７】
236において、プロセッサは、第1のワープされたイメージの(残りの)複数のキーポイント132の各々の周囲の記述子を特定し、それによって、第1のワープされたイメージの複数のキーポイントおよび対応する記述子が得られる。
【００４８】
238において、プロセッサは、第1のワープされたイメージの複数のキーポイント132の座標を、第1のワープされた座標系と、基準座標系との間において変換する。
【００４９】
230'において示されているように、プロセッサは、平面ターゲットの第2、第3、第4、またはそれ以上のワープされたイメージを同様の様式で(230〜238を参照して上述したように)処理することができる。たとえば、その処理を、第2、第3、および第4のイメージに関して繰り返す。ワープされていないイメージ、右側からの遠近イメージ、左側からの遠近イメージ、上側からのワープされた遠近イメージ、および下側からのワープされた遠近イメージからキーポイントを抽出することができる。プロセッサは、様々な1つまたは複数のワープされたイメージ(第1、第2、第3、および/または第4のワープされたイメージ)ならびにワープされていない平面ターゲットイメージから、重複しているキーポイント130およびキーポイント132を枝刈りすることができる。
【００５０】
様々なキーポイント132のロケーションは、平面ターゲットの基準座標系など、共通の座標系に変換される。240において、プロセッサは、第1のワープされたイメージの複数のキーポイント130および対応する記述子のうちの少なくとも一部を、平面ターゲットの複数のキーポイント132および対応する記述子のうちの少なくとも一部と結合して、平面ターゲットのイメージに関するデータベース内の単一のデータセットを形成する。
【００５１】
プロセッサは、枝刈りプロセスによって枝刈りされていないキーポイントおよび記述子を充填または供給するだけでよい。枝刈りプロセスは、当技術分野において知られているように、良好な分散を提供しない、または冗長であるキーポイント130およびキーポイント132を除去することができる。次いでプロセッサは、枝刈りされていないまたは残りの記述子を、別々の各キーポイントロケーションによってインデックス付けされているデータベースに保存することができる。したがって、1つのワープされたイメージ内で特定されたキーポイントであって、別のワープされたイメージ内ですでに特定されている、または平面ターゲットのトップダウンビュー内で特定されているキーポイントにマップまたは変換されるキーポイントは、たとえば、記述子どうしが同じであるか、または十分に類似している場合には、冗長なものとして枝刈りされて無視されることが可能である。
【００５２】
サーバ内などのプロセッサは、平面ターゲットのイメージを受信すること、その平面ターゲットのイメージ内でキーポイント130、132を検出すること、その平面ターゲットのイメージを1つまたは複数のワープされたイメージへとワープすること、そのワープされたイメージからキーポイントおよび記述子を特定すること、キーポイントを枝刈りすること、ワープされた座標系と、ワープされていない座標系との間において変換を行うこと、ならびにデータベースに対してローディング、充填、または供給を行うことのための手段として機能する。使用中のモバイルデバイスの視点からは、モバイルデバイスは、自分のデータベースが、ワープされていないイメージのみを充填されているか、1つもしくは複数のワープされたイメージのみを充填されているか、またはワープされていないイメージと、1つもしくは複数のワープされたイメージとの組合せを充填されているかを知ることはできない。すなわち、そのデータベースは、モバイルデバイスにとっては同じに見え、データベース内のワープされたイメージのフィーチャポイントを有している、または有していない同じアルゴリズムを実行する。しかしながら、ワープされたビューを用いると、モバイルデバイスは、より急勾配の角度でのフィーチャポイントの記述子を検出することができるであろう。
【００５３】
本明細書において説明されている方法は、アプリケーションに応じて様々な手段によって実装することができる。たとえば、これらの方法は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せで実装することができる。ハードウェアでの実装形態に関しては、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書において説明されている機能を実行するように設計されている他の電子ユニット、またはそれらの組合せの中に実装することができる。
【００５４】
ファームウェアおよび/またはソフトウェアでの実装形態に関しては、これらの方法は、本明細書において説明されている機能を実行するモジュール(たとえば、手順、機能など)を用いて実装することができる。本明細書において説明されている方法を実装する際には、命令を有形に具体化する任意のマシン可読メディアを使用することができる。たとえば、ソフトウェアコードをメモリ内に格納して、プロセッサユニットによって実行することができる。メモリは、プロセッサユニット内に、またはプロセッサユニットの外部に実装することができる。本明細書において使用される際には、「メモリ」という用語は、任意のタイプの長期の、短期の、揮発性の、不揮発性の、または他のメモリを指し、いかなる特定のタイプのメモリ、またはいかなる特定の数のメモリ、または、メモリが格納されるいかなる特定のタイプのメディアにも限定されない。
【００５５】
ファームウェアおよび/またはソフトウェアで実装される場合には、これらの機能は、コンピュータ可読メディア上に1つまたは複数の命令またはコードとして格納することができる。例としては、データ構造をエンコードされたコンピュータ可読メディア、およびコンピュータプログラムをエンコードされたコンピュータ可読メディアが含まれる。コンピュータ可読メディアには、物理的なコンピュータストレージメディアが含まれる。ストレージメディアは、コンピュータによってアクセスすることができる任意の利用可能なメディアであることが可能である。限定ではなく、例として、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD-ROM、もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望のプログラムコードを命令もしくはデータ構造の形態で格納するために使用されることが可能な、かつコンピュータによってアクセスされることが可能な他の任意のメディアを含むことができ、ディスク(disk)およびディスク(disc)は、本明細書において使用される際には、コンパクトディスク(CD: compact disc)、レーザーディスク(登録商標)(laser disc)、光ディスク(optical disc)、デジタル多用途ディスク(DVD: digital versatile disc)、フロッピー(登録商標)ディスク(floppy disk)、およびブルーレイディスク(blu-ray(登録商標) disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、その一方でディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読メディアの範囲内に含まれる。
【００５６】
コンピュータ可読メディア上での格納に加えて、命令および/またはデータは、通信装置内に含まれている伝送メディア上の信号として提供されることが可能である。たとえば、通信装置は、命令およびデータを示す信号を有するトランシーバを含むことができる。それらの命令およびデータは、特許請求の範囲において概説されている機能を1つまたは複数のプロセッサに実施させるように構成されている。すなわち、通信装置は、開示されている機能を実行するための情報を示す信号を伴う伝送メディアを含む。第1の時点においては、通信装置内に含まれている伝送メディアは、開示されている機能を実行するための情報の第1の部分を含むことができ、その一方で、第2の時点においては、通信装置内に含まれている伝送メディアは、開示されている機能を実行するための情報の第2の部分を含むことができる。
【００５７】
開示されている態様についてのここまでの説明は、いかなる当業者も本開示を作成または使用できるようにするために提供されている。これらの態様に対する様々な修正は、当業者にとって容易に明らかになり、本明細書において定義されている一般的な原理は、本開示の趣旨または範囲から逸脱することなく、他の態様に適用することができる。
【符号の説明】
【００５８】
100  平面ターゲット
110  ライン
120  ワープされたイメージ
122  第1のワープされたイメージ
124  第2のワープされたイメージ
126  第3のワープされたイメージ
128  第4のワープされたイメージ
130  キーポイント
132  キーポイント
132A  キーポイント
132B  キーポイント
132C  キーポイント
132D  キーポイント
200  前処理方法
【図１】
0006307511.tif 000002
【図２】
0006307511.tif 000003
【図３】
0006307511.tif 000004
【図４】
0006307511.tif 000005
【図５Ａ】
0006307511.tif 000006
【図５Ｂ】
0006307511.tif 000007
【図５Ｃ】
0006307511.tif 000008
【図６】
0006307511.tif 000009
【図７】
0006307511.tif 000010
【図８】
0006307511.tif 000011
【図９】
0006307511.tif 000012
【図１０】
0006307511.tif 000013
【図１１】
0006307511.tif 000014
【図１２】
0006307511.tif 000015
【図１３】
0006307511.tif 000016