We wanted to create an alternative for the wheelchair bound, the blind, and others with disabilities who have difficulties using traditional "accessibility" methods to use doors.
What it does
This hack uses the OpenCV image processing library to detect when a face is moving towards a camera and then sends a command to a servomotor on the Intel Edison to replicate opening the door.
How we built it
We built the project using the OpenCV image processing libraries in Python. We also used an Intel Edison with a servomotor and servo control board, running Python on Linux Yocto.
Challenges we ran into
We had several difficulties integrating OpenCV with Python and in getting the code to recognize that the face in the image was approaching. In addition, we were unable to use the IoT side of the Intel Edison without registering the device on an account since we checked it out from the Hardware Lab, which prevented us from integrating a few features we would have liked to include (a few of them may still be added in the future).
Accomplishments that we're proud of
As 75% of the team has never attended a hackathon before, we are extremely proud to have been able to get OpenCV integrated into Python in a functional manner. We are also especially proud to have learned to manipulate the servo after so little time working with Python and the Edison hardware.
What we learned
We learned to manipulate servos with Python on an Edison board. We also learned to better use the OpenCV image processing library and how to integrate it into Python.
What's next for OpenSeeDoors
Moving forward, we would like to be able to improve our facial recognition so that the application can be more secure for users and could potentially be implemented for secure access to restricted buildings or homes. We would also like to improve the initial startup time of the program, possibly through storing the generated xml and cascade, as the initial startup/build of the software takes a bit of time. In addition, we would like to connect the hack to the OctoBlue API to potentially integrate text or email notifications of potential improper access attempts.