(57)【特許請求の範囲】
【請求項１】
プロセッサが実行する方法であって、
モバイルプラットフォームを用いてセンサデータを獲得することと、ここで、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングすることと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定することと、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータをサーバに送信することと、
前記センサデータに関連する情報を前記サーバから受信することと、
前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得することと、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記オブジェクトをトラッキングすることと、
を備え、
ここで、前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記ポーズを取得することは、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記サーバから受信することを備える、
方法。
【請求項２】
前記オブジェクトをトラッキングすることは、前記サーバから受信された前記オブジェクトの基準画像を用いることをさらに含む、請求項１に記載の方法。
【請求項３】
前記センサデータを前記サーバに送信する前に前記キャプチャ画像の品質を決定することをさらに備え、前記センサデータは、前記キャプチャ画像の前記品質が閾値よりも良い場合にのみ、前記サーバに送信される、ここで、前記キャプチャ画像の前記品質を決定することは、前記キャプチャ画像の鮮明度を分析することと、前記キャプチャ画像内の検出されたコーナの数を分析することと、学習分類子とともに前記画像から得られた統計値を使用することと、のうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項４】
前記サーバから受信された前記センサデータに関連する前記情報に基づいて、前記オブジェクトに対して拡張データをレンダリングすることをさらに備える、請求項１に記載の方法。
【請求項５】
前記センサデータに関連する前記情報は、前記オブジェクトの識別をさらに備える、請求項１に記載の方法。
【請求項６】
前記キャプチャ画像は、複数のオブジェクトを備え、前記センサデータに関連する前記情報は、前記複数のオブジェクトの識別を備える、請求項１に記載の方法。
【請求項７】
前記モバイルプラットフォームについて前記複数のオブジェクトの各々に関するポーズを取得することと、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記複数のオブジェクトの各々をトラッキングすることと
をさらに備える、請求項６に記載の方法。
【請求項８】
前記第１のポーズが前記サーバから受信されるまで前記オブジェクトの基準フリートラッキングを実行することをさらに備える、請求項１に記載の方法。
【請求項９】
前記第１のポーズが前記サーバから受信されたとき、前記オブジェクトの第２のキャプチャ画像を獲得することと、
漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングすることと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記漸次的な変化および前記第１のポーズを使用することと
をさらに備える、請求項１に記載の方法。
【請求項１０】
前記オブジェクトの第２のキャプチャ画像を獲得することと、
前記基準画像を用いて、前記第２のキャプチャ画像内の前記オブジェクトを検出することと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記基準画像および前記第２のキャプチャ画像で検出された前記オブジェクトを使用することと、
前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記センサデータに関連する前記情報は、前記オブジェクトの二次元（２Ｄ）モデル、前記オブジェクトの三次元（３Ｄ）モデル、拡張情報、前記オブジェクトについての顕著性情報、および、オブジェクトマッチングに関連する情報のうちの少なくとも１つをさらに備える、請求項１に記載の方法。
【請求項１２】
前記トリガイベントが存在するか否かを判定することは、以前のキャプチャ画像と比べて前記キャプチャ画像におけるシーン変化が存在するか否かを判定することを備える、請求項１に記載の方法。
【請求項１３】
前記シーン変化が存在するか否かを判定することは、
前記キャプチャ画像および前記以前のキャプチャ画像を用いて第１の変化メトリックを決定することと、
以前のトリガイベントから第２の以前のキャプチャ画像と前記キャプチャ画像とを用いて第２の変化メトリックを決定することと、
前記キャプチャ画像についてのヒストグラム変化メトリックを生成することと、
前記シーン変化を判定するために、前記第１の変化メトリック、前記第２の変化メトリック、および前記ヒストグラム変化メトリックを使用することと
を備える、請求項１２に記載の方法。
【請求項１４】
プロセッサが実行する方法であって、
モバイルプラットフォームを用いてセンサデータを獲得することと、ここで、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングすることと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定することと、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータをサーバに送信することと、
前記センサデータに関連する情報を前記サーバから受信することと、
を備え、
ここで、前記センサデータに関連する前記情報は、オブジェクト識別を備え、前記方法は、さらに、
前記オブジェクトの追加のキャプチャ画像を獲得することと、
前記オブジェクト識別を用いて、前記追加のキャプチャ画像内の前記オブジェクトを識別することと、
前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成することと、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示す、
前記追加のキャプチャ画像の残りの領域を識別するために、前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用することと、
前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出することと
を備える、方法。
【請求項１５】
前記センサデータは、画像データ、動きセンサデータ、位置データ、バーコード認識、テキスト検出結果、および、コンテキスト情報のうちの１つまたは複数をさらに含む、請求項１に記載の方法。
【請求項１６】
前記コンテキスト情報は、ユーザ挙動、ユーザ選好、ロケーション、前記ユーザについての情報、時刻、および照明品質のうちの１つまたは複数を含む、請求項１５に記載の方法。
【請求項１７】
前記センサデータは、顔の画像を備え、前記サーバから受信された前記情報は、前記顔に関連付けられたアイデンティティを備える、請求項１に記載の方法。
【請求項１８】
前記センサデータは、異なる位置にあるカメラを用いてキャプチャされたオブジェクトの複数の画像と、前記オブジェクトに対する前記カメラのポーズの推定とを備え、前記サーバから受信された前記情報は、前記ポーズのリファインメントおよび前記オブジェクトの三次元モデルのうちの少なくとも１つを備える、請求項１に記載の方法。
【請求項１９】
モバイルプラットフォームであって、
センサデータを獲得するように適合されたセンサと、ここで、前記センサは、カメラであり、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
無線トランシーバと、
前記センサと前記無線トランシーバとに結合されたプロセッサであって、前記センサを介してセンサデータを獲得し、前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし、以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定し、前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記無線トランシーバを介して前記センサデータを外部プロセッサに送信し、前記無線トランシーバを介して前記外部プロセッサから前記センサデータに関連する情報を受信するように適合されたプロセッサと、
を備え、
前記プロセッサは、さらに、前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得し、前記ポーズおよび前記センサデータに関連する前記情報を用いて前記オブジェクトをトラッキングするように適合され、
ここで、前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記プロセッサは、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記外部プロセッサから受信するように適合される、
モバイルプラットフォーム。
【請求項２０】
前記プロセッサは、サーバから受信された前記オブジェクトの基準画像を用いて前記オブジェクトをトラッキングするようにさらに適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２１】
前記プロセッサは、前記センサデータが前記外部プロセッサに送信される前に前記キャプチャ画像の品質を決定するようにさらに適合され、前記センサデータは、前記キャプチャ画像の前記品質が閾値よりも良い場合にのみ、前記外部プロセッサに送信される、ここで、前記プロセッサは、前記キャプチャ画像の鮮明度の分析、前記キャプチャ画像内の検出されたコーナの数の分析、および前記画像から得られた統計値での学習分類子の処理のうちの少なくとも１つを実行するように適合されることによって、前記キャプチャ画像の前記品質を決定するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２２】
前記プロセッサは、さらに、前記無線トランシーバを介して受信された前記センサデータに関連する前記情報に基づいて前記オブジェクトに対して拡張データをレンダリングするように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２３】
前記センサデータに関連する前記情報は、前記オブジェクトの識別をさらに備える、請求項１９に記載のモバイルプラットフォーム。
【請求項２４】
前記キャプチャ画像は、複数のオブジェクトを備え、前記センサデータに関連する前記情報は、前記複数のオブジェクトの識別を備える、請求項１９に記載のモバイルプラットフォーム。
【請求項２５】
前記プロセッサは、さらに、前記モバイルプラットフォームに関して前記複数のオブジェクトの各々についてのポーズを取得し、前記ポーズおよび前記センサデータに関連する前記情報を用いて前記複数のオブジェクトの各々をトラッキングするように適合される、請求項２４に記載のモバイルプラットフォーム。
【請求項２６】
前記プロセッサは、さらに、前記第１のポーズが前記サーバから受信されるまで、前記オブジェクトの基準フリートラッキングを実行するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２７】
前記プロセッサは、さらに、前記第１のポーズが前記外部プロセッサから受信されるとき、前記オブジェクトの第２のキャプチャ画像を獲得し、漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングし、前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために前記漸次的な変化と前記第１のポーズとを使用するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２８】
前記プロセッサは、さらに、前記オブジェクトの第２のキャプチャ画像を獲得し、前記基準画像を用いて前記第２のキャプチャ画像内の前記オブジェクトを検出し、前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために前記第２のキャプチャ画像および前記基準画像において検出された前記オブジェクトを使用し、前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項２９】
前記プロセッサはさらに、前記オブジェクトの二次元（２Ｄ）モデル、前記オブジェクトの三次元（３Ｄ）モデル、拡張情報、前記オブジェクトについての顕著性情報、および、オブジェクトマッチングに関連する情報のうちの少なくとも１つを前記外部プロセッサから前記無線トランシーバを介して受信するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項３０】
前記プロセッサは、以前のキャプチャ画像に対して前記キャプチャ画像におけるシーン変化が存在するか否かを判定するように適合されることによって、前記トリガイベントが存在するか否かを判定するように適合される、請求項１９に記載のモバイルプラットフォーム。
【請求項３１】
前記プロセッサは、前記キャプチャ画像および前記以前のキャプチャ画像を用いて第１の変化メトリックを決定し、以前のトリガイベントから第２の以前のキャプチャ画像と前記キャプチャ画像とを用いて第２の変化メトリックを決定し、前記キャプチャ画像についてのヒストグラム変化メトリックを生成し、前記シーン変化を判定するために、前記第１の変化メトリック、前記第２の変化メトリック、および前記ヒストグラム変化メトリックを使用するように適合されることによって、前記シーン変化が存在するか否かを決定するように適合される、請求項３０に記載のモバイルプラットフォーム。
【請求項３２】
モバイルプラットフォームであって、
センサデータを獲得するように適合されたセンサと、ここで、前記センサは、カメラであり、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
無線トランシーバと、
前記センサと前記無線トランシーバとに結合されたプロセッサであって、前記センサを介してセンサデータを獲得し、前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし、以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定し、前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記無線トランシーバを介して前記センサデータを外部プロセッサに送信し、前記無線トランシーバを介して前記外部プロセッサから前記センサデータに関連する情報を受信するように適合されたプロセッサと、
を備え、
ここで、前記センサデータに関連する前記情報は、オブジェクト識別を備えており、前記プロセッサは、さらに、前記オブジェクトの追加のキャプチャ画像を獲得し、前記オブジェクト識別を用いて前記追加のキャプチャ画像内の前記オブジェクトを識別し、前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成し、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示しており、前記追加のキャプチャ画像の残りの領域を識別するために前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用し、前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出するように適合される、
モバイルプラットフォーム。
【請求項３３】
前記センサデータは、画像データ、動きセンサデータ、位置データ、バーコード認識、テキスト検出結果、およびコンテキスト情報のうちの１または複数をさらに含む、請求項１９に記載のモバイルプラットフォーム。
【請求項３４】
前記コンテキスト情報は、ユーザ挙動、ユーザ選好、ロケーション、前記ユーザについての情報、時刻、および照明品質のうちの１つまたは複数を含む、請求項３３に記載のモバイルプラットフォーム。
【請求項３５】
前記センサデータは顔の画像を備え、前記無線トランシーバを介して受信された前記情報は、前記顔に関連付けられたアイデンティティを備える、請求項１９に記載のモバイルプラットフォーム。
【請求項３６】
前記センサデータは、異なる位置にある前記カメラを用いてキャプチャされたオブジェクトの複数の画像と、前記オブジェクトに対する前記カメラのポーズの推定とを備え、前記サーバから受信される前記情報は、前記ポーズのリファインメントおよび前記オブジェクトの三次元モデルのうちの少なくとも１つを備える、請求項１９に記載のモバイルプラットフォーム。
【請求項３７】
モバイルプラットフォームであって、
センサデータを獲得する手段と、ここで、センサデータを獲得する前記手段は、カメラであり、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングする手段と、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定する手段と、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータをサーバに送信する手段と、
前記センサデータに関連する情報を前記サーバから受信する手段と、
前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得する手段と、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記オブジェクトをトラッキングする手段と、
を備え、
ここで、前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記ポーズを取得する手段は、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記サーバから受信する手段を備える、
モバイルプラットフォーム。
【請求項３８】
前記オブジェクトをトラッキングする前記手段は、前記サーバから受信された前記オブジェクトの基準画像をさらに用いる、請求項３７に記載のモバイルプラットフォーム。
【請求項３９】
前記トリガイベントが存在するか否かを判定する前記手段は、以前のキャプチャ画像と比べて前記キャプチャ画像におけるシーン変化が存在するか否かを判定する手段を備える、請求項３７に記載のモバイルプラットフォーム。
【請求項４０】
前記第１のポーズが前記サーバから受信されるまで前記オブジェクトの基準フリートラッキングを実行する手段をさらに備える、請求項３７に記載のモバイルプラットフォーム。
【請求項４１】
前記第１のポーズが前記サーバから受信されたとき、前記オブジェクトの第２のキャプチャ画像を獲得する手段と、
漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングする手段と、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記漸次的な変化および前記第１のポーズを使用する手段と
をさらに備える、請求項３７に記載のモバイルプラットフォーム。
【請求項４２】
前記オブジェクトの第２のキャプチャ画像を獲得する手段と、
前記基準画像を用いて、前記第２のキャプチャ画像内の前記オブジェクトを検出する手段と、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記基準画像および前記第２のキャプチャ画像で検出された前記オブジェクトを使用する手段と、
前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用する手段と
をさらに備える、請求項３７に記載のモバイルプラットフォーム。
【請求項４３】
モバイルプラットフォームであって、
センサデータを獲得する手段と、ここで、センサデータを獲得する前記手段は、カメラであり、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングする手段と、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定する手段と、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータをサーバに送信する手段と、
前記センサデータに関連する情報を前記サーバから受信する手段と、
を備え、
ここで、前記センサデータに関連する前記情報は、オブジェクト識別を備え、前記モバイルプラットフォームは、さらに、
前記オブジェクトの追加のキャプチャ画像を獲得する手段と、
前記オブジェクト識別を用いて、前記追加のキャプチャ画像内の前記オブジェクトを識別する手段と、
前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成する手段と、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示す、
前記追加のキャプチャ画像の残りの領域を識別するために、前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用する手段と、
前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出する手段と
を備える、モバイルプラットフォーム。
【請求項４４】
プログラムコードを格納した非一時的なコンピュータ読取可能な記憶媒体であって、
モバイルプラットフォームを用いてセンサデータを獲得するためのプログラムコードと、ここで、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングするためのプログラムコードと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定するためのプログラムコードと、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータを外部プロセッサに送信するためのプログラムコードと、
前記外部プロセッサから前記センサデータに関連する情報を受信するためのプログラムコードと、
前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得するためのプログラムコードと、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記オブジェクトをトラッキングするためのプログラムコードと、
を備え、
ここで、前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記ポーズを取得するためのプログラムコードは、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記外部プロセッサから受信するためのプログラムコードを備える、
非一時的なコンピュータ読取可能な記憶媒体。
【請求項４５】
前記オブジェクトをトラッキングするための前記プログラムコードは、サーバから受信された前記オブジェクトの基準画像をさらに用いる、請求項４４に記載の非一時的なコンピュータ読取可能な記憶媒体。
【請求項４６】
前記トリガイベントが存在するか否かを判定するための前記プログラムコードは、以前のキャプチャ画像と比べて前記キャプチャ画像においてシーン変化が存在するか否かを判定するためのプログラムコードを備える、請求項４４に記載の非一時的なコンピュータ読取可能な記憶媒体。
【請求項４７】
前記第１のポーズが前記外部プロセッサから受信されるまで前記オブジェクトの基準フリートラッキングを実行するためのプログラムコードをさらに備える、請求項４４に記載の非一時的なコンピュータ読取可能な記憶媒体。
【請求項４８】
前記第１のポーズが前記外部プロセッサから受信されたとき、前記オブジェクトの第２のキャプチャ画像を獲得するためのプログラムコードと、
漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングするためのプログラムコードと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記漸次的な変化および前記第１のポーズを使用するためのプログラムコードと
をさらに備える、請求項４４に記載の非一時的なコンピュータ読取可能な記憶媒体。
【請求項４９】
前記オブジェクトの第２のキャプチャ画像を獲得するためのプログラムコードと、
前記基準画像を用いて、前記第２のキャプチャ画像内の前記オブジェクトを検出するためのプログラムコードと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記基準画像および前記第２のキャプチャ画像で検出された前記オブジェクトを使用するためのプログラムコードと、
前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用するためのプログラムコードと
をさらに備える、請求項４４に記載の非一時的なコンピュータ読取可能な記憶媒体。
【請求項５０】
プログラムコードを格納した非一時的なコンピュータ読取可能な記憶媒体であって、
モバイルプラットフォームを用いてセンサデータを獲得するためのプログラムコードと、ここで、前記センサデータは、オブジェクトの少なくとも１つのキャプチャ画像を備える、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングするためのプログラムコードと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定するためのプログラムコードと、
前記オブジェクトの前記少なくとも１つのキャプチャ画像を備える前記センサデータを使用して、前記オブジェクトをトラッキングし続けている間に、前記トリガイベントが存在する場合、前記センサデータを外部プロセッサに送信するためのプログラムコードと、
前記外部プロセッサから前記センサデータに関連する情報を受信するためのプログラムコードと、
を備え、
ここで、前記センサデータに関連する前記情報は、オブジェクト識別を備え、前記非一時的なコンピュータ読取可能な記憶媒体は、さらに、
前記オブジェクトの追加のキャプチャ画像を獲得するためのプログラムコードと、
前記オブジェクト識別を用いて、前記追加のキャプチャ画像内の前記オブジェクトを識別するためのプログラムコードと、
前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成するためのプログラムコードと、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示す、
前記追加のキャプチャ画像の残りの領域を識別するために、前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用するためのプログラムコードと、
前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出するためのプログラムコードと
を備える、非一時的なコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、両方とも本願の譲受人に譲渡され参照によって本明細書に組み込まれる、２０１０年９月２０日に出願された「An Adaptable Framework For Cloud Assisted Augmented Reality」と題する米国特許仮出願６１／３８４６６７号、および、２０１１年９月１９日に出願された「An Adaptable Framework For Cloud Assisted Augmented Reality」と題する米国特許出願１３／２３５８４７号の優先権を主張する。
【０００２】
拡張現実システムは、実世界のユーザの視界に仮想オブジェクトを挿入することができる。従来のＡＲシステムには多くのコンポーネントが存在しうる。これらは、データ獲得、データ処理、オブジェクト検出、オブジェクトトラッキング、レジストレーション、リファインメント（refinement）、およびレンダリングコンポーネントを含む。これらのコンポーネントは、互いに対話して、ユーザに豊かなＡＲ経験を提供することができる。しかしながら、従来のＡＲシステムでの検出およびトラッキングにおけるいくつかのコンポーネントは、計算集約的な操作を使用し、それは、ユーザのためのＡＲ経験を妨害しうる。
【背景技術】
【０００３】
モバイルプラットフォームは、待ち時間に敏感な操作（latency sensitive operation）がモバイルプラットフォーム上で実行され、待ち時間に敏感ではないが計算集約的な操作がリモートサーバ上で実行される、分散処理を用いて、画像データを含むセンサデータを効率的に処理する。モバイルプラットフォームは、画像データのようなセンサデータを獲得し、センサデータをサーバに送信するトリガイベントがあるか否かを判定する。トリガイベントは、以前に獲得されたセンサデータに対するセンサデータの変化、例えば、キャプチャ画像におけるシーン変化である。変化が存在するときには、センサデータは、処理のためにサーバに送信される。サーバは、センサデータを処理し、画像内のオブジェクトの識別（identification）のような、センサデータに関連する情報を返す。次いで、モバイルプラットフォームは、識別されたオブジェクトを用いて、基準ベースのトラッキング（reference based tracking）を実行しうる。
【発明の概要】
【０００４】
一実装形態では、方法は、モバイルプラットフォーム用いてセンサデータを獲得することと、以前に獲得されたセンサデータと比べてセンサデータにおける変化を備えるトリガイベントが存在するか否かを判定することと、トリガイベントが存在する場合にセンサデータをサーバに送信することと、センサデータに関連する情報をサーバから受信することとを含む。センサデータは、オブジェクトのキャプチャ画像、例えば、写真またはビデオフレームでありうる。
【０００５】
別の実装形態では、モバイルプラットフォームは、センサデータを獲得するように適合されたセンサと、無線トランシーバとを含む。センサは、例えば、オブジェクトの画像をキャプチャするためのカメラでありうる。プロセッサは、センサと無線トランシーバとに結合され、センサを介してセンサデータを獲得し、以前に獲得されたセンサデータと比べてセンサデータにおける変化を備えるトリガイベントが存在するか否かを判定し、トリガイベントが存在する場合、無線トランシーバを介してセンサデータを外部プロセッサに送信し、無線トランシーバを介して、センサデータに関連する情報を外部プロセッサから受信するように適合される。
【０００６】
別の実装形態では、モバイルプラットフォームは、センサデータを獲得する手段と、以前に獲得されたセンサデータと比べてセンサデータにおける変化を備えるトリガイベントが存在するか否かを判定する手段と、トリガイベントが存在する場合にセンサデータをサーバに送信する手段と、センサデータに関連する情報をサーバから受信する手段とを含む。センサデータを獲得する手段は、カメラであり、センサデータは、オブジェクトのキャプチャ画像である。
【０００７】
さらに別の実装形態では、プログラムコードを格納した非一時的なコンピュータ読取可能な媒体は、センサデータを獲得するためのプログラムコードと、以前に獲得されたセンサデータと比べてセンサデータにおける変化を備えるトリガイベントが存在するか否かを判定するためのプログラムコードと、トリガイベントが存在する場合、センサデータを外部プロセッサに送信するためのプログラムコードと、センサデータに関連する情報を外部プロセッサから受信するためのプログラムコードとを含む。
【図面の簡単な説明】
【０００８】
【図１】図１は、モバイルプラットフォームおよびリモートサーバを含む、分散処理のためのシステムを示すブロック図を示す。
【図２】図２は、待ち時間に敏感な操作がモバイルプラットフォームによって実行され、待ち時間に敏感ではないが計算集約的な操作が外部プロセッサによって実行される、分散処理のプロセスを示すフローチャートである。
【図３】図３は、サーバ支援型ＡＲのためのシステムの操作のブロック図を示す。
【図４】図４は、ポーズがリモートサーバによって提供される、サーバ支援型ＡＲのための呼出フロー図を示す。
【図５】図５は、ポーズがリモートサーバによって提供されない、サーバ支援型ＡＲのための別の呼出フロー図を示す。
【図６】図６は、シーン変化検出器によって実行される方法のフローチャートを示す。
【図７】図７は、最小トリガギャップの関数として、要求されるネットワーク送信を示す、分散処理システムの性能を示すチャートである。
【図８】図８は、サーバ支援型ＡＲプロセスを用いた顔認識へのアプローチを示す。
【図９】図９は、サーバ支援型ＡＲプロセスを用いた顔認識へのアプローチを示す。
【図１０】図１０は、サーバ支援型ＡＲプロセスを用いた視覚探索へのアプローチを示す。
【図１１】図１１は、サーバ支援型ＡＲプロセスを用いた視覚探索へのアプローチを示す。
【図１２】図１２は、サーバ支援型プロセスを用いた基準ベースのトラッキングへのアプローチを示す。
【図１３】図１３は、サーバ支援型プロセスを用いた基準ベースのトラッキングへのアプローチを示す。
【図１４】図１４は、サーバ支援型プロセスを用いた３Ｄモデル作成へのアプローチを示す。
【図１５】図１５は、サーバベースの検出（server based detection）を用いた分散処理が可能なモバイルプラットフォームのブロック図である。
【詳細な説明】
【０００９】
本明細書で開示される分散処理システムは、処理されるべきデータを、無線ネットワークを介してサーバに、またはクラウドコンピューティング環境のネットワークを介して別のデバイスに、いつ提供するかを決定しうるデバイスを含む。デバイスは、また、それ自体がデータを処理しうる。例えば、より効率的な処理のために、待ち時間に敏感な操作は、デバイス上で実行されることが選択され、待ち時間に敏感ではない操作は、遠隔的に実行されることが選択されうる。処理されるべきデータをサーバにいつ送るかを決定するファクタは、数ある中でも特に、データに対して実行されている操作が待ち時間に敏感であるか敏感ではないか、必要とされる計算量、デバイスまたはサーバのいずれかにおけるプロセッサ速度／利用可能性、ネットワーク条件、または、サービス品質を含みうる。
【００１０】
一実施形態では、モバイルプラットフォームと外部サーバとを含むシステムが、拡張現実（ＡＲ：Augmented Reality）アプリケーションのために提供され、それにおいては、効率的な処理のために、待ち時間に敏感な操作がモバイルプラットフォーム上で実行され、待ち時間に敏感ではないが計算集約的な操作が、遠隔的に、例えばサーバ上で、実行される。次いで、その結果が、サーバによってモバイルプラットフォームに送られうる。ＡＲアプリケーションのために分散処理を用いることで、エンドユーザは、シームレスにＡＲ経験を楽しむことができる。
【００１１】
本明細書で使用される場合、モバイルプラットフォームは、セルラもしくは他の無線通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、パーソナルナビゲーションデバイス（ＰＮＤ）、パーソナル情報マネジャ（ＰＩＭ）、携帯情報端末（ＰＤＡ）、または他の適切なモバイルデバイスのような任意のポータブル電子デバイスを指す。モバイルプラットフォームは、無線通信、および／または、ナビゲーション位置決め信号のようなナビゲーション信号を受信することができる。「モバイルプラットフォーム（mobile platform）」という用語は、また、衛星信号受信、支援データ受信、および／または位置関連処理がデバイスで行われるかパーソナルナビゲーションデバイス（ＰＮＤ）で行われるかに関係なく、短距離無線、赤外線、有線接続、または他の接続などによって、ＰＮＤと通信するデバイスを含むことが意図される。また、「モバイルプラットフォーム」は、ＡＲの能力を有する無線通信デバイス、コンピュータ、ラップトップ、タブレットコンピュータなどを含む、すべての電子デバイスを含むことが意図される。
【００１２】
図１は、サーバベースのオブジェクト検出および識別を用いる分散処理のためのシステム１００を示すブロック図を示す。システム１００は、トラッキングのような待ち時間に敏感な操作を実行するモバイルプラットフォーム１１０を含み、リモートサーバ１３０は、オブジェクト識別のような、待ち時間に敏感ではないが計算集約的な操作を実行する。モバイルプラットフォームは、カメラ１１２およびディスプレイ１１４を含み、および／または動きセンサ１６４を含みうる。モバイルプラットフォーム１１０は、オブジェクト１０２の画像１０４を獲得することができ、それは、ディスプレイ１１４上に示されることができる。モバイルプラットフォーム１１０によってキャプチャされた画像１０４は、静止画像、例えば、写真、またはビデオストリームからの単一のフレームであることができ、本明細書においてそれらは両方ともキャプチャ画像（captured image）と呼ばれる。モバイルプラットフォーム１１０は、追加的にまたは代替的に、例えば、衛星測位システム（ＳＰＳ）受信機１６６、または、例えば、加速度計、ジャイロスコープ、電子コンパス、もしくは他の類似の動き感知エレメントを含む１または複数の動きセンサ１６４を使用して、カメラ１１２以外のセンサから位置および／または向きのデータを含む他のセンサデータを獲得することもできる。ＳＰＳは、全地球測位システム（ＧＰＳ）、ガリレオ、グロナスもしくはコンパスのような全地球的航法衛星システム（ＧＮＳＳ）、または、例えば、日本の上空にある準天頂衛星システム（ＱＺＳＳ）、インドの上空にあるインド地域航法衛星システム（ＩＲＮＳＳ）、中国の上空にある北斗（Ｂｅｉｄｏｕ）などの他の様々な地域システム、および／または、１または複数のグローバルおよび／または地域ナビゲーション衛星システムに関連づけられうるか、そうでなければそれらとともに使用されることが可能な様々な拡張システム（例えば、衛星ベースの拡張システム（ＳＢＡＳ：Satellite Based Augmentation System））のコンステレーションでありうる。
【００１３】
モバイルプラットフォーム１１０は、キャプチャ画像１０４および／またはＳＰＳ情報もしくは位置情報などのセンサデータのような獲得されたデータ情報をオンボード動きセンサ１６４からネットワーク１２０を介してサーバ１３０に送信する。獲得されたデータ情報は、またさらに、あるいは代替的に、モバイルプラットフォーム１１０によって現在トラッキングされている任意のオブジェクトの識別のようなコンテキストデータ（contextual data）を含みうる。ネットワーク１２０は、無線広域ネットワーク（ＷＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）などのような任意の無線通信ネットワークでありうる。サーバ１３０は、モバイルプラットフォーム１１０によって提供されるデータ情報を処理し、データ情報に関連する情報を生成する。例えば、サーバ１３０は、オブジェクトデータベース１４０を用いて、提供された画像データに基づいてオブジェクト検出および識別を実行しうる。サーバ１３０は、獲得されたデータに関連する情報をモバイルプラットフォーム１１０に返す。例えば、サーバ１３０がモバイルプラットフォーム１１０によって提供された画像データからオブジェクトを識別すると、サーバ１３０は、例えば、タイトルもしくは識別番号のような識別子を含むオブジェクトの識別、または、オブジェクト１０２の基準画像１０６を、拡張現実アプリケーションのためにモバイルプラットフォームによって使用されうる顕著性（saliency）インジケータ、情報リンクなどのようなあらゆる所望のサイド情報と共に返すことができる。
【００１４】
望まれる場合、サーバ１３０は、例えば、既知の位置および向きからのオブジェクト１０２の画像である基準画像１０６内のオブジェクト１０２と比べて、画像１０４がキャプチャされた時点でのモバイルプラットフォーム１１０のポーズ（位置および向き）を決定し、それをモバイルプラットフォーム１１０に提供することができる。返されたポーズは、モバイルプラットフォーム１１０内のトラッキングシステムをブートストラップ（bootstrap)するために使用されうる。換言すると、モバイルプラットフォーム１１０は、それが画像１０４をキャプチャした時から基準画像１０６とポーズをサーバ１３０から受信する時まで、例えば、視覚的に、または、動きセンサ１６４を用いて、そのポーズにおけるすべての漸次的な変化をトラッキングしうる。次いで、モバイルプラットフォーム１１０は、受信されたポーズを、トラッキングされたポーズにおける漸次的な変化と共に使用して、オブジェクト１０２に対する現在のポーズを迅速に決定することができる。
【００１５】
別の実施形態では、サーバ１３０は、基準画像１０６を返すが、ポーズ情報は提供せず、モバイルプラットフォーム１１０は、オブジェクト検出アルゴリズムを用いてオブジェクト１０２の基準画像１０６に対してオブジェクト１０２の現在のキャプチャ画像を比較することによって、オブジェクト１０２に対する現在のポーズを決定する。ポーズは、相対的な動きが推定されうるように、トラッキングシステムへの入力として使用されることができる。
【００１６】
さらに別の実施形態では、サーバ１３０は、ポーズ情報だけを返し、基準画像は提供しない。このケースにおいて、モバイルプラットフォーム１１０は、キャプチャ画像１０４をポーズ情報と共に使用して、後にトラッキングシステムによって使用されうる基準画像を作成することができる。代替的に、モバイルプラットフォーム１１０は、キャプチャ画像１０４とその後のキャプチャ画像（現在の画像とも呼ばれる）との間の位置における漸次的な変化をトラッキングし、サーバ１３０から取得されたポーズを漸次的なトラッキング結果と共に用いて、モバイルプラットフォームが生成した基準画像に対する現在の画像のポーズを計算することもできる。基準画像１０２が存在しない場合、現在の画像は、トラッキングシステムをブートストラップするために使用されうる基準画像の推定値を取得するために、推定されたポーズを用いてワーピングされうる（または、修正されうる）。
【００１７】
追加的に、モバイルプラットフォーム１１０によってサーバ１３０に送る検出要求の頻度を最小限に抑えるために、モバイルプラットフォーム１１０は、トリガイベントが存在する場合にのみ検出要求を開始することができる。トリガイベントは、以前に獲得された画像データまたはセンサデータに対する、画像データまたは動きセンサ１６４からのセンサデータの変化に基づきうる。例えば、モバイルプラットフォーム１１０は、画像データの変化が生じたか否かを判定するためにシーン変化検出器３０４を使用することができる。このように、いくつかの実施形態では、モバイルプラットフォーム１１０は、シーン変化検出器３０４によってトリガされたときにのみ、検出要求のためにネットワークを介してサーバ１３０と通信することができる。シーン変化検出器３０４は、例えば、新しい情報が現在の画像中に存在するときにのみ、オブジェクト検出のためにサーバとの通信をトリガする。
【００１８】
図２は、待ち時間に敏感な操作がモバイルプラットフォーム１１０によって実行され、待ち時間に敏感ではないが計算集約的な操作がサーバ１３０のような外部プロセッサによって実行される、分散処理のプロセスを示すフローチャートである。示されるように、センサデータは、モバイルプラットフォーム１１０によって獲得される（２０２）。センサデータは、獲得された画像、例えば、キャプチャされた写真またはビデオフレーム、あるいは、それらから導き出される、文字認識または抽出されたキーポイントを含む情報でありうる。センサデータは、またさらに、あるいは代替的に、例えば、ＳＰＳ情報、動きセンサ情報、バーコード認識、テキスト検出結果、または、画像の部分的処理から得られた他の結果、ならびに、ユーザ挙動、ユーザ選好、ロケーション、ユーザ情報またはデータ（例えば、ユーザについてのソーシャルネットワーク情報）などのコンテキスト情報、時刻、照明品質（自然対人工）、および、近くに立っている人（画像内で）などを含みうる。
【００１９】
モバイルプラットフォーム１１０は、以前に獲得されたセンサデータに対するセンサデータの変化のようなトリガイベントが存在していると判定する（２０４）。例えば、トリガイベントは、新しいまたは異なるオブジェクトが画像中に現れるシーン変化でありうる。獲得されたセンサデータは、シーン変化のようなトリガイベントが検出された後に、サーバ１３０に送信される（２０６）。当然、シーン変化が検出されない場合、センサデータは、サーバ１３０に送信される必要はなく、それによって、通信および検出要求を低減する。
【００２０】
サーバ１３０は、獲得された情報を処理して、例えば、オブジェクト認識を実行するが、これは、当技術分野においてよく知られている。サーバ１３０が情報を処理した後、モバイルプラットフォーム１１０は、センサデータに関連する情報をサーバ１３０から受信する（２０８）。例えば、モバイルプラットフォーム１１０は、例えば、基準画像を含む、オブジェクト識別の結果を受信しうる。センサデータに関連する情報は、追加的にまたは代替的に、モバイルプラットフォーム１１０の近くに配置されたアイテム（例えば、建物、レストラン、店内の入手可能な製品など）、ならびにサーバからの二次元（２Ｄ）または三次元（３Ｄ)モデルのような情報、または、ゲーミングなどの他のプロセスにおいて使用されうる情報を含みうる。望まれる場合、以上で論じたように、画像１０４がキャプチャされた時点での、基準画像内のオブジェクトに対するモバイルプラットフォーム１１０のポーズを含む追加情報が提供されうる。モバイルプラットフォーム１１０がローカルキャッシュを含む場合、モバイルプラットフォーム１１０は、サーバ１３０によって送られた複数の基準画像を記憶することができる。これらの記憶された基準画像は、例えば、トラッキングが失われた場合にモバイルプラットフォーム１１０において実行されうるその後の再検出のために使用されることができる。いくつかの実施形態では、サーバは、センサから画像内の複数のオブジェクトを識別する。そのような実施形態では、識別されたオブジェクトのうちの１つについてのみ、基準画像または他のオブジェクト識別子がモバイルプラットフォーム１１０に送信されることができ、あるいは、それぞれのオブジェクトに対応する複数のオブジェクト識別子が、モバイルプラットフォーム１１０に送信され、モバイルプラットフォーム１１０によって受信されることができる。
【００２１】
このように、サーバ１３０によって提供されうる情報は、認識結果、識別されたオブジェクトについての情報、トラッキングのような様々な機能に使用されうるオブジェクトについての基準画像（１または複数）、認識されたオブジェクトの２Ｄ／３Ｄモデル、認識されたオブジェクトの絶対的なポーズ、表示のために使用される拡張情報、および／または、オブジェクトについての顕著性情報を含みうる。追加的に、サーバ１３０は、モバイルプラットフォーム１１０において分類子（classifier）を強化しうるオブジェクトマッチングに関連する情報を送ることができる。１つの可能な例は、モバイルプラットフォーム１１０がマッチングのために決定ツリー（decision tree）を使用しているときである。このケースでは、サーバ１３０は、より精確なツリー構築と、その後のより良いマッチングとを容易にするために、ツリーの個々のノードについての値を送ることができる。決定ツリーの例は、例えば、ｋ平均法、ｋｄツリー（k-d tree）、ボキャブラリ・ツリー（vocabulary tree）、および他のツリーを含む。ｋ平均法ツリーのケースでは、サーバ１３０は、また、モバイルプラットフォーム１１０上で階層的なｋ平均法ツリー構造を初期化するためにシードを送り、これによって、モバイルプラットフォーム１１０が、適切なツリーをロードするためにルックアップを実行できるようにする。
【００２２】
オプション的に、モバイルプラットフォーム１１０は、オブジェクト１０２に対するモバイルプラットフォームについてのポーズを取得しうる（２１０）。例えば、モバイルプラットフォーム１１０は、オブジェクト１０２の別の画像をキャプチャし、新しくキャプチャされた画像と基準画像とを比較することによって、サーバ１３０からポーズ情報を受信することなく、基準画像内のオブジェクトに対するポーズを取得しうる。サーバ１３０がポーズ情報を提供する場合、モバイルプラットフォームは、初期画像１０４がキャプチャされた時点での基準画像内のオブジェクトに対するモバイルプラットフォーム１１０のポーズである、サーバ１３０によって提供されたポーズを、初期画像１０４がキャプチャされて以降のモバイルプラットフォーム１１０のポーズにおけるトラッキングされた変化と組み合わせることによって、現在のポーズを迅速に決定しうる。ポーズがサーバ１３０の支援を用いて取得されるか、支援なく取得されるかが、ネットワーク１２０および／またはモバイルプラットフォーム１１０の能力に依存しうることに注意されたい。例えば、サーバ１３０がポーズ推定をサポートし、モバイルプラットフォーム１１０およびサーバ１３０がポーズを送信するためのアプリケーションプログラミングインターフェース（ＡＰＩ)に同意した場合、ポーズ情報は、モバイルプラットフォーム１１０に送信され、トラッキングのために使用されうる。サーバによって送られたオブジェクト１０２のポーズ（２１０）は、相対的回転および変換行列、ホモグラフィ行列、アフィン変換行列の形態、または他の形態でありうる。
【００２３】
オプション的に、モバイルプラットフォーム１１０は、次いで、サーバ１３０から受信されたデータを用いて、オブジェクトに対してＡＲ、例えば、ターゲットをトラッキングすること、各フレームにおけるオブジェクトポーズを推定すること、および、仮想オブジェクトを挿入すること、または、推定されたポーズを用いてレンダリングエンジンを通してユーザビューもしくは画像を拡張すること、を実行することができる（２１２）。
【００２４】
図３は、サーバ１３０支援型ＡＲのためのシステム１００の動作のブロック図を示す。図３に示されるように、基準フリートラッカ（reference-free tracker）３０２を起動するために、新しいキャプチャ画像３００が使用される。基準フリートラッカ３０２は、オプティカルフロー、正規化相互相関（ＮＣＣ）、または、当該技術分野において知られている任意の類似した方法に基づいてトラッキングを実行する。基準フリートラッカ３０２は、新しいキャプチャ画像３００内の点、線、領域などの特徴を識別し、例えばフローベクトルを用いて、フレームからフレームへとこれらの特徴をトラッキングする。トラッキング結果から得られたフローベクトルは、以前のキャプチャ画像と現在のキャプチャ画像との間での相対的な動きの推定に役立ち、次には、動きの速度の識別に役立つ。基準フリートラッカ３０２によって提供された情報は、シーン変化検出器３０４によって受信される。シーン変化検出器３０４は、例えば、基準フリートラッカ３０２からのトラッキングされた特徴を、別のタイプの画像統計値（ヒストグラム統計値のような）、ならびにモバイルプラットフォーム内のセンサからの他の利用可能な情報と共に使用して、シーンの変化を推定する。シーン変化検出器３０４によってトリガが送られなかった場合、プロセスは、基準フリートラッカ３０２で継続する。シーン変化検出器３０４がシーンにおける実質的な変化を識別した場合、シーン変化検出器３０４は、サーバベース検出器（server based detector）３０８において検出プロセスを開始しうるトリガ信号を送る。望まれる場合、画像品質推定器３０６が、画像品質を分析してサーバベース検出器３０８への要求の送信をさらに制御するために、使用されうる。画像品質推定器３０６は、画像の品質を調べ、品質が良い場合、すなわち、閾値を上回る場合、検出要求がトリガされる。画像品質が悪い場合、検出はトリガされず、画像は、サーバベース検出器３０８に送信されない。発明の一実施形態では、モバイルプラットフォーム１１０は、オブジェクト認識のために良い品質の画像をサーバ１３０に送る前に、シーン変化が検出されてから有限の時間期間の間、良い品質の画像を待つことができる。
【００２５】
画像の品質は、既知の画像統計値、画像品質測定値、および、他の類似したアプローチに基づきうる。例えば、キャプチャ画像の鮮明度は、ハイパスフィルタリング、ならびに、例えばエッジ強度および空間分布などを表す統計値のセットを生成することによって、定量化されうる。鮮明度の値が、例えばいくつかの以前のフレームにわたって平均化された、シーンの「一般的鮮明度（prevailing sharpness）」を超える場合、またはそれに匹敵する場合、画像は、良い品質の画像として分類されうる。別の実装形態では、ＦＡＳＴ（加速セグメントテスト：Features from Accelerated Segment Test）コーナまたはハリス（Harris）コーナのような高速コーナ検出アルゴリズムが、画像を分析するために使用されうる。十分な数のコーナがある場合、例えば、検出されたコーナの数が閾値を上回るか、または、例えばいくつかの以前のフレームにわたって平均化された、シーンの「一般的なコーナの数」よりも多い、またはそれに匹敵する場合、画像は、良い品質の画像として分類されうる。別の実装形態では、エッジの勾配の大きさの平均または標準偏差など、画像からの統計値が、良い品質の画像と悪い品質の画像とを区別するために使用されうる学習分類子（learning classifier）に知らせるために使用されることができる。
【００２６】
画像の品質は、また、センサ入力を使用して測定されうる。例えば、速く移動している間にモバイルプラットフォーム１１０によってキャプチャされた画像は、ぼやけていることがあり、そのため、モバイルプラットフォーム１１０が静止している、またはゆっくりと移動している場合よりも品質が悪いことがある。したがって、結果として得られるカメラ画像がオブジェクト検出のために送られるのに十分の品質であるかどうかを決定するために、例えば動きセンサ１６４からのまたは視覚ベースのトラッキングからの、センサデータからの動き推定値が、閾値と比較されうる。同様に、画像品質は、決定された画像のぼやけ量に基づいて測定されうる。
【００２７】
追加的に、サーバベース検出器３０８に送信される要求の数をさらに制御するために、トリガ時間マネジャ３０５が提供されうる。トリガ時間マネジャ３０５は、システムの状態を維持し、ヒューリスティックスおよびルールに基づきうる。例えば、最後のトリガ画像からの画像の数が、閾値、例えば１０００の画像、よりも多い場合、トリガ時間マネジャ３０５は、タイムアウトしてサーバベース検出器３０８における検出プロセスを自動的に開始することのできる、トリガを生成しうる。したがって、拡張された数の画像についてトリガがなかった場合、トリガ時間マネジャ３０５は、追加のオブジェクトがカメラの視野内にあるかどうかを判定するために有用な、トリガを強制しうる。追加的に、トリガ時間マネジャ３０５は、選択された値ηにおいて２つのトリガ間の最小の間隔を維持するようにプログラミングされうる。すなわち、トリガ時間マネジャ３０５は、トリガが最後にトリガされた画像からηの画像以内にある場合、トリガを抑制する。トリガされる画像を分離することは、例えば、シーンが高速で変化している場合に有用でありうる。したがって、シーン変化検出器３０４がηの画像以内に１よりも多くのトリガを生成する場合、１つのトリガ画像しかサーバベース検出器３０８に送られず、よって、モバイルプラットフォーム１１０からサーバ１３０への通信量を低減させる。トリガ時間マネジャ３０５は、また、トリガスケジュールを管理することができる。例えば、シーン変化検出器３０４が、最後のトリガからηよりも少なく、μよりも多くの画像だけ前に、新しいトリガを生成する場合、新しいトリガは、記憶され、連続したトリガ間の画像ギャップが少なくともηになるときまでトリガ時間マネジャ３０５によって延期されうる。例として、μは、２画像であることができ、η≧μであり、例として、ηは、２、４、８、１６、３２、６４のように変化しうる。
【００２８】
トリガ時間マネジャ３０５は、また、サーバ１３０の検出失敗を管理しうる。例えば、以前のサーバベース検出の試みが失敗であった場合、トリガ時間マネジャ３０５は、サーバベース検出器３０８に要求を再送信するためにトリガを定期的に生成しうる。これらの試みの各々は、最も最近のキャプチャ画像に基づいて異なるクエリ画像を使用しうる。例えば、検出失敗の後、定期的なトリガは、期間ギャップηでトリガ時間マネジャ３０５によって生成されることができ、例えば、最後に失敗した検出の試みがηの画像よりも前である場合、トリガが送られ、ここで、ηの値は変数でありうる。
【００２９】
サーバベース検出器３０８が開始されると、新しいキャプチャ画像３００に関連したデータがサーバ１３０に提供される。それは、新しいキャプチャ画像３００自体、新しいキャプチャ画像３００についての情報、並びに、新しいキャプチャ画像３００に関連したセンサデータを含みうる。サーバベース検出器３０８によってオブジェクトが識別された場合、見つかったオブジェクト、例えば、基準画像、オブジェクトの３Ｄモデル、または他の関連情報が、モバイルプラットフォーム１１０に提供され、それは、そのローカルキャッシュ３１０を更新する。サーバベース検出器３０８によってオブジェクトが見つからなかった場合、プロセスは、例えば、トリガ時間マネジャ３０５を使用して、定期的なトリガに戻りうる。Г回の試み、例えば４回の試みの後に、オブジェクトが検出されなかった場合、オブジェクトは、データベースに存在しないとみなされ、システムは、シーン変化検出器ベースのトリガへとリセットする。
【００３０】
見つかったオブジェクトがローカルキャッシュ３１０内に記憶された状態で、モバイルプラットフォーム１１０上で動作しているオブジェクト検出器３１２は、現在のカメラの視野内のオブジェクト、およびオブジェクトに対するポーズを識別するためにオブジェクト検出プロセスを実行し、オブジェクトアイデンティティおよびポーズを基準ベーストラッカ（reference based tracker）３１４に送る。オブジェクト検出器３１２によって送られたポーズおよびオブジェクトアイデンティティは、基準ベーストラッカ３１４を初期化および開始するために使用されうる。その後にキャプチャされた画像（例えば、ビデオのフレーム）の各々において、基準ベーストラッカ３１４は、オブジェクトに対するポーズを、モバイルプラットフォーム１１０内のレンダリングエンジンに提供し、それは、表示されたオブジェクトの上に、あるいは画像内で、所望の拡張を行う。一実装形態では、サーバベース検出器３０８は、基準画像の代わりに、オブジェクトの３Ｄモデルを送ることができる。そのようなケースでは、３Ｄモデルは、ローカルキャッシュ３１０に記憶され、基準ベーストラッカ３１４への入力として後に使用される。基準ベーストラッカ３１４が初期化された後、基準ベーストラッカ３１４は、新しいキャプチャ画像３００の各々を受信し、新しいキャプチャ画像３００の各々におけるトラッキングされたオブジェクトのロケーションを識別し、それによって、拡張されたデータが、トラッキングされたオブジェクトに対して表示されることを可能にする。基準ベーストラッカ３１４は、ポーズ推定、顔認識、建物認識、または他のアプリケーションなど、多くのアプリケーションのために使用されうる。
【００３１】
追加的に、基準ベーストラッカ３１４が初期化された後、基準ベーストラッカ３１４は、識別されたオブジェクトが存在する、新しいキャプチャ画像３００の各々の領域を識別し、この情報はトラッキングマスクのための手段によって記憶される。したがって、システムがそれに関する完全な情報を有する、新しいカメラ画像３００内の領域が識別され、基準フリートラッカ３０２およびシーン変化検出器３０４への入力として提供される。基準フリートラッカ３０２およびシーン変化検出器３０４は、新しいキャプチャ画像３００の各々を受信し、トラッキングマスクを使用して、新しいキャプチャ画像３００の残りの領域、すなわち、完全な情報が存在しない領域において動作することを継続する。トラッキングマスクをフィードバックとして使用することは、トラッキングされたオブジェクトによる、シーン変化検出器３０４からの誤ったトリガを低減するのに役立つだけでなく、基準フリートラッカ３０２およびシーン変化検出器３０４の計算上の複雑さを低減するにも役立つ。
【００３２】
一実施形態では、図３において点線で示されるように、サーバベース検出器３０８は、追加的に、基準画像内のオブジェクトに対する、新しいキャプチャ画像３００内のオブジェクトについてのポーズ情報を提供することができる。サーバベース検出器３０８によって提供されるポーズ情報は、基準フリートラッカ３０２によって決定されるポーズの変化と共に、ポーズ更新器３１６によって使用されて、更新されたポーズを生成することができる。更新されたポーズは、次いで、基準ベーストラッカ３１４に提供されうる。
【００３３】
さらに、トラッキングが一時的に失われたときには、ローカルキャッシュ３１０を探索するローカル検出器３１８を用いて、後続の再検出が実行されうる。図３は、明瞭にするために、ローカル検出器３１８およびオブジェクト検出器３１２を別々に示しているが、望まれる場合、ローカル検出器３１８は、オブジェクト検出器３１２を実装する、すなわち、オブジェクト検出器３１２が再検出を実行することができる。オブジェクトがローカルキャッシュにおいて見つかった場合、基準ベーストラッカ３１４を再初期化および開始するために、オブジェクトアイデンティティが使用される。
【００３４】
図４は、図３において破線およびポーズ更新器３１６によって示されるように、ポーズがサーバ１３０によって提供される、サーバ支援型ＡＲのための呼出フロー図を示す。視野が変化したことをシーン変化検出器３０４が示すとき（ステップＡ）、システムマネジャ３２０が、サーバベース検出器３０８に、例えば、ｊｐｅｇまたは他のフォーマットでありうる新しい画像、および、オブジェクト検出の要求を提供する（ステップＢ）ことによって、サーバベース検出プロセスが開始される。また、画像に関連する情報や、ＳＰＳ、方位センサ表示値、ジャイロ、コンパス、圧力センサ、高度計のようなセンサからの情報を含むセンサデータ、並びに、ユーザデータ、例えば、アプリケーション使用データ、ユーザのプロファイル、ソーシャルネットワーク情報、過去のサーチ、ロケーション／センサ情報など、追加情報または代替情報も、検出器３０８に送られうる。システムマネジャ３２０は、また、オブジェクトをトラッキングするためにコマンドを基準フリートラッカ３０２に送る（ステップＣ）。検出器３０８は、データを処理し、（１つまたは複数の）オブジェクトについての基準画像、ＳＩＦＴ特徴などの特徴、記述子などを有する線、メタデータ（拡張用など）、およびＡＲアプリケーションに戻すポーズのような、（１つまたは複数の）オブジェクトのリストを、システムマネジャ３２０に返すことができる（ステップＤ）。オブジェクトについての基準画像がローカルキャッシュ３１０に追加され（ステップＥ）、ローカルキャッシュ３１０は、オブジェクトの追加を確認応答する（ステップＦ）。基準フリートラッカ３０２は、初期画像と現在の画像との間のポーズの変化を検出器３１２に提供する（ステップＧ)。検出器３１２は、基準画像を使用して、現在のキャプチャ画像内でオブジェクトを見つけ、オブジェクトＩＤをシステムマネジャ３２０に提供する（ステップＨ)。追加的に、サーバベース検出器３０８によって提供されたポーズは、基準フリートラッカ３０２からのポーズの変化と共に検出器３１２によって使用されて、現在のポーズを生成し、それはまた、システムマネジャ３２０に提供される（ステップＨ）。システムマネジャ３２０は、オブジェクトトラッキングを停止するように基準フリートラッカ３０２に指示し（ステップＩ）、オブジェクトトラッキングを開始するように基準ベーストラッカ３１４に指示する（ステップＪ）。トラッキングは、トラッキングが失われる（ステップＫ）まで、基準ベーストラッカ３１４で継続する。
【００３５】
図５は、ポーズがサーバ１３０によって提供されない、サーバ支援型ＡＲのための別の呼出フロー図を示す。呼出フローは、ステップＤにおいて検出器３０８がポーズ情報をシステムマネジャ３２０に提供しないという点を除いて、図４に示された呼出フローと同様である。このように、検出器３１２は、現在の画像と、検出器３０８によって提供された基準画像とに基づいてポーズを決定し、そのポーズをシステムマネジャ３２０に提供する（ステップＧ）。
【００３６】
前述したように、シーン変化検出器３０４は、以前のキャプチャ画像に対する現在のキャプチャ画像の変化に基づいて、サーバ１３０に送られる検出要求の頻度を制御する。シーン変化検出器３０４は、重要な新しい情報が画像内に存在するときにのみオブジェクト検出を開始するために外部サーバ１３０と通信することが望ましいときに使用される。
【００３７】
図６は、シーン変化検出器３０４によって実行される方法のフローチャートを示す。シーン変化検出のためのプロセスは、基準フリートラッカ３０２（図３）からのメトリックと画像画素ヒストグラムとの組み合わせに基づく。前述したように、基準フリートラッカ３０２は、オプティカルフロー、正規化相互相関のようなアプローチ、および／または、例えば、点、線、または領域対応として、連続した画像間での相対的な動きをトラッキングするような任意のアプローチを使用する。ヒストグラムベースの方法は、短期間の間にシーンの情報コンテンツに有意な変化がある、ブックフリッピング（book flipping）のような特定のユースケースについて良好に機能し、したがって、シーン検出プロセスでの使用に有益であり、基準フリートラッキングプロセスは、シーン内の情報コンテンツに漸次的な変化があるパニング（panning）のような他のユースケースについて、変化を効率的に検出することができる。
【００３８】
このように、図６に示されるように、入力画像４０２が提供される。入力画像は、現在のキャプチャ画像であり、それは、現在のビデオフレームまたは写真でありうる。最後の画像がシーン変化検出をトリガしなかった場合（４０４）、シーン変化検出器の初期化（４０６）が実行される（４０６）。初期化は、画像をブロックに、例えば、ＱＶＧＡ画像の場合には８×８のブロックに、分割すること（４０８）と、例えばＭ個の最も強いコーナが保持されるＦＡＳＴ（Features from Accelerated Segment Test）コーナ検出器を用いて、各ブロックからキーポイントを抽出すること（４１０）とを含み、ここで、Ｍは２でありうる。もちろん、キーポイントを抽出するために、ハリスコーナ（Harris corners）、ＳＩＦＴ（Scale Invariant Feature Transform）特徴点、ＳＵＲＦ（Speeded-up Robust Features）、または他の任意の所望の方法など、他の方法が代替的に使用されうる。トリガ信号は返されない（４１２）。
【００３９】
最後の画像が、シーン変化検出をトリガした場合（４０４）、オプティカルフロープロセス４２０として示される基準フリートラッカ３０２（図３）から、および、ヒストグラムプロセス４３０として示される画像画素ヒストグラムから、メトリックが得られる。望ましい場合、基準フリートラッカ３０２は、正規化相互相関のような、オプティカルフロー以外のプロセスを使用してメトリックを生成することができる。オプティカルフロープロセス４２０は、例えば、正規化相互相関を用いて、以前の画像からコーナをトラッキングし（４２２）、現在の画像におけるそれらのロケーションを識別する。コーナは、画像を複数のブロックに分割し、例えば、以上で初期化４０６において説明したように、ＦＡＳＴコーナ閾値に基づいたＭ個の最強のコーナが保持されるＦＡＳＴコーナ検出器を用いて、各ブロックからキーポイントを選択することによって、以前に抽出されている可能性があり、あるいは、ハリスコーナの場合、ヘシアン（Hessian）閾値に基づいたＭ個の最も強いコーナが保持される。基準フリートラッキングは、現在の画像内のコーナ、およびトラッキングにおいて失われたコーナのロケーションを決定するために、連続した画像にわたって、選択されたコーナについて実行される。現在の反復において、すなわち、現在の画像と先行画像との間で失われたコーナの合計強度（４２４におけるｄ）は、第１の変化メトリックとして計算され、以前のトリガ以降に、すなわち、現在の画像と以前のトリガ画像との間で失われたコーナの合計強度（４２６におけるＤ）は、第２の変化メトリックとして計算され、それらは、ビデオ統計値計算４４０に提供される。ヒストグラムプロセス４３０は、現在の入力画像（Ｃと呼ばれる）をＢ×Ｂ個のブロックに分割し、各ブロックについて色ヒストグラムＨＣｉ，ｊを生成する（４３２）、ここにおいて、ｉおよびｊは、画像におけるブロックインデックスである。ヒストグラムのブロック単位（block-wise）比較が、例えばカイ二乗法（Chi-Square method）を使用して、Ｎ番目の過去の画像ＨＮｉ，ｊからの対応するブロックのヒストグラムを用いて実行される（４３４）。ヒストグラムの比較は、シーンが有意に変化したかどうかを識別するために、現在の画像とＮ番目の過去の画像との間の類似性を決定するのに役立つ。一例を用いると、Ｂは１０になるように選択されうる。カイ二乗法を用いて現在の画像とＮ番目の過去の画像のヒストグラムを比較するために、以下の計算が実行される：  
【数１】
0006000954.tif 000002
【００４０】
ブロック単位の比較は、異なる値のアレイｆｉｊを生成する。アレイｆｉｊはソートされ、ヒストグラム変化メトリックｈは、例えば、ソートされたアレイｆｉｊの中央の、半分のエレメントの平均として決定される（４３６）。ヒストグラム変化メトリックｈは、また、ビデオ統計値計算のために提供される。
【００４１】
前述したように、望まれる場合、シーン変化についてモニタされるべき入力画像の領域を低減するために、シーン変化検出の間、基準ベーストラッカ３１４（図３）によって提供されるトラッキングマスクが使用されることができる。トラッキングマスクは、オブジェクトが識別される領域を識別し、したがって、シーン変化モニタリングが省略されうる。このように、例えば、入力画像が、例えば４２２、４３２において、複数のブロックに分割されるときには、トラッキングマスクを使用して、識別されたオブジェクトを有する領域内であるブロックを識別することができ、その結果、それらのブロックは無視されうる。
【００４２】
ビデオ統計値計算４４０は、オプティカルフローメトリックｄ、Ｄ、ヒストグラム変化メトリックｈを受け取り、メトリックｄ、Ｄ、ｈと共に提供される、画像品質の決定を生成して、検出がトリガされるべきか否かを決定する。変化メトリックΔが計算され、閾値と比較され（４５８）て、トリガ信号を返す（４６０）。当然、変化メトリックΔが閾値未満である場合、トリガ信号は返されない。変化メトリックΔは、例えば以下のように、オプティカルフローメトリックｄ、Ｄ、およびヒストグラム変化メトリックｈに基づいて計算されうる（４５６）：  
【数２】
0006000954.tif 000003
【００４３】
ここで、α、β、およびγは、３つの統計値ｄ、Ｄ、ｈに対して相対的重要度を提供するように適切に選択される重みである（４５２）。一実施形態では、α、β、およびγの値は、実行時間全体の間、一定に設定されうる。代替的な実施形態では、α、β、およびγの値は、システムの性能についての受信された、起こり得るフィードバックに応じて、またはターゲットとされるユースケースに応じて適応されうる。例えば、パニングタイプのシーン変化検出を含むアプリケーションでは、このケースでは統計値ｄおよびＤがより高い信頼性を有しうるので、αおよびβの値は、γに比べて比較的高く設定されうる。代替的に、ヒストグラム統計値ｈがより有益となりうるブックフリッピングタイプのユースケースを主に含むアプリケーションでは、αおよびβの値は、γと比べて比較的低く設定されうる。閾値は、望まれる場合、ビデオ統計値計算４４０の出力に基づいて適応されうる（４５４）。
【００４４】
１つのケースでは、望まれる場合、シーン検出プロセスは、ヒストグラムからのメトリックなしに、基準フリートラッカ３０２からのメトリックに基づきうる。例えば、式２から得られる変化メトリックΔは、γ＝０で使用されうる。別の実装形態では、入力画像は、複数のブロック、および、例えば、前述したように、Ｍ個の最も強いコーナが保持されるＦＡＳＴ（Features from Accelerated Segment Test）コーナ検出器を用いて各ブロックから抽出された複数のキーポイントに分割されうる。現在の画像と以前の画像との間で、例えば閾値と比べて、十分な数のブロックが変化した場合、シーンは変化したと判定され、トリガ信号が返される。ブロックは、例えば、トラッキングされたコーナの数が別の閾値未満である場合、変化したとみなされうる。
【００４５】
さらに、望まれる場合、シーン検出プロセスは、単純に、画像内のコーナの合計数の強度と比べて、以前のトリガ以降に失われたコーナの合計強度（４２６のＤ）に基づくことができ、例えば、式２から得られる変化メトリックΔは、α＝０およびγ＝０で使用されうる。以前のトリガ以降に失われたコーナの合計強度は、以下のように決定されうる：  
【数３】
0006000954.tif 000004
【００４６】
式３では、ｓｊは、コーナｊの強度であり、ｔは、最後にトリガされた画像番号であり、ｃは、現在の画像番号であり、Ｌｉは、フレームｉにおける失われたコーナの識別子を含むセットである。望まれる場合、以下のような異なる変化メトリックΔが使用されうる：  
【数４】
0006000954.tif 000005
【００４７】
ここで、ＮＴは、トリガされた画像におけるコーナの合計数である。変化メトリックΔは、閾値と比較されうる（４５８）。
【００４８】
追加的に、前述したように、シーンの変化について探索される各画像のエリアを制限するために、トラッキングマスクがシーン変化検出器３０４によって使用されうる。換言すると、トリガマスクのエリア外のコーナの強度の損失は、関連メトリックである。シーン変化検出器３０４によって探索されるエリアのサイズの減少は、検出されることが予想されうるコーナの数の対応する減少をもたらす。このように、例えば以下のように、トラッキングマスクに起因するコーナの損失を補償するために、追加のパラメータが使用されうる：  
【数５】
0006000954.tif 000006
【００４９】
補償パラメータλは、変化メトリックΔを調整するために使用されうる。例えば、シーン検出プロセスが、単純に、以前のトリガ以降に、マスクされていないエリアにおいて失われたコーナの合計強度（Ｄ）に基づく場合、式４から得られる変化メトリックΔは以下のように修正されうる：  
【数６】
0006000954.tif 000007
【００５０】
ここで、Ｄｃは、式３によって与えられ（ここで、Ｌｉは、フレームｉにおけるマスクされていないエリア内の失われたコーナの識別子を含むセットとして定義される）、Ａｃは、画像ｃに関するマスクのエリアであり、Ａは、Ａｔ+１に初期設定される。
【００５１】
図７は、５つのページが５０秒でめくられる典型的なブックフリッピングユースケースに関するシステムの性能を示すチャートである。図７は、オブジェクト検出を要求するための要求されるネットワーク送信の数を、秒単位の最小トリガギャップの関数として示す。同一の最小トリガギャップに必要とされるネットワーク送信の数が少なくなるほど、より良い性能を意味する。定期的トリガについてのカーブ４８０と、ヒストグラム統計値がなく（γ＝０）、かつ基準ベーストラッカ３１４（図３）を用いない、オプティカルフローに基づくシーン変化検出器（ＳＣＤ）についてのカーブ４８２と、ヒストグラム統計値はない（γ＝０）が、基準ベーストラッカ３１４を用いる、オプティカルフローに基づくシーン変化検出器（ＳＣＤ）についてのカーブ４８４と、基準ベーストラッカ３１４およびタイミングマネジャ３０５（図３）を用いた、オプティカルフローとヒストグラムの組み合わせに基づくシーン変化検出器（ＳＣＤ）（図６に示された）についてのカーブ４８６とを含む、いくつかのカーブが示されている。図７からわかるように、組み合わせのシステムは、フリッピングユースケースにおいて他のシステムよりも性能が優れている。
【００５２】
図８は、サーバ支援型ＡＲプロセスを用いた顔認識へのアプローチを示す。図８に示されるように、モバイルプラットフォーム１１０は、顔の画像を獲得すること、並びに、ＳＰＳまたは位置／動きセンサデータのようなあらゆる他の有用なセンサ情報を獲得することを含む、データ獲得５０２を実行する。モバイルプラットフォーム１１０は、顔検出５０４を実行し、矢印５０６によって示されるように、１または複数の顔についての顔データ（顔の画像でありうる）、並びに、ＳＰＳまたは位置／動きセンサデータのようなあらゆる他の有用なデータをサーバ１３０に提供する。モバイルプラットフォーム１１０は、顔の２Ｄの動きをトラッキングする（５０８）。サーバ１３０は、例えば、グローバルデータベース５１２から読み出され、ローカルキャッシュ５１４に記憶されたデータを用いて、提供された顔データに基づいて顔認識５１０を実行する。サーバ１３０は、顔に関するデータ、例えば、アイデンティティまたは他の所望の情報をモバイルプラットフォーム１１０に提供し、それは、受信されたデータを使用して、ディプレイ１１４上に表示された顔に名称などで注釈をつけるか、あるいは、レンダリングされた拡張データを提供する（５１６）。
【００５３】
図９は、サーバ支援型ＡＲプロセスを用いた顔認識への別のアプローチを示す。図９は、図８に示されたアプローチに類似しており、同様に指定されたエレメントは同一である。ただし、図９に示されるように、画像はサーバ１３０に提供され（５０８’）、顔検出（５０４’）はサーバ１３０によって実行される。
【００５４】
図１０は、サーバ支援型ＡＲプロセスを用いた視覚探索へのアプローチを示す。図１０に示されるように、モバイルプラットフォーム１１０は、所望のオブジェクトの画像を獲得すること、並びに、ＳＰＳまたは位置／動きセンサデータのような他のあらゆる有用なセンサ情報を獲得することを含む、データ獲得（５２０）を実行する。モバイルプラットフォーム１１０は、特徴検出（５２２）を実行し、矢印５２６によって示されるように、検出された特徴、並びに、ＳＰＳまたは位置／動きセンサデータのような他のあらゆる有用なデータをサーバ１３０に提供する。モバイルプラットフォーム１１０は、特徴の２Ｄの動きをトラッキングする（５２４）。サーバ１３０は、例えば、グローバルデータベース５３０から読み出され、ローカルキャッシュ５３２に記憶されたデータを用いて、提供された特徴に基づいてオブジェクト認識５２８を実行する。サーバ１３０は、また、例えば、基準画像やポーズなどを取得するために、グローバルレジストレーション（５３４）を実行しうる。サーバ１３０は、基準画像やポーズなどのオブジェクトに関するデータをモバイルプラットフォーム１１０に提供し、それは、受信されたデータを使用して、ローカルレジストレーション（５３６）を実行する。モバイルプラットフォーム１１０は、次いで、ディスプレイ１１４上に表示されたオブジェクトに対して所望の拡張データをレンダリングしうる（５３８）。
【００５５】
図１１は、サーバ支援型ＡＲプロセスを用いた視覚探索への別のアプローチを示す。図１１は、図１０に示されたアプローチに類似しており、同様に指定されたエレメントは同一である。ただし、図１１に示されるように、全体画像は、サーバ１３０に提供され（５２６’）、特徴認識（５２２’）は、サーバ１３０によって実行される。
【００５６】
図１２は、サーバ支援型プロセスを用いた基準ベーストラッキングへのアプローチを示す。図１２に示されるように、モバイルプラットフォーム１１０は、所望のオブジェクトの画像を獲得すること、並びに、ＳＰＳまたは位置／動きセンサデータのような他のあらゆる有用なセンサ情報を獲得することを含む、データ獲得（５４０）を実行する。いくつかの実施形態では、モバイルプラットフォーム１１０は、テキスト認識またはバーコード読取など、サイド情報を生成しうる（５４１）。モバイルプラットフォーム１１０は、特徴検出（５４２）を実行し、矢印５４６によって示されるように、検出された特徴、並びに、ＳＰＳまたは位置／動きセンサデータのような他のあらゆる有用なデータ、さらに、生成された場合にはサイド情報を、サーバ１３０に提供する。モバイルプラットフォーム１１０は、例えば、点、線、または領域トラッキング、または、密なオプティカルフローを用いて特徴の２Ｄの動きをトラッキングする（５４４）。いくつかの実施形態では、サーバ１３０は、提供された特徴を用いて、マルチプルプレーン認識（multiple plane recognition）（５４８）を実行しうる。プレーンが識別されると、オブジェクト認識（５５０）が、例えば、グローバルデータベース５５２から読み出され、ローカルキャッシュ５５４に記憶されたデータを使用して、個々のプレーンまたはプレーンのグループに対して実行されうる。望まれる場合、他の任意の認識方法が使用される。いくつかの実施形態では、サーバ１３０はまた、望まれる場合、ポーズ推定（５５５）を実行し、これは、ホモグラフィ行列、アフィン行列、回転行列、変換行列を用いて、６自由度（six-degrees of freedom）で提供されうる。サーバ１３０は、基準画像のような、オブジェクトに関するデータをモバイルプラットフォーム１１０に提供し、それは、受信されたデータを使用して、ローカル・ホモグラフィ・レジストレーションまたはローカルエッセンシャル行列レジストレーションでありうるローカルレジストレーション（５５６）を実行する。前述したように、モバイルプラットフォーム１１０は、受信されたデータを記憶するためにローカルキャッシュ５５７を含むことができ、これは、トラッキングが失われた場合にモバイルプラットフォーム１１０において
実行されうる後続の再検出に有益でありうる。モバイルプラットフォーム１１０は、次いで、ディスプレイ１１４上に表示されたオブジェクトに対して所望の拡張データをレンダリングしうる（５５８）。
【００５７】
図１３は、サーバ支援型プロセスを用いた基準ベースのトラッキングへの別のアプローチを示す。図１３は、図１２に示されたアプローチに類似しており、同様に指定されたエレメントは同一である。ただし、図１３に示されるように、全体画像は、サーバ１３０に提供され（５４６’）、特徴認識（５４２’）は、サーバ１３０によって実行される。
【００５８】
図１４は、サーバ支援型プロセスを用いた３Ｄモデル作成へのアプローチを示す。図１４に示されるように、モバイルプラットフォーム１１０は、所望のオブジェクトの画像を獲得すること、並びに、ＳＰＳまたは位置／動きセンサデータのような他のあらゆる有用なセンサ情報を獲得することを含む、データ獲得（５６０）を実行する。モバイルプラットフォーム１１０は、２Ｄ画像処理（５６２）を実行し、例えば、オプティカルフローまたは正規化相互相関ベースのアプローチなどの基準フリートラッキングを用いて動きをトラッキングする（５６４）。モバイルプラットフォーム１１０は、ポーズの粗な推定を得るために、ローカルな６自由度のレジストレーション（５６８）を実行する。特定の実施形態ではこのデータは画像と共にサーバ１３０に提供されうる。サーバ１３０は、次いで、レジストレーションをリファインするためにバンドル調整（bundle adjustment）を実行しうる（５７０）。画像のセットおよび異なる視点からの３Ｄ点対応を考えると、バンドル調整アルゴリズムは、知られている基準座標システムにおける点の３Ｄ座標の推定を助け、異なる視点間でのカメラの相対的な動きの識別を助ける。バンドル調整アルゴリズムは、一般に、計算集約的な操作であり、モバイルプラットフォーム１１０からサイド情報を、利用可能な場合にはローカルキャッシュ５７２から追加情報を渡すことによって、サーバ側で効率的に実行されることができる。３Ｄ点のロケーションおよび相対的なポーズ（relative pose）が推定された後、それらは、モバイルプラットフォーム１１０に直接提供されることができる。代替的に、オブジェクトの３Ｄモデルがデータに基づいてサーバで構築され、そのようなデータがモバイルプラットフォーム１１０に送られることもできる。モバイルプラットフォーム１１０は、次いで、サーバ１３０から得られた情報を用いて、ディスプレイ１１４上に表示されたオブジェクトに対して所望の拡張データをレンダリングすることができる（５７６）。
【００５９】
システム構成全体が、モバイルプラットフォーム１１０、サーバ１３０、および、例えばネットワーク１２０のような通信インターフェースの能力に応じて適応可能でありうることに注意されたい。モバイルプラットフォーム１１０が専用プロセッサをもたないローエンドデバイスである場合、操作の大部分は、サーバ１３０にオフロードされうる。一方で、モバイルプラットフォーム１１０が、良い計算能力を有するハイエンドデバイスである場合、モバイルプラットフォーム１１０は、タスクの一部を実行して、より少ないタスクをサーバ１３０にオフロードすることを選択しうる。さらに、システムは、例えば、インターフェース上の利用可能な帯域幅に応じて異なるタイプの通信インターフェースを扱うように適応可能でありうる。
【００６０】
一実装形態では、サーバ１３０は、タスクに関して、および、タスクのどの部分がサーバ１３０にオフロードされ得るかに関して、モバイルプラットフォーム１１０にフィードバックを提供することができる。そのようなフィードバックは、サーバ１３０の能力、実行されるべき操作のタイプ、通信チャネル内の利用可能な帯域幅、モバイルプラットフォーム１１０および／またはサーバ１３０の電力レベルなどに基づきうる。例えば、サーバ１３０は、ネットワーク接続が悪く、データレートが低い場合、モバイルプラットフォーム１１０がより低い品質のバージョンの画像を送ることを推奨することができる。サーバ１３０は、また、データレートが低い場合、モバイルプラットフォームがより多くの処理をデータに対して実行し、処理済みのデータをサーバ１３０に送ることを提案しうる。例えば、モバイルプラットフォーム１１０は、通信リンクが低いデータレートを有する場合、オブジェクト検出のための特徴を計算し、画像全体を送る代わりに特徴を送ることができる。サーバ１３０は、ネットワーク接続が良い場合、または、画像内のオブジェクトを認識しようとする過去の試みが失敗であった場合、代わりに、モバイルプラットフォーム１１０がより高い品質のバージョンの画像を送ること、または、より頻繁に画像を送ること（それによって、最少フレームギャップηを低減する）を推奨しうる。
【００６１】
さらに、本明細書に記載のモバイル−サーバアーキテクチャは、１よりも多くのモバイルプラットフォーム１１０が使用されるシナリオにも拡張されうる。例えば、２つのモバイルプラットフォーム１１０は、同一の３Ｄオブジェクトを異なる角度から見ており、サーバ１３０は、両方のモバイルプラットフォーム１１０から得られたデータから共同のバンドル調整を実行して、オブジェクトの良好な３Ｄモデルのオブジェクトを作成することができる。そのようなアプリケーションは、マルチプレーヤゲーミングなどのアプリケーションに有用でありうる。
【００６２】
図１５は、サーバベースの検出を用いた分散処理が可能なモバイルプラットフォーム１１０のブロック図である。モバイルプラットフォーム１１０は、カメラ１１２と、カメラ１１２によってキャプチャされた画像を表示することが可能なディスプレイ１１４を含むユーザインターフェース１５０とを含む。ユーザインターフェース１５０は、また、キーパッド１５２、または、ユーザがそれを通じてモバイルプラットフォーム１１０に情報を入力できる他の入力デバイスを含みうる。望まれる場合、キーパッド１５２は、タッチセンサを備えたディスプレイ１１４に仮想キーパッドを一体化させることによって取り除かれる。ユーザインターフェース１５０は、また、例えばモバイルプラットフォームがセルラ電話である場合、マイクロフォン１５４およびスピーカ１５６を含みうる。
【００６３】
モバイルプラットフォーム１１０は、前述したように、外部サーバ１３０（図３）と通信するために使用されうる無線トランシーバ１６２を含むことができる。モバイルプラットフォーム１１０は、オプション的に、例えば、加速度計、ジャイロスコープ、電子コンパス、または、類似した他の動き感知エレメントを含む動きセンサ１６４、および、ＳＰＳシステムから測位信号を受信することが可能な衛星測位システム（ＳＰＳ）受信機１６６のような、ＡＲアプリケーションに役立ちうる追加の特徴を含みうる。当然、モバイルプラットフォーム１１０は、本開示と関係のない他のエレメントを含みうる。
【００６４】
モバイルプラットフォーム１１０は、また、カメラ１１２および無線トランシーバ１６２に、使用される場合にはユーザインターフェース１５０、動きセンサ１６４、およびＳＰＳ受信機１６６のような他の特徴とともに接続され、それらと通信する、制御ユニット１７０を含みうる。制御ユニット１７０は、前述したように、カメラ１１２からデータを受け入れて処理し、それに応答して無線トランシーバ１６２を通じて外部サーバとの通信を制御する。制御ユニット１７０は、プロセッサ１７１と、本明細書で説明された方法または方法の一部を実行するためにプロセッサ１７１によって実行されるソフトウェア１７３を含みうる関連メモリ１７２とによって提供されうる。制御ユニット１７０は、追加的にまたは代替的に、ハードウェア１７４および／またはファームウェア１７５を含みうる。
【００６５】
制御ユニット１７０は、前述したように外部サーバとの通信をトリガするシーン変化検出器３０４を含む。図３に示されたトリガ時間マネジャ３０５および画像品質推定器３０６のような追加のコンポーネントも含まれうる。制御ユニット１７０は、さらに、基準フリートラッカ３０２と、基準ベーストラッカ３１４と、例えばメモリ１７２内のローカルキャッシュに記憶されたオブジェクトに基づいて現在の画像内のオブジェクトを検出するために使用される、検出ユニット３１２とを含む。制御ユニット１７０は、さらに、ＡＲ情報を生成してディスプレイ１１４上に表示するために拡張現実（ＡＲ）ユニット１７８を含む。シーン変化検出器３０４、基準フリートラッカ３０２、基準ベーストラッカ３１４、検出ユニット３１２、ＡＲユニット１７８は、明瞭のために、別個に、かつ、プロセッサ１７１から離れて示されているが、それらは、単一のユニットであることができ、および／または、プロセッサ１７１によって読み取られプロセッサ１７１で実行されるソフトウェア１７３内の命令に基づいてプロセッサ１７１に実装されることができる。本明細書で使用されるとき、プロセッサ１７１、並びに、シーン変化検出器３０４、基準フリートラッカ３０２、基準ベーストラッカ３１４、検出ユニット３１２、およびＡＲユニット１７８のうちの１または複数は、１または複数のマイクロプロセッサ、組み込み式プロセッサ、コントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）などを含むことができるが、必ずしも含む必要はないことが理解されるであろう。プロセッサという用語は、特定のハードウェアというよりはむしろシステムによって実現される機能を説明することが意図されている。さらに、本明細書で使用される場合、「メモリ」という用語は、あらゆるタイプのコンピュータ記憶媒体を指し、それには、長期メモリ、短期メモリ、またはモバイルプラットフォームに関連付けられた他のメモリが含まれ、いずれか特定のタイプのメモリもしくは特定の数のメモリ、またはメモリが記憶される特定のタイプの媒体に限定されるべきではない。
【００６６】
本明細書で説明された方法は、アプリケーションに応じて様々な手段によって実施されうる。例えば、これらの方法は、ハードウェア１７４、ファームウェア１７５、ソフトウェア１７３、または、それらの組み合わせにおいて実装されうる。ハードウェア実装の場合、処理ユニットは、１または複数の特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書で説明された機能を実行するように設計された他の電子ユニット、または、それらの組み合わせ内に実装されうる。このように、センサデータを獲得するためのデバイスは、カメラ１１２、ＳＰＳ受信機１６６、動きセンサ１６４、並びに、カメラ１１２またはセンサデータを獲得するための他の手段によって生成された画像に基づいて、テキスト認識またはバーコード読取のようなサイド情報を生成しうるプロセッサを備えることができる。以前に獲得されたセンサデータと比べてセンサデータの変化を備えるトリガイベントが存在するか否かを判定するためのデバイスは、ソフトウェア１７３に組み込まれた命令を実行するプロセッサ１７１によってまたはハードウェア１７４もしくはファームウェア１７５において実施されうる検出ユニット３１２、または、以前に獲得されたセンサデータと比べてセンサデータにおける変化を備えるトリガイベントが存在するか否かを判定するための他の手段を備える。トリガイベントが存在するときにセンサデータをサーバに送信するデバイスは、無線トランシーバ１６２、またはトリガイベントが存在するときにセンサデータをサーバに送信するための他の手段を備える。サーバからのセンサデータに関連する情報を受信するデバイスは、無線トランシーバ１６２、またはサーバからセンサデータに関連する情報を受信するための他の手段を備える。オブジェクトに対するモバイルプラットフォームのポーズを得るためのデバイスは、基準フリートラッカ３０２、無線トランシーバ１６２、または、オブジェクトに対するモバイルプラットフォームのポーズを得るための他の手段を備える。オブジェクトの基準画像およびポーズを用いてオブジェクトをトラッキングするデバイスは、基準ベーストラッカ３１４、または、オブジェクトの基準画像およびポーズを使用してオブジェクトをトラッキングする他の手段を備える。以前のキャプチャ画像と比べてキャプチャ画像にシーン変化が存在するか否かを判定するデバイスは、ソフトウェア１７３に組み込まれた命令を実行するプロセッサ１７１によってまたはハードウェア１７４もしくはファームウェア１７５において実施されうるシーン変化検出器３０４、または、以前のキャプチャ画像と比べてキャプチャ画像にシーン変化が存在するか否かを判定する他の手段を備える。
【００６７】
ファームウェアおよび／またはソフトウェア実装では、方法は、本明細書で説明された機能を実行するモジュール（例えば、プロシージャ、関数など）で実現されうる。命令を有形に組み込んだ任意の機械読取可能な媒体は、本明細書で説明された方法を実施する際に使用されうる。例えば、ソフトウェア１７３は、メモリ１７２に記憶され、プロセッサ１７１によって実行されるプログラムコードを含みうる。メモリは、プロセッサ１７１内で、またはプロセッサ１７１の外部で実装されうる。
【００６８】
ファームウェアおよび／またはソフトウェア実装の場合、機能は、コンピュータ読取可能な媒体上の１または複数の命令またはコードとして記憶されうる。例としては、データ構造でエンコードされた非一時的なコンピュータ読取可能な媒体、およびコンピュータプログラムでエンコードされたコンピュータ読取可能な媒体が含まれる。コンピュータ読取可能な媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによりアクセスされることができる任意の利用可能な媒体でありうる。非限定的な例として、そのようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気ディスク記憶デバイス、または、コンピュータによってアクセスでき、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されることができる他の媒体を備えることができる。ディスク（ｄｉｓｋ）とディスク（ｄｉｓｃ）は、本明細書で使用される場合、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、ブルーレイ（登録商標）ディスクを含む。ここで、ディスク（ｄｉｓｋ）は、通常、磁気作用によってデータを再生し、ディスク（ｄｉｓｃ）は、レーザーで光学的にデータを再生する。上記の組み合わせもコンピュータ読取可能な媒体の範囲に含まれるべきである。
【００６９】
本発明について、教示の目的で特定の実施形態に関して示したが、本発明は、それらに制限されない。本発明の範囲から逸脱することなく、様々な適応および修正が行われうる。したがって、添付の請求項の趣旨および範囲は、上記説明に制限されるべきではない。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
方法であって、
モバイルプラットフォームを用いてセンサデータを獲得することと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定することと、
前記トリガイベントが存在する場合、前記センサデータをサーバに送信することと、
前記センサデータに関連する情報を前記サーバから受信することと
を備える方法。
［Ｃ２］
前記センサデータは、オブジェクトのキャプチャ画像を備える、Ｃ１に記載の方法。
［Ｃ３］
前記センサデータを前記サーバに送信する前に前記キャプチャ画像の品質を決定することをさらに備え、前記センサデータは、前記キャプチャ画像の前記品質が閾値よりも良い場合にのみ、前記サーバに送信される、Ｃ２に記載の方法。
［Ｃ４］
前記キャプチャ画像の前記品質を決定することは、前記キャプチャ画像の鮮明度を分析することと、前記キャプチャ画像内の検出されたコーナの数を分析することと、学習分類子とともに前記画像から得られた統計値を使用することと、のうちの少なくとも１つを備える、Ｃ３に記載の方法。
［Ｃ５］
前記サーバから受信された前記センサデータに関連する前記情報に基づいて、前記オブジェクトについての拡張をレンダリングすることをさらに備える、Ｃ２に記載の方法。
［Ｃ６］
前記センサデータに関連する前記情報は、前記オブジェクトの識別を備える、Ｃ２に記載の方法。
［Ｃ７］
前記キャプチャ画像は、複数のオブジェクトを備え、前記センサデータに関連する前記情報は、前記複数のオブジェクトの識別を備える、Ｃ２に記載の方法。
［Ｃ８］
前記モバイルプラットフォームについて前記複数のオブジェクトの各々に関するポーズを取得することと、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記複数のオブジェクトの各々をトラッキングすることと
をさらに備える、Ｃ７に記載の方法。
［Ｃ９］
前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得することと、
前記ポーズ、および前記センサデータに関連する前記情報を用いて、前記オブジェクトをトラッキングすることと
をさらに備える、Ｃ２に記載の方法。
［Ｃ１０］
前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記ポーズを取得することは、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記サーバから受信することを備える、Ｃ９に記載の方法。
［Ｃ１１］
前記第１のポーズが前記サーバから受信されるまで前記オブジェクトの基準フリートラッキングを実行することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記第１のポーズが前記サーバから受信されたとき、前記オブジェクトの第２のキャプチャ画像を獲得することと、
漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングすることと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記漸次的な変化および前記第１のポーズを使用することと
をさらに備える、Ｃ１０に記載の方法。
［Ｃ１３］
前記オブジェクトの第２のキャプチャ画像を獲得することと、
前記基準画像を用いて、前記第２のキャプチャ画像内の前記オブジェクトを検出することと、
前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために、前記基準画像および前記第２のキャプチャ画像で検出された前記オブジェクトを使用することと、
前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用することと
をさらに備える、Ｃ１０に記載の方法。
［Ｃ１４］
前記センサデータに関連する前記情報は、前記オブジェクトの二次元（２Ｄ）モデル、前記オブジェクトの三次元（３Ｄ）モデル、拡張情報、前記オブジェクトについての顕著性情報、および、オブジェクトマッチングに関連する情報のうちの少なくとも１つを備える、Ｃ２に記載の方法。
［Ｃ１５］
前記トリガイベントが存在するか否かを判定することは、以前のキャプチャ画像と比べて前記キャプチャ画像におけるシーン変化が存在するか否かを判定することを備える、Ｃ２に記載の方法。
［Ｃ１６］
前記シーン変化が存在するか否かを判定することは、
前記キャプチャ画像および前記以前のキャプチャ画像を用いて第１の変化メトリックを決定することと、
以前のトリガイベントから第２の以前のキャプチャ画像と前記キャプチャ画像とを用いて第２の変化メトリックを決定することと、
前記キャプチャ画像についてのヒストグラム変化メトリックを生成することと、
前記シーン変化を判定するために、前記第１の変化メトリック、前記第２の変化メトリック、および前記ヒストグラム変化メトリックを使用することと
を備える、Ｃ１５に記載の方法。
［Ｃ１７］
前記センサデータに関連する前記情報は、オブジェクト識別を備え、前記方法は、さらに、
前記オブジェクトの追加のキャプチャ画像を獲得することと、
前記オブジェクト識別を用いて、前記追加のキャプチャ画像内の前記オブジェクトを識別することと、
前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成することと、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示す、
前記追加のキャプチャ画像の残りの領域を識別するために、前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用することと、
前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出することと
を備える、Ｃ２に記載の方法。
［Ｃ１８］
前記センサデータは、画像データ、動きセンサデータ、位置データ、バーコード認識、テキスト検出結果、および、コンテキスト情報のうちの１つまたは複数を含む、Ｃ１に記載の方法。
［Ｃ１９］
前記コンテキスト情報は、ユーザ挙動、ユーザ選好、ロケーション、前記ユーザについての情報、時刻、および照明品質のうちの１つまたは複数を含む、Ｃ１８に記載の方法。
［Ｃ２０］
前記センサデータは、顔の画像を備え、前記サーバから受信された前記情報は、前記顔に関連付けられたアイデンティティを備える、Ｃ１に記載の方法。
［Ｃ２１］
前記センサデータは、異なる位置にあるカメラを用いてキャプチャされたオブジェクトの複数の画像と、前記オブジェクトに対する前記カメラのポーズの粗な推定とを備え、前記サーバから受信された前記情報は、前記ポーズのリファインメントおよび前記オブジェクトの三次元モデルのうちの少なくとも１つを備える、Ｃ１に記載の方法。
［Ｃ２２］
モバイルプラットフォームであって、
センサデータを獲得するように適合されたセンサと、
無線トランシーバと、
前記センサと前記無線トランシーバとに結合されたプロセッサであって、前記センサを介してセンサデータを獲得し、以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定し、前記トリガイベントが存在する場合、前記無線トランシーバを介して前記センサデータを外部プロセッサに送信し、前記無線トランシーバを介して前記外部プロセッサから前記センサデータに関連する情報を受信するように適合されたプロセッサと
を備えるモバイルプラットフォーム。
［Ｃ２３］
前記センサは、カメラであり、前記センサデータは、オブジェクトのキャプチャ画像を備える、Ｃ２２に記載のモバイルプラットフォーム。
［Ｃ２４］
前記プロセッサは、前記センサデータが前記外部プロセッサに送信される前に前記キャプチャ画像の品質を決定するようにさらに適合され、前記センサデータは、前記キャプチャ画像の前記品質が閾値よりも良い場合にのみ、前記外部プロセッサに送信される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ２５］
前記プロセッサは、前記キャプチャ画像の鮮明度の分析、前記キャプチャ画像内の検出されたコーナの数の分析、および前記画像から得られた統計値での学習分類子の処理のうちの少なくとも１つを実行するように適合されることによって、前記キャプチャ画像の前記品質を決定するように適合される、Ｃ２４に記載のモバイルプラットフォーム。
［Ｃ２６］
前記プロセッサは、さらに、前記無線トランシーバを介して受信された前記センサデータに関連する前記情報に基づいて前記オブジェクトに対して拡張をレンダリングするように適合される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ２７］
前記センサデータに関連する前記情報は、前記オブジェクトの識別を備える、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ２８］
前記キャプチャ画像は、複数のオブジェクトを備え、前記センサデータに関連する前記情報は、前記複数のオブジェクトの識別を備える、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ２９］
前記プロセッサは、さらに、前記モバイルプラットフォームに関して前記複数のオブジェクトの各々についてのポーズを取得し、前記ポーズおよび前記センサデータに関連する前記情報を用いて前記複数のオブジェクトの各々をトラッキングするように適合される、Ｃ２８に記載のモバイルプラットフォーム。
［Ｃ３０］
前記プロセッサは、さらに、前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得し、前記ポーズおよび前記センサデータに関連する前記情報を用いて前記オブジェクトをトラッキングするように適合される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ３１］
前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記プロセッサは、前記キャプチャ画像および前記基準画像に基づいて第１のポーズを前記外部プロセッサから受信するように適合される、Ｃ３０に記載のモバイルプラットフォーム。
［Ｃ３２］
前記プロセッサは、さらに、前記第１のポーズが前記サーバから受信されるまで、前記オブジェクトの基準フリートラッキングを実行するように適合される、Ｃ３１に記載のモバイルプラットフォーム。
［Ｃ３３］
前記プロセッサは、さらに、前記第１のポーズが前記外部プロセッサから受信されるとき、前記オブジェクトの第２のキャプチャ画像を獲得し、漸次的な変化を決定するために、前記キャプチャ画像と前記第２のキャプチャ画像との間で前記オブジェクトをトラッキングし、前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために前記漸次的な変化と前記第１のポーズとを使用するように適合される、Ｃ３１に記載のモバイルプラットフォーム。
［Ｃ３４］
前記プロセッサは、さらに、前記オブジェクトの第２のキャプチャ画像を獲得し、前記基準画像を用いて前記第２のキャプチャ画像内の前記オブジェクトを検出し、前記オブジェクトに対する前記モバイルプラットフォームの前記ポーズを取得するために前記第２のキャプチャ画像および前記基準画像において検出された前記オブジェクトを使用し、前記オブジェクトの基準ベースのトラッキングを初期化するために前記ポーズを使用するように適合される、Ｃ３１に記載のモバイルプラットフォーム。
［Ｃ３５］
前記プロセッサはさらに、前記オブジェクトの二次元（２Ｄ）モデル、前記オブジェクトの三次元（３Ｄ）モデル、拡張情報、前記オブジェクトについての顕著性情報、および、オブジェクトマッチングに関連する情報のうちの少なくとも１つを前記外部プロセッサから前記無線送信機を介して受信するように適合される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ３６］
前記プロセッサは、以前のキャプチャ画像に対して前記キャプチャ画像におけるシーン変化が存在するか否かを判定するように適合されることによって、前記トリガイベントが存在するか否かを判定するように適合される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ３７］
前記プロセッサは、前記キャプチャ画像および前記以前のキャプチャ画像を用いて第１の変化メトリックを決定し、以前のトリガイベントから第２の以前のキャプチャ画像と前記キャプチャ画像とを用いて第２の変化メトリックを決定し、前記キャプチャ画像についてのヒストグラム変化メトリックを生成し、前記シーン変化を判定するために、前記第１の変化メトリック、前記第２の変化メトリック、および前記ヒストグラム変化メトリックを使用するように適合されることによって、前記シーン変化が存在するか否かを決定するように適合される、Ｃ３６に記載のモバイルプラットフォーム。
［Ｃ３８］
前記センサデータに関連する前記情報は、オブジェクト識別を備えており、前記プロセッサは、さらに、前記オブジェクトの追加のキャプチャ画像を獲得し、前記オブジェクト識別を用いて前記追加のキャプチャ画像内の前記オブジェクトを識別し、前記オブジェクト識別に基づいて前記追加のキャプチャ画像のためのトラッキングマスクを生成し、ここで、前記トラッキングマスクは、前記オブジェクトが識別される前記追加のキャプチャ画像内の領域を示しており、前記追加のキャプチャ画像の残りの領域を識別するために前記トラッキングマスクを前記オブジェクトの前記追加のキャプチャ画像と共に使用し、前記追加のキャプチャ画像の前記残りの領域におけるシーン変化を備えるトリガイベントを検出するように適合される、Ｃ２３に記載のモバイルプラットフォーム。
［Ｃ３９］
前記センサデータは、画像データ、動きセンサデータ、位置データ、バーコード認識、テキスト検出結果、およびコンテキスト情報のうちの１または複数を含む、Ｃ２２に記載のモバイルプラットフォーム。
［Ｃ４０］
前記コンテキスト情報は、ユーザ挙動、ユーザ選好、ロケーション、前記ユーザについての情報、時刻、および照明品質のうちの１つまたは複数を含む、Ｃ３９に記載のモバイルプラットフォーム。
［Ｃ４１］
前記センサはカメラを備え、前記センサデータは顔の画像を備え、前記無線トランシーバを介して受信された前記情報は、前記顔に関連付けられたアイデンティティを備える、Ｃ２２に記載のモバイルプラットフォーム。
［Ｃ４２］
前記センサはカメラを備え、前記センサデータは、異なる位置にある前記カメラを用いてキャプチャされたオブジェクトの複数の画像と、前記オブジェクトに対する前記カメラのポーズの粗な推定とを備え、前記サーバから受信される前記情報は、前記ポーズのリファインメントおよび前記オブジェクトの三次元モデルのうちの少なくとも１つを備える、Ｃ２２に記載のモバイルプラットフォーム。
［Ｃ４３］
モバイルプラットフォームであって、
センサデータを獲得する手段と、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定する手段と、
前記トリガイベントが存在する場合、前記センサデータをサーバに送信する手段と、
前記センサデータに関連する情報を前記サーバから受信する手段と
を備えるモバイルプラットフォーム。
［Ｃ４４］
センサデータを獲得する前記手段はカメラであり、前記センサデータはオブジェクトのキャプチャ画像であり、前記センサデータに関連する前記情報は、前記オブジェクトの基準画像を備え、前記モバイルプラットフォームは、さらに、
前記オブジェクトに対する前記モバイルプラットフォームのポーズを取得する手段と、
前記ポーズおよび前記オブジェクトの基準画像を用いて前記オブジェクトをトラッキングする手段とを備える、Ｃ４３に記載のモバイルプラットフォーム。
［Ｃ４５］
センサデータを獲得する前記手段はカメラであり、前記センサデータは、オブジェクトのキャプチャ画像であり、前記トリガイベントが存在するか否かを判定する前記手段は、以前のキャプチャ画像と比べて前記キャプチャ画像におけるシーン変化が存在するか否かを判定する手段を備える、Ｃ４３に記載のモバイルプラットフォーム。
［Ｃ４６］
プログラムコードを格納した非一時的なコンピュータ読取可能な媒体であって、
センサデータを獲得するためのプログラムコードと、
以前に獲得されたセンサデータと比べて前記センサデータにおける変化を備えるトリガイベントが存在するか否かを判定するためのプログラムコードと、
前記トリガイベントが存在する場合、前記センサデータを外部プロセッサに送信するためのプログラムコードと、
前記外部プロセッサから前記センサデータに関連する情報を受信するためのプログラムコードとを備える、非一時的なコンピュータ読取可能な媒体。
［Ｃ４７］
前記センサデータは、オブジェクトのキャプチャ画像であり、前記センサデータに関連する情報は、前記オブジェクトの基準画像を備え、前記非一時的なコンピュータ読取可能な媒体は、
前記オブジェクトに対するポーズを取得するためのプログラムコードと、
前記ポーズおよび前記オブジェクトの前記基準画像を用いて前記オブジェクトをトラッキングするためのプログラムコードとをさらに備える、Ｃ４６に記載の非一時的なコンピュータ読取可能な媒体。
［Ｃ４８］
前記センサデータは、オブジェクトのキャプチャ画像であり、前記トリガイベントが存在するか否かを判定するための前記プログラムコードは、以前のキャプチャ画像と比べて前記キャプチャ画像においてシーン変化が存在するか否かを判定するためのプログラムコードを備える、Ｃ４６に記載の非一時的なコンピュータ読取可能な媒体。
【図１】
0006000954.tif 000008
【図２】
0006000954.tif 000009
【図３】
0006000954.tif 000010
【図４】
0006000954.tif 000011
【図５】
0006000954.tif 000012
【図６】
0006000954.tif 000013
【図７】
0006000954.tif 000014
【図８】
0006000954.tif 000015
【図９】
0006000954.tif 000016
【図１０】
0006000954.tif 000017
【図１１】
0006000954.tif 000018
【図１２】
0006000954.tif 000019
【図１３】
0006000954.tif 000020
【図１４】
0006000954.tif 000021
【図１５】
0006000954.tif 000022