Satellite Images, Machine Learning and Poverty

The power of AI for social good — a topic not discussed enough

In the developed countries predictive AI is already at work tracking crime, revolutionizing healthcare and transport industries. But if we look at the developing world, we see a whole different magnitude of issues. So many people are still struggling with issues such as poverty, disease, hunger, equality and education, and AI can have a huge impact here.

“Use data to not only make better decisions about what kind of movie we want to see, but also what kind of world we want to see.”

In this post, we will look at two projects that highlight how Machine Learning and Big Data can be a powerful tool in addressing a global issue like eliminating poverty.

  1. A Real Application: Targeting Direct Cash Transfers to the Extremely Poor 
  2. Open Source Project from Recent Research: Stanford Predicting Poverty using Satellite Images


global issues - chart

Part 1 


GiveDirectly is a non-profit that conducts direct cash transfers to extremely low-income families in Kenya and Uganda through mobile payments. The donations are given trusting that the poor know how to best use the donations effectively.

GiveDirectly’s model targets villages with large number of residents in poverty. To assess which villages these are, the organization used to rely upon staff members to individually visit villages in Kenya and Uganda and assess the relative poverty of the inhabitants. This in-person method is costly in both time required to visit each site, and in using donations to help pay wages for inspections that could otherwise be going directly to the poor.

Together with GiveDirectly, Kush and Brian – two researchers volunteering their technical skills for social good – sought a better way to accomplish this task. Let’s see how they developed a data-driven system for locating villages with extreme poverty in Kenya and Uganda.


  • They used type of roofing as indication of poverty level – poorer families live in homes with thatched roof while the ones ‘better off’ have metal roofs.


  • They used Google Maps to extract satellite images of the various villages in the region and deployed an algorithm that used the coloring of the roof to determine whether it was metal or thatched. Doing this across all of the houses in the village could gave an estimate of the level of poverty in that village.
    • They looked at the selection of administrative units with the smallest number of metal roofs as two regression problems:
      • Estimating the total number of roofs in a 400×400 pixel satellite image
      • Estimating the proportion of metal roofs in the same image.
    • With both estimates, they obtained an aggregate proportion of metal roofs for any region by taking a weighted average of estimates from a tiling of image patches from that region.


  • They developed and deployed a crowdsourcing interface to obtain labeled
    training data – their application served a random satellite image to a user and allowed him or her to click on roofs in the image and indicate whether they were
    thatched or metal.crowdsourcing-roofs
  • Aggregating estimates at the village level, allowed them to produce a ranked list from which top villages could be included in GiveDirectly’s planned distribution of cash transfers.
  • (The NGO targets villages with an abundance of low-quality housing and access to a mobile money agent — usually a shopkeeper in the village or nearby town.)


  • The automated approach increased village selection efficiency significantly, and it immediately resulted in two major improvements: reduced staff time and reduced risk of inconsistent results.
  • Kush and Brian’s algorithm allowed GiveDirectly to eliminate 100+ days of manual inspection of each village – the 507 villages that the algorithm assessed would have required 101 person days to complete manually. This represents a cost savings of about US$ 4,000 in wages, which is equal to the value of cash transfers for four households (or twenty individuals).
  • Reducing the person-hours also allowed implementation to move more quickly by completing the assessment in a matter of minutes rather than days.

For all the implementation details, you can read their paper: Targeting Direct Cash Transfers to the Extremely Poor

Part 2

Now let’s look at a different approach. A group of researchers from Stanford have come up with an accurate, inexpensive, and scalable approach that combines Machine Learning with high-resolution satellite imagery to provide new data on socioeconomic indicators of poverty and wealth. They feed images of the Earth during the day and the night to their Machine Learning model to calculate how much households own and consume in five African countries — Nigeria, Tanzania, Uganda, Malawi and Rwanda.


A Machine Learning model needs a large amount of labeled data to train on in order to make accurate predictions about poverty. A major problem in this case is the lack of accurately labeled images showing people that are rich or poor. Stanford researchers have bypassed this issue by using a technique called “Transfer Learning“.

Transfer learning is the idea that you can solve a hard task by first solving an easy task and then applying what you’ve learned:

  • Hard task: predicting poverty from satellite images
  • Easy task: using satellite images in the day to predict how bright an area is at night

First, they train the computer to learn to predict how bright the lights will be at night by looking at satellite images taken during in the day (in general, a brightly lit area means it is powered by electricity and must be better off). Their image recognition system learns to look for things in the daytime images that are correlated with economic development — like roads and farmland, even the size and material roofs are made of, and the distance between villages and cities. The Machine Learning model is able to identify these correlations on its own!

As a second step, their algorithm uses those features from the daytime imagery to predict wealth and consumption at the village level. (The algorithm was made to cross check it’s results with actual survey data in order to improve it’s accuracy.)


The researchers have been able to predict, in a very low cost way, about 50-70 percent in the variation in wealth using just the daytime satellite images — far more accurate than other existing approaches.

Check out a small video on this study.

This is an open-sourced project and the code has been made available on GitHub here for both R and Python. So if you are interested in the subject, try it out!

End Notes

AI provides many commercial gains, and it is important to learn or talk about the latest developments like self-driving cars, AI becoming champ in Go or chess etc. However, it is also important to remember that AI can have a far wider and more beneficial impact. We can only comprehend so much, but with AI solutions on our side, there are so many unrealized insights out there, just waiting to be discovered. Let’s make the World a better place for everyone!





4 thoughts on “Satellite Images, Machine Learning and Poverty

Add yours

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at

Up ↑

%d bloggers like this: