The idea is to create a doorbell which tells the names of the visitors as they arrive at your doorstep and learns the identity of new guests. The steps involved in this process is as follows -
- This project uses the proximity sensor of PSOC analog coprocessor pioneer kit as a doorbell which sends a signal to a microcontroller (we have used a laptop).
- On receiving the signal a photo is clicked by the attached camera and sent to the server.
- The server runs face recognition on the received image and speaks the name of the visitor identified.
Step 1
Tweak the inductive proximity sensing example by adding a UART block in the components section and configure it as shown
The pin configuration should look as shown
In the code send a signal when the sensor data does below the threshold and turn on the led.
Finally it looks something like this.
Step 2
- Using python serial port access library 'pyserial', the signal sent from the coprocessor is received.
- Browser automation library 'selenium' is used to automatically open the browser. Photo is clicked through the webcam and sent to the server using ajax and javascript.
- The corresponding code can be found here.
Step 3
A python framework 'flask' is used to receive the image sent from the client. Code
The server then uses 'openface' which is a Python implementation of face recognition with deep neural networks to identify the visitor.
Python text to speech api 'pyttsx' is used to call the name if the confidence is above threshold otherwise it asks the visitor to enter his/her name.
Here's a videos showing the working.
Comments