Mapping 2019–20 Australian bushfires

栏目: IT技术 · 发布时间: 5年前

内容简介:A case study showing how you can use deep learning to monitor the daily progression of fires from satellite imagery in 5 simple stepsIn this story, I show how to use

A case study showing how you can use deep learning to monitor the daily progression of fires from satellite imagery in 5 simple steps

Mapping 2019–20 Australian bushfires

Apr 28 ·5min read

Mapping 2019–20 Australian bushfires

Bushfires on East Coast of Australia. Image from NASA .

T he extreme extent of 2019–20 Australian bushfires made headlines around the world at the beginning of 2020. Extreme events like these are expected to become more frequent in a warming climate . Monitoring the extent of the fires is very important to assess the damage and for a wide range of applications ranging from forest management to fire carbon emission and air pollution . Daily satellite images with resolution up to about 500m per pixel allow monitoring the burned regions. It is however not a simple task as clouds and smoke are often present in the images. As an image-based problem, monitoring the daily progression of burned areas is a well-suited task for the computer vision domain.

In this story, I show how to use BA-Net model (of which I’m one of the authors) to map the fires in Australia, and how you can do the same for virtually anywhere on Earth, with the open-source code and pre-trained models provided in this Github repository as a Python package named banet .

If you are only interested in the results you can jump straight to the “ Visualizing the results ” section, after the 5 steps.

Step 1. Defining the study region

The Region class in banet.geo should be used as follows, where the bbox argument receives a list with the left, bottom, right and top boundaries of the region. The pixel_size should be kept as 0.01º (about 1 km) to be close to the resolution of the satellite data that will be used here.

r = Region(name='Australia', bbox=[146, -39, 154, -26], pixel_size=0.01)
r.export('data/regions/R_Australia.json')

Step 2. Download VIIRS Active Fires data

Mapping 2019–20 Australian bushfires

Scatter plot of active Fires in the study region. Image created by the author.

VIIRS Active Fires is a product that provides near-real-time estimations of the radiative power of fires that are active during the satellite passage. These polar orbit satellites view most of the points on Earth twice a day. The data can be downloaded from this page : following “Create New Request”; selecting the region; selecting “VIIRS S-NPP”; selecting the time-range starting one month before and ending one month after the study period (or at least 15 days). As for the file format, it should be selected CSV. After submitting the request it should be processed shortly. Data can then be downloaded and saved as “hotspots{name}.csv”, using the “name” defined in Step 1.

Plotting all the active fire events results in the figure above where colours represent the day of burning starting the count at Jan 1st, 2019.

Step 3.Downloading VIIRS image data

The following bash code makes use of the banet command-line utility to download the data from Nasa Earth Data .

#!/bin/bash -l 
region="Australia"
tstart="2019-08-01 00:00:00"
tend="2020-02-17 23:59:59"
path_save="/data/Australia/rawdata"
regions_path="/data/regions"

banet_viirs750_download $region "$tstart" "$tend" $path_save $regions_path

The region variable needs to be set to the name defined in Step 1 and the regions_path to the respective directory where the JSON file was saved.

Step 4. Data preprocessing

For this step, another utility function is provided in banet package. The procedure consists on reading the raw data (in HDF format) as downloaded in Step 3, and saving a MAT file for each day with:

  • Red, near-infrared (NIR) and middle infrared (MIR) reflectances;
  • Gridded active fire data.
#!/bin/bash -l
region="Australia"
viirs_path="/data/Australia/rawdata"
save_path="/data/Australia/dataset"
fires_path="/data/ActiveFires"
regions_path="/data/regions"

banet_create_dataset $region $viirs_path $fires_path $save_path $regions_path

Notice that fires_path should be set to the directory in which the CSV file obtained in Step 2 was saved.

Step 5. Use BA-Net to generate burned area maps

Once again, banet package provides a utility command line function to process this step. This procedure consists in loading 64-day sequences and cropping the large images into 128x128 tiles, feed each to the model and merge back the tiles to get the results for the entire image.

#!/bin/bash -l
region="Australia"
tstart="2019-08-01 00:00:00"
tend="2020-02-17 23:59:59"
input_path="/data/Australia/dataset"
output_path="/data/Australia/output"
regions_path="/data/regions"

banet_predict_times $region "$tstart" "$tend" $input_path $output_path $regions_path

Notice that the input_path should correspond to the save_path of Step 4 — the directory where the dataset is stored.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码里的世界观——通往架构师之路

代码里的世界观——通往架构师之路

余叶 / 人民邮电出版社 / 2018-11 / 59.00元

本书分为两大部分,第一部分讲述程序员在编写程序和组织代码时遇到的很多通用概念和共同问题,比如程序里的基本元素,如何面向对象,如何面向抽象编程,什么是耦合,如何进行单元测试等。第二部分讲述程序员在编写代码时都会遇到的思考和选择,比如程序员的两种工作模式,如何坚持技术成长,程序员的组织生产方法,程序员的职业生涯规划等。一起来看看 《代码里的世界观——通往架构师之路》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具