Inspiration
Often, we are attracted by simplicity and current technology is leading us towards a world of automation. Ever had to wait outside in the freezing cold weather, only to find the car door locked, then waiting for the driver to unlock the doors? Smart Car Unlock provides an easy to-go solution to unlocking car doors without having to pull out your keys - your face is your key! The app also gives the ability to unlock the car remotely.
What it does
Our app, Smart Car Unlock, allows for people's car doors to automatically unlock when a recognized face is near the door. Through the mobile app, you can add new trusted users and remotely unlock the car doors. The app uses the phone camera to detect if user is the set car owner/trusted user, then allows user to unlock/lock the car remotely.
How we built it
By using SmartCar API's, Microsoft Azure Cognitive Services, NGrok, Flask, Python, and AndroidStudio, we were able to break down the projects into 3 main components; python backend server using flask, SmartCar API for connection/control of the car door lock state, and finally the Microsoft Azure Cognitive Services to both recognize human faces, and verify whether someone is a trusted car user. The latter two components were built on AndroidStudio for the sole purpose of demonstrating the viability and application of this design via a mobile app.
Challenges we ran into
We faced many challenges, in each of the main components. When implementing the SmartCar API, we had difficulties setting up a backend server, and incorporating it with android. For the facial recognition/verification component, we had difficulties matching "face-id"s and verifying whether two faces were the same. In addition, sometimes, with bad lighting Azure's face recognition does not work. For the backend server, we had difficulties running it on localhost, so we used NGrok to forward the local port.
Accomplishments that we're proud of
We're extremely proud of our first signs of success - being able to unlock the car remotely with a button on our (in progress, at the time) android app, and recognizing faces in a picture. These successes boosted our morale and carried us through to completing our project.
What we learned
Before this hackathon, some of us have never worked with Java, making an android app or making a back end server. Through this hackathon, we learned about using AndroidStudio, making a backend, and connecting an API (SmartCar) to the backend, in order to run services on another device. One of the things we discovered was how easy it is to implement an API, especially with thorough documentation. The ease of access to implement car related commands/get car information through SmartCar API allows for a great range of developer opportunities without worrying about cross platform compatibility. Microsoft Azure's Cognitive Services allows for easy implementation in processing visual images to detect and match faces.
What's next for Smart Car Unlock
Future developments for the project include implementing it with cameras directly on doors of vehicles, allowing for easy unlock, while still being able to add new recognizable users to automatically unlock the doors, remotely through the mobile app.
Built With
- android-studio
- azure
- flask
- java
- ngrok
- python
- smartcar
Log in or sign up for Devpost to join the conversation.