JP6125100B2 - 点特徴と線特徴とを使用する堅牢な追跡 - Google Patents

点特徴と線特徴とを使用する堅牢な追跡 Download PDF

Info

Publication number
JP6125100B2
JP6125100B2 JP2016519514A JP2016519514A JP6125100B2 JP 6125100 B2 JP6125100 B2 JP 6125100B2 JP 2016519514 A JP2016519514 A JP 2016519514A JP 2016519514 A JP2016519514 A JP 2016519514A JP 6125100 B2 JP6125100 B2 JP 6125100B2
Authority
JP
Japan
Prior art keywords
image
feature
point
current image
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016519514A
Other languages
English (en)
Other versions
JP2016521885A5 (ja
JP2016521885A (ja
Inventor
ディーラジュ・アフジャー
キヨン・キム
ヤンハイ・ツィン
セイエド・ヘサメディン・ナジャフィ・ショウシュタリ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016521885A publication Critical patent/JP2016521885A/ja
Publication of JP2016521885A5 publication Critical patent/JP2016521885A5/ja
Application granted granted Critical
Publication of JP6125100B2 publication Critical patent/JP6125100B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Description

関連出願の相互参照
本出願は、2013年6月14日に出願された、「Robust Tracking Using Point and Line Features」と題する、米国仮出願第61/835,402号の利益および優先権を主張する、2014年5月15日に出願された、「Robust Tracking Using Point and Line Features」と題する、米国特許出願第14/278,928号の利益および優先権を主張し、それらの両方は、それらの全体が参照により本明細書に組み込まれる。
本開示は、一般に、堅牢な特徴ベースの追跡のための装置、システム、および方法に関し、具体的には、点特徴と線特徴との組合せを使用する堅牢な特徴ベースの追跡のためのシステムおよび方法に関する。
最近の技術の進歩により、拡張現実(AR)アプリケーションは、スマートフォンなどの日常のユーザデバイス上でますます一般的になっている。リアルタイムインタラクティブであり得るARアプリケーションでは、画像に仮想オブジェクトを追加して、仮想オブジェクトを3次元(3D)で撮影した画像に整合させるために、実際の画像を処理することができる。一般的に、仮想オブジェクトは、現実世界の画像を補う。したがって、実際の画像内に存在するオブジェクトを検出して位置特定し、画像シーケンスを介してオブジェクトに対するカメラの姿勢を判断することは、正確な仮想オブジェクト配置を容易にして、実世界と仮想世界との融合を保持する。
画像キャプチャのためにハンドヘルドユーザデバイスが使用される場合、堅牢な追跡方法は、追跡障害および/または劣悪な姿勢の推定をもたらし得る、迅速な制約のない手の動きを許容することが望ましい。点ベースの特徴は、容易にローカライズされて、画像間の特徴対応の判断を容易にするが、点ベースの特徴は追跡誤差の影響を受けやすく、姿勢ドリフトの原因となり得る。一方、線またはエッジベースの特徴は、照明および外観(aspect)の変化にもかかわらず安定しているので、姿勢ドリフトの影響を受けにくい。しかしながら、それらの特徴は特徴対応判断中に誤差の影響を受けやすく、堅牢なエッジ追跡を困難なものにする。
IEEE802.11規格ファミリ IEEE802.15x規格ファミリ
したがって、より最適なAR経験の堅牢性と追跡精度を達成するために、現在の特徴ベースの追跡手法を向上させる堅牢な追跡方法が必要である。
開示された実施形態は、点特徴とエッジ特徴とを使用して、堅牢な特徴ベースの追跡を行うためのシステム、方法、および装置に関する。
いくつかの実施形態では、本方法は、ターゲットオブジェクトを備える現在のカメラがキャプチャした画像のスコアを計算するステップであって、スコアが、カメラによってキャプチャされた現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、比較が、現在の画像の推定されたカメラ姿勢に基づくステップを備えることができる。さらに、点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有するスコアと、少なくとも1つの線しきい値を有するスコアとの比較に少なくとも部分的に基づいて選択することができ、少なくとも1つの点しきい値と少なくとも1つの線しきい値とは、ターゲットオブジェクトのモデルから取得される。
別の態様では、ユーザデバイス(UD)は、ターゲットオブジェクトを備える複数の画像をキャプチャするように構成されたカメラと、ターゲットオブジェクトのモデルを記憶するように構成されたメモリと、カメラとメモリとに結合されたプロセッサとを備えることができる。いくつかの実施形態では、本プロセッサは、カメラによってキャプチャされた現在の画像のスコアを計算するように構成することができ、スコアが、カメラによってキャプチャされた現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、比較が、現在の画像の推定されたカメラ姿勢に基づく。本プロセッサは、点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有するスコアと、少なくとも1つの線しきい値を有するスコアとの比較に少なくとも部分的に基づいて選択するようにさらに構成することができ、少なくとも1つの点しきい値と少なくとも1つの線しきい値とが、ターゲットオブジェクトのモデルから取得される。
さらなる態様では、装置は、ターゲットオブジェクトを備える複数の画像をキャプチャするための撮像手段と、ターゲットオブジェクトのモデルを記憶するための記憶手段であって、撮像手段に結合された記憶手段と、撮像手段によってキャプチャされた現在の画像のスコアを計算するための手段であって、スコアが、撮像手段によってキャプチャされた現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、比較が、現在の画像の推定された撮像手段姿勢に基づく手段と、点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有するスコアと、少なくとも1つの線しきい値を有するスコアとの比較に少なくとも部分的に基づいて選択する手段であって、少なくとも1つの点しきい値と少なくとも1つの線しきい値とが、記憶されたターゲットオブジェクトのモデルから取得される手段とを備えることができる。
開示された実施形態はまた、プロセッサによって実行されたとき、方法におけるステップを実行する命令を備える、非一時的コンピュータ可読媒体に関し、ステップが、ターゲットオブジェクトを備える現在のカメラがキャプチャした画像のスコアを計算するステップであって、スコアが、カメラによってキャプチャされた現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、比較が、現在の画像の推定されたカメラ姿勢に基づくステップを備えることができる。さらに、点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有するスコアと、少なくとも1つの線しきい値を有するスコアとの比較に少なくとも部分的に基づいて選択することができ、少なくとも1つの点しきい値と少なくとも1つの線しきい値とは、環境のモデルから取得される。
本発明の実施形態を、ほんの一例として、図面を参照して説明する。
開示された実施形態と一致する方法で特徴ベースの追跡を実装することが可能な、例示的なユーザデバイスのブロック図である。 開示された実施形態と一致する方法で画像を分析するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で画像を分析するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で点トラッカ(point tracker)を使用して精製された(refined)姿勢を計算するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で線トラッカ(line tracker)を使用して精製された姿勢を計算するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で点トラッカと線トラッカの両方を使用して精製された姿勢を計算するための例示的な方法の流れ図である。 開示された実施形態と一致する方法で、点特徴と線特徴とを使用する堅牢な特徴ベースの追跡を容易にするために使用可能な、例示的なコンピューティングデバイスの概略ブロック図である。 開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法の流れ図である。
コンピュータビジョンでは、検出は、キャプチャされた画像フレーム内のターゲットオブジェクトを位置特定して、オブジェクトに対するカメラ姿勢を計算するプロセスを指す。追跡は、時間的に連続する画像フレームにわたる、オブジェクトに対するカメラ姿勢の推定を指す。特徴追跡では、特徴が一度検出されると、次いで前の情報またはカメラ姿勢についての仮定を使用して後続の画像内で直接追跡することができる。カメラ姿勢の最初の決定(初期化)のために、特徴照合を使用することができる。特徴照合では、2つの画像間の対応を、両方の画像内の特徴を検出することによって、カメラ姿勢についての事前情報なしに確立することができ、次いで、両方の画像を相互に照合することができる。たとえば、初期化の間、最初のキャプチャされた画像を1つまたは複数の記憶されたモデル参照画像と比較することができ、各参照画像は、最も近い照合画像を見つけるために、知られている姿勢と、知られている座標を有する際立った特徴のセットとに関連付けられる。最も近い照合画像に関連付けられるカメラ姿勢を、最初の画像のカメラ姿勢の最初の推定として使用することができる。
一般的に、特徴ベースの追跡方法では、特徴はオブジェクトを表すために使用することができる。したがって、従来の特徴ベースのオブジェクト追跡は、特徴抽出および特徴対応のステップを含むことができる。特徴抽出は画像内の特徴の検出を指し、特徴対応は、2つの画像内の特徴間の対応を照合または判断するプロセスである。したがって、異なる撮像条件(たとえば、スケール、照明、向きなど)のもとで複数のビューにわたって顕著である可能性のある顕著な特徴の使用が、特徴対応判断を容易にする。特徴対応における曖昧さは、追跡誤差の原因となる場合がある。従来のシステムでは、画像間の特徴対応は、一般的に、点ベースの特徴(追跡点)、あるいは線またはエッジベースの特徴(エッジ追跡)のいずれかを使用して確立される。「線(line)」および「エッジ(edge)」という用語は、本明細書では、特徴追跡の説明において互換可能に使用される。
点ベースの特徴追跡は、画像間の特徴対応の簡単な判断を容易にし、予期しないフレーム間の動きに対して比較的堅牢である。しかしながら、点ベースの技法における計算効率は、多くの場合、対応が判断されるウィンドウのサイズを小さくすることによって実現される。対応判断のためのウィンドウサイズの縮小は、姿勢ドリフトの一因となる画像シーケンス上の追跡誤差の原因になる。顕著なエッジの検出は、照明の変化にもかかわらず堅牢である。たとえ照明および外観の変化があっても、エッジ情報のみに依存することは、シャープなエッジを追跡する際に良好な結果を提供する。しかしながら、エッジベースの追跡は、対応不整合の影響を受けやすい。たとえば、多くのエッジがともにクラスタ化される画像内では、対応不整合が生じる場合があり、それによって堅牢性に影響を与える。
点ベースの追跡とエッジベースの追跡とを組み合わせる従来の試みは、一般的に、いくつかの条件に基づいて点追跡とエッジ追跡とを繰り返す。言い換えれば、特徴対応を確立するために、任意の時点で、点ベースの追跡またはエッジベースの追跡のいずれかが使用される。これらの方法は、2つのスキーム間だけで繰り返し、したがって、一方の手法における不良な姿勢推定は、他方の手法における推定に影響を及ぼす場合がある。
したがって、本明細書で開示されるいくつかの実施形態は、点ベースの追跡技法とエッジベースの追跡技法とを組み合わせることによって追跡機能を強化するために、コンピュータビジョンおよび他の画像処理技法を適用する。
以下で、添付の図面を参照して、これらおよび他の実施形態をさらに説明する。他の態様は、例示によって様々な態様が図示および説明する以下の詳細な説明から、当業者には容易に明らかになるであろうことが理解される。図面および詳細な説明は、本質的に例示的なものと見なされるべきであり、限定と見なされるべきではない。
図1は、開示された実施形態と一致する方法で特徴ベースの追跡を実装することが可能な、例示的なユーザデバイス(UD)100のブロック図である。本明細書で使用されるように、UD100は、移動局、あるいはセルラー式電話、モバイル電話、または他のワイヤレス通信デバイスなどのモバイルデバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報管理ソフトウェア(PIM)、携帯情報端末(PDA)、ラップトップ、タブレット、ノートブック、および/またはハンドヘルドコンピュータあるいは他のモバイルデバイスの形態をとることができる。いくつかの実施形態では、UD100は、ウェアラブルヘッドセットにペアリングされたディスプレイデバイスおよび/またはカメラを含み得る、ウェアラブルコンピューティングデバイスの形態をとることができる。たとえば、ヘッドセットは、ライブおよび/または現実世界の画像を表示するために使用することができる、ヘッドマウントディスプレイ(HMD)を含むことができる。いくつかの実施形態では、ライブ画像は、1つまたは複数の仮想オブジェクトにオーバーレイすることができる。いくつかの実施形態では、UD100は、ワイヤレス通信および/またはナビゲーション信号を受信することが可能であり得る。
さらに、「ユーザデバイス(user device)」という用語はまた、短距離無線、赤外線、ワイヤライン接続、または他の接続、および/あるいはデバイスまたはパーソナルナビゲーションデバイス(PND)で発生する位置関連処理などによって、PNDと通信するデバイスを含むことが意図される。また、「ユーザデバイス」は、ワイヤレス信号受信、支援データ受信、および/または関連処理がデバイスで発生するか、サーバで発生するか、またはネットワークに関連付けられる別のデバイスで発生するかかかわらず、サーバなどの別のコンピューティングデバイスと通信することが可能な様々なワイヤレス通信デバイスを含む、すべてのデバイスを含むことが意図される。上記の任意の操作可能な組合せも、「ユーザデバイス」と考えられる。
ユーザデバイスという用語はまた、ネットワークに接続する、あるいはワイヤレスに、またはワイヤード接続を介してのいずれかで、別のデバイスと通信するように構成されていない場合があるゲームデバイスまたは他のデバイスを含むことが意図される。たとえば、ユーザデバイスは、通信要素および/またはネットワーク機能を省略することができる。たとえば、本明細書で説明する実施形態は、別のデバイスとのワイヤードまたはワイヤレスネットワーキングのために接続するように構成されていないスタンドアロン型デバイスで実装することができる。
いくつかの実施形態では、UD100は、画像解析、特徴検出/追跡、特徴対応判断、モデリング、3D再構成、AR等を含む、様々なコンピュータビジョン(CV)方法を実装することが可能であり得る。いくつかの例では、CV方法は、3D環境の既存のモデルに基づくことができる。さらに、いくつかの実施形態では、CV方法は、開示された実施形態と一致する方法で、リアルタイムに、またはほぼリアルタイムに実装することができる。
図1に示されるように、UD100は、接続120を通じて相互に、およびUD100上の他の機能ユニット(図示せず)に動作可能に結合することができる、1つまたは複数のカメラあるいは画像センサ110(以下では「カメラ110」と呼ばれる)、センサバンクまたはセンサ130、ディスプレイ140、1つまたは複数のプロセッサ150(以下では、「プロセッサ150」と呼ばれる)、メモリ160、および/または送信機170を含むことができる。接続120は、バス、ライン、ファイバ、リンク等、またはそれらのいくつかの組合せを備えることができる。
送信機170は、たとえば、1つまたは複数のタイプのワイヤレス通信ネットワークを介して1つまたは複数の信号を送信するために使用可能な送信機と、1つまたは複数のタイプのワイヤレス通信ネットワークを介して送信された1つまたは複数の信号を受信するための受信機とを含むことができる。送受信機170は、限定はしないが、フェムトセル、IEEE802.11規格ファミリに基づき得るWi-Fiネットワークまたはワイヤレスローカルエリアネットワーク(WLAN)、Bluetooth(登録商標)、近距離通信(NFC)、IEEE802.15x規格ファミリに基づくネットワークなどのようなワイヤレスパーソナルエリアネットワーク(WPANS)、および/あるいはLTE、WiMAXなどのようなワイヤレスワイドエリアネットワーク(WWAN)のような様々な技術に基づくワイヤレスネットワークとの通信を許容することができる。
たとえば、送信機170は、符号分割多重アクセス(CDMA)ネットワーク、時分割多重アクセス(TDMA)ネットワーク、周波数分割多重アクセス(FDMA)ネットワーク、直交周波数分割多重アクセス(OFDMA)ネットワーク、シングルキャリア周波数分割多重アクセス(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)、WiMaxなどの、WWANとの通信を容易にすることができる。
CDMAネットワークは、cdma2000、Wideband-CDMA(W-CDMA)などの1つまたは複数の無線アクセス技術(RAT)を実装することができる。cdma2000は、IS-95、IS-2000、およびIS-856標準を含む。TDMAネットワークは、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))、デジタル高度移動電話システム(D-AMPS)、または他の何らかのRATを実装することができる。GSM(登録商標)、W-CDMA、およびLTEは、「第3世代パートナーシッププロジェクト」(3GPP)として知られる組織からの文書中において説明される。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)と名付けられたコンソーシアムからの文書中において説明される。3GPP文書および3GPP2文書は、公的に入手可能である。本技法はまた、WWAN、WLAN、および/またはWPANの任意の組合せとともに実装することができる。ユーザデバイスはまた、ワイヤードネットワークを介して通信するための1つまたは複数のポートを含むことができる。いくつかの実施形態では、送信機170、および/あるいはユーザデバイス100上の1つまたは複数の他のポートは省略することができる。本明細書で開示される実施形態は、たとえば、別のデバイスとの通信を必要としない移動局内のスタンドアロン型CV/ARシステム/デバイスで使用することができる。
いくつかの実施形態では、カメラ110は、複数のカメラ、表裏両面内蔵カメラ(front and/or rear facing camera)、広角カメラを含むことができ、また、電荷結合素子(CCD)、相補型金属酸化膜半導体(CMOS)、および/または様々な他の画像センサを組み込むことができる。静止カメラやビデオカメラであり得るカメラ110は、環境の一連の画像フレームをキャプチャして、キャプチャされた画像フレームをプロセッサ150に送信することができる。カメラ110によってキャプチャされた画像は、カラー(たとえば、赤-緑-青(RGB))でもよくグレースケールでもよい。一実施形態では、カメラ110によってキャプチャされた画像は、未加工の非圧縮形式であってよく、プロセッサ150によって処理される、および/またはメモリ160に記憶される前に、圧縮することができる。いくつかの実施形態では、画像圧縮は、可逆または非可逆圧縮技術を使用して、プロセッサ150によって実行することができる。
プロセッサ150は、カメラ110によってキャプチャされた画像フレームを処理するためにソフトウェアを実行することができる。たとえば、プロセッサ150は、画像分析、特徴抽出、特徴追跡/検出、特徴対応を実行するために、カメラ110の姿勢を判断するために、および/またはカメラ110によってキャプチャされた画像に対応する環境の3D再構成を実行するために、カメラ110によってキャプチャされた1つまたは複数の画像フレームを処理することが可能であり得る。
カメラ110の姿勢は、参照のフレームに対するカメラ110の位置および向きを指す。いくつかの実施形態では、カメラ姿勢は、3つの並進成分(X、Y、Z座標で与えられ得る)と、3つの角度成分(たとえば、ロール、ピッチ、およびヨー)を指す、6自由度(6DOF)について判断することができる。いくつかの実施形態では、カメラ110および/またはUD100の姿勢は、カメラ110によってキャプチャされた画像フレームに基づく視覚追跡ソリューションを使用して、プロセッサ150によって判断および/または追跡することができる。
プロセッサ150は、ハードウェア、ファームウェア、およびソフトウェアの組合せを使用して実装することができる。プロセッサ150は、画像分析、3D再構築、追跡、画像からの特徴抽出、画像間の特徴対応、モデリング、画像処理等を含むCVに関連するコンピューティング手順またはプロセスの少なくとも一部を実行するように構成可能な1つまたは複数の回路を表すことができ、また、メモリ160から命令および/またはデータを取り出すことができる。いくつかの実施形態では、プロセッサ150は、上記で概説した例示的なCVアプリケーションなどの様々なCVアプリケーションの実行を実行または容易にすることができる、CVモジュール155を備えることができる。
メモリ160は、プロセッサ150内に、および/またはプロセッサ150の外部に実装することができる。プロセッサ150は、1つまたは複数の特定用途向け集積回路(ASIC)、中央処理装置および/またはグラフィック処理装置(CPUおよび/またはGPU)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、組込みプロセッサコア、電子デバイス、本明細書で説明する機能を実行するように設計された他の電子ユニット、あるいはそれらの組合せを使用して実装することができる。
メモリ160は、プロセッサ150内に、および/またはプロセッサ150の外部に実装することができる。本明細書で使用されるように、「メモリ(memory)」という用語は任意のタイプの長期メモリ、短期メモリ、揮発性メモリ、不揮発性メモリ、または他のメモリを指し、任意の特定のタイプのメモリ、または任意の特定の数のメモリ、あるいはメモリが記憶されるタイプの物理媒体に限定されない。いくつかの実施形態では、メモリ160は、画像分析、追跡、特徴検出/抽出、特徴対応判断、モデリング、3D再構築、ARアプリケーション、およびプロセッサ150によって実行される他のタスクを含む、様々なCVおよび/または画像処理方法を容易にするためのコードを保持することができる。たとえば、メモリ160は、データ、キャプチャされた静止画像、3Dモデル、深度情報、ビデオフレーム、プログラム結果、ならびに様々なセンサによって提供されるデータを保持することができる。一般的に、メモリ160は任意のデータ記憶メカニズムを表すことができる。たとえば、メモリ160は1次メモリおよび/または2次メモリを含むことができる。1次メモリは、たとえば、ランダムアクセスメモリ、読取り専用メモリなどを含むことができる。図1ではプロセッサ150とは別個のものとして示されているが、1次メモリのすべてまたは一部がプロセッサ150内に設けられるか、あるいはプロセッサ150と一緒に配置する、および/またはそれに結合することができることが理解されるべきである。
2次メモリは、たとえば、1次メモリ、ならびに/あるいは、たとえば、フラッシュ/USBメモリドライブ、メモリカードドライブ、ディスクドライブ、光ディスクドライブ、テープドライブ、ソリッドステートドライブ、ハイブリッドドライブなどの、1つまたは複数のデータ記憶デバイスまたはシステムと同じまたは同様のタイプのメモリを含むことができる。特定の実装形態では、2次メモリは、UD100に結合されたリムーバブルメディアドライブ(図示せず)内の非一時的コンピュータ可読媒体を動作可能に受容することが可能でもよく、あるいは、それに結合するように構成可能でもよい。いくつかの実施形態では、非一時的コンピュータ可読媒体は、メモリ160および/またはプロセッサ150の一部を形成することができる。
いくつかの実施形態では、UD100は、ステレオカメラ、周囲光センサ、マイクロフォン、音響センサ、超音波センサ、レーザ測距器などのうちの1つまたは複数などの、様々な他のセンサ130を備えることができる。いくつかの例示的な実装形態では、ユーザデバイス100は、3軸ジャイロスコープ、3軸加速度計、および/または磁力計を備えることができる、慣性測定ユニット(IMU)を含むことができる。IMUは、プロセッサ150に、速度、向き、および/または他の位置関連情報を提供することができる。いくつかの実施形態では、IMUは、カメラ130による各画像フレームのキャプチャと同期して、測定された情報を出力することができる。いくつかの実施形態では、IMUの出力は、カメラ110および/またはUD100の推定された姿勢を判断、訂正、および/または調整するために、プロセッサ150によって部分的に使用することができる。さらに、いくつかの実施形態では、カメラ110によってキャプチャされた画像はまた、IMUのためのバイアス調整を再調整または実行するために使用することができる。
さらにUD100は、3D画像を含むカラー画像をレンダリングすることが可能なスクリーンまたはディスプレイ140を含むことができる。いくつかの実施形態では、UD100は、UD100に結合された別個のモニタまたはディスプレイを通じて3D再構築された画像の表示を許容するためのポートを備えることができる。いくつかの実施形態では、ディスプレイおよび/またはUD100は、ウェアラブルデバイスの形態をとることができる。いくつかの実施形態では、ディスプレイ140は、カメラ110によってキャプチャされたライブ画像、拡張現実(AR)画像、グラフィカルユーザインターフェース(GUI)、プログラム出力等を表示するために使用することができる。いくつかの実施形態では、ディスプレイ140は、ユーザが、仮想キーボード、アイコン、メニュー、または他のGUI、ユーザジェスチャ、および/あるいはスタイラスなどの入力デバイスの何らかの組合せ、ならびに他の入力デバイスを介してデータを入力することを許容するために、タッチスクリーンを備えてもよく、および/またはその内部に収容されてもよい。いくつかの実施形態では、ディスプレイ140は、液晶画面ディスプレイ(LCD)、または有機LED(OLED)ディスプレイなどの発光ダイオード(LED)ディスプレイを使用して実装することができる。他の実施形態では、ディスプレイ140は、UD100内の他の機能ユニットに動作可能に結合することができるが、それとは別個に収容される、ウェアラブルディスプレイであり得る。いくつかの実施形態では、UD100は、MS100に結合された別個のモニタを通じて画像の表示を許容するためのポートを備えることができる。
UD100に含まれるすべてのモジュールが、図1に示されているわけではない。例示的なユーザデバイス100もまた、図示された機能ブロックのうちの1つまたは複数を追加、結合、または省略することなどによって、本開示と一致する様々な方法で修正することができる。たとえば、いくつかの構成では、ユーザデバイス100は、送信機170を含まない場合がある。いくつかの実施形態では、UD100は、UD100に位置情報を提供するために使用することができる衛星測位システム(SPS)ユニットをさらに備えることができる。いくつかの実施形態では、ユーザデバイス100の一部は、1つまたは複数のチップセットおよび/または同等物の形態をとることができる。
いくつかの実施形態では、UD100は、視覚特徴ベースの追跡を使用することができる、様々なARアプリケーションを実行することが可能であり得る。いくつかの実施形態では、UD100は、本明細書で開示される実施形態と一致する方法で、エッジ追跡と特徴追跡との組合せに基づいて、追跡方法を実行することができる。
図2Aは、開示された実施形態と一致する方法で画像を分析するための例示的な方法200の流れ図である。例示的な方法200では、方法を示すために、また、説明の目的で、しきい値の特定の値が使用されている。しかしながら、これらのしきい値は、使用される例示的な値に限定されず、適切に変化し得る。
いくつかの実施形態では、方法200は、モデル作成段階の間にオフライン処理として実行することができる。たとえば、追跡されるべきターゲットの3Dモデルは、点ベースの特徴とエッジベースの特徴との組合せを使用して作成することができる。いくつかの実施形態では、モデルは、追跡されているターゲットから、点および線のデータベースを含むことができる。たとえば、一実施形態では、3Dモデルは、3D空間内の点群とエッジの両方を含むことができる。さらに、3Dモデルは、3D点位置および記述子と、顕著なエッジのコンピュータ支援設計(CAD)モデルとのデータベースとを含むことができる。いくつかの実施形態では、モデル作成は、カメラ110によってキャプチャされたライブ画像に基づいてリアルタイムに実行することができる。いくつかの実施形態では、方法200は、モデル作成または分析中に、プロセッサ150および/またはCVモジュール155によって実行することができる。ステップ205で、画像から特徴を抽出するために、モデルに関連する1つまたは複数の画像を分析することができる。抽出された特徴は、点および/または線/エッジ特徴を備えることができる。一般的に、スケール不変特徴変換(Scale Invariant Feature Transform, SIFT)、高速化ロバスト特徴(Speeded Up Robust Features, SURF)などの1つまたは複数の点検出技法は、開示された実施形態と一致する方法で、キャニーエッジ検出(Canny edge detection)およびその変形、微分エッジ検出技法、ソーベルエッジ検出(Sobel edge detection)などのエッジ検出技法と組み合わせて使用することができる。検出技法は、「加速セグメントテストからの特徴(Feature from Accelerated Segment Test)」(FAST)、「最小単一値セグメント同化核(Smallest Univalue Segment Assimilating Nucleus)」(SUSAN)、最大限に安定した極値領域(Maximally Stable Extremal Region)(MSER)ベースの検出器、ハリス検出器などのコーナー検出器を含む。たとえば、コーナー検出器が使用される場合、コーナー検出器に
よって検出されたコーナー点を点特徴として使用することができる。一般的に、任意の適切な点検出技法および/またはエッジ検出技法は、利用可能なシステムリソース、所望の精度、速度、および他の設計パラメータに基づいて使用することができる。
次に、ステップ210で、画像は点特徴が豊富である、すなわち「点が豊富(point rich)」である場合(ステップ210における「Y」)、次いで、ステップ215で、しきい値T-Pointを「0.0」に設定することができ、方法はステップ240に進む。画像は点特徴が豊富ではない場合(ステップ210における「N」)、方法はステップ220に進む。
ステップ220で、画像は点特徴が不足している、すなわち「点が不十分(point poor)」である場合(ステップ220における「Y」)、次いで、ステップ225で、しきい値T-Pointを「1.0」に設定することができ、方法はステップ240に進む。画像は点特徴が不足していない場合(ステップ220における「N」)、方法はステップ230に進み、画像内で検出された点特徴の数に基づいて、しきい値T-Pointの値を0.0と1.0との間の数に設定することができる。
いくつかの実施形態では、画像は点が豊富か、または点が不十分かの判断は、画像から抽出された点特徴の数に基づいて行うことができる。たとえば、抽出された点特徴の数が第1の点カウント値を超える場合、画像は点が豊富であると見なすことができる。逆に、抽出された点特徴の数が第2の点カウント値未満である場合、画像は点が不十分であると見なすことができる。点カウントが第1の点カウントと第2の点カウントとの間であるいくつかの画像は、点が豊富でもなく、点が不十分でもない。点カウント値は、利用可能な処理能力、所望の応答時間、所望の追跡精度の程度、および/または他のシステムパラメータに基づいて、発見的に設定することができる。
次に、ステップ240で、画像は線特徴が豊富である、すなわち「線が豊富(line rich)」である場合(ステップ240における「Y」)、次いで、ステップ245で、しきい値T-Lineを「0.4」に設定することができ、方法を終了することができる。画像は線特徴が豊富ではない場合(ステップ240における「N」)、方法はステップ250に進む。上記のT-PointおよびT-lineの値は例示である。一般的に、T-PointおよびT-lineの値は、点特徴または線特徴に与えられる重みに基づいて選択することができる。上記の例では、T-Line=0.4である場合、点特徴は線特徴よりも大きな重みを与えられている。
ステップ250で、画像は線特徴が不足している、すなわち「線が不十分(line poor)」である場合(ステップ250における「Y」)、次いで、ステップ255で、しきい値T-Lineを「0.0」に設定することができ、方法を終了することができる。画像は線特徴が不足していない場合(ステップ250における「N」)、方法はステップ260に進み、終了前に、画像内で検出された線特徴の数に基づいて、しきい値T-Lineの値を0.0と0.4との間の数に設定することができる。
いくつかの実施形態では、画像は線が豊富か、または線が不十分かの判断は、画像および/または画像の一部から抽出された線特徴の数に基づいて行うことができる。たとえば、抽出された線特徴の数がいくつかの線カウント値を超える場合、画像は線が豊富であると見なすことができる。逆に、抽出された線特徴の数がいくつかの線カウント値未満である場合、画像は線が不十分であると見なすことができる。線カウント値は、環境、利用可能な処理能力、所望の応答時間、所望の追跡精度の程度、および/または他のシステムパラメータに基づいて、発見的に設定することができる。
上記で示されたしきい値T-PointおよびT-Lineの値は例示であり、説明を目的としたものにすぎない。一般的に、T-PointおよびT-Lineのために選択された値は、様々なシステムパラメータに応じて、および/またはモデル化された環境に基づいて変化することがあり、ならびに/あるいは点および/または線特徴の優先を示すために変化することがある。いくつかの実施形態では、T-PointおよびT-Lineは、0≦T-Point、T-Line≦1となるような値をとることができる。方法200で使用されるT-PointおよびT-Lineの値は、追跡目的のために、3Dモデルにおいて点特徴、線特徴、または点および線特徴を使用することの可用性および/または望ましさの指標として機能することができる。
たとえば、モデル作成段階の間に方法200で決定されるT-PointおよびT-Lineの値は、特徴追跡段階の間に決定されたスコアと比較することができる。たとえば、特徴追跡段階におけるスコアは、モデル作成段階の間に作成されたモデル内の特徴点と一致するライブ画像内の追跡されたターゲット内の特徴点の数に基づくことができる。いくつかの実施形態では、T-Pointおよび/またはT-Lineの値を有するスコアの比較に基づいて、ターゲット追跡のために、点ベースの特徴、線ベースの特徴、または点および線ベースの特徴のうちの1つを使用することができる。一般的に、方法200でT-PointおよびT-Lineのための任意の値を使用することができ、その後、点ベースの特徴追跡、線ベースの特徴追跡、または点および線ベースの特徴追跡の優先と一致するスコアのための適切な値を選択する。選択された値は、特徴追跡段階の間に点ベースの特徴追跡、線ベースの特徴追跡、または点および線ベースの特徴追跡が呼び出されるときを判断するために使用することができる。
いくつかの実施形態では、方法200は、所与の環境およびモデルについて、サーバまたは別のコンピューティングデバイスによって実行することができ、しきい値T-PointおよびT-Lineなどの関連する結果は、UD100に送信されるか、および/またはUD100によって取得されて、その環境のためにCVアプリケーションで今後使用するためにメモリ160に記憶することができる。
いくつかの実施形態では、3Dモデルは、様々なカメラ姿勢で、複数の画像またはキーフレームを備えることができ、T-PointおよびT-Line値は、キーフレームのいくつかのサブセットについて決定することができる。いくつかの実施形態では、各キーフレームは、キーフレームの特有の特徴の分布に基づくことができる、対応するT-Pointおよび/またはT-Line値に関連付けることができる。いくつかの実施形態では、モデルのための1つまたは複数のキーフレームは、各処理されたキーフレームに対応するT-Pointおよび/またはT-Line値を取得するために処理することができる。モデルがリアルタイムに、および/またはライブ画像から作成されている実施形態では、対応するT-Pointおよび/またはT-Line値の処理および決定は、画像がキーフレームとして指定されたときに生じ得る。さらに、T-Pointおよび/またはT-Line値が特定のキーフレームに対応するいくつかの実施形態では、方法200はキーフレームならびに対応するT-Pointおよび/またはT-Line値ごとに実行することができ、任意の関連する特徴記述子をキーフレームに関連付けて、モデルの一部として記憶することができる。
図2Bは、開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法275の流れ図である。方法200および方法275は例示にすぎず、方法に様々な修正が行われてよい。たとえば、いくつかの実施形態では、方法275は、オンライン処理として、またはターゲットがARアプリケーションによって追跡されているときにリアルタイムに実行することができる。いくつかの実施形態では、方法275は、カメラ110によってキャプチャされているライブ画像に基づいて、ターゲット追跡の間にプロセッサ150によって実行することができる。いくつかの実施形態では、方法275は、T-Pointおよび/またはT-line値を決定して、抽出された点特徴および線特徴とともに(しかし、T-Pointおよび/またはT-line値なしに)既存のモデルに追加するために、方法200をリアルタイムに呼び出すことができる。いくつかの実施形態では、上述のように、キーフレームベースのモデルがリアルタイムに、および/またはライブ画像から作成されている場合、対応するT-Pointおよび/またはT-line値の処理および決定(たとえば、方法200を呼び出すことによる)もまた、画像がキーフレームとして指定されたときに生じ得る。
ステップ280で、画像から点特徴を抽出するために、カメラ110によってキャプチャされた画像を処理することができる。特徴追跡ステップの間に、点照合(point match)の数に基づいて、キャプチャされた画像にT-Scoreを割り当てることができる。たとえば、現在の画像フレームを、直前の画像フレーム、および/または点照合の平均正規化相互相関(NCC)スコアなどの前の画像と比較することができる。いくつかの実施形態では、スコアは、上記のパラメータのうちの1つまたは複数の加重和を備えることができる。たとえば、T-Scoreは、0と1との間の値(たとえば、0≦T-Score≦1)として計算することができる。
NCCは、たとえ大きな相対的なカメラの動きがある状況でも画像のペアの照合を可能にする、相関に基づく方法である。「不良な(bad)」特徴点照合は、失敗したNCC照合の試行の数、すなわち、失敗した点照合および/または相関スコアの低い照合の数を指す。たとえば、現在の画像フレームを、直前の画像フレームなどの前の画像と比較することができる。T-Score値は、良好な特徴点照合の数、および/または不良な特徴点照合の数のうちの1つまたは複数に基づくことができる。NCCは、ビュー内にある可能性がある点をローカライズすることができないので、不良な特徴点照合は、現在の画像フレームの品質に関連するメトリックとして見られる場合がある。たとえば、高いNCC値(たとえば、100以上)およびより低い追跡誤差(たとえば、2ピクセル再投影誤差を超えない)を有している場合、特徴点照合は「良好(good)」として指定することができる。上記で概説したNCC値および追跡誤差は例示にすぎず、所望の性能、追跡精度などのシステムパラメータに基づいて修正することができる点に留意されたい。上記のNCC値未満(たとえば100未満)、または上記の追跡誤差を超える(たとえば、2ピクセルを上回る)特徴照合を「不良」として指定することができる。
いくつかの実施形態では、T-Score値は、特徴点照合の最大数または予想される数に対する正確な照合の割合のうちの1つまたは複数に基づくことができる。たとえば、特徴点照合の予想される数は、追跡品質および追跡時間を実験的に観察することによって決定することができる。いくつかの実施形態では、特徴点照合の最大数または予想される数に対する正確な照合の割合は、デフォルト値、および/またはユーザが設定した値に事前設定することができる。一実施形態では、システムを所望の性能のために構成することができ、また、所望の性能を達成するために、追跡された特徴の最大数または予想される数を発見的に調整することができる。逆に、システムは、所望の追跡品質のために構成することができ、また、所望の追跡精度を達成するために、追跡された特徴の最大数または予想される数を発見的に調整することができる。
いくつかの実施形態では、スコアリングは、画像ピラミッドのすべてのレベルで実行することができる。たとえば、カメラ110によってキャプチャされた画像は、画像のピラミッドを作成するためにダウンサンプリングしてフィルタリングすることができ、最高解像度(または、未加工)の画像は画像ピラミッドの頂部にあり得、最低解像度の画像はピラミッドの底部にあり得る。たとえば、ピラミッドの最高レベル(レベル0)は、未加工または最高解像度の画像を有することができ、それよりも下の各レベルは、いくつかの要因によって、すぐ上のレベルに対する画像をダウンサンプリングすることができる。たとえば、大きさが640×480(レベル0で)の画像I0では、画像I1、I2、I3、およびI4は大きさがそれぞれ320×240、160×120、80×60、および40×30であり、下付き文字は画像ピラミッドにおける画像レベルを示す。
方法200において、たとえばモデル作成段階の間に決定される、T-Lineおよび/またはT-Pointの値は、ステップ280で決定されたT-Scoreと比較することができる。上述のように、ステップ280で決定されたT-Scoreの値は、ライブ画像と前の画像との比較から取得された様々なメトリクスに基づくことができる。図2Bに示される例示的な方法275では、たとえば、T-Scoreは、点照合の数に基づいて決定される。キーフレームベースのモデルが使用されており、キーフレームが対応するT-Pointおよび/またはT-Line値を有する実施形態では、ユークリッド距離に基づいて現在のカメラ姿勢に最も近いキーフレームを決定するために現在のカメラ姿勢を使用することができ、また、(最も近いキーフレームの)T-Lineおよび/またはT-Pointの対応する値は、現在の画像のT-Scoreと比較することができる。
いくつかの実施形態では、T-Pointおよび/またはT-Lineの値を有するT-Scoreの比較に基づいて、点ベースの特徴追跡、線ベースの特徴追跡、または点および線ベースの特徴追跡を呼び出すことができる。一般的に、T-Scoreは、T-PointとT-lineとを取得するために使用される方法と互換性のある任意のスコアリングスキームを使用して計算することができる。たとえば、T-PointとT-lineとが、0≦T-Point、T-Line≦1になるような値をとる場合、T-Scoreは、0と1との間のT-Score値(≦T-Score≦1)を取得するために、計算または正規化することができる。T-Scoreは画像のペアの特徴比較に関連するメトリクスに基づいて計算されるので、T-Scoreは、特徴追跡の特定の方法のための現在の画像フレームの適合性の指標として見ることができる。したがって、たとえば、T-Scoreが点照合の数に基づいて決定される場合(ステップ280におけるように)、低いT-Scoreは現在のフレームがよく点ベースの特徴追跡にあまり適していないことを示唆する。
次に、ステップ285で、前のステップにおいて計算されたT-Scoreの値を、T-Pointと比較することができる。T-Score≧T-Pointの場合(ステップ285における「Y」)、次いで、ステップ287で、後続の姿勢精製ステップのために点特徴だけを使用する決定を行うことができ、方法275はルーティン297を呼び出すことができる。
図2Aでは、例示的な方法200において、点が豊富な画像についてT-Point=0.0であり、線が豊富な画像についてT-Line=0.4(>0.0)である。例示的な方法200において割り当てられた重みは、線よりも点を優先するために、例示的な方法275とともに使用される。したがって、例示的な方法275において、ステップ280で、T-Scoreが点照合に基づいて計算され、またステップ285で、T-Score≧T-Pointである場合、次いで、ステップ287で、点ベースの特徴追跡が特徴追跡方法として選択される。画像は点が豊富である場合、T-Point=0.0なので、例示的な方法275において、ステップ285における条件(T-Score≧T-Point)は点が豊富な画像について常に満たされ、また、画像は点が豊富である場合、点ベースの特徴追跡が選択される。
T-Score<T-Pointの場合(ステップ285における「N」)、次いで、ステップ290で、T-Scoreの値(ステップ280から)をT-Lineと比較することができる。T-Score≦T-Lineの場合(ステップ290における「Y」)、次いで、ステップ293で、後続の姿勢精製ステップのために線特徴を使用する決定を行うことができ、方法275はルーティン297を呼び出すことができる。
T-Score≦T-Lineではない場合(ステップ290における「N」)、ステップ295で、T-Line<T-Score<T-Pointであり、後続の姿勢精製ステップのために点特徴と線特徴とを使用する決定を行うことができ、方法275はルーティン297を呼び出すことができる。
再び図2Aを参照すると、線が豊富な画像についてT-Line=0.4(>0.0)であり、したがって、いくつかの例では、たとえステップ285における条件(T-Score≧T-Point)が満たされず、点ベースの特徴追跡が選択されない場合でも、T-Scoreはステップ290において少なくともT-Line=0.4であり、したがって、ステップ295において点および線ベースの特徴追跡方法を選択することができる。例示的な方法275において、選択されるべき線ベースの特徴追跡方法について、線が豊富な画像についても、ステップ285における条件(T-Score≧T-Point)は満たされるべきではなく(画像は点が豊富であるべきではない、そうでない場合は、点ベースの特徴追跡が優先される)、T-Scoreは、ステップ290においてT-Line 0.4よりも低くあるべきである。低いT-Scoreは、点ベースの特徴追跡の不十分なスコアを示している。したがって、例示的な方法200および275において、点ベースの特徴および点ベースの特徴追跡は、線ベースの特徴および線ベースの特徴追跡よりも優先される。しかしながら、例示的な方法200および275は例示にすぎず、線特徴と点特徴とに等しい重みを与えるために、あるいは、点特徴よりも線特徴を優先するために、異なる重み付けスキームを使用することができる。ステップ280、ならびに決定ボックス285および290は、選択された重み付けスキームを反映するように調整することができる。
ルーティン297で、ステップ287、293、または295のうちの1つにおいて行われた前の決定に基づいて姿勢推定を精製することができる。たとえば、一実施形態では、ステップ287、293、または295のうちの1つにおいて行われた決定に基づいて2D-3D特徴対応を使用して、前の、または推定される6DOFカメラ姿勢を精製することができる。
図3Aは、開示された実施形態と一致する方法で、モデル作成段階の間に画像を分析するための例示的な方法300の流れ図である。いくつかの実施形態では、方法300は、モデル作成段階の間にオフライン処理として実行することができる。いくつかの実施形態では、方法300は、カメラ110によってキャプチャされた1つまたは複数の画像に基づいて、モデル作成の間にプロセッサ150によって実行することができる。いくつかの実施形態では、方法300は、モデル内のキーフレームのいくつかのサブセットについて繰り返すことができる。方法300および320(図3B)は例示にすぎず、方法に様々な修正が行われてよい。たとえば、例示的な方法300および320は、線特徴よりも点特徴の選択および使用を優先する。しかしながら、本方法は、優先を変えるために容易に変更することができる。
いくつかの実施形態では、モデルはキーフレームを備えることができ、各キーフレームは、キーフレームに特有の特徴の分布に基づくことができる、対応するT-Pointおよび/またはT-Line値に関連付けることができる。いくつかの実施形態では、モデルのための1つまたは複数のキーフレームは、各処理されたキーフレームに対応するT-Pointおよび/またはT-Line値を取得するために処理することができる。モデルがリアルタイムに、および/またはライブ画像から作成されている実施形態では、対応するT-Pointおよび/またはT-Line値の処理および決定は、画像がキーフレームとして指定されたときに生じ得る。さらに、T-Pointおよび/またはT-Line値が特定のキーフレームに対応するいくつかの実施形態では、方法300はキーフレームならびに対応するT-Pointおよび/またはT-Line値ごとに実行することができ、任意の関連する特徴記述子をキーフレームに関連付けて、モデルの一部として記憶することができる。
ステップ303で、画像サブディビジョン(subdivision)から点特徴を抽出するために、モデルに関連する1つまたは複数の画像を各々サブディビジョンに分割することができる。いくつかの実施形態では、サブディビジョンは、様々な多角形の形態をとることができる。以下で説明する例示的な実施形態などの一実施形態では、画像を複数のグリッドに分割することができる。
ステップ305で、最初の、または次のグリッドを選択することができ、グリッド/モデルの特徴リストに点特徴を追加することができる。ステップ307で、グリッドは点が不十分である場合(ステップ307における「Y」)、次いで、ステップ310で、画像内のグリッド全体で均一な特徴分布を作成できるようにするために、グリッドの線特徴を抽出することができ、また特徴リストに追加することができる。たとえば、いくつかの実施形態では、追加された線特徴の数は、点特徴がグリッドに存在しない程度に依存する場合がある。いくつかの実施形態では、グリッドごとにモデルに追加された点特徴および/または線特徴の数の表を維持することができる。
いくつかの実施形態では、グリッドは点が豊富か、または点が不十分かの判断は、グリッドから抽出された点特徴の数に基づいて行うことができる。たとえば、グリッドから抽出された点特徴の数が第1の点カウント値を超える場合、グリッドは点が豊富であると見なすことができる。逆に、グリッド内で抽出された点特徴の数が第2の点カウント値未満である場合、グリッドは点が不十分であると見なすことができる。点カウントが第1の点カウントと第2の点カウントとの間であるいくつかのグリッドは、点が豊富でもなく、点が不十分でもない。グリッドごとの点カウント値は、利用可能な処理能力、所望の応答時間、所望の追跡精度の程度、および/または他のシステムパラメータに基づいて、発見的に設定することができる。
ステップ310において、いくつかの実施形態では、各グリッドから同等の数の点特徴および/または線特徴を抽出することによって部分的に、特徴分布の均一性が促進される。したがって、いくつかの実施形態では、抽出された線の数は、グリッド内の点の数に関連して反比例して変化することがある。したがって、点の数が増加すると、グリッドからより少数の線が抽出される場合がある。逆に、グリッドが低い点の密度を表す場合、グリッドから抽出された線の数が増加する場合がある。画像全体の特徴の均一性が、画像全体の対応を発見することを容易にし、姿勢精製の精度に貢献する。
モデル内の画像がグリッドに分割される実施形態では、ターゲット画像にわたる点特徴および線特徴の均一な分布は、追跡の間のより高い精度をもたらす可能性がある。特徴分布が不均一である場合、追跡不安定性が生じる場合があるので、特徴点/エッジを分布するためのグリッドの使用は、歪んだ特徴分布を上回る利点を提供する(点特徴の大部分が小さな領域に集中しているときなど)。点が不十分な領域では、対応の曖昧性が増加する。したがって、開示された実施形態と一致する方法で、点が不十分な領域に線特徴を追加することは有益である可能性があり、追跡安定性の向上、およびより良好な後続の姿勢精製をもたらす。
ステップ307で、グリッドは点が豊富である場合、(ステップ307における「N」)、次いで、ステップ309で、グリッド/モデルの特徴リストに線特徴を任意で追加することができ、方法はステップ312に進む。いくつかの実施形態では、ステップ309で、点が豊富なグリッドに線特徴が追加されない場合があり、および/またはステップ309が省略される場合がある。したがって、例示的な方法300において、いくつかの例では、グリッドは点が豊富である場合(ステップ307における「N」)、線ベースの特徴は追加されない場合があり、したがって、点ベースの特徴追跡が優先される。
しかしながら、いくつかの実装形態では、ステップ309で、たとえば、様々な数の線ベースの特徴を、グリッドで利用可能な点特徴の数に基づいて、グリッドに追加することができる。いくつかの実施形態では、ステップ309で、追加された任意の数の線ベースの特徴が、上限を受ける可能性がある。別の例では、ステップ309で、最小数の線ベースの特徴を、点ベースの特徴の数に関係なくグリッドに追加することができる。
さらなる例として、方法300は、線ベースの特徴を優先するために修正することができ、グリッド領域は線が豊富であるかどうかをテストして、グリッド領域は線が不十分である場合、点特徴を任意で追加する(たとえば、ステップ309で)ために、ステップ307を修正することができる。たとえば、高速の相対的なターゲットの動きがある例では、および/またはモーションブラー(motion blur)の存在下の追跡を容易にするために、線ベースの特徴を優先することができる。一般的に、方法300は、線ベースの特徴の数を、点ベースの特徴の数の関数にするために、または、逆に、点ベースの特徴の数を線ベースの特徴の数の関数にするために、修正することができる。
ステップ312で、処理されるべきさらなるグリッドがある場合(ステップ312における「Y」)、次いで、次の繰返しを開始するためにステップ305が呼び出されて、別のグリッドを選択することができる。処理されるべきさらなるグリッドがない場合(ステップ312における「N」)、方法は終了する。
図3Bは、開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法320の流れ図である。上記で概説したように、例示的な方法320において、方法200および方法275よりも程度は低いものの、点特徴は線特徴よりも優先される。いくつかの実施形態では、方法320は、オンライン処理として、またはターゲットがARアプリケーションによって追跡されているときにリアルタイムに実行することができる。いくつかの実施形態では、方法320は、カメラ110によってキャプチャされているライブ画像に基づいて、ターゲット追跡の間にプロセッサ150によって実行することができる。いくつかの実施形態では、方法320は、T-Pointおよび/またはT-line値を決定して、抽出された点特徴および線特徴とともに(しかし、T-Pointおよび/またはT-line値なしに)既存のモデルに追加するために、方法300をリアルタイムに呼び出すことができる。いくつかの実施形態では、上述のように、キーフレームベースのモデルがリアルタイムに、および/またはライブ画像から作成されている場合、対応するT-Pointおよび/またはT-line値の処理および決定(たとえば、方法300を呼び出すことによる)もまた、画像がキーフレームとして指定されたときに生じ得る。
ステップ280で、画像から点特徴を抽出するために、カメラ110によってキャプチャされた現在の画像を処理することができる。特徴追跡ステップの間に、点照合の数に基づいて、キャプチャされた画像にT-Scoreを動的に割り当てることができる。たとえば、現在の画像のカメラ姿勢の推定を、いくつかの例ではカメラ110によってキャプチャされた直前の画像であり得る前の画像のための前のカメラ姿勢に基づいて判断することができる。点照合を取得するために、現在の画像を前の画像と比較することができる。動的に計算されたT-Score値は、点照合の空間分布、特徴点照合最大または予想される数に対する良好な特徴点照合の数/不良な特徴点照合の数、および/または点照合の平均NCCスコアのうちの1つまたは複数に基づくことができる。
T-Scoreを決定するために特徴点照合が使用される場合、「良好(good)」として指定された特徴点照合は、たとえば、高いNCC値(たとえば、100以上)およびより低い追跡誤差(たとえば、2ピクセル再投影誤差を超えない)を有している場合がある。上記で概説したNCC値および追跡誤差は例示にすぎず、所望の性能、追跡精度などのシステムパラメータに基づいて修正することができる点に留意されたい。上記のNCC値未満(たとえば100未満)、または上記の追跡誤差を超える(たとえば、2ピクセルを上回る)特徴照合を「不良」として指定することができる。
さらに、特徴点照合の予想される数は、追跡品質および追跡時間を実験的に観察することによって決定することができる。いくつかの実施形態では、特徴点照合の最大数または予想される数に対する正確な照合の割合は、デフォルト値、および/またはユーザが設定した値に事前設定することができる。一実施形態では、システムを所望の性能のために構成することができ、また、所望の性能を達成するために、追跡された特徴の最大数または予想される数を発見的に調整することができる。逆に、システムは、所望の追跡品質のために構成することができ、また、所望の追跡精度を達成するために、追跡された特徴の最大数または予想される数を発見的に調整することができる。
いくつかの実施形態では、T-Score値は、点照合の空間分布に関連付けられる均一性の程度に依存する場合がある。一実施形態では、点照合の空間分布がより均一である場合、より高いT-Score値を割り当てることができる。いくつかの実施形態では、スコアは、上記のパラメータのうちの1つまたは複数の加重和を備えることができる。たとえば、T-Scoreは、0と1との間の値(たとえば、0≦T-Score≦1)として計算することができる。
ステップ325で、現在の画像に対応する、前に作成されたモデル内の領域である、モデルの可視領域を分析することができる。いくつかの実施形態では、モデルの可視領域は、モデル化された可視領域内のグリッドごとの点特徴および線特徴(モデル作成の間に記憶された)の数を示す、以前に作成された表内の情報に基づいて分析することができる。いくつかの実施形態では、現在の画像のカメラのビューにモデルを投影するために、モデルの可視領域は、環境の記憶されたモデル(3Dモデルなど)、および現在の画像のカメラ姿勢の推定(前の姿勢に基づくことができる)を使用することによって決定することができる。キーフレームベースのモデルが使用されており、キーフレームが対応するT-Pointおよび/またはT-Line値を有する実施形態では、ユークリッド距離に基づいて現在のカメラ姿勢に最も近いキーフレームを決定するためにカメラ姿勢を使用することができる。次いで、現在のカメラ姿勢に最も近いキーフレームをカメラのビューに投影することができ、可視領域内のT-Lineおよび/またはT-Pointの対応する値(最も近いキーフレームのための)を、現在の画像のT-Scoreと比較することができる。いくつかの実施形態では、可視領域を判断するために、ターゲットの形状を使用することができる。たとえば、円筒状のターゲットでは、角度範囲を判断するために、円筒形状ベースのパラメータを使用することができる。
次に、ステップ330で、モデルの可視領域は点が豊富である場合(ステップ330における「Y」)、次いで、ステップ333で、しきい値T-Pointを「0.0」に設定することができ、方法はステップ345に進む。モデルの可視領域は点が豊富ではない場合(ステップ330における「N」)、方法はステップ335に進む。画像サブディビジョンごとの点特徴および/または線特徴の数に関連する情報を含む、前に記憶された表内の情報は、モデルの可視領域は点が豊富であるかどうかを判断するために使用することができる点に留意されたい。たとえば、一実施形態では、可視領域内の各グリッドに関連付けられる点特徴のカウントおよびエッジ特徴のカウントの合計または他の関数は、モデルの可視領域は点が豊富であるかどうかを判断するために使用することができる。
ステップ335で、モデルの可視領域が「点が不十分」である場合(ステップ335における「Y」)、次いで、ステップ337で、しきい値T-Pointを「1.0」に設定することができ、方法はステップ345に進む。モデルの可視領域が「点が不十分」ではない場合(ステップ335における「N」)、方法はステップ340に進み、モデル化された可視領域内で検出された点特徴の数に基づいて、しきい値T-Pointの値を0.0と1.0との間の数に設定することができる。前に記憶された表内の情報は、モデル化された可視領域は点が不十分であるかどうかを判断するために(ステップ335で)、および/またはT-Pointの値を設定するために(ステップ340で)使用することができる点に留意されたい。
次に、ステップ345で、モデル化された可視領域は線特徴が豊富である、すなわち線が豊富である場合(ステップ345における「Y」)、次いで、ステップ347で、しきい値T-Lineを「0.6」に設定することができ、方法はステップ365に進むことができる。モデル化された可視領域は線特徴が豊富ではない場合(ステップ345における「N」)、方法はステップ350に進むことができる。画像サブディビジョンごとの点特徴および/または線特徴の数に関連する情報を含む、前に記憶された表内の情報は、モデル化された可視領域は線が豊富であるかどうかを判断するために使用することができる。
ステップ350で、モデル化された可視領域は線が不十分である場合(ステップ350における「Y」)、次いで、ステップ357で、しきい値T-Lineを「0.0」に設定することができ、方法はステップ365に進むことができる。モデル化された可視領域は線が不十分ではない場合(ステップ350における「N」)、方法はステップ360に進むことができ、画像内で検出された線特徴の数に基づいて、しきい値T-Lineの値を0.0と0.6との間の数に設定することができる。画像サブディビジョンごとの点特徴および/または線特徴の数に関連する情報を含む、前に記憶された表内の情報は、モデル化された可視領域は点が不十分であるかどうかを判断するために(ステップ350で)、および/またはT-Lineの値を設定するために(ステップ360で)使用することができる点に留意されたい。
ステップ365で、ステップ280で計算されたT-Scoreの値をT-Pointと比較することができる。T-Score≧T-Pointの場合(ステップ365における「Y」)、次いで、ステップ367で、後続の姿勢精製ステップのために点特徴だけを使用する決定を行うことができ、方法320はルーティン297を呼び出すことができる。
T-Score<T-Pointの場合(ステップ365における「N」)、次いで、ステップ370で、T-Scoreの値(ステップ280から)をT-Lineと比較することができる。T-Score≦T-Lineの場合(ステップ370における「Y」)、次いで、ステップ377で、後続の姿勢精製ステップのために線特徴を使用する決定を行うことができ、方法320はルーティン297を呼び出すことができる。
T-Score≦T-Lineではない場合(ステップ370における「N」)、ステップ295で、T-Line<T-Score<T-Pointであり、後続の姿勢精製ステップのために点特徴と線特徴とを使用する決定を行うことができ、方法320はルーティン297を呼び出すことができる。
上記で示されたしきい値T-PointおよびT-Lineの値は例示であり、説明を目的としたものにすぎない。一般的に、T-PointおよびT-Lineのために選択された値は、様々なシステムパラメータに応じて、および/またはモデル化された環境に基づいて変化することがあり、ならびに/あるいは点および/または線特徴の優先を示すために変化することがある。
図3Aで、例示的な方法300において、いくつかの例では、エッジベースの特徴が、点が豊富であるグリッドに追加されない場合があり、したがって点ベースの特徴追跡を優先する。同様に、図3Bで、例示的な方法320において、点ベースの特徴追跡が優先される。可視画像領域は点が豊富である場合、T-Point=0.0(ステップ333で)なので、ステップ365における条件T-Score≧T-Pointは点が豊富な可視領域について常に満たされ、また、可視画像領域は点が豊富である場合、点ベースの特徴追跡が選択される。
しかしながら、例示的な方法300において、エッジベースの特徴が、図2Aおよび図2Bの方法よりも大きい重みを与えられている。たとえば、線が豊富な可視領域についてT-Line=0.6(ステップ347で)であり、ステップ370における条件T-Score≦T-Lineが満たされる可能性がより高い(線が豊富な領域についてT-Lineが値0.4を割り当てられる図2Aおよび図2Bと比較して)。したがって、ステップ377における特徴追跡のために線特徴が選択されるおよび/または使用される可能性がより高い。それに対応して、ステップ380における追跡のために点特徴と線特徴の両方を使用する可能性はより低い。したがって、様々な特徴追跡方法の選択/使用の程度を、システムパラメータに基づいて最適に調整することができる。
ルーティン297で、ステップ367、377、または380のうちの1つにおいて行われた前の決定に基づいて姿勢推定を精製することができる。たとえば、一実施形態では、ステップ367、377、または380のうちの1つにおいて行われた決定に基づいて2D-3D特徴対応を使用して、6DOFカメラ姿勢を推定することができる。いくつかの実施形態では、特徴対応を計算するために、重み付き最小2乗近似またはその変形を使用することができる。
図4Aは、点トラッカを使用して精製された姿勢を計算するための例示的な方法400の流れ図である。いくつかの実施形態では、特徴対応を決定するための方法として点ベースの特徴が前に選択されている場合(ステップ365で)、ルーティン297によって、方法400の一部を実行および/または呼び出すことができる。
ステップ405で、現在の推定された姿勢に基づいて、点ベースの特徴を使用して、現在の画像と、モデル上の既存の特徴を比較することによって特徴対応を決定することができる。
次に、ステップ410で、ヤコビアン(Jacobian)を計算することができる。ヤコビアン
Figure 0006125100
は、姿勢変更(Δθ)から投影点変更(Δu)の間の線形マッピングを説明している。
Figure 0006125100
上式で、Δθ=(Δrx Δry Δrz Δtx Δty Δtz)であり、3D空間内の回転および並進に関連する6つのパラメータを有し、
Jは2×6マトリックスであり、測定誤差の偏微分はΔθを有し、
Figure 0006125100
であり、
uは2×1測定誤差ベクトル(ux uy)Tであり、
upはuの投影であり、
umは測定された、または発見された対応である。
式(1)は、ステップ410においてヤコビアンを計算するために使用することができる。
次にステップ415で、uが2×1マトリックスであり、uを点ごとに計算することができるので、2つの線形制約を点ごとに取得することができる。ステップ420で、十分な点対応があれば、(Δu)を最小化する姿勢更新のためのソリューションを計算するために加重最小2乗(W.L.S)技法を使用することができ、発見された対応umにすべての投影upをもたらす。
したがって、発見された対応umにすべての投影upをもたらす姿勢更新のためのソリューションは、十分な点/線対応で取得することができる。
ここで、
Figure 0006125100
および
Figure 0006125100
上記の式(2)および(3)は、姿勢更新を計算するために使用することができる。
図4Bは、線トラッカを使用して精製された姿勢を計算するための例示的な方法400の流れ図である。いくつかの実施形態では、特徴対応を決定するための方法としてエッジベースの特徴が前に選択されている場合、方法400の一部はルーティン297によって実行することができる。
ステップ430で、エッジベースの特徴を使用して、現在の画像と、モデル上の既存の特徴を比較することによって、特徴対応を決定することができる。次に、ステップ410で、式(1)を使用してヤコビアンを計算することができる。
ステップ440で、エッジピクセルのために、各エッジが、以下の式(4)によって与えられる1つの線形制約を与えるように、通常の距離を最小化することができる。
Figure 0006125100
上式で、(nx ny)Tは、uが画像プレーンに投影される場合のuの通常のベクトルである。
したがって、発見された対応umにすべての投影upをもたらす姿勢更新のためのソリューションは、以下の式(5)および(6)を使用して、十分な線対応で取得することができる。
Figure 0006125100
ここで、すべてのl線対応について、
Figure 0006125100
である。上記の式(5)および(6)は、姿勢更新を計算するために使用することができる。
図4Cは、点トラッカと線トラッカの両方を使用して精製された姿勢を計算するための例示的な方法450の流れ図である。いくつかの実施形態では、特徴対応を決定するための方法として点ベースの特徴およびエッジベースの特徴が前に選択されている場合、方法400の一部はルーティン297によって実行することができる。
ステップ405および430で、点ベースの特徴およびエッジベースの特徴を使用して、現在の画像と、モデル上の既存の特徴を比較することによって、特徴対応を決定することができる。たとえば、点トラッカおよびエッジトラッカは、対応を決定するために、画像上で動作することができる。
次に、ステップ410で、式(1)を使用してヤコビアンを計算することができる。ステップ415で、2つの線形制約を点ごとに取得することができ、ステップ440で、上記の式(4)によって与えられた、1つの線形制約を線ごとに取得することができる。
したがって、発見された対応umにすべての投影upをもたらす姿勢更新のためのソリューションは、上記の式(3)、(6)、および以下の式(7)を使用して、十分な点対応および線対応で取得することができる。
pHpLHL)Δθ=λpbpLbL(7)
上式で、λp=1であり、またλLはそれぞれ点および線に割り当てられた重みである。式(3)、(6)、および(7)は、姿勢更新を計算するために使用することができる。
いくつかの実施形態では、上述の方法は、ターゲットへのしきい値の適応を容易にし、結果的に開示された方法の実行時間を最適化し、特徴トラッカの安定性を高める。
本明細書で開示される実施形態は、3Dターゲットを含む様々なターゲットの正確で堅牢な追跡を容易にし、6-DoFでの追跡を可能にする。開示された実施形態は、予期しないフレーム間の動き、変化する照明、および外観の変化の存在下での正確な追跡を容易にし、それによって追跡の堅牢性を向上させる。本明細書で説明する方法は、用途に応じて様々な手段によって実装することができる。たとえば、ファームウェアおよび/またはソフトウェア実装形態の場合、これらの方法は、本明細書で説明する機能を実行するモジュール(たとえば、手順、機能など)で実施することができる。命令を有形に具現化するいずれの機械可読媒体も、本明細書で説明する方法を実施する際に使用することができる。たとえば、ソフトウェアコードはメモリに記憶され、プロセッサユニットにより実行することができる。いくつかの実施形態では、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶することができる。これらの例には、データ構造により符号化されたコンピュータ可読媒体およびコンピュータプログラムにより符号化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。
記憶媒体は、コンピュータによってアクセスすることができる任意の使用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で記憶するために使用されコンピュータによってアクセスすることができる任意の他の媒体を備えることができ、本明細書で使用する場合、ディスク(disk)およびディスク(disc)には、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
コンピュータ可読媒体におけるストレージに加えて、命令および/またはデータは、通信装置に含まれる伝送媒体における信号として提供することができる。たとえば、通信装置は、命令およびデータを示す信号を有する送信機を含むことができる。命令およびデータは、1つまたは複数のプロセッサに、特許請求の範囲において概説される機能を実装させるように構成されている。すなわち、通信装置は、開示される機能を実行するための情報を示す信号を有する送信媒体を含む。最初は、通信装置に含まれる送信媒体は、開示された機能を実行するための情報の第1の部分を含むことができ、2度目は、通信装置に含まれる送信媒体は、開示された機能を実行するための情報の第2の部分を含むことができる。
次に、開示された実施形態と一致する方法で、点特徴と線特徴とを使用する堅牢な特徴ベースの追跡を容易にするために使用可能な、コンピューティングデバイス500を示す概略ブロック図である、図5を参照する。いくつかの実施形態では、コンピューティングデバイス500は、サーバの形態をとることができる。いくつかの実施形態では、コンピューティングデバイス500は、たとえば、1つまたは複数の処理ユニット552、メモリ554、ストレージ560、および(該当する場合には)1つまたは複数の接続556(たとえば、バス、ライン、ファイバ、リンク等)に動作可能に結合することができる通信インターフェース590(たとえば、ワイヤラインまたはワイヤレスネットワークインターフェース)を含むことができる。特定の例示的な実装形態では、コンピューティングデバイス500のいくつかの部分は、チップセット、および/または同等物の形態をとることができる。いくつかの実施形態では、コンピューティングデバイス500は、WWAN、WLAN、またはWPANのうちの1つでよい、ワイヤレスネットワーク(図示せず)を介して1つまたは複数のUD100にワイヤレスに結合することができる。
いくつかの実施形態では、コンピューティングデバイス500は、方法200、275、300、320、400、425、および/または450の一部を実行することができる。いくつかの実施形態では、上記の方法は、処理ユニット552および/またはコンピュータビジョン(CV)モジュール566によって実行することができる。たとえば、上記の方法は、コンピューティングデバイス500上の1つまたは複数の機能ユニットとともに、ならびに/あるいはUD100とともに、処理ユニット552および/またはCVモジュール566によって全体的または部分的に実行することができる。たとえば、コンピューティングデバイス500は、UD100からキャプチャされた画像のシーケンスを受信することができ、また、方法200、275、300、320、400、425、および/または450のうちの1つまたは複数の一部を、メモリ554に記憶された環境のモデルを使用するCVモジュール566を使用して全体的または部分的に実行することができる。
通信インターフェース590は、ワイヤード送信および/または受信をサポートし、望まれる場合には、それに加えてまたはその代わりに、1つまたは複数のタイプのワイヤレス通信ネットワークを介する1つまたは複数の信号の送信および受信をサポートすることができる、様々なワイヤード接続およびワイヤレス接続を含むことができる。通信インターフェース590は、UD100ならびに/または様々な他のコンピュータおよび周辺機器と通信するためのインターフェースを含むことができる。たとえば、一実施形態では、通信インターフェース590は、ネットワークインターフェースカード、入力-出力カード、コンピューティングデバイス500によって実行される通信機能のうちの1つまたは複数を実装するチップおよび/またはASICを備えることができる。いくつかの実施形態では、通信インターフェース590はまた、環境についての3Dモデル情報を送信する、ならびに/あるいは方法200、275、300、320、400、425、および/または450に関連する画像、データ、および/または命令を受信するために、UD100とインターフェースすることができる。
処理ユニット552は、要求された計算を実行するために、ならびに/あるいは要求された情報および/または結果を通信インターフェース590を介してUD100に送信するために、受信された情報のうちのいくつかまたはすべてを使用することができる。いくつかの実施形態では、処理ユニット552を、ハードウェア、ファームウェア、およびソフトウェアの組合せを使用して実装することができる。いくつかの実施形態では、処理ユニット552は、環境の3Dモデルを生成および/または処理して、3D再構築を実行して、方法200、275、300、320、400、425、および/または450などの様々なコンピュータビジョン方法を実装および実行することができるCVモジュール566を含むことができる。いくつかの実施形態では、処理ユニット552は、データ信号計算手順、またはコンピューティングデバイス500の動作に関連する処理の少なくとも一部を実行するように構成可能な1つまたは複数の回路を表すことができる。
たとえば、CVモジュール566は、開示された実施形態と一致する方法でUD100から受信された1つまたは複数の画像フレームを処理することによって点特徴と線特徴との組合せを使用して、特徴ベースの追跡を実装することができる。いくつかの実施形態では、CVモジュール566は、画像分析、モデル作成、特徴抽出、ターゲット追跡、特徴対応、点特徴と線特徴の両方を使用するカメラ姿勢決定、および/または受信された画像に基づく環境の3D再構築のうちの1つまたは複数を実行することができる。いくつかの実施形態では、上記の方法のうちの1つまたは複数は、様々なARアプリケーションの実行の過程において呼び出すことができる。
本明細書で流れ図またはメッセージフローで説明される方法を、応用例に応じて様々な手段によって実施することができる。たとえば、これらの方法を、ハードウェア、ファームウェア、ソフトウェア、またはその任意の組合せで実施することができる。ハードウェア実装形態の場合、処理ユニット552は、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明する機能を実行するように設計された他の電子ユニット、あるいはそれらの組合せ内で実装されてもよい。
ファームウェアおよび/またはソフトウェア実装形態のために、本方法は、本明細書で説明した機能を実行するモジュール(たとえば、手順、機能など)で実装することができる。本明細書で説明する方法を実施する際に、命令を明白に具体化する任意の機械可読媒体を使用してよい。たとえば、ソフトウェアを、リムーバブルメディアドライブ570内に記憶することができ、リムーバブルメディアドライブ570は、リムーバブルメディアを含む非一時的コンピュータ可読媒体558の使用をサポートすることができる。プログラムコードは、非一時的コンピュータ可読媒体558またはメモリ554に存在することができ、処理ユニット552によって読み取られ、実行することができる。メモリは、処理ユニット552内に実装されてもよく、処理ユニット552の外部に実装されてもよい。本明細書で使用されるときに、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、または他のメモリを指し、どの特定のタイプのメモリまたはメモリの個数にも、メモリが記憶される媒体のタイプにも限定されない。
ファームウェアおよび/またはソフトウェアで実施される場合、諸機能を、非一時的コンピュータ可読媒体558および/またはメモリ554上の1つまたは複数の命令またはコードとして記憶することができる。例は、データ構造で符号化されたコンピュータ可読媒体、およびコンピュータプログラムで符号化されたコンピュータ可読媒体を含む。たとえば、プログラムコードを記憶した非一時的コンピュータ可読媒体558は、開示された実施形態と一致する方法で堅牢な特徴ベースの追跡を容易にするためのプログラムコードを含むことができる。
非一時的コンピュータ可読媒体は、様々な物理コンピュータ記憶媒体を含むことができる。記憶媒体は、コンピュータによってアクセスできる任意の入手可能な媒体とすることができる。限定ではなく、一例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で記憶するために使用することができ、またコンピュータからアクセスすることのできる任意の他の媒体を備えてよく、本明細書で使用するディスク(diskおよびdisc)には、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクが含まれ、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)はデータをレーザによって光学的に再生する。非一時的コンピュータ可読媒体の他の実施形態は、フラッシュドライブ、USBドライブ、ソリッドステートドライブ、メモリカードなどを含む。上記の組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
コンピュータ可読媒体上のストレージに加えて、命令および/またはデータを伝送媒体上の信号として通信インターフェース590に供給することができ、通信インターフェース590は、命令/データをメモリ554、ストレージ560に記憶し、ならびに/あるいは命令/データを実行のために処理ユニット552に中継することができる。たとえば、通信インターフェース590は、命令およびデータを示すワイヤレス信号またはネットワーク信号を受信することができる。命令およびデータは、1つまたは複数のプロセッサに、特許請求の範囲において概説される機能を実装させるように構成されている。すなわち、通信装置は、開示される機能を実行するための情報を示す信号を有する送信媒体を含む。
メモリ554は、任意のデータ記憶機構を代表するものであってよい。たとえば、メモリ554は1次メモリおよび/または2次メモリを含むことができる。1次メモリは、たとえば、ランダムアクセスメモリ、読取り専用メモリ、不揮発性RAMなどを含むことができる。この例では処理ユニット552とは別個のものとして示されているが、1次メモリのすべてまたは一部が処理ユニット552内に設けられるか、あるいは処理ユニット552と一緒に配置する/結合することができることを理解されたい。2次メモリは、たとえば、1次メモリおよび/または、たとえばハードディスク(disk)ドライブ、光ディスク(disc)ドライブ、テープドライブ、ソリッドステートメモリドライブなどを含む1つまたは複数のデータストレージデバイス560などのストレージ560と同じまたは同様のタイプのメモリを含むことができる。
いくつかの実施形態では、ストレージ560は、記憶されたモデル、キーフレーム、仮想オブジェクトに関連する情報等に関連付けられる、3Dモデル、画像、データベースおよび/または表を含む、環境に関連する情報を保持することができる1つまたは複数のデータベースを備えることができる。いくつかの実施形態では、データベース内の情報は、様々な計算の間に、処理ユニット552および/またはCVモジュール566によって、読み出す、使用する、および/または更新することができる。
いくつかの実装形態では、2次メモリは、非一時的コンピュータ可読媒体558を動作可能に受容するか、または場合によってはそれに結合するように構成することができる。したがって、ある例示的な実装形態では、本明細書に提示された方法および/または装置は、少なくとも1つの処理ユニット552によって実行されると、本明細書で説明された例示的動作のすべてまたは一部を実行するように動作可能に有効になり得る、記憶したコンピュータ実施可能命令を含むことができる非一時的コンピュータ可読媒体558を使用して全体的または部分的に実装することができる。いくつかの実施形態では、コンピュータ可読媒体558を、リムーバブルメディアドライブ570を使用して読み取ることができ、および/またはメモリ554の一部を形成することができる。
図6は、開示された実施形態と一致する方法で、点特徴と線特徴との組合せに基づいて特徴追跡するための例示的な方法600の流れ図を示している。
いくつかの実施形態では、ステップ610で、ターゲットオブジェクトを備える現在のカメラがキャプチャした画像についてのスコアを計算することができる。スコアは、カメラによってキャプチャされた現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づくことができ、比較は現在の画像の推定されたカメラ姿勢に基づくことができる。いくつかの実施形態では、現在の画像の推定されたカメラ姿勢は、前の画像について取得された前のカメラ姿勢と、現在の画像内のターゲットオブジェクトの推定された位置とに少なくとも部分的に基づいて取得することができる。1つまたは複数のメトリクスは、現在の画像と前の画像との間の特徴照合の数、現在の画像と前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、現在の画像と前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備えることができる。
次に、ステップ620で、点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有するスコアと、少なくとも1つの線しきい値を有するスコアとの比較に少なくとも部分的に基づいて選択することができ、少なくとも1つの点しきい値と少なくとも1つの線しきい値とは、ターゲットオブジェクトのモデルから取得される。いくつかの実施形態では、少なくとも1つの点しきい値は、点ベースの特徴追跡のモデルの適合性の指標を提供することができ、少なくとも1つの線しきい値は、線ベースの特徴追跡のモデルの適合性の指標を提供することができる。
いくつかの実施形態では、現在の画像と少なくとも1つのモデル画像との間の特徴対応は、選択された特徴対応方法を使用して決定することができ、モデル画像は、推定されたカメラ姿勢に基づいて選択することができる。次いで、推定されたカメラ姿勢は、重み付き最小2乗近似を使用することによって、現在の画像と少なくとも1つのモデル画像との間で取得された特徴対応に基づいて精製することができる。
いくつかの実施形態では、ターゲットオブジェクトのモデルは、ターゲットオブジェクトの複数の記憶された画像を備えることができる。いくつかの実施形態では、ターゲットオブジェクトの記憶された各画像は複数の画像サブディビジョンを備えることができ、各画像サブディビジョンは、点特徴のカウントと、エッジ特徴のカウントとに関連付けることができる。さらに、少なくとも1つの点しきい値と、少なくとも1つの線しきい値とは、モデルの可視領域から、可視領域内の各画像サブディビジョンに関連付けられる点特徴のカウントと、エッジ特徴のカウントとに少なくとも部分的に基づいて取得することができ、モデルの可視領域は、現在の画像に対応する。いくつかの実施形態では、各画像サブディビジョンは、モデル内の各画像を複数のグリッドにサブディビジョンすることによって取得されたグリッドの形態をとることができる。
ターゲットオブジェクトのモデルがターゲットオブジェクトの複数の記憶された画像を備える実施形態では、それぞれが複数の画像サブディビジョンを有し、1つまたは複数のメトリクスは、現在の画像と前の画像との間の点照合の空間分布の均一性にさらに基づくことができる。
開示された態様の前の説明は、任意の当業者が、本開示を作成または使用することを可能にするために提供されている。これらの態様への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本開示の趣旨または範囲から逸脱することなしに他の態様に適用することができる。
100 ユーザデバイス
110 カメラあるいは画像センサ
120 接続
130 センサバンク
140 スクリーンまたはディスプレイ
150 プロセッサ
155 CVモジュール
160 メモリ
170 送信機
200 方法
275 方法
300 方法
320 方法
400 方法
450 方法
500 コンピューティングデバイス
552 処理ユニット
554 メモリ
556 接続
558 非一時的コンピュータ可読媒体
560 ストレージデバイス
570 リムーバブルメディアドライブ
566 コンピュータビジョン(CV)モジュール
590 通信インターフェース

Claims (30)

  1. ターゲットオブジェクトを備えるカメラがキャプチャした現在の画像のスコアを計算するステップであって、前記スコアが、前記カメラによってキャプチャされた前記現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、前記比較が、前記現在の画像の推定されたカメラ姿勢に基づくステップと、
    点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有する前記スコアと少なくとも1つの線しきい値とを有する前記スコアとの比較に少なくとも部分的に基づいて選択するステップであって、前記少なくとも1つの点しきい値と前記少なくとも1つの線しきい値とが、前記ターゲットオブジェクトのモデルから取得されるステップと
    を備える、オブジェクト追跡の方法。
  2. 前記1つまたは複数のメトリクスが、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備える、請求項1に記載の方法。
  3. 前記ターゲットオブジェクトの前記モデルが、前記ターゲットオブジェクトの複数の記憶された画像を備える、請求項1に記載の方法。
  4. 前記現在の画像と少なくとも1つのモデル画像との間の特徴対応を、前記選択された特徴対応方法を使用して決定するステップであって、前記モデル画像が、前記推定されたカメラ姿勢に基づいて選択されているステップと、
    前記推定されたカメラ姿勢を、重み付き最小2乗近似を使用することによって、前記現在の画像と前記少なくとも1つのモデル画像との間で取得された前記特徴対応に基づいて精製するステップと
    をさらに備える、請求項3に記載の方法。
  5. 前記ターゲットオブジェクトの記憶された各画像が複数の画像サブディビジョンを備え、各画像サブディビジョンが、点特徴のカウントと、エッジ特徴のカウントとに関連付けられており、
    前記少なくとも1つの点しきい値と、前記少なくとも1つの線しきい値とが、前記モデルの可視領域から、前記可視領域内の各画像サブディビジョンに関連付けられる点特徴の前記カウントと、エッジ特徴の前記カウントとに少なくとも部分的に基づいて取得されるようにさらに構成され、前記モデルの前記可視領域が、前記現在の画像に対応する、請求項3に記載の方法。
  6. 前記各画像サブディビジョンが、前記モデル内の各画像を複数のグリッドにサブディビジョンすることによって取得されたグリッドである、請求項5に記載の方法。
  7. 前記1つまたは複数のメトリクスが、
    前記現在の画像と前記前の画像との間の点照合の空間分布の均一性、
    前記現在の画像と前記前の画像との間の良好な照合の数、
    前記現在の画像と前記前の画像との間の不良な照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備える、請求項5に記載の方法。
  8. 前記現在の画像の前記推定されたカメラ姿勢が、前記前の画像について取得された前のカメラ姿勢と、前記現在の画像内の前記ターゲットオブジェクトの推定された位置とに少なくとも部分的に基づいて取得される、請求項1に記載の方法。
  9. 前記少なくとも1つの点しきい値が、点ベースの特徴追跡の前記モデルの適合性の指標を提供し、
    前記少なくとも1つの線しきい値が、線ベースの特徴追跡の前記モデルの適合性の指標を提供する、請求項1に記載の方法。
  10. ターゲットオブジェクトを備える複数の画像をキャプチャするように構成されたカメラと、
    前記ターゲットオブジェクトのモデルを記憶するように構成されたメモリと、
    前記カメラと前記メモリとに結合されたプロセッサであって、
    前記カメラによってキャプチャされた現在の画像のスコアを計算して、前記スコアが、前記カメラによってキャプチャされた前記現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、前記比較が、前記現在の画像の推定されたカメラ姿勢に基づき、
    点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有する前記スコアと少なくとも1つの線しきい値とを有する前記スコアとの比較に少なくとも部分的に基づいて選択して、前記少なくとも1つの点しきい値と前記少なくとも1つの線しきい値とが、前記ターゲットオブジェクトの前記モデルから取得されるように構成されたプロセッサと備える、ユーザデバイス(UD)。
  11. 前記1つまたは複数のメトリクスが、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備える、請求項10に記載のUD。
  12. 前記ターゲットオブジェクトの前記モデルが、前記ターゲットオブジェクトの複数の記憶された画像を備える、請求項10に記載のUD。
  13. 前記プロセッサが、
    前記現在の画像と少なくとも1つのモデル画像との間の特徴対応を、前記選択された特徴対応方法を使用して決定して、前記モデル画像が、前記推定されたカメラ姿勢に基づいて選択されており、
    前記推定された現在のカメラ姿勢を、重み付き最小2乗近似を使用することによって、前記現在の画像と前記少なくとも1つのモデル画像との間で取得された前記特徴対応に基づいて精製する
    ようにさらに構成される、請求項12に記載のUD。
  14. 前記ターゲットオブジェクトの前記複数の記憶された画像の各々が、複数の画像サブディビジョンを備え、各画像サブディビジョンが、点特徴のカウントと、エッジ特徴のカウントとに関連付けられており、
    前記プロセッサが、
    前記モデルの可視領域から、前記可視領域内の各画像サブディビジョンに関連付けられる点特徴の前記カウントと、エッジ特徴の前記カウントとに少なくとも部分的に基づいて、前記少なくとも1つの点しきい値と、前記少なくとも1つの線しきい値とを取得するようにさらに構成され、前記モデルの前記可視領域が、前記現在の画像に対応する、請求項12に記載のUD。
  15. 前記各画像サブディビジョンが、前記モデル内の各画像を複数のグリッドにサブディビジョンすることによって取得されたグリッドである、請求項14に記載のUD。
  16. メトリクスが、
    前記現在の画像と前記前の画像との間の特徴点照合の空間分布の均一性、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアを備える、請求項14に記載のUD。
  17. 前記プロセッサが、
    前記現在の画像の前記推定されたカメラ姿勢を、前記前の画像について取得された前のカメラ姿勢と、前記現在の画像内の前記ターゲットオブジェクトの推定された位置とに少なくとも部分的に基づいて決定するようにさらに構成される、請求項10に記載のUD。
  18. 前記少なくとも1つの点しきい値が、点ベースの特徴追跡の前記モデルの適合性の指標を提供し、
    前記少なくとも1つの線しきい値が、エッジベースの特徴追跡の前記モデルの適合性の指標を提供する、請求項10に記載のUD。
  19. ターゲットオブジェクトを備える複数の画像をキャプチャするための撮像手段と、
    前記ターゲットオブジェクトのモデルを記憶するための記憶手段であって、前記撮像手段に結合された前記記憶手段と、
    前記撮像手段によってキャプチャされた現在の画像のスコアを計算するための手段であって、前記スコアが、前記撮像手段によってキャプチャされた前記現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、前記比較が、前記現在の画像の推定された撮像手段姿勢に基づく手段と、
    点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有する前記スコアと少なくとも1つの線しきい値とを有する前記スコアとの比較に少なくとも部分的に基づいて選択する手段であって、前記少なくとも1つの点しきい値と前記少なくとも1つの線しきい値とが、前記記憶された前記ターゲットオブジェクトのモデルから取得される手段と
    を備える、装置。
  20. 前記1つまたは複数のメトリクスが、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備える、請求項19に記載の装置。
  21. 前記ターゲットオブジェクトの前記モデルが、前記ターゲットオブジェクトの複数の画像を備える、請求項19に記載の装置。
  22. 前記現在の画像と少なくとも1つのモデル画像との間の特徴対応を、前記選択された特徴対応方法を使用して決定するための手段であって、前記モデル画像が、前記現在のカメラ姿勢に基づいて選択されている手段と、
    前記推定された現在の撮像手段姿勢を、重み付き最小2乗近似を使用することによって、前記現在の画像と前記少なくとも1つのモデル画像との間で取得された前記特徴対応に基づいて精製するための手段と
    をさらに備える、請求項21に記載の装置。
  23. 前記ターゲットオブジェクトの前記複数の画像の各々が、複数の画像サブディビジョンを備え、各画像サブディビジョンが、点特徴のカウントと、エッジ特徴のカウントとに関連付けられており、
    前記装置が、
    前記モデルの可視領域から、前記可視領域内の各画像サブディビジョンに関連付けられる点特徴の前記カウントと、エッジ特徴の前記カウントとに少なくとも部分的に基づいて、前記少なくとも1つの点しきい値と、前記少なくとも1つの線しきい値とを取得するための手段をさらに備え、前記モデルの前記可視領域が、前記現在の画像に対応する、請求項21に記載の装置。
  24. メトリクスが、
    前記現在の画像と前記前の画像との間の特徴点照合の空間分布の均一性、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアを備える、請求項23に記載の装置。
  25. プロセッサによって実行されたとき、
    ターゲットオブジェクトを備えるカメラがキャプチャした現在の画像のスコアを計算するステップであって、前記スコアが、前記カメラによってキャプチャされた前記現在の画像と前の画像とにおける特徴の比較から決定された1つまたは複数のメトリクスに少なくとも部分的に基づき、前記比較が、前記現在の画像の推定されたカメラ姿勢に基づくステップと、
    点ベースの特徴対応方法、エッジベースの特徴対応方法、または点ベースの特徴対応方法とエッジベースの特徴対応方法との組合せのうちの1つを、少なくとも1つの点しきい値を有する前記スコアと少なくとも1つの線しきい値とを有する前記スコアとの比較に少なくとも部分的に基づいて選択するステップであって、前記少なくとも1つの点しきい値と前記少なくとも1つの線しきい値とが、前記ターゲットオブジェクトのモデルから取得されるステップと
    を備える方法におけるステップを実行する命令を備える、非一時的コンピュータ可読記憶媒体。
  26. メトリクスが、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の特徴点照合の平均正規化相互相関(NCC)スコアのうちの少なくとも1つを備える、請求項25に記載のコンピュータ可読記憶媒体。
  27. 前記ターゲットオブジェクトの前記モデルが、前記ターゲットオブジェクトの複数の記憶された画像を備える、請求項25に記載のコンピュータ可読記憶媒体。
  28. 前記現在の画像と少なくとも1つのモデル画像との間の特徴対応を、前記選択された特徴対応方法を使用して決定するステップであって、前記モデル画像が、前記推定されたカメラ姿勢に基づいて選択されているステップと、
    前記推定されたカメラ姿勢を、重み付き最小2乗近似を使用することによって、前記現在の画像と前記少なくとも1つのモデル画像との間で取得された前記特徴対応に基づいて精製するステップと
    をさらに備える、請求項27に記載のコンピュータ可読記憶媒体。
  29. それぞれの記憶された画像が複数の画像サブディビジョンを備え、各画像サブディビジョンが、点特徴のカウントと、エッジ特徴のカウントとに関連付けられており、
    前記少なくとも1つの点しきい値と、前記少なくとも1つの線しきい値とが、前記モデルの可視領域から、前記可視領域内の各画像サブディビジョンに関連付けられる点特徴の前記カウントと、エッジ特徴の前記カウントとに少なくとも部分的に基づいて取得され、前記モデルの前記可視領域が、前記現在の画像に対応する、請求項27に記載のコンピュータ可読記憶媒体。
  30. 前記1つまたは複数のメトリクスが、
    前記現在の画像と前記前の画像との間の点照合の空間分布の均一性、
    前記現在の画像と前記前の画像との間の特徴照合の数、
    前記現在の画像と前記前の画像との間の特徴照合の予想される数に対する特徴照合の割合、あるいは、
    前記現在の画像と前記前の画像との間の点照合の平均正規化相互相関(NCC)スコアを備える、請求項29に記載のコンピュータ可読記憶媒体。
JP2016519514A 2013-06-14 2014-05-16 点特徴と線特徴とを使用する堅牢な追跡 Active JP6125100B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361835402P 2013-06-14 2013-06-14
US61/835,402 2013-06-14
US14/278,928 2014-05-15
US14/278,928 US9406137B2 (en) 2013-06-14 2014-05-15 Robust tracking using point and line features
PCT/US2014/038461 WO2014200665A1 (en) 2013-06-14 2014-05-16 Robust tracking using point and line features

Publications (3)

Publication Number Publication Date
JP2016521885A JP2016521885A (ja) 2016-07-25
JP2016521885A5 JP2016521885A5 (ja) 2016-12-15
JP6125100B2 true JP6125100B2 (ja) 2017-05-10

Family

ID=52018894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016519514A Active JP6125100B2 (ja) 2013-06-14 2014-05-16 点特徴と線特徴とを使用する堅牢な追跡

Country Status (6)

Country Link
US (1) US9406137B2 (ja)
EP (1) EP3008695B1 (ja)
JP (1) JP6125100B2 (ja)
KR (1) KR101722654B1 (ja)
CN (1) CN105283905B (ja)
WO (1) WO2014200665A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135646B2 (en) * 2013-10-09 2015-09-15 Ricoh Company, Ltd. Associating advertising content with a channel
US20170140549A1 (en) * 2014-07-03 2017-05-18 Amiad Gurman Method of perceiving 3d structure from a pair of images
JP6723798B2 (ja) * 2015-05-20 2020-07-15 キヤノン株式会社 情報処理装置、方法、プログラム
US10282591B2 (en) * 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
US9849591B2 (en) * 2015-10-02 2017-12-26 X Development Llc Localization of a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment
US10260862B2 (en) * 2015-11-02 2019-04-16 Mitsubishi Electric Research Laboratories, Inc. Pose estimation using sensors
US10217231B2 (en) * 2016-05-31 2019-02-26 Microsoft Technology Licensing, Llc Systems and methods for utilizing anchor graphs in mixed reality environments
US10290111B2 (en) * 2016-07-26 2019-05-14 Qualcomm Incorporated Systems and methods for compositing images
JP2018036901A (ja) * 2016-08-31 2018-03-08 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
WO2018144929A1 (en) * 2017-02-02 2018-08-09 Infatics, Inc. (DBA DroneDeploy) System and methods for improved aerial mapping with aerial vehicles
US11048325B2 (en) 2017-07-10 2021-06-29 Samsung Electronics Co., Ltd. Wearable augmented reality head mounted display device for phone content display and health monitoring
CN108021921A (zh) * 2017-11-23 2018-05-11 塔普翊海(上海)智能科技有限公司 图像特征点提取系统及其应用
IL274976B2 (en) 2017-12-15 2024-05-01 Magic Leap Inc Improved positioning for a display device
US10997744B2 (en) * 2018-04-03 2021-05-04 Korea Advanced Institute Of Science And Technology Localization method and system for augmented reality in mobile devices
US10964053B2 (en) * 2018-07-02 2021-03-30 Microsoft Technology Licensing, Llc Device pose estimation using 3D line clouds
CN109059941B (zh) * 2018-07-06 2019-11-29 禾多科技(北京)有限公司 特征地图构建方法、视觉定位方法及对应装置
US10848664B2 (en) * 2018-07-26 2020-11-24 Sony Corporation Image capture device and method for image score-based video quality enhancement
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
WO2020036898A1 (en) 2018-08-13 2020-02-20 Magic Leap, Inc. A cross reality system
CN108709560A (zh) * 2018-08-15 2018-10-26 苏州中研讯科智能科技有限公司 基于直线段特征的载运机器人高精度定位导航方法
US11232635B2 (en) 2018-10-05 2022-01-25 Magic Leap, Inc. Rendering location specific virtual content in any location
US10839556B2 (en) 2018-10-23 2020-11-17 Microsoft Technology Licensing, Llc Camera pose estimation using obfuscated features
CN109712170B (zh) * 2018-12-27 2021-09-07 广东省智能制造研究所 基于视觉惯性里程计的环境对象追踪方法和装置
CN114616534A (zh) 2019-10-15 2022-06-10 奇跃公司 具有无线指纹的交叉现实系统
US11568605B2 (en) 2019-10-15 2023-01-31 Magic Leap, Inc. Cross reality system with localization service
WO2021096931A1 (en) 2019-11-12 2021-05-20 Magic Leap, Inc. Cross reality system with localization service and shared location-based content
US11562542B2 (en) 2019-12-09 2023-01-24 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
WO2021163300A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
JP2023514205A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 正確な共有マップを伴うクロスリアリティシステム
WO2021163295A1 (en) * 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
CN115461787A (zh) 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实系统
JP2023524446A (ja) 2020-04-29 2023-06-12 マジック リープ, インコーポレイテッド 大規模環境のためのクロスリアリティシステム
KR20230098944A (ko) * 2021-12-27 2023-07-04 주식회사 버넥트 모바일 환경에서 실시간 트래킹을 위한 키포인트 선택 방법
CN115690205B (zh) * 2022-10-09 2023-12-05 北京自动化控制设备研究所 基于点线综合特征的视觉相对位姿测量误差估计方法
CN116436543B (zh) * 2023-06-14 2023-08-25 四川恒湾科技有限公司 一种基于fdd系统中多失真源的无源交调校正方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3800905B2 (ja) * 1999-07-27 2006-07-26 松下電工株式会社 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法
JP2001076151A (ja) * 1999-09-08 2001-03-23 Denso Corp 画像情報に含まれる認識対象物の認識方法
AU2001250802A1 (en) 2000-03-07 2001-09-17 Sarnoff Corporation Camera pose estimation
US20030012410A1 (en) * 2001-07-10 2003-01-16 Nassir Navab Tracking and pose estimation for augmented reality using real features
EP1567988A1 (en) 2002-10-15 2005-08-31 University Of Southern California Augmented virtual environments
US7764808B2 (en) * 2003-03-24 2010-07-27 Siemens Corporation System and method for vehicle detection and tracking
US7616807B2 (en) 2005-02-24 2009-11-10 Siemens Corporate Research, Inc. System and method for using texture landmarks for improved markerless tracking in augmented reality applications
CN101401127B (zh) * 2006-03-23 2011-04-13 Nds有限公司 用于运动分析的系统
NO327279B1 (no) 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
JP4956375B2 (ja) 2007-10-30 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
JP2011043863A (ja) * 2007-11-16 2011-03-03 Nec Corp 対象領域判定・追跡装置、方法、プログラム及び対象領域判定装置
JP5253066B2 (ja) 2008-09-24 2013-07-31 キヤノン株式会社 位置姿勢計測装置及び方法
US8442305B2 (en) * 2009-06-30 2013-05-14 Mitsubishi Electric Research Laboratories, Inc. Method for determining 3D poses using points and lines
FR2951565B1 (fr) 2009-10-20 2016-01-01 Total Immersion Procede, programme d'ordinateur et dispositif de suivi hybride de representations d'objets, en temps reel, dans une sequence d'images
US9317133B2 (en) 2010-10-08 2016-04-19 Nokia Technologies Oy Method and apparatus for generating augmented reality content
US20120092329A1 (en) 2010-10-13 2012-04-19 Qualcomm Incorporated Text-based 3d augmented reality
CN102184550B (zh) * 2011-05-04 2013-02-13 华中科技大学 一种动平台地面运动目标检测方法

Also Published As

Publication number Publication date
WO2014200665A1 (en) 2014-12-18
US9406137B2 (en) 2016-08-02
EP3008695B1 (en) 2018-05-09
US20140368645A1 (en) 2014-12-18
KR101722654B1 (ko) 2017-04-03
EP3008695A1 (en) 2016-04-20
CN105283905A (zh) 2016-01-27
KR20160019512A (ko) 2016-02-19
JP2016521885A (ja) 2016-07-25
CN105283905B (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
JP6125100B2 (ja) 点特徴と線特徴とを使用する堅牢な追跡
JP6348574B2 (ja) 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam
JP6258953B2 (ja) 単眼視覚slamのための高速初期化
JP6189483B2 (ja) 電力効率の良い深度センサーの使用によるリアルタイム3d再構成
US9667873B2 (en) Methods for facilitating computer vision application initialization
EP2992508B1 (en) Diminished and mediated reality effects from reconstruction
US20140369557A1 (en) Systems and Methods for Feature-Based Tracking
KR102169492B1 (ko) 평면의 자연스러운 특성 타겟들의 인시츄 생성
US9747516B2 (en) Keypoint detection with trackability measurements
KR102450236B1 (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
US20240046583A1 (en) Real-time photorealistic view rendering on augmented reality (ar) device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170404

R150 Certificate of patent or registration of utility model

Ref document number: 6125100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250