Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tellusではじめる衛星データ分析

Avatar for manuriya manuriya
August 20, 2021

 Tellusではじめる衛星データ分析

#さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 発表資料

Avatar for manuriya

manuriya

August 20, 2021

Other Decks in Technology

Transcript

  1. 自己紹介 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 1 • 名前 まぬある • 所在

    都内某所 • 職業 開発職 → MLエンジニア ✓ Not フロントエンド/バックエンドエンジニア ✓ 画像処理や画像認識が専門 ✓ 航空写真/衛星画像を使った機械学習モデル開発 Twitter: @lTlanual Qiita : @manuriya
  2. 本日の内容 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 2 • Tellusとは? • Tellus OS

    ✓ 解析例(植生分布) • Tellus開発環境 ✓ 利用までの流れ ✓ VSCodeによる開発環境操作 ✓ APIによるTellusデータへのアクセス • 機械学習を用いた衛星画像分析
  3. Tellusとは? #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 3 • https://www.tellusxdp.com/ • 衛星データをクラウド環境で分析できる日本発のオープン&フリーなプラットフォーム •

    様々な種類(企業/研究機関)の衛星データが使用可能 • Tellus OSによりソフトのインストールなしに衛星データの可視化・解析が可能 • APIなどを使用するための開発環境あり(さくらのクラウド、高火力コンピューティング)
  4. 利用までの流れ #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 7 Tellus GPUサーバ(さくら高火力コンピューティング)での機械学習環境構築 を参照 • 大まかな流れ

    1. 開発環境の申し込み 2. Tellus運営チームから開発環境提供の連絡 3. 開発環境提供のメールに記載している導入手順を実施、開発環境にSSH接続 4. Python環境の構築 5. APIトークンの発行 • CPU環境とGPU環境の構築手順の違い ✓ CUDA DriverとCUDA Toolkitの導入の有無 ✓ その他はほとんど同じ手順で構築可能
  5. Python環境 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 10 • Minicondaで構築 ✓ Anacondaは有償化問題があるので避けた方がよい(個人用途では問題ない) ✓

    Pipだけだと衛星データ関連のライブラリの導入が大変(特にgdal) ✓ numpyなどの速度がpipのものより速い(OpenBLASとMKLの差) • 衛星データ関連ライブラリ ✓ gdal: 画像、ベクタファイルの読み込みや作成用 ✓ rasterio: gdalのpython wrapperみたいなライブラリ ✓ geopandas: pandas-likeにベクタファイルを操作するためのライブラリ
  6. VSCodeによる開発環境操作 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 12 • なぜVSCodeか? ✓ SSHを通して直接サーバー内のファイルを操作できる(Remote Development)

    ✓ Jupyter notebookファイルを直接参照できる ✓ Dockerコンテナの管理も可能 • 導入方法 ✓ VSCodeの拡張機能「Remote Development」「Jupyter」を入れるだけ ✓ .ssh/configを用いて接続しているので他に必要な操作はない
  7. Notebookファイル操作 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 11 • 直接ファイルを開くことが可能 ✓ 別Browser上でJupyterLabを開かなくてよい ✓

    各変数のデータを閲覧可能 • セル単位での実行が可能 ✓ Jupyter notebookの操作はほぼ全て可能 ✓ 画像の閲覧やDataFrameの可視化も可能
  8. APIによるTellusデータへのアクセス #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 14 • API情報 ✓ https://www.tellusxdp.com/ja/api-reference/ ✓

    各衛星ごとに用意されている • データ取得手順(ex. ASNARO-1, 3-Channel) 1. Tellus OSで対象地域の画像範囲を確認 2. グリッド → タイル座標を表示し、欲しい範囲の(Z, X, Y)の値を確認 3. /api/v1/asnaro1/sceneで当該範囲にあるASNARO-1のシーン情報を取得 4. /ASNARO-1/{scene_id}/{z}/{x}/{y}.pngからASNARO-1画像を取得
  9. 機械学習を用いた衛星画像分析 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 17 • やったこと ✓ 衛星画像から建物の存在する個所を検出 •

    構成 ✓ 学習データ:SpaceNet Building Detectionv1, v2 ✓ 学習データ数:10,000枚 ✓ モデル:U-Net ✓ テストデータ: SpaceNet Building Detectionv1のTestデータ ➢ Tellus CPU環境で試したらtime outしたので断念 ➢ Tellus GPU環境が借りられればTellus内のデータに対して推論可能
  10. Tellusを使った感想 #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 21 • Tellus OS ✓ 複数の衛星データを重ねることができるので画像検索が楽

    • 環境構築 ✓ 通常のサーバー上の構築と殆ど同じなのでそこまで難しくない • データ取得 ✓ 緯度経度との紐づけが面倒 ✓ APIの名前とシーン情報のカラム名が異なっていることがあるので統一してほしい ➢ 例えばASNARO-1のentityIDとscene_id
  11. 参考サイト #さくらのマイクロコミュニティ (CLI/APIユーザの会) vol.3 22 • Tellus公式 How to Use

    https://www.tellusxdp.com/ja/howtouse/ • 宙畑 https://sorabatake.jp/ • リモート・センシング技術センター 衛星情報データベース https://www.restec.or.jp/satellite/ • SpaceNet https://spacenet.ai/