(57)【要約】  地理空間画像、３Ｄ点群、及び数値表層モデル（ＤＳＭ）における物体を検出するためのシステム及び方法。深層畳み込みニューラルネットワーク（ＤＣＮＮ）は、正及び負のトレーニング例を使用してトレーニングされる。正の例のみの回転パターンマッチを使用することは、必要な負例の数を低減させる。ＤＣＮＮでは、ソフトマックス確率は、回転角の変数である。回転角が物体の向きと一致するとき、ソフトマックス確率は、最大値を有する。トレーニング中、正の例は、それらの配向角がゼロになるように回転される。検出中、テスト画像は、異なる角度を通じて回転される。各角度において、ソフトマックス確率が計算される。最終的な物体検出は、最大ソフトマックス確率、並びに、異なる回転角でのターゲット物体のソフトマックス確率パターンと、全ての正の例のソフトマックス確率パターンとの間のパターンマッチに基づく。物体の向きは、ソフトマックス確率が最大値を有するときの回転角において決定される。【選択図】図１
2021502639.tif 000002
【特許請求の範囲】
【請求項１】
地理空間画像における対象となる物体を識別する方法であって、前記方法は、
空を通って且つ地球の表面のある領域上で、ビークルを飛行させることと、
前記ビークルに設けられたカメラ又は３Ｄスキャナを用いて、前記地球の表面の前記領域の１つ又は複数の地理空間画像を撮影することと、
中央処理装置（ＣＰＵ）におけるデータベースに前記１つ又は複数の地理空間画像を入力することと、
第１の複数の正のトレーニング例及び第２の複数の負のトレーニング例を含む、複数のトレーニング例を選択することと、
前記ＣＰＵをグラフィックス処理装置（ＧＰＵ）とリンクさせることと、
前記ＧＰＵに設けられた深層畳み込みニューラルネットワーク（ＤＣＮＮ）に、前記複数のトレーニング例をダウンロードすることと、
前記複数のトレーニング例を使用して、前記ＤＣＮＮをトレーニングすることと、
前記ＣＰＵに少なくとも１つの追加の地理空間画像を入力することと、
前記トレーニングされたＤＣＮＮを使用して、前記少なくとも１つの追加の地理空間画像における対象となる物体を識別することと
を備え、
前記少なくとも１つの追加の地理空間画像における対象となる物体を検出する精度は、前記複数のトレーニング例を選択することにおいて、以下のアクション、即ち、
ゼロ配向角を有する正のトレーニング例を生成すること、
実質的に同じ地上サンプル距離（ＧＳＤ）を有する正のトレーニング例及び負のトレーニング例を生成すること、
前記ＤＣＮＮにダウンロードし、前記ＤＣＮＮをトレーニングするために、前記ゼロ配向角を有する正のトレーニング例と、前記同じＧＳＤを有する正及び負のトレーニング例とを選択すること
を行うことによって改善され、
前記ＤＣＮＮをトレーニングした後、以下のアクション、即ち、
前記ＤＣＮＮの前記トレーニングにおいて利用される前記正のトレーニング例のみの回転パターンを生成することと、
前記少なくとも１つの追加の地理空間画像における物体の回転パターンを生成することと、
前記正のトレーニング例の前記回転パターンを、前記少なくとも１つの追加の地理空間画像における前記物体の回転パターンとマッチングすることと、
前記生成された回転パターンに基づいて、前記少なくとも１つの地理空間画像における前記対象となる物体を検出することと
が行われる、方法。
【請求項２】
前記正のトレーニング例を生成することは、
前記正のトレーニング例における画素変動を低減させるために、回転正規化、スケール正規化、又は色正規化のうちの１つ又は複数を使用することを含む、請求項１に記載の方法。
【請求項３】
前記ゼロ配向角を有する正のトレーニング例を生成することは、
１つ又は複数の配向角を通じて、前記正のトレーニング例の各々を回転させることと、
前記１つ又は複数の配向角の各々においてソフトマックス確率を計算することとを含む、請求項１に記載の方法。
【請求項４】
前記ソフトマックス確率と前記配向角との間のパターンを生成することを更に備える、請求項３に記載の方法。
【請求項５】
回転角が物体の向きと一致するところを決定すること、又は
前記ソフトマックス確率が最大値のものであるところを決定することを更に備える、請求項４に記載の方法。
【請求項６】
パターン類似性アルゴリズムを使用して、生成されたパターン間の類似性を計算することを更に備える、請求項５に記載の方法。
【請求項７】
パターンマージアルゴリズムを使用して、２つの類似する生成されたパターンを１つのパターンにマージすることを更に備える、請求項６に記載の方法。
【請求項８】
少なくとも１つの外れ値パターンを決定すること、
前記少なくとも１つの決定された外れ値パターンを除去することを更に備え、
ここで、前記マージすることは、前記少なくとも１つの決定された外れ値パターンが除去された後に行われる、請求項７に記載の方法。
【請求項９】
前記外れ値パターンを前記決定することは、
閾値アルゴリズムを使用して、前記生成されたパターンの前記最大値のソフトマックス確率が所定の閾値より小さいときを決定することを備える、請求項８に記載の方法。
【請求項１０】
前記対象となる物体を検出することは、多相回転可変物体検出アルゴリズムを利用することを含む、請求項１に記載の方法。
【請求項１１】
前記トレーニングされたＤＣＮＮを利用することは、
パターンマッチングアルゴリズムを利用して、前記地理空間画像から偽陽性物体を除去することを更に備える、請求項１に記載の方法。
【請求項１２】
対象となる物体がない前記地理空間画像の領域をフィルタ除去することを更に備える、請求項１に記載の方法。
【請求項１３】
前記同じＧＳＤを有する正のトレーニング例及び負のトレーニング例を生成することは、スケール正規化アルゴリズムを使用して、前記正及び負のトレーニング例を処理することを含む、請求項１に記載の方法。
【請求項１４】
前記対象となる物体を前記検出することは、人間に近い精度レベルで前記対象となる物体を検出することを含む、請求項１に記載の方法。
【請求項１５】
前記１つ又は複数の地理空間画像は、第１の時間期間に撮影された前記地球の表面上の第１のロケーションの第１の地理空間画像と、第２の時間期間に前記第１のロケーションにおいて撮影された第２の地理空間画像とを含み、及び、前記方法は、
前記第１の地理空間画像を前記第２の地理空間画像と比較することと、
前記トレーニングされたＤＣＮＮ及び前記生成された回転パターンを利用して、前記第１の地理空間画像及び前記第２の地理空間画像において、対象となる物体を検出することと、
前記検出された対象となる物体に基づいて、前記地球の表面の第１の領域で起きている変化を決定することと、を更に含む、請求項１に記載の方法。
【請求項１６】
前記ゼロ配向角を有する正のトレーニング例を生成することは、
双線形補間アルゴリズムを利用することと、
前記正のトレーニング例の各々におけるいくつかの隣接画素から出力画素値を計算することとを含む、請求項１に記載の方法。
【請求項１７】
地理空間画像における対象となる物体を検出するためのシステムであって、
地球の表面から一定距離上方で空を横切って移動するビークルと、
前記ビークルに設けられたカメラ又は３Ｄスキャナと、ここで、前記カメラは、前記地球の表面の１つ又は複数の地理空間画像を生成するように構成され、前記３Ｄスキャナは、前記地球の表面の１つ又は複数の３Ｄ点群を生成するように構成されており、
中央処理装置（ＣＰＵ）と、
前記ＣＰＵに動作可能にリンクされたグラフィックス処理装置（ＧＰＵ）と、
前記ＧＰＵに設けられた深層畳み込みニューラルネットワーク（ＤＣＮＮ）と、
前記ＣＰＵに設けられた回転正規化アルゴリズムと
を備え、
前記１つ又は複数の地理空間画像、前記３Ｄ点群、又はＤＳＭは、前記ＣＰＵに入力され、前記入力された１つ又は複数の地理空間画像、３Ｄ点群、又はＤＳＭのうちの少なくともいくつかは、ゼロ配向角の複数の正のトレーニング例を生成するために、前記回転正規化アルゴリズムを使用して前記ＣＰＵにおいて処理され、前記ゼロ配向角の複数の正のトレーニング例は、前記ＤＣＮＮをトレーニングするために、前記ＧＰＵに入力される、システム。
【請求項１８】
前記ＣＰＵに設けられたスケール正規化アルゴリズムを更に備え、前記入力された１つ又は複数の地理空間画像、３Ｄ点群、又はＤＳＭのうちの少なくともいくつかは、実質的に同じ地上サンプル距離（ＧＳＤ）を有する複数の正のトレーニング例及び負のトレーニング例を生成するために、前記スケール正規化アルゴリズムを使用して前記ＣＰＵにおいて処理され、前記同じＧＳＤの前記複数の正のトレーニング例及び複数の負のトレーニング例は、前記ＤＣＮＮをトレーニングするために前記ＧＰＵに入力される、請求項１７に記載のシステム。
【請求項１９】
前記ＤＣＮＮは、ＤＣＮＮモデルであり、前記システムは、
パターン生成アルゴリズムと、
パターン類似性アルゴリズムと、
パターンマージアルゴリズムと
を更に含み、
前記パターン生成アルゴリズム、前記パターン類似性アルゴリズム、及び前記パターンマージアルゴリズムは、前記ＣＰＵ又はＧＰＵに設けられ、前記ゼロ配向角の複数の正のトレーニング例のソフトマックス確率と回転角との間のパターンを生成するために、前記複数の正のトレーニング例を処理する、請求項１８に記載のシステム。
【請求項２０】
前記カメラ又は３Ｄスキャナから提供される少なくとも１つの追加の地理空間画像、３Ｄ点群、又は数値表層モデル（ＤＳＭ）を備える少なくとも１つのテスト画像と、
前記少なくとも１つのテスト画像と、前記ＣＰＵ又はＧＰＵからの生成されたパターンとを処理する、前記ＣＰＵに設けられたパターンマッチアルゴリズムと、を更に備える、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、一般に、深層学習及び画像物体認識の分野に向けられる。より詳細には、本開示は、地理空間画像に適用される深層学習に関する。具体的には、本開示は、人間レベルに近い精度での地理空間画像における自動物体検出に向けられる。
【背景技術】
【０００２】
[0002]画像解析の分野は、しばらくの間、深層学習を使用してきた。深層学習は、画像解析において使用される場合、トレーニング段階及び検出段階を伴う、データを分析するようにコンピュータに教える方法である。トレーニング段階では、コンピュータは、特定の対象となる物体がどのように見えるかを学習し、検出段階では、コンピュータは、その学習した情報を使用して、コンピュータに予め与えられていなかった他の画像における対象となるそのタイプの物体を識別する。
【０００３】
[0003]トレーニング段階は、膨大な数の画像をコンピュータに与えることを伴う。これら画像は、本明細書では、「正のトレーニング例」及び「負のトレーニング例」と呼ばれる２つのカテゴリに分類される。正のトレーニング例では、コンピュータに与えられる画像は、特定の対象となる物体を含む。負のトレーニング例では、コンピュータに与えられる画像は、特定の対象となる物体を含まない。従って、例えば、対象となる物体が犬である場合には、正のトレーニング例は犬を含むことになり、一方、負のトレーニング例は犬を含まないことになる。
【０００４】
[0004]コンピュータは、特定の対象となる物体を認識することを学習するために、それが何万もの画像を処理するのに役立つ１つ又は複数のアルゴリズムでプログラムされる。正及び負のトレーニング例は、深層学習プロセスにおいて利用される。負のトレーニング例は、対象となる物体を含む画像と対象となる物体を含まない画像を区別するようにコンピュータをトレーニングするのに役立てる上で、重要な役割を果たす。例えば、何万もの犬の画像が、トレーニング段階中にコンピュータに与えられ得る。次いで、コンピュータは、一連の新しい画像を提供されることによってテストされ、その後、それらの新しい画像において犬を識別するように要求が行われる。コンピュータが猫の画像を犬と間違えた場合には、猫のその画像は、負のトレーニング例とみなされ、コンピュータにフィードバックされる。次いで、アルゴリズムは再実行されて、対象となる物体、即ち、犬をより良く識別するようにコンピュータを再トレーニングする。各負のトレーニング例は、コンピュータが、追加の情報を学習するのに役立ち、それは、次いで、コンピュータが、新しい画像における対象となる物体をより正確に識別することを支援する。
【０００５】
[0005]地理空間画像は、例えば、航空機又は衛星を使用して取得される地球の表面の画像であり、３Ｄ点群を含み得る。これらの画像は、自然環境及び人工環境の研究を含む、いくつもの理由から有用である。氷河の融解、河谷の浸食、及び海岸線の変化は、地理空間画像を使用して研究及びマッピングされ得る自然環境のいくつかの側面である。道路、建物、駐車場、交通の流れなどを示すマッピングされた都市は、地理空間画像を使用して監視され得る人工環境の一部である。これらの画像は、マップ又はマッピングソフトウェアの作成にも有用である。深層学習は、地理空間画像を分析するために特に有用である。
【０００６】
[0006]深層学習だけでなく、多くの機械学習システムにおける課題の１つが、十分な数のトレーニング画像（トレーニング例としても知られる）の供給に対する要件である。画像からの物体検出は、非常に複雑な問題である。画像からの自動車の検出に関しては、例えば、１０社の自動車製造業者が存在し、各々が１０の異なるモデルの自動車を製造し、その各々が１０色で提供されると仮定した場合には、システムが識別可能である必要があり得る潜在的に１０×１０×１０＝１０００台の自動車が存在する。これは、画像が地理空間画像でない場合、管理可能な数である。しかしながら、自動車の地理空間画像を利用することは、更なる問題を提示する。まず第一に、対象となる物体の地理空間画像は、異なるスケールにおいて、又は異なる照明条件下で、又は異なる視点から捉えられたとき、非常に異なって見える場合がある。これらの３つのファクタ（スケール、照明、及び視点）の各々が２０個のバリエーションを有すると仮定した場合には、識別可能である必要があり得る潜在的に２０×２０×２０×１０００＝８００万もの異なるシナリオが存在する。これは、非地理空間画像によって提示されるものよりもはるかに大きな課題である。
【０００７】
[0007]本明細書で先に示されたように、深層学習の以前から知られている方法は、正のトレーニング例と負のトレーニング例の両方を必要とした。例えば、数字「１」を認識するようにＤＣＮＮに教えるためには、以前から知られている深層学習方法では、手書きの数字「１」の多くの画像が必要とされ、数字「１」ではない更に多くの画像が必要であった。これらの後者の画像は、負のトレーニング例となり、数字「１」でない画像は本質的に無制限であるので、その数には制限がない。従って、人間の学習は、負の学習機会よりも正の学習機会に重点を置く傾向があるので、深層学習の以前から知られている方法は、人間の学習に約５０％類似する傾向がある。
【０００８】
[0008]地理空間画像は、非地理空間画像と比べて更なる課題を提示する。地理空間画像は、多くの場合、非常に大きく、画像中に何千もの物体が存在し得る。更に、画像中の物体の向きは予測不能である。画像内の物体はまた、少数の画素（例えば、１００画素未満）のみを占有し得る。気象条件及び樹木などの自然現象は、そのような画像における対象となる物体を少なくとも部分的に覆い隠すことがあり得る。地理空間画像は、照明条件、見る角度、スケールの変動、及び様々な他のファクタのために、画素におけるかなりの変動を含む傾向がある。地理空間画像を分析するときに考慮されなければならないファクタの一意のセットのために、深層学習に必要とされる正のトレーニング例及び負のトレーニング例の数は、膨大になり得、正確な物体検出の発生率は、これらの変数のために低下し得る。
【０００９】
[0009]物体検出精度を向上させるのに役立てるために、地理空間画像における物体を検出するためのいくつかの現在知られているシステムは、自動特徴抽出（ＡＦＥ）機能を含む。ＡＦＥは、対象となる物体をより正確に検出することを支援するために、内部の点群（inside point clouds）から建物及び近隣の樹木を発見し、その輪郭を描くための多数の、人の手で設計されたアルゴリズムを含み得る。結果は幾分成功しているが、この手法は、特定のアルゴリズムがそのために設計されたものを超える環境には、容易に拡張されない。ＡＦＥは、人の手で設計された特徴抽出器として、建物の縁などの、従来の固定された又は設計された特徴を使用する。従って、ＡＦＥの使用は、物体の「単純な」トレーニング可能な分類器であるコンピュータをもたらし得る。
【発明の概要】
【００１０】
[0010]地理空間画像における対象となる物体を識別するための改善されたシステム及び方法が、当技術分野において依然として必要である。本開示は、深層学習に必要なトレーニング画像例の数、特に、深層畳み込みニューラルネットワーク（ＤＣＮＮ）又は畳み込みニューラルネットワーク（ＣＮＮ）をトレーニングするために必要な負の画像例の数を実質的に低減させるシステム及び方法に関する。（ＤＣＮＮ及びＣＮＮという用語は、本明細書では交換可能に使用され得る）。本開示は、トレーニング可能な特徴抽出器を使用するプロセスに関し、物体のよりはるかに強力なトレーニング可能な分類器をもたらす。トレーニング可能な分類器は、エッジなどのより単純なプリミティブではなく、非常に複雑なモデルからなる。
【００１１】
[0011]地理空間画像又は３Ｄ点群から地理空間物体を発見するためのシステム及び方法が、本明細書で開示される。地理空間画像又は３Ｄ点群（即ち、数値表層モデル（Digital Surface Model）又はＤＳＭ）における物体は、異なる向きを有し得る。一実施形態の深層畳み込みニューラルネットワーク（ＤＣＮＮ）では、ソフトマックス確率は、回転角の変数（variant of rotation angles）である。回転角が物体の向きと一致するとき、ソフトマックス確率は、最大値を有する。
【００１２】
[0012]ＤＣＮＮのトレーニング中の一例では、全ての正のトレーニング例は、それらの配向角がゼロになるように回転される。テスト又は検出段階中、テスト画像及びテスト３Ｄ点群が回転される。各回転角において、ソフトマックス確率が計算される。最終的な物体検出は、最大ソフトマックス確率と、及び異なる回転角でのターゲット物体のソフトマックス確率パターンに対する全ての正のトレーニング例のソフトマックス確率パターンの間のパターンマッチと、の両方に基づく。物体の向きは、ソフトマックス確率が最大値を有するときの回転角において決定される。
【００１３】
[0013]本開示は更に、航空画像と衛星画像の両方の地理空間画像における地理空間物体を正確に検出するように特に設計されたソフトウェア処理に関する。ビークルなどのいくつかの地理空間物体は、ＤＣＮＮにおいて回転可変である。この可変特性を使用して、データ正規化が学習プロセスの一部として実行され得る。本願では、学習プロセスは、「シンプリシティ学習」と称され得る。シンプリシティ学習中のデータ正規化において回転可変特性を利用することは、多数のトレーニング例、特に、負のトレーニング例に対する要件を実質的に低減させ、人間レベルに近い物体検出精度を達成する。この理由は、回転可変物体検出が、地理空間画像における物体検出の複雑さを単純化するからである。
【００１４】
[0014]一態様では、本開示は、地理空間画像における対象となる物体を識別する方法を提供し、本方法は、空を通って且つ地球の表面のある領域上で、ビークルを飛行させることと、ビークルに設けられたカメラ又は３Ｄスキャナを用いて、地球の表面のある領域の１つ又は複数の地理空間画像を撮影することと、中央処理装置（ＣＰＵ）におけるデータベースに１つ又は複数の地理空間画像を入力することと、第１の複数の正のトレーニング例及び第２の複数の負のトレーニング例を含む、複数のトレーニング例を選択することと、ＣＰＵをグラフィックス処理装置（ＧＰＵ）とリンクさせることと、ＧＰＵに設けられた深層畳み込みニューラルネットワーク（ＤＣＮＮ）に、複数のトレーニング例をダウンロードすることと、複数のトレーニング例を使用してＤＣＮＮをトレーニングすることと、ＣＰＵに少なくとも１つの追加の地理空間画像を入力することと、トレーニングされたＤＣＮＮを使用して、少なくとも１つの追加の地理空間画像における対象となる物体を識別することとを備え、ここにおいて、少なくとも１つの追加の地理空間画像における対象となる物体を検出する精度は、複数のトレーニング例を選択することにおいて、以下のアクションを行うことによって改善される：ゼロ配向角を有する正のトレーニング例を生成すること、実質的に同じ地上サンプル距離（ＧＳＤ：ground sample distance）を有する正のトレーニング例及び負のトレーニング例を生成すること、ＤＣＮＮにダウンロードし、ＤＣＮＮをトレーニングするために、ゼロ配向角を有する正のトレーニング例と、同じＧＳＤを有する正及び負のトレーニング例とを選択すること、ここにおいて、以下のアクションは、ＤＣＮＮをトレーニングした後に行われる：ＤＣＮＮのトレーニングにおいて利用される正のトレーニング例のみの回転パターンを生成することと、少なくとも１つの追加の地理空間画像における物体の回転パターンを生成することと、正のトレーニング例の回転パターンを、少なくとも１つの追加の地理空間画像における物体の回転パターンとマッチングすることと、生成された回転パターンに基づいて、少なくとも１つの地理空間画像における対象となる物体を検出すること。
【００１５】
[0015]一例では、正のトレーニング例を生成するプロセスは、正のトレーニング例における画素変動を低減させるために、回転正規化、スケール正規化、又は色正規化のうちの１つ又は複数を使用して、対象となる物体を含む正のトレーニング例を選択することを含む。ゼロ配向角を有する正のトレーニング例を生成することは、１つ又は複数の配向角を通じて、正のトレーニング例の各々を回転させることと、１つ又は複数の配向角の各々においてソフトマックス確率を計算することとを含む。更なる実施形態における方法は、ソフトマックス確率と配向角との間のパターンを生成することを含む。更なる実施形態における方法は、回転角が物体の向きと一致するところを決定すること、又はソフトマックス確率が最大値のものであるところを決定することを含む。更なる実施形態における方法は、パターン類似性アルゴリズムを使用して、生成されたパターン間の類似性を計算することと、パターンマージアルゴリズムを使用して、２つの類似する生成されたパターンを１つのパターンにマージすることとを含む。更に、更なる実施形態における方法は、少なくとも１つの外れ値パターンを決定すること、少なくとも１つの決定された外れ値パターンを除去することを含み、マージすることは、少なくとも１つの決定された外れ値パターンが除去された後に行われ得る。外れ値パターンを決定することは、閾値アルゴリズムを使用して、生成されたパターンの最大ソフトマックス確率が所定の閾値より小さいときを決定することを含み得る。対象となる物体を検出することは、多相（multi-phase）回転可変物体検出アルゴリズムを利用することを含み得る。
【００１６】
[0016]トレーニングされたＤＣＮＮを利用することは、パターンマッチングアルゴリズムを利用して、画像から偽陽性物体を除去することと、対象となる物体がない画像の領域をフィルタ除去することとを更に備える。
【００１７】
[0017]同じＧＳＤを有する正のトレーニング例及び負のトレーニング例を生成することは、スケール正規化アルゴリズムを使用して、正及び負のトレーニング例を処理することを含む。
【００１８】
[0018]更なる例における対象となる物体を検出することは、人間に近い精度レベルで対象となる物体を検出することを含む。典型的には、人間は、約９９．９％の精度レベルで地理空間画像における対象となる物体を検出することができる。本システム及び本方法を利用すると、トレーニングされたＤＣＮＮは、約９９．３％の精度レベルで対象となる物体を検出することができる。
【００１９】
[0019]本方法において、１つ又は複数の追加の地理空間画像は、第１の時間期間に撮影された地球の表面上の第１のロケーションの第１の地理空間画像と、第２の時間期間に第１のロケーションにおいて撮影された第２の地理空間画像とを含み得、及び、方法は、第１の地理空間画像を第２の地理空間画像と比較することと、トレーニングされたＤＣＮＮ及び生成された回転パターンを利用して、第１の地理空間画像及び第２の地理空間画像において、対象となる物体を検出することと、検出された対象となる物体に基づいて、地球の表面の第１の領域で起きている変化を決定することとを更に含む。更なる実施形態における方法は、少なくとも１つの追加の地理空間画像又は３Ｄ点群又はＤＳＭを回転させることを含む。
【００２０】
[0020]ゼロ配向角を有する正のトレーニング例を生成することは、双線形補間アルゴリズム（bilinear interpolation algorithm）を利用することと、正のトレーニング例の各々におけるいくつかの隣接画素から出力画素値を計算することとを含む。一実施形態では、４つの隣接画素が利用され得る。
【００２１】
[0021]別の態様によれば、一実施形態における本開示は、地球の表面から一定距離上方で空を横切って移動するビークルと、ビークルに設けられたカメラ又は３Ｄスキャナと、ここで、前記カメラは、地球の表面の１つ又は複数の地理空間画像を生成するように構成され、前記３Ｄスキャナは、地球の表面の１つ又は複数の３Ｄ点群又は１つ又は複数の数値表層モデル（ＤＳＭ）を生成するように構成されており、中央処理装置（ＣＰＵ）と、ＣＰＵに動作可能にリンクされたグラフィックス処理装置（ＧＰＵ）と、ＧＰＵに設けられた深層畳み込みニューラルネットワーク（ＤＣＮＮ）と、ＣＰＵに設けられた回転正規化アルゴリズムとを備える、地理空間画像における対象となる物体を検出するためのシステムを提供し、ここにおいて、１つ又は複数の地理空間画像、３Ｄ点群、又はＤＳＭは、ＣＰＵに入力され、ここにおいて、入力された１つ又は複数の地理空間画像、３Ｄ点群、又はＤＳＭのうちの少なくともいくつかは、ゼロ配向角の複数の正のトレーニング例を生成するために、回転正規化アルゴリズムを使用してＣＰＵにおいて処理され、ゼロ配向角の複数の正のトレーニング例は、ＤＣＮＮをトレーニングするために、ＧＰＵに入力される。
【００２２】
[0022]一実施形態における本システムは、ＣＰＵに設けられたスケール正規化アルゴリズムを備え、ここにおいて、入力された１つ又は複数の地理空間画像、３Ｄ点群、又はＤＳＭのうちの少なくともいくつかは、実質的に同じ地上サンプル距離（ＧＳＤ）を有する複数の正のトレーニング例及び負のトレーニング例を生成するために、スケール正規化アルゴリズムを使用してＣＰＵにおいて処理され、ここにおいて、同じＧＳＤの複数の正のトレーニング例及び複数の負のトレーニング例は、ＤＣＮＮをトレーニングするためにＧＰＵに入力される。ＤＣＮＮは、ＤＣＮＮモデルであり、システムは、パターン生成アルゴリズムと、パターン類似性アルゴリズムと、パターンマージアルゴリズムとを更に含み、ここにおいて、パターン生成アルゴリズム、パターン類似性アルゴリズム、及びパターンマージアルゴリズムは、ＣＰＵ又はＧＰＵに設けられ、複数の正のトレーニング例のソフトマックス確率と回転角との間のパターンを生成するために、複数の正のトレーニング例を処理する。一実施形態におけるスケール正規化アルゴリズムは、複数の正のトレーニング例の各々及び少なくとも１つのテスト画像を、一連の段階的な配向角を通じて回転させるための手段と、複数のトレーニング例の各々及び少なくとも１つのテスト画像上の地上サンプル距離を測定するための手段と共に、複数のトレーニング例と使用するためにＤＣＮＮにおいて設けられる。正のトレーニング例及び少なくとも１つのテスト画像を回転させるための手段、並びに、地上サンプル距離を測定するための手段は、ＤＣＮＮにおけるプログラミングによって提供され得る。
【００２３】
[0023]システムは、カメラ又は３Ｄスキャナから提供される少なくとも１つの追加の地理空間画像、３Ｄ点群、又は数値表層モデル（ＤＳＭ）を備える少なくとも１つのテスト画像と、少なくとも１つのテスト画像と、ＣＰＵ又はＧＰＵからの生成されたパターンとを処理する、ＣＰＵに設けられたパターンマッチアルゴリズムとを更に備え得る。
【００２４】
[0024]本開示のサンプル実施形態が、以下の説明において記載され、図面に示され、添付の特許請求の範囲において具体的且つ明確に示されて記載される。
【図面の簡単な説明】
【００２５】
【図１】[0025]図１は、地理空間画像における対象となる物体を検出するためのシステムの概略図である。
【図２】[0026]図２は、地理空間画像における対象となる物体を検出するプロセスを示すブロック図である。
【図３】[0027]図３は、地理空間画像から対象となる物体を検出するためのアルゴリズムを示すフローチャートであり、ここで、アルゴリズムは、本開示による、回転正規化及びスケール正規化の「シンプリシティ学習」方法、深層学習方法、パターン生成方法、並びにパターンマッチ方法を含む。
【図４】[0028]図４は、画像からどのように正のトレーニング例及び負のトレーニング例が取得されるかを例示する、いくつかの地理空間画像のグループである。
【図５】[0029]図５は、２３個の角度ステップを通じて回転された単一の正のトレーニング例であり、ここで、隣接する角度ステップは、互いに対して約８度の間隔を置かれている。
【図６】[0030]図６は、回転正規化及びスケール正規化による「シンプリシティ学習」を例示する、いくつかの地理空間画像のグループである。
【図７】[0031]図７は、ソフトマックス確率に対する回転角を示すグラフである。
【図８】[0032]図８は、回転可変パターンマッチングアルゴリズムが、左画像において偽陽性を成功裏に識別し、右画像において偽陽性を成功裏に除去した、横に並んだ一対の地理空間画像である。
【図９】[0033]図９は、本明細書で開示されたプロセスに従ってトレーニングされたＤＣＮＮを利用して、その中で識別された複数の対象となる物体を示す追加の地理空間画像である。
【発明を実施するための形態】
【００２６】
[0034]同様の番号は、図面全体を通して同様の部分を指す。
【００２７】
[0035]本開示は、地理空間画像又は３Ｄ点群において、対象となる地理空間物体を発見するためのシステム及び方法に関する。３Ｄ点群は、数値表層モデル（ＤＳＭ）としても知られている。地理空間画像又は３Ｄ点群におけるビークル、船舶、飛行機、及び家などの物体は、異なる向きを有し得る。本発明者は、深層畳み込みニューラルネットワーク（ＤＣＮＮ）において、ソフトマックス確率が、回転角の変数であることを明らかにした。回転角が物体の向きと一致するとき、ソフトマックス確率は、最大値を有する。この情報は、過去に可能であったよりもはるかに少ない数の負のトレーニング例を用いてＤＣＮＮをトレーニングするために利用され得る。この情報はまた、全ての正のトレーニング例からのパターンとターゲット画像（テスト画像）のパターンとの間のパターンマッチングを実行するために利用され得る。パターンマッチングは、負のトレーニング例を使用せず、これは、人間の学習により近い深層学習をもたらす。パターンマッチングは、偽陽性誤り率を著しく低減させ、人間レベルに近い精度を達成する。
【００２８】
[0036]図１は、地球「Ｅ」と、地球「Ｅ」の表面から一定距離上方で空を通って移動する、飛行機１、衛星２、又はドローン（図示せず）などのビークルとを示す。飛行機１又は衛星２には、飛行機１又は衛星２が空を通って移動しながら地球の表面の領域の画像をキャプチャするための機器が設けられている。その機器は、地球の表面上のターゲット領域の写真地理空間画像をキャプチャすることができるカメラ３を含み得る。代替として、機器は、地球の表面上のターゲット領域の３Ｄ点群（又はＤＳＭ）の形で地理空間画像を生成することが可能である任意のタイプの３Ｄスキャナ４を含み得る。３Ｄスキャナの１つの好適なタイプが、光検出及び測距（ＬｉＤＡＲ）システムであり得る。本明細書で使用される「地理空間画像」という用語は、写真画像、３Ｄ点群、ＤＳＭ、又は地球の表面から一定距離上方で空を通って移動する任意のタイプのビークルによってキャプチャされるその他任意のタイプの画像を含むものと理解されたい。
【００２９】
[0037]図１〜図３を参照すると、地理空間画像がカメラ３又はスキャナ４によってキャプチャされたとき、それらの地理空間画像は、中央処理装置（ＣＰＵ）６上のデータベースに入力データ５としてアップロードされる。ＣＰＵ６は、グラフィックス処理装置（ＧＰＵ）７にリンクされ、ＧＰＵ７は、深層畳み込みニューラルネットワーク（ＤＣＮＮ）８を含む。ＣＰＵ６及びＧＰＵ７は、いくつかのコンポーネントを有するアルゴリズム１０（図３）を実行するように設計された複数のアルゴリズム（本明細書で後述される）を用いて特別にプログラムされる。
【００３０】
[0038]本発明者が「シンプリシティ学習」（図２及び図３）と呼ぶ第１のコンポーネント１２では、様々な特別に設計されたアルゴリズムが、複数のトレーニング例を生成するために、ＣＰＵ６のデータベースに入力された地理空間画像に対して、スケール正規化、回転正規化、及び／又は色正規化を実行するために利用される。複数のトレーニング例は、ゼロ配向角の正のトレーニング例、及び実質的に同じ地上サンプル距離（ＧＳＤ）の正のトレーニング例と、同じＧＳＤの負のトレーニング例とを含む。本プロセスのこの第１のコンポーネント１２は、ＣＰＵ６において行われる。
【００３１】
[0039]アルゴリズム１０の第２のコンポーネント１４では、シンプリシティ学習１２からの出力が、ＤＣＮＮ８をトレーニングするために利用されることになる。これらアルゴリズムは、ＣＰＵ６とＧＰＵ７の両方で利用されることになるが、重い処理の大部分は、ＧＰＵ７によって行われる傾向がある。
【００３２】
[0040]第２のコンポーネント１４からの出力は、トレーニングされたＤＣＮＮモデルである。（深層学習では、「モデル」という用語は、ＤＣＮＮネットワークがインスタンス化（instantiated）されているか、又は展開される準備ができていることを示すために使用される。）同じく部分的にＣＰＵ６において及び部分的にＧＰＵ７において行われる傾向がある、第３のコンポーネント１６では、ユーザは、第１のコンポーネント１２において得られた正のトレーニング例のみを使用して、ソフトマックス確率と配向角との間のパターンを生成することになる。第４のコンポーネント１８では、ユーザは、ＣＰＵ６に入力された１つ又は複数の新しい地理空間画像における対象となる物体を、これらの新しい地理空間画像を回転させることと、ソフトマックス確率パターンをトレーニングされたＤＣＮＮに記憶されたものとマッチングさせることと、最大ソフトマックス確率を見つけることとによって、検出することになる。対象となる物体が新しい地理空間画像において検出されると、その画像は、多種多様な目的のいずれかのために利用され得る。例えば、ＤＣＮＮ８は、軍用機器、例えば、航空機又は戦車などの、対象となる物体を識別するようにトレーニングされ得る。図９は、本開示に従ってトレーニングされたＤＣＮＮによって識別された複数の対象となる物体（航空機）を有する追加の地理空間画像を示す。第１の地理空間画像が第１の時間期間に地球の表面の第１の領域から撮影され、第２の地理空間画像が第２の時間期間に地球の表面の第１の領域から撮影された場合には、第１及び第２の地理空間画像は、第１及び第２の地理空間画像のいずれかが任意の軍事戦車を含むかどうかを決定するために、トレーニングされたＤＣＮＮによって分析され得る。戦車が第１の地理空間画像において発見されたが、第２の地理空間画像において発見されなかった場合には、戦車は、地球の表面のその第１の領域から移動されたと決定され得る。代替として、戦車が第１の地理空間画像において識別されなかったが、第２の地理空間画像において識別された場合には、特定の数の戦車が、地球の表面のその第１の領域に移動されたと決定され得る。従って、例えば、図９に示されるエリアの第２の追加の地理空間画像が、後の時間期間に撮影され得、航空機の一部は、その第２の画像から不在になり得る。その場合、航空機が地球の表面上のそのロケーションから移動されたことが決定され得る。
【００３３】
[0041]トレーニングされたＤＣＮＮ８は、特定のロケーションにおけるビークルの交通又は駐車の変化を監視すること、都市における土地使用の変化を監視すること（例えば、家又はアパートなどの建物構造の変化を監視すること）などを含む、広範囲の目的のために利用され得る。本開示に従ってトレーニングされるＤＣＮＮ８は、以前から知られているシステムよりも大幅に速くトレーニングされ、以前から知られているシステムで必要とされるよりも大幅に少ない負のトレーニング例を使用してトレーニングされる。
【００３４】
[0042]再び図２及び図３を参照すると、アルゴリズム１０の第１のコンポーネント１２は、ユーザが、航空機１及び衛星２からの地理空間画像の形で、及び／又は、３Ｄ点群、特定のＬｉＤＡＲ点群（即ち、光検出及び測距点群）から、入力データを収集することを含む。ＣＡＤモデルから開始する合成トレーニングデータ又はライブラリにおいて見られる画像クリップもまた、利用され得る。これらの収集された画像は、本明細書では「トレーニング例」と呼ばれることになる。特に、ユーザは、入力データから多数の（a number of）正のトレーニング例を手動で収集する。正のトレーニング例は、対象となる物体、例えば、ビークルを含む収集された画像におけるポリゴンである。図４は、収集された画像の例を例示する。図４の左上隅は、画像２０を示し、ここで、画像２０上には、対象となる物体（この場合、ビークル２２）が存在する。図４の右上隅は、対象となる物体がない第２の画像２４を示し、即ち、第２の画像２４には、ビークルは存在しない。適切な（既知の）ソフトウェアを使用して、ユーザは、第１の画像２０及び第２の画像２４の各々から、画像チップ又はトレーニング例を抽出し得る。これは、ユーザが、第１の画像２０及び／又は第２の画像２４において、線を配置することによって達成される。再び図４を参照すると、図の左下隅は、ビークル２２の周りに配置された境界ボックス２６を示す。境界ボックス２６は、第１の画像２０における線に基づいて生成される。図４の右下隅は、第２の画像２４の一部の周りに配置された別の境界ボックス２８を示すが、境界ボックス２８は、対象となる物体を含まない。先と同様に、境界ボックス２８は、第２の画像２４における線に基づいて生成される。従って、図４の左下隅は、画像チップ２０Ａ（即ち、ビークル２２の周りに適用された境界ボックス２６）を示し、これは、次いで、画像２０から抽出され、正のトレーニング例としてトレーニングデータベースに与えられる。図４の右下隅は、画像チップ２４Ａ（ビークルを含まない第２の画像２４の一部の周りに適用された境界ボックス２８）を示す。この画像チップ２４Ａは、負のトレーニング例であると見なされ、同様に、負のトレーニング例としてトレーニングデータベースに与えられる。トレーニング例２０Ａ、２４Ａにおいて利用される画像チップのサイズは、ユーザ選択可能であることに留意されたい。換言すれば、ユーザは、境界ボックス２６又は２８を、対象となる物体２２の周りに、又は対象となる物体を含まない画像の領域の周りにどれだけ大きく配置するかを決定する。後述されるように、複数の正の画像例が、更なる処理のためにトレーニングデータベースに収集される。
【００３５】
[0043]図４の画像２０Ａなどの正のトレーニング例の各々は、次いで、ＤＣＮＮをトレーニングするためのゼロ配向角を有するトレーニング例を生成することをもたらすプロセスにかけられる。このプロセスは、図５に例示され、以下で説明される。更に、プロセスは、実質的に同じ地上サンプル距離（ＧＳＤ）を有するトレーニング例をもたらし得る。第４のコンポーネント１８におけるパターンマッチングのためのパターンを生成するために使用されるトレーニング例を生成するために、各正のトレーニング例は、一連の角度付けられたステップ（angled steps）を通じて回転される。換言すれば、各正のトレーニング例２０Ａは、画像チップ２０Ａをある角度又は特定の度数を通じて回転させることによって、第１の向きから第２の向きに回転される。一実施形態では、隣接する第１及び第２の向きは、互いに約８度離れている。次いで、画像チップ２０Ａは、第２の向きから約８度離れ得る第３の向きに回転される。次いで、画像チップ２０Ａは、第３の向きから約８度離れ得る第４の向きに回転され、以下同様である。
【００３６】
[0044]従って、例えば、開始回転角が−８８度である場合には、画像チップ２０Ａは、次の角度ステップにおいて回転され得る：−８８、−８０、−７２、−６４、−５６、−４８、−３２、−２４、−１６、−８、０、８、１６、及び以下同様である。一実施形態では、各画像チップ２０Ａは、約２３回回転され得、各後続の向きは、前の向きから約８度離れている。（画像チップ２０Ａの２３回より少ない回転又は２３回より多くの回転が行われ得ることが理解されるであろう。隣接する向きは、８度より少なく離れていても、８度より多く離れていてもよいことが更に理解されるであろう。）
【００３７】
[0045]各回転角において（即ち、８度毎に）、ソフトマックス確率が、以下の式を使用して計算され得る：
【数１】
2021502639.tif 000003
【００３８】
[0046]一実施形態における方法は、約１０００個の正のトレーニング例などの複数の正の画像例を利用することを含む。各正のトレーニング例は、ソフトマックス確率の１つのパターンを生成することになる。ソフトマックス確率の１つのパターンは、２３個の角度での２３個の値を含むことになる。ソフトマックス確率の１つのパターンが図５に示される。図５は、対象となる物体２２を含む画像チップ２０Ａを示し、２３回を通じて回転された対象となる物体２２を示す。特に、正のトレーニング例、即ち、画像チップ２０Ａは、８度などの一定の度数の角度ステップを使用して、負の開始回転角から正の終了回転角まで、２３回など何回か回転される。
【００３９】
[0047]第１のコンポーネント１２において利用される３つのアルゴリズム、即ち、（１）回転正規化アルゴリズム、（２）スケール正規化アルゴリズム、及び（３）色正規化アルゴリズムが存在する。色正規化アルゴリズムは、当技術分野で知られている。しかしながら、深層学習の方法において回転正規化アルゴリズム及びスケール正規化アルゴリズムを利用することは、本発明者の知る限りでは知られていない。深層学習タスクは、回転正規化及び／又はスケール正規化及び／又は色正規化を使用して、トレーニング例における画素変動を低減させることによって単純化され、それによって、背景３Ｄ点を抑制すること（depressing）によって、学習する物体（即ち、対象となる物体）を強調させる。
【００４０】
[0048]深層学習は、ユーザが、ネットワーク、即ち、トレーニング及び検出プロセスにおいて適用されるべきアルゴリズムを決定する深層学習プロセスの要素を選択することを可能にする、フレームワーク内で動作する。コンポーネント１６及び１８（「シンギュラー分類」と称される）は、偽陽性誤り率を低減させるために、地理空間物体の回転特性及び空間特性を使用し、３Ｄモデルフィッティングによって、位置（ＸＹ）精度を改善する。シンギュラー分類は、回転パターンマッチングを使用し、これは、偽陽性誤り率を著しく低減させ得る。深層学習タスクは、それを一度に１つのタイプの物体に低減させることによって単純化される。
【００４１】
[0049]回転正規化アルゴリズム
任意の配向角の画像チップ２０Ａを、配向角ゼロの画像チップ２０Ｂ（図５）へと回転させる計算を実行する手順。代替として、双線形補間アルゴリズムが、入力画像チップにおけるいくつかの隣接画素から出力画素値を計算するために使用される。一実施形態では、４つの隣接画素が入力画像チップにおいて設けられる。 
アルゴリズム１．１  回転正規化アルゴリズム
Ｒｅｑｕｉｒｅ：ｉは、任意の配向角を有する正のトレーニング例のｍ×ｍ入力画像チップとする。入力画像チップは、出力画像チップの寸法の少なくとも１．４１４倍である寸法を有する。
Ｒｅｑｕｉｒｅ：ｒは、回転角とする。反転ありでは、回転角は、［−９０°，＋９０°］の範囲を有する。反転なしでは、回転角は、［−１８０°，＋１８０°］の範囲を有する。頭部と尾部を区別する必要がある物体については、反転はない。頭部と尾部を区別する必要のない物体については、反転がある。
Ｒｅｑｕｉｒｅ：ｏは、回転後のｎ×ｎ出力画像チップとする。
【数２】
2021502639.tif 000004
図６は、正のトレーニング例をゼロ配向角に回転させることによって回転正規化を施した最終画像３０Ｂに正規化された初期画像３０Ａの例を示す。
【００４２】
[0050]スケール正規化アルゴリズム
任意の地上サンプル距離（ＧＳＤ）の画像を異なるＧＳＤにスケーリングする計算を実行する手順。 
アルゴリズム１．２  スケール正規化アルゴリズム
Ｒｅｑｕｉｒｅ：ｉは、任意のＧＳＤのｈ×ｗ入力画像とする
Ｒｅｑｕｉｒｅ：ｏは、スケーリング後のｎ×ｍ出力画像とする
Ｒｅｑｕｉｒｅ：ｇｏは、出力画像ｏのＧＳＤとする。これは、ＤＣＮＮモデルのＧＳＤでもある。
Ｒｅｑｕｉｒｅ：ｇｉは、入力画像ｉのＧＳＤとする
【数３】
2021502639.tif 000005
【００４３】
[0051]図６はまた、初期画像３２Ａ及び最終画像３２Ｂを示す。アップ−ダウンサンプリングによるスケール正規化が、初期画像３２Ａを最終画像３２Ｂに変更するために行われている。次いで、最終画像３２Ｂは、トレーニングデータベースに与えられ得る。一旦ゼロ配向角及び同じＧＳＤの正の画像例又はトレーニング例が生成されると、アルゴリズム１０の第２のコンポーネント１４は、生成された正の画像例を利用したＤＣＮＮのトレーニングである。従って、複数の正の画像例及び負の画像例が、適切なソフトウェア（当技術分野で知られている）と共にＤＣＮＮに提供され、これにより、ＤＣＮＮは、ビークル２２（図５）などの対象となる物体を認識するようにトレーニングされる。ゼロ配向角及び同じＧＳＤを有する生成された正の画像例の使用のため、地理空間画像に適用されるときに深層学習に典型的であるよりも少ない画像例が必要とされる。第２のコンポーネント１４の出力は、トレーニングされたＤＣＮＮである。
【００４４】
[0052]アルゴリズム１０の第３のコンポーネントでは、正のトレーニング例を使用して、ソフトマックス確率と配向角との間のパターンが生成される。回転角とソフトマックス確率との間の典型的なパターンが図７に示される。図７において、横軸は、回転角であり、縦軸は、ソフトマックス確率である。回転角が物体の向きと一致するとき、ソフトマックス確率は、その最大値を有する。このパターンは、異なる対象となる物体（ビークル、船舶、飛行機、及び家など）、異なるＤＣＮＮネットワーク、及び異なる正のトレーニング例のセットに依存する。従って、図７に示されるパターンのようなパターンが、各ＤＣＮＮモデルのために生成されなければならない。
【００４５】
[0053]偽陽性の確率が、単一のソフトマックス確率では、０．０５であるとき、偽陽性の確率は、２３個の異なる回転角での２３個のソフトマックス確率では、（０．０５）２３＝１．１９ｅ−３０ほど小さくなり得る。回転された画像は同じ画像からのものであり、２３個のソフトマックス確率は、完全には非依存ではないので、偽陽性の確率は、０．０５から１．１９ｅ−３０までの間のどこかになる。
【００４６】
[0054]この例では、回転角とソフトマックス確率との間のパターンを生成するためのいくつかのアルゴリズムがある。
【００４７】
[0055]パターン生成アルゴリズム
第１のコンポーネント１２において生成された全ての正のトレーニング例を使用して、回転角とソフトマックス確率との間のパターンを生成する計算を実行する手順。 
アルゴリズム３．１  パターン生成アルゴリズム
Ｒｅｑｕｉｒｅ：ｎは、正のトレーニング例の数とする
Ｒｅｑｕｉｒｅ：ｍは、回転数とする
Ｒｅｑｕｉｒｅ：ｉは、ｎ×ｍの回転された正のトレーニング例とする
Ｒｅｑｕｉｒｅ：ｓは、ｎ×ｍのソフトマックス確率とする
Ｒｅｑｕｉｒｅ：ｆｄｃｎｎは、コンポーネント１４からのトレーニングされたＤＣＮＮモデルとする
【数４】
2021502639.tif 000006
【００４８】
[0056]パターン類似性アルゴリズム
２つのパターン間の類似性を計算する手順。 
アルゴリズム３．２  パターン類似性アルゴリズム。
Ｒｅｑｕｉｒｅ：ｍは、回転数とする
Ｒｅｑｕｉｒｅ：ｓ１は、ｍのソフトマックス確率のパターン１とする
Ｒｅｑｕｉｒｅ：ｓ２は、ｍのソフトマックス確率のパターン２とする
Ｒｅｑｕｉｒｅ：ｗは、異なる回転角でのｍの重みのベクトルとする
Ｒｅｑｕｉｒｅ：ｔは、０．０に初期化された総重みとする
Ｒｅｑｕｉｒｅ：ａは、重み計算のための［０．３，１．０］の範囲にあるパラメータとする
Ｒｅｑｕｉｒｅ：ｓは、２つのパターン間の類似性とする
【数５】
2021502639.tif 000007
【００４９】
[0057]パターンマージアルゴリズム
２つの類似パターンを１つのパターンにマージする計算を実行する手順。アルゴリズム３．１からの類似する多くのパターンが存在する可能性が高い。このアルゴリズムは、一意のパターン数を低減させるために、類似パターンをマージする。パターンマージの前に、外れ値パターンが除去される。パターンの最大ソフトマックス確率が０．６などの閾値より小さいとき、このパターンは、外れ値である可能性が高く、その外れ値パターンは除去される。ソフトマックス確率の閾値ｓ_ｐ_ｔが、この手順において決定される。 
アルゴリズム３．３  パターンマージアルゴリズム
Ｒｅｑｕｉｒｅ：ｎは、パターンの数とする
Ｒｅｑｕｉｒｅ：ｍは、回転数とする
Ｒｅｑｕｉｒｅ：ｓは、アルゴリズム３．１からのｎ×ｍのソフトマックス確率とする
Ｒｅｑｕｉｒｅ：ｃは、２つのパターン間のｎ×ｎの類似性スコアとする
Ｒｅｑｕｉｒｅ：ｔは、０．０１５などの２つのパターンをマージするための閾値とする
Ｒｅｑｕｉｒｅ：ｆｓは、アルゴリズム３．２とする
【数６−１】
2021502639.tif 000008
【数６−２】
2021502639.tif 000009
【数６−３】
2021502639.tif 000010
【００５０】
[0058]アルゴリズム３．４  パターンマッチアルゴリズム。所定の入力パターンｗについて、この手順は、ｎ個の正のトレーニング例から生成されたｎ個のパターンｐに対してｗをマッチングする。最小類似性スコアは、パターンマッチスコアである。
Ｒｅｑｕｉｒｅ：ｆｓは、アルゴリズム３．２とする
Ｒｅｑｕｉｒｅ：ｗは、入力パターンとし、ｍ個の要素のベクトルであり、ｍは、回転数である
Ｒｅｑｕｉｒｅ：ｐは、ｎ×ｍとし、ｎは一意のパターンの数である
【数７】
2021502639.tif 000011
【００５１】
[0059]アルゴリズム３．５．  パターンマッチ閾値アルゴリズム。この手順は、回転パターンマッチのための閾値（ｐ_ｍ_ｔ）を決定する。この閾値は、後にアルゴリズム４．１（本明細書で後述される）によって使用される。
Ｒｅｑｕｉｒｅ：ｆｐは、アルゴリズム３．４とする
Ｒｅｑｕｉｒｅ：ｆｄｃｎｎは、コンポーネント１４からのトレーニングされたＤＣＮＮモデルとする
Ｒｅｑｕｉｒｅ：ｅは、ｎ×ｍ個の負のトレーニング例とし、ｍ回回転されたｎ個の例である
Ｒｅｑｕｉｒｅ：ｐは、ｎ個のパターンマッチスコアとする
Ｒｅｑｕｉｒｅ：ｂは、０．００１などの小さいユーザ選択可能な係数（factor）とする
【数８】
2021502639.tif 000012
【００５２】
[0060]図８に示されるように、正のトレーニング例のみを使用する回転可変パターンマッチングアルゴリズムは、図８の左の画像において偽陽性３４を成功裏に識別した。図８の右の画像は、本方法のパターンマッチアルゴリズムを用いて検出された自動車を有するが、このパターンマッチングアルゴリズムは、左の画像の偽陽性３４を成功裏に除去した。偽陽性の３×３パターンマッチスコアを以下の表に示す。
【表１】
2021502639.tif 000013
【００５３】
[0061]このロケーションを中心とする３×３ウィンドウの平均マッチングスコアは０．２４であり、これは、０．２０の閾値を上回る。従って、この偽陽性３４は、パターンマッチングアルゴリズムによって成功裏に除去される。 
【００５４】
[0062]第４のコンポーネントのためのアルゴリズム
【００５５】
[0063]アルゴリズム１０の第４のコンポーネント１８に対する入力は、第２のコンポーネント１４からのトレーニングされたＤＣＮＮモデル、第３のコンポーネント１６からのソフトマックス確率と回転角との間のパターン、及び地理空間画像又はＤＳＭである。第４のコンポーネント１８において、地理空間画像又はＤＳＭは、複数のトレーニング例と同じ手法で回転される。第４のコンポーネント１８の出力は、幾何学的データと、９０％円形誤差及び９０％線形誤差などの属性のセットとを有する検出された物体の特徴データベースである。
【００５６】
[0064]アルゴリズム４．１  多相回転可変物体検出アルゴリズム。第１の段階では、大きい行（line）及びサンプルステップ並びに回転角ステップを有するスライディングウィンドウアルゴリズムが、高速化のために使用される。ユーザは、デフォルトのステップとは異なるステップを使用し得る。より大きいステップは、潜在的により低い検出精度で検出プロセスを加速させる。より小さいステップは、潜在的により高い検出精度で検出プロセスを減速させる。第１の段階からの出力は、潜在的な物体の初期位置及び向きを提供する。位置の大部分は、潜在的な物体を有さない可能性があり、従って、それらは、更なる処理からフィルタ除去される。第２の段階では、第１の段階のステップの半分などのはるかにより小さい行及びサンプルステップが、第１の段階からの初期配向角及び位置で、同じスライディングウィンドウアルゴリズムのために使用される。第３の段階では、第２の段階からの初期配向角及び位置で、更により小さい行及びサンプルステップが使用される。入力画像又はＤＳＭが、トレーニングされたＤＣＮＮモデルのＧＳＤとは異なるＧＳＤを有する場合、画像又はＤＳＭは、アルゴリズム１．２を用いてスケーリングされる。
Ｒｅｑｕｉｒｅ：ｆｒは、アルゴリズム１．１とする
Ｒｅｑｕｉｒｅ：ｆｄｃｎｎは、コンポーネント１４からのトレーニングされたＤＣＮＮモデルとする
Ｒｅｑｕｉｒｅ：ｆｐは、アルゴリズム３．４とする
Ｒｅｑｕｉｒｅ：ｓ_ｐ_ｔは、アルゴリズム３．３からのソフトマックス確率の閾値とする
Ｒｅｑｕｉｒｅ：ｐ_ｍ_ｔは、アルゴリズム３．５からのパターンマッチスコアの閾値とする
Ｒｅｑｕｉｒｅ：ｃは、ｆｄｃｎｎの切り取りサイズ（crop size）とする。
Ｒｅｑｕｉｒｅ：ｉは、ｎ×ｍ画像又はＤＳＭとする。
Ｒｅｑｕｉｒｅ：ｎは、行数とする
Ｒｅｑｕｉｒｅ：ｍは、サンプル数とする
Ｒｅｑｕｉｒｅ：ｏは、画素単位での物体サイズ（長さ及び幅）とする。ｏ＝ｍａｘ（長さ，幅）
Ｒｅｑｕｉｒｅ：ｅは、ｐａｔｔｅｒｎ_ｍａｔｃｈスコア及び最大ｓｏｆｔｍａｘ_ｐｒｏｂａｂｉｌｉｔｙの２Ｄ行列とする
Ｒｅｑｕｉｒｅ：ｒ１は、段階１についての最大ｓｏｆｔｍａｘ_ｐｒｏｂａｂｉｌｉｔｙ及びｒｏｔａｔｉｏｎ_ａｎｇｌｅの２Ｄ行列とする
Ｒｅｑｕｉｒｅ：ｒ２は、段階２についての最大ｓｏｆｔｍａｘ_ｐｒｏｂａｂｉｌｉｔｙ及びｒｏｔａｔｉｏｎ_ａｎｇｌｅの２Ｄ行列とする
Ｒｅｑｕｉｒｅ：ｇは、［０．５，２．０］における値を有する行及びサンプルステップを制御するために使用される係数とする
段階１のためのアルゴリズム４．１．１
【数９】
2021502639.tif 000014
段階２のためのアルゴリズム４．１．２
【数１０】
2021502639.tif 000015
段階３のためのアルゴリズム４．１．３
【数１１】
2021502639.tif 000016
正の物体を選択し、特徴データベースに出力するためのアルゴリズム４．１．４
【数１２−１】
2021502639.tif 000017
【数１２−２】
2021502639.tif 000018
【００５７】
[0065]本明細書で先に示されたように、本開示の方法は、パターンマッチングが正のトレーニング例のみを使用するので、人間が通常学習する方法により近い。例えば、全ての画素が１００であるような、一定の画像画素値の画像では、ＤＣＮＮは、ＤＣＮＮがトレーニング中に一定の画素値の画像を見たことがないので、この一定の画像画素値の画像を数字「１」と間違える０．０５の確率を有する可能性がある。例えば、スマートフォンを用いて写真を撮影したとき、画像が得られる。画像は、１２メガ画素などの多くの画素を有し得る。各画素は、赤＝８６、緑＝１００、及び青＝１３９などの、３つの値（赤、緑、及び青）を有する。通常、画素値は、異なる画素について異なる。これが、写真に何かが写って見えることができる理由である。一枚の白紙のような一定の画素値を有する写真は、白い画素を除いてその中に何も写っていないように見える。白い画素については、３つ全ての帯域（赤、緑、及び青）及び全ての画素は、同じ定数値を有する。本開示の２３回転のパターンマッチングでは、パターンマッチングが単一の値の代わりにパターン（２３個の値）を使用するので、ＤＣＮＮが間違っている確率は、（０．０５）２３＝１．１９ｅ−３０又はほぼ０．０に低減され得る。２３個の値は、それらが同じ画像からの回転された画像であるので、完全には非依存ではなく、従って、ＤＣＮＮが間違っている確率は、０．０５から１．１９ｅ−３０までの間のどこかになる。本方法又は本パターンマッチングは、偽陽性誤り率を１桁分、即ち、１０倍低減させ得ることが明らかにされた。
【００５８】
[0066]上記の開示が地理空間画像及び３Ｄ点群と共に使用するための深層学習のための改善された方法に関連する一方で、本明細書で適用された同じ原理が、他の非地理空間画像における対象となる物体を検出するために、又は画像解析とは無関係の他の目的のために利用され得ることを理解されたい。
【００５９】
[0067]上述された実施形態は、多数の方法のいずれかで実施され得る。例えば、本明細書で開示された技術の実施形態は、ハードウェア、ソフトウェア、又はこれらの組合せを使用して実施され得る。ソフトウェアで実施されるとき、ソフトウェアコード又は命令は、単一のコンピュータに提供されるか、又は複数のコンピュータ間で分散されるかにかかわらず、任意の好適なプロセッサ又はプロセッサの集合上で実行され得る。更に、命令又はソフトウェアコードは、少なくとも１つの非一時的なコンピュータ可読記憶媒体に記憶され得る。
【００６０】
[0068]また、そのプロセッサを介してソフトウェアコード又は命令を実行するために利用されるコンピュータ又はスマートフォンは、１つ又は複数の入力及び出力デバイスを有し得る。これらのデバイスは、特に、ユーザインターフェースを提示するために使用され得る。ユーザインターフェースを設けるために使用され得る出力デバイスの例は、出力の視覚的提示のためのプリンタ又は表示画面、及び出力の可聴提示のためのスピーカ又は他の音響発生デバイスを含む。ユーザインターフェースのために使用され得る入力デバイスの例には、キーボード、並びにマウス、タッチパッド、及びデジタイジングタブレットなどのポインティングデバイスが含まれる。別の例として、コンピュータが、音声認識を通じて、又は他の可聴フォーマットで、入力情報を受信し得る。
【００６１】
[0069]そのようなコンピュータ又はスマートフォンは、企業ネットワークなどのローカルエリアネットワーク又はワイドエリアネットワーク、及びインテリジェントネットワーク（ＩＮ）又はインターネットを含む、任意の好適な形態における１つ又は複数のネットワークによって相互接続され得る。そのようなネットワークは、任意の好適な技術に基づき得、任意の好適なプロトコルに従って動作し得、及び無線ネットワーク、有線ネットワーク、又は光ファイバネットワークを含み得る。
【００６２】
[0070]本明細書で概説された様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちのいずれか１つを用いる１つ又は複数のプロセッサ上で実行可能なソフトウェア／命令としてコーディングされ得る。更に、そのようなソフトウェアは、いくつかの好適なプログラミング言語及び／又はプログラミング若しくはスクリプティングツールの任意のものを使用して書かれ得、そしてまた、フレームワーク又は仮想機械上で実行される、実行可能な機械語コード又は中間コードとしてコンパイルされ得る。
【００６３】
[0071]この点において、様々な発明概念は、１つ又は複数のコンピュータ又は他のプロセッサ上で実行されると、上記で説明された本開示の様々な実施形態を実施する方法を実行する１つ又は複数のプログラムが符号化されている、コンピュータ可読記憶媒体（又は複数のコンピュータ可読記憶媒体）（例えば、コンピュータメモリ、１つ又は複数のフロッピー（登録商標）ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、ＵＳＢフラッシュドライブ、ＳＤカード、フィールドプログラマブルゲートアレイ若しくは他の半導体デバイスにおける回路構成、又は他の非一時的な媒体若しくは有形コンピュータ記憶媒体）として具現化され得る。１つ又は複数のコンピュータ可読媒体は、その上に記憶された１つ又は複数のプログラムが、上記で説明されたような本開示の様々な態様を実施するために、１つ又は複数の異なるコンピュータ又は他のプロセッサ上へロードされ得るように、可搬型であり得る。
【００６４】
[0072]「プログラム」又は「ソフトウェア」又は「命令」という用語は、本明細書で使用される場合、上記で説明された実施形態の様々な態様を実施するようにコンピュータ又は他のプロセッサをプログラムするために用いられ得る任意のタイプのコンピュータコード又はコンピュータ実行可能命令のセットを指すように包括的な意味で使用される。更に、一態様によれば、実行されたときに本開示の方法を実行する１つ又は複数のコンピュータプログラムは、単一のコンピュータ又はプロセッサ上に常駐する必要はなく、本開示の様々な態様を実施するためにいくつかの異なるコンピュータ又はプロセッサ間で、モジュール方式で分散され得ることを理解されたい。
【００６５】
[0073]コンピュータ実行可能命令は、１つ又は複数のコンピュータ又は他のデバイスによって実行される、プログラムモジュールなどの多くの形態であり得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わされるか、又は分散され得る。
【００６６】
[0074]また、データ構造は、任意の好適な形態でコンピュータ可読媒体に記憶され得る。例示の簡略化のために、データ構造は、データ構造内のロケーションを通じて関連付けられたフィールドを有するように示され得る。このような関係は、同様に、フィールド間の関係を伝達するコンピュータ可読媒体内におけるロケーションを、フィールドのための記憶域に割り当てることによって達成され得る。しかしながら、任意の好適な機構が、データ構造のフィールドにおける情報間の関係を確立するために使用され得、ポインタ、タグ、又はデータ要素間の関係を確立する他の機構を使用することによるものを含む。
【００６７】
[0075]本明細書で定義され及び使用される全ての定義は、辞書の定義、参照によって組み込まれている文書における定義、及び／又は定義された用語の通常の意味を支配する（control over）と理解されるべきである。
【００６８】
[0076]本明細書で使用される場合、「ロジック」は、限定はしないが、（１つ又は複数の）機能又は（１つ又は複数の）アクションを実行するための、及び/又は、別のロジック、方法、及び／又はシステムからの機能又はアクションを引き起こすための、ハードウェア、ファームウェア、ソフトウェア、及び／又は各々の組合せを含む。例えば、所望の用途又は必要性に基づいて、ロジックは、ソフトウェア制御されたマイクロプロセッサ、プロセッサ（例えば、マイクロプロセッサ）のようなディスクリートロジック、特定用途向け集積回路（ＡＳＩＣ）、プログラムされたロジックデバイス、命令を含むメモリデバイス、メモリを有する電気デバイス、又は同様のものを含み得る。ロジックは、１つ又は複数のゲート、ゲートの組合せ、又は他の回路阻止を含み得る。ロジックはまた、ソフトウェアとして完全に具現化され得る。複数のロジックが説明される場合、複数のロジックを１つの物理的なロジックに組み込むことが可能であり得る。同様に、単一のロジックが説明される場合、その単一のロジックを複数の物理的なロジック間で分散することが可能であり得る。
【００６９】
[0077]更に、本システムの様々な方法を達成するために本明細書で提示された（１つ又は複数の）ロジックは、以前のアナログバージョンを有しないことがある既存のコンピュータ中心又はインターネット中心の技術の改善に向けられ得る。（１つ又は複数の）ロジックは、本明細書で識別された、いくつかの問題に対処し及び解決する構造に直接的に関連する特定の機能を提供し得る。（１つ又は複数の）ロジックはまた、方法及びシステムの特定のロジック構造及び一致した機能として、例示的な発明概念を提供することによって、これらの問題を解決するためのより著しく多くの利点を提供し得る。更に、（１つ又は複数の）ロジックはまた、既存の技術プロセスを改善する特定のコンピュータ実施規則を提供し得る。本明細書で提供される（１つ又は複数の）ロジックは、単にデータを収集すること、情報を分析すること、及び結果を表示することを超えて拡張される。
【００７０】
[0078]前述の説明では、ある特定の用語が、簡潔さ、明快さ、及び理解のために使用されてきた。このような用語は、説明の目的で使用され、広く解釈されることが意図されているので、先行技術の要件を超えて、不必要な限定がそこから示唆されるべきではない。
【００７１】
[0079]更に、本開示の様々な実施形態の説明及び例示は例であり、本開示は、示された又は説明された厳密な詳細に限定されない。
【図１】
2021502639.tif 000019
【図２】
2021502639.tif 000020
【図３】
2021502639.tif 000021
【図４】
2021502639.tif 000022
【図５】
2021502639.tif 000023
【図６】
2021502639.tif 000024
【図７】
2021502639.tif 000025
【図８】
2021502639.tif 000026
【図９】
2021502639.tif 000027
【国際調査報告】
2021502639.tif 000028