【文献】
Chenxian Zhu et al.,"FRAMEWORK DESIGN AND IMPLEMENTATION FOR OIL TANK DETECTION IN OPTICAL SATELLITE IMAGERY",2012 IEEE International Geoscience and Remote Sensing Symposium,米国,IEEE,2012年07月22日,pp.6016-6019
(58)【調査した分野】(Int.Cl.,DB名)
前記畳み込みを実施するステップは、前記上縁に対応する前記円、前記影の前記円弧に対応する前記円、および前記屋根に対応する前記円の間でユニオンおよびインターセクションを実施するステップをさらに備えたことを特徴とする請求項1に記載の方法。
少なくとも1つのプロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、請求項1ないし13のいずれか1つに記載の方法を実施させることを特徴とする非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0007】
図面および以下の説明は、例示としてのみ、好ましい実施形態に関する。以下の説明から、ここで開示する構造および方法の代替的実施形態は、特許請求するものの原理から逸脱することなく、採用し得る実行可能な代替形態として容易に認識されるであろうことに留意すべきである。
【0008】
ここで、いくつかの実施形態に対する参照が詳細に行われ、その例は付随する図面に示されている。実用的であるときはいつでも、類似のまたは同様の参照番号が図面内で使用される場合があり、類似のまたは同様の機能を示すことができることに留意されたい。図面は、例示のみの目的のために、開示されているシステム(または方法)の実施形態を示す。当業者は、以下の説明から、ここで説明されている原理から逸脱することなく、ここで示されている構造および方法の代替的実施形態を採用し得ることを容易に認識するであろう。
【0009】
構成の概観
例として開示する実施形態は、広い地理的領域(例えば、国)にわたって、浮き屋根(floating roof)構造を有する円筒コンテナまたはタンクのような遠隔物体を識別し、遠隔物体の充填容積(filled volume)を決定するためのシステム、方法および/またはコンピュータプログラム製品(例えば、1つ以上の処理装置によって実行可能な命令を格納する非一時的(non−transitory)コンピュータ可読記憶媒体)である。
【0010】
1つの例示的な実施形態において、遠隔コンテナ分析システムが、衛星、ドローン、または他の空中に構成された撮像システムのような空中撮像デバイスから、浮き屋根構造を有する円筒コンテナまたはタンクのような対象の物体の画像を受信することができる。そのようなタンクは一般的にクラスタまたは「タンク場(tank farms)」において見出される。システムは、画像からパラメータベクトルを抽出する。パラメータベクトルは、空中撮像デバイスの仰角を記述するパラメータを含むことができる。システムは、画像に対して画像分析を実施して、対象の物体の高さおよび幅を決定する。システムは、抽出したパラメータベクトルならびに対象の物体の決定した高さおよび幅を使用して、対象の物体の理想化された画像テンプレートを生成する。各理想化された画像は、30%、70%などのような対象の物体の別個の充填容積に対応する。システムは、対象の物体の受信した画像を各理想化された画像と照合(match)し、受信した画像のピクセルと理想化された画像のピクセルとの間のドット積(dot product)を実施することによって対象の物体の充填容積を決定する。システムは、対象の物体の決定した充填容積に対応する情報をユーザデバイスに送信する。
【0011】
例示的なシステム環境
ここで
図1を参照すると、それは、一実施形態による、遠隔コンテナ分析システム101が動作する例示的なシステム環境のブロック図を示す。
図1に示す例示的なシステム環境は、空中撮像デバイス110、遠隔コンテナ分析システム101、およびユーザデバイス120を含むことができる。
【0012】
図1に示す空中撮像デバイス110は、衛星、ドローン、または、他の空中に構成された撮像システムであってもよく、低解像度画像を捕捉することができる。画像は、同じスペクトル帯域または異なるスペクトル帯域に対応してもよく、スペクトル帯域は光の波長の範囲に対応する。例示的なスペクトル帯域は、赤色スペクトル帯域、緑色スペクトル帯域、青色スペクトル帯域、赤外線スペクトル帯域、および全整色(panchromatic)のスペクトル帯域を含む。低解像度画像は、高解像度画像(例えば、1ピクセル当たり50cm)よりも相当に低い解像度(例えば、1ピクセル当たり15m)を有することに留意されたい。
【0013】
遠隔コンテナ分析システム101は、画像ストア102、任意選択の特徴抽出モジュール104、機械学習モデル104、コンテナ分析モジュール107、パラメータ抽出モジュール105、およびテンプレート生成モジュール103を含むことができる。
図2を参照しながら以下で示し、説明するように、
図1に示す画像ストア102は、空中撮像デバイス110から受信した画像を格納することができる。特徴抽出モジュール104は、任意選択的に、空中撮像デバイス110から受信した画像から特徴ベクトルを抽出することができる。
図4を参照しながら以下で示し、説明するように、例えば、特徴ベクトルは、画像内のピクセルのピクセル属性に基づく集約値(aggregate values)を含んでもよい。
図5を参照しながら以下で示し、説明するように、遠隔コンテナ分析システム101は、機械学習モデル104に特徴ベクトルを送信して、画像内の対象の物体を識別する。コンテナ分析モジュール107は、画像内の識別した対象の物体に関連するパターン、例えば、画像の捕捉の時間、画像のカウント(counts)、画像の充填容積を分析することができる。
【0014】
パラメータ抽出モジュール105は、画像からパラメータ、例えば、空中撮像デバイス110の方位角を記述するパラメータ、太陽の仰角を記述するパラメータ、および、太陽の方位角を記述するパラメータを抽出することができる。
図7を参照しながら以下で示し、説明するように、抽出したパラメータを使用して対象の物体の理想化された画像テンプレートを生成するために、パラメータはテンプレート生成モジュール103によって使用される。各理想化された画像は、対象の物体の別個の充填容積、例えば、35%に対応する。
【0015】
遠隔コンテナ分析システム101は、
図1に示すユーザデバイス120と対話することができる。ユーザデバイス120は、ユーザ入力を受信すること、ならびに、ネットワークを介してデータを送信および/または受信することが可能なコンピューティングデバイスであってもよい。1つの例示的な実施形態において、ユーザデバイス120は、デスクトップまたはラップトップコンピュータのような従来のコンピュータシステムであってもよい。あるいは、ユーザデバイス120は、パーソナルデジタルアシスタント(PDA)、携帯電話、スマートフォン、タブレット、または別の適切なデバイスのようなコンピュータ機能を有するデバイスであってもよい。遠隔コンテナ分析システム101は、例えば、グラフィカルアイコン、グラフィカルオーバーレイ、および他の視覚インジケータを通じて、対象の物体の視覚表現をユーザデバイス120に送信し、対象の物体の視覚表現をユーザインターフェースに出力することができる。
【0016】
例示的なシステムアーキテクチャ
ここで
図2に移ると、それは、一実施形態による、遠隔コンテナ分析システム101のための例示的なシステムアーキテクチャのブロック図を示す。
図2に示すシステムアーキテクチャは、外部システムインターフェース201、画像ストア102、パラメータ抽出モジュール105、テンプレート生成モジュール103、任意選択の特徴抽出モジュール104、任意選択の特徴ストア202、機械学習モデル106、機械学習トレーニングエンジン203、画像分析モジュール204、テンプレートマッチングモジュール205、コンテナ分析モジュール107、およびコンテナパターンストア206を含むことができる。
【0017】
図2に示す外部システムインターフェース201は、空中撮像デバイス110から画像を表すデータパケットを受信する専用のハードウェアまたはソフトウェアネットワーキングデバイスであってもよい。外部システムインターフェース201は、対象の物体の視覚表現または対象の物体の決定した充填容積に対応する情報を表すデータパケットを、遠隔コンテナ分析システム101からネットワークを介してユーザデバイス120に転送することができる。1つの例において、外部システムインターフェース201は、インターネット基幹の光ファイバ回線を通して高速にデータパケットを転送する。別の例において、外部システムインターフェース201は、ボーダゲートウェイプロトコル(BGP)を使用してルーティング情報を交換し、エッジルータ、境界ルータ、またはコアルータであってもよい。
【0018】
図2に示す画像ストア102は、空中撮像デバイスから受信した画像を格納することができる。実用的で効率的な広い領域にわたる走査を行うために、より解像度の低い画像がシステムの第1のフェーズに使用される。そのような画像の一例が、(全整色の帯域における)15m/ピクセルのランドサット画像である。システムの第1のフェーズは、より低い精度という代償を払って高い再現率を有するように設計される。
図4を参照しながら以下で説明するように、第2のフェーズにおいて、より高い解像度の画像、例えば、50cm/ピクセルを使用して、フォールスアラーム(false alarms)をフィルタで除去(filter out)するように機械学習モデルをトレーニングすることができる。パラメータ抽出モジュール105、任意選択の特徴抽出モジュール104、および画像分析モジュール204は、処理のために、画像ストア102によって格納されている画像を取り出すことができる。画像ストア102は、取り外し可能または取り外し不能なメモリカード、テープカセット、ジップカセット、およびコンピュータハードドライブのうちの1つ以上に格納される画像のデータベースまたは表として編成されてもよい。1つの実施形態において、画像ストア102は、各々が画像の1つ以上の属性を記述する複数のデータフィールドを含むことができる。1つの例において、画像ストア102は、単一の画像について、捕捉の時間、スペクトル帯域情報、地理的領域座標などを含む。
【0019】
任意選択の特徴抽出モジュール104は、画像ストア102内の画像から、特徴ベクトルを抽出することができる。特徴ベクトルは、画像内のピクセルのピクセル属性に基づく集約値を含むことができる。一実施形態において、特徴抽出モジュール104は、任意選択的に、ピクセルクラスタリング(pixel clustering)を使用して隣接するピクセルのクラスタを識別することができる。識別したクラスタ内で、隣接するピクセルは、ピクセル属性に基づいて互いにマッチすることができる。例えば、グレースケール画像について、ピクセル属性は、ピクセルの輝度を表す単一の数であってもよい。この例において、ピクセル属性は、0から255までの可能な値の範囲を与える8ビット整数として格納されるバイトである。ゼロは黒色を表し、255は白色を表す。0と255との間の値は、灰色の異なる色調を構成する。色画像の別の例において、別個の赤色、緑色および青色の成分が、各ピクセルについて指定される。この例において、ピクセル属性は、3つの数のベクトルである。
【0020】
図2に示す任意選択の特徴抽出モジュール104は、画像内の各ピクセルを、ピクセルの属性を有する領域として初期化することによって、画像ストア102からの画像内のピクセルクラスタを識別することができる。特徴抽出モジュール104は、最も類似する属性値を有する2つの隣接する領域を識別する。これらの2つの領域は併合され、2つの領域のすべてのピクセルを含み、2つの領域の属性値の平均としての属性値を有する新たな領域を形成する。特徴抽出モジュール104は、残された類似する領域がなくなるまで、このプロセスを繰り返す。
【0021】
図2に示す特徴抽出モジュール104の他の実施形態は、(a)候補特徴として使用するための画像内のエッジまたはコーナを見出す、ハリスコーナ(Harris Corner)またはキャニーエッジ(Canny edge)のようなエッジ/コーナ検出方法、(b)エッジ強度情報を抽出する画像勾配(image gradients)、(c)特定の形状を識別する方向付けられたフィルタ、(d)特徴を抽出するために局所または大域閾値を使用する閾値化方法、(e)与えられた画像パッチにおける向きおよびエッジ記述特徴を算出する、スケール不変特徴変換(SIFT:Scale−Invariant Feature Transform)、スピードアップロバスト特徴(SURF:Speeded Up Robust Features)、加速化断片試験による特徴抽出(FAST:Features from Accelerated Segment Test)、二値頑健独立基本特徴(BRIEF:Binary Robust Independent Elementary Feature)、高速レティーナキーポイント(FREAK:Fast Retina Keypoint)、および勾配方向ヒストグラム(HOG:Histogram of Oriented Gradients)のような画像パッチ記述手段のうちの1つまたは組み合わせを使用することができる。
【0022】
図2に示す特徴抽出モジュール104は、受信した画像においてエッジ分析を実施して、対象の物体に対応する画像内のピクセルを識別することができる。特徴抽出モジュール104は、画像内の各ピクセル位置(i,j)に作用することができる。ここで、iは画像内のピクセル位置の行値を表し、jは画像内のピクセルの列値を表す。1つの例示的な実施形態において、Sは画像を表し、Mは対応する物体マップ画像出力を表す。画像S内の位置(i,j)が物体ピクセルに対応するときはいつでも、関数M(i,j)は1であると定義され、それ以外では0であると定義される。特徴抽出モジュール104は、ピクセル属性が急激に変化する画像内の点を識別することができる。ピクセル属性が急激に変化する点は、エッジと称される曲線セグメントのセットに編成され得る。特徴抽出モジュール104は、エッジの対を識別するためのエッジ分析プロセスにおいて3つのステップ、すなわち、フィルタリング、強調(enhancement)、および検出を実施することができる。フィルタリングステップは、画像内のノイズ、例えば、ごま塩ノイズ、インパルスノイズおよびガウスノイズを低減する。強調は、ピクセル属性値における相当の変化がある位置(i,j)にあるピクセルを目立たせる。1つの例において、特徴抽出モジュール104は、様々なピクセル位置(i,j)において画像の勾配の大きさを計算することによって、強調を実施する。検出は、閾値よりも高い勾配値を有するピクセル位置(i,j)を探索して、エッジピクセルを検出する。
【0023】
代替的実施形態において、
図2に示す特徴抽出モジュール104は、画像を分析して、対象の物体が予測される対象の領域を含む確率的ヒートマップまたはブロック化された画像を作成することができる。特徴抽出モジュール104は、幾何学的情報(例えば、点、線、および多角形)を含む他のマッピングソースを組み込むようにさらに構成されてもよい。特徴抽出モジュール104は、確率的ヒートマップを直接的に作成するために、または、例えば、線発見アルゴリズムもしくはランダムフォレストアルゴリズムのような他の画像処理演算と合わせて、または、特徴抽出を必要としない、サポートベクタマシン(SVM:Support Vector Machines)、ニューラルネットワーク、もしくは畳み込みニューラルネットワーク(CNN:convolutional neural network)のような機械学習方法を使用して、幾何学的情報を使用することができる。
【0024】
図2に戻って参照すると、特徴抽出モジュール104は、画像内の冗長性、例えば、繰り返しピクセル値を低減して、画像を縮小された特徴セット(特徴ベクトル)に変換する。特徴ベクトルは、初期画像全体の代わりに、この縮小された表現を使用することによって、対象の物体が機械学習モデル106によって識別され得るように、画像からの関連情報を含む。特徴抽出モジュール104によって抽出される例示的な特徴が
図4に示され、記載されている。いくつかの例示的な実施形態において、以下の次元縮小技法(dimensionality reduction techniques)、すなわち、独立成分分析、アイソマップ(Isomap)、カーネルPCA、潜在的意味分析、部分最小二乗法、主成分分析、多因子次元縮小法、非線形次元縮小法、多重線形主成分分析、多重線形部分空間学習、半定値埋め込み(semidefinite embedding)、オートエンコーダ、および深い特徴合成(deep feature synthesis)が、特徴抽出モジュール104によって使用されてもよい。
【0025】
図2に示す特徴ストア202は、特徴抽出モジュール104によって、受信した画像から抽出された特徴を格納する。遠隔コンテナ分析システム101は、機械学習モデル106をトレーニングするために、格納された特徴を取り出す。特徴ストア202は、取り外し可能または取り外し不能なメモリカード、テープカセット、ジップカセット、およびコンピュータハードドライブのうちの1つ以上に格納される画像のデータベースまたは表として編成されてもよい。
【0026】
遠隔コンテナ分析システム101は、トレーニングセットおよび特徴ストア202からのデータを使用して、機械学習モデル106をトレーニングすることができる。
図3Aおよび
図3Bを参照しながら以下で示し、説明するように、1つの例示的な実施形態において、機械学習モデル106は、対象の物体に対応するピクセルのラベルを付されたクラスタを含むトレーニングセットを受信することができる。
図2に示す機械学習トレーニングエンジン203は、ピクセルのクラスタのスコアを決定するために、トレーニングセットを使用して機械学習モデル106をトレーニングすることができる。スコアは、特徴ベクトルに基づいてクラスタが対象の物体に対応する尤度(likelihood)を示す。機械学習トレーニングエンジン203によって追従されるプロセスは、
図4に示されている。遠隔コンテナ分析システム101は、スコアが閾値を超え、クラスタを対象の物体と関連付けるか否かに基づいて、クラスタを選択することができる。
【0027】
代替的な例示的実施形態において、(畳み込みニューラルネットワークの形態の)
図2に示す機械学習モデル106は、特徴抽出の必要なしに、画像から直接的に出力を生成することができる。CNNは、そのニューロンの間の接続パターンが視覚野の組織によって刺激を与えられるタイプのフィードフォワード人工ニューラルネットワークである。個々の皮質ニューロンは、受容野として知られている制限された空間領域内で刺激に対して応答する。異なるニューロンの受容野は、それらが視覚野をタイリングするように、部分的に重なり合う。その受容野内での刺激に対する個々のニューロンの応答は、畳み込み演算によって数学的に近似され得る。CNNは、生物学的プロセスに基づき、最小量の前処理を使用するように設計された多層パーセプトロンの変形形態である。CNNの利点は、特徴抽出の排除および畳み込み層における共有される重みの使用を含み、これは、層内の各ピクセルについて同じフィルタ(重みバンク)が使用されることを意味し、これは、メモリフットプリントを低減するとともに、性能を改善する。
【0028】
機械学習モデル106は、畳み込み層と最大プーリング層の両方から成るCNNであってもよい。機械学習モデル106のアーキテクチャは「完全に畳み込み」であってもよく、これは、可変にサイジングされる入力画像がそれに供給され得ることを意味する。機械学習モデル106への入力は、全整色ランドサット画像であってもよく、機械学習モデル106の出力は、ピクセル毎の確率マップであってもよい(すなわち、入力画像内の各ピクセルについて、機械学習モデル106は、そのピクセルの周囲のパッチを考慮し、そのピクセルがタンク場の一部分である確率を返す)。機械学習モデル106内の最後を除くすべての畳み込み層が、適切に修正された線形ユニット活性化によって追従され得る。すべての畳み込み層について、機械学習モデル106は、カーネルサイズ、畳み込みのストライド、およびその層の入力に適用されるゼロパディングの量を指定することができる。プーリング層について、モデル106は、カーネルサイズおよびプーリングのストライドを指定することができる。
【0029】
(CNNの形態の)機械学習モデル106の出力は、任意選択的に、ピクセルクラスタを含んでもよく、各ピクセルクラスタは、複数の画像のうちの個別の画像内の1つ以上の隣接するピクセルを含み、当該隣接するピクセルは、ピクセル属性に基づいて互いにマッチする。出力は、ピクセルクラスタが対象の物体に対応する尤度を示すスコアを含むことができる。出力は、対象の物体に対応する1つ以上のピクセル位置を含むことができる。出力は、各対象の物体内のピクセルの数を含むことができる。出力は、ピクセルクラスタと対象の物体との間の関連付けを含むことができる。
【0030】
図2に示すパラメータ抽出モジュール105は、空中撮像デバイス110から受信した画像内のメタデータからパラメータベクトルを抽出することができる。パラメータベクトルは、空中撮像デバイスの仰角を記述する例示的なパラメータを含むことができる。衛星仰角とは、衛星を直接的に差す線と、局所水平面との間の角度を指す。パラメータは、受信した画像の捕捉の時間を記述することができる。パラメータは、空中撮像デバイスの方位角を記述することができる。方位角は球座標系における角度測定値であり、これは、衛星を直接的に差す線と、基準面上で北を指す基準ベクトルとの間の角度を指す。
【0031】
パラメータ抽出モジュール105によって抽出されるパラメータは、太陽の仰角を記述することができる。太陽の仰角とは、太陽を直接的に差す線と、局所水平面との間の角度を指す。パラメータは、太陽の方位角を記述することができる。太陽の方位角とは、太陽を直接的に差す線と、基準面上で北を指す基準ベクトルとの間の角度を指す。パラメータは、画像内の対象の物体の底部の中心の地理的位置を記述することができる。遠隔コンテナ分析システム101は、いくつかのパラメータが不正確であり得るという仮定の下で動作する。具体的には、システムは、物体の位置および衛星の角度が正確でない可能性があるが、ここで説明されているように処理され得ると仮定する。
【0032】
画像分析モジュール204は、画像ストア102から画像を取り出す。画像分析モジュール204は、画像に対して画像分析を実施して、画像内の対象の物体の高さおよび幅を決定する。例えば、画像分析モジュール204は、対象の物体の画像のピクセル解像度rを受信することができる。画像分析モジュール204は、対象の物体の高さに関連するピクセルの数hを決定することができる。画像分析モジュール204は、ピクセル解像度rおよび対象の物体の高さに関連するピクセルの数hに基づいて、高さ=r×hとして、対象の物体の高さを決定することができる。画像分析モジュール204は、対象の物体の幅に関連するピクセルの数wを決定することができる。画像分析モジュール204は、ピクセル解像度rおよび対象の物体の幅に関連するピクセルの数wに基づいて、幅=r×wとして、対象の物体の幅を決定することができる。
【0033】
画像分析モジュール204は、受信した画像をクロップ(crop)して、対象の物体の中心を受信した画像の中心に位置付けることができる。実施形態において、画像分析モジュール204は、画像の外側部分を自動的に除去して、フレーミングを改善し、対象の物体を目立たせ、またはアスペクト比を変更することができる。画像分析モジュール204は、対象の物体の影および内面に対応するピクセルを負の値、例えば−1に設定し、対象の物体の屋根に対応するピクセルを正の値、例えば+1に設定することによって、対象の物体の受信した画像のスケールを変更することができる。
【0034】
図2に示すテンプレート生成モジュール103は、パラメータ抽出モジュール105によって抽出されたパラメータベクトルを使用し、対象の物体の幾何学的形状の三角法投影(trigonometric projection)に基づいて、例えば、10%、30%などの異なる充填容積の割合についての理想化された画像テンプレートを合成する。充填容積の割合を変化させることによって、テンプレートのセットが生成される。
図8は、異なる充填容積の割合に対応する円筒タンクコンテナの理想化された画像800のセットを示す。テンプレート生成モジュール103は、抽出したパラメータベクトル、対象の物体の決定された高さおよび決定された幅を使用して、対象の物体の理想化された画像を生成する。衛星視野角(仰角および方位角)の不正確さを許容するために、テンプレート生成モジュール103は、特徴抽出モジュール104によって抽出された角度値の周りの角度値の範囲にわたる掃引(sweep)を実施することができる。
【0035】
テンプレート生成モジュール103は、受信した画像が中心に対象の物体を有すると仮定するが、合成プロセスによって正確な位置についてのいくらかの誤差が許容される。また、テンプレート生成モジュール103は、その屋根を含む物体が明るく色付けされているとも仮定する。それは、物体の屋根およびその上縁(top rim)、ならびに物体の内壁によって落とされる影が暗く色付けされていると仮定する。
図7を参照しながら以下で示し、説明するように、理想化された画像テンプレートは、円の位置から構築される。円は、対象の物体の上縁、対象の物体の底部、対象の物体の内面上の影の円弧、および、対象の物体の屋根に対応する。
図8に示す実施形態において、理想化された画像は、対象の物体の上縁、対象の物体の内面上の影の円弧、および、対象の物体の屋根に対応する円の位置のみから構築され得る。テンプレート生成モジュール103は、物体の高さおよび幅、所望の浮き屋根の高さ、2つの衛星角度および2つの太陽角度を使用する。その情報および
図7に示す三角方程式を使用して、テンプレート生成モジュール103は、円が位置する所の2D投影を作成する。また、テンプレート生成モジュール103は、各理想化された画像をクロップして、対象の物体の中心を各理想化された画像の中心に位置付けることもできる。
【0036】
円位置が生成されると、テンプレート生成モジュール103は、上縁に対応する円、影の円弧に対応する円、および屋根に対応する円に対して畳み込みを実施することによって、物体の異なる充填容積について
図9に示す理想化された画像を合成する。テンプレート生成モジュール103は、3つの円の間のユニオン(unions)およびインターセクション(intersections)を実施することによって畳み込みを実施して、
図9に示す理想化された物体画像の「眼球」形状(暗い領域および影の領域)を生成する。テンプレート生成モジュール103は、対象の物体の影および内面に対応するピクセルを−1のような負の値に設定し、対象の物体の屋根に対応するピクセルを+1のような正の値に設定し、すべての他のピクセルを0に設定することによって、対象の物体の各理想化された画像のスケールを変更することができる。
【0037】
3つの円の間のユニオンおよびインターセクションは、テンプレート生成モジュール103によって、例えば、形態学的画像処理(morphological image processing)を使用して実施されてもよい。形態学的画像処理とは、画像内の特徴の形状または形態に関する非線形演算を指す。形態学的画像処理演算は、ピクセル値の相対的な順序付けのみに依拠し、それらの数値には依拠せず、それゆえ、スケールを変更された理想化された画像に適合する。A∩Bと書かれる2つの画像AおよびBのインターセクションは、AとBの両方において1であるすべてのピクセルpにおいて1である二値画像である。A∪Bと書かれるAおよびBのユニオンは、Aにおいて1であるかまたはBにおいて1である(または両方において1である)すべてのピクセルpにおいて1である二値画像である。
【0038】
図2に示すテンプレートマッチングモジュール205は、対象の物体の受信した画像を、テンプレート生成モジュール103によって合成された各理想化された画像と照合して、対象の物体の充填容積を決定する。照合は、受信した画像のピクセルと、理想化された画像のピクセルとの間のドット積を実施することによって実施され得る。受信した画像および理想化された画像は、そのピクセル値が−1から+1までの範囲にわたる(すなわち、暗いピクセル(影、内壁など)は負であり、明るいピクセル(屋根など)は正である)ようにスケールを変更されるため、受信した画像と理想化された画像との間のドット積を実施することは、結果として、受信した画像と理想化された画像とが同様に見える場合に大きい正の数をもたらす。これは、受信した画像内の正のピクセルが理想化された画像内の正のピクセルと整合し、受信した画像内の負のピクセルが理想化された画像内の負のピクセルと整合するためである。
【0039】
図2に示すテンプレートマッチングモジュール205によってドット積を実施することは、受信した画像のピクセルおよび理想化された画像のピクセルを受けて単一の数を返す代数的演算である。代数的には、ドット積は、受信した画像のピクセルおよび理想化された画像のピクセルの対応するピクセル値の積の和である。例えば、Aが受信した画像であり、Bが理想化された画像テンプレートである場合において、2つの画像A=[a
1,a
2,...,a
n]およびB=[b
1,b
2,...,b
n]のドット積は、A・B=Σ
ia
ib
i=a
1b
1+a
2b
2+...+a
nb
nとして決定できる。偽陽性(false positive)マッチを回避するために画像分析モジュール204およびテンプレートマッチングモジュール205によって実施される畳み込みのさらなる詳細については、
図9を参照しながら以下で示し、説明する。
【0040】
地理的に参照される画像における不正確さ、および、物体が予測される位置に正確に存在しない場合があるという事実を許容するために、テンプレートマッチングモジュール205は、受信した画像にわたって掃引を実施して、物体のいくつかの可能性のある位置を考慮する。テンプレートマッチングモジュール205は、受信した画像と各テンプレートとの間の2D畳み込みを使用することによって掃引を実施する。テンプレートマッチングモジュール205は、対象の物体の受信した画像についてのテンプレートマッチを発見すると、対象の物体の充填容積を、マッチする理想化された画像テンプレートに対応する充填容積として決定する。
【0041】
コンテナ分析モジュール107は、受信した画像の捕捉の時間、受信した画像内の1つ以上の対象の物体のカウント、および、受信した画像内の1つ以上の対象の物体の各々の決定した充填容積のうちの1つ以上を含む対象の物体のパターンを分析することができる。コンテナ分析モジュール107は、分析した対象の物体のパターンが閾値を超える場合に、ユーザデバイス120に情報を送信することができる。例えば、コンテナ分析モジュール107は、受信した画像内の対象の物体のカウントが閾値を超えるか、または、閾値数の物体の決定した充填容積が閾値を超える場合に、ユーザデバイス120に情報を送信することができる。
【0042】
図2に示すコンテナパターンストア206は、コンテナ分析モジュール107から受信したパターンを格納することができる。コンテナパターンストア206は、取り外し可能または取り外し不能なメモリカード、テープカセット、ジップカセット、およびコンピュータハードドライブのうちの1つ以上に格納されるデータベースまたは表として編成されてもよい。1つの実施形態において、コンテナパターンストア206は、各々が物体の1つ以上の属性を記述する複数のデータフィールドを格納する。1つの例において、コンテナパターンストア206は、単一の物体について、画像の捕捉の時間、地理的領域座標、物体の高さ、および/または物体の幅を格納する。
【0043】
例示的な機械学習トレーニングセット
図3Aは、一実施形態による、遠隔コンテナ分析システム101のための例示的な肯定的トレーニングセット300を示す。機械学習モデル106のトレーニングの一部として、機械学習トレーニングエンジン203は、問題の特性(移動車両の存在)を有すると決定されている特徴の肯定的トレーニングセットを識別することによって、特徴およびトレーニングラベル、例えばコンテナ305のトレーニングセットを形成し、いくつかの実施形態において、
図3Bを参照しながら以下で詳細に説明するように、問題の特性を欠く特徴の否定的トレーニングセットを形成する。例えば、各トレーニングセットは、コンテナ、例えばコンテナ303に対応する、ラベルを付されたピクセルクラスタを含むことができる。トレーニングセットを収集するために、世界中の知られているタンク場の周りで多角形をマークし、ダウンロードされたランドサット8画像を、これらの多角形と交わらせることができる。また、否定的な例(すなわち、石油タンク場を含まない画像)のセットのために、ランダムにサンプリングされた画像を収集することもできる。トレーニングされると、機械学習モデル106は、対象の領域(例えば、米国)内のすべての画像上で動作することができる。遠隔コンテナ分析システム101の最終的な出力は、機械学習モデル106が高い出力スコアを返した対象の領域(幾何学的多角形)のセットである。
【0044】
図3Aに示す肯定的トレーニングセット300は、コンテナの存在を有すると決定されている特徴を含む。肯定的トレーニングセット300は、コンテナ305、コンテナ303、およびコンテナ304に対応する、ラベルを付されたピクセルクラスタを含むことができる。また、肯定的トレーニングセット300は、背景領域の水301および陸地302のラベルをも含む。例示的なトレーニングセット300は、陸地302が水302に直面する港に対応し得る。肯定的トレーニングセット300において、コンテナ305は、水のラベルを付された領域内にあり、一方で、コンテナ303および304は、陸地のラベルを付された領域内にある。
【0045】
図3Bは、例示的な一実施形態による、遠隔コンテナ分析システム101のための例示的な否定的トレーニングセットを示す。
図3Bに示す否定的トレーニングセット350は、コンテナの存在を欠くと決定されている特徴を含む。否定的トレーニングセット350は、部分的に水351の中に位置付けられ、部分的に陸地352の上に位置付けられている偽陽性のピクセルのクラスタ354を含む。また、否定的トレーニングセット350は、2つの交わるピクセルのクラスタに関連する偽陽性のピクセルのクラスタ353をも含む。2つのコンテナは互いに交わり得ないため、これらの2つの交わるピクセルのクラスタは偽陽性であり、そのようにラベルを付される(353)。
【0046】
いくつかの例示的な実施形態において、トレーニングセット300および350は、高いスコアを表すピクセルクラスタ、および、低いスコアを表すピクセルクラスタに手作業でラベルを付すことによって作成され得る。他の実施形態において、機械学習トレーニングエンジン203は、画像ストア102から取得される、格納されている画像からトレーニングセットを抽出することができる。例えば、格納されている画像が、陸地に位置付けられているピクセルクラスタ、例えばコンテナ303を含む場合、機械学習トレーニングエンジン203は、そのピクセルクラスタを肯定的トレーニングセットとして使用することができる。格納されている画像が、部分的に陸地に位置付けられており、部分的に水の上に位置付けられているピクセルクラスタ、例えば偽陽性354を含む場合、機械学習トレーニングエンジン203は、そのピクセルクラスタを否定的トレーニングセットとして使用することができる。
【0047】
例示的な機械学習トレーニングプロセス
ここで、
図4を参照すると、それは、遠隔コンテナ分析システム101内の機械学習モデル106のための、機械学習トレーニングエンジン203の例示的なトレーニングプロセスを示す。プロセスは、画像分析モジュール204、特徴抽出モジュール104、および機械学習モデル106を使用することができる。
図4および他の図面は、同様の要素を識別するために、同様の参照数字を使用する。「410a」のような、参照数字の後の文字は、テキストがその特定の参照数字を有する要素を特に参照することを示す。「410」のような、後続の文字を有しないテキスト内の参照数字は、その参照数字を保持する図面内のあらゆる要素を参照し、例えば、テキスト内の「410」は、図面内の参照数字「410a」および/または「410b」を参照する。
【0048】
画像分析モジュールは、トレーニング画像401内でエッジ分析を実施して、対象の物体に対応する画像内のピクセルを識別することができる。
図4に示す特徴抽出モジュール104は、トレーニング画像401から特徴410を抽出する。トレーニング画像401に対応する特徴410は、トレーニングラベル402に基づいて機械学習モデル106をトレーニングするために使用される。1つの例示的な実施形態において、特徴410aは、画像401内のピクセルのピクセル属性に基づく集約値を表すことができる。画像401から特徴410aを抽出することは、ピクセルクラスタリングを実施して、画像401内の隣接するピクセルのクラスタを識別することを含むことができる。画像401内の当該隣接するピクセルは、ピクセル属性に基づいて互いにマッチする。例示的な特徴410bは、画像内の隣接するピクセルの2つのクラスタが互いに交わるか否かを表すことができ、この特徴は、機械学習モデル106に、コンテナが交わり得ないため、2つのピクセルクラスタはコンテナを表すことができないことを教示する。
【0049】
例示的な特徴410cは、ピクセルのクラスタが部分的に陸地に、かつ部分的に水の上に位置付けられるか否かを表すことができ、この特徴は、機械学習モデル106に、コンテナが部分的に陸地に、かつ部分的に水の上に位置付けられ得ないため、ピクセルクラスタはコンテナを表すことができないことを教示する。特徴410dは、ピクセル位置とピクセル属性との間の関連付けを表すことができる。例えば、特徴410dは、画像内でその右側に位置付けられているピクセルに対するあるピクセルの輝度値を表すことができ、この特徴は、機械学習モデル106に、ピクセルが周囲のピクセルよりも明るいため、ピクセルがコンテナを表すピクセルクラスタの一部であり得ることを教示する。特徴410eは、画像内で同じ行に位置付けられているピクセルの平均輝度に対するあるピクセルの輝度を表すことができ、この特徴は、機械学習モデル106に、ピクセルが周囲のピクセルよりも明るい(例えば、より大きい照度である)ため、ピクセルがコンテナを表す画像ブロブの一部であり得ることを教示する。
【0050】
機械学習トレーニングエンジン203は、特徴ベクトル410およびトレーニングラベル402を使用して、
図4に示す機械学習モデル106をトレーニングすることができる。1つの実施形態では、それによって機械学習モデル106は画像内の各ピクセル位置のスコアを決定するように構成されており、スコアは、当該ピクセル位置がコンテナに対応する尤度を示す。別の実施形態では、機械学習モデル106はピクセルクラスタのスコアを決定するように構成されており、スコアは、ピクセルクラスタがコンテナに対応する尤度を示す。代替的実施形態では、機械学習モデル106はピクセルクラスタ、および、ピクセルクラスタがコンテナに対応する尤度を示すスコアを含む出力を生成するように構成されている。一実施形態において、機械学習モデル106は、ピクセルクラスタに対応する1つ以上のピクセル位置、および、ピクセル位置がピクセルクラスタに対応する尤度を示すスコアを含む出力を生成するように構成されている。一実施形態において、機械学習モデル106は、各識別したピクセルクラスタ内のピクセルの数を含む出力を生成するように構成されている。一実施形態において、機械学習モデル106は、識別したピクセルクラスタとコンテナとの間の関連付けを含む出力を生成するように構成されている。
【0051】
図4に示す機械学習モデルトレーニングエンジン203は、機械学習技法を適用して、特徴に適用されると、特徴に関連する1つ以上の特性を有するか否かの指示を出力する、例えば、受信した画像の特徴に適用されると、特徴が特定のブール特性またはスカラー特性の推定値を有する確率のような、コンテナが存在するか否かの推定値を出力する機械学習モデル106をトレーニングすることができる。機械学習トレーニングエンジン203は、(例えば、線形判別分析(LDA)、主成分分析(PCA)などを介して)次元縮小を適用して、特徴ベクトル410内のデータの量を、より小さい、より代表的なデータセットへと低減することができる。
【0052】
機械学習トレーニングエンジン203は、教師あり機械学習を使用して、
図4に示す機械学習モデル106をトレーニングすることができ、肯定的トレーニングセットおよび否定的トレーニングセットの特徴ベクトル410が入力としての役割を果たす。他の実施形態において、線形サポートベクタマシン(線形SVM)、他のアルゴリズムのブースト(例えば、AdaBoost)、ロジスティック回帰(logistic regression)、ナイーブベイズ(naive Bayes)、メモリベースの学習、ランダムフォレスト、バッギング木(bagged tree)、決定木、ブースティング木(boosted trees)、ブーストスタンプ(boosted stumps)、ニューラルネットワーク、CNNなどのような異なる機械学習技法が使用されてもよい。機械学習モデル106は、受信した画像のセットから抽出された特徴ベクトル410に適用されると、ピクセルクラスタが、ブールのはい/いいえの推定値、または確率を表すスカラー値のような、問題の特性を有するか否かの指示を出力する。
【0053】
いくつかの例示的な実施形態において、問題の特性を有するかまたは欠くものとしてすでに決定されているトレーニングセット内のもの以外の追加の特徴から検証セットが形成される。機械学習トレーニングエンジン203は、
図4に示すトレーニングされた機械学習モデル106を検証セットの特徴に適用して、機械学習モデル106の正確度を定量化する。正確度の測定に適用される共通の測定基準は、適合率(Precision)=TP/(TP+FP)、および再現率(Recall)=TP/(TP+FN)を含み、ここで、適合率とは、機械学習モデル106が、それが予測した総数(TPすなわち真陽性+FPすなわち偽陽性)のうち、正確に予測した数(TP)であり、再現率とは、機械学習モデル106が、問題の特性を有していた特徴の総数(TP+FNすなわち偽陰性)のうち、正確に予測した数(TP)である。Fスコア(F−score=2×PR/(P+R))が、適合率および再現率を統一して単一の測度にする。1つの実施形態において、機械学習トレーニングエンジン203は、機械学習モデル106が十分に正確であるという正確度測定指標、または、行われたトレーニングラウンドの数のような停止条件の発生まで、機械学習モデル106を繰り返し再トレーニングする。
【0054】
代替的実施形態において、機械学習モデル106は、明示的な特徴抽出なしにトレーニングセットから直接的に、いずれのピクセルクラスタがコンテナに対応するかのような有用な表現(特徴)を学習するCNNであってもよい。例えば、機械学習モデル106は、トレーニング画像401からの未処理のピクセルを直接的に内部ラベルへと取り込むエンドツーエンド認識システム(非線形マップ)であってもよい。
図4に示す(CNNの形態の)機械学習モデル106は、特徴抽出、エッジ分析またはピクセルクラスタ識別を必要とせずに、画像401から直接的に出力を生成することができる。
【0055】
遠隔物体を識別するための例示的なプロセス
図5は、一実施形態による、遠隔物体を識別するための遠隔コンテナ分析システムの例示的なプロセスを示す。いくつかの例示的な実施形態において、プロセスは、
図5に関連して説明されているものとは異なるステップおよび/または追加のステップを有することができる。このプロセスのステップは、
図5に関連して説明されている順序とは異なる順序において実施されてもよい。いくつかのステップは並列に実行されてもよい。あるいは、それらのステップのいくつかが並列に実行され、いくつかのステップが順次実行されてもよい。あるいは、いくつかのステップは、あるステップの実行が先行するステップの実行の前に開始されるように、パイプライン化された様式において実行してもよい。
【0056】
遠隔コンテナ分析システム101は、地理的領域の第1の画像を受信し500、第1の画像は第1の解像度を有する。第1の画像は、広い地理的領域のものである。広い地理的領域は、例えば、領域(エリア)に基づいて予め規定され得る。例えば、この領域(エリア)は国全体、例えば米国、または、州/県もしくは都市のようなより小さい部分、例えばテキサス州および/もしくはヒューストンであってもよい。実用的で効率的な広い領域にわたる走査を行うために、より解像度の低い画像が第1の画像に使用される。そのような画像の一例が、(全整色の帯域における)15m/ピクセルのランドサット画像である。特徴抽出モジュール104は、第1の画像から第1の特徴ベクトルを抽出する504。
図2を参照しながら上で説明したように、第1の特徴ベクトルは、第1の画像内のピクセルのピクセル属性に基づく集約値を含んでもよい。遠隔コンテナ分析システム101は、機械学習モデル106に第1の特徴ベクトルを送信して508、第1の画像内の対象の物体を含む対象の領域を識別する。
図2および
図4を参照しながら上で説明したように、第1の画像内の対象の物体を含む対象の領域を識別することは、第1の画像内の各ピクセルについて、当該ピクセルが対象の物体に対応する尤度を決定することを含む。機械学習モデル106は、より低い適合率(例えば、より高い偽陽性率)という代償を払って高い再現率を有するようにトレーニングされる。
【0057】
遠隔コンテナ分析システム101は、地理的領域の第2の画像を受信する512。第2の画像は、第1の解像度よりも高い第2の解像度を有する。低解像度の第1の画像の処理は、第2の画像に対する汚染除去(cleanup)フェーズによって後続される。偽陽性をフィルタで除去するために、第1のパスによって返される対象の領域の全体にわたって、第2のパスが実施される。今回は、より高い解像度の画像が使用され、個々のコンテナがより明瞭に見え得る(例えば、1ピクセル当たり50cmの画像を使用する)。特徴抽出モジュール104は、第2の画像から第2の特徴ベクトルを抽出する516。
図2を参照しながら上で説明したように、第2の特徴ベクトルは、対象の領域内のピクセルのピクセル属性に基づく集約値を含む。
【0058】
遠隔コンテナ分析システム101は、機械学習モデル106に第2の特徴ベクトルを送信して520、対象の領域が対象の物体を含む尤度を決定する。
図2および
図4を参照しながら上で説明したように、対象の領域が対象の物体を含む尤度を決定することは、対象の領域内の各ピクセルについて、当該ピクセルが対象の物体に対応する尤度を決定することを含む。尤度が閾値を下回る場合、遠隔コンテナ分析システム101は、第1の解像度を有する画像内の対象の領域に対応する特徴をフィルタで除去するように、機械学習モデルをトレーニングする524。機械学習モデル106の正確度を改善するために、「ブートストラッピング」または「ハードネガティブマイニング」として参照される手順が実施され得る。汚染除去は、高いスコアの対象の領域の妥当に小さいセットに制限される。高いスコアを受けるが物体を含まない対象の領域は、否定的トレーニングセットに戻って追加され、機械学習モデル106は再びトレーニングされる。この手順は、トレーニングセットが「困難な」否定的例を含むことを保証し、適合率を改善して偽陽性の数を低減することができる。
【0059】
1つの例示的な実施形態において、対象の領域に対応する特徴をフィルタで除去するように機械学習モデル106をトレーニングすること524は、第1の画像から対象の領域に対応する特徴ベクトルを抽出することを含む。遠隔コンテナ分析システム101は、特徴ベクトルと、第1の画像内の対象の物体の欠如に対応するラベルとを含むトレーニングセットを作成する。遠隔コンテナ分析システム101は、トレーニングセットに基づいて第1の画像内の対象の物体の欠如を識別するように機械学習モデル106を構成する。別の例示的な実施形態において、対象の領域に対応する特徴をフィルタで除去するように機械学習モデル106をトレーニングすること524は、第1の画像から対象の領域に対応する特徴ベクトルを抽出することと、抽出した特徴ベクトルに基づいて第1の画像内の対象の物体の欠如を報告するように機械学習モデル106を構成することとを含む。
【0060】
第2の画像内の対象の領域が対象の物体を含む尤度が閾値を超える場合、遠隔コンテナ分析システム101は、
図2に記載されているように、対象の物体の視覚表現をユーザデバイスに送信する528。
【0061】
遠隔物体の充填容積を決定するための例示的なプロセス
図6は、一実施形態による、遠隔物体の充填容積を決定するための遠隔コンテナ分析システムの例示的なプロセスを示す。いくつかの実施形態において、プロセスは、
図6に関連して説明されているものとは異なるステップおよび/または追加のステップを有することができる。例えば、
図6において、破線を使用して任意選択のステップが示されている。このプロセスのステップは、
図6に関連して説明されている順序とは異なる順序において実施されてもよい。いくつかのステップは並列に実行されてもよい。あるいは、それらのステップのいくつかが並列に実行され、いくつかのステップが順次実行されてもよい。あるいは、いくつかのステップは、あるステップの実行が先行するステップの実行の前に開始されるように、パイプライン化された様式において実行してもよい。
【0062】
遠隔コンテナ分析システム101は、画像と、知られた浮き屋根コンテナの位置との交わりを探索するために、衛星画像を処理する。コンテナ画像が受信され600、コンテナの中心が画像の中心になるようにクロップされる。クロップされた画像を使用して、課題は、コンテナの充填容積を決定する(すなわち、屋根がどれだけ下がっているかを決定する)ことである。例示的な一実施形態において、システムは、コンテナが明るく色付けされていると仮定され、各コンテナの内壁が暗く色付けされるように構成されている。遠隔コンテナ分析システム101は、画像からパラメータベクトルを抽出する604。パラメータベクトルは、コンテナの緯度および経度、画像タイムスタンプ、衛星仰角および方位角、太陽仰角および方位角、ならびにタンクの高さおよび幅(または直径)を記述するパラメータを含むことができる。
【0063】
例示的な一実施形態において、
図2を参照しながら上で説明したように、遠隔コンテナ分析システム101は、画像に対して画像分析を実施して608、対象の物体(コンテナ)の高さおよび幅を決定することができる。
図2を参照しながら上で説明し、かつ、
図7を参照しながら以下で示すように、遠隔コンテナ分析システム101は、抽出したパラメータベクトル、対象の物体の決定した高さ、および決定した幅を使用して、対象の物体の理想化された画像を生成する612。
図8を参照しながら以下で示し、説明するように、各理想化された画像は、対象の物体の別個の充填容積に対応する。
【0064】
遠隔コンテナ分析システム101は、対象の物体の受信した画像を、各理想化された画像と照合して616、対象の物体の充填容積を決定する。
図2を参照しながら上で説明し、かつ、
図9を参照しながら以下でさらに示すように、照合することは、受信した画像のピクセルと、理想化された画像のピクセルとの間でドット積を実施することを含む。
図2を参照しながら上で説明したように、遠隔コンテナ分析システム101は、対象の物体の決定した充填容積に対応する情報をユーザデバイス120に送信する620。
【0065】
理想化された画像の例示的な合成
図7は、一実施形態による、理想化された画像の例示的な合成704を示す。テンプレート生成モジュール103は、その屋根を含むコンテナが白色であり、または明るく色付けされていると仮定する。また、影および内部コンテナ表面が黒色であるとも仮定する。テンプレート生成モジュール103は、円、すなわち、上部円704(物体の上縁)、底部円720(物体の底部、ここでそれが地面に接する)、屋根の高さの円708(物体の屋根を表す)、および内部の影の円(物体の内面712上の内部の影の円弧から生成される)の位置から理想化された画像テンプレートを生成する。実施形態において、上部円704、屋根の高さの円708、および内部の影の円712のみが使用され得る。理想化された画像テンプレートを生成するために、テンプレート生成モジュール103は、以下の情報、すなわち、物体の高さおよび幅、所望の屋根の高さ、2つの衛星角度および2つの太陽角度を使用する。上記の情報および
図8に示す三角方程式に基づいて、テンプレート生成モジュール103は、円が位置する所の2D投影を作成する。
【0066】
テンプレート生成モジュール103は、
図8に示すようなパラメータベクトルを使用して、対象の物体の上縁に対応する円704を生成することによって、物体の所与の充填容積の理想化された画像を生成する。テンプレート生成モジュール103は、パラメータベクトルを使用して、対象の物体の内面上の影の円弧に対応する円712を生成する。テンプレート生成モジュール103は、パラメータベクトルを使用して、対象の物体の屋根に対応する円708を生成する。テンプレート生成モジュール103は、屋根上の影716を使用して、
図8に示すような所望の屋根の高さに対応するテンプレートを作成する。テンプレート生成モジュール103は、円704、円720、内側の影の円弧に対応する円712、および円708に対する畳み込みを実施することによって、理想化された画像を合成することができる。
【0067】
図2を参照しながら上で説明したように、円の位置を知ると、テンプレート生成モジュール103は、ユニオンおよびインターセクションを計算して、
図7に示す「眼球」形状(暗い領域および影の領域)テンプレートを生成する。最後のテンプレートにおいて、内側の影のピクセルおよび内壁のピクセルは−1に設定され、屋根のピクセルは+1に設定され、他のすべてのピクセルは0に設定される。これは、暗いピクセル(例えば、影および内面)が負であり、明るいピクセル(例えば、屋根)が正であるように行われる。このとき、入力画像と理想化された画像との間で実施されるドット積は、テンプレートおよび画像が類似している場合、結果として大きい正の数をもたらす。なぜなら、画像内の正のピクセルが理想化された画像内の正のピクセルと整合し、画像内の負のピクセルが理想化された画像内の負のピクセルと整合するからである。
【0068】
例示的な円投影式
図8は、一実施形態による、例示的な円投影式のセットを示す。テンプレート生成モジュール103は、抽出したパラメータおよび
図8に示す三角方程式に基づいて、
図7を参照しながら上で示し、説明した円の位置から理想化された画像テンプレートを生成する。
【0069】
1つの実施形態において、テンプレート生成モジュール103は、
図8に示す三角方程式に基づいて投影を作成して、パラメータベクトルを円上にマッピングすることができる。テンプレート生成モジュール103は、以下のように、上縁によって屋根に落とされる影および内面によって平面に落とされる影を投影することができる。点の投影は、平面上のその影である。平面上の点の影は、点自体である。例えば、点から平面上への投影は、以下のように実施され得る。Cが投影の中心と呼ばれる点である場合、Cとは異なる点Pの、Cを含まない平面上への投影は、線CPと平面との交わりである。線CPが平面に平行であるような点Pは、投影によっていかなる画像も有しない。しかしながら、それらは、平面の無限遠にある点に対して投影しているものと考えられる。点C自体の投影は定義されない。別の例において、以下のように、投影は、方向Dに平行に、平面に対して実施され得る。点Pの画像は、Pを通過するDに平行な線の平面との交わりである。
【0070】
代替的実施形態において、テンプレート生成モジュール103は、フィールドKにわたる次元nの投影空間P(V)を、次元n+1のKベクトル空間内の線のセットとして定義することができる。Vの基底が固定されている場合、Vの点は、K
n+1の点(x
0,...,x
n)によって表され得る。従って、V内の線であるP(V)の点は、この線の任意の非ゼロ点の座標によって表され得る。同じ次元の2つの投影空間P(V)およびP(W)が与えられると、テンプレート生成モジュール103は、ベクトル空間の同型f:V→Wによって誘発される、P(V)からP(W)へのマッピングとしてのホモグラフィを生成することができる。fの線形性のために、そのような同型は、P(V)からP(W)への双射を誘発する。2つのそのような同型fおよびgは、g=afとなるようなKの非零要素aがある場合かつその場合に限り、同じホモグラフィを規定することができる。
【0071】
例示的な理想化された画像
図9は、一実施形態による、例示的な理想化された画像900のセットを示す。理想化された画像900は、テンプレート生成モジュール103によって、対象のコンテナの充填容積の割合を、0%充填(画像904)から100%充填(画像924)まで変化させることによって生成される。画像908において、コンテナの充填容積の割合は20%である。画像912において、コンテナの充填容積の割合は40%である。コンテナの上縁によってコンテナの屋根932および内面に落とされる画像912内の影936は、画像908内の影よりも小さい。
【0072】
画像916において、コンテナの充填容積の割合は60%である。コンテナの上縁によってコンテナの屋根および内面に落とされる画像916内の影は、画像912内の影936よりも小さい。画像920において、コンテナの充填容積の割合は80%である。コンテナの上縁によってコンテナの屋根および内面に落とされる画像920内の影は、画像916内の影よりも小さい。画像924において、コンテナの充填容積の割合は100%である。画像924内に影はない。
【0073】
所与の入力のセットについて、遠隔コンテナ分析システム101は、画像900の中でいずれの理想化されたテンプレートが受信した画像に最もよくマッチするかを決定し、その後、対応する充填容積の割合を返す。1つの例示的な実施形態において、テンプレートマッチングモジュール205は、以下のように、受信した画像、衛星および太陽の角度、ならびにコンテナの寸法に基づいてコンテナの充填容積を決定する。テンプレートマッチングモジュール205は、変数「best_score(最良スコア)」を大きい負の数に設定する。テンプレートマッチングモジュール205は、変数「best_fill_percentage(最良の充填割合)」を−1に設定する。テンプレートマッチングモジュール205は、0%から100%までの異なる充填容積の割合について、以下のステップを実施する。テンプレートマッチングモジュール205は、受信した画像の各テンプレートに対する照合からスコアを決定する。スコアが「best_score」よりも高い場合、テンプレートマッチングモジュール205は、「best_score」の値を当該スコアに設定し、「best_fill_percentage」の値を当該充填容積の割合に設定する。プロセスの終わりに、テンプレートマッチングモジュール205は、「best_fill_percentage」の値を返す。
【0074】
遠隔物体の例示的な画像勾配および輪郭
ここで
図10Aを参照すると、それは、一実施形態による、コンテナの例示的な受信した画像1000を示す。コンテナは、影1004を有する屋根1008を有する。浮き屋根コンテナの屋根1008が完全に上がっている(満杯のコンテナである)とき、マッチする理想化された画像は、
図9の画像924として上で示されている、灰色ピクセル1012(0の値を有するピクセル)によって囲まれた(すべてのピクセルが値1を有する)白色の円である。このテンプレートは、同じスコアを有するあらゆる白色領域とマッチする。偽陽性を回避するために、受信した画像1000からの勾配情報が、テンプレートマッチングモジュール205によって組み込まれ得る。
【0075】
図10Bは、一実施形態による、
図10Aの受信した画像1000の例示的な画像勾配1020を示す。画像分析モジュール204は、受信した画像1000に対して、
図2を参照しながら上で説明したようなエッジ分析を実施して、受信した画像1000の画像勾配1020を取得することができる。画像勾配1020は、画像1000内の強度または色の方向的変化(directional change)を表す。画像分析モジュール204は、画像勾配1020を、各ピクセルにおける単一の値として導出することができる。各画像点において、勾配は、最大の可能な強度増加を示す。
図10Bのエッジ1024は、
図10Aの背景1012から影1004への、画像1000内の強度または色の変化を表す。
図10Bのエッジ1028は、
図10Aの影1004から屋根1008への、画像1000内の強度または色の変化を表す。
図10Bのエッジ1032は、
図10Aの屋根1008から背景1012への、画像1000内の強度または色の変化を表す。
【0076】
図10Cは、一実施形態による、理想化された画像テンプレート内の対象の物体(コンテナ)の上縁1044の例示的な輪郭1040を示す。画像分析モジュール204は、理想化された画像に対してエッジ分析を実施して、理想化された画像内のコンテナの上縁1044の輪郭1040を取得することができる。例えば、画像分析モジュール204は、エッジ細線化を実施して、輪郭1040内のエッジ1044上の所望されない誤った点を除去することができる。(例えば、メジアンフィルタ、ガウスフィルタなどを使用して)理想化された画像に対してノイズについてのフィルタをかけ、(
図2を参照しながら上で説明したように)エッジ演算子を適用してエッジ1044を検出し、適切な閾値を使用してエッジ1044を平滑化した後に、画像分析モジュール204は、エッジ細線化を実施することができる。これは、すべての所望されない点を除去し、結果として、一実施形態において、1ピクセルの太さのエッジ要素をもたらす。
【0077】
テンプレートマッチングモジュール205は、受信した画像1000内のコンテナの充填容積を決定するために、画像勾配1020のピクセルと、上縁1044の輪郭1040のピクセルとの間のドット積を実施することができる。このプロセスの利益および利点は、鮮鋭で細いエッジがテンプレートマッチングにおいてより高い効率をもたらすことである。ハフ変換を使用して(影の)円弧および円(例えば、上縁)を検出することは、結果として、より大きい正確度をもたらす。
【0078】
図10Dは、一実施形態による、理想化された画像テンプレート内のコンテナの内面上の影の例示的な輪郭1060を示す。画像分析モジュール204は、理想化された画像に対してエッジ分析を実施して、コンテナの内面上の影の輪郭1060を取得することができる。
図10Dにおいて、エッジ1064は、背景から内面上の影への、理想化された画像1060内の強度または色の変化を表す。エッジ1068は、内面上の影から屋根への、理想化された画像1060内の強度または色の変化を表す。テンプレートマッチングモジュール205は、受信した画像1000内のコンテナの充填容積を決定するために、画像勾配1020のピクセルと、影1060の輪郭のピクセルとの間のドット積を実施することができる。
【0079】
いくつかの例示的な実施形態において、3つの畳み込みを実施し、合計して、応答マップを形成することができる。第1の畳み込みは、受信した画像1000と、理想化された画像テンプレート、例えば、
図9の画像912との間である。第2の畳み込みは、画像勾配1020と、上縁の輪郭1040との間である。第3の畳み込みは、画像勾配1020と、影の輪郭1060との間である。3つの結果として生じる応答マップを合計し、画像の中心の指定された半径内の最大応答を有する位置を、最終的なテンプレートマッチスコアとして決定することができる。上記の手順は、対象の物体の幾何学的形状が知られており、そのほとんどが知られている少数のパラメータによって特徴付けられる任意の状況に一般化され得る。その後、可能性のある値にわたって掃引し、テンプレートを生成し、それらを入力画像と照合することによって、知られていないパラメータを決定できる。
【0080】
例示的な機械アーキテクチャ
図11は、ここでプロセスとして説明されている命令を機械可読媒体から読み出し、少なくとも1つのプロセッサ(またはコントローラ)においてそれらを実行することが可能な例示的な機械の構成要素を示すブロック図である。具体的には、
図11は、コンピュータシステム1100の例示的な形態の機械の図解表現を示す。コンピュータシステム1100は、機械に、ここで説明されている方法(またはプロセス)のうちのいずれか1つ以上を実施させるための命令1124(例えば、プログラムコードまたはソフトウェア)を実行するために使用され得る。代替的実施形態において、機械は、独立型デバイスとして、または、他の機械に接続する、接続される(例えば、ネットワーク接続される)デバイスとして動作する。ネットワーク接続された配備において、機械は、サーバ−クライアントネットワーク環境におけるサーバ機械もしくはクライアント機械の立場で、またはピアツーピア(または分散された)ネットワーク環境におけるピア機械として動作することができる。命令は、例えば、
図1、
図2および
図4〜
図8に関連してここで説明されている構成要素および/またはプロセスの機能に対応することに留意されたい。また、命令は、
図3A〜
図3B、
図9および
図10A〜
図10Dに示す結果をもたらすための駆動と関連付けられるプロセスに対応することもできる。
【0081】
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、スマートフォン、モノのインターネット(IoT)アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または、その機械によってとられるべき動作を指定する命令1124を(順次にまたは他の様態で)実行することが可能な任意の機械であってもよい。さらに、単一の機械のみが示されているが、「機械」という用語は、ここで論じられている方法のいずれか1つ以上を実施するために個々にまたは共同して命令1124を実行する機械の任意の集合を含むものとしても理解されるべきである。
【0082】
例示的なコンピュータシステム1100は、1つ以上の処理装置(一般的にはプロセッサ1102)を含む。プロセッサ1102は、例えば、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態機械、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせである。また、コンピュータシステム1100は、メインメモリ1104をも含む。コンピュータシステムは、記憶装置1116を含むことができる。プロセッサ1102、メモリ1104および記憶装置1116はバス1108を介して通信する。
【0083】
加えて、コンピュータシステム1100は、スタティックメモリ1106、(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタを駆動するための)ディスプレイドライバ1110を含むことができる。また、コンピュータシステム1100は、同じくバス1108を介して通信するように構成されている、英数字入力デバイス1112(例えば、キーボード)、カーソル制御デバイス1114(例えば、マウス、トラックボール、ジョイスティック、運動センサ、または他のポインティング機器)、信号生成デバイス1118(例えば、スピーカ)、およびネットワークインターフェースデバイス1120をも含むことができる。
【0084】
記憶装置1116は、ここで説明されている方法または機能のうちのいずれか1つ以上を具現化する命令1124(例えば、ソフトウェア)が記憶されている機械可読媒体1122を含む。また、命令1124は、コンピュータシステム1100によるその実行中に、完全にまたは少なくとも部分的に、メインメモリ1104内またはプロセッサ1102内(例えば、プロセッサのキャッシュメモリ内)に存在することもでき、メインメモリ1104およびプロセッサ1102も、機械可読媒体を構成する。命令1124は、ネットワークインターフェースデバイス1120を介してネットワーク1126にわたって送信または受信され得る。
【0085】
機械可読媒体1122は、例示的な実施形態において、単一の媒体であるものとして示されているが、「機械可読媒体」という用語は、命令1124を記憶することが可能な、単一の媒体または複数の媒体(例えば、集中化されたもしくは分散されたデータベース、または、関連付けられるキャッシュおよびサーバ)を含むように解釈されるべきである。また、「機械可読媒体」という用語は、機械による実行のために命令1124を記憶することが可能であり、機械に、ここで開示されている方法のいずれか1つ以上を実施させる任意の媒体を含むものとしても解釈されるべきである。「機械可読媒体」という用語は、限定されないが、ソリッドステートメモリ、光媒体、および磁気媒体の形態のデータリポジトリを含む。いくつかの例示的な実施形態では、コンピュータシステムの中核構成要素は、プロセッサ1102、メモリ1104、およびバス1108を除く構成要素を無視することができ、また、他の実施形態では、記憶装置1116および/またはネットワークインターフェースデバイス1120をも含んでよいことに留意されたい。
【0086】
追加の考慮事項
開示されているような遠隔コンテナ分析システムは、ピクセルのクラスタの、遠隔コンテナのデジタル表現、ならびに、各遠隔コンテナについて、遠隔コンテナの屋根、内面、および充填容積のデジタル表現への変換を含む利益および利点を提供する。システムの他の利点は、空中画像のより高速な処理、より低い電力消費、遠隔コンテナ検出におけるより短い待ち時間、ネットワークを介して送信されるより少ないデータなどを含む。
【0087】
この明細書全体を通じて、複数のインスタンスが、単一のインスタンスとして説明されている構成要素、動作、または構造を実現してもよい。1つ以上の方法の個々の動作は別個の動作として示され、説明されているが、個々の動作のうちの1つ以上は、同時に実施されてもよく、動作が示されている順序において実施されることを必要とするものは何もない。例示的な構成において別個の構成要素として提示されている構造および機能は、組み合わされた構造または構成要素として実現されてもよい。同様に、単一の構成要素として提示されている構造および機能が、別個の構成要素として実現されてもよい。これらのおよび他の変形、修正、追加、および改善は、ここでの主題の範囲内に入る。
【0088】
特定の実施形態は、例えば、
図1、
図2、
図4、
図5、
図6、
図7、
図8、および
図11を用いて示し、説明したように、論理またはいくつかの構成要素、モジュール、またはメカニズムを含むものとしてここでは説明されている。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体上で具現化されるコード)またはハードウェアモジュールを構成することができる。ハードウェアモジュールは、特定の動作を実施することが可能な有形ユニットであり、特定の様式で構成または配置され得る。例示的な実施形態において、1つ以上のコンピュータシステム(例えば、独立型、クライアントまたはサーバコンピュータシステム)またはコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサまたはプロセッサのグループ)は、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって、ここで説明されているような特定の動作を実施するように動作するハードウェアモジュールとして構成され得る。
【0089】
様々な実施形態において、ハードウェアモジュールは、機械的にまたは電子的に実現されてもよい。例えば、ハードウェアモジュールは、特定の動作を実施するように(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)のような特別な目的のプロセッサとして)永続的に構成された専用の回路または論理を含むことができる。また、ハードウェアモジュールは、ソフトウェアによって特定の動作を実施するように一時的に構成されるプログラム可能な論理または回路(例えば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に含まれるものとしての)をも含むことができる。ハードウェアモジュールを専用の永続的に構成された回路において機械的に実現するか、または、一時的に構成される回路(例えば、ソフトウェアによって構成される回路)において実施するかの決定は、コストおよび時間の考慮事項によって動かされ得ることが理解されよう。
【0090】
ここで説明されている例示的な方法の様々な動作は、少なくとも部分的に、関連する動作を実施するように(例えば、ソフトウェアによって)一時的に構成され、または永続的に構成される1つ以上のプロセッサ、例えばプロセッサ1102によって実施されてもよい。一時的に構成されるか、または、永続的に構成されるかにかかわらず、そのようなプロセッサは、1つ以上の動作または機能を実施するように動作する、プロセッサによって実現されるモジュールを構成することができる。ここで参照されているモジュールは、いくつかの例示的な実施形態において、プロセッサによって実現されるモジュールを含むことができる。
【0091】
また、1つ以上のプロセッサは、「クラウドコンピューティング」環境における、または、「サービスとしてのソフトウェア」(SaaS)としての関連動作の実施をサポートするように動作することもできる。例えば、少なくともいくつかの動作は、コンピュータ(例えば、プロセッサを含む機械)のグループによって実施することができ、これらの動作は、ネットワーク(例えば、インターネット)を介して、および1つ以上の適切なインターフェース(例えば、アプリケーションプログラムインターフェース(API))を介してアクセス可能である。
【0092】
特定の動作の実施は、単一の機械内に存在するだけでなく、いくつかの機械にわたって配備される、1つ以上のプロセッサの間で分散されてもよい。いくつかの例示的な実施形態において、1つ以上のプロセッサまたはプロセッサによって実現されるモジュールは、単一の地理的ロケーション(例えば、家庭環境、オフィス環境、またはサーバファーム内)に位置付けられてもよい。他の例示的な実施形態において、1つ以上のプロセッサまたはプロセッサによって実現されるモジュールは、いくつかの地理的ロケーションにわたって分散されてもよい。
【0093】
この明細書のいくつかの部分は、機械メモリ(例えば、コンピュータメモリ)内にビットまたは二値デジタル信号として格納されているデータに対する動作のアルゴリズムまたは記号的表現の点から提示されている。これらのアルゴリズムまたは記号的表現は、データ処理技術における当業者によって、自身の研究の要旨を他の当業者に伝達するために使用される技法の例である。ここで使用される場合、「アルゴリズム」は、所望の結果をもたらす首尾一貫した一連の動作または類似の処理である。この文脈において、アルゴリズムおよび動作は、物理量の物理的操作を含む。必ずではないが、通常は、そのような量は、機械によって記憶、アクセス、転送、結合、比較、または他の様態で操作されることが可能な電気信号、磁気信号、または光信号の形態をとることができる。主に一般的な用法の理由から、そのような信号を、「データ」、「内容」、「ビット」、「値」、「要素」、「シンボル」、「文字」、「用語」、「数」、「数字」などのような単語を使用して参照することが時として好都合である。しかしながら、これらの単語は、便宜上のラベルに過ぎず、適切な物理量と関連付けられるべきである。
【0094】
別途具体的に述べられない限り、「処理(processing」)、「計算(computing)」、「算出(calculating)」、「決定(determining)」、「提示(presenting)」、「表示(displaying)」などのような単語を使用したここでの論述は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ)、レジスタ、または、情報を受信、格納、送信、もしくは表示する他の機械構成要素内の物理(例えば、電子、磁気、または光学)量として表されるデータを操作または変換する機械(例えば、コンピュータ)の動作または処理を指し得る。
【0095】
ここで使用される場合、「1つの実施形態」または「一実施形態」へのあらゆる言及は、その実施形態と関連して説明されている特定の要素、特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。明細書内の様々な箇所における「1つの実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を参照しているとは限らない。
【0096】
いくつかの実施形態は、それらの派生物とともに「結合される」および「接続される」という表現を使用して説明されている場合がある。例えば、いくつかの実施形態は、2つ以上の要素が直接物理的にまたは電気的に接触していることを示すために「結合される」という用語を使用して説明されている場合がある。しかしながら、「結合される」という用語は、2つ以上の要素が互いに直接接触していないが、なお依然として互いに協働または相互作用することを意味することもできる。この文脈において実施形態は限定されない。
【0097】
ここで使用される場合、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」という用語またはそれらの任意の他の変化形は、非排他的な包含をカバーするように意図されている。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもそれらの要素のみには限定されず、明示的にリストされていない、または、そのようなプロセス、方法、物品、または装置に内在する他の要素を含んでもよい。さらに、逆のことが明示的に述べられていない限り、「または(or)」は包含的orを指すものであって、排他的orを指すものではない。例えば、条件AまたはBは、Aが真であり(または存在し)かつBが偽である(または存在しない)、Aが偽であり(または存在せず)かつBが真である(または存在する)、および、AとBの両方が真である(または存在する)、のうちのいずれか1つによって満たされる。
【0098】
加えて、「a」または「an」の使用が、ここでの実施形態の要素および構成要素を説明するために採用される。これは、単に便宜上のものとして、特許請求された発明の概括的な意味を与えるために行われている。この記載は、1つまたは少なくとも1つを含むものとして読まれるべきであり、単数形は、そうでないことを意味することが明白でない限り、複数形をも含む。
【0099】
この開示を読めば、当業者は、ここで開示されている原理を通じて低解像度画像から遠隔コンテナの充填容積を識別し、決定するためのシステムおよびプロセスのさらなる追加の代替的な構造および機能の設計を理解するであろう。従って、特定の実施形態およびアプリケーションが示され、説明されているが、開示されている実施形態は、ここで開示されているまさにその構造および構成要素に限定されないことが理解できる。添付された特許請求の範囲において定義されている精神および範囲から逸脱することなく、当業者に明らかになる様々な修正、変更および変形が、ここで開示されている方法および装置の構成、動作および詳細において行われ得る。