[MUSIC PLAYING]
SPEAKER: In order to prevent global warming
from reaching 1.5 degrees, it's estimated that the next 10
years are crucial for us to collaborate across sectors
to remove and prevent carbon pollution, which is also
known as greenhouse gases.
An incredibly interdisciplinary open data project
called Climate TRACE is presently
led by 10 entities, and former Vice President, Al Gore,
and is collaborating with over 50 organizations
to come together and help detect where carbon pollution is
presently coming from by country, and even by industry,
using satellite images and machine learning.
Soon, it will transparently publish
where pollution arises from a particular factory, a coal
plant, an agricultural field, an animal farm, et cetera.
The intention behind creating this global inventory
of emissions is to help policymakers, industry
operators, and even consumers who may unknowingly
be investing in high-polluting organizations,
and take actions quickly to prevent a climate crisis.
Because the energy sector is currently a top focus,
in this episode, we walk through how
to generate a geospatial classification model that
passes the image of a coal power plant
from a satellite called Sentinel-2,
and tells us whether that plant is on or off.
[MUSIC PLAYING]
Thanks to data, today, we can understand our natural world
with far greater richness than ever
before by orders of magnitude.
This now empowers us to build amazing apps that
can help us solve complex social and environmental challenges.
And so in this series, let's build an app together.
Meet Gavin, who is Executive Director at Watttime, which
is a nonprofit that helps the public understand
how clean is the electricity I'm using right now using
technology.
Historically, it's been challenging to measure this.
GAVIN MCCORMICK: The global state of the art
mostly is self-reporting just asking emitters
how much they emit.
And in some cases, having extremely expensive
on-site equipment at individual power plants and factories.
A couple of governments around the world, but very few,
have open power plant monitoring.
And they monitor their heaviest sources of emissions
and divide that data free to the public.
For most sources of emissions around the world,
there is no equivalent system.
And so it wasn't the case that we could just
add up all of the open data and process that
into a global emission system.
We actually needed to go out and create the emissions databases
that we were aggregating to have a sense of global emissions.
SPEAKER: Climate TRACE'S web app and data set
uses publicly available satellite data
from Earth Engine, as well as privately owned data.
And all the compute processing and classifying
of the 59 trillion bytes of data from over 11,000 sensors
that come from hundreds of satellites
is done on Google Cloud by using products such as TensorFlow
and Vertex AI for training and labeling data, BigQuery
and Earth Engine for data analysis, and Kubernetes
Engine for container management, just to name a few.
GAVIN MCCORMICK: Without Google, this project really
would have never happened.
We submitted a grant application for what we thought
was a little bit of a pie in the sky moonshot.
We thought if this worked, it would be amazing.
Google took a really big bet on a project
back when it was just an idea.
They gave us a generous $1.7 million
grant to make the project possible.
And then they doubled-down.
They said, you know what?
We really want this project to succeed.
And we're going to send seven engineers full-time for six
months to help accelerate this team of scientists
to make sure the machine learning
and the data engineering really are successful.
They then further doubled-down to support the coalition
as this project matured, growing from an initial idea
around power plants to the new Climate TRACE
concept of monitoring all GHG emissions.
SPEAKER: I am beyond impressed and very proud by this project,
and send a warm-hearted shout out to all the volunteers
and organizations who have made this idea become reality.
For those of us equally interested in working
with AI and satellite imagery, let's go a bit deeper
on how we could approach this problem.
Let's start with understanding our inputs and outputs.
Our input data comes from Sentinel-2,
which is a satellite owned by the European Space Agency.
Multi-spectral images of the entire planet
are taken every 10 days since 2015.
Every pixel in these images approximately
covers a 10 meter by 10 meter area.
When working with satellite data,
each input image has dimensions of width, height, and bands.
Bands are measurements from specific satellite instruments
for different ranges of the electromagnetic spectrum.
For example, Sentinel-2 contains 13 spectral bands.
If you are familiar with image classification problems,
you can think of the bands similar to images
as red, green, blue, RGB channels.
However, when working with satellite data,
we generally have more than just three bands.
As for outputs, in this example, the output
is a single number between 0-off, and 1-on,
representing the probability of that coal plant being on.
Next, let's move on to building a data set.
Climate TRACE went through the labor
of love of labeling lat-long locations of coal plants
that correspond to Sentinel-2 images, and shared it as a CSV.
Each coal plants location is on or off at different times.
Next, we used Earth Engine to get the band values
for a patch of pixels given their lat-long timestamp
and on or off label from each row of the CSV file.
We basically view the band values as the data,
and the label as the answer.
From this, we randomly split this data
into training and validation data sets
and saved them as TF records in Cloud Storage.
For this case, we split it into 70% training
and 30% validation data sets.
This means the model studies and learns from the training data
sets, while the validation data set is used like an exam
to make sure it's learning to generalize
to data it hasn't seen before.
Next, we use Vertex AI, Google's machine learning platform
to train and validate the model.
We use a convolutional neural network,
which is an ML technique that works well with image data.
It receives a patch of pixels where the power
plant is at its center.
And as a friendly note, each pixel in Sentinel-2s
is approximately 10 meters.
So we decided to use a padding of 16 pixels around the plant.
That means that our 33 by 33 patch is around 330 meters
by 330 meters.
Because of this, our training data
is a consistent patch of 33 by 33 pixels.
And the model returns the probability of the plant being
on.
Once we're happy with our model, it is stored into Cloud Storage
as well.
And in order to use that model to make predictions
of coal plants, we deploy it on Cloud Run,
and make it a predictions service.
And when done, we celebrate with a dance party.
[MUSIC PLAYING]
So what's next?
If you would like to review this process in greater
detail in the description below, I
have included the link to an interactive notebook
with all the code used to build a sample, written by Nikita,
a super passionate peer of mine.
You can also find a blog post and several helpful resources
too.
And community, I'll leave you with a fun
fact from Gavin about the project before we end.
And if you found this content helpful,
you can subscribe or leave a comment on other AI
for good use cases you may have in mind.
Cheers.
GAVIN MCCORMICK: One fun surprise about this project
is, I didn't know how much the satellites that
orbit the Earth today are mostly designed for maps.
So that we can all drive where we need to go,
nearly every satellite has been designed
to land at about 11:00 AM overhead.
Problem is, what if you're trying
to see the emissions of something that
doesn't happen at 11:00 AM?
We've had to call increasingly obscure agencies
around the world of various countries
that happen some time to launch a satellite that's
good at seeing things at night, and we've
gotten to just how many satellites are designed to see
things right before noon.
[MUSIC PLAYING]