Inspiration
The flood in Jakarta has been a recurring problem since the 17th century. At that time, most of the area of Jakarta was still in the form of swamps and wild forests, so it was often flooded from the water of several rivers, especially the Ciliwung River, which overflowed during heavy rains1
The Jakarta flood in 1621 was the first flood in the era of VOC rule in the archipelago, precisely during the leadership of Governor-General Jan Pieterszoon Coen. At that time, many houses were made of wood to wash away when the flood-hit Jakarta quickly. The flood in Jakarta is still happening annually, and climate change makes the matter even worse every year.
Why flooding? (In Jakarta)
to address the problem, we need to know precisely why floods happen in Jakarta to address the issue. Some of the ground is as follows:
The geographical location of Jakarta
Most of Jakarta’s area is considered as a lowland area. In fact, the average Jakarta’s surface height is merely 7 meters above sea level. Furthermore, 40% of the city’s area is below the sea surface level.
High rainfall intensity
Jakarta also suffers from high rainfall intensity during the rainy season. The situation worsens due to the climate change that brings the intensity up every year, furthermore, due to the fact that Jakarta is a lowland area. High rainfall intensity in a higher region nearby (Katulampa dam, for example) will also cause a severe flood in Jakarta.
Poor drainage system
As a developing country, Indonesia still implements the open drainage system. Therefore, the waterways are exposed to the public and vulnerable to careless actions of the people.
Poor Public Awareness Towards the Environment
From research data from the Ministry of Health, it is known that only 20 percent2 of the total population of Indonesia cares about hygiene and health. Therefore, poor public awareness is one of the main causes of the annual flood.
Our Solution
We came up with a solution to aid the flood countermeasure in the capital city of Indonesia. Banjeer came up with the resolution of using Computer Vision to monitor the condition of rivers from satellite images. We aim to help various stakeholders, including the government, enterprise owners, and the citizens, in the mitigation, preparation, and response to Jakarta’s annual flood.
Automating the river condition will help the government reduce the capital, time, and human resources spent on the annual flood countermeasure. The web is also equipped with features to foster Jakarta’s citizen awareness of its environment. In the short term, we seek to aid the flood mitigation, preparation, and response better. In the long term, however, we expect to stop Jakarta’s annual flood entirely.
We also hope that we can further improve our product so it can help the response to the flood globally, especially in the developing nations. We realize that floods are a major problem globally, especially for developing nations like Indonesia.
How we built it
Underlying Tech
Machine Learning
We took geospatial data from Maxar open data of select sudden onset major natural disasters as our training dataset for our machine learning model. The images that we took are GeoTIFF images of multiple floods disasters and we process those images and separate them into 1024 x 1024 RGB images to simulate the way that we will process the data for our web.
We manually annotate them as a multi-channel mask for the target dataset, with rough guidelines as follows:
Good (Green)
A bluish color to the river indicates very little mud and sediment.
No trash or human waste is visible.
The riverbanks are populated by trees and are clear of any unnecessary buildings.Mediocre (Yellow)
A slightly off-color to the river indicates trapped mud and sediment.
Some trash or human waste is visible.Critical (Red)
A brownish color to the river indicates very high mud and sediment present.
Many trash or human waste is visible.
Unnecessary buildings densely populate the riverbanks.
The model that we are using is a U-Net with a pre-trained ResNet-50 backbone that serves as the encoder. It will output a 512 x 512 colored mask of the predicted river and its quality. We train our model in the sage maker for 2 hours with the backbone frozen (untrainable) and another 2 hours with the backbone unfrozen (trainable). We also apply some basic transformations to the training data to increase its robustness. In the end, we save the state of both the model and optimizer so that we can continue to further improve the accuracy and robustness with transfer learning as we get more and more data and expand to other regions.
Using our exported trained model, we will preprocess data from satellite images of a chosen area, as we haven’t integrated a MLops system for our web, and layer the predicted mask on top of the original image so that we can display it to our website.
Web
Our main product is our website, where we host both our features and information. We build our website using React JS and Django as back-end.
Map Overlay
The main feature of our product is a map overlay that indicates the condition of the rivers in the selected locations. We divide the condition into three main categories:
- Good (Green)
- Mediocre (Yellow)
- Critical (Red)
We use satellite imaging and feed it into our machine learning model to predict the quality of the river, and we use the prediction to layer over the satellite imagery. We made it as intuitive and straightforward as possible so that no one will have a problem in using the product and understanding the analysis.
My nearest River
We provide a feature to search for the nearest river from the user’s location and provide an analysis of the said river. Banjeer then will give recommendations to improve the conditions and prevent floods in that area. This feature aims to increase their sense of belonging and raise people’s awareness of the conditions of their nearby rivers. By serving the river condition to the surrounding inhabitant, we hope that they also start to take actions to prevent floods in their area such as not throwing their trash into the river, and making a community service to clean their environment.
What's next for Banjeer
We don’t have access to good satellite data of floods to train our model for specific areas, such as in densely populated areas. We plan to collaborate with satellite imaging companies so that we can gain access to better and more images to increase the quality and accuracy of our prediction.
We also haven’t implemented the real-time prediction, as we haven’t implemented a robust MLops system for our website and we haven’t got a way to obtain real-time satellite images. We plan to collaborate with satellite imaging companies to provide real-time imaging of the covered region. In the near future, we plan to integrate the MLops feature to deal with real-time prediction and use Bing Maps API to simplify the way the user experiences our website.
Lastly, we aim to improve our service and prediction by consulting with a hydrologist to provide better annotation and provide better suggestions to improve river conditions around the globe. We also plan to make our service more publicly available by partnering with more government agencies and companies, as well as advertising to regular citizens.

Log in or sign up for Devpost to join the conversation.