Tellusの衛星データ用いて検出結果を確認する前回の記事で学習させたモデルを使って、Tellus上の画像を使って石油タンクの検出ができるか試してみます。Designに宙畑が寄稿した連載「衛星データプラットフォームTellusハンズオン」の内容から、一部修正して掲載するものです。前回までの記事では、衛星データを利用した物体検出のデータセットと石油タンクを検知するモデルについて紹介してきました。今回の記事では、いよいよTellus上で公開されている衛星データを使って、石油タンクの検出にトライしてみたいと思います。本記事で紹介しているコードはGithubでも公開しています。目的の衛星データを見つける前回の記事で石油タンクを物体検出できるモデルができたので、Tellusで衛星データを取得し予測をしてみます。衛星データを取得し、解析を行います。Interest:興味領域)で取得したい範囲を選択します。今回は地図上からも石油タンクの形状がわかりやすい東京湾沿岸の一部を指定しました。検索時に必要な衛星データセットを指定します。今回は、前回のモデルで利用したデータに近い高解像度の光学データが欲しいため、ASNARO-1を選択しています。右側にデータが地図上に青くマッピングされる検索をすると、AOIで指定した領域が含まれる衛星データが一覧で表示されます。天気の影響で石油タンクが隠れてしまっている可能性もあるので、データ毎の詳細ボタンで内容を確認し、利用したいデータの詳細ページから、そのデータセットとシーンの情報をメモしておきます。今回は次のデータを利用しました。5b552df4-9ee7-4387-b1a6-f8874dc6ba86)Tellusの開発環境でAPIを利用してデータを取得するTellusで開発環境を申請すると、TellusのAPIから衛星データを取得できるようになります。開発環境はアカウント登録とは別に申込みを行う必要があります。提供まで時間がかかる場合があります。問合せフォームより、お問い合わせください。Tellusマイページ上でAPIのトークン情報も取得しておきます。Useをご確認ください。仕様は次のページで確認することが可能です。API仕様ページ(要ログイン)https://www.tellusxdp.com/docs/travelers/まずは作業で必要になるライブラリを呼び出します。いう座標に紐付いた画像データ等を扱うことのできるライブラリを利用します。続いて、APIで衛星画像ファイルを取得していきます。Traveler上でメモをした、データセットとシーンで利用可能なファイル一覧を取得します。headers=headers)json.loads(response.content)すると、次のようなJSON形式でファイル一覧情報を見ることができます。保存されていて、GDALで中身を読み取ることができます。パンクロマティック(Panchromatic)で白黒の画像を意味しています。パンクロマティック画像の方が画像の分解能が高い(細かいところまで見られる)ので、利用するタスクによって使い分けることが可能です。ファイルを取得するため、APIからファイルのダウンロードURLを取得します。json.loads(response.content)['download_url']続いてダウンロードを行いますが、ファイルサイズが約700MBあり、ダウンロードを安定化させるために、分割してダウンロードします。f.write(chunk)ダウンロードが完了したら、ファイルをGDALで読み込んでいきます。gdal.Open(tif_file_path)今回利用している、ASNARO-1のセンサーは表1の6バンドを搭載しています。NIR(760~860nm)トレーニングデータで利用した光学データと同じになるように、RGBの値(バンド2~4)を抜き取りPNG画像形式に変換していきます。バンド2である、青色の部分だけ取得してデータの中身を確認してみましょう。次のコードで、指定したバンドの画像情報を配列形式で取得できます。以下の値がほとんどなので、確認のためにヒストグラムで最大値まで表示してみます。fontsize=10)ASNARO-1のバンド2(Blue)のヒストグラムこのデータでは400付近に値が集中していることがわかります。続いて、実際にデータを座標でプロットしてみます。ヒストグラムでも確認したように最大値は4,000近くあり、そのままですと全体的に暗い画像になるため、最大値を1,200にして表示します。画像の輪郭が見えてきました。取得したデータの前処理・解析GDALを用いて扱いやすい画像サイズとPNG形式に変換していきます。GDALのTranslate関数を利用することで、一気に画像切り抜きと、PNG形式への変換が可能ですが、渡すパラメータが多いので説明していきます。先程の、座標プロット画像を参考に欲しい地点の座標を決めます。scaleParamsでは、出力の際に利用するデータの範囲を決めることができ、ヒストグラムでも確認した1,200までのデータに絞ります。順番に渡していきたいので、4バンド目(赤)、3バンド目(緑)、2バンド目(青)を順に指定します。保存された画像を確認します。NEC写真の上部分に石油タンクが存在することが確認できたので、この画像を前回の記事で作成したYOLOXの機械学習モデルで解析し、石油タンクの物体検出ができるかを確認します。NEC一部石油タンクが認識されていなかったり、左側で石油タンク以外のものを石油タンクと誤認識したりしていますが、Tellus上のデータでも物体検出を行えるということが確認できました。以上のように、公開されているデータセットやモデルで目的対象の物体検知モデルを作成して、Tellus上で取得したデータを用いて、海外のデータセットだけでなく日本のデータに対しても解析を行えるようになりました。本記事で紹介しているコードはGithubでも公開しています。https://github.com/sorabatake/softwaredesign_2TellusTravelerでほかのデータも取得して同じように検出できるか試して見てはいかがでしょうか。不動産を組み合わせた事業を手掛ける。Regonn&Curry.fmで情報を配信中。衛星データから、石油タンクを検出する解析を行います。今回はデータの前処理とYOLOXを使って学習を行うところまでを紹介します。2022/3/31特定外来生物のデータを使ってヌートリアの出現スポットを探してみるTellusマーケットで公開されている、特定外来生物の発見データと、衛星データを組み合わせて、どのような場所で特定の生物が出没しやすいのか、考察しました。2022/8/5植物の分布から田畑の利用状況を推測する衛星データの利活用方法Tellusでは、利便性(データのCOG化)と検索精度(APIのフォーマット統一)の向上を目指して、データ配信用APIの更新を行いました。それに伴い、今回は新しい配信用APIを利用してAVNIR-2のデータを取得する方法について、田畑の利用状況を推定する例を通してご紹介します。