Written reflection is available here
Outline
- Title:Calculating Potential Urban Solar Output Using CNNs for Satellite Image Segmentation
- Who:Alexander Kamper (akamper), Siddhartha Prasad (sprasa13), Nathan Benavides-Luu (nluu1)
- Introduction: What problem are you trying to solve and why?
We are re-implementing a 2019 paper by Zhoajian Hunag and colleagues in which the authors trained an image segmentation model using ImageNet data in order to calculate urban roof area and measure potential solar power production in Wuhan. We chose this paper because the training set is readily available and open-source, meaning our main task is to collect satellite images of Providence to run the model on. The authors’ objective was to use deep learning for image segmentation in order to study urban solar energy potential. This is a segmentation problem.
- Related Work:
We are primarily using the paper titled_Urban solar utilization potential mapping via deep learning technology: A case study of Wuhan, China_(Huang et al, 2019), to guide our project. However, over the course of our research we were inspired by other works in deep learning and sustainable urban design that we came across but decided were less feasible to re-implement. These includeModeling urban evolution using neural networks, fuzzy logic and GIS: The case of the Athens metropolitan area,Artificial neural networks in geospatial analysis_,_andArtificial neural networks and deep learning in urban geography: A systematic review and meta-analysis. The first paper, by George Grekousis and colleagues at the University of Thessaly used a two-layer feed-forward network to predict urban growth. We were initially interested in this paper because it trains the model on spatial data and then uses a geographic information system (GIS) to visualize their model’s predictions. This was an exciting find that aligned perfectly with our interest in applying deep learning to questions of sustainable urban design. However we decided that being nearly a decade old, the paper was far from state of the art and that we’d rather implement something more contemporary. We are still inspired by their use of GIS, and are considering using an open source software like QGIS to visualize our results for our final presentation. Thus far we have not found any public implementations of the Huang et al paper.
Data:
- Inria Aerial Image Labeling Dataset: https://project.inria.fr/aerialimagelabeling/
- How big is it? Will you need to do significant preprocessing? :
- 20 GB zipped. May need some preprocessing, but seems to be cleaned and labeled.
- https://project.inria.fr/aerialimagelabeling/files/
Methodology: What is the architecture of your model?
The architecture of the model is a U-Net, which is a convolutional neural network (CNN) developed for biomedical image segmentation at the Computer Science Department of the University of Freiburg.
How are you training the model?
- Similar to the paper we are basing our project off of, we will train our model using the Aerial Image Labeling Dataset from the National Institute of Information and Automation of France (Inria). This dataset contains 180 high-resolution images from various cities around the world, which is sufficient and accurate enough for our U-Net architecture. Due to the large amount of computing power needed during the training process, we will need large-scale parallel computing. We will use the Google Cloud Platform (GCP) credits to provision a Compute Engine instance with a CUDA compatible GPU to do this.
If you are implementing an existing paper, detail what you think will be the hardest part about implementing the model here.
- We think the hardest part to implement the model would be the U-Net architecture. In class, when we did CNNs, we learned about pooling operations that downsample input images. However, the U-Net architecture replaces these pooling operations with upsampling, which actually increases the resolution of the images.
Metrics:
As an initial experiment, we plan to run our model against similar datasets as used by Huang, comparing our model’s estimation energy capacity to that informed by traditional simulation-based methods.
The error rate between our evaluation and the traditional simulation-based methods will help us calculate an ‘accuracy’ metric and evaluate the quality of our model.
Huang et al were hoping to devise a low cost method to roughly estimate the city-wide solar potential. Our work will recreate and help evaluate this method, hopefully applying to areas outside of the authors’ original intent.
What are your base, target, and stretch goals?
- Base Goal: Recreate the model as described by Huang et al.
- Target: Run inference on Providence’s cityscape using this model.
- Stretch: Compare our predictions for Providence against RI solar potential predictions (ex. as listedhere), visualize results in GIS
Ethics:
What broader societal issues are relevant to your chosen problem space?
- Expanding urban solar production is one strategy for mitigating climate change. Moreover, by replacing fossil fuel power plants which often operate in frontline communities, urban solar power has the potential to remedy issues of environmental injustice and pollution.
Who are the major “stakeholders” in this problem, and what are the consequences of mistakes made by your algorithm?
- The stakeholders here include: residents of Providence, local flora/fauna, local government
- ‘Green Cities’ tend to be determined by top-down decisions, leading to potential harm to resident communities if implemented badly.
- DL is good at being predictive, not prescriptive and there is an inherent danger of applying it in a prescriptive role.
- We should be mindful that we are calculating a_potential_ solar output of a city, not the ideal solar output or how the city should be organized.
Division of labor
We will all play a role in acquiring the training data and the satellite data for Providence which we ultimately aim to run our model on. We will also each contribute to developing the model architecture, training the model, and evaluating its performance, as well as data visualization and preparation for the final presentation. How we distribute leadership on these tasks is outlined as follows:
- Sidd: Model architecture, Training, Performance evaluation
- Alex: Model architecture, Visualizing the results of our model in QGIS, Final presentation preparation
- Nathan: Model architecture, Data acquisition
Built With
- python
- tensorflow
Log in or sign up for Devpost to join the conversation.