First, a video showcasing it all in use!
It all starts with a Raspberry Pi 4 Model B equipped with a camera:
The Rapberry Pi runs a facial recognition script, based on Caroline Dunn’s Raspberry Pi facial recognition repository: https://github.com/carolinedunn/facial_recognition.
The facial recognition algorithm uses the OpenCV (Open Computer Vision) library, and detects front-facing faces using Haar-cascades.
We’ve added a few short lines of code to send the image to Power Automate as a base64 string:
The power Automate flow is simple enough:
When the image is uploaded, another Power Automate flow takes over and notifies all Koopas (app users):
In the app, you can see all the Mario Bro sightings in a gallery list:
From here, Koopas can select a sighted Mario Bro and “handle” him. Once the bro has been dealt with the Koopa will be asked to confirm this with a photo of the defeated bro.
Once the kill is confirmed, the Koopa is awarded with 10 points!
The Koopa can then check their standings in the scoreboard, or on their own profile page:
Last but not least, there’s the Anti Mario Taskforce Training game.
The game works through several Timer controls, that each set the state of a separate group of images. The state is an int, and on the end of the timer, a random int between 0 and the amount of images in the group is selected. The separate images then have a short If condition in the Visible property which is true if their group state number is equal to the images number.
When the user clicks or touches the images, the image changes to have an explosion effect layered on top, a sound effect plays and their score is added to or subtracted from depending on what they hit.
Once the game timer runs out, the players score is stored on their profile information which is located in a Dataverse table so that it can be used throughout the app on the scoreboard and Profile pages!
With TWO killer AI that detects Mario and Luigi, the app make sure no Mario is left undetected. One AI is from a beautiful Rasberry Pi that has the surveillance camera attached to it. The Koopa puts this up around their house or where ever they want to feel safe. This AI will give the Koopa a notification whenever a Mario or Luigi passes by or is creeping.
We are also using power apps AI Builder to detect Mario/Luigi. We have chosen Prosses Image and object detection. Our Object detection model is trained to detect Mario and Luigi based on their beard and hat. Users can take a photo or select one already available in the device, and when an image is loaded, the component automatically scans it to identify Mario/Luigi.
We are also using power apps AI Builder to detect Mario/Luigi. We have chosen Prosses Image and object detection. Our Object detection model is trained to detect Mario and Luigi based on their beard and hat. Users can take a photo and when an image is loaded, the component automatically scans it to identify Mario/Luigi and if a Mario/Luigi is detected it adds a score of 10 to the user.
Still under training!!
Inside the Koopa Kompanion app, we have made a training program, so that Koopas who are a little afraid to kill Marios can practice, or just have a little break and have play a fun little game.
The game includes Marios that suddenly appear, and you have to kill them as fast as possible. Each time you hit a Mario you get points, but if you hit a friendly Koopa troopa, points will be taken from your score. The game also has immersive sound-effects!
You can always see your highscore on the homepage of the game, or on your profile and the scoreboard, so that you can keep up with your work.
Additionally, we would say the app itself is fun to use all around 🙂
Excellent User experience
Us Koopa Troopas haven’t gone to Harvard or Stanford, we are not super clever. Because of this we had to make the app easy to use, with colors that feels like home and we know are friendly. With four easy buttons on the menu bar on the bottom on the screen, the Koopas can easily navigate the app, from “Huntlist”, “Scoreboard”, “Training” and “Profile”.
Each site have titles that look familiar, so that we can feel safe. In addition to this, we have used Mario-based iconography all through the app, so the theme is consistent all the way through!
The Huntlist has a refresh button so that Koopas can always stay up to date with who is leading in kills. When a Koopa have chosen a target, they first have to defeat it, and after that they must confirm the kill using an object detector.
The Scoreboard shows what Koopa is leading in Mario Bros elimination, and also shows each Koopas highscore in the Anti Mario Taskforce Trainer.
On the profile page you can see your own information, like score from kills and highscore in the training game.
Most extreme business value
What is so good about the Koopa Kompanion – a mario detection system, is that it can be used wherever you want, for a lot of different purposes. While we prefer that it is used for it’s original purpose of stopping the Mario Bro terrorist organization, there are many other use cases for our creation!
A couple of examples:
- Its time for a wedding, and you are hoping your stalker Browser don’t show up. You can install the Mario Detection System a few places around the wedding venue. If Bowser decides to ruin the wedding, you will know ahead of time, because you got a notification on your phone or your watch that Browser was detected. You can hire security guards to take him down before he causes a scene.
- Lets say you are a wonderful yet loveless reptilian overlord, on the lookout for the princess of his dreams. By training the Mario Detection System on images of said princess, and attaching MDS-camera modules to your always willing minions, you could get instant notification of the princess’ current location. The object of your desire will no longer be able to hide!
The possibilities are endless! In a real world scenario, there are many uses for a system like this, especially considering the relatively small package the facial detection comes in!
It could be especially useful in security scenarios, especially for security centrals covering large areas/building with over 100 cameras, it could be used to reduce the amount of people needed to keep watch on everything. After all, there’s only so many camera feeds you can cram into one monitor. With our system, you could detect if a camera sees a person, and then only show feeds with people in them. Less time spent watching nothing!