Many of law enforcement's interactions with people with mental illnesses go poorly. While this can be due to a lack of adequate training, many of these situations occur due to a lack of information. If there were a way for police to be able to identify people with mental illnesses, as well as get information on their condition that informs their actions (such as an emergency contact or details on how to have a successful, non-violent interaction) many of these situations could be resolved without injury.

What it does

TakeMeHome provides a web app to allow police to do a data search (or an image search) to retrieve a variety of information on people who may have mental illnesses, including age, home address, emergency contacts, and comments (which can potentially be provided by a licensed mental health professional or family members). The TakeMeHome program is currently in use by hundreds of police departments across the United States. However, the software in use is highly outdated and police officers often have to search through thousands of database entries themselves. Our software offers a much-needed update to the old framework, including the option to search the database with facial recognition. Furthermore, the app is designed so that it can attach to the legacy databases currently in use by police departments, so adaptation of our software will be easy.

How we built it

We used Django and Python for the framework, and HTML/CSS/Javascript (Along with Materialize) to display the search information. The underlying database uses sqlite3, but all data retrieval is routed through Django. To perform the image search, we used tensorflow and a deep facial recognition neural network.

Challenges we ran into

The search function has to be strict enough to exclude results that don't fit the query parameters, but tolerant enough to account for errors in the input (such as incorrect height/weight estimates). In addition, the search has to allow for different parameters to be included in different searches (i.e. a search with just height and weight should be evaluated, and a search with just first and last name should also be evaluated).

We also needed to include a frontend display that had interactive options for many different fields (such as date of birth, first name, last name, height, weight, hair color, eye color, etc.). Some of these fields needed to allow full text entry (such as weight/name) while others needed to force you to choose from only a few options (such as hair/eye color).

Lastly, we needed to include a mechanism to search by image, which required facial recognition technology so that images could be mapped to profiles with likely matches.

Accomplishments that we're proud of

We created a search function that accounts for many different types of potential fields, and allows for a reasonable amount of tolerance both in the number of search terms that you can fail on, and for each individual field. In addition, we created a clear front-end that provides a simple search interface and descriptive results. Lastly, we implemented an image search that allows for a search by image using tensorflow.

What we learned

We learned to integrate Django into our projects, as well as how to divide work among teammates to achieve an overall project that would be impossible to create individually. We learned how to incorporate deep learning into a real-world problem and ensure that apps that use deep learning are easy to use.

What's next for Take Me Home

The search function could be improved by using statistically based tolerances, instead of arbitrary ones. In addition, it is possible to add an additional dimension to this project by integrating AR (augmented reality) into to "frontend" components. By porting the project to AR, we could allow people with access to the database to identify people in the database in real time, just by looking at a person while wearing an augmented reality equipped device.

HackDFW 2019 Floor 3 Section 1 Table G1

Manual Search Demo:

Description as to a five year old

This project helps the police identify people who need help so that they can be taken home.

Description as to a peer

This project uses Django and Materialize to find and display search results of people with potential mental illnesses which take text data or images as arguments.

Description as to a Senior Software Engineer

This project uses Django and Materialze to find and display search results (which take a variety of arguments routed through one master function using arbitrary thresholds) of people with potential mental illnesses.

Built With

Share this project: