An Integrated Approach of Belief Rule Base and Convolutional Neural Network to Monitor Air Quality in Shanghai
Accurate monitoring of air quality can reduce its adverse impact on earth. Ground-level sensors can provide fine particulate matter (PM2.5) concentrations and ground images. But, such sensors have limited spatial coverage and require deployment cost. PM2.5 can be estimated from satellite-retrieved Aerosol Optical Depth (AOD) too. However, AOD is subject to uncertainties associated with its retrieval algorithms and constrain the spatial resolution of estimated PM2.5. AOD is not retrievable under cloudy weather as well. In contrast, satellite images provide continuous spatial coverage with no separate deployment cost. Accuracy of monitoring from such satellite images is hindered due to uncertainties of sensor data of relevant environmental parameters, such as, relative humidity, temperature, wind speed and wind direction . Belief Rule Based Expert System (BRBES) is an efficient algorithm to address these uncertainties. Convolutional Neural Network (CNN) is suitable for image analytics. Hence, we propose a novel model by integrating CNN with BRBES to monitor air quality from satellite images with improved accuracy. We customized CNN and optimized BRBES to increase monitoring accuracy further. An obscure image has been differentiated between polluted air and cloud based on relationship of PM2.5 with relative humidity. Valid environmental data (temperature, wind speed and wind direction) have been adopted to further strengthen the monitoring performance of our proposed model. Three-year observation data (satellite images and environmental parameters) from 2014 to 2016 of Shanghai have been employed to analyze and design our proposed model. Source code and dataset We implement our proposed integrated algorithm with Python 3 and C++ programming language. We process the satellite images with OpenCV library. Keras library functions are used to implement our customized VGG Net. We write python script smallervggnet.py to build this VGG Net. Next, we train and test this network with a dataset of satellite images through train.py script. This dataset consists of 3-year satellite images of Oriental Pearl Tower, Shanghai, China from Planet from January-2014 till December-2016 (Planet Team, 2017). These images are captured by PlanetScope, which is a constellation composed by approximately 120 optical satellites operated by Planet (Planet Team, San Francisco, CA, USA, 2016). Based on the level of PM2.5, this dataset is divided into three classes: HighPM, MediumPM and LowPM. We classify a new satellite image (201612230949.png) with our trained VGG Net by classify.py script. Standard file I/O is used to feed this classification output to the first BRBES (cnn_brb_1.cpp) through a text file (cnn_prediction.txt). In addition to VGG Net classification output, cloud percentage and relative humidity are fed as input to first BRBES. We write cnn_brb_2.cpp to implement second BRBES, which takes the output of first BRBES, temperature and wind speed as its input. Wind direction based recalculation of the output of second BRBES is also performed in this cpp file to compute the final monitoring value of PM2.5. We demonstrate this code architecture through a flow chart in Figure 5 of the manuscript.Source code and dataset of the satellite images are made freely available through the published compute capsule (https://doi.org/10.24433/CO.8230207.v1). Code: MIT license; Data: No Rights Reserved (CC0) The dataset was originally published in DiVA and moved to SND in 2024.
Accurate monitoring of air quality can reduce its adverse impact on earth. Ground-level sensors can provide fine particulate matter (PM2.5) concentrations and ground images. But, such sensors have limited spatial coverage and require deployment cost. PM2.5 can be estimated from satellite-retrieved Aerosol Optical Depth (AOD) too. However, AOD is subject to uncertainties associated with its retrieval algorithms and constrain the spatial resolution of estimated PM2.5. AOD is not retrievable under cloudy weather as well. In contrast, satellite images provide continuous spatial coverage with no separate deployment cost. Accuracy of monitoring from such satellite images is hindered due to uncertainties of sensor data of relevant environmental parameters, such as, relative humidity, temperature, wind speed and wind direction . Belief Rule Based Expert System (BRBES) is an efficient algorithm to address these uncertainties. Convolutional Neural Network (CNN) is suitable for image analytics. Hence, we propose a novel model by integrating CNN with BRBES to monitor air quality from satellite images with improved accuracy. We customized CNN and optimized BRBES to increase monitoring accuracy further. An obscure image has been differentiated between polluted air and cloud based on relationship of PM2.5 with relative humidity. Valid environmental data (temperature, wind speed and wind direction) have been adopted to further strengthen the monitoring performance of our proposed model. Three-year observation data (satellite images and environmental parameters) from 2014 to 2016 of Shanghai have been employed to analyze and design our proposed model. Source code and dataset We implement our proposed integrated algorithm with Python 3 and C++ programming language. We process the satellite images with OpenCV library. Keras library functions are used to implement our customized VGG Net. We write python script smallervggnet.py to build this VGG Net. Next, we train and test this network with a dataset of satellite images through train.py script. This dataset consists of 3-year satellite images of Oriental Pearl Tower, Shanghai, China from Planet from January-2014 till December-2016 (Planet Team, 2017). These images are captured by PlanetScope, which is a constellation composed by approximately 120 optical satellites operated by Planet (Planet Team, San Francisco, CA, USA, 2016). Based on the level of PM2.5, this dataset is divided into three classes: HighPM, MediumPM and LowPM. We classify a new satellite image (201612230949.png) with our trained VGG Net by classify.py script. Standard file I/O is used to feed this classification output to the first BRBES (cnn_brb_1.cpp) through a text file (cnn_prediction.txt). In addition to VGG Net classification output, cloud percentage and relative humidity are fed as input to first BRBES. We write cnn_brb_2.cpp to implement second BRBES, which takes the output of first BRBES, temperature and wind speed as its input. Wind direction based recalculation of the output of second BRBES is also performed in this cpp file to compute the final monitoring value of PM2.5. We demonstrate this code architecture through a flow chart in Figure 5 of the manuscript.Source code and dataset of the satellite images are made freely available through the published compute capsule (https://doi.org/10.24433/CO.8230207.v1). Code: MIT license; Data: No Rights Reserved (CC0) Datasetet har ursprungligen publicerats i DiVA och flyttades över till SND 2024.
Air Quality
Pervasive Mobile Computing
Expert System
Artificial Intelligence
Uncertainty
Nonlinear Model Predictive Control
Convolutional Neural Network
Landing page for the dataset
Landningssida för datasetet
Luleå University of Technology
Luleå tekniska universitet