Inspiration

We were inspired by senior citizens who sometimes experience episodes in which they are disoriented. To deal with these cases senior citizens sometimes carry with them identifying badges or cards with emergency contact information, however these could become a liability as it makes this data easily available to third parties. Thus we wanted to find a way in which people can be reunited with their caregivers without disclosing personal information, while simultaneously allowing caregivers to identify the person being reported before reaching the location. After some research we then decided to focus on people with dissociative amnesia as a starting point.

What it does

The objective is to help people with dissociative amnesia to be reunited with their family/caregivers if they get lost during a dissociative episode, while safeguarding their personal data from strangers. To do this, the program uses facial recognition to identify the user and sends an alert to their emergency contact(s), who will receive the picture, to corroborate the identity of the lost person, and the location of where they were found.

How we built it

The main idea was to develop an app that could identify a lost person given a database with their facial characteristics, name, location, contacts, age and health problems. A good Samaritan will scan the QR code carried by the lost person which will redirect them to the platform and will ask them to take a photo of the lost person's face, which will in turn be sent to a server with an facial recognition algorithm linked to the database and alert to the lost person's emergency contact(s).

The platform can be seen in the following link: ForgetfulBeacon.tech. This web app asks new users for their personal information such as name, contact details, location, email and link with "patient", then these users have to register their relative that suffers of a dissociative disorder on the database (All these users were named as principal users), from now on, each time that could be lost their relative partners will receive an alert of their information and last location.

The database was made at cockroachlabs with a principal table (for the lost relative partners), secondary table (for the users registered), contact table (with the different kinds of contacts that could be made for the users) and disability table (with medical diagnostics for the lost people).

To insert the registers we made use of connect.py that connects to the cockroach data base, converts the images to an array of bytes and sends all the information to the database. The idea here was to connect the web app to this cockroach data base and benefit from the architecture that cockroach could give such as speed, availability and high scalability.

In order to make the facial recognition algorithm, we made use of OpenCV's functions such as videoCapture and CascadeClassifier (as first approach given the time that we have left). Those that are named as faceDetection.py, faceEyeDetection.py, faceSmileDetection.py, faceSmileEyeDetection.py were used as calibration files for the given facial photos. 01_face_dataset.py makes a video of 20 images of the person that will give a yaml file with and make a label for the classification algorithm. 02_face_training.py will train using the images uploaded from the database, and finally 03_face_recognition.py will classify the new photo that a good Samaritan will post to our platform.

Challenges we ran into

  • Technical details such as the connection to our local computer to the cockroach data base with Python, this was due to the Python version, although we could solve the problem we needed to downgrade our Python version to 3.8.
  • Integration with OpenCV with dlib due to lack of lib tools from C, we could solve this problem by updates from Manjaro's packages.
  • Integration of the cockroach data base to the web app made on Wix, this problem couldn't be solved because we needed to pay for this specifi integration.
  • Connection from the web app widgets to the local collector that Wix give us, this problem couldnt be solved due to lack of time.

Accomplishments that we're proud of

  • Team colaboration
  • Make use of new tools without knowing them
  • Project template that could our community

What we learned

We learned how cockroach is better than most of the other DB architectures and how to implement a database that could handle image transformation, more over, we learned how to classify images given a training dataset of people's faces.

What's next for Forgetful Beacon

The next steps are to finish our platform, link the Wix web app to our cockroach database (or if it is the case, build another website that could handle those databases), also we could implement better algorithms that could classify facial pattern with better accuracy.

Share this project:

Updates