(57)【要約】  モバイルデバイスを用いて自己位置推定と地図作成とを実行するためのシステムと方法とが開示される。一実施形態では、モバイルデバイスを用いて自己位置推定と地図作成とを実行するための方法は、モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するステップと、モバイルデバイスの少なくとも第1のカメラによって撮影された、現在エリアの少なくとも1つの画像を取得するステップと、モバイルデバイスの第2のカメラまたはモバイルデバイスのセンサのうちの少なくとも1つを介して現在エリアに関連するデータを取得するステップと、現在エリアに関連する幾何学的制約とデータとを少なくとも1つの画像に適用することによって、現在エリアについて自己位置推定と地図作成とを実行するステップとを含む。
2016504611.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスのための自己位置推定と地図作成とを実行する方法であって、
前記モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するステップと、
前記モバイルデバイスの少なくとも第1のカメラによって撮影された、前記現在エリアの少なくとも1つの画像を取得するステップと、
前記モバイルデバイスの第2のカメラまたは前記モバイルデバイスのセンサのうちの少なくとも1つを介して、前記現在エリアに関連するデータを取得するステップと、
前記現在エリアに関連する前記幾何学的制約と前記データとを、前記少なくとも1つの画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行するステップと、
を備える、方法。
【請求項２】
前記少なくとも1つの画像が、前記モバイルデバイスの前記第1のカメラによって撮影された第1の画像と、前記モバイルデバイスの前記第2のカメラによって撮影された、前記現在エリアの第2の画像とを備える、請求項1に記載の方法。
【請求項３】
前記現在エリアに関連する前記データを取得するステップが、
前記第1の画像と前記第2の画像とを評価するステップと、
前記評価するステップに基づいて、前記第1の画像または前記第2の画像のいずれかを一次画像として、また前記第1の画像と前記第2の画像のうちの他方を二次画像として指定するステップと、
を備える、請求項2に記載の方法。
【請求項４】
前記現在エリアに関連する前記データを取得するステップが、前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記モバイルデバイスが位置する環境に対する前記モバイルデバイスの姿勢を計算するステップをさらに備える、請求項3に記載の方法。
【請求項５】
前記自己位置推定と地図作成とを実行するステップが、
前記一次画像から第1の画像特性を抽出するステップと、
前記モバイルデバイスが位置する前記環境に対する前記モバイルデバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出するステップと、
前記第1の画像特性と前記第2の画像特性とに基づいて、前記現在エリアについて自己位置推定と地図作成とを実行するステップと、
を備える、請求項4に記載の方法。
【請求項６】
前記評価するステップが、前記第1の画像内と前記第2の画像内の特性、または前記第1の画像と前記第2の画像の画質のうちの少なくとも1つに対して、前記第1の画像と前記第2の画像とを評価するステップを備える、請求項3に記載の方法。
【請求項７】
前記第1のカメラが前向きカメラであり、前記第2のカメラが横向きカメラまたは後向きカメラである、請求項1に記載の方法。
【請求項８】
前記現在エリアに関連する前記データを取得するステップが、前記モバイルデバイスで方位センサからデータを収集するステップを備え、前記自己位置推定と地図作成とを実行するステップが、前記方位センサから収集された前記データに基づいて前記モバイルデバイスの方位を推定するステップを備える、請求項1に記載の方法。
【請求項９】
前記自己位置推定と地図作成とを実行するステップが、前記幾何学的制約を前記少なくとも1つの画像から抽出された特性に適用することによって、前記モバイルデバイスの前記方位に関する特性を前記少なくとも1つの画像から抽出するステップをさらに備える、請求項8に記載の方法。
【請求項１０】
前記幾何学的制約と前記モバイルデバイスの前記方位とに基づいて、前記少なくとも1つの画像から抽出された前記特性の地図作成または追跡のうちの少なくとも1つを実行するステップをさらに備える、請求項9に記載の方法。
【請求項１１】
前記幾何学的制約と前記モバイルデバイスの前記方位とに基づいて、前記少なくとも1つの画像内で面を特定するステップであって、前記面が水平面または垂直面のうちの少なくとも1つを備える、特定するステップと、
ディスプレイ画面上で表示するために前記少なくとも1つの画像を描画するステップと、
前記ディスプレイ画面上で、前記少なくとも1つの画像内で特定された前記面のうちの少なくとも1つの上に拡張を描画するステップと、
をさらに備える、請求項8に記載の方法。
【請求項１２】
前記幾何学的制約が壁の位置を含む、請求項1に記載の方法。
【請求項１３】
自己位置推定と地図作成とを実行するように動作可能なモバイルデバイスであって、
前記デバイスが位置する現在エリアに関連する幾何学的制約を特定するように構成された追跡モジュールと、
前記追跡モジュールに通信可能に結合され、前記現在エリアの少なくとも1つの画像を撮影するように構成された少なくとも1つのカメラと、
前記追跡モジュールに通信可能に結合され、前記現在エリアに関連するデータを取得するように構成された少なくとも1つのデバイスセンサであって、前記少なくとも1つのデバイスセンサが、カメラまたは方位センサのうちの少なくとも1つを備える、少なくとも1つのデバイスセンサと、
前記追跡モジュールに通信可能に結合され、前記現在エリアに関連する前記幾何学的制約と前記データとを、前記少なくとも1つの画像に適用することに少なくとも一部よって、前記現在エリアについて自己位置推定と地図作成とを実行するように構成された、同時自己位置推定および地図作成(SLAM)サブシステムと、
を備える、デバイス。
【請求項１４】
前記少なくとも1つのカメラが、第1のカメラと第2のカメラとを備え、
前記少なくとも1つの画像が、前記第1のカメラによって撮影された第1の画像と、前記第2のカメラによって撮影された第2の画像とを備える、
請求項13に記載のデバイス。
【請求項１５】
前記第1のカメラと前記第2のカメラとに通信可能に結合され、前記第1の画像と前記第2の画像とを評価し、前記評価に基づいて、前記第1の画像または前記第2の画像のいずれかを一次画像として、また前記第1の画像と前記第2の画像のうちの他方を二次画像として指定するように構成されたカメラ画像評価部をさらに備える、請求項14に記載のデバイス。
【請求項１６】
前記追跡モジュールが、前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記デバイスが位置する環境に対する前記デバイスの姿勢を計算するようにさらに構成されている、請求項15に記載のデバイス。
【請求項１７】
前記SLAMサブシステムが、前記一次画像から第1の画像特性を抽出し、前記デバイスが位置する前記環境に対する前記デバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出し、前記第1の画像特性と前記第2の画像特性とに基づいて前記現在エリアについて自己位置推定と地図作成とを実行するようにさらに構成されている、請求項16に記載のデバイス。
【請求項１８】
前記カメラ画像評価部が、前記第1の画像内と前記第2の画像内の特性、または前記第1の画像と前記第2の画像の画質のうちの少なくとも1つに対して、前記第1の画像と前記第2の画像とを評価するようにさらに構成されている、請求項15に記載のデバイス。
【請求項１９】
前記第1のカメラが前向きカメラであり、前記第2のカメラが横向きカメラまたは後向きカメラである、請求項14に記載のデバイス。
【請求項２０】
前記方位センサが、前記デバイスの方位に関するデータを生成するように構成され、前記追跡モジュールが、前記方位センサによって生成された前記データに基づいて前記デバイスの前記方位を推定するように構成された姿勢推定モジュールを備える、請求項13に記載のデバイス。
【請求項２１】
前記SLAMサブシステムが、前記幾何学的制約を前記少なくとも1つの画像から抽出された特性に適用することに少なくとも一部よって、前記デバイスの前記方位に関する特性を前記少なくとも1つの画像から抽出するように構成されている、請求項20に記載のデバイス。
【請求項２２】
前記SLAMサブシステムが、前記幾何学的制約と前記デバイスの前記方位とに基づいて、前記少なくとも1つの画像内で、水平面または垂直面のうちの少なくとも1つを備える面を特定するようにさらに構成され、
前記デバイスが、ディスプレイ画面と、前記ディスプレイ画面上で表示するために前記少なくとも1つの画像を描画し、前記ディスプレイ画面上で、前記少なくとも1つの画像内で特定された面のうちの少なくとも1つの上で拡張を描画するように構成されたグラフィックプロセッサとをさらに備える、
請求項20に記載のデバイス。
【請求項２３】
前記幾何学的制約が少なくとも壁の位置を含む、請求項13に記載のデバイス。
【請求項２４】
モバイルデバイスのための自己位置推定と地図作成とを実行することを促進する装置であって、
前記モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するための手段と、
前記モバイルデバイスの少なくとも第1のカメラによって撮影された前記現在エリアの少なくとも1つの画像を取得するための手段と、
前記モバイルデバイスの第2のカメラまたは前記モバイルデバイスのセンサのうちの少なくとも1つを介して、前記現在エリアに関連するデータを取得するための手段と、
前記現在エリアに関連する前記幾何学的制約とデータとを前記少なくとも1つの画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行するための手段と、
を備える、装置。
【請求項２５】
前記現在エリアに関連する前記データが、前記モバイルデバイスの前記第2のカメラによって撮影された、前記現在エリアの第2の画像を備える、請求項24に記載の装置。
【請求項２６】
前記現在エリアに関連する前記データを取得するための前記手段が、
前記少なくとも1つの画像と前記第2の画像とを評価するための手段と、
前記評価に基づいて、前記少なくとも1つの画像または前記第2の画像のいずれかを一次画像として、また前記少なくとも1つの画像と前記第2の画像のうちの他方を二次画像として指定するための手段と、
を備える、請求項25に記載の装置。
【請求項２７】
前記現在エリアに関連する前記データを取得するための前記手段が、前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記モバイルデバイスが位置する環境に対する前記モバイルデバイスの姿勢を計算するための手段をさらに備える、請求項26に記載の装置。
【請求項２８】
前記自己位置推定と地図作成とを実行するための前記手段が、
前記一次画像から第1の画像特性を抽出するための手段と、
前記モバイルデバイスが位置する前記環境に対する前記モバイルデバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出するための手段と、
前記第1の画像特性と前記第2の画像特性とに基づいて、前記現在エリアについて自己位置推定と地図作成とを実行するための手段と、
を備える、請求項27に記載の装置。
【請求項２９】
評価するための前記手段が、前記少なくとも1つの画像内と前記第2の画像内の特性、または前記少なくとも1つの画像と前記第2の画像の画質のうちの少なくとも1つに対して、前記少なくとも1つの画像と前記第2の画像とを評価するための手段を備える、請求項26に記載の装置。
【請求項３０】
前記第1のカメラが前向きカメラであり、前記第2のカメラが横向きカメラまたは後向きカメラである、請求項25に記載の装置。
【請求項３１】
前記現在エリアに関連する前記データを取得するための前記手段が、前記モバイルデバイスで方位センサからデータを収集するための手段を備え、前記自己位置推定と地図作成とを実行するための前記手段が、前記方位センサから収集された前記データに基づいて前記モバイルデバイスの方位を推定するための手段を備える、請求項24に記載の装置。
【請求項３２】
前記自己位置推定と地図作成とを実行するための前記手段が、前記幾何学的制約を前記少なくとも1つの画像から抽出された特性に適用することによって、前記モバイルデバイスの前記方位に関する特性を前記少なくとも1つの画像から抽出するための手段をさらに備える、請求項31に記載の装置。
【請求項３３】
前記幾何学的制約と前記モバイルデバイスの前記方位とに基づいて、前記少なくとも1つの画像内で面を特定するための手段であって、前記面が水平面または垂直面のうちの少なくとも1つを備える、特定するための手段と、
ディスプレイ画面上で表示するために前記少なくとも1つの画像を描画するための手段と、
前記ディスプレイ画面上で、前記少なくとも1つの画像内で特定された前記面のうちの少なくとも1つの上に拡張を描画するための手段と、
をさらに備える、請求項31に記載の装置。
【請求項３４】
前記幾何学的制約が壁の位置を含む、請求項24に記載の装置。
【請求項３５】
プロセッサに、
モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定することと、
前記モバイルデバイスの少なくとも第1のカメラによって撮影された、前記現在エリアの少なくとも1つの画像を取得することと、
前記モバイルデバイスの第2のカメラまたは前記モバイルデバイスのセンサのうちの少なくとも1つを介して、前記現在エリアに関連するデータを取得することと、
前記現在エリアに関連する前記幾何学的制約と前記データとを前記少なくとも1つの画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行することと、
を行わせるように構成されたプロセッサ実行可能命令を備える、非一時的なコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自己位置推定(localization)と地図作成(mapping)とを実行する分野に関する。
【背景技術】
【０００２】
拡張現実(AR)は、コンピュータ生成されたオーディオコンテンツおよび/またはビジュアルコンテンツを用いて拡張された、現実世界環境の光景を提供する。オーディオコンテンツおよび/またはビジュアルコンテンツは、モバイルデバイスのカメラを使用して撮影された現実世界環境の画像または映像の上に重ねる、または統合することができる。たとえば、拡張現実アプリケーションは、現実世界の光景の画像または映像を撮影するために使用することができるカメラと、現実世界環境の拡張された光景を表示するために使用することができるディスプレイとを含む、携帯電話またはタブレットコンピュータ上で実装することができる。
【０００３】
デバイスは、デバイスの位置、方位、速度、および/または動きの方向を判断するために使用することができるデータを収集する、1つまたは複数のセンサを含むことができる。拡張コンテンツの生成においてデバイスを補助するためにこの情報を使用することができる。また、センサは、デバイス上で表示される拡張コンテンツをユーザが操作できるようにするために使用することができる、タッチスクリーンでのタッチなどのユーザからの入力情報またはその他の入力情報を収集するために使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
モバイルデバイスの自己位置推定と地図作成とを実行するためのシステムと方法とを説明する。本開示における、モバイルデバイスの自己位置推定と地図作成とを実行する方法の一例は、モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するステップと、モバイルデバイスの少なくとも第1のカメラによって撮影された、現在エリアの少なくとも1つの画像を取得するステップと、モバイルデバイスの第2のカメラまたはモバイルデバイスのセンサのうちの少なくとも1つを介して現在エリアに関連するデータを取得するステップと、現在エリアに関連する幾何学的制約とデータとを少なくとも1つの画像に適用することによって、現在エリアについて自己位置推定と地図作成とを実行するステップとを含む。
【０００５】
方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。少なくとも1つの画像は、モバイルデバイスの第1のカメラによって撮影された第1の画像と、モバイルデバイスの第2のカメラによって撮影された、現在エリアの第2の画像とを含む。現在エリアに関連するデータを取得するステップは、第1の画像と第2の画像とを評価するステップと、評価するステップに基づいて、第1の画像または第2の画像のいずれかを一次画像として、また第1の画像と第2の画像のうちの他方を二次画像として指定するステップとを含む。現在エリアに関連するデータを取得するステップは、一次画像または第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、モバイルデバイスが位置する環境に対するモバイルデバイスの姿勢を計算するステップをさらに含む。自己位置推定と地図作成とを実行するステップは、一次画像から第1の画像特性を抽出するステップと、モバイルデバイスが位置する環境に対するモバイルデバイスの姿勢を使用して、二次画像から第2の画像特性を抽出するステップと、第1の画像特性と第2の画像特性とに基づいて現在位置について自己位置推定と地図作成とを実行するステップとを含む。評価するステップは、第1の画像内と第2の画像内の特性、または第1の画像と第2の画像の画質のうちの少なくとも1つに対して、第1の画像と第2の画像とを評価するステップを含むことができる。第1のカメラは前向きのカメラであることができ、第2のカメラは横向きのカメラまたは後向きのカメラであることができる。現在エリアに関連するデータを取得するステップは、モバイルデバイスで方位センサからデータを収集するステップを含むことができる。自己位置推定と地図作成とを実行するステップは、方位センサから収集されたデータに基づいて、モバイルデバイスの方位を推定するステップを含むことができる。自己位置推定と地図作成とを実行するステップは、幾何学的制約を少なくとも1つの画像から抽出された特性に適用することによって、少なくとも1つの画像からモバイルデバイスの方位に関する特性を抽出するステップをさらに備える。幾何学的制約とモバイルデバイスの方位とに基づいて、少なくとも1つの画像から抽出された特性の地図作成または追跡のうちの少なくとも1つを実行するステップ。幾何学的制約とモバイルデバイスの方位とに基づいて、少なくとも1つの画像内で、水平面または垂直面のうちの少なくとも1つを備える面を特定するステップと、ディスプレイ画面上で表示するための少なくとも1つの画像を描画するステップと、少なくとも1つの画像内で特定された面のうちの少なくとも1つの上に拡張をディスプレイ画面上で描画するステップ。
【０００６】
本開示における自己位置推定と地図作成とを実行するように動作可能なモバイルデバイスの一例は、デバイスが位置する現在エリアに関連する幾何学的制約を特定するように構成された追跡モジュールと、追跡モジュールに通信可能に結合され、現在エリアの少なくとも1つの画像を撮影するように構成された少なくとも1つのカメラと、追跡モジュールに通信可能に結合され、現在エリアに関連するデータを取得するように構成された、カメラまたは方位センサのうちの少なくとも1つを備える少なくとも1つのデバイスセンサと、追跡モジュールに通信可能に結合され、現在エリアに関連する幾何学的制約とデータとを少なくとも1つの画像に適用することによって少なくとも一部、現在エリアについて自己位置推定とマッピングとを実行するように構成された、同時自己位置推定および地図作成(SLAM)サブシステムとを含む。
【０００７】
モバイルデバイスの実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。少なくとも1つのカメラは第1のカメラと第2のカメラとを含むことができ、少なくとも1つの画像は、第1のカメラによって撮影された第1の画像と、第2のカメラによって撮影された第2の画像とを含むことができる。第1のカメラと第2のカメラとに通信可能に結合され、第1の画像と第2の画像とを評価し、評価に基づいて、第1の画像または第2の画像のいずれかを一次画像として、また第1の画像と第2の画像のうちの他方を二次画像として指定するように構成されたカメラ画像評部。追跡モジュールは、一次画像または第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、デバイスが位置する環境に対するデバイスの姿勢を計算するようにさらに構成されている。SLAMサブシステムは、一次画像から第1の画像特性を抽出し、デバイスが位置する環境に対するデバイスの姿勢を使用して、二次画像から第2の画像特性を抽出し、第1の画像特性と第2の画像特性とに基づいて、現在位置について自己位置推定と地図作成とを実行するようにさらに構成されている。カメラ画像評価部は、第1の画像内と第2の画像内の特性、または第1の画像と第2の画像の画質のうちの少なくとも1つに対して、第1の画像と第2の画像とを評価するようにさらに構成されている。第1のカメラは前向きのカメラであることができ、第2のカメラは横向きのカメラまたは後向きのカメラであることができる。方位センサは、デバイスの方位に関するデータを生成するように構成することができる。追跡モジュールは、方位センサによって生成されたデータに基づいてデバイスの方位を推定するように構成された姿勢推定モジュールを含むことができる。SLAMサブシステムは、幾何学的制約を少なくとも1つの画像から抽出された特性に適用することによって少なくとも一部、少なくとも1つの画像からデバイスの方位に関する特性を抽出するように構成されている。SLAMサブシステムは、幾何学的制約とデバイスの方位とに基づいて、少なくとも1つの画像内で水平面または垂直面のうちの少なくとも1つを備える面を特定するようにさらに構成され、デバイスは、ディスプレイ画面と、ディスプレイ画面上で表示するための少なくとも1つの画像を描画し、ディスプレイ画面上で、少なくとも1
つの画像内で特定された面のうちの少なくとも1つの上で拡張を描画するように構成されたグラフィックプロセッサとを含むことができる。
【０００８】
本開示における、モバイルデバイスのための自己位置推定と地図作成とを実行することを促進する装置の一例は、モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するための手段と、モバイルデバイスの少なくとも第1のカメラによって撮影された、現在エリアの少なくとも1つの画像を取得するための手段と、モバイルデバイスの第2のカメラまたはモバイルデバイスのセンサのうちの少なくとも1つを介して現在エリアに関連するデータを取得するための手段と、現在エリアに関連する幾何学的制約とデータとを少なくとも1つの画像に適用することによって、現在エリアについて自己位置推定と地図作成とを実行するための手段とを含む。
【０００９】
本開示における、場面の要素を追跡する方法の一例は、デバイスのカメラで撮影された場面または環境の少なくとも一部分の1つまたは複数の画像と、デバイスに関連する1つまたは複数の追加的なセンサからの情報またはデータと、場面または環境の1つまたは複数の制約とに基づいて、デバイスに対して場面または環境の構成要素を追跡するステップを含む。
【００１０】
方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。1つまたは複数の制約は、場面についての演繹的知識を備える。演繹的場面知識は、場面または環境の中の1つまたは複数の平面の概方位を含むことができる。1つまたは複数の制約は推定することができる。1つまたは複数の追加的なセンサは、第2のカメラを含むことができる。1つまたは複数の追加的なセンサは、慣性センサを含むことができる。1つまたは複数の追加的なセンサは、加速度計、ジャイロスコープ、方位磁石、磁気計、または圧力センサのうちの少なくとも1つを含むことができる。
【００１１】
本開示における方法の一例は、モバイルデバイスに結合された1つより多いカメラで撮影された画像を使用して、同時自己位置推定および地図作成(SLAM)を実行するステップを含む。方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。カメラのうちの少なくとも2つの視野は、実質的に重ならない。カメラのうちの少なくとも2つの視野は、反対の方向を向いている。カメラのうちの少なくとも2つの視野は、実質的に垂直である。画像は、実質的に同時にカメラで撮影することができる。画像のうちの少なくとも2つは、時間の異なる瞬間にカメラのうちの2つ以上で撮影される。
【００１２】
本開示における方法の一例は、デバイスのカメラで撮影された場面または環境の少なくとも一部の1つまたは複数の画像と、デバイスに関連する1つまたは複数の追加的なセンサからの情報またはデータと、場面または環境の1つまたは複数の制約とに基づいて、場面または環境の内部でデバイスの自己位置推定を実行するステップ、または場面または環境の少なくとも一部の地図を作成するステップを含む。1つまたは複数の追加的なセンサは、第2のカメラ、加速度計、ジャイロスコープ、方位磁石、磁気計、圧力センサのうちの少なくとも1つ、またはそれらの任意の組合せを含むことができる。
【００１３】
非一時的なコンピュータ記憶媒体の一例は、プロセッサに、モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定することと、モバイルデバイスの少なくとも第1のカメラによって撮影された、現在エリアの少なくとも1つの画像を取得することと、モバイルデバイスの第2のカメラまたはモバイルデバイスのセンサのうちの少なくとも1つを介して現在エリアに関連するデータを取得することと、現在エリアに関連する幾何学的制約とデータとを少なくとも1つの画像に適用することによって、現在エリアについて自己位置推定と地図作成とを実行すること、とを行わせるように構成されたプロセッサ実行可能命令を備える。
【００１４】
本開示における方法の一例は、デバイスのカメラで撮影された場面または環境の少なくとも一部の1つまたは複数の画像と、デバイスに関連する1つまたは複数の追加的なセンサからの情報またはデータと、場面または環境の1つまたは複数の制約とに基づいて、デバイスに対して場面または環境の要素を追跡するステップを含む。
【００１５】
方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。1つまたは複数の制約は、演繹的場面知識を含む。演繹的場面知識は、場面または環境の中の1つまたは複数の平面の概方位を備える。1つまたは複数の制約は、推定することができる。1つまたは複数の追加的なセンサは、第2のカメラ、慣性センサ、加速度計、ジャイロスコープ、方位磁石、磁気計、または圧力センサであることができる。
【００１６】
本開示における方法の一例は、モバイルデバイスに結合された2つ以上のカメラで撮影された画像を使用して、同時自己位置推定および地図作成(SLAM)を実行するステップを含む。方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。カメラのうちの少なくとも2つの視野は、実質的に重ならない。カメラのうちの少なくとも2つの視野は、反対の方向に向くことができる。カメラのうちの少なくとも2つの視野は、実質的に垂直である。画像は、複数のカメラで実質的に同時に撮影される。画像は、時間の異なる瞬間にカメラのうちの2つ以上で撮影される。
【００１７】
本開示における方法の一例は、デバイスのカメラで撮影された場面または環境の少なくとも一部の1つまたは複数の画像と、デバイスに関連する1つまたは複数の追加的なセンサからの情報またはデータと、場面または環境の1つまたは複数の制約とに基づいて、場面または環境の内部でデバイスの自己位置推定を実行するステップと、または場面または環境の少なくとも一部の地図を作成するステップとを含む。方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。1つまたは複数の追加的なセンサは、第2のカメラと、加速度計と、ジャイロスコープと、方位磁石と、磁気計と、圧力センサとを、またはそれらの任意の組合せを含むことができる。
【００１８】
本明細書に記載される項目および/または技法は、以下の機能のうちの1つまたは複数、ならびに言及されていない他の機能を提供することができる。幾何学的制約は、モバイルデバイスの中に記憶することができ、および/またはモバイルデバイスに利用可能にすることができる。エリアの画像は、前向きおよび/または後向きのカメラで取得することができる。モバイルデバイス上の方位センサは、方位情報を取得するために使用することができる。幾何学的制約および方位情報は、エリアの自己位置推定と地図作成とに使用することができる。他の機能が提供されてよく、本開示におけるすべての実施形態が、説明される機能のすべてはもちろん、それらのいずれかを提供しなければならないということはない。さらに、上記で言及された効果が言及されたもの以外の手段によって達成される可能性があり、言及された項目/技法は必ずしも言及された効果を生じるものでない。
【図面の簡単な説明】
【００１９】
【図１】モバイルデバイスの構成要素を組み込んだコンピュータシステムの一例の図である。
【図２】本明細書で説明される機能を実行するように動作可能なデバイスの図である。
【図３】デバイスセンサモジュールを含む、同時自己位置推定および地図作成のためのシステムのブロック図である。
【図４】前向きカメラと後向きカメラとを含む、同時自己位置推定および地図作成のためのシステムのブロック図である。
【図５】追跡モジュールを含む、同時自己位置推定および地図作成のためのシステムのブロック図である。
【図６】自己位置推定と地図作成とを実行し、現在エリアの1つまたは複数の画像に幾何学的制約を適用するためのプロセスのブロックフロー図である。
【図７】モバイルデバイスで、2つの画像を評価し、特性を抽出し、自己位置推定と地図作成とを実行するためのプロセスのブロックフロー図である。
【図８】方位と幾何学的制約とに基づいて、モバイルデバイスによって撮影された画像の特性を抽出するためのプロセスのブロックフロー図である。
【発明を実施するための形態】
【００２０】
自己位置推定および地図作成、たとえば、同時自己位置推定および地図作成(SLAM)を実行するためのシステムと方法とを本明細書で説明する。本明細書で示される様々な例示的な実装形態を、拡張現実(AR)対応デバイス上で実装することができる。AR対応デバイスは、モバイルデバイス(たとえば、電話)、タブレットコンピュータ、ヘッドマウントディスプレイ、または他のそのようなデバイス、または現在存在しているか将来存在しているその他の適切なデバイスであることができる。一般に、AR対応デバイスは、非一時的で、機械可読な、機械実行可能な命令を実行するためのプロセッサと、現実世界環境の画像または映像を撮影するためのカメラと、現実世界環境の拡張現実表示を表示するためのディスプレイとを含む。いくつかの実施形態では、本明細書で説明される自己位置推定と地図作成とを実行する方法は、ロボットデバイスの中に、たとえば、介入なしに操作するように構成された自律型ロボットの中に実装することができる。
【００２１】
本明細書で説明される技法を多種多様なARアプリケーションに組み込んで、従来のARアプリケーションよりもより満足感を与え興味をそそるユーザ体験を生み出すことができる。(たとえば、メモリまたは機械可読記憶媒体上に記憶されたプロセッサ実行可能なコードを実行するプロセッサを使用した)ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組合せによるAR対応可能デバイスによって、説明される技法を実行することができる。さらに、本明細書で説明される技法の少なくともいくつかは、AR対応デバイスとは異なる1つまたは複数のデバイスによって実行することができる。たとえば、AR対応デバイスは、サーバまたは他のネットワークデバイスと通信して、本明細書で説明される動作の少なくともいくつかを促進することができる。他の実装形態も可能である。
【００２２】
図1は、本明細書で説明される機能の少なくとも一部を実装するためのAR対応デバイスの構成要素を組み込んだコンピュータシステム100の例を示す。図1に示すコンピュータシステムは、以下に説明するコンピュータ化されたデバイスの一部として組み込まれてよい。たとえば、コンピュータシステム100は、モバイルデバイスまたはスマートフォンの構成要素のいくつかを表すことができる。モバイルデバイスは、カメラ150、155などの入力感知ユニットを有する任意のコンピューティングデバイスであることができ、また、ディスプレイユニットを含むことができる。モバイルデバイスの例には、限定はしないが、ビデオゲーム機、タブレット、スマートフォン、および任意の他のハンドヘルドデバイスがある。図1は、単に、様々な構成要素の一般化された図を提供することを意図しており、その一部または全部が適宜利用されてよい。したがって、図1は、個々のシステム要素が、相対的に分離した方法で、または相対的に統合された方法でどのように実装され得るかを大まかに示す。
【００２３】
コンピュータシステム100は、バス105を介して電気的に結合され得る(または適宜、他の方法で通信することができる)ハードウェア要素を含んで示されている。ハードウェア要素は、1つまたは複数の汎用プロセッサおよび/または1つまたは複数の専用プロセッサ(デジタル信号処理チップ、グラフィック高速化プロセッサなど)を限定なしに含む1つまたは複数のプロセッサ110と、1つまたは複数のカメラ、センサ(慣性センサを含む)、マウス、キーボードなどを限定なしに含むことができる1つまたは複数の入力デバイス115と、ディスプレイユニットを限定なしに含むことができる1つまたは複数の出力デバイス120とを含むことができる。入力デバイス115に加えて、コンピュータシステム100は、第1のカメラ150および第2のカメラ155などの1つまたは複数のカメラを含むことができる。コンピュータシステム100は、慣性センサ(加速度計、ジャイロスコープなど)、方位磁石、または磁気計などの磁気センサなどの1つまたは複数の方位センサ160を、追加的にまたは代替的に含むことができる。図1には示されないが、コンピュータシステム100は、また、圧力センサ、温度センサなどの1つまたは複数の追加的なセンサを活用することができる。さらに、いくつかの実施形態では、入力/出力デバイスは、たとえばタッチスクリーンまたは容量方式ディスプレイに統合することができる。
【００２４】
コンピュータシステム100は、ローカルでおよび/またはネットワークでアクセス可能な記憶装置を限定なしに含むことができる1つまたは複数の非一時的な記憶デバイス125と、ディスクドライブと、ドライブアレイと、光学記憶デバイスと、プログラム可能、電気的に更新可能などであることができる、ランダムアクセスメモリ(「RAM」)および/またはリードオンリメモリ(「ROM」)などの固体記憶デバイスと、をさらに含む(および/または通信する)ことができる。このような記憶デバイスは、様々なファイルシステム、データベース構造体などを限定することなく含む、任意の適切なデータストレージを実装するように構成されてよい。
【００２５】
コンピュータシステム100は通信サブシステム130も含むことができ、通信サブシステム130は、モデム、ネットワークカード(ワイヤレスまたはワイヤード)、赤外線通信デバイス、(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)ワイヤレス通信デバイスおよび/またはチップセットなどを限定することなく含むことができる。通信サブシステム130は、ネットワーク、他のコンピュータシステム、および/または本明細書で説明する任意の他のデバイスと、データを交換することを可能にすることができる。コンピュータシステム100は非一時的なワーキングメモリ135も含むことができ、非一時的なワーキングメモリ135は、上記で説明したRAMデバイスまたはROMデバイスを含むことができる。
【００２６】
コンピュータシステム100は、また、現在ワーキングメモリ135内に置かれているとして示されるソフトウェア要素を含む。これらのソフトウェア要素は、オペレーティングシステム140、デバイスドライバ、実行可能ライブラリ、および/または1つまたは複数のアプリケーションプログラム145などの他のコードを含み、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを備えることができ、および/または本明細書で説明するように、他の実施形態によって提供される方法を実装するように、および/もしくはシステムを構成するように設計されてよい。単に例として、上記で説明した方法に関して述べる1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装されてよい。そのようなコードおよび/または命令は、説明される方法に従って1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合させることに使用することができる。
【００２７】
これらの命令および/またはコードのセットは、上で説明した記憶デバイス125などのコンピュータ可読記憶媒体上に記憶されてよい。場合によっては、記憶媒体は、コンピュータシステム100などのコンピュータシステム内に組み込まれてよい。他の場合には、記憶媒体は、命令/コードを記憶した汎用コンピュータをプログラムする、構成する、および/または適合させるために記憶媒体を使用することができるように、コンピュータシステムから分離されてよく(たとえば、コンパクトディスクなどの取外し可能媒体)、および/またはインストールパッケージの中に提供されてよい。これらの命令は、コンピュータシステム100によって実行可能である、実行可能コードの形態をとることができ、または、代わりに、命令は、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム100上にコンパイルおよび/またはインストールされるとすぐに実行可能コードの形態をとる、ソースコードおよび/またはインストール可能コードの形態をとることができる。
【００２８】
大幅な変形が、特定の要件に従ってなされてよい。たとえば、カスタマイズされたハードウェアが使用されてもよく、および/または特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、または両方で実装されてよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続を使用することができる。
【００２９】
いくつかの実施形態は、本開示における方法を実行するために、(コンピュータシステム100などの)コンピュータシステムを使用することができる。たとえば、説明した方法の手順のうちのいくつかまたはすべては、ワーキングメモリ135に収容されている、(オペレーティングシステム140、および/またはアプリケーションプログラム145などの他のコード内の中に組み込まれることがある)1つまたは複数の命令の1つまたは複数のシーケンスを実行しているプロセッサ110に応答して、コンピュータシステム100によって実行されてよい。そのような命令は、記憶デバイス125のうちの1つまたは複数などの別のコンピュータ可読媒体からワーキングメモリ135内に読み込まれてよい。単に例として、ワーキングメモリ135の中に収容されている命令のシーケンスを実行することにより、本明細書に記載する方法の1つまたは複数の手順をプロセッサ110に実行させることができる。
【００３０】
本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、特定の方式で機械を動作させるデータを提供することに関与する任意の媒体を指す。コンピュータシステム100を使用して実装される一実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ110に命令/コードを与えることに関与することがあり、および/または(たとえば、信号などの)そのような命令/コードを記憶および/または搬送するために使用されることがある。多くの実装形態では、コンピュータ可読媒体は、物理記憶媒体および/または有形記憶媒体である。そのような媒体は、限定するものではないが、不揮発性媒体と揮発性媒体とを含む、多数の形態をとることができる。不揮発性媒体は、たとえば、記憶デバイス125などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、ワーキングメモリ135などの動的メモリを含む。代替的に、コンピュータシステム100は、バス105を備える線、ならびに通信サブシステム130 (および/または通信サブシステム130がそれによって他のデバイスに通信を提供する媒体)の様々な構成要素を含めて、同軸ケーブルと、銅線と、光ファイバーとを含む送信媒体を活用することができる。したがって、伝送媒体は、また、(限定はしないが、無線波データ通信および赤外線データ通信中に生成されるものなどの無線波、音波および/または光波を含む)波の形態をとることができる。
【００３１】
一般的な形態の物理的および/または有形コンピュータ可読媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/またはコードを読み取ることができる任意の他の媒体を含む。
【００３２】
様々な形態のコンピュータ可読媒体は、実行用にプロセッサ110に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与することができる。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送されてよい。リモートコンピュータは、そのダイナミックメモリ内に命令をロードし、コンピュータシステム100によって受信および/または実行されるべき送信媒体上の信号として命令を送信することができる。電磁信号、音響信号、光信号などの形態であることができるこれらの信号は、すべて、本発明の様々な実施形態における、命令がその上で符号化され得る搬送波の例である。
【００３３】
通信サブシステム130(および/またはその構成要素)は、一般に信号を受信し、次いで、バス105は、信号(および/または信号によって搬送されるデータ、命令など)をワーキングメモリ135に搬送し、プロセッサ110は、ワーキングメモリ135から命令を取り出し、実行する。ワーキングメモリ135によって受信された命令は、任意に、プロセッサ110による実行の前または後のいずれかに、非一時的な記憶デバイス125に記憶されてよい。
【００３４】
図2は、本明細書で説明する機能を実行するように動作可能なデバイス200の図である。図2は、図1のコンピュータシステムの1つまたは複数の構成要素を使用した、スマートフォンなどのモバイルデバイスを表すことができる。しかしながら、本明細書で説明する機能は、スマートフォンを使用したものに限定されず、図1と同様で、かつそのような機能を実行するために適切な能力を有する任意のデバイスを使用することができる。これらのデバイスは、モバイルデバイス、デジタルカメラ、カムコーダ、タブレット、PDA、または任意の他の同様のデバイスを含むことができる。図2は、デバイス200の前面210と後面220とを示す。前面210は、ディスプレイ208と第1のカメラ204とを含む。ディスプレイ208は、図1を参照して説明した通り、出力デバイス120であることができる。デバイス200の前面側に結合された第1のカメラ204は、また、前向きカメラと呼ばれる。デバイス200の後面220は、本明細書で後向きカメラとも呼ばれる第2のカメラ206を含む。デバイス200は、前向きカメラ204がデバイス200のユーザに向き、後向きカメラ206がデバイスのユーザでない方を向くように持たれてよい。代わりに、デバイス200がユーザによってどのように持たれるかによって、逆が正確であることがある。前向きカメラ204と後向きカメラ206の両方は、入力デバイス115の一実装形態であることができ、または図1を参照して説明した通り、第1のカメラ150および第2のカメラ155としてそれぞれ実装されてよい。前向きカメラ204と後向きカメラ206の両方は、カメラのうちの少なくとも2つの視野が重ならないように複数のカメラを含むことができる。いくつかの実施形態では、1つまたは複数のステレオカメラが使用されてよい。
【００３５】
一実施形態では、デバイス200は、AR機能を可能にするために使用することができるシステムアーキテクチャを含む。たとえば、AR対応デバイスアーキテクチャは、また、図1に示す汎用コンピューティングシステム100を実装するために使用されてよく、入力デバイス115および/または方位センサ160として追加的なセンサと検出器とを含むことができる。AR対応デバイスは、ジャイロスコープ、加速度計、磁気計、慣性測定装置(IMU)などのセンサ、および/または他の種類のセンサを含むことができる。デバイス200は、また、センサによって収集されたデータを処理するためのセンサプロセッサを含むことができる。AR対応デバイスは、また、カメラ150、155からの入力を受信するように構成されたカメラプロセッサを含む。カメラ150、155は、本明細書で説明する拡張論理を使用して拡張され得る現実世界の場面の画像および/または映像を撮影するように構成されてよい。カメラプロセッサは、カメラ150、155のうちの1つまたは複数によって収集されたデータを処理し、カメラによって収集されたデータを、拡張論理によって使用され得るフォーマットへと変換するように構成することができる。カメラプロセッサは、カメラから収集されたデータに対して様々な種類の画像処理または映像処理を実行して、ディスプレイ208(すなわち、出力デバイス120)に表示するためのコンテンツを作成するように構成することができる。
【００３６】
ディスプレイ208は、タッチセンサを含むタッチスクリーンインターフェースであることができる。グラフィックスプロセッサは、ディスプレイ208上に表示するためのグラフィカルデータを生成するために使用されてよい。拡張論理は、命令をグラフィックプロセッサに送り、拡張された画像コンテンツまたは映像コンテンツを表示するように構成されてよい。デバイス200は、タッチセンサによって出力されたデータを処理して、いつユーザがタッチスクリーンに触れたかを特定するように構成されたタッチセンサプロセッサを含むことができる。タッチセンサプロセッサは、タッチスクリーンの複数の指によるタッチを含む、様々なタッチジェスチャを特定するように構成されてよい。拡張論理は、タッチセンサプロセッサによって判断されたジェスチャを使用して、拡張がユーザ入力に応答してどのように反応すべきかを少なくとも一部判断することができる。デバイス200は、1つまたは複数のワイヤレスプロトコルを使用してデバイス200を通信可能にするように構成された通信コントローラを含むことができる。通信コントローラは、ワイヤレスアクセスポイントと他のAR対応デバイスとを含む近くのワイヤレスデバイスからのデータを、デバイスが送信し受信することを可能にするように構成されてよい。メモリ135は、AR対応デバイスの様々な構成要素によって使用されるデータを記憶するための、揮発性メモリおよび/または永続性メモリを含む。メモリ135は、デバイスに含まれるプロセッサの1つまたは複数のためのプロセッサ実行可能プログラムコードを記憶するために使用されてよい。いくつかの例では、拡張論理は、メモリ135に記憶されるプロセッサ実行可能命令として実装されてよい。
【００３７】
当業者は、別の図で示す要素と同様の意味的記述または名前を有する特定の図示された要素が、共通に実装されてよいということ、または別々に実装されてよいということを理解されよう。たとえば、センサは、方位センサ160、慣性センサ、磁気計、圧力センサ、および/または方位センサのいずれも備えることができ、および/またはそれらのいずれも実装するために使用されてよい。同様に、カメラは、カメラ150、155のいずれも備えることができ、および/またはそれらのいずれも実装するために使用されてよく、図2に示すディスプレイ208は、タッチセンサを備えることができ、および/またはタッチセンサを実装するために使用されてよい。
【００３８】
次に図3を参照すると、コンピュータシステム100における自己位置推定と地図作成とのためのシステム300のブロック図は、1つまたは複数のデバイスセンサ310とSLAMサブシステム330とを含む。センサ310は、1つまたは複数の前向きカメラ312および/または1つまたは複数の後向きカメラ314などの1つまたは複数のカメラと、慣性センサ322(たとえば、加速度計、ジャイロスコープなど)、磁気計324、圧力センサ326などの他のセンサとを含む。前向きおよび後向きという用語は、単に例示であって限定ではなく、システム300は、複数のカメラの少なくとも一部が環境の重なり合わない視野を提供することができるように構成された複数のカメラを含むことができる。
【００３９】
SLAMサブシステム330は、ARアプリケーションのコンテキストの中で実行されるものなどの地図作成と自己位置推定とのために、複数のデバイスセンサ310を活用する。SLAMサブシステム330は、エリアに関連する幾何学的制約のセットに対して動作する、自己位置推定モジュール332と地図作成モジュール334とを活用する。ここで、SLAMサブシステム330は、1つまたは複数の方法でデバイスセンサ310を活用して、幾何学的制約を利用し、関連するデバイスの自己位置推定と地図作成とを強化する。たとえば、前向きカメラと後向きカメラの両方を使用することが活用されて、特性に富んだ環境を追跡することができ、全体的な追跡をより強固にする。加えてまたは代わりに、慣性センサ322および/または他のセンサ310は、デバイス、それがどのように持たれているか、それがどのように使用および/または動かされているかなどについての情報を記録する。次いで、この情報は、垂直に対するデバイスの傾きを提供するために使用されて、特性を特定し追跡することにおいて助けとなる。いくつかの実施形態では、SLAMサブシステム330は、図1に示すプロセッサ110の中に、および/またはワーキングメモリ135の中に、たとえば、オペレーティングシステム140および/またはアプリケーション145の中に実装される。
【００４０】
一般に、SLAMサブシステム330は、コンピュータシステム100の予測された位置に関連する幾何学的制約を受信し、記憶することができる。たとえば、人工の環境(たとえば、オフィスビル、ショッピングモールなど)の幾何学的制約は、規則正しい構造(regular structure)に関連するパラメータを含むことができる。人工の屋内環境は、通常、平行または直交のいずれかである平面を有する、直線的な形状を有する。さらに、これらの環境は、通常、パターンで繰り返す矩形または線などのいくつかの規則正しい構造を有する。たとえば、幾何学的制約情報を収容するコンピュータ可読ファイルは、位置に基づいたサービスとしてコンピュータシステム100に提供されてよい。幾何学的制約情報は、また、ワーキングメモリ135の中のアプリケーション145の一部として含まれてよい。幾何学的制約情報は、壁、ドア、窓、柱、および他の繰り返されている特性などの建築上の特性の寸法(たとえば、高さおよび幅)を含むことができる。繰り返されている特性は、頭上の接合部、または天井のパターン(たとえば、タイル、照明設備)であることができる。そのような規則正しい構造の寸法および構造上の構成要素の予測位置(たとえば、点特徴)は、SLAMサブシステム330内の様々なアルゴリズムで使用されて、地図作成と自己位置推定とにおいて助けとなることができる。さらに、幾何学的制約情報は、環境の中の平面がお互いに対してどの方向に向いているかに関する情報を含むことができる。たとえば、大抵の床および壁は屋内環境でお互いに垂直であり、2つの廊下が交わるところの壁の角度が含まれてよい。屋外環境の中などのいくつかの環境では、様々な平面の予測される大きさまたは高さが、幾何学的制約情報に含まれてよい。たとえば、屋外環境にあるビルの側面または正面は、ほぼ平面であることができ、幾何学的制約情報は、これらの平面が、大きそう(たとえば、多くの高層ビルがある場所)、小さそう(たとえば、多くの低層ビルがある場所)、幅が狭そう(たとえば、多くのビルが密集している場所)、および/または幅が広そう(たとえば、1つまたは複数のビルが大きな占有面積または間取りを有する場所)かどうかを示すことができる。一般に、既存のアルゴリズムは、これらのアルゴリズムの動作空間を制限する点特徴を使用する。
これらの制限を軽減するために、複数のセンサ(たとえば、2つのカメラ、他のセンサと組合せた1つまたは複数のカメラなど)が使用され、この事前情報を活用し、関連する制約を実施する。本明細書で提供される例は、一般に、人工の環境に関連する制約に関連するが、異なる環境が異なる制約に関連付けられてよく、活用される制約は、環境間で、または同環境の異なる部分内で異なってよい。
【００４１】
一般に、幾何学的制約は、図4によって示される複数のカメラ312、314、図5によって示される1つまたは複数のカメラ502および方位センサ504、またはこれらのアプローチの組合せを使用して、自己位置推定と地図作成とを改善することを促進するためにデバイスによって活用されてよい。選択される特定のアプローチは、たとえば、デバイスにおいて使用可能な構成要素の存在および/または種類、ユーザ設定、所望の電力消費レベル、および/または他の基準によって左右されてよい。図4〜図5に示すアプローチを、以下により詳細に説明する。
【００４２】
図4を参照して、カメラ選択モジュール402と、1つまたは複数の前向きカメラ312と、1つまたは複数の後向きカメラ314とを有するデバイスの自己位置推定と地図作成とのために、システム400を示す。カメラ選択モジュール402は、自己位置推定と地図作成とのためにどのカメラを使用するかを特定するように構成されてよい。カメラ選択モジュールは、使用する複数のカメラを特定することができる。複数のカメラは、1つまたは複数の前向きカメラ312、および/または1つまたは複数の後向きカメラ314、または前向きカメラ312と後向きカメラ314の両方の組合せを含むことができる。カメラ312、314は、エリアの重ならない視野を扱うように構成されてよい。メモリ135は、開発者が、アプリケーション要件に基づいてカメラ選択モジュール402をプログラムすること、または別の方法で設定することを可能にするように構成されたアプリケーションプログラミングインターフェース(API)を含むことができる。たとえば、ロバスト性がより重要である場合、カメラ選択モジュール402は、環境生成プロセスをより早くするために、複数のカメラを動かすように構成されてよい。別の例では、電力消費がより重要である場合、カメラ選択モジュール402は、画像の品質に対して価値がより高い場合に、より少ない数のカメラを動かすように構成されてよい。
【００４３】
カメラ312、314によって撮影された画像は、カメラ画像評価部405によって分析され、カメラ画像評価部405は、カメラ312、314によって撮影された画像を、画像の品質および/または他の基準に基づいて、一次カメラ画像と補助カメラ画像として指定する。これらの画像は追跡モジュール410に提供され、追跡モジュール410は、姿勢推定モジュール412と特性検出モジュール414とを活用して、現在エリアに関連する提供された幾何学的制約に基づいて、モバイルデバイスのための自己位置推定と地図作成とを促進する。いくつかの実施形態では、追跡モジュール410は、SLAMサブシステム330の構成要素として実装される。追跡モジュール410およびSLAMサブシステム330は、たとえば、ハードウェアまたはソフトウェアで別々に実装され、連結されてよい。追跡モジュール410は、また、図1で示したプロセッサ110の中および/またはワーキングメモリ135の中、たとえば、オペレーティングシステム140および/またはアプリケーション145の中で実装されてよい。たとえば、追跡モジュール410はプロセッサ110の中に実装されてよく、ARアプリケーションを備えることができるアプリケーション145へ追跡情報または他のデータを提供するよう、SLAMサブシステム330から受信した情報を活用して、エリア内の要素またはエリアの中でシステム400の動きを追跡する。
【００４４】
動いているデバイスの前向きカメラ312と後向きカメラ314の両方からの画像は、追跡のための追加情報を提供する。一般に、カメラ312、314のうちの1つは、追跡のために特性の豊富な環境に向いている。次いで、カメラ画像評価部405によって一次カメラに指定されたこのカメラからの姿勢が使用されて、補助カメラによって撮像された構造の検出を助け、両カメラからの環境を地図にすることができる。一次カメラによって検出された矩形に対して、補助カメラから検出された矩形は、形状のかなりの部分(たとえば、約95%以上、またはシステムが使用される特定の環境によって別の割合)を扱うために、平行または垂直であると仮定されてよい。
【００４５】
追跡モジュール410は、デバイスが現在位置する環境の中の特性を、コンピュータビジョン技法を介して特定し追跡することによって、デバイスの自己位置推定と地図作成とを促進する。しかしながら、追跡は時に、視野内で検出される特性がほぼ一定に流れてくることに依存する。デバイスが任意の特性の視野を失った場合、追跡モジュール410によって使用されるコンピュータビジョンアルゴリズムは機能停止することがあり、システム400をデバイスの位置を追跡できない状態にする。この場合に対するロバスト性を提供するために、システム400は、システム400のコンピュータビジョンの性能を改善し、追跡モジュール410の環境の特性を利用する能力を向上させるために複数のカメラ312、314を活用して、自己位置推定と地図作成の性能を向上させる。
【００４６】
ここで、カメラ画像評価部405は、前向きカメラ312と後向きカメラ314とによって撮影された画像を評価することによって、一次画像と補助画像とを特定して、どちらのカメラがより多くの特性を持つ視野にあるかを判断する。しかしながら、画質または他の測定基準に基づいた技法などの、この指定のための他の技法もまた使用されてよい。この指定は、規則的間隔または非規則的間隔、トリガとなるイベントなどに基づいた時間インスタンスで行われてよい。一次カメラ画像と補助カメラ画像とを指定すると、一次画像が姿勢推定モジュール412によって使用されて、本分野で知られている技法に基づいてカメラの方位を特定する。この方位は、追跡モジュール410に提供される現在エリアの幾何学的制約とともに、特性検出モジュール414によって活用されて、一次画像と、必要に応じて補助画像の中で検出された特性を特定および/または追跡する。
【００４７】
次に図5を参照すると、デバイスの自己位置推定と地図作成とのための別のシステム500は、カメラ502と1つまたは複数の方位センサ504(たとえば、慣性センサ322、磁気計324など)を活用する。カメラ502および方位センサ504は、カメラ502の視野の中の特性を追跡する追跡モジュール410と相互作用する。追跡モジュール410は、システム400で示したものと同様に機能する、姿勢推定モジュール412と特性検出モジュール414とを含む。カメラ502と方位センサ504とを使用することで、追跡モジュール410はデバイスを取り巻くエリアの形状について解くことができる。しかしながら、1つのカメラのみが提示されている場合、追跡モジュール410は、環境に対するカメラの方位に関する知識を欠いていることがある。したがって、以下に一般的に説明される通り、追跡モジュール410はカメラ軸変換モジュール512をさらに活用して、方位センサ504を介して環境に対するカメラの方位を特定し、追跡モジュールに提供される環境に対する幾何学的制約を実施するためにこの情報を活用する。
【００４８】
屋内のオフィスなどの環境は、通常、多数の水平面と垂直面(すなわち、壁、ドア、窓、柱)を有し、水平方法または垂直方向から逸脱する面はほとんどない。この仮定は、カメラ、たとえば単眼カメラからの場面の形状について解くための予備知識として使用されてよい。たとえば、任意の方向に向いた平面のパラメータについて解く代わりに、平面は、検索を制約するために、垂直または水平のいずれかであると仮定されてよい。
【００４９】
幾何学的制約の一般例は、線および平面が座標軸に沿って整列している、マンハッタンワールドの場面(たとえば、デカルト座標系に基づいた世界を述べたマンハッタンワールド仮定)などの規則正しい構造を有するエリアを含む。この仮定のもとで、平面は1つのカメラによって映される点に合わせられてよく、他のカメラによって映される構造は、この平面に平行または垂直と仮定されてよい。幾何学的制約の他の例は、屋内世界モデルを使用して屋内環境の形状を規定することができる。本明細書で説明する実施形態において、そのような屋内世界モデルは、複数のカメラ、たとえば、カメラ312、314、502を用いて追加的な利益を得るために使用されてよい。追跡モジュール410および/またはSLAMサブシステム330は、1つのカメラからの場面の構造について解き、モデルを選ぶように構成されてよく、そのモデルは、別のカメラ、たとえば、重ならない視野を有するカメラの場面に適用可能なモデルに追加的制約を追加することができる。いくつかの実施形態では、複数のカメラのための3次元モデリングは、これらの幾何学的制約を使用して結合されてよく、いくつか実施形態では、各カメラについて独立して実行されないことがある。
【００５０】
カメラ追跡アプリケーションでは、初期設定により、カメラの座標系は、通常、地球または環境に対して定められた座標系に対して知られていない。結果として、垂直構造および水平構造は、カメラの基準座標系の中で傾いていてよい。重力と方位センサ504からのデータとを使用して、カメラ軸変換モジュールは、カメラ基準座標系のz軸を世界座標系に合わせることができる。さらに、磁気センサ(たとえば、磁気計324)を用いて、x軸およびy軸を合わせることもできる。この整列した状態で、事前場面形状情報は、たとえば、3次元空間の中の面の検出が試みられる範囲をおよそ横軸と縦軸とに制限することによって、またはシステム500が位置する特定の環境の特性とその関連する制約とに適切な他の方法における面検出のための範囲を制限することによって、3次元形状の検索空間を制約するために使用されてよい。加えて、上記で説明した通りに取得された垂直面と水平面についての知識は、たとえば、ディスプレイ画面でカメラ画像上に現実的な拡張(augmentation)を描画するために使用されてよい。
【００５１】
ここで、図4のシステム400および図5のシステム500は、説明を明瞭にするために別々に示され、説明される。しかしながら、これらのシステム400、500の様々な構成要素は、たとえば、共通のデバイスまたはお互いに通信するデバイスのセットによって、一緒に使用されてよい。したがって、マルチカメラを用いた実装形態と方位センサで動く実装形態とが別々に示されたが、デバイスは、1つまたは複数の方位センサまたは他のセンサに加えて、複数のカメラを使用することができる。
【００５２】
図6を参照し、図1〜図5をさらに参照すると、モバイルデバイスで自己位置推定と地図作成とを促進するために、複数のセンサから取得した幾何学的制約とデータとを活用するためのプロセス600は、図示する段階を含む。しかしながら、プロセス600は例にすぎず、限定的ではない。プロセス600は、たとえば、段階を追加、除去、再配置、結合、および/または同時に実行することによって、変更できる。図示および説明したようなプロセス600に対するさらに他の変更も可能である。
【００５３】
段階602では、SLAMサブシステム330は、デバイス200が位置する現在エリアの幾何学的制約(オフィスビル、ショッピングモールまたは他のエリアなどに関連する直線的形状)を特定するように構成されている。実施形態では、幾何学的制約は、位置に基づいたサービスとして受信され、またはアプリケーションソフトウェアの中に含まれる。デバイス200上で動作する位置判定システム(たとえば、GPS)は、幾何学的制約(すなわち、位置固有の制約)を特定するために使用されてよい。ユーザは、また、以前に記憶された制約(たとえば、ライブラリファイル)を選択し、またはディスプレイ208を介して新しい制約を入力することができる。
【００５４】
段階604では、現在エリアの画像が、モバイルデバイスの少なくとも一次カメラによって撮影される。一次カメラは、たとえば、図1〜図3で示したカメラ150、155、204、206、312、314、図4で示した指定された一次カメラ312、314、図5で示したカメラ502などのうちの1つであることができる。実施形態では、画像は、メモリ135の中に以前に記憶された、以前に撮影された画像を含むことができる(すなわち、後処理)。
【００５５】
段階606では、現在エリアに関連するデータは、図4に示した指定された二次カメラ312、314などモバイルデバイスの二次カメラ、または図1に示した方位センサ160、図3に示した慣性センサ322、磁気計324または圧力センサ326、図5に示した方位センサ504、または他の適切なセンサなどのモバイルデバイスに関連する1つまたは複数のセンサのうちの少なくとも1つを介して取得される。たとえば、慣性センサ322は、デバイス200の方位を(たとえば、重力を介して)検出するために使用されてよく、および/または磁気計324は、向かっている方向(たとえば、x/y方位)を検出するために使用されてよい。
【００５６】
段階608では、段階602で取得された幾何学的制約と、段階606で取得された現在エリアに関連するデータとを、段階604で撮影された現在エリアの画像に適用することによって少なくとも一部、現在エリアについて自己位置推定と地図作成とが実行される。自己位置推定および地図作成は、たとえば、上記で一般的に説明した通りに動作する追跡モジュール410を活用するSLAMサブシステム330を介して実行される。現在エリアに関連する幾何学的制約およびデータは、図4〜図5に関して上記で示し説明した通り、画像に適用される。特に、段階608で実行される自己位置推定および地図作成は、画像の中で描写された平面が任意の方向を向いていると仮定することとは対照的に、(たとえば、方位センサまたは他のセンサから取得されたデータ、画像から推定されたカメラ姿勢などに基づいた)平面が水平または垂直であるという知識または他の制約を活用して、現在エリアの画像を処理することができる。したがって、いくつかの実施形態では、画像は、任意の方位の平面を特定する試みとは対照的に、仮定した方位を有する平面を検索されてよい。上記で説明した通り、この知識は、任意の方向を向いた特性を有する環境についての同様の自己位置推定と地図作成とに比較して、自己位置推定と地図作成とを単純化することができる。実施形態では、1つのカメラから取得された画像の中の構造は、別の視野が重ならないカメラから取得された画像に適用可能なモデルを制約するために使用される。したがって、3次元モデリングは各カメラに対して独立に起きる必要はないが、カメラは、これらの幾何学的制約を使用して結合されてよい。
【００５７】
プロセス600の一部または全部は、デバイス200によってローカルに実行されてよく、および/またはサーバなどの遠隔デバイスによって実行されてよい。たとえば、画像は、モバイルデバイスでカメラを使用して段階604および/または段階606で撮影される一方、そのような画像は、また、別のデバイスによって撮影され、サーバまたは別のデバイスで遠隔で処理され、またはローカルでの処理のためにモバイルデバイスで(受信機および/またはデータを問い合わせるためおよび/または取得するための別の手段を介して)受信されてよい。段階604および/または段階606で、モバイルデバイスでローカルに撮影された画像は、また、たとえば、段階608で、さらなる処理のために1つまたは複数の遠隔物に転送されてよい。他の実装形態も可能である。
【００５８】
図7を参照し、図1〜図5をさらに参照すると、モバイルデバイスで2つの画像を評価し、特性を抽出し、自己位置推定と地図作成とを実行するためのプロセス700は、図示する段階を含む。しかしながら、プロセス700は例にすぎず、限定的ではない。プロセス700は、たとえば、段階を追加、除去、再配置、結合、および/または同時に実行することによって、変更することができる。図示および説明したようなプロセス700に対するさらに他の変更も可能である。加えて、プロセス700は、上記で説明した通り、カメラによって映される水平面と垂直面とを特定して、ディスプレイ画面で適切な拡張を描画するために使用されてよい。プロセス700は、複数の画像を評価するために使用されてよい。
【００５９】
段階702では、モバイルデバイスを取り囲んでいるエリアの第1の画像が、モバイルデバイスの第1のカメラから取得され、エリアの第2の画像が、モバイルデバイスの第2のカメラから取得される。第1の画像および第2の画像は、プロセス700が2つより多い画像を取得し処理するように構成されてよいため、単に例であり、限定ではない。いくつかの実施形態では、2つより多い画像が、2つより多いそれぞれのカメラから受信される。画像は、1つまたは複数の前向きカメラ312、および/または1つまたは複数の後向きカメラ314から取得されてよい。実施形態では、カメラは異なる方向に向けられており、環境の異なる画像(たとえば、異なる視野)を撮影することができる。たとえば、1つのカメラが、照明、方位などの要因のために遮られている場合、またはそうでなくても品質の悪い画像を提供している場合、第2のカメラが場面の明瞭な視野を有することができる。
【００６０】
段階704では、段階702で取得された、第1の画像と第2の画像の品質が評価される。ここで、この評価は、カメラ画像評価部405によって、画像内の特性、画像の品質、または他の基準に基づいて実行される。実施形態では、画像の解像度は、画像の品質を判断するために使用されてよい。画像の品質は、場面の特性の量と検出可能性とに基づいてよい。限定ではなく例として、ピントが外れている画像、または不適切な露出である(すなわち、露出オーバーまたは露出アンダー)画像、またはコントラストに欠ける画像は、場面の特性が不明瞭であり得るため、品質が悪いことがある。画像撮影プロセスにおける他の欠陥は、また、視野の遮断または画像中の特性の全体的な欠如など、画像の品質を低下させることがある。
【００６１】
段階706では、段階704での評価に基づいて、第1の画像または第2の画像のいずれかが一次画像として指定され、第1の画像または第2の画像のうちの他方が二次画像として指定される。たとえば、より良い品質の画像が一次画像として指定される。より良い品質の画像は、カメラ画像評価部405によって認識され得る、より多くの検出可能な特性、またはパターンを含むことができる。
【００６２】
段階708では、第1の画像特性が、たとえば、追跡モジュール410に関連する特性検出モジュール414によって、一次画像から抽出される。特性は、一般に、受信した幾何学的制約に関連付けられる。たとえば、特性は、壁、ドア、柱または他の人工のパターン(たとえば、天井のタイル、照明設備、ドアサイン)などの検出可能な建築上の特性であってよい。
【００６３】
段階710では、モバイルデバイスの方位が、たとえば、姿勢推定モジュール412によって、一次画像に基づいて計算される。たとえば、姿勢推定モジュール412は、受信した幾何学的制約情報を適用して、デバイス200の方位を判断する。たとえば、壁、または天井のタイル、または照明設備の方位は、以前に知られていた方向にされてよく、姿勢推定モジュール412は、特性の知られている方向に基づいて、対応する方位ベクトルを判断するように構成されてよい。
【００６４】
段階712では、第2の画像特性が、段階710で判断されたモバイルデバイスの方位に対して、二次画像から抽出される。特性検出モジュール414および関連する追跡モジュール410は、一次画像に対して、以前に説明した通り機能することができる。実施形態では、画像の品質に基づいて、重み関数を二次画像に適用することができる。たとえば、特性検出は、悪い品質の画像のために悪化することがある。この例では、二次画像を使用した特性検出の結果は、一次画像を介して取得された結果と相互に関連しないことがある。重み関数は、全体的な方位計算を悪化させない取り組みにおいて、二次画像を介して取得された結果を弱め、または無視するために使用されてよい。幾何学的制約は、一次画像と二次画像からの要素を選択または結合するために使用されてよい。たとえば、2つ以上のカメラの位置がお互いに関連していると仮定すると、1つのカメラから取得された良い画像からの特性は、幾何学的制約中に提供される環境の知られている形状に基づいて、他のカメラによって撮影された特性と同等と見なされてよい。
【００６５】
段階714では、エリアに対するモバイルデバイスについて、自己位置推定および地図作成が、段階708で抽出された第1の画像特性と段階712で抽出された第2の画像特性とに基づいて実行される。ここで、段階714での動作は、追跡モジュール410とその関連する構成要素からの助けを用いて、SLAMサブシステム330によって実行される。
【００６６】
プロセス600と同様に、プロセス700の一部または全部が、デバイス200によってローカルで実行されてよく、および/またはサーバまたは他の遠隔デバイスによって遠隔で実行されてよい。たとえば、画像は、モバイルデバイスでカメラを使用して段階702で撮影される一方、そのような画像は、また、別のデバイスによって撮影され、サーバまたは別のデバイスで遠隔で処理され、またはローカルでの処理のためにモバイルデバイスで(受信機および/またはデータを問い合わせるためおよび/または取得するための別の手段を介して)受信されてよい。段階702でモバイルデバイスでローカルに撮影された画像は、また、たとえば、段階706、708、712、714で、さらなる処理のために1つまたは複数の遠隔物に転送されてよい。他の実装形態も可能である。
【００６７】
図8を参照し、図1〜図5をさらに参照すると、方位と幾何学的制約とに基づいて、モバイルデバイスによって撮影された画像の特性を抽出するためのプロセス800は、図示される段階を含む。しかしながら、プロセス800は例にすぎず、限定的ではない。プロセス800は、たとえば、段階を追加、除去、再配置、結合、および/または同時に実行することによって、変更することができる。図示および説明したようなプロセス800に対するさらに他の変更も可能である。
【００６８】
段階802では、モバイルデバイスが位置するエリアに関連する幾何学的制約が特定される。上記で説明した通り、これらの制約は、オフィスビル、ショッピングモールまたは他のエリアなどに関連する直線的形状または他のパターンを含むことができる。幾何学的制約は、位置に基づいたサービス(すなわち、デバイス200の現在位置に基づいた)として、またはメモリの中に記憶されたアプリケーションの一部として提供されてよい。
【００６９】
段階804では、エリアの画像がモバイルデバイスのカメラ502によって撮影される。
【００７０】
段階806では、(たとえば、重力に対する、環境に対するなど)モバイルデバイスの方位が、姿勢推定モジュール412または他の手段によって、モバイルデバイスの1つまたは複数の方位センサ504から収集されたデータに基づいて推定される。
【００７１】
段階808では、特性が、段階804で撮影された画像から、段階806で推定されたモバイルデバイスの方位に関して、段階802で特定された幾何学的制約を画像内で特定された特性に適用することによって少なくとも一部、抽出される。段階808で図示する動作は、たとえば、特性検出モジュール414または他の適切な手段によって実行される。特性の抽出の後、方位センサ504、段階802で特定された幾何学的制約、および/または他の手段は、抽出された特性を関連する環境を通して地図に描くためにおよび/または追跡するために使用されてよい。さらに、上記で説明した通り、特定された水平面および垂直面は、画像またはカメラのライブビューの表示の上に現実的な拡張を描画するために使用されてよい。一例として、そのような拡張は、水平面に静止している特徴または垂直面を上っていく特徴を含むことができる。任意の他の適切な拡張も使用されてよい。
【００７２】
プロセス600、700と同様に、プロセス800の一部または全部が、デバイス200によってローカルで実行されてよく、および/またはサーバまたは他の遠隔デバイスによって遠隔で実行されてよい。たとえば、画像は、モバイルデバイスでカメラを使用して段階804で撮影される一方、画像は、また、別のデバイスによって撮影され、サーバまたは別のデバイスで遠隔で処理され、またはローカルでの処理のためにモバイルデバイスで(受信機および/またはデータを問い合わせるためおよび/または取得するための別の手段を介して)受信されてよい。段階804で、モバイルデバイスでローカルに撮影された画像は、また、たとえば、段階808で、さらなる処理のために1つまたは複数の遠隔物に転送されてよい。他の実装形態も可能である。
【００７３】
さらに、プロセス600、700、および800は説明を明瞭にするために別々に示され、説明されたが、これらのプロセスの様々な要素、機能、ステップ、および/または段階は、たとえば、結合された手順の中で、または共通のデバイスまたはお互いに通信するデバイスのセットによって、一緒に使用されてよい。したがって、プロセス600、700、および800に関して図示し説明した段階の各々は、他のプロセスのいずれかで実行されてよい。
【００７４】
大幅な変形が特定の要件に従ってなされてよい。たとえば、カスタマイズされたハードウェアが使用されてもよく、および/または特定の要素が、ハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、または両方で実装されてよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続を使用することができる。
【００７５】
上記で説明した方法、システム、およびデバイスは例である。様々な代替的な構成は、様々な手順または構成要素を適宜、省略、置換、または追加することができる。たとえば、代替方法では、段階は上記の説明とは異なる順番で実行されてよく、様々な段階が追加、省略、または組み合わされてよい。また、いくつかの構成に関して記載された特徴は、様々な他の構成内に組み合わされてよい。構成の様々な態様および要素は、同様の方法で組み合わされてよい。また、技術は発展するものであり、したがって、要素の多くは例であり、本開示の範囲または特許請求の範囲を限定しない。
【００７６】
(実装形態を含む)例示的な構成を完全に理解するために、説明には具体的な詳細が与えられている。しかしながら、構成は、これらの具体的な詳細なしに実践することができる。たとえば、構成を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細なしに示されている。この説明は例示的な構成のみを提供し、特許請求の範囲の範囲、適用可能性、または構成を限定しない。むしろ、構成の上述の説明は、記載された技法を実装するための有効な説明を当業者に提供する。本開示の趣旨または範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【００７７】
構成は、フロー図またはブロック図として描写されるプロセスとして記載されてよい。各々は動作を逐次プロセスとして記載する場合があるが、動作の多くは、並行して、または同時に実行することができる。加えて、動作の順序は並び替えられる場合がある。プロセスは、図に含まれていない追加のステップを有する場合がある。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装される場合がある。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの非一時的なコンピュータ可読媒体に記憶される場合がある。プロセッサは記載されたタスクを実行することができる。
【００７８】
特許請求の範囲を含め本明細書で使用される場合に、「少なくとも1つの」という前置きが付けられた、項目の列挙で使用される「または」は、選言的な列挙を示しており、たとえば「A、BまたはCのうちの少なくとも1つ」という列挙は、AまたはBまたはCまたはABまたはACまたはBCまたはABC(すなわち、AとBとC)を、または1つより多い特性との組合せ(たとえば、AA、AAB、ABBC、など)を意味する。
【００７９】
いくつかの例示的な構成を記載してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用されてよい。たとえば、上記の要素は、より大きいシステムの構成要素であってよく、他の規則は、本発明の適用例に優先するか、そうでなければ本発明の適用例を変更することができる。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、特許請求の範囲を制限しない。
【符号の説明】
【００８０】
100  コンピュータシステム
110  プロセッサ
115  入力デバイス
120  出力デバイス
125  記憶デバイス
130  通信サブシステム
135  ワーキングメモリ
140  オペレーティングシステム
145  アプリケーション
150  カメラ
155  カメラ
160  方位センサ
200  デバイス
204  第1のカメラ、前向きカメラ
206  第2のカメラ、後向きカメラ
208  ディスプレイ
210  前面
220  後面
300  システム
310  センサ、デバイスセンサ、他のセンサ
312  前向きカメラ
314  後向きカメラ
322  慣性センサ
324  磁気計
326  圧力センサ
330  SLAMサブシステム
332  自己位置推定モジュール
334  地図作成モジュール
400  システム
402  カメラ選択モジュール
405  カメラ画像評価部
410  追跡モジュール
412  姿勢推定モジュール
414  特性検出モジュール
500  システム
502  カメラ
504  方位センサ
512  カメラ軸変換モジュール
【図１】
2016504611.tif 000003
【図２】
2016504611.tif 000004
【図３】
2016504611.tif 000005
【図４】
2016504611.tif 000006
【図５】
2016504611.tif 000007
【図６】
2016504611.tif 000008
【図７】
2016504611.tif 000009
【図８】
2016504611.tif 000010
【手続補正書】
【提出日】平成26年11月14日(2014.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モバイルデバイスのための自己位置推定と地図作成とを実行する方法であって、
前記モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するステップと、
前記モバイルデバイスの第1のカメラによって撮影された、前記現在エリアの第1の画像を取得するステップと、
前記モバイルデバイスの前記第1のカメラまたは第2のカメラのうちの少なくとも1つによって撮影された前記現在エリアの第2の画像に関連する画像データを取得するステップであって、前記第1の画像の視野が前記第2の画像の視野と重なり合わない、取得するステップと、
前記モバイルデバイスの方位センサを用いて、前記モバイルデバイスの方位のための方位データを取得するステップと、
前記幾何学的制約と、前記方位データと、前記現在エリアの前記第2の画像に関連する前記画像データとを前記第1の画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行するステップと、
を備える、方法。
【請求項２】
前記モバイルデバイスの前記第2のカメラによって撮影されている前記現在エリアの前記第2の画像をさらに備える、請求項1に記載の方法。
【請求項３】
前記第1の画像と前記第2の画像とを評価するステップと、
前記評価するステップに基づいて、前記第1の画像または前記第2の画像のいずれかを一次画像として、また前記第1の画像または前記第2の画像のうちの他方を二次画像として指定するステップと、
をさらに備える、請求項1に記載の方法。
【請求項４】
前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記モバイルデバイスが位置する環境に対する前記モバイルデバイスの姿勢を計算するステップをさらに備える、請求項3に記載の方法。
【請求項５】
前記自己位置推定と地図作成とを実行するステップが、
前記一次画像から第1の画像特性を抽出するステップと、
前記モバイルデバイスが位置する前記環境に対する前記モバイルデバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出するステップと、
前記第1の画像特性と前記第2の画像特性とに基づいて、前記現在エリアについて自己位置推定と地図作成とを実行するステップと、
を備える、請求項4に記載の方法。
【請求項６】
前記評価するステップが、前記第1の画像内または前記第2の画像内の特性、または前記第1の画像もしくは前記第2の画像の画質のうちの少なくとも1つに対して、前記第1の画像と前記第2の画像とを評価するステップを備える、請求項3に記載の方法。
【請求項７】
前記第1のカメラが第1の方向を向き、前記第2のカメラが前記第1の方向とは異なる第2の方向を向く、請求項1に記載の方法。
【請求項８】
前記自己位置推定と地図作成とを実行するステップが、前記方位センサを用いて取得した前記方位データに基づいて、前記モバイルデバイスの推定された方位を取得するステップを備える、請求項1に記載の方法。
【請求項９】
前記自己位置推定と地図作成とを実行するステップが、前記幾何学的制約を前記第1の画像から抽出された特性に適用することによって、前記モバイルデバイスの前記方位に関する特性を前記第1の画像から抽出するステップをさらに備える、請求項8に記載の方法。
【請求項１０】
前記幾何学的制約と前記モバイルデバイスの前記推定された方位とに基づいて、前記第1の画像から抽出された前記特性の地図作成または追跡のうちの少なくとも1つを実行するステップをさらに備える、請求項9に記載の方法。
【請求項１１】
前記幾何学的制約と前記モバイルデバイスの前記推定された方位とに基づいて前記第1の画像内で面を特定するステップであって、前記面が水平面または垂直面のうちの少なくとも1つを備える、特定するステップと、
ディスプレイ画面上で表示するために前記第1の画像を描画するステップと、
前記ディスプレイ画面上で、前記第1の画像内で特定された前記面のうちの少なくとも1つの上に拡張を描画するステップと、
をさらに備える、請求項8に記載の方法。
【請求項１２】
前記幾何学的制約が壁の位置を含む、請求項1に記載の方法。
【請求項１３】
自己位置推定と地図作成とを実行するように動作可能なモバイルデバイスであって、
前記デバイスが位置する現在エリアに関連する幾何学的制約を特定するように構成された追跡モジュールと、
前記追跡モジュールに通信可能に結合され、前記現在エリアの第1の画像を撮影するように構成された第1のカメラと、
前記追跡モジュールに通信可能に結合された第2のカメラであって、前記第1のカメラまたは前記第2のカメラのうちの少なくとも1つが前記現在エリアの第2の画像を撮影して、前記現在エリアの前記第2の画像に関連する画像データの生成を可能にするように構成され、前記第1の画像の視野が前記第2の画像の視野と重ならない、第2のカメラと、
前記追跡モジュールに通信可能に結合され、前記モバイルデバイスの方位に関係する方位データを取得するように構成された方位センサと、
前記追跡モジュールに通信可能に結合され、前記幾何学的制約と、前記方位データと、前記現在エリアの前記第2の画像に関連する前記画像データとを前記第1の画像に適用することに少なくとも一部よって、前記現在エリアについて自己位置推定と地図作成とを実行するように構成された、同時自己位置推定および地図作成(SLAM)サブシステムと、
を備える、デバイス。
【請求項１４】
前記第2のカメラによって撮影されている前記第2の画像をさらに備える、請求項13に記載のデバイス。
【請求項１５】
前記第1のカメラと前記少なくとも第2のカメラとに通信可能に結合され、前記少なくとも第1の画像と前記少なくとも第2の画像とを評価し、前記評価に基づいて、前記少なくとも第1の画像または前記少なくとも第2の画像のいずれかを一次画像として、また前記少なくとも第1の画像と前記少なくとも第2の画像のうちのもう一つを二次画像として指定するように構成されたカメラ画像評価部をさらに備える、請求項14に記載のデバイス。
【請求項１６】
前記追跡モジュールが、前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記デバイスが位置する環境に対する前記デバイスの姿勢を計算するようにさらに構成されている、請求項15に記載のデバイス。
【請求項１７】
前記SLAMサブシステムが、前記一次画像から第1の画像特性を抽出し、前記デバイスが位置する前記環境に対する前記デバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出し、前記第1の画像特性と前記第2の画像特性とに基づいて前記現在エリアについて自己位置推定と地図作成とを実行するようにさらに構成されている、請求項16に記載のデバイス。
【請求項１８】
前記カメラ画像評価部が、前記第1の画像内と前記第2の画像内の特性、または前記第1の画像と前記第2の画像の画質のうちの少なくとも1つに対して、前記第1の画像と前記第2の画像とを評価するようにさらに構成されている、請求項15に記載のデバイス。
【請求項１９】
前記第1のカメラが第1の方向を向き、前記第2のカメラが前記第1の方向とは異なる第2の方向を向く、請求項14に記載のデバイス。
【請求項２０】
前記方位センサが、前記モバイルデバイスの前記方位に関する前記方位データを生成するように構成され、前記追跡モジュールが、前記方位センサによって生成された前記方位データに基づいて前記モバイルデバイスの前記方位を推定するように構成された姿勢推定モジュールを備える、請求項13に記載のデバイス。
【請求項２１】
前記SLAMサブシステムが、前記幾何学的制約を前記少なくとも1つの画像から抽出された特性に適用することに少なくとも一部よって、前記モバイルデバイスの前記方位に関する特性を前記第1の画像から抽出するように構成されている、請求項20に記載のデバイス。
【請求項２２】
前記SLAMサブシステムが、前記幾何学的制約と前記モバイルデバイスの前記方位とに基づいて、前記第1の画像内で、水平面または垂直面のうちの少なくとも1つを備える面を特定するようにさらに構成され、
前記モバイルデバイスが、ディスプレイ画面と、前記ディスプレイ画面上で表示するために前記第1の画像を描画し、前記ディスプレイ画面上で、前記第1の画像内で特定された面のうちの少なくとも1つの上で拡張を描画するように構成されたグラフィックプロセッサとをさらに備える、
請求項20に記載のデバイス。
【請求項２３】
前記幾何学的制約が少なくとも壁の位置を含む、請求項13に記載のデバイス。
【請求項２４】
モバイルデバイスのための自己位置推定と地図作成とを実行することを促進する装置であって、
前記モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定するための手段と、
前記モバイルデバイスの第1のカメラによって撮影された前記現在エリアの第1の画像を取得するための手段と、
前記モバイルデバイスの前記第1のカメラまたは第2のカメラのうちの少なくとも1つによって撮影された前記現在エリアの第2の画像に関連する画像データを取得するための手段であって、前記第1の画像の視野が前記第2の画像の視野と重なり合わない、取得するための手段と、
前記モバイルデバイスの方位センサを用いて、前記モバイルデバイスの方位のための方位データを取得するための手段と、
前記幾何学的制約と、前記方位データと、前記現在エリアの前記第2の画像に関連する前記画像データとを前記第1の画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行するための手段と、
を備える、装置。
【請求項２５】
前記現在エリアの前記第2の画像に関連する前記画像データが、前記モバイルデバイスの前記第2のカメラによって撮影された、前記現在エリアの第2の画像を備える、請求項24に記載の装置。
【請求項２６】
前記第1の画像と前記第2の画像とを評価するための手段と、
前記評価に基づいて、前記第1の画像または前記第2の画像のいずれかを一次画像として、また前記少なくとも1つの画像または前記第2の画像のうちの他方を二次画像として指定するための手段と、
をさらに備える、請求項24に記載の装置。
【請求項２７】
前記一次画像または前記第1のカメラを介して撮影された少なくとも1つの他の画像に基づいて、前記モバイルデバイスが位置する環境に対する前記モバイルデバイスの姿勢を計算するための手段をさらに備える、請求項26に記載の装置。
【請求項２８】
前記自己位置推定と地図作成とを実行するための前記手段が、
前記一次画像から第1の画像特性を抽出するための手段と、
前記モバイルデバイスが位置する前記環境に対する前記モバイルデバイスの前記姿勢を使用して、前記二次画像から第2の画像特性を抽出するための手段と、
前記第1の画像特性と前記第2の画像特性とに基づいて、前記現在エリアについて自己位置推定と地図作成とを実行するための手段と、
を備える、請求項27に記載の装置。
【請求項２９】
評価するための前記手段が、前記少なくとも1つの画像および前記第2の画像内の特性、または前記少なくとも1つの画像および前記第2の画像の画質のうちの少なくとも1つに対して、前記少なくとも1つの画像と前記第2の画像とを評価するための手段を備える、請求項26に記載の装置。
【請求項３０】
前記第1のカメラが第1の方向を向き、前記第2のカメラが前記第1の方向とは異なる第2の方向を向く、請求項25に記載の装置。
【請求項３１】
前記方位センサを用いて取得した前記方位データに基づいて、前記モバイルデバイスの推定された方位を取得するための手段をさらに備える、請求項24に記載の装置。
【請求項３２】
前記自己位置推定と地図作成とを実行するための前記手段が、前記幾何学的制約を前記第1の画像から抽出された特性に適用することによって、前記モバイルデバイスの前記方位に関する特性を前記第1の画像から抽出するための手段をさらに備える、請求項31に記載の装置。
【請求項３３】
前記幾何学的制約と前記モバイルデバイスの前記推定された方位とに基づいて前記第1の画像内で面を特定するための手段であって、前記面が水平面または垂直面のうちの少なくとも1つを備える、特定するための手段と、
ディスプレイ画面上で表示するために前記第1の画像を描画するための手段と、
前記ディスプレイ画面上で、前記第1の画像内で特定された前記面のうちの少なくとも1つの上に拡張を描画するための手段と、
をさらに備える、請求項31に記載の装置。
【請求項３４】
前記幾何学的制約が壁の位置を含む、請求項24に記載の装置。
【請求項３５】
プロセッサに、
モバイルデバイスが位置する現在エリアに関連する幾何学的制約を特定することと、
前記モバイルデバイスの第1のカメラによって撮影された、前記現在エリアの第1の画像を取得することと、
前記モバイルデバイスの前記第1のカメラまたは第2のカメラのうちの少なくとも1つによって撮影された、前記現在エリアの第2の画像に関連する画像データを取得することであって、前記第1の画像の視野が前記第2の画像の視野と重なり合わない、取得することと、
前記モバイルデバイスの方位センサを用いて、前記モバイルデバイスの方位のための方位データを取得することと、
前記幾何学的制約と、前記方位データと、前記現在エリアの前記第2の画像に関連する前記画像データとを前記第1の画像に適用することによって、前記現在エリアについて自己位置推定と地図作成とを実行することと、
を行わせるように構成されたプロセッサ実行可能命令を備える、非一時的なコンピュータ記憶媒体。
【国際調査報告】
2016504611.tif 000011
2016504611.tif 000012
2016504611.tif 000013