ここで、実施形態が詳細に言及され、その1つまたは複数の例が図面に示される。各例は、本開示の限定ではなく、実施形態の説明として提供される。実際、本開示の範囲または趣旨から逸脱することなく、実施形態に対して様々な修正および変更が行われてよいことが、当業者には明らかであろう。たとえば、一実施形態の一部として図示または説明される特徴は、またさらなる実施形態をもたらすために、別の実施形態とともに使用されてよい。したがって、本開示の態様がそのような修正および変更をカバーすることが意図されている。
本開示の例示的な態様は、地理的エリア内の変化の検出に少なくとも一部基づいて地図インターフェースを更新することを対象とする。地図インターフェースは、Google Maps、Google Earthなどによって提示されるナビゲーション可能な地図インターフェースである可能性がある。地図インターフェースは、複数の地図タイルによって構築され得る。各タイルは、地理的エリア(たとえば、住宅地区)に関連する画像を提示することができる。地図タイルは、ユーザが地図インターフェースを見て、地図インターフェースとインタラクションすることができるようにディスプレイデバイス上に表示され得る。1つまたは複数の機械学習型モデルを用いるコンピューティングシステムが、(たとえば、地図タイルデータベースから)地図インターフェースの特定の地図タイルを取得することができる。コンピューティングシステムは、(たとえば、画像データベースから)特定の地図タイルに示される地区を示す画像を取得することもできる。画像は、たとえば、画像獲得システムの画像獲得プラットフォーム(たとえば、自動車、航空機、衛星)によって最近キャプチャされた画像である可能性がある。コンピューティングシステムは、地図タイルおよび画像を解析して、特定の地図タイルおよび対応する画像内に示された地区の中の変化の発生を判定することができる。特に、一例において、コンピューティングシステムは、機械学習型バイナリ分類器モデルを使用して地図タイルおよび画像を評価して、地区の中の様々なサブ領域(たとえば、土地区画(land plot))内の建物、道路などの変化を特定することができる。コンピューティングシステムは、サブ領域内で発生した変化に少なくとも一部基づいて地理的エリアに関する変化の全体的なレベルを判定することができる。(たとえば、閾値のレベルを超える)変化が発生した場合、コンピューティングシステムは、地区に関連する変化を反映するために地図インターフェースを更新することができる。さらに、地区が高いレベルの変化に見舞われている場合、コンピューティングシステムは、システムが地区の将来の変化を監視し、検出することができるように地区に関連する画像をより頻繁に獲得するために画像獲得システムをタスキングする可能性もある。このようにして、コンピューティングシステムは、地理的エリア内の変化の検出を使用して地図インターフェースの地図タイルをより効率的にリフレッシュし、地図インターフェースの正確性を高めることができる。
本開示の態様による例示的なシステムは、地図データベース、画像獲得システム、および機械学習コンピューティングシステムを含み得る。地図データベースは、地図インターフェースをレンダリングするために使用され得る複数の地図タイルを記憶することができる。地図タイルの各々は、地理的エリアの少なくとも一部に関連する画像を提示し得る。地理的エリアは、天体(たとえば、地球、月、火星、その他の天体)の領域、国、州、地方自治体、土地の境界によって画定されるエリア、地区、区画、学区、ショッピングセンター、オフィスパーク(office park)などの領域を含み得る。
画像獲得システムは、地理的エリアに関連する画像を獲得するように構成された1つまたは複数の画像獲得プラットフォームを含み得る。画像獲得プラットフォームは、1つまたは複数の街路レベルプラットフォーム(たとえば、自動車、その他の地上撮像プラットフォーム、街路レベル画像を獲得するために比較的低い高度を移動する空中プラットフォーム)および/または空中プラットフォーム(たとえば、航空機、ヘリコプター、無人航空機(UAV)、気球、その他の上空撮像プラットフォーム)を含み得る。画像獲得プラットフォームは、(たとえば、移動経路、画像獲得頻度、ズームレベルを設定する)画像獲得パターンに少なくとも一部基づいて地理的エリアの画像を獲得するように構成され得る。
いくつかの実装形態では、画像獲得システムによって獲得された画像は、地理的エリアの画像を記憶するアクセス可能な画像データベースに記憶され得る。画像データベースは、画像獲得システム自体、機械学習コンピューティングシステム、ならびに/または機械学習コンピューティングシステムおよび画像獲得システムとは別れている別のコンピューティングシステムに関連付けられ得る。画像データベースは、地理的エリアに関連する様々なタイプの画像データを記憶することができる。たとえば、画像データは、地上レベルの画像(たとえば、街路レベルのパノラマ画像、光検出および測距(LIDAR: light detection and ranging)データのセット、地上のレベルまたはその近くでの他のイメージ)ならびに頭上画像(たとえば、頭上から見た画像)を含むことができる。画像は、光学画像、赤外線画像、LIDARデータ画像、ハイパースペクトル画像、または任意の他のタイプのイメージであり得る。追加および/または代替として、画像は、ユーザが提出したイメージ(たとえば、写真)であり得る。機械学習コンピューティングシステムは、本明細書で説明するようなイメージ(たとえば、頭上間の画像)の比較を容易にするために(画像データベースから)同様の画像にアクセスすることができる。
機械学習コンピューティングシステムは、マッピングサービスプロバイダ(たとえば、Google Maps、Google Earth)に関連付けられ得る。コンピューティングシステムは、地理的エリアに関連する地図タイルデータおよび画像データを評価することができる。たとえばコンピューティングシステムは、(たとえば、地図データベースから)地図インターフェースの地図タイルを取得することができる。地図タイルは、地理的エリアの少なくとも一部に関連する画像を提示し得る。地図タイルは、第1の時間に生成され得る。コンピューティングシステムは、(たとえば、画像データベースから)地理的エリアの少なくとも一部を示す画像を取得することもできる。画像は、第1の時間よりも後の第2の時間に画像獲得システムによって(たとえば、画像獲得プラットフォーム、ユーザ提出によって)獲得された可能性がある。
いくつかの実装形態では、コンピューティングシステムは、ロケーションデータに少なくとも一部基づいて、関心地理的エリアを識別することができる。たとえば、コンピューティングシステムは、複数のユーザデバイス(たとえば、電話、タブレット、他のモバイルコンピューティングデバイス)に関連するロケーションデータを取得することができる。ロケーションデータは、ユーザデバイスに関連するロケーションを表し得る。たとえば、ロケーションデータは、ユーザデバイスに関連する緯度および経度を識別するジオコードを含む1つまたは複数の未加工ロケーション報告を含むことができる。これによりコンピューティングシステムが、特定の地理的エリアに関連する重要性のレベルを決定することが可能になり得る。例として、ロケーションデータは、多数のユーザが特定の地区(または地区内のサブ区分)を最近訪問していることを示すことがある。ユーザトラフィックの量が多いことは、地区に関連する高い重要性のレベル(たとえば、ユーザの関心、変化のエリアの可能性)を示し得る。したがって、コンピューティングシステムは、変化の発生を決定すべきである関心地理的エリアとして地区を識別することができる。
コンピューティングシステムは、地図タイルおよび画像を解析して地理的エリアに関連する変化の発生を判定することができる。たとえば、コンピューティングシステムは、地図タイルおよび画像を解析して、関心のある地区の中の新しい建物および/または道路の追加、継続中の建物および/または道路の建設、建物および/または道路の撤去、継続中の建物および/または道路の解体などを判定することができる。そうするために、コンピューティングシステムは、地理的エリア内の変化を検出するために、機械学習型バイナリ分類器モデルを利用することができる。バイナリ分類器モデルは、機械学習型モデルであり得るか、または場合によっては、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)もしくは他のマルチレイヤ非線形モデルなどの様々な機械学習型モデルを含み得る。
バイナリ分類器モデルは、地図タイルおよび画像内に提示される画像を調べることによって地理的エリア内の変化の発生を検出するように構成され得る。たとえばコンピューティングシステムは、(たとえば、地理的エリアを示す)地図タイルを第1の複数のセルに分割することができる。各セルは、より大きい地理的エリア(たとえば、地区)のターゲットサブ領域(たとえば、土地区画)を示すことができる。コンピューティングシステムは、第1の複数のセルから第1のセルを選択し、第2の複数のセルから対応する第2のセルを選択することができる。たとえば、第1のセルおよび第2のセルは、地理的エリアの同じ(または同様の)サブ領域に関連付けられ得る。コンピューティングシステムは、第1のセルおよび第2のセルを表すデータを機械学習型バイナリ分類器モデルに入力することができる。このデータは、個別のセルに表される画像の部分(たとえば、個別のピクセル)、ならびにそれに関連する視覚的特性を含むことができる。
モデルは、目標のサブ領域(たとえば、地区の土地区画)に関連する変化(たとえば、建物の変化、道路の変化)の発生を特定することができる。たとえば、モデルは、1つまたは複数の視覚的特性(たとえば、第1のセルおよび第2のセルのピクセルの色、強度(intensity)、示された物体)を比較することによって目標のサブ領域に関連する変化の発生を特定するようにトレーニングされ得る。モデルは、地図タイルが生成された時間と画像がキャプチャされた時間との間に変化が発生した(たとえば、「1」)かどうかまたは変化が発生しなかった(たとえば、「0」)かどうかのようにバイナリ方式で変化の発生を分類することができる。バイナリ分類器モデルは、セル内に表されるサブ領域内で変化が発生したかどうかを示す出力を生成することができる。このプロセスは、地理的エリアの複数のサブ領域内の変化の発生を特定するために地図タイルおよび画像のその他のセルに関して繰り返され得る。
いくつかの実装形態では、コンピューティングシステムは、地理的エリアに関連する変化のレベルを判定することができる。変化のレベルは、地理的エリアが見舞われている変化全体を表すことができる。変化のレベルは、地理的エリアのサブ領域内で発生した変化に少なくとも一部基づくことができる。たとえば、コンピューティングシステムは、サブ領域(たとえば土地区画)ごとに決定された変化発生を総計することによって、地理的エリア(たとえば、地区)に関連する変化のレベルを決定することができる。いくつかの実装形態では、地理的エリアに関する全体的な変化のレベルは、地理的エリアのサブ領域ごとに決定されたバイナリ分類(たとえば、0、1)を加算することによって決定され得る。たとえば、地理的エリアは、各々がサブ領域を示す、224個のセルに分割され得る。バイナリ分類器モデルは、それらのサブ領域のうちの150個が変化を経験していない(たとえば、「0」を出力)一方、サブ領域のうちの74個が変化を経験している(たとえば、「1」を出力)と判断し得る。したがって、地理的エリアに関する変化のレベルは、バイナリ分類の合計を表す74(たとえば、150個の「0」+74個の「1」)であり得る。この値は、セルのサイズを正規化除去する(normalize away)ためにさらに正規化され得る(たとえば、74/(74+150)=.33)。本明細書においてさらに説明されるように、いくつかの実装形態では、コンピューティングシステムは、2乗距離(square distance)あたりのおよび/または重み付け手法を使用して変化のレベルを判定することができる。
コンピューティングシステムは、地理的エリアに関連する変化の発生に少なくとも一部基づいて地理的エリアに関連する変化を反映するために地図インターフェースを更新することができる。たとえば、コンピューティングシステムは、地理的エリア内の変化を反映するために新しい地図タイルを生成するように地図タイル管理システムに命じることができる。いくつかの実装形態では、コンピューティングシステムは、変化のレベルが(たとえば、著しい変化のレベルおよび/または変化率を示す)閾値を超えるときにそのようにすることができる。コンピューティングシステムは、地理的エリア内の変化を反映する新しい地図タイルによって地図インターフェースの解析された地図タイルを置き換えることができる。
いくつかの実装形態では、コンピューティングシステムは、変化のレベルに少なくとも一部基づいて、地理的エリアに関連するイメージデータの獲得を調整するために、画像獲得システムに制御コマンドを提供することができる。たとえば、地理的エリアに関連する変化のレベルが高い(たとえば、閾値を上回る)場合、制御コマンドは、地理的エリアに関連するイメージデータの獲得を増やすよう画像獲得システムに命令することができる。変化のレベルが低い(または変化が発生していない)場合、コンピューティングシステムは、現在の獲得手法を維持するか、または地理的エリアに関連するイメージデータの獲得を減らすよう画像獲得システムに命令することができる。画像獲得システムは、制御コマンドを受信することができ、画像獲得にそのような変化を組み込むために、画像獲得システムは、街路レベルのプラットフォームおよび/または空中プラットフォームに関連する獲得パターンを調整することができる。たとえば、画像キャプチャプラットフォームに関連する移動パターン(たとえば、運転経路、飛行軌道)および/または画像キャプチャ頻度は、プラットフォームがより頻繁に地理的エリア(たとえば、地区)に関連する画像を獲得することができるように調整され得る。コンピューティングシステムは、新しくキャプチャされた画像を地図インターフェースの地図タイルと比較して、地理的エリア内で発生する可能性がある変化を監視し、確認し、それに応じて地図タイルを更新することができる。
本開示のシステムおよび方法は、環境内で起こる変化を反映するための地図の更新を最適化するのに役立つことができる。より詳細には、本開示の実施形態は、より高いレベルの変化に見舞われている(地図タイル内に表された)特定のエリアを特定し、それに応じてそれらの領域の地図を更新しようとする。したがって、個々の地図タイルが更新される率は、タイルによって表されるエリア内で発生する変化の量を反映する。たとえば、道路および/または建物の数の増加を伴うインフラストラクチャの急速な増加に見舞われている地理的エリアは、時間の経過とともに起こる変化がわずかである地理的エリアよりも頻繁に更新され得る。このようにして、実施形態は、データ処理が実際の変化が起こっている地図タイルに制限されることを保証するのに役立つことができる。したがって、通常の技術とは対照的に、本明細書において説明される実施形態は、大規模に地図を更新する必要性を避け、したがって、連続的な画像の間に違いがほとんどない領域を更新する必要性を避ける。そのようにすることによって、実施形態は、大きな変化が起こされていない地図タイルを再生成する必要性を避けることによって地図を更新することに関わる計算の負担を削減するのに役立つことができる。
本開示のシステムおよび方法は、地図インターフェースコンピューティングテクノロジーに改善をもたらす。たとえば、システムは、地図タイルおよび画像を解析して地理的エリアに関連する変化の発生を判定し、地理的エリアに関連する変化の発生に少なくとも一部基づいて(地図タイル内に提示された)地理的エリアに関連する変化を反映するために地図インターフェースを更新することによって地図インターフェースのリフレッシュレートを思い通りに調整することができる。したがって、コンピューティングテクノロジーは、そのリソースが変化に見舞われていない部分ではなく変化に見舞われている地図インターフェースの部分をリフレッシュするために使用されていることを保証し得る。さらに、これは、示される地理的エリア内のより新しい状態を反映するために地図インターフェースの正確さを高めながら、コンピューティングテクノロジーが適切なときに地図インターフェースを効率的に更新することを可能にし得る。
さらに、本開示の例示的な態様によって変化の検出に少なくとも一部基づいて画像獲得システムをタスキングすることは、地理画像獲得のより効率的な手法を示す。より詳細には、本開示のシステムおよび方法は、より高いレベルの変化に見舞われている特定の領域を特定し、それに応じて画像の獲得を調整しようとする。これは、コンピューティングシステムが地理的エリア内で発生する変化を監視し、それに応じて地図インターフェースを更新することを可能にし得る。
加えて、きめ細かいセルのレベルで変化を判定するために機械学習型バイナリ分類器モデルを使用することは、より低い解像度の画像を使用して変化を判定することを可能にし得る。より詳細には、(たとえば、変化が発生しているか、それとも発生していないか)バイナリ方式で画像の粒、セルレベルでの変化を識別することによって、コンピューティングシステムは、より高い解像度の画像を必要とすることになる、各セルに表されるより小さいサブ領域内の変化のタイプまたは大きさを決定する必要なしに、より低い解像度の画像データを使用することができる。より低い解像度の撮像の使用は、(たとえば、より安い、より低い解像度のプラットフォームハードウェアの使用を介した)より低い画像獲得コストにつながり得る。
本開示のシステムおよび方法は、イメージ獲得および解析コンピュータ技術の改善をもたらす。たとえば、システムは、地理的エリアに関連する変化の発生を決定するために地図タイルおよび画像を解析することによって、および地理的エリアに関連する変化のレベルを決定することによって、画像獲得を調整することができる。その上、コンピューティングシステムは、1つまたは複数の画像セルを表すデータを機械学習型バイナリ分類器モデルに入力すること、およびバイナリ分類器モデルからの出力を受信することによって、より低い解像度のイメージを使用して変化を検出することができる。出力は、地理的エリアの(たとえば、セルに表される)サブ領域に関連する変化の発生を表し得る。これによりコンピューティング技術が、より低い帯域幅で動作し、(たとえば、より低い解像度の画像の)より速いデータダウンロード/アップロードを経験し、他の解析および/または画像処理動作に割り振られ得る計算リソース(およびコスト)を節約することが可能になり得る。
図1は、本開示の例示的な実施形態による、例示的なシステム100を示す。システム100は、機械学習コンピューティングシステム102、地図データベース103、および画像獲得システム104を含むことができる。コンピューティングシステム102、地図データベース103、および/または画像獲得システム104は、直接接続を介して互いの間でデータを通信および/もしくは転送するように構成されてよく、かつ/または1つもしくは複数の通信ネットワークを介して結合されてよい。
コンピューティングシステム102は、Google Inc.(カリフォルニア州マウンテンビュー)によって開発されたGoogle MapsもしくはGoogle Earthなどのマッピングサービスプロバイダ、または他の適切な地理的サービスに関連付けられ得る。コンピューティングシステム102は、ディスプレイデバイス上に表示するためのナビゲーション可能な地図ユーザインターフェースを提供するように構成され得る。コンピューティングシステム102は、1つまたは複数のコンピューティングデバイス106を含むことができる。本明細書でさらに説明するように、コンピューティングデバイス106は、1つまたは複数のプロセッサおよび1つまたは複数のメモリデバイスを含むことができる。1つまたは複数のメモリデバイスは、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、たとえば、画像を解析し、地図インターフェースを更新するための本明細書で説明する動作および機能などの動作および機能を実行させる命令を記憶することができる。
地図データベース103は、地図インターフェースをレンダリングするために使用され得る複数の地図タイルを記憶することができる。地図タイルの各々は、地理的エリアの少なくとも一部に関連する画像を提示し得る。地理的エリアは、天体(たとえば、地球、月、火星、その他の天体)の領域、国、州、地方自治体、土地の境界によって画定されるエリア、地区、区画、学区、ショッピングセンター、オフィスパーク、水域、水路などの領域を含み得る。解像度(たとえば、地図がズームインされるかまたはズームアウトされるか)に応じて、1つの地図タイルが、領域(たとえば、州)全体を比較的大雑把にカバーする可能性がある。別の地図タイルは、ほんのいくつかの通りをかなり細かくカバーする可能性がある。地図データベース103に記憶されるデータは、いかなる特定のフォーマットにも限定されない。たとえば、データは、街路地図(street map)、画像獲得プラットフォームからキャプチャされた画像データ、および/またはこれらの組合せを含む可能性があり、(たとえば、特に街路地図に関連して)ベクトルとしてまたは(たとえば、特に画像に関連して)ビットマップとして記憶される可能性がある。サーバが(たとえば、特定の地理的エリアを対象とするユーザ入力の受信に応答して)地図インターフェース内に提示するための1つまたは複数のタイルを選択し、取り出し、送信することができるように、様々な地図タイルが地理的エリアにそれぞれ関連付けられる。たとえば、コンピューティングシステム102は、地図データベース103に記憶された地図タイルにアクセスし、取得し、地図タイルに少なくとも一部基づいて地図インターフェースをレンダリングすることができる。いくつかの実装形態では、地図データベース103は、コンピューティングシステム102と一緒に含まれ得るおよび/またはコンピューティングシステム102にそれ以外の方法で関連付けられ得る。
画像獲得システム104は、1つまたは複数の地理的エリアに関連する画像データを管理および獲得するように構成され得る。画像獲得システム104は、1つまたは複数のプロセッサおよび1つまたは複数のメモリデバイスを含む1つまたは複数のコンピューティングデバイスを含むことができる。1つまたは複数のメモリデバイスは、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、たとえば、イメージデータを獲得し、イメージデータの獲得を管理するための動作および機能などの動作および機能を実行させる命令を記憶することができる。
画像獲得システム104は、地理的エリアに関連する画像を獲得するように構成された1つまたは複数の画像キャプチャプラットフォーム108A~108Bを含むことができる。画像キャプチャプラットフォーム108A~108Bは、1つまたは複数の街路レベルのプラットフォーム108A(たとえば、自動車、街路レベルの画像を獲得するためにより低い高度で移動している空中プラットフォーム、街路レベルの画像をキャプチャするように構成された固定構造物、他の地上ベースの撮像プラットフォーム)および/または空中プラットフォーム108B(たとえば、航空機、ヘリコプター、無人航空機(UAV)、気球、衛星、頭上画像をキャプチャするように構成された固定構造物、他の頭上撮像プラットフォーム)を含むことができる。画像キャプチャプラットフォーム108A~108Bは、それぞれ、画像獲得パターン110A~110Bに少なくとも一部基づいて地理的エリアの画像を獲得するように構成され得る。画像獲得パターン110A~110Bは、1つまたは複数の画像獲得パラメータを備え得る。たとえば、獲得パターン110A~110Bは、移動経路(たとえば、運転経路、飛行経路、飛行計画、飛行軌道)、1つもしくは複数のロケーション(たとえば、画像が獲得されることになるロケーションの識別子/座標)、1つもしくは複数の時間(たとえば、獲得時間、能動的時間、受動的時間、ダウンロード時間)、1つもしくは複数の画像獲得頻度(たとえば、エリアの画像がキャプチャされる回数)、1つもしくは複数のズームレベル、画像の空間解像度、および/または地理的エリアの画像データの獲得に関連する他の情報を表すデータを含み得る。画像獲得システム104は、画像獲得パターン110A~110B(および/またはパラメータ)を調整すること、および/または画像キャプチャプラットフォーム108A~108Bに制御コマンドを送ることによって、画像キャプチャプラットフォーム108A~108Bを制御することができる。本開示のシステムおよび方法を使用することによって、画像キャプチャプラットフォーム108A~108Bは、より低い解像度の画像をキャプチャすることができる(たとえば、約1m/ピクセル)。いくつかの実装形態では、画像は、約30m/ピクセルなどの解像度を含み得る(たとえば、ランドサット画像)。したがって、画像キャプチャハードウェアは、より高い解像度の画像に必要とされる費用よりも安くなり得る。その上、画像獲得システム104が画像キャプチャプラットフォーム108A~108Bからキャプチャされた画像を取得するには、より小さい帯域幅でよい。また、より低い解像度のイメージデータの使用は、画像キャプチャプラットフォーム108A~108Bからのより少ないダウンロード/ダウンリンク時間につながり得る。
システム100は、地理的エリアのイメージを記憶するアクセス可能な画像データベース112をさらに含むことができる。画像データベース112は、コンピューティングシステム102、画像獲得システム104、ならびに/または機械学習コンピューティングシステム102および画像獲得システム104とは別個の、別のコンピューティングシステムに関連付けられ得る。画像データベース112は、地理的エリアに関連する様々なタイプの画像データを記憶することができる。たとえば、画像データは、地上レベルの画像(たとえば、街路レベルのパノラマ画像、光検出および測距(LIDAR)データのセット、地上のレベルまたはその近くでの他のイメージ)ならびに頭上画像(たとえば、頭上から見た画像)を含むことができる。画像は、光学画像、赤外線画像、LIDARデータ画像、ハイパースペクトル画像、または任意の他のタイプのイメージであり得る。画像は、画像キャプチャプラットフォーム108A~108Bによって獲得されること、ユーザが提出したイメージ(たとえば、ユーザによってキャプチャされたイメージ)であること、および/または他の方法で獲得される(たとえば、購入される)ことがある。本明細書において説明されるように、画像は比較的低い解像度である可能性がある。いくつかの実装形態では、画像は、画像内に示される地理的エリアを示す地図タイルを生成するために使用され得る。
コンピューティングデバイス106は、地図インターフェースの地図タイルを取得するように構成され得る。たとえば、図2は、本開示の例示的な実施形態による例示的な地図インターフェース200を示す。本明細書において説明されるように、地図インターフェース200は、Google Maps、Google Earthなどによって提示される地図インターフェースなどの(たとえば、ユーザデバイスの)ディスプレイデバイス201上に表示され得るナビゲーション可能な地図インターフェースである可能性がある。地図インターフェース200は、複数の地図タイルによって構築され得る。各タイルは、地理的エリアに関連する画像を提示することができる。地図タイルは、ユーザが地図インターフェース200内に示された様々なロケーションを見るなどのために地図インターフェース200を見て、地図インターフェース200とインタラクションすることができるようにディスプレイデバイス201上に表示され得る。たとえば、図2に示されるように、地図インターフェース200は、地図タイル202を含む。地図タイル202は、地理的エリア204(たとえば、住宅地区)の少なくとも一部に関連する画像を提示することができる。図1に示されるように、コンピューティングデバイス106は、たとえば、地図データベース103から地図インターフェース200の地図タイル202を示すデータ114を取得するように構成され得る。
コンピューティングデバイス106は、地理的エリア204の少なくとも一部を示す画像を示すデータ116を取得するようにも構成され得る。図3は、本開示の例示的な実施形態による地図タイル202および画像302を示す。画像302は、地理的エリア204の少なくとも一部を示すことができる。比較を容易にするために、これは、地図タイル202内に提示される地理的エリア204と同じである(または実質的に同様である)可能性がある。図2および図3に示される地理的エリア204は住宅地区を含むが、これは、限定であるように意図されていない。地理的エリア204は、天体(たとえば、地球、月、火星、その他の天体)の領域、国、州、地方自治体、土地の境界によって画定されるエリア、地区、区画、学区、ショッピングセンター、オフィスパーク、水域、水路などの領域を含み得る。
地図タイル202および画像302は、異なる時間に関連付けられ得る。たとえば、地図タイル202は、第1の時間306A(たとえば、t1)に生成され得るおよび/または第1の時間306Aにキャプチャされた画像データに基づいて生成され得る。画像302は、第1の時間306Aと異なる(たとえば、それよりも後の)第2の時間306B(たとえば、t2)に画像獲得システム104によってキャプチャおよび/または獲得され得る。画像302は、たとえば、画像獲得システム104の画像獲得プラットフォーム108A~108Bによって(たとえば、第1の時間306Aよりも)より新しくキャプチャされた画像である可能性がある。図3は1つの画像302のみを示すが、当業者は、より多くの画像が本明細書において説明される解析のために使用され得ることを理解するであろう。いくつかの実装形態では、データ116は、地理的エリア204の少なくとも一部を示す1つまたは複数の画像を示すことができる。
図1に戻ると、コンピューティングデバイス106は、複数のユーザデバイス120(たとえば、モバイルデバイス、パーソナル通信デバイス、スマートフォン、ナビゲーションシステム、ラップトップコンピュータ、タブレット、ウェアラブルコンピューティングデバイス、他のコンピューティングデバイス)に関連するロケーションデータ118を取得するように構成され得る。ロケーションデータ118は、地理的エリア204に位置する1つのユーザデバイスおよび/またはいくつかのユーザデバイス120のロケーションを表し得る。たとえば、ロケーションデータ118は、それぞれのユーザデバイス120に関連する緯度および経度、座標、セマンティックロケーションなどを識別するジオコードを含む1つまたは複数の未加工ロケーション報告を含むことができる。ロケーション報告の各々は、関連するロケーションおよび時間を表すデータの少なくとも1つのセットを含むことができる。ユーザデバイス120は、(たとえば、複数のロケーション報告を表す)ロケーションデータ118をコンピューティングデバイス106に提供することができ、かつ/またはコンピューティングデバイス106は、別のコンピューティングデバイスからロケーションデータ118を取得することができる。コンピューティングデバイス106は、ロケーションデータに少なくとも一部基づいて(たとえば、ロケーション報告の総計を介して)、地理的エリア204に位置するユーザデバイスの数を決定するように構成され得る。
コンピューティングデバイス106は、ロケーションデータ118に少なくとも一部基づいて、地理的エリア204に関連する重要性のレベル122(たとえば、LIMP)を決定するように構成され得る。重要性のレベル122は、(たとえば、一定の時間期間内に)地理的エリア204に位置することが示されているユーザデバイスおよび/またはユーザの数に少なくとも一部基づいて、地理的エリア204の関心レベルを示し得る。時間期間は、最近の時間期間(たとえば、1日、1週、1月、1年、複数年の期間)であり得る。例として、コンピューティングデバイス106は、地理的エリア204(たとえば、住宅地区)に位置するユーザデバイス(たとえば、報告ユーザデバイス120)の数が最近の時間フレーム(たとえば、過去2~3カ月)内で多いことを(ロケーションデータ118に少なくとも一部基づいて)決定し得る。この具体的な例では、「多い」という用語は、一般的または過去に地理的エリア204に位置するユーザ(および/またはユーザデバイス)の数に関係し得る。このより多いユーザデバイスの数は、地理的エリア204に関連するより高い重要性のレベル122(たとえば、ユーザの関心、変化のエリアの可能性、建設の可能性)を示し得る。
いくつかの実装形態では、コンピューティングデバイス106は、地理的エリア204に関連する重要度のレベル122に少なくとも一部基づいて地図タイル202を特定するように構成され得る。たとえば、地理的エリア204に関連する重要度のレベル122が高い場合、コンピューティングデバイス106は、地理的エリア204(たとえば、地区)を、そのコンピューティングデバイス106が変化の発生を判定すべきである関心のあるエリアとして特定することができる。したがって、コンピューティングデバイス106は、重要度の判定されたレベル122(たとえば、ユーザの関心を示す重要度の高いレベル)に少なくとも一部基づいて、地理的エリア204の少なくとも一部に関連する画像を提示する地図タイル202を示すデータ114と、(たとえば、地理的エリア204の少なくとも一部を示す)少なくとも1つの画像202を示すデータ116とを取得することができる。追加および/または代替として、コンピューティングデバイス106は、地理的エリア204に関連する画像を取得するよう(たとえば、制御コマンド124を介して)画像獲得システム104に命令することができる。画像獲得システム104は、制御コマンド124を受信することができ、必要な場合、画像獲得システム104は、地理的エリア204の少なくとも一部分を示す最近の画像、新しい画像、最新の画像などを獲得するために、1つまたは複数の画像キャプチャプラットフォーム108A~108Bに関連する1つまたは複数の獲得パターン110A~110Bを調整することができる。地理的エリア204に関する画像解析のためにコンピューティングデバイス106に送られ、かつ/またはコンピューティングデバイス106によって取得されるデータ116(または他のデータ)に、そのような画像は含まれ得る。
コンピューティングシステム102は、地理的エリア204に関連する1つまたは複数の変化の発生を識別するように構成された1つまたは複数の機械学習型モデルを含むことができる。モデルは、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)もしくは他のマルチレイヤ非線形モデルなどの様々な機械学習型モデルであり得るか、または場合によってはそれらを含み得る。たとえば、コンピューティングシステム102は、機械学習型バイナリ分類器モデル126を含むことができる。バイナリ分類器モデル126は、(たとえば、地図タイルおよび画像の比較に基づいて)地理的エリア204内の変化の発生を識別するようにトレーニングされ得る。たとえば、いくつかの実装形態では、システム100は、トレーニングコンピューティングシステム128をさらに含むことができる。トレーニングコンピューティングシステム128は、コンピューティングシステム102とは別個であり得、かつ/またはコンピューティングシステム102の一部分であり得る。
図4は、本開示の例示的な実施形態による、例示的な機械学習型モデルのトレーニングを示す。トレーニングコンピューティングシステム128は、たとえば、様々なトレーニングまたは学習技法を使用して、機械学習コンピューティングシステム102に記憶されたバイナリ分類器モデル126などの機械学習モデルをトレーニングするモデルトレーナー402を含むことができる。詳細には、モデルトレーナー402は、トレーニングデータ304のセットに基づいてバイナリ分類器モデル126をトレーニングすることができる。いくつかの実装形態では、トレーニングデータ304は、提供されるか、または場合によっては(たとえば、データベース103、データベース112から)コンピューティングシステム102によって選択され得る。
いくつかの実装形態では、モデルトレーナー402は、変化が発生している既知の事例および/または変化が発生していない既知の事例を示す地図タイルおよび/または画像を表すトレーニングデータ304を使用して、機械学習型バイナリ分類器モデル126をトレーニングすることができる。たとえば、変化が発生している既知の事例は、地理的エリア内の変化の過去のおよび/または専門家が識別した事例に対応し得る。変化が発生していない既知の事例も、地理的エリア内で変化が発生していない過去のおよび/または専門家が識別した事例に対応し得る。たとえば、モデルは、変化を示すかまたは変化を示さないかのどちらかとしてラベル付けされる1つもしくは複数の地図タイルおよび/または1つもしくは複数の画像を含むトレーニングデータ304(「バイナリトレーニングデータ」)を使用してトレーニングされ得る。トレーニングデータ304は、同じ地理的エリアを示す地図タイルおよび対応する画像を含む地図タイル-画像ペアを含み得る。追加および/または代替として、トレーニングデータ304は、何らかの変化基準(たとえば、1~100、変化のタイプ)に従ったラベルを含むデータであり得る。いくつかの実装形態では、トレーニングデータ304は、他のグラウンドトゥルース収集システムに従ってラベル付けされ得る。いくつかの実装形態では、トレーニングデータ304は、地理的エリアを示す地図タイルおよび/または画像の時系列を含む可能性があり、各トレーニング例は、時系列内の各地図タイルおよび/または画像に関して、異なる時間に生成された地図タイルおよび/またはキャプチャされた画像の間の違いを判定するのに十分な情報を提供する。
追加および/または代替として、トレーニングデータ304は、機械学習型モデル(たとえば、バイナリ分類器モデル126)がより低い解像度の画像を評価することを学習できるように、より低い解像度の画像を含むことができる。これは最終的にコンピューティングシステム102がより低い解像度の画像を評価することを可能にすることができ、より広い範囲の画像の使用、より速い処理時間、ならびにデータ転送のための帯域幅の増大につながり得る。
トレーニングコンピューティングシステム128は、トレーニングデータ304に少なくとも一部基づいて、機械学習型モデルをトレーニングすることができる。たとえば、トレーニングコンピューティングシステム128は、トレーニングデータ304(たとえば、変化を示す、または変化を示さないのいずれかとして識別された地図タイルのペアおよび対応する画像)を入力することができる。トレーニングコンピューティングシステム128は、トレーニングデータ304内の変化の発生のモデルの分類(たとえば、変化が発生しているか、それとも変化が発生していないか)を表すトレーニング出力306を受信することができる。トレーニングコンピューティングシステム128は、機械学習型モデルの正確性を決定するためにトレーニング出力306を解析することができる。たとえば、トレーニングコンピューティングシステム128は、モデルが変化の発生を正しく識別したかどうかを判断するために、出力306をトレーニングデータ304と比較することができる。(たとえば、1つまたは複数の信頼レベルを上げるために、正確性を高めるために)さらなるトレーニングが必要とされる場合、トレーニングコンピューティングシステム128は、追加のトレーニングデータ304を提供し、かつ/またはモデルに対して調整が行われる必要があり得ることを示すことができる。
例として、機械学習型バイナリ分類器モデル126は、地図タイルに関連する1つまたは複数の視覚的特性と画像に関連する1つまたは複数の視覚的特性との比較に少なくとも一部基づいて変化の発生を特定するようにトレーニングされ得る。視覚的特性は、示されるオブジェクト、ピクセルの色、色相、強度、色調、他の特性などを含むことができる。バイナリ分類器モデル126は、地図タイルおよび/または画像の少なくとも一部分に関連する視覚的特性を識別するようにトレーニングされ得る。たとえば、機械学習型バイナリ分類器モデル126は、地図タイル202の第1の部分(たとえば、セル)における視覚的特性の第1のセットおよび画像302の第2の部分(たとえば、セル)における視覚的特性の第2のセットを識別するように(たとえば、トレーニングデータ304を介して)トレーニングされ得る。機械学習型バイナリ分類器モデル126は、以下でさらに説明するように、視覚的特性の第1のセットおよび視覚的特性の第2のセットに少なくとも一部基づいて、地理的エリア204における1つまたは複数の変化の発生を識別するようにトレーニングされ得る。
図1に戻ると、コンピューティングデバイス106は、地図タイル202を示すデータ114および画像302を示すデータ116の少なくともサブセットを解析して地理的エリア204に関連する変化の発生を判定するように構成され得る。たとえば、コンピューティングデバイス106は、きめ細かいセルのレベルで地図タイル202および画像302を解析して地理的エリア204のサブ領域内の変化をバイナリ方式で特定することができる。これは、たとえば、粒、セルレベルでの地図タイル202および画像302の比較に基づいて、地理的エリア204のサブ領域において変化が発生していない(たとえば、「0」)か、それとも地理的エリア204のサブ領域において変化が発生している(たとえば、「1」)かを分類することを含むことができる。地理的エリア204のサブ領域内でバイナリ方式で変化を識別することによって、コンピューティングシステム102は、個別のターゲットサブ領域内の変化の大きさを決定するために必要とされ得るよりも低い解像度の画像をイメージ比較に利用することができる。
図5は、本開示の例示的な実施形態による、部分に分割された例示的な地図タイルおよび画像を示す。たとえば、コンピューティングデバイス106は、地図タイル202に関連する第1の複数のセル502Aおよび画像302に関連する第2の複数のセル502Bを識別することができる。セルは、地図タイルまたは画像の一部分であり得る。セルは、たとえば、それぞれの地図タイルまたは画像のピクセルからなるエリアを含むことができる。いくつかの実装形態では、コンピューティングデバイス106は、個別のセルの数学的エリアにおよび/または個別のセルの数学的エリアを画定することが意図されるピクセルの数に少なくとも一部基づいて、セル502A~502Bを識別することができる。いくつかの実装形態では、ピクセルの数および/または数学的エリアは事前に定められ得る一方、いくつかの実装形態では、ピクセルの数および/または数学的エリアは、地図タイル202および/または画像302に関連する条件(たとえば、サイズ、解像度、視野角など)に少なくとも一部基づいて選択され得る。各セル502A~502Bは、地理的エリア204の特定のサブ領域に関連付けられ得る。いくつかの実装形態では、セル504A~504Bは、1つまたは複数の特定のサブ領域がそれぞれのセルに表されるように識別され得る。
コンピューティングデバイス106は、地図タイル202および画像302の各々に対して、地理的エリア204のサブ領域に関連するセルを識別するように構成され得る。たとえば、コンピューティングデバイス106は、第1の複数のセル502Aのうちの第1のセル504Aおよび第2の複数のセル502Bのうちの第2のセル504Bを選択するように構成され得る。第1のセル504Aと第2のセル504Bの両方が、地理的エリア204のサブ領域506に関連付けられ得る。例として、地理的エリア204は地区(または地区のセクション)であってよく、サブ領域506は、地区内の土地区画など、地区のサブ領域に関連付けられ得る。第1のセルおよび第2のセルの比較を容易にするために、第1のセル504Aに関連するサブ領域506は、第2のセル504Bに関連するサブ領域506と同じである。地図タイル202、ひいては第1のセル504Aは、第1の時間306A(たとえば、t1)に関連付けられ得る。画像302(および第2のセル504B)は、第1の時間306Aとは異なる第2の時間306B(たとえば、t2)に関連付けられ得る。したがって、コンピューティングデバイス106は、第1および第2の時間306A~306Bの間にサブ領域506において変化が発生したかどうかを識別するために、セルを解析することができる。
コンピューティングデバイス106は、地図タイル202の少なくとも一部および画像302の少なくとも一部を示すデータを機械学習型バイナリ分類器モデル126に入力するように構成され得る。図6に示されるように、コンピューティングデバイス106は、地理的エリア204に関連する1つまたは複数の変化の発生を特定するために、地図タイル202および画像302の少なくとも一部を示すデータ602を機械学習型バイナリ分類器モデル126に入力することができる。たとえば、コンピューティングデバイス106は、地理的エリア204のサブ領域506に関連する変化の発生を特定するために、第1のセル504Aおよび第2のセル504Bを示すデータ602を機械学習型バイナリ分類器モデル126に入力するように構成され得る。データ602は、それぞれのセルの各々に示されるサブ領域506に関連する画像データを含み得る。たとえば、データ602は、セル504A~504Bに含まれるピクセルを示すデータ、そのようなピクセルの視覚的特性を示すデータ、ならびに/または地図タイル202、画像302、および/もしくはそれらの個々のセル(たとえば、504A~504B)に関連するその他のデータもしくはメタデータを含み得る。バイナリ分類器モデル126は、セル504A~504Bの視覚的特性を(たとえば、そのバイナリ分類器モデル126のニューラルネットワークを使用して)調べ、比較して変化の発生--これは、変化が(たとえば、サブ領域506に関連して)発生したかどうかまたは変化が(たとえば、サブ領域506に関連して)起こらなかったかどうかである可能性がある--を特定することができる。地図タイル202および画像302が異なるフォーマットである場合、モデル126は、視覚的特性の比較が遂行され得るようにコンピューティングシステム102が地図タイル202および画像302のうちの少なくとも1つのフォーマットを調整することができるように符号化され得る。いくつかの実装形態では、別のコンピューティングデバイスは、地図タイル202および/または画像302のフォーマットを調整するために使用される可能性があり、調整されたデータが、解析のためにコンピューティングデバイス106に送信され、コンピューティングデバイス106によって受信される可能性がある。
コンピューティングデバイス106は、バイナリ分類器モデル126から第1の出力604を受信するように構成され得る。出力604は、地理的エリア204のサブ領域506に関連する変化の発生を表し得る。例として、図5を再び参照すると、機械学習型バイナリ分類器モデル126は、第1のセル504Aに関連する視覚的特性の第1のセットおよび第2のセル504Bに関連する視覚的特性の第2のセットを解析することができる。図5に示すように、サブ領域506は、第1の時間306Aにおける地図タイル202の第1のセル504Aにおいて、構造的資産のいかなる部分も含まない(たとえば、空いた土地区画を示す)。第2のセル504Bにおいて、サブ領域506は、構造的資産(たとえば、建物)の少なくとも一部分を含む。バイナリ分類器モデル126は、第1のセル504Aのオブジェクトの表示、ピクセルの色、強度、他の視覚的特性などが第2のセル504Bのものと異なるかどうかを判断するために、セルを解析することができる。それぞれのセル504A~504Bの間に、信頼レベルを上回る変化(たとえば、構造的資産の追加)を示す差があるとバイナリ分類器モデル126が判断した場合、バイナリ分類器モデル126は、ターゲット領域506内の変化510の発生(たとえば、変化が発生している)を識別することができる。信頼レベルは、バイナリ分類器モデル126のトレーニング中および/またはデータ解析中に向上し、かつ/または高まり得る。第1の出力604は、地理的エリア204のターゲット領域506に関連する変化が発生していることを示すことができる。たとえば、サブ領域506に関連する変化508は、たとえば、建物の活動(たとえば、1つまたは複数の建物の変化)であり得る。出力604は、地図タイル202および画像302に少なくとも一部基づいて、変化508がサブ領域506内で発生したとバイナリ分類器モデル126が判定したことを示し得る「1」である可能性がある。いくつかの実装形態では、出力604は、その他の(たとえば、サブ領域によって重み付けされた)番号および/または文字によって表される可能性がある。
図4は構造的資産に関連するものとして変化508を示すが、これは、限定であるように意図されていない。変化508は、交通資産(たとえば、道路、通り道)、環境資産(たとえば、植物、土壌、水路)、農業資産(たとえば、農産物、農地、灌漑システム)などの、地理的エリアに関連し、地図タイルおよび/または画像内に示されるその他の要素に関連付けられ得る。
図6に示すように、コンピューティングデバイス106は、地理的エリア204の1つまたは複数の他のサブ領域に関連する1つまたは複数の変化の発生を識別するために、バイナリ分類器モデル126に別の入力として第1および第2の複数のセル502A~502Bのうちの他のセルを表すデータ606を提供するように構成され得る。コンピューティングデバイス106は、バイナリ分類器モデル126から第2の出力608を受信し得る。第2の出力608は、地理的エリア204の他のサブ領域のうちの1つまたは複数に関連する1つまたは複数の変化の発生を表し得る。
たとえば、図5に戻ると、コンピューティングデバイス106は、サブ領域512内の交通資産(たとえば、地区の道路)の表示を含む、セル510A~510Bを表すデータを入力することができる。バイナリ分類器モデル126は、セル510A~510B(たとえば、それらに関連する視覚的特性)を比較することができる。セル510A~510Bのそれぞれの特性の間に(たとえば、信頼レベルを上回る)わずかの差があるか、または差がまったくないとバイナリ分類器モデル126が判断した場合、バイナリ分類器モデル126は、変化514の発生を、サブ領域512内で変化が発生していないと識別することができる。たとえば、バイナリ分類器モデル126は、サブ領域512内で道路の活動(たとえば、1つまたは複数の通り道の変化)が発生していないと判断し得る。したがって、第2の出力608は、地理的エリア204のサブ領域512に関連する変化が発生していないことを示すことができる。たとえば、出力608は「0」であることがあり、これは、地図タイル202および画像302に少なくとも一部基づいてサブ領域512において変化が発生していないとバイナリ分類器モデル126が判断していることを示し得る。バイナリ分類器モデル126を使用することによって、本明細書で説明するシステムおよび方法は、本明細書で説明するように、より低い解像度の画像を使用して、地理的エリア204の変化を評価することができる。
上述の解析は、1つまたは複数の他の画像の1つまたは複数の他のセルに対して繰り返され得る。たとえば、コンピューティングデバイス106は、地図タイルおよび他の画像に関連するデータをバイナリ分類器モデル126に入力することができる。他の画像に関連するデータは、サブ領域506において追加の変化が発生しているかどうかを判断するために、同じサブ領域506に関連するセルを表し得る。追加および/または代替として、他の画像を表すデータは、地理的エリア204の1つまたは複数の異なるサブ領域に関連するセルを表し得る。これによりコンピューティングデバイス106が、地図タイル202の画像に提示される地理的エリア204の他のサブ領域において1つまたは複数の変化が発生しているかどうかを判断することが可能になり得る。いくつかの実装形態では、これは、上記で説明した方法でバイナリ分類器モデル126によってセルおよび/またはサブ領域の一定の数(たとえば、大多数、すべて)、パーセント、比率などが解析されるまで繰り返され得る。
コンピューティングデバイス106は、地理的エリア204に関連する1つまたは複数の変化(たとえば、508、514)の発生に少なくとも一部基づいて、地理的エリア204に関連する変化のレベル516を決定することができる。上記のように、変化のレベル516は、地理的エリア204が経験した(たとえば、その構造的資産、交通資産、環境資産、農業資産、他の資産に対する)変化の全体量であり得る。いくつかの実装形態では、コンピューティングデバイス106は、地理的エリア204のサブ領域の各々に関して決定された変化発生(たとえば、508、514)を総計することによって、変化のレベルを決定することができる。
たとえば、コンピューティングデバイス106は、地理的エリア204のサブ領域(たとえば、506、512)ごとに決定され、かつ/または関連する出力(たとえば、604、608)において識別されたバイナリ分類(たとえば、0、1)を総計することができる。地理的エリア204に関する変化のレベル516は、地理的エリア204のサブ領域(たとえば、506、512)ごとに決定されたバイナリ分類(たとえば、0、1)を加算することによって決定され得る。たとえば、地理的エリア204は、各々がサブ領域を示す、224個のセルに分割され得る。バイナリ分類器モデル126は、セルおよび/またはサブ領域のうちの150個で変化が発生していない(たとえば、「0」を出力)一方、セルおよび/またはサブ領域のうちの74個で変化が発生している(たとえば、「1」を出力)と判断し得る。したがって、地理的エリア204に関する変化のレベル516は、バイナリ分類の合計を表す74(たとえば、150個の「0」+74個の「1」)であり得る。この値は、セルのサイズを正規化除去するために、さらに正規化され得る(たとえば、74/(74+150)=.33)。
いくつかの実装形態では、変化のレベル516は、2乗距離あたり変化のレベルを示すことができる。たとえば、コンピューティングデバイス106は、総計された変化のレベルを、地図タイル202および/または画像302に表される地理的エリア204の2乗距離で割ることによって、変化のレベルを決定することができる。いくつかの実装形態では、コンピューティングデバイス106は、セル(たとえば、セル504Aおよび直接取り巻く8個のセル)のグループにおいて識別される変化分類を、それらのセルにおいて示されるサブ領域によって表される2乗距離で割ることに少なくとも一部基づいて、変化のレベルを決定することができる。
いくつかの実装形態では、コンピューティングデバイス106は、重み付け手法に少なくとも一部基づいて、変化のレベル516を決定することができる。コンピューティングデバイス106は、いくつかのセルにおいて識別される変化が変化のレベル516に関してより高い重みを与えられ、かつ/またはいくつかのセルにおいて識別される変化が変化のレベル516に関してより低い重みを与えられるように、地図タイルおよび/または画像のセルに重みを割り当てることができる。例として、コンピューティングデバイス106は、地図タイル202および/または画像302の中心の方に位置するセル504A~504Bのサブ領域506における変化により高い重みを与え、地図タイル202および/または画像302の周辺に位置するセル510Aのサブ領域512における変化により低い重みを与え得る。そうするために、コンピューティングデバイス106は、バイナリ分類(たとえば、0、1)を数値の重み識別子(たとえば、パーセント、割合)と掛け、重み付けされた分類の総計を実行して、変化のレベル516を決定することができる。
図1に戻ると、コンピューティングデバイス106は、地理的エリア204に関連する変化508の発生に少なくとも一部基づいて地理的エリア204に関連する変化508を反映するために地図インターフェース200を更新するように構成され得る。たとえば、コンピューティングデバイス106は、地理的エリア204内で特定された1つまたは複数の変化(たとえば、508)を反映するための新しい地図タイルを生成するために地図タイル管理システム132に制御コマンド130を提供するように構成され得る。追加的におよび/または代替的に、地図タイル管理システム132は、特定された変化を反映するために地図タイル202を更新することができる。概して、地図タイル管理システムは、問題にしている地図タイルに関連する特定の制御コマンドを受信する場合にのみ新しい地図タイルを生成するかまたは地図タイルを更新するように構成される可能性があり、このようにして、システムは、タイルが最後に更新されてから地理的エリア内で変化が発生していない地図タイルを再生成することを避けることができる。
地図タイル管理システム132は、制御コマンド130を受信することができ、1つまたは複数の特定された変化(たとえば、508)を反映するために新しい地図タイルを生成するおよび/または地図タイル(たとえば、202)を更新するために地図データベース103と通信するように構成され得る。たとえば、地図タイル管理システム132は、(たとえば、変化508を反映する)新しい地図タイルを生成し、その地図タイルが地図インターフェース200をレンダリングするためにコンピューティングデバイス106によってアクセスされ得るように新しい地図タイルを画像データベース103に送信することができる。新しい地図タイルは、地理的エリア204(の少なくとも一部)を示す画像302に少なくとも一部基づく可能性がある。追加的におよび/または代替的に、地図タイル管理システム132は、コンピューティングデバイス106が地図データベース103の更新された地図タイルにアクセスすることができるように、地図データベース103にアクセスし、特定された変化を反映するために1つまたは複数の地図タイルを更新することができる。いくつかの実装形態では、地図タイル管理システム132は、コンピューティングデバイス106に新しいおよび/または更新された地図タイルを送信することができる。
コンピューティングデバイス106は、地理的エリア204内の変化を反映する新しい地図タイルによって地図インターフェース200の地図タイル202を置き換える、および/または地図インターフェース200を提示するときに更新された地図タイルを使用するように構成され得る。たとえば、図7は、本開示の例示的な実施形態による例示的な更新された地図インターフェース700を示す。更新された地図インターフェース700は、地図タイル702を用いる図2の地図インターフェース200の更新されたバージョンに対応し得る。地図タイル702は、たとえば、地理的エリア204内の1つまたは複数の変化(たとえば、508)を反映し、地図タイル202を置き換える新しい地図タイルである可能性がある。追加的におよび/または代替的に、地図タイル702は、地理的エリア204内の1つまたは複数の変化(たとえば、508)を反映する地図タイル202の更新されたバージョンである可能性がある。
図1に戻ると、いくつかの実装形態では、地図インターフェース200は、変化のレベル516に少なくとも一部基づいて更新され得る。たとえば、コンピューティングデバイス106は、本明細書において説明されるように、変化508の発生に少なくとも一部基づいて地理的エリア204に関連する変化のレベル516を判定するように構成され得る。コンピューティングデバイス106は、変化のレベルが閾値のレベル134を超えるかどうかを判定するように構成され得る。閾値のレベル134は、地図タイル202が地理的エリア204の現在のステータスの正確な表現でなく、したがって、地図タイル202が調整される(たとえば、更新される、置き換えられる)べきであることを示す著しい変化のレベルおよび/または変化率を示し得る。コンピューティングデバイス106は、変化のレベル516が閾値のレベル134を超えるときに地図インターフェース200を更新するように(たとえば、地図タイル202を置き換える、地図タイル202を更新するように)ように構成され得る。
いくつかの実装形態では、コンピューティングデバイス106は、重要度のレベル122が重要度の閾値136を超えていることに少なくとも一部基づいて地図インターフェース200を更新することができる。重要度の閾値136は、重要度の高いレベル(たとえば、ユーザデバイスのトラフィック)を示す可能性がある。重要度のレベル122が重要度の閾値136を超えている場合、コンピューティングデバイス106は、地理的エリア204内で変化が発生したときに(地理的エリア204を含む)地図インターフェース200を更新することができる。
いくつかの実装形態では、コンピューティングデバイス106は、変化のレベル516に少なくとも一部基づいて地理的エリア204に関連する画像データの獲得を調整するために画像獲得システム104に制御コマンド129を提供するように構成され得る。画像獲得システム104は、制御コマンド129を受信し、様々なアクションを実行することができる。たとえば、地理的エリア204に関連する変化のレベル516が閾値134(および/または別の閾値)を超えている場合、制御コマンド129は、地理的エリア204に関連する画像データの獲得を増やすように画像獲得システム104に命じることができる。制御コマンド129は、地理的エリア204の画像が獲得される量、タイミング、頻度などを増やすように画像獲得システム104に命じることができる。これは、コンピューティングシステム102が高いレベルの変化に見舞われている地理的エリア204内で発生する変化を反映するために地図タイルを適切にリフレッシュしているように地図インターフェースコンピューティングテクノロジーを改善することができる。したがって、コンピューティングシステム102は、地理的エリア204内の変化をより正しく反映するために地図インターフェース200(およびその地図タイル)を確実にリフレッシュすることができる。これは、リフレッシュすることを必要とする地図インターフェース200の一部を調整するための処理リソースの効率的な割り振りにつながり得る。
変化のレベル516が閾値134を下回る(たとえば、より低い変化のレベルを示すか、または変化が発生していない)場合、コンピューティングデバイス106は、地理的エリア204に関連するイメージデータの獲得を調整するために制御コマンドを提供するのをやめることができる。いくつかの実装形態では、変化のレベル516が低い場合、コンピューティングデバイス106は、地理的エリア204に関連するイメージデータの獲得を減らすために画像獲得システム104に制御コマンドを提供することができる。これは、コンピューティングシステム102および/または画像獲得システム104が、(たとえば、現在の画像に基づいて)リフレッシュすることを必要としないより低いレベルの変化に見舞われているエリアに対してそのコンピューティングシステム102および/または画像獲得システム104の計算リソースが使用されることを防止することを可能にし得る。画像獲得システム104は、制御コマンドを受信することができ、それに応じて(たとえば、画像キャプチャプラットフォームを介した獲得を増やす、減らすために)イメージ獲得を調整することができる。
いくつかの実装形態では、コンピューティングデバイス106は、地理的エリア204に関連する変化のレベル516を示すグラフィカルな表現を生成することができる。グラフィカルな表現は、たとえば、地図インターフェース200内の1つまたは複数の地理的エリア204(たとえば、地図タイル)に関連する変化のレベルを示すヒートマップである可能性がある。いくつかの実装形態では、変化のレベルは、別のグラフィカルな形態(たとえば、棒グラフ、ヒストグラム)で表現され得る。これは、(たとえば、高いレベルの変化が原因で)どの地図タイルが調整される必要がある可能性があるかを示すことができる。いくつかの実装形態では、(地図タイル管理システム132に提供される)制御コマンド130は、グラフィカルな表現に少なくとも一部基づく可能性がある。このようにして、システムは、高いレベルの変化に見舞われている地理的エリアに関する地図タイルを生成および/または更新するためにそのシステムの地図タイル処理リソースを効果的に割り振ることができる。いくつかの実装形態では、地理的エリア204に関連するイメージデータの獲得を調整するための制御コマンド129は、グラフ表現に少なくとも一部基づき得る。たとえば、制御コマンド129は、グラフ表現(たとえば、ヒートマップ)に少なくとも一部基づいて、1つまたは複数の獲得パターン110A~110Bを調整するよう画像獲得システム104に命令することができる。したがって、システムは、より高い変化のレベルを経験している地理的エリアのより高い頻度のイメージを獲得し、より低い変化のレベルを経験している地理的エリアのより低い頻度のイメージを獲得するために、その撮像リソースを効果的に割り振ることができる。これは、地図インターフェース内で地理的エリアのステータスをより正しく反映する地図タイルおよび/または画像データのよりはっきりした有用な組を提供することができる。
画像獲得システム104は、様々な手法を使用して地理的エリア204に関連するイメージデータの獲得を調整することができる。たとえば、画像獲得システム104は、街路レベルのプラットフォーム108Aおよび空中プラットフォーム108Bのうちの少なくとも1つに関連する獲得パターン110A~110Bを調整することができる。たとえば、画像キャプチャプラットフォーム108A~108Bが地理的エリア204に関連する画像をより高いまたは低い頻度でキャプチャできるように、移動経路136A~136B(たとえば、運転経路、飛行経路)および/または頻度138A~138B(たとえば、画像キャプチャプラットフォーム108A~108Bで地理的エリア204の画像がキャプチャされる頻度)が調整され得る。追加および/または代替として、いくつかの実装形態では、画像獲得システム104は、画像獲得システム104が他のコンピューティングデバイスおよび/またはユーザから地理的エリア204の画像を獲得する際の購入パターン、ダウンロードパターン、要求パターンなどを調整することができる。たとえば、画像獲得システム104は、(たとえば、第三者に対して)より高い頻度のイメージ、より高い頻度の購入イメージを要求し、かつ/またはより高い変化のレベルを経験している地理的エリアのイメージを求めることができる。
図8は、本開示の例示的な実施形態による、例示的な方法800の流れ図を示す。方法800の1つまたは複数の部分は、たとえば、図1および図10に示すような1つまたは複数のコンピューティングデバイスによって実施され得る。図8は、図示および説明の目的で特定の順序で実行されるステップを示す。当業者は、本明細書で提供する開示を使用して、本明細書で説明する方法のうちのいずれかのステップが、本開示の範囲から逸脱することなく様々な方法で適合、再配置、拡大、省略、または修正されてよいことを理解されよう。
(802)において、方法800は、複数のユーザデバイスに関連するロケーションデータを取得するステップを含むことができる。たとえば、コンピューティングデバイス106は、複数のユーザデバイス120に関連するロケーションデータ118を取得することができる。ロケーションデータ118は、地理的エリア204に位置するユーザデバイスの数を表し得る。上記のように、ロケーションデータ118は、それぞれのユーザデバイス120に関連するロケーションを識別するジオコードを表す未加工ロケーション報告を含むことができる。
(804)において、方法800は、地理的エリアに関連する重要性のレベルを決定するステップを含むことができる。たとえば、コンピューティングデバイス106は、地理的エリア204に位置するユーザデバイス120の数に少なくとも一部基づいて、地理的エリア204に関連する重要性のレベル122を決定することができる。重要性のレベル122は、地理的エリア204に対する関心のレベル、地理的エリア204に関連するユーザトラフィックの量などを示し得る。いくつかの実装形態では、より多いユーザデバイス120の数は、地理的エリア204に関連するより高い重要性のレベル(たとえば、ユーザの関心、変化のエリアの可能性、建設の可能性)を示し得る。
コンピューティングデバイス106は、重要性のレベルに少なくとも一部基づいて、地理的エリアを識別することができる。たとえば、地理的エリア204に位置するユーザデバイス120の数が(たとえば、地理的エリア204に位置するユーザデバイスの一般的な、過去の数に対して)多い場合、地理的エリア204に関連する重要性のレベル122は高くなり得る。したがって、コンピューティングデバイス106は、関心エリアとして地理的エリア204を識別することができ、そのエリアにおいて変化が発生しているかどうかを判断するために、本明細書で説明するシステムおよび方法を使用すべきである。
(806)において、方法800は、地理的エリアに関連する重要度のレベルに少なくとも一部基づいて地図タイルを特定することを含み得る。たとえば、コンピューティングデバイス106は、地理的エリア204に関連する重要度のレベル122に少なくとも一部基づいて地理的エリア204の少なくとも一部に関連する画像を提示する1つまたは複数の地図タイル(たとえば、地図タイル202)を特定することができる。例として、コンピューティングデバイス106が地理的エリア204を(たとえば、より高いレベルの重要度が原因で)関心のあるエリアとして特定する場合、コンピューティングデバイス106は、本明細書において説明されるように、変化の検出の解析において使用される(地理的エリア204の少なくとも一部を示す)地図タイル202を特定することができる。
(808)において、方法800は、地図インターフェースの地図タイルを示すデータを取得することを含み得る。たとえば、コンピューティングデバイス106は、ディスプレイデバイス201上に表示され得る地図インターフェース200の地図タイル202を示すデータ114を取得することができる。地図タイル202は、地理的エリア204の少なくとも一部に関連する画像を提示し得る。コンピューティングデバイス106は、地図データベース103からデータ114を取得し得る。追加的におよび/または代替的に、地図タイル202は、上述のように、地理的エリア204に関連する重要度のレベル122に基づいて特定された地図タイルである可能性がある。
(810)において、方法800は、地理的エリアの少なくとも一部を示す画像を示すデータを取得することを含み得る。たとえば、コンピューティングデバイス106は、地理的エリア204の少なくとも一部を示す画像302を示すデータ116を取得することができる。画像302は、地理的エリア204の同じ部分を地図タイル202として示すことができる。画像302は、画像獲得システム104によって獲得され得る。いくつかの実装形態では、画像302は、1つもしくは複数の街路レベルプラットフォーム108Aおよび/または1つもしくは複数の空中プラットフォーム108Bによって獲得され得る。
(812)において、方法800は、地図タイルおよび画像を解析することを含み得る。たとえば、コンピューティングデバイス106は、地図タイル202を示すデータ114および画像302を示すデータ116を解析して地理的エリア204に関連する変化の発生を判定することができる。コンピューティングデバイス106は、変化が発生したかどうかを特定するために、地図タイル202および画像302の少なくとも一部を示すデータ602を機械学習型モデル(たとえば、バイナリ分類器モデル126)に入力することができる。
機械学習型モデルは、入力されたデータ602に少なくとも一部基づいて地理的エリア204に関連する1つまたは複数の変化の発生を特定することができる。たとえば、図9は、本開示の例示的な実施形態による地図タイルおよび画像を解析するための例示的な方法900の流れ図を示す。方法900の1つまたは複数の部分は、たとえば、図1および図10に示すような1つまたは複数のコンピューティングデバイスによって実施され得る。その上、方法900の1つまたは複数のステップは、たとえば、(812)におけるような方法800のステップと組み合わせられ得る。図9は、図示および説明の目的で特定の順序で実行されるステップを示す。当業者は、本明細書で提供する開示を使用して、本明細書で説明する方法のうちのいずれかのステップが、本開示の範囲から逸脱することなく様々な方法で適合、再配置、拡大、省略、または修正されてよいことを理解されよう。
(902)において、方法900は、地図タイルの1つまたは複数の部分および画像の1つまたは複数の部分を特定することを含み得る。たとえば、コンピューティングデバイス106は、地図タイル202に関連する第1の複数のセル502Aおよび画像302に関連する第2の複数のセル502Bを特定することができる。各セルは、より大きな地理的エリア204(たとえば、地区)のサブ領域(たとえば、土地区画)を示すことができる。
(904)において、方法900は、地図タイルの1つまたは複数の部分および画像の1つまたは複数の部分を選択することを含み得る。たとえば、コンピューティングデバイス106は、第1の複数のセル502Aのうちの第1のセル504Aおよび第2の複数のセル502Bのうちの第2のセル504Bを選択することができる。第1のセル504Aと第2のセル504Bの両方が、地理的エリア204のサブ領域506に関連付けられ得る。
(906)において、方法は、地図タイルおよび画像を示すデータを機械学習型モデルに入力することを含み得る。コンピューティングデバイス106は、地図タイル202および画像302の少なくとも一部を示すデータ602を機械学習型モデルに入力することができる。たとえば、コンピューティングデバイス106は、地図タイル202および画像302の各々の一部を示すデータ602を機械学習型モデル126に入力することができる。例として、コンピューティングデバイス106は、地理的エリア204のサブ領域506に関連する変化508の発生を識別するために、第1のセル504Aおよび第2のセル504Bを表すデータ602を機械学習型バイナリ分類器モデル126に入力することができる。
本明細書において説明されるように、データ602は、たとえば、一部(たとえば、セル)を構成するピクセルならびに/またはそのようなピクセル(および/もしくはセル)に関連する視覚的特性(たとえば、色、強度、示された物体)を示すデータなどの、地図タイル202および画像302のそれぞれの選択された一部(たとえば、セル)の各々の中に示されるサブ領域に関連するデータを含み得る。いくつかの実装形態では、コンピューティングデバイス106は、地図タイル202および画像302に関連するデータを入力することができ、バイナリ分類器モデル126は、(902)および(904)と同様に、地図タイル202および画像302を処理して地図タイル202および画像302の一部(たとえば、セル)を特定し、地図タイル202および画像302の一部を選択することができる。
(908)において、方法900は、入力されたデータを処理して地理的エリアに関連する1つまたは複数の変化の発生を特定することを含み得る。たとえば、機械学習型モデルは、地図タイル202および画像302の一部を示すデータ602を処理することができる。例として、バイナリ分類器モデル126は、第1のセル504Aおよび第2のセル504Bを示すデータを処理して地理的エリア204のサブ領域506に関連する1つまたは複数の変化の発生を特定することができる。
本明細書において説明されるように、バイナリ分類器モデル126は、地図タイル202および画像302の各々の1つまたは複数の視覚的特性の比較に少なくとも一部基づいて地理的エリア204のサブ領域506に関連する変化(たとえば、508)の発生を特定するようにトレーニングされ得る。したがって、バイナリ分類器モデル126は、地図タイル202および画像302の視覚的特性を比較して1つまたは複数の変化の発生を特定することができる。たとえば、バイナリ分類器モデル126は、第1のセル504A(たとえば、それに関連するピクセル)および第2のセル504B(たとえば、それに関連するピクセル)の視覚的特性を比較して地理的エリア204のサブ領域506に関連する1つまたは複数の変化(たとえば、508)の発生を特定することができる。
(910)において、方法900は、機械学習型モデルから第1の出力を受信することを含み得る。コンピューティングデバイス106は、バイナリ分類器モデル126から第1の出力604を受信することができる。出力604は、地理的エリア204のサブ領域506に関連する変化508の発生を示すことができる。地理的エリア204に関連する変化は、構造的資産(たとえば、建物、建物の部分、他の構造物)に関連する変化、および交通資産(たとえば、道路、通り道)に関連する変化のうちの少なくとも1つを含むことができる。たとえば、地理的エリア204に関連する変化508は、建物の活動(たとえば、建物、他の構造的資産の追加、除去、変更)および/または道路の活動(たとえば、通り道、他の交通資産の追加、除去、変更)のうちの少なくとも1つを含むことができる。いくつかの実装形態では、変化は、別のタイプの資産(たとえば、農業)に関連付けられ得る。
(912)において、方法900は、他のセルを表すデータを機械学習型モデルに入力するステップを含むことができる。いくつかの実装形態では、コンピューティングデバイス106は、変化を検出するために、地図タイル202および/または画像302の1つまたは複数の他の部分を表すデータをバイナリ分類器モデル126に入力することができる。たとえば、コンピューティングデバイス106は、地理的エリア204の1つまたは複数の他のサブ領域(たとえば、512)に関連する1つまたは複数の変化の発生を識別するために、バイナリ分類器モデル126に別の入力として第1および第2の複数のセル504A~504Bのうちの他のセルを表すデータ606を提供することができる。コンピューティングデバイス106は、バイナリ分類器モデル126から第2の出力608を受信し得る。第2の出力608は、地理的エリア204の他のサブ領域のうちの1つまたは複数に関連する1つまたは複数の変化の発生を表し得る。
いくつかの実装形態では、コンピューティングデバイス106は、1つまたは複数の他の地図タイルおよび/または画像を表すデータをバイナリ分類器モデル126に入力することができる。入力されたデータは、他の地図タイルおよび/または画像の1つまたは複数の部分(たとえば、セル)を表し得る。バイナリ分類器モデル126は、サブ領域506に関連する他の変化の発生を識別するために、かつ/または地理的エリア204の他のサブ領域に関連する1つもしくは複数の他の変化を識別するために、上述した方法と同様の方法でそのようなデータを処理することができる。第2の出力608(および/または別の出力)は、他の地図タイルおよび/または画像からの入力されたデータに少なくとも一部基づいて、サブ領域506および/または地理的エリア204の別のサブ領域に関連する1つまたは複数の変化の発生を表し得る。
図8に戻ると、(814)において、方法800は、地理的エリアに関連する変化のレベルを決定するステップを含むことができる。いくつかの実装形態では、コンピューティングデバイス106は、バイナリ分類器モデル126からの第1の出力604および第2の出力608に少なくとも一部基づいて、地理的エリア204に関連する変化のレベル516を決定することができる。コンピューティングデバイス106は、(たとえば、モデルからの出力に示される)地理的エリア204に関連する1つまたは複数の変化(たとえば、508、514)の発生に少なくとも一部基づいて、地理的エリア204に関連する変化のレベル516を決定することができる。いくつかの実装形態では、コンピューティングデバイス106は、本明細書において説明されるように、それぞれのサブ領域(たとえば、土地区画)に関して判定された変化の発生を集約することおよび/または(たとえば、セルのサイズを正規化除去するために)正規化を適用することによって地理的エリア204(たとえば、地区)に関連する変化のレベル516を判定することができる。追加的におよび/または代替的に、変化のレベル516は、本明細書において説明されるように、2乗距離あたりの変化および/または重み付け手法に少なくとも一部基づくことができる。
いくつかの実装形態では、コンピューティングデバイス106は、地理的エリア204に関連する変化のレベル516を示すグラフィカルな表現を生成することができる。グラフィカルな表現は、1つまたは複数のその他の地理的エリアに対して相対的な地理的エリア204に関連する変化のレベル516を示すことができる。これは、たとえば、国、世界などの全体を通じて異なる地理的エリア内で発生する変化の異なるレベルを示すことができる。いくつかの実装形態では、グラフィカルな表現は、地理的エリア204(たとえば、地図タイル202)のどのサブ領域が変化に見舞われたかを示すことができる。
(816)において、方法800は、地図インターフェースを更新することを含み得る。たとえば、コンピューティングデバイス106は、地理的エリア204に関連する変化508の発生に少なくとも一部基づいて地理的エリア204に関連する変化508を反映するために地図インターフェース200を更新することができる。コンピューティングデバイス106は、地理的エリア204に関連するその他の変化を反映するために地図インターフェース200を更新することもできる。いくつかの実装形態では、コンピューティングデバイス106は、変化のレベル516が閾値のレベル134を超えるかどうかを判定することができ、変化のレベル516が閾値のレベル134を超えるとき、地図インターフェース200を更新することができる。いくつかの実装形態では、地図インターフェース200を更新するステップ(816)は、本明細書において説明されるように、閾値136を超えていると判定される地理的エリア204に関連する重要度のレベル122に従って実行され得る。
本明細書において説明されるように、コンピューティングデバイス106は、様々な方法で地図インターフェース200を更新することができる。たとえば、コンピューティングデバイス106は、地理的エリア204内の変化(たとえば、508)を反映するための新しい地図タイル(たとえば、702)を生成するために地図タイル管理システム132に制御コマンド130を与えることができる。地図タイル管理システム132は、本明細書において説明されるように、制御コマンド130を受信し、地図タイルを生成および/または更新するために新しいアクションを起こすことができる。
いくつかの実装形態では、新しい地図タイル(たとえば、702)は、地理的エリア204の少なくとも一部を示す画像302に少なくとも一部基づくことができる。たとえば、地図タイル管理システム132は、新しいタイル702を生成するときに画像302を基礎(または部分的な基礎)として使用することができる。コンピューティングデバイス106は、たとえば図7に示されるように、地理的エリア204内の変化(たとえば、508)を反映する新しい地図タイル(たとえば、702)によって地図インターフェースの地図タイル202を置き換えることができる。追加的におよび/または代替的に、コンピューティングデバイス106は、本明細書において説明されるように、任意の特定された変化(たとえば、508)を反映するために地図タイル202を更新することができる。したがって、コンピューティングデバイス106は、地理的エリア204の現在の状態をより正確に反映することができる更新された地図インターフェース700(たとえば、1つまたは複数の新しいおよび/または更新された地図タイルを用いる地図インターフェース200)を表示のために提供することができる。
(818)において、方法800は、地理的エリアに関連する画像獲得を調整することを含み得る。コンピューティングデバイス106は、変化のレベル516に少なくとも一部基づいて地理的エリア204に関連する画像データの獲得を調整するために画像獲得システム104に制御コマンド129を提供することができる。たとえば、本明細書において説明されるように、画像獲得システム104は、1つまたは複数の画像獲得プラットフォーム108A~108Bを含み得る。コンピューティングデバイス106は、変化のレベル516に少なくとも一部基づいて1つまたは複数の画像獲得プラットフォーム108A~108Bに関連する獲得パターン110A~110Bを調整するために画像獲得システム104に制御コマンド129を提供することができる。画像獲得システム104は、制御コマンド129を受信することができ、それに応じて画像獲得の調整を行うことができる。たとえば、獲得パターン110A~110Bを調整することは、画像獲得プラットフォーム108A~108Bのうちのそれぞれの画像獲得プラットフォームによって地理的エリア204の画像がキャプチャされる頻度138A~138Bを調整することを含み得る。地理的エリア204の画像がキャプチャされる頻度138A~138Bは、閾値134を超えている地理的エリア204に関連する変化の判定されたレベル516に従って増やされ得る。追加的におよび/または代替的に、画像データの獲得は、購入戦略の調整および/またはユーザ提出の要請を含むことができる。
いくつかの実装形態では、コンピューティングデバイス106は、地理的エリア204に関連する変化のレベル516および重要度のレベル122に少なくとも一部基づいて1つまたは複数の画像獲得プラットフォーム110A~110Bに関連する獲得パターンを調整するために画像獲得システム104に制御コマンド129を与えることができる。画像獲得システム104は、(たとえば、画像獲得プラットフォーム108A~108Bを介して)指示されたように画像獲得を調整することができる。たとえば、変化のレベル516が高く、重要度のレベル122が高い場合、コンピューティングデバイス106は、(たとえば、地理的エリア204の画像がキャプチャされる頻度138A~138Bを増やすことによって)地理的エリア204に関連する画像データの獲得を増やすと決定することができる。変化のレベル516が低く、重要度のレベル122が高い場合、コンピューティングデバイス106は、地理的エリア204に関連する画像データの獲得を維持するおよび/または減らすと決定することができる。コンピューティングデバイス106は、(確実に調整するように画像獲得システム104に命じる)制御コマンド129を送信することができ、画像獲得システム104は、制御コマンド129を受信し、それに応じて働くことができる。このようにして、本開示のシステムおよび方法は、そうでなければより低いレベルの変化に見舞われているエリアのために使用されたであろうリソースを節約しながら、より高いレベルの変化に見舞われているエリアの画像をキャプチャするために画像および地図タイル処理リソースを割り振ることができる。
いくつかの実装形態では、変化があり得る(ただし、一般的ではない)、高い重要性のレベルに関連する地理的エリアは、変化の影響が大きい場合、より高い優先度を与えられ得る。たとえば、いくつかの地理的エリア(たとえば、空港、ショッピングモール、他の人気のあるアトラクション)は、適度な変化のレベル(たとえば、適度な道路、建物の活動)を有するが、高い重要性のレベル(たとえば、ユーザデバイスの存在)および/または関心の他の指標(たとえば、関連するビジネスウェブページのオンライン閲覧)を有する。そのようなエリアにおける変化は、そのようなエリアのロケーションおよび/または人口を踏まえると、著しい影響を与える可能性がある。いくつかの実装形態では、コンピューティングデバイス106は、(より高い重要性のレベルの)これらの地理的エリアに優先権を割り当てることができる。したがって、コンピューティングデバイス106は、(たとえば、画像獲得システム104への1つまたは複数の制御コマンドを介して)イメージ獲得を調整することで、これらの高優先エリアの画像が定期的に獲得されるようにし、変化(ただし、一般的ではない)が著しい影響を与え得るこれらのエリアにおける変化をコンピューティングデバイスが定期的に監視できるようにすることができる。
図10は、本開示の例示的な実施形態による、例示的なシステム1000を示す。システム1000は、機械学習コンピューティングシステム102、地図データベース103、画像獲得システム104、画像データベース112、複数のユーザデバイス120、トレーニングコンピューティングシステム128、および/または地図タイル管理システム132を含み得る。システム1000の構成要素は、たとえば、データを交換するために、1つまたは複数の通信ネットワーク1002を介してシステム1000の他の構成要素のうちの1つまたは複数と通信することができる。
コンピューティングシステム102は、1つまたは複数のコンピューティングデバイス106を含む。コンピューティングデバイス106は、1つまたは複数のプロセッサ1004Aおよび1つまたは複数のメモリデバイス1004Bを含むことができる。1つまたは複数のプロセッサ1004Aは、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってよく、1つのプロセッサまたは動作可能に接続された複数のプロセッサであってよい。メモリデバイス1004Bは、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、および/またはそれらの組合せのような1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。
1つまたは複数のメモリデバイス1004Bは、1つまたは複数のプロセッサ1004Aによって実行され得るコンピュータ可読命令1004Cを含む、1つまたは複数のプロセッサ1004Aによってアクセス可能な情報を記憶することができる。命令1004Cは、1つまたは複数のプロセッサ1004Aによって実行されると、1つまたは複数のプロセッサ1004Aに動作を実行させる命令の任意のセットであり得る。いくつかの実施形態では、命令1004Cは1つまたは複数のプロセッサ1004Aによって、本明細書で説明するように、コンピューティングシステム102および/もしくはコンピューティングデバイス106が構成される目的である動作および機能のいずれか、地図インターフェースを更新するための動作、ならびに/または任意の他の動作もしくは機能などの動作を1つまたは複数のプロセッサ1004Aに実行させるように実行され得る。メモリデバイス1004B(たとえば、非一時的コンピュータ可読記憶媒体)は、1つまたは複数のコンピュータプロセッサ1004Aによって実行されるときにプロセッサ1004に方法(たとえば、方法800、900)を実行させるコンピュータ実行可能命令1004Cを含み得る。たとえば、命令1004Cは、プロセッサ1004Aに、本明細書において説明されるように、ディスプレイデバイス上に表示され得る地図インターフェースの地図タイルを示すデータを取得させ、地理的エリアの少なくとも一部を示す画像を示すデータを取得させ、地図タイルを示すデータおよび画像を示すデータを解析して地理的エリアに関連する変化の発生を判定させ、地理的エリアに関連する変化の発生に少なくとも一部基づいて地理的エリアに関連する変化を反映するために地図インターフェースを更新させることができる。命令1004Cは、任意の適切なプログラミング言語で書かれたソフトウェアであり得るか、またはハードウェアにおいて実装され得る。追加および/または代替として、命令1004Cは、プロセッサ1004A上で論理的かつ/または仮想的に別個のスレッドにおいて実行され得る。
1つまたは複数のメモリデバイス1004Bはまた、1つまたは複数のプロセッサ1004Aによって取り出され、操作され、作成され、または記憶され得るデータ1004Dを記憶することができる。データ1004Dは、たとえば、地図タイルに関連するデータ、画像に関連するデータ、地理的エリアに関連するデータ、ロケーションデータ、機械学習型モデルに関連するデータ、トレーニングデータ、および/または他のデータもしくは情報を含むことができる。データ1004Dは、1つまたは複数のデータベースに記憶され得る。1つまたは複数のデータベースは、高帯域LANもしくはWANによってコンピューティングデバイス106に接続されてよく、またはネットワーク1002を通じてコンピューティングデバイス106に接続されてもよい。1つまたは複数のデータベースは、複数の場所に位置するように分割され得る。
本明細書で説明するように、コンピューティングデバイス106は、たとえば、バイナリ分類器モデル126など、1つまたは複数の機械学習型モデル1004Eを記憶するか、または場合によっては含むことができる。機械学習型モデル1004Eは、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)もしくは他のマルチレイヤ非線形モデルなどの様々な機械学習型モデルであり得るか、または場合によってはそれらを含み得る。モデル1004Eは、本明細書で説明するように、地図インターフェースを更新するための動作および機能を実行するために、プロセッサ1004Aによってアクセスされ得る。
コンピューティングデバイス106はまた、ネットワーク1002を介してシステム1000の1つまたは複数の他の構成要素(たとえば、画像獲得システム104、ユーザデバイス120、トレーニングコンピューティングシステム128、地図タイル管理システム132、データベース103、112)と通信するために使用されるネットワークインターフェース1004Fを含むことができる。ネットワークインターフェース1004Fは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切な構成要素を含む、1つまたは複数のネットワークとインターフェースするための任意の適切な構成要素を含むことができる。
いくつかの実装形態では、機械学習コンピューティングシステム102は、1つもしくは複数のサーバコンピューティングデバイスを含み得るか、または場合によってはそれによって実装される。機械学習コンピューティングシステム102が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、逐次計算アーキテクチャ、並行計算アーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
画像獲得システム104は、1つまたは複数のコンピューティングデバイス1006Aを含むことができる。コンピューティングデバイス1006Aは、1つまたは複数のプロセッサ1006Bおよび1つまたは複数のメモリデバイス1006Cを含むことができる。1つまたは複数のプロセッサ1006Bは、マイクロプロセッサ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央処理装置(CPU)、(たとえば、画像を効率的にレンダリングするための専用の)グラフィックス処理ユニット(GPU)、他の特殊な計算を実行するための処理ユニットなどのような、任意の適切な処理デバイスを含むことができる。メモリデバイス1006Cは、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、および/またはそれらの組合せのような1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。
メモリデバイス1006Cは、1つまたは複数のコンピュータ可読媒体を含むことができ、1つまたは複数のプロセッサ1006Bによって実行され得る命令1006Dを含む、1つまたは複数のプロセッサ1006Bによってアクセス可能な情報を記憶することができる。たとえば、メモリ1006Cは、本明細書で説明するように、イメージデータを獲得するための命令1006Dを記憶することができる。いくつかの実施形態では、命令1006Dは1つまたは複数のプロセッサ1006Bによって、本明細書で説明するように、画像獲得システム104が構成される目的である(たとえば、画像データを提供する、イメージの獲得を調整する、画像キャプチャプラットフォームと通信する)動作および機能のいずれか、ならびに/または画像獲得システム104の任意の他の動作もしくは機能などの動作を1つまたは複数のプロセッサ1006Bに実行させるように実行され得る。命令1006Dは、任意の適切なプログラミング言語で書かれたソフトウェアであり得るか、またはハードウェアにおいて実装され得る。追加および/または代替として、命令1006Dは、プロセッサ1006B上で論理的かつ/または仮想的に別個のスレッドにおいて実行され得る。
1つまたは複数のメモリデバイス1006Cはまた、1つまたは複数のプロセッサ1006Bによって取り出され、操作され、作成され、または記憶され得るデータ1006Eを記憶することができる。データ1006Eは、たとえば、1つまたは複数の地理的エリアに関連する画像データ、獲得パターンなどを含むことができる。いくつかの実装形態では、データベース112は、画像獲得システム104とともに含まれるか、または場合によっては画像獲得システム104に関連付けられ得る。いくつかの実装形態では、データ1006Eは、別のデバイス(たとえば、リモートアクセス可能な画像データベース)から受信され得る。
コンピューティングデバイス1006Aはまた、ネットワーク1002を介してシステム1000の1つまたは複数の他の構成要素(たとえば、コンピューティングシステム102、データベース112)と通信するために使用されるネットワークインターフェース1006Fを含むことができる。ネットワークインターフェース1006Fは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切な構成要素を含む、1つまたは複数のネットワークとインターフェースするための任意の適切な構成要素を含むことができる。
ユーザデバイス120の各々は、ラップトップ、デスクトップ、他のパーソナルコンピューティングデバイス、ナビゲーションシステム、スマートフォン、タブレット、ウェアラブルコンピューティングデバイス、他のモバイルコンピューティングデバイス、1つもしくは複数のプロセッサを有するディスプレイ、サーバコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、任意の適切なタイプのコンピューティングデバイスであり得る。ユーザデバイス120は、1つまたは複数のプロセッサ1008Aおよび1つまたは複数のメモリデバイス1008Bを含むことができる。1つまたは複数のプロセッサ1008Aは、マイクロプロセッサ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央処理装置(CPU)、(たとえば、画像を効率的にレンダリングするための専用の)グラフィックス処理ユニット(GPU)、他の特殊な計算を実行するための処理ユニットなどのような、任意の適切な処理デバイスを含むことができる。メモリデバイス1008Bは、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、および/またはそれらの組合せのような1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。
メモリデバイス1008Bは、1つまたは複数のコンピュータ可読媒体を含むことができ、1つまたは複数のプロセッサ1008Aによって実行され得る命令1008Cを含む、1つまたは複数のプロセッサ1008Aによってアクセス可能な情報を記憶することができる。たとえば、メモリデバイス1008Bは、本明細書で説明するように、デバイスロケーションを決定し、コンピューティングシステム102にロケーションデータを提供するための命令1008Cを記憶することができる。いくつかの実施形態では、命令1008Cは1つまたは複数のプロセッサ1008Aによって、本明細書で説明するように、ユーザデバイス120が構成される目的である動作および機能のいずれか、ならびに/またはユーザデバイス120の任意の他の動作もしくは機能などの動作を1つまたは複数のプロセッサ1008Aに実行させるように実行され得る。命令1008Cは、任意の適切なプログラミング言語で書かれたソフトウェアであり得るか、またはハードウェアにおいて実装され得る。追加および/または代替として、命令1008Cは、プロセッサ1008A上で論理的かつ/または仮想的に別個のスレッドにおいて実行され得る。
1つまたは複数のメモリデバイス1008Bはまた、1つまたは複数のプロセッサ1008Aによって取り出され、操作され、作成され、または記憶され得るデータ1008Dを記憶することができる。データ1008Dは、たとえば、ユーザデバイスに関連するデータ(たとえば、ロケーションデータ)を含むことができる。いくつかの実装形態では、データ1008Dは、別のデバイス(たとえば、ロケーションを決定するためのリモートコンピューティングシステム)から受信され得る。
ユーザデバイス120は、ユーザデバイスのロケーションを決定するための様々なロケーションコンピューティングハードウェア1008Fを含むことができる。たとえば、ロケーションハードウェア1008Fは、ユーザデバイス120がそのロケーションを決定することを可能にし得る、センサ、GPSコンピューティングデバイスなどを含むことができる。いくつかの実装形態では、ロケーションコンピューティングハードウェア1008Fは、ユーザデバイス120のロケーションを決定するために1つまたは複数の他のリモートコンピューティングデバイスから受信されたデータとともに使用され得る。いくつかの実装形態では、ユーザデバイス120は、コンピューティングデバイス106のために受信された地図インターフェース(たとえば、200)を表示するためのディスプレイデバイス(たとえば、201)を含み得る。
ユーザデバイス120はまた、ネットワーク1002を介してシステム1000の1つまたは複数の他の構成要素(たとえば、コンピューティングシステム102)と通信するために使用されるネットワークインターフェース1008Eを含むことができる。ネットワークインターフェース1008Eは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切な構成要素を含む、1つまたは複数のネットワークとインターフェースするための任意の適切な構成要素を含むことができる。
いくつかの実装形態では、システム1000は、ネットワーク1002を介して通信可能に結合されたトレーニングコンピューティングシステム128をさらに含むことができる。トレーニングコンピューティングシステム128は、機械学習コンピューティングシステム102とは別個であり得るか、または機械学習コンピューティングシステム102の一部分であり得る。トレーニングコンピューティングシステム128は、1つまたは複数のコンピューティングデバイス1010Aを含むことができる。
コンピューティングデバイス1010Aは、1つまたは複数のプロセッサ1010Bおよび1つまたは複数のメモリデバイス1010Cを含むことができる。1つまたは複数のプロセッサ1010Bは、マイクロプロセッサ、コントローラ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央処理装置(CPU)、(たとえば、画像を効率的にレンダリングするための専用の)グラフィックス処理ユニット(GPU)、他の特殊な計算を実行するための処理ユニットなどのような、任意の適切な処理デバイスを含むことができる。メモリデバイス1010Cは、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、および/またはそれらの組合せのような1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。
メモリデバイス1010Cは、1つまたは複数のコンピュータ可読媒体を含むことができ、1つまたは複数のプロセッサ1010Bによって実行され得る命令1010Dを含む、1つまたは複数のプロセッサ1010Bによってアクセス可能な情報を記憶することができる。たとえば、メモリ1010Cは、本明細書で説明するように、機械学習型モデルをトレーニングするための命令1010Dを記憶することができる。いくつかの実施形態では、命令1010Dは1つまたは複数のプロセッサ1010Bによって、本明細書で説明するように、トレーニングコンピューティングシステム128が構成される目的である(たとえば、バイナリ分類器モデルをトレーニングする)動作および機能のいずれか、ならびに/またはトレーニングコンピューティングシステム128の任意の他の動作もしくは機能などの動作を1つまたは複数のプロセッサ1010Bに実行させるように実行され得る。命令1010Dは、任意の適切なプログラミング言語で書かれたソフトウェアであり得るか、またはハードウェアにおいて実装され得る。追加および/または代替として、命令1010Dは、プロセッサ1010B上で論理的かつ/または仮想的に別個のスレッドにおいて実行され得る。
1つまたは複数のメモリデバイス1010Cはまた、1つまたは複数のプロセッサ1010Bによって取り出され、操作され、作成され、または記憶され得るデータ1010Eを記憶することができる。データ1010Eは、たとえば、トレーニングデータなどを含むことができる。いくつかの実装形態では、データ1010Eは、別のデバイス(たとえば、リモートアクセス可能な画像データベース)から受信され得る。
コンピューティングデバイス1010Aはまた、たとえば、モデルトレーナー402など、1つまたは複数のモデルトレーナー1010Fを含むことができる。モデルトレーナー1010Fは、所望の機能を提供するために利用されるコンピュータ論理を含むことができる。モデルトレーナー1010Fは、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアにおいて実装され得る。たとえば、いくつかの実装形態では、モデルトレーナー1010Fは、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサ(たとえば、1010B)によって実行されるプログラムファイルを含むことができる。他の実装形態では、モデルトレーナー1010Fは、RAMハードディスクまたは光媒体もしくは磁気媒体などの有形のコンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含むことができる。
コンピューティングデバイス1010Aはまた、ネットワーク1002を介してシステム1000の1つまたは複数の他の構成要素(たとえば、コンピューティングシステム102)と通信するために使用されるネットワークインターフェース1010Gを含むことができる。ネットワークインターフェース1010Gは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切な構成要素を含む、1つまたは複数のネットワークとインターフェースするための任意の適切な構成要素を含むことができる。
地図タイル管理システム132は、1つまたは複数のコンピューティングデバイス1012Aを含み得る。コンピューティングデバイス1012Aは、1つまたは複数のプロセッサ1012Bおよび1つまたは複数のメモリデバイス1012Cを含み得る。1つまたは複数のプロセッサ1012Bは、マイクロプロセッサ、マイクロコントローラ、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理デバイス、1つまたは複数の中央演算処理装置(CPU)、(たとえば、画像を効率的にレンダリングすることに専用の)グラフィックス処理ユニット(GPU)、その他の特別な計算を実行する処理ユニットなどの任意の好適な処理デバイスを含み得る。メモリデバイス1012Cは、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、および/またはこれらの組合せなどの1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。
メモリデバイス1012Cは、1つまたは複数のコンピュータ可読媒体を含む可能性があり、1つまたは複数のプロセッサ1012Bによって実行され得る命令1012Dを含む、1つまたは複数のプロセッサ1012Bによってアクセスされ得る情報を記憶する可能性がある。たとえば、メモリ1012Cは、本明細書において説明されるように、地図タイルを生成し、更新するための命令1012Dを記憶することができる。一部の実施形態において、命令1012Dは、本明細書において説明されるように、地図タイル管理システム132がそれらのために構成される動作および機能のいずれかならびに/または地図タイル管理システム132の任意のその他の動作もしくは機能などの動作を1つまたは複数のプロセッサ1012Bに実行させるために1つまたは複数のプロセッサ1012Bによって実行され得る。命令1012Dは、任意の好適なプログラミング言語で書かれたソフトウェアである可能性があり、またはハードウェアに実装される可能性がある。追加的におよび/または代替的に、命令1012Dは、プロセッサ1012B上で論理的におよび/または仮想的に別々のスレッドにおいて実行され得る。
1つまたは複数のメモリデバイス1012Cは、1つまたは複数のプロセッサ1012Bによって取り出され得るか、操作され得るか、生成され得るか、または記憶され得るデータ1012Eを記憶することもできる。データ1012Eは、たとえば、1つまたは複数の地図ファイルに関連するデータなどを含み得る。いくつかの実装形態では、データベース103は、地図タイル管理システム132と一緒に含まれ得るかまたはそうでなければ地図タイル管理システム132に関連付けられ得る。いくつかの実装形態では、データ1012Eは、別のデバイス(たとえば、遠隔のアクセス可能な画像データベース)から取り出され得る。
コンピューティングデバイス1012Aは、ネットワーク1002を介してシステム1000の1つまたは複数のその他の構成要素(たとえば、コンピューティングシステム102、データベース103)と通信するために使用されるネットワークインターフェース1012Fも含み得る。ネットワークインターフェース1012Fは、たとえば、送信機、受信機、ポート、コントローラ、アンテナ、またはその他の好適な構成要素を含む、1つまたは複数のネットワークとインターフェースをとるための任意の好適な構成要素を含み得る。
ネットワーク1002は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、セルラーネットワーク、またはそれらの何らかの組合せなど、任意のタイプの通信ネットワークであり得、任意の数のワイヤードまたはワイヤレスリンクを含むことができる。ネットワーク1002はまた、システム1000の1つまたは複数の構成要素の間の直接接続を含むことができる。一般に、ネットワーク1002を介した通信は、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアなHTTP、SSL)を使用して行われ得る。
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに講じられる措置およびそのようなシステムとの間で送られる情報に言及している。当業者は、コンピュータベースのシステムの固有の柔軟性が、構成要素間のタスクおよび機能の多種多様な可能な構成、組合せ、および分割を実現することを認識されよう。たとえば、本明細書で説明するサーバプロセスは、単一のサーバまたは共同して動作する複数のサーバを使用して実施され得る。データベースおよびアプリケーションは、単一のシステム上に実装されること、または複数のシステムに分散されることがある。分散された構成要素は、逐次または並行して動作することができる。
さらに、サーバにおいて実行されるものとして本明細書で説明する計算タスクは、代わりにユーザデバイスにおいて実行されてよい。同様に、ユーザデバイスにおいて実行されるものとして本明細書で説明する計算タスクは、代わりにサーバにおいて実行されてよい。
本主題は、特定の例示的な実施形態およびその方法に関して詳細に説明されているが、当業者は、前述の内容の理解を得ると、そのような実施形態の改変形態、変更形態、および等価物を容易に生成できることが諒解されよう。したがって、本開示の範囲は、限定としてではなく例としてのものであり、本開示は、当業者には直ちに明らかになるように、本主題に対するそのような修正、変更および/または追加を含めることを妨げない。