🐷

Sentinel-1の画像でRVI(SAR版 植生インデックス)を試してみる

2023/04/13に公開

こんにちは Fusic 機械学習チームの石橋です
花粉症だけど、この時期も負けずにオープンカーに乗ってます

機械学習モデルの開発から運用までなんでもしています。もし、機械学習で困っていることがあれば、気軽にお問い合わせください。

個人的に学生の頃に光学衛星画像を扱って植生をモニタリングする等のことは経験があるのですが、最近話題になっているSARを扱ったことは無かったので今回やってみます

何やら調べてみるとSARで植生指数を計算することもできるっぽいので実験してみます

こちらの文献によると
https://www.researchgate.net/publication/267020154_Radar_Vegetation_Index_as_an_Alternative_to_NDVI_for_Monitoring_of_Soyabean_and_Cotton

RVIというものが、sentinel-1で提供されている、vv,vhの画像の組み合わせで計算できそうです。

sentinelで計算するにあたってはこの辺りの資料が参考になりました
https://custom-scripts.sentinel-hub.com/custom-scripts/sentinel-1/radar_vegetation_index_code_dual_polarimetric/supplementary_material.pdf

SARの特徴として、レーダーを使って地表を観測するため夜間や雲が掛かっている天候の時でも観測できることがあげられます。これは、光学衛星画像にはない特徴なため、光学衛星では観測できないタイミングをサポートするなどの用途が期待されています。

データダウンロード

https://scihub.copernicus.eu/

データはopen access hubからダウンロードしてきました。
九州が収まっている画像をダウンロードしておきます

ちなみに画像を見てみるとこんな感じ

VH

VV

RVI計算

sentinel-1はVV, VHの画像しかパッケージに含まれていないので
以下の式で計算します

RVI = (4 * VH) / (VV + VH)

本来であれば、RVIは(8HV)/ (HH + VV + 2HV)の式で導出する値ですが、先述のようにsentinel-1にはVV, VHの画像しかないので、HH, VV は HVと相関があることを利用して近似した式変形の結果を今回は利用しています

結果はこんな感じになりました

ざっと輪郭を眺めてみても、海と陸で値の差が出ていることが分かりますね
特に東海岸のあたりはきれいに境界が見えます

上の方でみた大牟田周辺のあたりをRVIで見てみるとこんな感じ

数値を見てみると、山の方は比較的高い値を示す一方で、平地は比較的小さな値に
興味深いのは海も山ほどではないにしろ、結構高い値を示していること

目安
山 : 1.6
平地 : 1.2
海 : 1.4

まぁ、NDVIみたいに地表にある光学的特性じゃなくて、形状的特性に敏感だろうからある程度は仕方無いのかな?

今度はこの熊本市あたりを見てみましょう
線路が縦に通ってることがわかりますね

SARのキャリブレーション等をまだやっていないので場所がずれ込んでしまっていますが、線路沿いに低い値の縦ラインが見えますね

まとめ

とまあ、こんな感じでRVIを計算してみました
感想としては

  • 植生とそれ以外っぽい区別ができる画像に変換できた
  • 晴れてるならNDVIで見た方がやはり正確
  • 位置のキャリブレーションが必要
  • どの程度信頼できる情報なんだろう?

ということでSARで植生をモニタリングしてみました。
ちょっとどの程度信頼できるかは怪しい気がしますが、見えないよりマシって感じでしょうか

植生をモニタリングするという目的なら普段はNDVIで見て、観測できないときに補助でRVIを使うとかはいいかもしれませんね。

やはり、SARレベルの波長になってくると光学的特性より、表面の形状による特性の方が影響大きいと思うのでなかなかインデックス作成は難しそうですね

Fusic 技術ブログ

Discussion