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.


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

查看所有标签

猜你喜欢:

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

编程的修炼(中英双语)

编程的修炼(中英双语)

[荷]Edsger W. Dijkstra / 裘宗燕 / 电子工业出版社 / 2013-7 / 79.00元

本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。 本书写于20世纪70年代中后期,但......一起来看看 《编程的修炼(中英双语)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具