https://github.com/timudk/smart_doorbell
Find out who is ringing your door bell
https://github.com/timudk/smart_doorbell
Last synced: about 1 month ago
JSON representation
Find out who is ringing your door bell
- Host: GitHub
- URL: https://github.com/timudk/smart_doorbell
- Owner: timudk
- License: mit
- Created: 2018-07-18T21:32:14.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-08-06T21:47:59.000Z (almost 7 years ago)
- Last Synced: 2025-02-14T18:53:16.491Z (3 months ago)
- Language: Python
- Size: 32.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Smart doorbell
Find out who is ringing your door bell and pass on personalized messages to your visitors when you are not at home.## Neural network
The smart doorbell is based on [multilayer perceptron](https://github.com/timudk/smart_doorbell/blob/master/face_model_L2.h5) using the database [Labeled Faces in the Wild](http://vis-www.cs.umass.edu/lfw/). The network is trained by feeding in (**just 8460**) pairs of pictures that are either labeled 1 (same person) or 0 (not same person). The architecture of the neural network is visualized in the following picture.
## Getting started
This application uses [Clarifai's face embedding model](https://clarifai.com/models/face-embedding-image-recognition-model-d02b4508df58432fbb84e800597b8959). You can create a free account [here](https://clarifai.com/developer/) to get an api key.In order to use the smart doorbell you have to create a hidden file (**you never want to share this information**) containting your api key:
```console
foo@bar:~$ echo "your api key" > .clarifai_api_key.txt
```### Prerequisites
The code is based on the following packages that have to be installed in advance:
* NumPy
* OpenCV
* Clarifai
* Tensorflow
* Keras### Running the test
In order to test the application, I have created Anon's frienst list including:
* Angela Merkel
* Angelique Kerber
* Barack Obama
* Cristiano Ronaldo
* Marie Curie
* Messi
* Richard FeynmanYou can now test if the doorbell works by:
```console
foo@bar:~$ python3 doorbell.py
```
* Press *Quit* in the first textbox
* Press *l* and type test_friend_list/friend_list_anon
* A message should pop up saying that the friend list has been loaded
* Show a picture of either of Anon's friends to your webcam and press *c*
* A message for Anon's frined (e.g. **Hello Marie**) should pop up