全世界の衛星画像を雲のない状態にする
2022年1月25日発行 更新日:2022年02月04日

私たちの技術チームは、雲のない美しい世界の新しい画像を作りました。これは、私たちがどのように、そしてなぜそれを行ったかについての物語です。
視界を確保する
オンラインの地図サイトでは、世界の画像がほとんどこのように表示されないことを不思議に思ったことはありませんか?
雲がかかっていない場所を探すのはかなり難しいでしょう?実際には75%近くが常に雲に覆われているので、この画像は非常に正確に描かれています。しかし、気象の研究をしているのでなければ、地表を見たいのが人情というもの。
雲が写っていない画像を選べばいいのだから、そんなに難しいことではない」と思われるかもしれません。「と思われるかもしれませんが、実はそれほど簡単ではありません。
MapTilerのように、山が好きだからスイスのBernes Alpesのような場所に雲がない画像を選びたいと思っても、何十枚もの画像を見て探さなければなりません。地球上には常に雲に覆われている場所があるので、手作業では不可能なのです。
このような問題を解決するには自動化が必要であり、当社の技術者はこのルートを辿って、当社のサービスである衛星データを作成しました。しかし、それほど単純ではなく、悪い結果や平均的な結果ではなく、良い結果を得るためには、いくつかの重要な材料が必要です。
- 優れたデータソース
- 洗練され、研ぎ澄まされたアルゴリズム
- 巨大な計算能力
この最後の要素がないと、巨大なグローバルデータセットを扱う際に、非常に厄介な時間の問題が発生します。仮にデスクトップPCしか使えないとしたら、4512日分、つまり12.5年分のデータを処理しなければなりません。ストレージには500GBのSSDを搭載したコンピュータが360台必要です。ストレージには500GBのSSDを搭載したコンピュータが360台必要です。HDDを使用した場合、処理時間は18.5年になります。つまり、地図を作り終えた時には、19年近くも古い地図になっていて、誰にも使えないということです。
これはとても難しい作業ですが、他の人がすでに雲なしレイヤーを作っているのに、なぜわざわざやるのでしょうか?結果の質の話に戻りますが、Googleマップの下の画像を見てください。これは、雲がないという意味ではポジティブな結果ですが、MapTilerでは良い結果とは言えません。色が悪く、異なる時期、異なる年の画像がつなぎ合わされた境界線がはっきりしています。
Googleマップでよく見られるパッチワーク効果と、MapTilerで実現した自然な色の比較。
MapTilerでは、もっと良いものを作りたいと考え、最先端の技術を駆使して、全世界の最も美しい雲のない衛星地図を、わずか1年という短い期間でお客様にお届けするという目標を立てました。(その上で、誰もが月々数ドルで地図を利用できるようにすることを目指しました。
センチネル2の衛星画像
グローバルな衛星地図を作りたいとき、私たちのアプローチはこうでした。
- 経済的に入手可能な最高のデータを探し、可能であれば無料で入手する。
- 空間的、時間的に優れた解像度のデータを探す。
- 適度なディテールが得られる空間分解能。
- 短時間で同じ場所の画像を多く取得するための時間的分解能。衛星の再訪時間が長ければ長いほど、雲のない画像を見つけられる可能性が高くなります。
- 地球全体をカバーするような、空間的な広がりのあるデータを探します。
ここに、欧州宇宙機関(ESA)のCopernicusプロジェクトによるSentinel-2ミッションのデータがぴったりと当てはまります。再訪時間はわずか5日なので、5日ごとに地球上の同じ場所の新しい画像を得ることができます。
解像度も10m/pxとなかなかのもので、データはJPEG2000形式です。
センチネル2は、マルチスペクトルイメージャー(MSI)により、多くのデータバンドを提供しています。可視光から短波長赤外線までの13のスペクトルバンドでデータを取得します。
バンド | 中心波長(μm) | 解像度(m) |
---|---|---|
バンド1 - 沿岸のエアロゾル | 0.443 | 60 |
バンド2・ブルー | 0.490 | 10 |
バンド3-グリーン | 0.560 | 10 |
バンド4 - 赤 | 0.665 | 10 |
バンド5 - ベジテーション・レッドエッジ | 0.705 | 20 |
バンド6 - ベジテーション・レッドエッジ | 0.740 | 20 |
バンド7 - ベジテーション・レッドエッジ | 0.783 | 20 |
バンド8 - NIR | 0.842 | 10 |
バンド8A - ベジテーション・レッドエッジ | 0.865 | 20 |
バンド9 - 水蒸気 | 0.945 | 60 |
バンド10 - SWIR - Cirrus | 1.375 | 60 |
バンド11 - SWIR | 1.610 | 20 |
バンド12 - SWIR | 2.190 | 20 |
最後に、すべての大陸の陸地表面、100km2以上の島々、海岸から少なくとも20kmまでの沿岸および水域をカバーしている点も優れています。
センチネル2のミッション詳細
センチネル2は、コペルニクス・プロジェクトの一環として打ち上げられた衛星で、地球表面の高解像度(時間的・空間的)衛星画像を取得し、土地利用の変化、土地被覆の変化、農業、森林、水の変化などの監視に役立てることを目的としています。このミッションでは、すべての地表、大きな島、内陸部、沿岸部のデータを提供しています。
このミッションは2つの宇宙船で構成されており、Sentinel-2Aは2015年6月23日に10日間の公転期間で打ち上げられた。2017年3月7日にはSentinel-2Bが打ち上げられ、同じように10日間の軌道を周回しました。これらの衛星を組み合わせることで、5日間の再訪時間が得られる。公称ミッション期間は各衛星とも7年である。
Sentinel-2データポータル
欧州委員会は、人工衛星が作成したデータを配信するための5つのクラウドベースのプラットフォームの展開に資金を提供しました。これらのプラットフォームは、DIAS(Data and Information Access Services )と呼ばれています。
DIASの5つのオンラインプラットフォームでは、ユーザーがCopernicusのデータや情報を発見し、操作し、加工し、ダウンロードすることができます。すべてのDIASプラットフォームは、Copernicus Sentinelデータと6つのオペレーションサービスからの情報製品へのアクセスを提供します。
カタログの閲覧では、Soblooが一番使いやすかったです。しかし、これらのDIASサービスから処理用のデータにアクセスするのは、あまり良い経験ではありませんでした。
我々はSentinel-Hubを使用し、AWSのS3バケットにSentinel-2のL2Aデータをすべて保存することができました。L2AはESAによって大気補正されていることを意味します。Sentinel-HubのPythonライブラリとドキュメント化されたAPIのおかげで、データの処理を迅速に開始することができました。
雲を取り除くこと。 MapTilerはそれを違った方法で行う
データ上のある場所から雲を取り除くには、その場所の時系列画像から始める必要があります。
時系列の画像ができたら、その画像から雲を取り除くにはいくつかのアプローチがあります。他社が採用している最もポピュラーなものは、ピクセル合成に基づくものです。この方法では、異なる画像から得られた一連のピクセルから、第一四分位のピクセルを得るなど、いくつかの統計情報に基づいて、特定のピクセルを選択します。この方法は、本物のピクセルが得られるというメリットがありますが、難点もあります。
MapTilerではこの方法を採用しませんでしたが、それは場所によってうまく機能しないからです。例えば、氷河の上に黒いピクセルのグループが見えるなど、視覚的なアーティファクトが発生してしまいます。
そこで、複数の値の中からピクセル値を選択するのではなく、複数の値の中からピクセル値を集約するという新しい合成アルゴリズムを考案し、ピクセルアーチファクトのない、より自然な形での出力を実現しました。
エリアを拡大する
新しい戦略を開発してテストし、雲のない美しい場所ができたら、そのプロセスを地球全体に拡大しました。
しかし、魔法は合成アルゴリズムそのものだけではなく、合成アルゴリズムで処理するための最適な画像を選択する「事前選択アルゴリズム」にもあります。この部分は、特に全世界を処理する場合には非常に重要です。処理する画像ファイルの数が増えれば増えるほど、より多くのリソースが必要となり、結果的に高価なソリューションとなってしまいます。
入力ファイルの数を減らすために、雲が最も少ない年から最適な月のセットを選択する時間窓アルゴリズムを作成しました。これは4ヶ月の時間枠で、開始月は地理的な位置に応じて変化しました。
タイムウィンドウを設置しても、多くの画像がその品質に基づいてフィルタリングされる可能性がありました。そこで、Sentinel-2のデータプロダクトに含まれるSCLレイヤーを使用して、品質マスクを作成し、タイムウィンドウ内の悪い画像を除外しました。このレイヤーのピクセル値の範囲は0〜11で、それが何を表しているかは以下の通りです。
クオリティマスクとタイムウィンドウを使うことで、最高の画像だけを最終的な合成アルゴリズムにかけることができました。とはいえ、237兆個以上のピクセルを処理するのは大変な作業なので、MapTilerCluster を使って自動化しました。
MapTiler Cluster
MapTilerCluster は、マスターサーバーとワーカーインスタンスで構成され、GCP、AWS、Azureなどのあらゆるクラウドコンピューティングプラットフォーム上で動作するクラスタコンピューティングソリューションです。マスターサーバーは、大きな地理的ロケーションを小さな地理的ジョブタスクに分割し、個々のワーカーがそれを処理します。このようなソリューションにより、プロジェクトの期間を数年からわずか数週間に短縮することができます。
その結果美しい衛星画像レイヤー
最後に必要だったのは、MapTilerCluster を起動して2週間ほど待つことだった。そうすれば、最も美しく見える世界の衛星地図を、見事な自然の色で楽しむことができるだろう。
衛星画像や航空画像の詳細については、当社のウェブサイトをご覧ください。
数字や統計が好きな方のために、私たちのプロジェクトのハイライトをご紹介します。
最終データ | |
---|---|
バンド | R、G、B、NIR |
プロジェクション | WGS 84 ウェブ・メルカトル |
入力データの日付 | 2021 |
カバレッジ | グローバル |
出力フォーマット | WebPまたは16bit TIFF |
レイヤーの合計サイズ | 500GB |
このような研究をしてみたいと思いませんか?
MapTilerは、このような最先端の研究や、コンピュータサイエンスやGISの他の分野に取り組むために、常に新しい人材を求めています。ビッグデータ解析、クラウドに最適化された処理、または幅広いジオテクノロジーに関わる仕事をしたいとお考えの方は、MapTilerがあなたの探している会社かもしれません。または、C.V.とカバーリングレターを[email protected]まで送っていただければ、あなたをチームの一員にできるかどうかを確認します。