Not reinventing the (kart)wheel

Time is of the essence when there is undetected bananas about. We will probably spend some time training our algorithm to detect all sorts of potential road impediments, but in order to rush to market and deliver value as early as possible, we instead grab a mushroom and cut some corners. Much like Boo in Mario Party, we can steal other people’s hard work!

We started by forking the Tensorflow repo to make the basis of our app. Tensorflow is an open-source end-to-end platform for machine learning, and a great starting point for our app. We can use it to create models for machine learning. And while speaking of thieving, Tensorflow is also built on other public packages – also a form of stealing.

Speaking of models, why make your own when there are several detection models we can “borrow”

Mwa ha ha! Surprise, Luigi! It’s-a me, King Boo!

King boo – Luigi’s mansion 3

Others have also created several models for mobile use that we can reuse while we try to train our own. MobileNet model is one of these and can be used straight out of the box. These models are in turn also trained on public data that we can “steal” and modify as we please.

We also “borrow” more tangible things. Like non-licensed photos of bananas for training our detection model and map and geo-services for location data.

TL;DR Thieving is good – at least in programming

Yellow alert! Banana detected!

Ever driven down a road, cruising at a stable regular pace, when your car suddenly starts to spin and you lose valuable time going to important places (question mark boxes). Chances are some pesky co-drivers are trying to sabotage your life by throwing banana peel in the road. Mama mia! as Mario himself would have put it.

Mama mia!

Super mario – various games

You are not alone! But fear not, a solution to this coming to your preferred application store. The app will run in the background with your phone mounted in a custom 3d-printed stand easily placed in your car. There will be a live video feed running (the user will not need to look at it for obvious safety reasons) automatically detecting incoming bananas. alerting the driver with a friendy alert urging you to avoid the detected banana peel. Early alert sketch:

Also alerts will be sent to the next of kin, conveying a message that your loved one have been in a banana accident.

System sketch

The project will use a Android app to access camera and GPS functionalities. The app features a Tensorflow model that processes the video feed and labels bananas. Once a banana is detected, multiple events occur. First, the user is alerted through the app by a blinking light and the image of a peeled banana. This helps the user avoid the banana peel. Second, the GPS position is extracted and communicated to Dataverse. Dataverse stores the position of known bananas and they are displayed in a map that is available through Teams. Lastly, multiple alerts are made. In addition to the in-car alert, the system features a next-of-kin alert in case the user hits the banana peel. Moreover, Statens Vegvesen is alerted of the banana position so that it can be cleaned up.