Inspiration

Next-day delivery has revolutionized the way that we consume products. Nearly anything one can think of can be purchased online and delivered to your doorstep quickly and effortlessly. Despite the efficacy of this process, there exists one main issue that has continually frustrated us, leading to our inspiration for this hackathon: packages that need to be paid for at the door. These deliveries are problematic for the sole reason that, if you're not home to pay for the delivery, your package will be brought back to some facility within some extended period of time, shattering the comfort of next-day delivery.

This is where our project comes into play. Using AI, Safedrop can detect deliveries and allow you to make payments no matter where you are in the world. This ensures that your next-day delivery arrives exactly when you expect it to.

What it does

Safedrop uses OpenCV facial recognition to implement a touch-free doorbell that recognize faces at your door while also sending a mobile alert that payment for a package may be required. Once notified, the user can access the Safedrop app to review footage of the identified person at the door, and remotely send any payments that may be required of them.

Additionally, Safedrop operates as an excellent security device as it will recognize faces regardless of whether or not the doorbell has been activated. Should a person with potentially malicious intent be silently present outside of your door, Safedrop can still recognize their face and send you a short clip of the individual, allowing for you to personally review who the person is.

Other remote doorbells tend to use motion recognition to notify users of potential visitors/delivery people. From personal experience, we know that this is unreliable. Motion recognition can be activated by nearly anything, including rain, animals, insects, etc. Remote doorbells that are activated by being pressed are also unreliable, as it is common knowledge that there exists lazy delivery people who won't even bother to press your doorbell.

How we built it

The facial recognition portion of our project was implemented using the OpenCV library for python. OpenCV allowed for us to access pre made cascade classifiers for facial features. This allowed us to save a lot of time as we did not have to create our own model by collecting and training data. Using OpenCV and Python, we had our laptop webcam simulate the view of the wireless doorbell. When a face is detected, approximately 7 seconds worth of footage is saved and sent to the mobile app to be viewed by the user, who is notified that someone is at their door.

Challenges we ran into

One of the biggest challenges we faced was the lack of information. We would have to scour the web to find particular information. The biggest example is when we where trying to save the video feed to send it to our application. The video feed was having problems with the format. It was saved as a .avi file, but the file had some issues. It took us quite some time, some trial and error, and a lot of research to finally fix the issue. Another difficulty we had was the unfamiliarity with the concepts which made us spend a lot of time doing research about those concepts. For example, our member who was in charge of building the api, had never done it before and it took some time to get going.

Accomplishments that we're proud of

We are very proud that we were able to make use of an AI software. We also gained valuable experience in front-end development, and api development. Although not everything worked out perfectly, we are still proud of the effort we put into our project.

What we learned

Prior to this hackathon, we had very little experience with AI and no experience with facial recognition. Through all the challenges we faced and the successes we had, we learnt a lot about these subjects and we are sure to carry them into future projects/our career.

What's next for SafeDrop

We want a future version of SafeDrop to implement AI in a deeper way. Initially, we planned for this version of SafeDrop to be able to detect packages along with faces, allowing it to send a special notification when it thinks it has detected a delivery person. Unlike for facial recognition, however, we could not find a pre-trained model for packages. This meant we had to train the model ourselves, which proved to be beyond our capabilities. We would like a future version to be able to implement this feature along with the ability to detect more objects.

Share this project:

Updates