Inspiration
Recent discovery of a grocery plastic bag in the Mariana Trench, the deepest point on Earth, has cemented ongoing concerns about unmanaged waste and how it affects our ecosystem. Our oceans are littered with trash, affecting marine life. Microplastics, small fragments of plastic, are becoming more apparent everywhere, from the sea floor to the sea ice to even our own bodies. We want to bring awareness to the prevalence of this issue by demonstrating the concentrations of microplastics in the oceans and encourage and assist the community to clean and take care of the environment.
What it does
Maritime is an iOS, Android, and web application that promotes recycling and mitigating waste, specifically in the world's oceans. The mobile app drops you in to a global view of locations where densities of microplastics have been recorded, ranging from 1972 to 2021. When pressed on, information, regarding the location will pop up, including the microplastic density, the depth where it was recorded, and the date. There is a tab at the top of the screen that introduces another view, the local view. This map utilizes the device's location to show the local map with a marker of the exact location. The button labelled "Take picture" in the lower right brings up the phone's camera, and when the user takes a photo, a logistic regression model will be run to predict what type of waste is in the image: cardboard, glass, metal, plastic, paper, or trash.
How we built it
The tech stack of this project is Typescript, React, Tailwind, and Expo for the frontend and Python, Flask, Firebase, and machine learning for the backend. The logistic regression model was developed through diagramming and linear algebraic manipulation.
Challenges we ran into
We greatly struggled with achieving high model performance with our machine learning. The internet contains far more data than we can go through, and none of it is exactly what we needed for our project. The data set we settled on required extensive cleaning to be used. The goal was to build a linear regression model that could predict the future densities of microplastics based on past densities. Ultimately, after many attempts, we determined our dataset was missing too many values and was too inconsistent to yield patterns that our model would pick up on. However, we were able to develop a logistic regression model to classify images as different types of waste. In addition, we had difficulty setting up Expo due to navigation and unfamiliar React Native concepts. This includes having to create a WebView (meaning creating a website) to load in the 3D globe.
Accomplishments that we're proud of
We're incredibly proud of learning and utilizing new technologies and accomplishing a self-guided project. We found and wrangled datasets, determined which features and outputs to find for our model, and built many models on our own. We created a cross-platform application, a website for visualization, and a Python backend that ties everything together. We also have some cute graphics. :D
What we learned
A major learning experience we had was understanding the importance of working cohesively together. There are so many moving parts in a full application, which requires a lot of communication. The user input collected from the frontend needs to go to the backend, and the backend needs to send the required data back to the frontend when asked for. The format of this communication needs to be standard. Moreover, each of us was working on a different component of the project, meaning we each used different languages and technologies and worked in different git branches and repos. Putting it all together was stressful and required a lot of debugging. We have to keep in mind that what we do will affect others.
What's next for Maritime
We look forward to discovering more substantial datasets to train stronger models that will better determine the future density of microplastics in the ocean and the types of trash found. Furthermore, we'd like to create a more interactive app, where users are able to view each other's trash collecting adventures. Users would have to make accounts with authentication logic to ensure legitimacy, and every time a photo is taken, a marker pops up on the local map that reports the type of item found in the image as determined by the model. These anonymous markers would let users know where greater concentrations of trash in the local area are.
Built With
- data-science
- expo.io
- firebase
- image-classification
- jupyter-notebook
- linear-regression
- logistic-regression
- pycharm
- python
- react
- rollup
- sklearn
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.