(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-25
(45)【発行日】2025-01-09
(54)【発明の名称】カメラ支援型マップおよびナビゲーションのための方法およびシステム
(51)【国際特許分類】
G08G 1/005 20060101AFI20241226BHJP
G01C 21/26 20060101ALI20241226BHJP
G01C 21/34 20060101ALI20241226BHJP
G06T 7/70 20170101ALI20241226BHJP
H04N 7/18 20060101ALI20241226BHJP
【FI】
G08G1/005
G01C21/26 P
G01C21/34
G06T7/70 Z
H04N7/18 K
【外国語出願】
(21)【出願番号】P 2020215168
(22)【出願日】2020-12-24
【審査請求日】2023-10-24
(32)【優先日】2020-02-14
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】509228994
【氏名又は名称】アマデウス エス.アー.エス.
【氏名又は名称原語表記】AMADEUS S.A.S.
【住所又は居所原語表記】485 Route du Pin Montard,Sophia Antipolis,F-06410 Biot,France
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】スワガット・パリダ
(72)【発明者】
【氏名】レンジス・カリマッタティル・サシドハラン
(72)【発明者】
【氏名】ルスウィク・ルドレシュ
【審査官】▲高▼木 真顕
(56)【参考文献】
【文献】特開2015-129696(JP,A)
【文献】特表2019-508677(JP,A)
【文献】国際公開第2019/106847(WO,A1)
【文献】特開2012-159506(JP,A)
【文献】米国特許出願公開第2018/0350093(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 99/00
G01C 21/00 - 21/36
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
施設内をナビゲートする際に使用するためのコンピュータ実施方法であって、
カメラから、少なくとも1つの画像を受信するステップと、
プロセッサによって、前記少なくとも1つの画像および前記施設のモデルデータに基づいて前記施設内の前記カメラの現在のロケーションを推定するステップと、
前記プロセッサによって、前記施設の前記モデルデータを使用して前記施設内の前記カメラの前記現在のロケーションから目的地ロケーションまでの仮想経路を生成するステップと、
前記仮想経路に従って前記目的地ロケーションまでのナビゲーション情報を生成および出力するステップと
を含
み、
前記施設の前記モデルデータは、複数の画像の画像データを含み、各画像の前記画像データは、前記画像を取得した前記施設内のあるロケーションに対応するロケーション情報と、前記画像内の前記施設のオブジェクトに対応するオブジェクト情報と、前記オブジェクトと前記ロケーションとの間の距離に対応する距離情報と、前記画像の一方のオブジェクトから他方のオブジェクトまでナビゲートするための距離および相対方向を第1の関係性として規定する第1の関係性情報と、前記画像を取得した前記ロケーションから別の画像を取得したロケーションまでナビゲートするための距離および相対方向を第2の関係性として規定する第2の関係性情報とを含み、
前記現在のロケーションを推定するステップは、
前記プロセッサによって、前記少なくとも1つの画像を1つまたは複数の画像ブロックに分割するステップと、
前記プロセッサによって、前記1つまたは複数の画像ブロック内で、前記施設の前記モデルデータからの前記オブジェクト情報に基づいて前記施設のオブジェクトに対応するオブジェクト候補を検出するステップと、
前記プロセッサによって、
前記施設の前記モデルデータから前記オブジェクト候補の前記オブジェクト情報および前記距離情報を取得するステップと、
前記プロセッサによって、前記オブジェクト候補の、前記オブジェクト情報、前記距離情報、および前記少なくとも1つの画像内のピクセル幅に基づき、前記カメラの前記現在のロケーションから前記オブジェクト候補までの距離値を決定するステップと、
前記プロセッサによって、前記距離値に基づいてオブジェクト候補間の距離を決定するステップと、
前記プロセッサによって、前記施設の前記モデルデータからの前記ロケーション情報と前記検出したオブジェクト候補までの前記距離値とに基づいて前記カメラの前記現在のロケーションを推定するステップとを含み、
前記仮想経路は、前記現在のロケーションの前記オブジェクト候補から、前記第1および第2の関係性情報に基づく前記目的地ロケーションの付近にあるオブジェクトまでの関係に対応する、
コンピュータ実施方法。
【請求項2】
前記現在のロケーションを推定するステップは、
前記プロセッサによって、前記施設の前記オブジェクトを検出するために前記距離値および前記距離に基づいて前記画像の前記オブジェクト候補に関するオブジェクト分類を行うステップをさらに含む、請求項
1に記載のコンピュータ実施方法。
【請求項3】
入力デバイスを介して、前記カメラをナビゲートすべき前記施設内の目的地オブジェクトに関する情報を受信するステップと、
前記プロセッサによって、前記モデルデータ内で、画像の少なくとも1個の画像ブロックについて、前記目的地オブジェクトに関する前記情報に対応する前記施設の前記モデルデータ内の前記オブジェクト情報を検索するステップと、
前記プロセッサによって、前記目的地ロケーションとして、前記目的地オブジェクトを含む画像の画像データに基づいて前記目的地オブジェクトのロケーションを推定するステップと
をさらに含む、請求項
1および2のうちのいずれか一項に記載のコンピュータ実施方法。
【請求項4】
仮想経路を生成するステップは、
前記プロセッサによって、前記施設の前記モデルデータ内の前記第1および第2の関係性情報に基づいて前記画像の前記画像ブロック内の前記オブジェクト候補と前記目的地オブジェクトとの間の関係を決定するステップと、
前記プロセッサによって、前記決定した関係に基づいて前記仮想経路を導出するステップと
を含む、請求項
3に記載のコンピュータ実施方法。
【請求項5】
前記ナビゲーション情報を出力するステップは、ディスプレイ上に、前記少なくとも1つの画像および前記ナビゲーション情報を表示するステップを含む、請求項
1から4のいずれか一項に記載のコンピュータ実施方法。
【請求項6】
前記プロセッサによって、前記施設の前記モデルデータを生成するステップをさらに含み、前記施設の前記モデルデータを生成するステップは、
前記カメラによって、前記施設内の複数のロケーションから、1つまたは複数の画像を取得するステップと、
前記複数の画像の各々について、前記プロセッサによって、前記カメラによって提供される前記画像および画像情報に基づいて深度情報を決定するステップと、前記プロセッサによって、前記画像を取得した前記ロケーションに基づいてロケーション情報を生成するステップと、前記プロセッサによって、前記画像を1つまたは複数の画像ブロックに分割するステップと、前記プロセッサによって、前記1つまたは複数の画像ブロック内の前記施設のオブジェクトを検出し、前記検出したオブジェクトの特徴を定義するオブジェクト情報を生成するステップであって、前記オブジェクト情報は、前記画像の前記画像ブロックを示す情報を含む、ステップと、前記プロセッサによって、前記深度情報を使用して前記1つまたは複数の画像ブロック内の検出したオブジェクトと前記ロケーションとの間の距離を決定し、画像ブロック内の前記検出したオブジェクトに対応する距離情報を生成するステップと、前記プロセッサによって、前記1つまたは複数の画像ブロック内の検出したオブジェクト間の距離と、どのように第1の画像ブロック内の一方のオブジェクトから第2の画像ブロック内の他方のオブジェクトまでナビゲートするかを記述している相対方向とを計算し、前記距離および前記相対方向に基づいて第1の関係性情報を生成するステップであって、前記第1の関係性情報は、前記画像の前記第1および第2の画像ブロックを示す情報を含む、ステップと、前記プロセッサによって、前記画像および別の画像の前記ロケーション情報と、どのように前記ロケーションから別のロケーションまでナビゲートするかを記述している相対方向とに基づいて、前記画像を取得した前記ロケーションと前記別の画像を取得した前記別のロケーションとの間の距離を決定し、前記距離および前記相対方向に基づいて第2の関係性情報を生成するステップであって、前記第2の関係性情報は、前記画像および前記別の画像を示す情報を含む、ステップと、前記プロセッサによって、前記ロケーション情報と、前記オブジェクト情報と、前記第1の関係性情報と、前記第2の関係性情報とを含む、前記画像の画像データを生成するステップと
を含む、請求項
1から5のいずれか一項に記載のコンピュータ実施方法。
【請求項7】
前記プロセッサによって、前記少なくとも1つの画像を記憶するステップと、
前記プロセッサによって、前記施設の最新のモデルデータを生成するために、前記少なくとも1つの画像と前記施設の前記モデルデータとを使用して機械学習動作を行うステップとをさらに含む、請求項
1から6のいずれか一項に記載のコンピュータ実施方法。
【請求項8】
施設内をナビゲートする際に使用するためのコンピューティングシステムであって、
プロセッサと、
カメラデバイスと、
前記プロセッサによってアクセス可能な少なくとも1つのメモリデバイスと含み、
前記メモリデバイスは、多数のプログラム命令を含み、前記多数のプログラム命令は、前記プロセッサによって実行されると、前記コンピューティングシステムに、前記カメラ
デバイスから、少なくとも1つの画像を受信するステップと、前記少なくとも1つの画像および前記施設のモデルデータに基づいて前記施設内の前記カメラ
デバイスの現在のロケーションを推定するステップと、前記施設の前記モデルデータを使用して前記施設内の前記カメラ
デバイスの前記現在のロケーションから目的地ロケーションまでの仮想経路を生成するステップと、前記仮想経路に従って前記目的地ロケーションまでのナビゲーション情報を生成および出力するステップとを含む方法を実施させ、
前記施設の前記モデルデータは、複数の画像の画像データを含み、各画像の前記画像データは、前記画像を取得した前記施設内のあるロケーションに対応するロケーション情報と、前記画像内の前記施設のオブジェクトに対応するオブジェクト情報と、前記オブジェクトと前記ロケーションとの間の距離に対応する距離情報と、前記画像の一方のオブジェクトから他方のオブジェクトまでナビゲートするための距離および相対方向を第1の関係性として規定する第1の関係性情報と、前記画像を取得した前記ロケーションから別の画像を取得したロケーションまでナビゲートするための距離および相対方向を第2の関係性として規定する第2の関係性情報とを含み、
前記現在のロケーションを推定するステップは、
前記少なくとも1つの画像を1つまたは複数の画像ブロックに分割するステップと、
前記1つまたは複数の画像ブロック内で、前記施設の前記モデルデータからの前記オブジェクト情報に基づいて前記施設のオブジェクトに対応するオブジェクト候補を検出するステップと、
前記施設の前記モデルデータから前記オブジェクト候補の前記オブジェクト情報および前記距離情報を取得するステップと、
前記オブジェクト候補の、前記オブジェクト情報、前記距離情報、および前記少なくとも1つの画像内のピクセル幅に基づき、前記カメラデバイスの前記現在のロケーションから前記オブジェクト候補までの距離値を決定するステップと、
前記距離値に基づいてオブジェクト候補間の距離を決定するステップと、
前記施設の前記モデルデータからの前記ロケーション情報と前記検出したオブジェクト候補までの前記距離値とに基づいて前記カメラデバイスの前記現在のロケーションを推定するステップとを含み、
前記仮想経路は、前記現在のロケーションの前記オブジェクト候補から、前記第1および第2の関係性情報に基づく前記目的地ロケーションの付近にあるオブジェクトまでの関係に対応する、
システム。
【請求項9】
請求項2から
7のいずれか一項に記載の方法を行うようにさらに構成される、請求項
8に記載のシステム。
【請求項10】
コンピュータ可読媒体上に記憶されたプログラムコード命令を含む、コンピュータプログラム製品であって、前記プログラムコード命令は
、コンピュータ上で実行されると、請求項
1から7のいずれか一項に記載の方法のステップを実行する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
主題の開示は、一般的に、カメラ支援型マップおよびナビゲーションに関し、特に、施設内をナビゲートする際に使用するための方法およびシステムに関する。
【背景技術】
【0002】
通常、人々は、施設内をナビゲートすることが難しいと感じており、したがって、特別な支援を必要とする。例えば、旅行者は、マップ、標識ボード、カスタマケア、他の仲間の旅行者、屋内マップなどの助けを必要とする。現在のインフラおよび既知のシステムは、まだこれらの問題に取り組んでいない。
【0003】
屋内誘導のための既知のシステムは、Global Positioning System(GPS)とBluetooth、Infrared、Wi-Fi、RFIDなどの他の技術との組合せを使用して、ユーザに詳細かつ正確なロケーション情報を提供している。例えば、このカテゴリのシステムの代表的なものが米国特許第9 539 164号に開示されている。しかしながら、ロケーション情報を提供するために追加のハードウェアが必要となるため、そのようなシステムは実行不可能である。さらに、GPSサービスは、衛星ベースであり、衛星までの見通し線がGPSサービスには必要であるため、施設内では利用可能となっていない。
【0004】
主題の開示は、このような欠点に取り組んでおり、追加のハードウェアの使用を必要とせず、GPSサービスの利用可能性に依存することもない、施設内をナビゲートする際に使用するための方法およびシステムを提供している。
【発明の概要】
【課題を解決するための手段】
【0005】
主題の開示の第1の態様は、施設内をナビゲートする際に使用するためのコンピュータ実施方法であって、カメラから、少なくとも1つの画像を受信するステップと、プロセッサによって、少なくとも1つの画像および施設のモデルデータに基づいて施設内のカメラの現在のロケーションを推定するステップと、プロセッサによって、施設のモデルデータを使用して施設内のカメラの現在のロケーションから目的地ロケーションまでの仮想経路を生成するステップと、仮想経路に従って目的地ロケーションまでのナビゲーション情報を生成および出力するステップとを含む、方法を提供している。
【0006】
いくつかの例においては、施設のモデルデータは、複数の画像の画像データを含み、各画像の画像データは、画像を取得した施設内のあるロケーションに対応するロケーション情報と、画像内の施設のオブジェクトに対応するオブジェクト情報と、オブジェクトとロケーションとの間の距離に対応する距離情報と、画像の一方のオブジェクトから他方のオブジェクトまでナビゲートするための距離および相対方向を第1の関係性として規定する第1の関係性情報と、画像を取得したロケーションから別の画像を取得したロケーションまでナビゲートするための距離および相対方向を第2の関係性として規定する第2の関係性情報とを含む。
【0007】
いくつかの例においては、現在のロケーションを推定するステップは、プロセッサによって、少なくとも1つの画像を1つまたは複数の画像ブロックに分割するステップと、プロセッサによって、1つまたは複数の画像ブロック内で、施設のモデルデータからのオブジェクト情報に基づいて施設のオブジェクトに対応するオブジェクト候補を検出するステップと、プロセッサによって、施設のモデルデータからの対応するオブジェクトのオブジェクト情報および距離情報に基づいて検出したオブジェクト候補までの距離値を決定するステップと、プロセッサによって、距離値に基づいてオブジェクト候補間の距離を決定するステップと、プロセッサによって、施設のモデルデータからのロケーション情報と検出したオブジェクト候補までの距離値とに基づいてカメラの現在のロケーションを推定するステップとを含む。
【0008】
いくつかの例においては、現在のロケーションを推定するステップは、プロセッサによって、施設のオブジェクトを検出するために距離値および距離に基づいて画像のオブジェクト候補に関するオブジェクト分類を行うステップをさらに含む。
【0009】
いくつかの例においては、コンピュータ実施方法は、入力デバイスを介して、カメラをナビゲートすべき施設内の目的地オブジェクトに関する情報を受信するステップと、プロセッサによって、モデルデータ内で、画像の少なくとも1個の画像ブロックについて、目的地オブジェクトに関する情報に対応する施設のモデルデータ内のオブジェクト情報を検索するステップと、プロセッサによって、目的地ロケーションとして、目的地オブジェクトを含む画像の画像データに基づいて目的地オブジェクトのロケーションを推定するステップとをさらに含む。
【0010】
いくつかの例においては、仮想経路を生成するステップは、プロセッサによって、施設のモデルデータ内の第1および第2の関係性情報に基づいて画像の画像ブロック内のオブジェクト候補と目的地オブジェクトとの間の関係を決定するステップと、プロセッサによって、決定した関係に基づいて仮想経路を導出するステップとを含む。
【0011】
いくつかの例においては、ナビゲーション情報を出力するステップは、ディスプレイ上に、少なくとも1つの画像およびナビゲーション情報を表示するステップを含む。
【0012】
いくつかの例においては、コンピュータ実施方法は、プロセッサによって、施設のモデルデータを生成するステップをさらに含む。生成するステップは、カメラによって、施設内の複数のロケーションから、1つまたは複数の画像を取得するステップを含む。生成するステップは、複数の画像の各々について、プロセッサによって、カメラによって提供される画像および画像情報に基づいて深度情報を決定するステップと、プロセッサによって、画像を取得したロケーションに基づいてロケーション情報を生成するステップと、プロセッサによって、画像を1つまたは複数の画像ブロックに分割するステップと、プロセッサによって、1つまたは複数の画像ブロック内の施設のオブジェクトを検出し、検出したオブジェクトの特徴を定義するオブジェクト情報を生成するステップであって、オブジェクト情報は、画像の画像ブロックを示す情報を含む、ステップと、プロセッサによって、深度情報を使用して1つまたは複数の画像ブロック内の検出したオブジェクトとロケーションとの間の距離を決定し、画像ブロック内の検出したオブジェクトに対応する距離情報を生成するステップと、プロセッサによって、1つまたは複数の画像ブロック内の検出したオブジェクト間の距離と、どのように第1の画像ブロック内の一方のオブジェクトから第2の画像ブロック内の他方のオブジェクトまでナビゲートするかを記述している相対方向とを計算し、距離および相対方向に基づいて第1の関係性情報を生成するステップであって、第1の関係性情報は、画像の第1および第2の画像ブロックを示す情報を含む、ステップと、プロセッサによって、画像および別の画像のロケーション情報と、どのようにロケーションから別のロケーションまでナビゲートするかを記述している相対方向とに基づいて、画像を取得したロケーションと別の画像を取得した別のロケーションとの間の距離を決定し、距離および相対方向に基づいて第2の関係性情報を生成するステップであって、第2の関係性情報は、画像および別の画像を示す情報を含む、ステップと、プロセッサによって、ロケーション情報と、オブジェクト情報と、第1の関係性情報と、第2の関係性情報とを含む、画像の画像データを生成するステップとを含む、ステップをさらに含む。
【0013】
いくつかの例においては、コンピュータ実施方法は、プロセッサによって、少なくとも1つの画像を記憶するステップと、プロセッサによって、施設の最新のモデルデータを生成するために、少なくとも1つの画像と施設のモデルデータとを使用して機械学習動作を行うステップとをさらに含む。
【0014】
主題の開示の第2の態様は、プロセッサと、カメラデバイスと、プロセッサによってアクセス可能な少なくとも1つのメモリデバイスとを含む、施設内をナビゲートする際に使用するためのコンピューティングシステムを提供している。メモリデバイスは、プロセッサによって実行されると、コンピューティングシステムに、カメラから、少なくとも1つの画像を受信するステップと、少なくとも1つの画像および施設のモデルデータに基づいて施設内のカメラの現在のロケーションを推定するステップと、施設のモデルデータを使用して施設内のカメラの現在のロケーションから目的地ロケーションまでの仮想経路を生成するステップと、仮想経路に従って目的地ロケーションまでのナビゲーション情報を生成および出力するステップとを含む方法を実施させる多数のプログラム命令を含む。
【0015】
いくつかの例においては、システムは、主題の開示の第1の態様の例に記載の方法を行うようにさらに構成される。
【0016】
第3の態様に従って、コンピュータプログラム製品を提供している。コンピュータプログラム製品は、コンピュータによって実行されると、コンピュータに第1の態様およびその例による方法を行わせる命令を含む。
【0017】
上述した態様および例は、本明細書に開示の方法およびコンピューティングシステムのいくつかの態様についての基本的な理解を提供するために、簡易化した概要を提示している。本概要は、本明細書に開示の方法およびコンピューティングシステムの広範囲に及ぶ概要ではない。主要/重大な要素を特定するまたはそのような方法およびコンピューティングシステムの範囲を説明することを意図したものではない。以降で提示するより詳細な説明に対する準備段階として簡易化した形式でいくつかの概念を提示することをその唯一の目的としている。
【0018】
添付の図面は、主題の開示の例を説明するのに役立つことになる、上記で提示した大まかな説明および下記で提示している例の詳細な説明とともに、主題の開示の様々な例を図示している。図面において、類似の参照番号は、様々な図中の類似の部分を示すために使用している。
【図面の簡単な説明】
【0019】
【
図1】施設内をナビゲートする際に使用するためのコンピューティングシステムの大まかなコンポーネントを図示している概要を示す図である。
【
図2】
図1のコンピューティングシステムを包含する例示的なシステムを示す図である。
【
図3】ある例による施設内をナビゲートする際に使用するための方法を示す図である。
【
図4A】
図3の方法のブロック330によるカメラの現在のロケーションを推定するための例を示す図である。
【
図4B】
図3の方法のブロック340による仮想経路を生成するための例を示す図である。
【
図4C】
図3の方法のブロック310によるモデルデータを生成するための例を示す図である。
【
図5】画像を1つまたは複数の画像ブロックに分割するための例を示す図である。
【
図6A】
図3の方法のブロック320においてカメラから受信される例示的な画像を示す図である。
【
図6B】画像ブロックに分割された
図6Aの例示的な画像を示す図である。
【
図6C】検出したオブジェクト候補を有する
図6Aの例示的な画像の画像ブロックを示す図である。
【
図6D】
図6Aの例示的な画像の画像ブロック内のオブジェクト候補までの距離値の検出を示す図である。
【
図6E】
図6Aの例示的な画像の画像ブロック内のオブジェクト候補の分類を示す図である。
【
図6F】
図6Aの例示的な画像の画像ブロック内のオブジェクト間の関係の導出を示す図である。
【
図6G】経路として適切なものとしてマークされた画像ブロックを有する
図6Aの例示的な画像を示す図である。
【
図6H】仮想経路としてマークされた画像ブロックを有する
図6Aの例示的な画像を示す図である。
【
図7A】検出したオブジェクトと目的地オブジェクトとの間の関係を決定する第1の例を示す図である。
【
図7B】検出したオブジェクトと目的地オブジェクトとの間の関係を決定する第2の例を示す図である。
【
図8】
図2に示したような施設内をナビゲートする際に使用するためのコンピューティングシステムの機能性を提供するコンピュータシステムの図表示である。
【発明を実施するための形態】
【0020】
例の詳細な説明を始める前に、関連技法についてのいくつかのより大まかな態様をまず説明することにする。
【0021】
主題の開示は、一般的に、施設内をナビゲートすることに関連する。「ナビゲートする」という用語は、その一般的な意味を有するとともに、位置および目的地への方向の決定と特に理解される。「施設」という用語は、すべてのタイプのビルおよび構造物を含む。施設の例としては、1つまたは複数のフロア(例えば、チェックインエリアおよびターミナルビル)を有する空港ビル、病院、ショッピングモールなどを含む。主題の開示は、より詳細には、施設内の一方の位置から施設内の他方の位置まで施設内(すなわち、屋内)でナビゲートすることに関連する。ご理解いただけると思いますが、主題の開示は、屋内ナビゲーションに限定されるわけではなく、屋外ナビゲーション、すなわち、施設外、例えば、市内をナビゲートすることにも使用され得る。主題の開示においては、施設内の要素、コンポーネント、およびオブジェクトは、一般に、施設のオブジェクトと称する。オブジェクトの例としては、壁、柱、ドア、シート、標識ボード、デスク、キオスクなどを含む。
【0022】
主題の開示は、機械学習(ML)技法を使用しており、明示的な命令を使用することなく代わりにパターンおよび推測を主に利用する特別なタスクを行うためにコンピュータシステムが使用するアルゴリズムおよび統計モデルに適用される。機械学習アルゴリズムは、タスクを行うように明示的にプログラムをすることなく予測または決定をするために、「トレーニングデータ」として知られるサンプルデータに基づいて数学的モデルを構築する。主題の開示は、そのデータ基盤として、本明細書では施設のモデルデータと称する数学的モデルを使用している。モデルデータは、施設から複数の画像に基づいている。
【0023】
説明をしているように、主題の開示は、オブジェクト検出およびオブジェクト分類の技法を使用して、デジタル画像およびビデオの中の人間、ビル、車などといったあるクラスのセマンティックオブジェクトのインスタンスを検出する。オブジェクトクラスごとにクラスを分類するのに役立つそれ特有の特別な特徴を有している。オブジェクト検出およびオブジェクト分類のための技法は、例えば、MLベースまたはディープラーニングベースである。既知のMLベースのアプローチは、勾配方向ヒストグラム(HOG)特徴を含む。オブジェクト検出はまた、デジタル画像から特徴を抽出する特徴抽出と、分類する際に役立つ特徴となる抽出された特徴を認識する特徴認識とを含む。
【0024】
図1は、施設内をナビゲートする際に使用するためのコンピューティングシステム100の大まかなコンポーネントを図示している概要を図示している。システム100は、カメラから少なくとも1つの画像を受信する機能を実施するコンポーネント110を含む。コンポーネント110はまた、複数の画像を順に受信またはビデオの複数のフレームを受信し得る。受信した画像/フレームは、グリッドを作成することおよび画像を画像ブロックに分割することなどといった1つまたは複数のプリプロセッシング機能ならびにフィルタおよびパースペクティブを含む拡張を実施するコンポーネント120によってプリプロセッシング処理される。画像は、その後、互いにインタラクションを行ういくつかのコンポーネントのコレクションによってML技法を使用してさらに処理される。コレクションは、オブジェクト検出モデルの機能を実施するためのコンポーネント130と、オブジェクト分類モデルの機能を実施するためのコンポーネント140と、経路分類モデルの機能を実施するためのコンポーネント150とを含む。コンポーネント130は、画像内のオブジェクトについての候補を検出する(すなわち、コンポーネントは画像内の関心領域を検出する)。コンポーネント140は、オブジェクトについての候補を分類し、それによって画像内のオブジェクトを認識している。コンポーネント150は、経路として適切な画像内の領域を特定する(例えば、施設の床は適切であるのに対して、天井、壁、または障害物は適切ではない)。検出した候補またはオブジェクトに基づいて、関係性を構築する機能を実施するためのコンポーネント160がそれらの間の関係を導出する。関係は、現在のロケーションから施設内の目的地ロケーションまでナビゲートするための経路を定義している。コンポーネント160は、コンポーネント150の出力を考慮しており、そのため、経路には適切ではない領域も考慮している。マップを構築する機能を実施するためのコンポーネント170は、コンポーネント160によって構築された関係性を使用し、例えば、それに沿ってユーザが現在のロケーションから目的地ロケーションまで移動することができる仮想経路を生成する。コンポーネント170は、仮想経路に従ってナビゲーション情報も生成する。ナビゲーション情報は、画像とともにユーザに提供および表示される。それゆえ、主題の開示は、米国特許第9 539 164号において見られるような追加のハードウェアを必要としない、カメラ支援型マップおよびナビゲーションシステムを提供している。
【0025】
図2は、
図1のコンピューティングシステムを包含する例示的なシステムを図示している。コンピューティングシステム100は、
図1に示したシステムに対応する。すなわち、コンピューティングシステム100は、プロセッサと、プロセッサによってアクセス可能な少なくとも1つのメモリデバイスとを含み得る。メモリデバイスは、プロセッサによって実行されると、コンピューティングシステムに、少なくとも1つの画像を受信するステップと、少なくとも1つの画像および施設のモデルデータに基づいて施設内のカメラの現在のロケーションを推定するステップと、施設のモデルデータを使用して施設内のカメラの現在のロケーションから目的地ロケーションまでの仮想経路を生成するステップと、仮想経路に従って目的地ロケーションまでのナビゲーション情報を生成および出力するステップとを含む方法を実施させる多数のプログラム命令を含む。コンピューティングシステム100は、任意の適切な通信接続を介して、モバイルデバイスなどのコンピューティングデバイス110と通信し得る。コンピューティングデバイス110は、カメラデバイス112、表示デバイス114、および入力デバイス116を含み得る。カメラデバイス112は、少なくとも1つの画像を取得し、コンピューティングデバイス110は、コンピューティングシステム110に少なくとも1つの画像を送信する。コンピューティングデバイス110は、コンピューティングシステム110からナビゲーション情報を受信し、例えば、取得した少なくとも1つの画像とともに、表示デバイス114上に同じものを表示する。目的地ロケーションに関する情報が、入力デバイス116を介して入力され、コンピューティングデバイス110は、コンピューティングシステム100に目的地情報に関する情報を送信する。コンピューティングシステム100とコンピューティングデバイス110とは、バックエンドシステム120との通信、例えば、API要求/応答をし得る。バックエンドシステム120は、データ解析および予測のための連続的学習システムおよび/またはシステムであり得る。例えば、バックエンドシステム120は、モデルデータを生成および更新する。
【0026】
ここで
図3を踏まえて、施設内をナビゲートする際に使用するための例示的な方法を説明することにする。
図3に図示したすべてのブロックが必ずしも例示的な方法を行うために必要ではないことに留意されたい。少なくとも破線のブロックは、随意的なものであるおよび/または一度だけ行われ得る。
【0027】
図3に図示した方法は、パーソナルコンピュータ、サーバ、PDA、スマートフォン、携帯電話、タブレットなどのモバイルデバイスなどといった1つまたは複数のコンピューティングデバイスによって行われ得る。ある例においては、本明細書に記載しているようなコンピューティングシステムは、
図3の方法を行うために使用され得るし、コンピューティングシステムは、プロセッサと、プロセッサによってアクセス可能な少なくとも1つのメモリデバイスとを含む。メモリデバイスは、プロセッサによって実行されるとコンピューティングシステムに
図3の方法を実施させる多数のプログラム命令を含む。また、コンピューティングシステムは、カメラを含み得る、または、カメラは、コンピューティングシステムに接続され得る。コンピューティングシステムはまた、コンピューティングデバイスに接続され得るし、カメラは、コンピューティングデバイスに接続または組み込まれる。
【0028】
方法300は、施設のモデルデータを生成するブロック310において開始する。モデルデータの生成処理は、
図4Cを参照して以下でより詳細に説明することにする。上記で説明したように、モデルデータは、
図3の方法のためのデータ基盤を形成する。モデルデータは、コンピューティングシステムのメモリデバイスに記憶され得るし、それによってプロセッサによってアクセス可能となっている。
【0029】
ある例においては、結果として、ブロック310において、施設のモデルデータは、複数の画像の画像データを含む。
図4Cを参照して説明しているように、複数の画像が、施設内からカメラによって取得され、サンプルまたはトレーニングデータとして使用されることになる。複数の画像は、ML技法を使用して予測または決定をする施設のモデルを生成するために処理される。詳細には、モデルは、画像内の構造物が施設の特定のオブジェクトに対応していることをML技法が予測および判断することを可能にする、施設のオブジェクトに関するデータを含む。その例においては、サンプルまたはトレーニングデータとして使用される各画像の画像データは、画像を取得した施設内のあるロケーションに対応するロケーション情報と、画像内の施設のオブジェクトに対応するオブジェクト情報と、オブジェクトとロケーションとの間の距離に対応する距離情報と、画像の一方のオブジェクトから他方のオブジェクトまでナビゲートするための距離および相対方向を規定する第1の関係性情報と、画像を取得したロケーションから別の画像を取得したロケーションまでナビゲートするための距離および相対方向を規定する第2の関係性情報とを含む。ここで、第1の関係性情報を第1の関係性とも称し得るし、第2の関係性情報を第2の関係性とも称し得る。
【0030】
ブロック320において、少なくとも1つの画像(タイルとも称する)をカメラから受信する。ある特定の例においては、少なくとも1つの画像は、ビデオカメラによって取得されたビデオストリームのフレームによって表され得る。施設内のあるロケーションにおいて、カメラは、ロケーションの周囲(すなわち、ロケーションからのある方向における物理領域)から少なくとも1つの画像を取得するために使用される。画像は、画像を受信するコンピューティングシステムにカメラによって任意の適切な形式で、例えば、接続を介して送信され得る。あるいは、画像は、カメラに接続されているメモリに任意の適切な形式で記憶され、コンピューティングシステムによって読み出され得る。
【0031】
カメラから受信される画像600の例を
図6Aに示している。本例(以下では空港の例とも称する)においては、施設は、空港、詳細には到達ロビーである。図示しているように、到達ロビーは、柱、荷物コンベヤ、窓、床、照明の付いた天井、ドア、および天井から吊り下げられている数字の「1」が書かれた標識ボードなどといったいくつかのオブジェクトを含んでいる。また、これらのオブジェクトが画像中に描かれている(含まれている)。
【0032】
必要に応じて、ブロック325において、カメラをナビゲートすべき施設内の目的地オブジェクトに関する情報を受信する。ブロック325において、目的地ロケーションを推定する。
【0033】
ある例においては、ブロック325の動作は、入力デバイスを介して、目的地オブジェクトに関する情報(例えば、目的地オブジェクトの名称)を受信することを含む。情報は、テキスト入力、音声入力などを含む任意の適切な形式で入力され得る。目的地オブジェクトに関する情報は、目的地オブジェクトに対応するオブジェクト情報を含む画像または画像の画像ブロックを検索するために使用される。例えば、オブジェクト情報がオブジェクトの名称を含んでいる場合には、検索キーとして目的地オブジェクトの名称を使用してモデルデータを検索することができる。見つかった場合には、目的地オブジェクトを含む画像を取得したロケーションを画像の画像データに基づいて推定する。
【0034】
ブロック330において、施設内のカメラの現在のロケーションを推定する。推定処理は、画像および施設のモデルデータに基づいて行われる。施設内をナビゲートするために、カメラの現在のロケーションは、目的地点までそれに沿ってナビゲートする経路の出発点を表している。ブロック330において、画像が要求された、すなわち、画像を取得する際にカメラが位置していたロケーションが、推定され、現在のロケーションとして使用される。また、カメラの方向(すなわち、画像を取得する際にカメラが向けられていた北、東、南、西などの方向)が、基点または基準点として推定ロケーションとともに推定され得る。
【0035】
例によれば、
図3の方法のブロック330における推定処理は、
図4Aに図示しているように行われる。
【0036】
まず、ブロック420において、画像を1つまたは複数の画像ブロックに分割する。画像ブロックは、重複することなく、接している(互いに直で隣接している)。画像を分割する例を
図5に例示している。例示しているように、画像は、すべてが同一のサイズを有しているn×n(nは整数)個の画像ブロックに分割され得る。また、画像はn×m(n、mは整数)個の画像ブロックに分割されてもよく、画像ブロックも異なるサイズを有していてもよい。分割処理はまた、画像特性に応じて、適応的および/または動的な方法で行われてもよい。例えば、画像のいくつかの領域が不鮮明で他がそうではない場合には、不鮮明な領域の画像ブロックのサイズを他の不鮮明ではない領域の画像ブロックのサイズより大きくしてもよい。また、ある例においては、画像は、第1の工程において、そのままに(すなわち、1個だけの画像ブロックに「分割」)してもよい。画像ブロックのさらなる処理の結果に基づいて、以下で詳細に説明しているように、次の工程において画像を例えば2×2個の画像ブロックにさらに分割するなど決定され得る。また、必要ならば、隣接する画像ブロックは、施設のオブジェクトを含むがその一部分だけを含んでいるわけではない単一の画像ブロックを形成するように統合され得る。同様の様式で、画像ブロックはまた、複数の画像サブブロックに分割され得る。
【0037】
図6Bにおいては、空港の例の画像600を複数の画像ブロックに分割する処理を示している。画像600を画像ブロックに、例えば、画像ブロック620-1と画像ブロック620-2とに分割するグリッド610が画像600に適用される。
【0038】
その後、ブロック422において、施設のオブジェクトに対応するオブジェクト候補が1つまたは複数の画像ブロック内で検出される。ある例においては、オブジェクト候補の検出処理は、画像ブロックの各々に対して別々に行われ、そのため、並行して行うことができる。このプロセスは、画像ブロック内の関心領域を検出するために上述したようなオブジェクト検出モデルを使用する、オブジェクト検出とも称する。例えば、特徴を、画像ブロックから抽出して、オブジェクト情報内にある特徴の情報、すなわち、施設のオブジェクトから抽出された特徴と比較してもよい。
【0039】
図6Cにおいては、空港の例の画像600の2個の画像ブロック630および640を示している。2個の画像ブロック630および640の各々に対して説明したようなオブジェクト検出が行われているものとする。それによって、画像ブロック630内の第1の領域632は、施設のオブジェクト(例えば、荷物コンベヤ)の特徴に対応する特徴(例えば、ヒストグラム値)を有しているものとして識別されている。第1の領域632は、画像ブロック630内のオブジェクト候補を表している。同様に、第1の領域642および第2の領域644は、画像ブロック640内のオブジェクト候補として識別される。第1の領域642が、施設のオブジェクト(例えば、荷物コンベヤまたはエスカレータまたは手すり)の特徴に対応する特徴を有している一方で、第2の領域644は、施設のオブジェクト(例えば、天井から吊り下げられた標識ボード)の特徴に対応する特徴を有している。詳細には、第2の領域644が数字の「1」に対応する特徴を含んでいることを検出し得るし、それによって、オブジェクト候補を数字の「1」が書かれている天井から吊り下げられた標識ボードに限定することになる。
【0040】
ブロック424において、ブロック422内で検出されたオブジェクト候補までの距離値を決定する。上述したように、モデルデータは、施設のオブジェクトに対応するオブジェクト情報と、オブジェクトとオブジェクトを有する画像を取得したカメラのロケーションとの間の距離を規定する距離情報とを含む。モデルデータから、検出したオブジェクト候補である各オブジェクトのオブジェクト情報、その対応する距離情報がモデルデータから得られる。オブジェクト候補の特性(例えば、ピクセル数の幅)およびモデルデータ内のオブジェクトに基づいて、距離値は、オブジェクトについての距離情報に基づいて決定され得る。この決定処理は、当業者によって理解されているように、三角測量またはML技法を含み得る。
【0041】
図6Dにおいては、
図6Cに示した(O1と示した)画像ブロック630内のオブジェクト候補632および(O2と示した)画像ブロック640内のオブジェクト候補642、644までの距離値を決定するための例を図示している。モデルデータから、オブジェクトO1に関連している距離情報がモデルデータから取り出される。説明したように、距離情報は、オブジェクトからオブジェクトを有するサンプルまたはトレーニング画像が撮影されたロケーションまでの距離を規定している。この距離は、推定するために使用されており、それによって、(
図6D中でカメラロケーションと示した)推定されるカメラロケーションからオブジェクトO1までの距離値d11およびd12を決定している。また、距離値d21およびd22がオブジェクトO2について同様に決定される。
【0042】
さらに、ブロック426において、ブロック422内で検出されたオブジェクト候補間の距離が、ブロック424において決定された距離値に基づいて決定される。再び、当業者によって理解されているように、三角測量またはML技法が適用され得る。
【0043】
図6Dの例においては、オブジェクト候補O1とO2との間(すなわち、画像ブロック630と640との間)の距離D1を距離値d11、d12、d21およびd22のうちの1つまたは複数に基づいて決定する。
【0044】
最後に、ブロック430において、カメラの現在のロケーションが、モデルデータからのロケーション情報とブロック426において決定された距離値とに基づいて推定される。説明したように、ロケーション情報は、画像データとサンプルまたはトレーニング画像内のオブジェクトのオブジェクト情報とが生成されるサンプルまたはトレーニング画像を取得する際にカメラが位置していた施設内のあるロケーションを規定している。例えば、そのロケーションは、オブジェクトまでの距離情報が対応する基準ロケーションとして想定され得る。それに基づいて、オブジェクトの相対的なロケーションを決定し得る。オブジェクトの相対的なロケーションから、カメラのロケーションは、(例えば、O1の相対的なロケーションからの距離値d11およびd12とO2の相対的なロケーションからの距離値d21およびd22との交点における)決定された距離値を使用して導出される。当業者によって理解されているように、三角測量またはML技法を含む他の技法も使用し得る。
【0045】
必要に応じて、ある例においては、
図3の方法のブロック330における推定処理は、(例えば、本明細書に記載しているようなオブジェクト分類モデルを使用して)ブロック428においてオブジェクト候補に関するオブジェクト分類を行うことをさらに含み得る。オブジェクト分類とは、施設のオブジェクトとしてオブジェクト候補を分類および認識することである。この例においては、オブジェクト分類は、ブロック424において決定された距離値とブロック426において決定された距離とに基づき得る。上述したように、モデルデータは、オブジェクトとロケーションとの間の距離を規定する距離情報と、施設の2つのオブジェクト間の距離を規定する第1の関係性情報とを含む。それらの間の距離とロケーションまでの距離とに基づいて、スコアは、オブジェクト候補が施設内の特定のオブジェクトに対応している尤度を示す。また、オブジェクト候補が施設内の特定のオブジェクトに対応している尤度は、(例えば、オブジェクトの特徴を使用して)オブジェクト情報から導出され得る。
【0046】
図6Eは、
図6Cに示しているような画像ブロック630および640内のオブジェクト候補632、642、および644に関するブロック428のオブジェクト分類を行った結果を示している。図示しているように、画像ブロック630内のオブジェクト候補632は、例えば、ヒストグラム、色、ロケーション、テクスチャなどの特徴に基づいて、荷物コンベヤとして分類される。同様に、画像ブロック640内のオブジェクト候補642は、例えば、数字の「1」などの特徴に基づいて、天井から吊り下げられた標識ボードとして分類される。画像ブロック640内のオブジェクト候補644は、荷物コンベヤまたはエスカレータなどの異なるオブジェクトと同程度の尤度に相当し得る場合には、分類されない(すなわち、未分類となる)。したがって、オブジェクト候補644は、画像ブロックのさらなる処理において無視され得る。
【0047】
分類済みオブジェクトは、距離値および分類済みオブジェクト間の関係を導出するために使用され得る。
図6Fは、例えば、モデルデータからの第1の関係性情報を使用して導出された分類済みオブジェクトO1とO2との間の関係R1を図示している。加えて、オブジェクト候補に関するブロック422において決定された距離値が分類済みオブジェクトに関して適合または修正され得る。例えば、
図6Dの距離値d11、d12、d21、およびd22は、それぞれ、距離値c11、c12、c21、およびc22に置換され得る。距離値c11、c12、c21、およびc22の決定が、上述したようなブロック422と同様の様式で行われる。
【0048】
図3に戻って踏まえると、ブロック330において推定したカメラの現在のロケーションから施設内の目的地ロケーションまでの仮想経路は、ブロック340において生成される。それに沿って現在のロケーションから目的地ロケーションまでナビゲートすることになる仮想経路は、施設のモデルデータを使用して生成され得る。例えば、上述したように、施設のオブジェクトは、現在のロケーションから撮影された画像内で決定される。モデルデータから、オブジェクト間の距離および方向を規定する関係が導出される。したがって、仮想経路は、現在のロケーションにおける第1のオブジェクトから目的地ロケーションの付近にあるオブジェクトまでの一連の関係に対応している。換言すれば、仮想経路は、所与の方向に所与の距離だけカメラを移動させる(例えば、目的地ロケーションに辿り着くように、北に50メートルその後東に30メートル、カメラを移動させる)一連の足跡として理解してもよい。
【0049】
例によれば、
図3の方法のブロック340における生成処理は、
図4Bに図示しているように行われる。
【0050】
まず、ブロック440において、オブジェクト候補と目的地オブジェクトとの間の関係を決定する。目的地オブジェクトは、以下で詳細に説明しているように、ブロック325における命令または情報に従って推定されてもよい。関係は、モデルデータからの第1および/または第2の関係性情報に基づいて決定される。関係に基づいて、一方の画像ブロックから他方の画像ブロックまでおよび一方の画像から他方の画像までの距離および相対方向が決定される。複数の関係が存在する場合には、スコアを決定し、最大のスコアを有している関係のみを使用する。
【0051】
ブロック442に従って関係を決定するための例を
図7Aおよび7Bに示している。
【0052】
図7Aの例は、タイル1(画像1)における(出発点Sと示し、現在のロケーションに対応する)画像ブロックT42内のオブジェクトからタイル2(画像2)における(目的地点Dと示し、目的地ロケーションに対応する)画像ブロックT14内のオブジェクトまでの関係を図示している。第2の関係性情報に基づいて、タイル2の画像ブロックT42に辿り着く関係R12(正規化され得る相対方向は東となる)に従ってタイル1の画像ブロックT42からナビゲートされる。タイル1からタイル2までの距離は、第2の関係性情報から導出される。その後、第1の関係性情報に基づいて、例えば、タイル2の画像ブロックT42からタイル2の画像ブロックT12まで北へそしてタイル2の画像ブロックT12からタイル2の画像ブロックT14まで東へ(すなわち、関係R2およびR3に従って)ナビゲートされることになる。当業者によって理解されているように、
図7Aの図は例を表しているに過ぎない。いずれにせよ、方向は、北(すなわち、画像の上方)、東(すなわち、画像の右方)、南(すなわち、画像の下方)、または西(すなわち、画像の左方)となる。
【0053】
図7Bの例もタイル1における画像ブロックT42内の出発点Sからタイル4(画像2)における画像ブロックT14内の目的地点Dまでの関係を図示している。
図7Bの例においては、タイル3(すなわち、関係R23)へまたはタイルn(すなわち、関係R2n)へナビゲートされ得るタイル2の第2の関係性情報に基づいて決定される。後に続くべきはどの関係かを判断するために、どちらの関係性がより強いかを決定する。例えば、第2の関係性情報に従って距離に基づいたスコアを計算(例えば、距離が短ければ短いほどスコアは高くなる)し、より高いスコアをより強いものとして決定する。
図7Bの例においては、関係R23のスコアが関係R2nのスコアより高くなっており(例えば、関係R23における距離の方が短い)、タイル3への方向における関係性の方が強いことを示しめしている。当業者によって理解されているように、
図7Bの図は例を表しているに過ぎない。
【0054】
図4Bのブロック442において、仮想経路を導出する。仮想経路は、ブロック440において導出された関係に基づいて導出される。
【0055】
図3の方法のブロック340内の仮想経路を生成する一例においては、(例えば、経路分類モデルを使用して)経路分類を行う。経路分類手段の動作は、画像のどの画像ブロックが適切な経路を表しているか、すなわち、目的地ロケーション/目的地オブジェクトまでナビゲートするために使用することができるかを決定することを意味する。当業者によって理解されているように、経路分類は、対応する特徴(すなわち、床のタイル、床の色、案内のための線、または床の上の標識など)に基づいてML技法を使用して形成され得る。例えば、施設の床オブジェクトに対応する画像ブロックを決定する。
【0056】
図6Aの画像600に関する経路分類の例を
図6Gに示している。この非限定的な例においては、画像ブロック650-1および650-2が、床オブジェクトであると、したがって、経路を導出するのに適切な画像ブロックであると検出および分類される。画像ブロック650-2の左の画像ブロックなどの他の画像ブロックは、障害物であると判断され得る床オブジェクトとは異なるオブジェクトを含んでいるため、適切ではない。
【0057】
図6Hにおいては、ブロック442において導出された仮想経路としてマークされた画像ブロックを有する
図6Aの例示的な画像600を記載している。例えば、画像ブロック660-1~660-5は仮想経路の画像ブロックである。関係に関して上述したように、スコア(図示せず)が画像ブロックに関連付けられ得る。例えば、画像ブロック660-3~660-5に関連付けられたスコアが「99」の値を有し得る一方で、画像ブロック660-2のスコアは「50」の値を有し、画像ブロック660-1のスコアは「0」の値を有する。後に続くべきはどの画像ブロックかすなわちどの関係かを判断する際に、画像ブロック660-3~660-5のみが使用されることになるように「50」の閾値が使用されてもよい。当業者によって理解されているように、
図6Hの図は例を表しているに過ぎない。
【0058】
図3に戻って踏まえると、ブロック340において生成された仮想経路による目的地ロケーションまでのナビゲーション情報が生成および出力される。ある例においては、ナビゲーション情報は、表示デバイス上に、少なくとも1つの画像およびナビゲーション情報を表示することによって出力され得る。
【0059】
図3の方法においては、カメラから受信した少なくとも1つの画像は、メモリデバイスに記憶され得る。画像は、モデルデータを更新するための方法におけるサンプルまたはトレーニングデータとして使用され得る。その方法は、以下で説明しているように、ブロック310に従ってモデルデータを生成することと同様であってもよい。すなわち、少なくとも1つの画像が、機械学習動作を行って施設の最新のモデルデータを生成する際に使用される。
【0060】
図4Cは、
図3の方法のブロック310に従ってモデルデータを生成するための例を図示している。
【0061】
上述したように、
図3の方法および主題の開示は、モデルデータに基づいており、施設内をナビゲートする際にモデルデータを使用している。モデルデータはそのため、
図3の方法のためのデータ基盤を形成する。MLアルゴリズムの分野において広く知られているように、施設のモデルデータの生成は、サンプルデータまたはトレーニングデータに基づいて数学的モデルを構築することに関連する。
【0062】
図3のブロック310における生成処理は、ブロック480において施設内から複数の画像を取得することで開始する。サンプルまたはトレーニングデータを形成する画像はカメラを使用して取得される。例えば、カメラは、施設内の複数のロケーションへと移動され得る。各ロケーションにおいて、1つまたは複数の画像がロケーションの周囲(すなわち、ロケーション周辺の物理領域)からカメラによって撮影され得る。空港ターミナルなどの標準的な施設は柱、ドア、シート、デスクなどといった複数の異なるオブジェクトを含んでいるため、ロケーションの周囲にあるオブジェクトも撮像され、それによって、画像に含まれることになる。例えば、各ロケーションにおいて、北、東、南、および西の各方向の4つの画像がカメラによって取得され得る。ロケーションにおける画像の数は、4つに限定されるわけではなく、パノラマまたは広角特性(すなわち、360度)を有する1つの画像でも取得されてもよい。ロケーション(すなわち、施設に適用される座標系の座標)、照明条件、方向、ズーム比や絞り値などのカメラ設定などといった追加の情報がロケーションにおける画像に関連付けられ得る。そのような追加の情報は、画像のメタデータとも称し、エクスチェンジャブル・イメージ・ファイル・フォーマット(Exif)形式で記憶され得る。画像のフォーマットは、JPEGフォーマット、または任意の他の適切なフォーマットであり得るし、画像は、カメラに接続されている記憶デバイス上に記憶され得る。ある特定の例においては、複数の画像は、ビデオカメラによって取得されたビデオストリームのフレームによっても表され得る。
【0063】
以下の処理が、逐次的に、並行して、バッチ的に、位置的に、または任意の他の適切な方法で、複数の画像の各々に対して行われる。処理は、カメラから複数の画像を受信するまたは記憶デバイスから複数の画像を読み出すコンピュータシステムによって行われる。
【0064】
ブロック482において、深度情報を決定する。深度情報は、ロケーションからオブジェクトまでの距離を規定している。実際には、画像はロケーション周辺の物理領域の2次元表現であるため、深度情報は第3の次元の情報を表している。カメラに関連付けられたセンサによって、または、ステレオ三角測量もしくは飛行時間などの技法を適用することによって、深度情報は決定され得る。また、深度情報は、(すなわち、画像データ)画像と、上述したメタデータなどのカメラによって提供された画像情報とに基づいて、ML技法を使用して決定され得る。深度情報は、画像の個々のピクセルまたは一群のピクセルの各々に対して決定され得る。
【0065】
ブロック484において、ロケーション情報を画像を取得したロケーションに基づいて生成する。上述したように、画像に関連付けられたメタデータなどの追加の情報は、ロケーション情報が追加の情報におけるロケーションについての情報に対応し得るようにまたは導出され得るように、ロケーションについての情報を含んでいる。ロケーション情報は、施設に適用される座標系の座標によって表され得る、または隣接もしくは基準ロケーションに対して相対的なものであり得る。例えば、ロケーション情報は、ロケーションが基準ロケーションから北方向に5メートル東方向に2メートル離れたところにあるという情報を含む。ロケーションが一意に施設内で特定されるのであれば、ロケーション情報の任意の適切な表現が使用され得ることを当業者は理解されよう。
【0066】
ブロック486において、画像を1つまたは複数の画像ブロックに分割する。画像ブロックは、重複することなく、接している(互いに直で隣接している)。画像を分割する例を
図5に示している。画像が1個だけの画像ブロックに分割され得る。すなわち、画像全体を画像ブロックとしてとらえる。画像はまた、すべてが同一のサイズを有する2×2、4×4、また一般に、n×n(nは整数)個の画像ブロックに分割され得る。しかしながら、画像の分割処理は、
図5の例に限定されるわけではなく、画像は、同一のサイズを有していないm×n(m、nは整数)個の画像ブロックに分割されてもよい。例えば、画像の端にある画像ブロックが画像の中央に近い画像ブロックより大きくなるように、画像を分割してもよい。ブロック486においては、画像は、異なる数またはサイズの画像ブロックで幾度か分割され得る(例えば、2×2それと4×4)。
【0067】
ブロック488において、施設のオブジェクトが1つまたは複数の画像ブロック内で検出される。より詳細には、ブロック488における検出処理が各画像ブロックにおいて行われる。例えば、当業者によって理解されているように、ML技法は、画像ブロック内のオブジェクトを検出するために使用され得る。また、オブジェクトを検出するための他の技法も当業者にとって明らかであろう。検出処理の結果、検出したオブジェクトの特徴および特性を記述するオブジェクト情報が得られる。例えば、オブジェクト情報は、オブジェクトのヒストグラム、色、サイズ、テクスチャなどの情報を含み得る。また、オブジェクト情報は、画像の画像ブロックを示す情報(例えば、画像ブロックについての識別子)を含む。
【0068】
ブロック490において、検出したオブジェクトとロケーションとの間の距離を決定する。決定する際、ブロック482において決定された深度情報を使用する。例えば、検出したオブジェクト間の距離は、例えば、三角測量またはML技法を使用することによって、ロケーションから検出したオブジェクトの距離に基づいて導出され得る。ある例においては、オブジェクトとロケーションとの間の距離も測定され得る。検出したオブジェクトの各々または画像ブロックの各々について、決定された距離に基づいて距離情報が生成される。
【0069】
画像ブロック内の検出したオブジェクトと相対方向との間の距離がブロック492において計算される。例えば、画像ブロック内のオブジェクト間の距離が、深度情報および/または距離情報に基づいて計算され得る。相対方向は、どのように第1の画像ブロック内の一方の検出したオブジェクトから第2の画像ブロック内の他方の検出したオブジェクトまでナビゲートするかを記述している。例えば、第2のオブジェクトに辿り着くために第1のオブジェクトから北東へナビゲートし5メートル移動することになることを記述するために、距離は5メートルとなり得るし、相対方向は北東となり得る。ある例においては、距離および相対方向が、第1の関係性情報を生成するのに基づく第1の関係性を形成する。加えて、第1の関係性情報は、(例えば、画像ブロックの識別子を使用して)検出したオブジェクトを含む画像ブロックを示し得る。画像ブロック間の第1の関係性を
図7Aに示している。例えば、タイル1の画像ブロックT11と画像ブロックT12との間の第1の関係性はR1である。同様に、タイル1の画像ブロックT13と画像ブロックT14との間の第1の関係性はR3である。
【0070】
さらに、ブロック494において、ロケーション間の距離を決定する。第1の画像を取得したロケーションと第2の画像を取得した別のロケーションとの間の関係性(第2の関係性と称する)を記述するために、それらの間の距離が相対方向とともに決定される。決定処理は、画像(例えば、第1および第2の画像)のそれぞれのロケーション情報に基づく。上記で説明した相対方向と同様に、画像を取得したロケーションに関する相対方向も、どのように第1の画像を取得したロケーションから第2の画像を取得したロケーションまでナビゲートするかを記述している。例えば、第2の画像を取得したロケーションに辿り着くために第1の画像を取得したロケーションから北へナビゲートし50メートル移動することになることを記述するために、距離は50メートルとなり得るし、相対方向は北となり得る。ある例においては、距離および相対方向は、第2の関係性情報を生成するために使用される。加えて、第2の関係性情報は、(例えば、画像の識別子またはロケーションの座標を使用して)画像および/またはロケーションを示し得る。画像間の第2の関係性を
図7Bに示している。例えば、タイル1(第1の画像)とタイル2(第2の画像)との間の第2の関係性はR12である。同様に、タイル3(第1の画像)とタイル4(第2の画像)との間の第2の関係性はR34である。
【0071】
ブロック496において、画像の画像データを生成する。画像データは、少なくともロケーション情報、オブジェクト情報、第1の関係性情報、および第2の関係性情報を含む。
【0072】
ブロック480において取得される複数のサンプルまたはトレーニング画像に対してブロック482~496のステップを行い、各画像についての画像データを生成することで、モデルデータを生成する。モデルデータは、施設のモデルを形成する。
【0073】
最後に、
図8は、
図2に示しているような施設内をナビゲートする際に使用するためのコンピューティングシステムの機能性を提供するコンピュータシステムの図表示である。コンピュータシステム800内において、コンピュータシステムに本明細書に開示の方法のいずれかを実行させる命令のセットが実行され得る。コンピュータシステム800は、バス810を介して互いに通信する、少なくとも1つのプロセッサ820、メインメモリ840、およびネットワークインターフェースデバイス880を含む。必要に応じて、静的メモリ860およびディスクドライブユニット870を含んでいてもよい。ビデオディスプレイ、英数字入力デバイス、およびカーソル制御デバイスが、ユーザインターフェース830の例として提供され得る。ネットワークインターフェースデバイス880は、コンピュータシステム800を、カメラ、ディスプレイ、および入力手段を備えたクライアントまたはデバイスに、インターネットおよび/または任意の他のネットワークを介して接続する。クライアントまたはデバイスは、施設内をナビゲートする際に、例えば、ユーザによって使用される。また、モデルデータ842および画像844(例えば、サンプルまたはトレーニング画像、クライアントまたはデバイスから受信される画像)は、メインメモリ840内に記憶され得る。上記で説明した方法の任意の1つまたはすべてを具現化する、コンピュータ実行可能命令のセット(すなわち、コンピュータプログラムコード)846は、そのすべてがまたは少なくとも部分的に、例えば、メインメモリ840といった機械可読媒体および/または少なくとも1つのプロセッサ820内にまたは上に存在している。コード844が存在している機械可読媒体はまた、ディスクドライブユニット870の一部である、不揮発性データキャリア(例えば、非リムーバブル磁気ハードディスクまたは光学もしくは磁気リムーバブルディスク)であり得る。コード846はさらに、ネットワークインターフェースデバイス880を経由しインターネットを介した伝搬信号として送信または受信され得る。ユーザインターフェースおよびネットワーク通信を含むコンピュータシステム800の基本動作は、オペレーティングシステム(図示せず)によって制御される。
【0074】
一般に、主題の開示の例を実施するように実行されるルーチンは、オペレーティングシステムの一部、または、特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは一連の命令、またはそれらのサブセットとして実施されようがされまいが、本明細書では「コンピュータプログラムコード」または単に「プログラムコード」と称し得る。プログラムコードは、通常は、コンピュータ内にある様々なメモリおよび記憶デバイスに様々な時点で常駐し、コンピュータ内にある1つまたは複数のプロセッサによって読み出され実行されるとそのコンピュータに主題の開示の例の様々な態様を具現化する動作および/または要素を実行するために必要な動作を行わせるコンピュータ可読命令を含んでいる。主題の開示の例の動作を実行するためのコンピュータ可読プログラム命令は、例えば、アセンブリ言語、または1つまたは複数のプログラミング言語の任意の組合せで書かれたソースコードかオブジェクトコードかであり得る。
【0075】
本明細書に記載の様々なプログラムコードは、それが主題の開示の特定の例において実施されるアプリケーションに基づいて特定され得る。しかしながら、以下の任意の特定のプログラム名称は、単に便宜上使用しているに過ぎず、そのため、そのような名称によって特定されるおよび/または暗に示される任意の特定のアプリケーションにおいてのみ使用していると主題の開示が限定されるべきではないことを諒解されたい。さらに、コンピュータプログラムがルーチン、プロシージャ、メソッド、モジュール、オブジェクトなどに構成され得る一般的に無限の方式のこと、およびプログラム機能性が標準的なコンピュータに内在する様々なソフトウェアレイヤ(例えば、オペレーティングシステム、ライブラリ、API、アプリケーション、アプレットなど)の間で割り当てられ得る様々な方式のことを考えれば、主題の開示の例が本明細書に記載の特定の構成およびプログラム機能性の割り当てに限定されないことを諒解されたい。
【0076】
本明細書に記載のアプリケーション/モジュールのいずれかで具現化されるプログラムコードは、様々な異なる形式のプログラム製品として単独でまたはまとめて流通させることが可能である。詳細には、プログラムコードは、プロセッサに主題の開示の例の態様を実行させるコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を使用して流通され得る。
【0077】
本質的に非一時的であるコンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどといった情報の記憶についての任意の方法または技術で実装される、揮発性および不揮発性の、ならびにリムーバブルおよび非リムーバブルな有形媒体を含み得る。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、もしくは他のソリッドステートメモリ技術、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができコンピュータによって読み出すことができる任意の他のメディアをさらに含み得る。コンピュータ可読記憶媒体は、正確な意味においては一時的信号(例えば、電波もしくは他の伝搬電磁波、導波管などの伝送媒体を介して伝搬する電磁波、または配線を介して送信される電気信号)として解釈されるべきではない。コンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からコンピュータ、別のタイプのプログラマブルデータ処理装置、もしくは別のデバイスに、または、ネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロードされ得る。
【0078】
コンピュータ可読媒体に記憶されている命令が、フローチャート、シーケンス図、および/またはブロック図に規定された機能、振る舞い、および/または動作を実施する命令を含む製品を生み出すように、コンピュータ可読媒体に記憶されているコンピュータ可読プログラム命令は、コンピュータ、他のタイプのプログラマブルデータ処理装置、または他のデバイスが特定の方式で機能するように命令するために使用され得る。1つまたは複数のプロセッサを介して実行される命令が、フローチャート、シーケンス図、および/またはブロック図に規定された機能、振る舞い、および/または動作を実施するように一連の計算に行わせるように、コンピュータプログラム命令は、機構を生み出すために、汎用コンピュータ、特殊用途コンピュータ、または他のプログラマブルデータ処理装置の1つまたは複数のプロセッサに提供され得る。
【0079】
ある別の例においては、フローチャート、シーケンス図、および/またはブロック図に規定された機能、振る舞い、および/または動作は、主題の開示の例と一致するように、並び替え、逐次的に処理、および/または並行して処理し得る。さらに、フローチャート、シーケンス図、および/またはブロック図のいずれもが、主題の開示の例に一致するように図示されたものより、より多くのまたはより少ないブロックを含み得る。
【0080】
本明細書で使用している専門用語は、特定の例を説明することを目的としているに過ぎず、主題の開示の例を限定することを意図したものではない。本主題の開示において使用される際の「含む」および/または「含んでいる」という用語は、述べている特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を規定しているが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはそのグループの存在または追加を除外していないことをさらに理解されたい。さらに、「含む」、「有している」、「有する」、「備える」、「からなる」という用語、またはそれらの変異形が使用されている限りにおいては、そのような用語は、「含んでいる」という用語と同様に包含的なものとなっていることを意図している。
【0081】
例のすべてを様々な例の説明によって示してきたが、そして、これらの例をかなり詳細に説明してきたが、範囲をそのような詳細に制限または何らかの方法で限定することは意図していない。追加の利点または変更は、容易に当業者に明らかになるであろう。したがって、そのより広い態様における主題の開示は、特定の詳細、代表的装置および方法、ならびに図示および説明した事例示的な例に限定されない。それゆえ、一般的な概念の範囲から逸脱しない限り、そのような詳細からの展開をなし得る。
【符号の説明】
【0082】
110 画像/ビデオフレーム受信コンポーネント
120 プリプロセッシングコンポーネント
130 オブジェクト検出モデルコンポーネント
140 オブジェクト分類モデルコンポーネント
150 経路分類モデルコンポーネント
160 関係性構築コンポーネント
170 マップ構築コンポーネント