Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saketr3/satellite-imagery-poverty-detector
A CNN that recognizes areas of poverty from satellite imagery
https://github.com/saketr3/satellite-imagery-poverty-detector
cnn-model convolutional-neural-network deep-learning
Last synced: about 7 hours ago
JSON representation
A CNN that recognizes areas of poverty from satellite imagery
- Host: GitHub
- URL: https://github.com/saketr3/satellite-imagery-poverty-detector
- Owner: SaketR3
- Created: 2024-08-14T17:56:15.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-15T21:22:13.000Z (3 months ago)
- Last Synced: 2024-08-15T22:59:17.686Z (3 months ago)
- Topics: cnn-model, convolutional-neural-network, deep-learning
- Language: Jupyter Notebook
- Homepage:
- Size: 73.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Satellite Imagery Poverty Detector
Premise
In developing nations, it can be difficult to determine where impoverished areas are, as techniques such as conducting surveys are expensive. Yet, knowing where areas of poverty are is critical for determining which regions humanitarian efforts should be directed to first, and more.
That's where deep learning comes in. ML engineers have trained neural networks in the past that analyze satellite imagery and determine how much wealth the regions in the images have, based on features such as housing, light levels, and more. These neural networks can tell from the images which regions are more likely to be in poverty.
This project is my take on this deep learning application.
Data
After searching through various datasets, I decided to train my model on the WILDS PovertyMap dataset, which consists of a large amount of 224 x 224 satellite images.
Model Architecture and Training
I created a convolutional neural network (CNN) with several convolutional and pooling layers followed by a few dense (fully-connected) layers at the end. The model also included a few batch normalization and drop-out layers.
As for training, I trained the model using a custom training loop, and was able to achieve an RMSE of 0.34.
Tech Stack
I used TensorFlow's Keras API for defining the model, and I used TensorFlow's lower-level API for model training