General Introduction
Find My Kids is an open source project hosted on GitHub and created by developer Tomer Klein. It combines DeepFace face recognition technology with the WhatsApp Green API, and is designed to help parents monitor their children's safety through WhatsApp Groups. Users can share images in groups, and the system automatically analyzes the faces in the images, recognizes preset facial features of the child, and sends real-time notifications to designated contacts. Suitable for families who need to keep an eye on their children's safety remotely, this tool is easy to use and powerful. The project is developed in Python, supports Docker deployment, and the code is open, allowing users to freely modify and optimize it.
Function List
- Face Recognition: utilizes DeepFace technology to analyze images in WhatsApp groups to recognize preset child facial features.
- Real-time notifications: Instant messages to parents that their child has been recognized via the WhatsApp Green API.
- Image training: support users to upload photos of their children for training face recognition models.
- Web Interface: Provides an intuitive web UI for users to manage images and retrain models.
- Docker Support: Simplify installation and operation with Docker container deployment.
- Customized Configuration: Allows users to set WhatsApp API credentials and storage paths for flexible adaptation to needs.
Using Help
Installation process
Find My Kids is a Python based project, it is recommended to use Docker for deployment, here are the detailed installation and configuration steps:
- Preparing the environment
- Ensure that Docker and Docker Compose are installed on your system.
- Visit the official WhatsApp Green API website and sign up for an account.
- After registering, create a developer instance (free tier), get the
InstanceId
cap (a poem)Token
The
- cloning project
Run the following command in the terminal to download the project code locally:git clone https://github.com/t0mer/Find-my-kids.git cd Find-my-kids
- Configuring the WhatsApp API
- Create a
.env
file, or directly modify thedocker-compose.yml
environment variables in the file. - Add the following:
GREEN_API_INSTANCE=your_whatsapp_instance_id GREEN_API_TOKEN=your_whatsapp_api_token
- Make sure not to configure a webhook URL as it can interfere with the normal operation of the program.
- Create a
- Preparing for training pictures
- In the project directory, create the
find-my-kids/images/trainer
Folder. - Create a subfolder for each child, for example
Kid1
,Kid2
etc. - Place a clear photo of your child (in jpg format) in the corresponding folder, example structure:
images/ └── trainer/ ├── Kid1/ │ ├── image1.jpg │ ├── image2.jpg ├── Kid2/ │ ├── image1.jpg └── ...
- In the project directory, create the
- Running Projects
- Run it in the project root directory:
docker-compose up -d
- Docker will automatically pull
techblog/find-my-kids:latest
Mirror and start the container. - Project default listener
7020
port, which can be accessed through thehttp://localhost:7020
Access the web interface.
- Run it in the project root directory:
- Verify Installation
- Open your browser and visit
http://localhost:7020
If you want to check whether the web interface is loading correctly, you can do so by clicking on the following link. - Log in to WhatsApp Groups and make sure your account is added to the target group and can receive notifications.
- Open your browser and visit
Usage
The core function of Find My Kids is to monitor your child's safety through facial recognition, here is the detailed procedure:
Configure face recognition models
- Upload training pictures: In the web interface, go to the "Gallery" tab to view the uploaded training images.
- Retraining the model: Click the "re-train" button, the system will be based on the
trainer
The images in the folder are regenerated to generate the face recognition model. - caveat: Ensure that each picture is clear and contains the child's front face, avoiding blurry or poorly lit photos.
Monitor WhatsApp Groups
- Join a group: Make sure your WhatsApp account is added to the target group and the system will automatically monitor the images in the group.
- Image AnalysisWhen someone in the group shares an image, Find My Kids calls DeepFace to analyze the image and match a preset child's face.
- Receive notification: If the child is recognized, the system sends a message to the specified contact via the WhatsApp Green API, containing the recognition result and a timestamp.
Management Notification
- Customized notifications: In the configuration file, you can set the recipients of notifications (WhatsApp numbers) and the message format.
- View History: The Web interface provides recognition logs for users to view the history of matching results.
Web interface operation
- navigator: The Web UI consists of three main tabs: "Gallery", "Settings" and "Logs".
- Gallery: Manage training images and model training.
- Settings: Adjust configurations such as API credentials, storage paths, and so on.
- Logs: View system operating logs for easy troubleshooting.
caveat
- Privacy: Ensure that training images contain only photographs of children and avoid uploading images of unrelated people.
- network requirement: Docker containers require a stable network connection to access the WhatsApp API.
- Model AccuracyThe recognition is dependent on the quality and quantity of the training images, and it is recommended to upload at least 5 photos from different angles for each child.
- legal compliance: Comply with local privacy and data protection regulations when using the face recognition function.
Troubleshooting
- Unable to connect to WhatsApp API: Inspection
GREEN_API_INSTANCE
cap (a poem)GREEN_API_TOKEN
Make sure the WhatsApp account has been authorized with a QR code. - Face Recognition Failure: Make sure the training images are clear, retrain the model and retry.
- Container startup failure: Run
docker logs find-my-kids
Check the error logs for Docker configuration or network issues.
With these steps, users can quickly deploy and use Find My Kids to ensure the safe monitoring of their children. The open source nature of the project also allows developers to add new features as needed, such as supporting additional notification channels or optimizing the recognition algorithm.
application scenario
- Home security monitoring
Parents can deploy Find My Kids on their home servers to monitor photos of their children at school or community events. For example, images shared by school activity groups can be automatically analyzed by the system, so parents can know if their children are present at specific occasions. - Community child protection
Communities can utilize Find My Kids to create a shared surveillance network. Neighbors share neighborhood surveillance photos in WhatsApp groups, which the system recognizes and notifies parents to keep their kids safe in the community. - Used by event organizers
Organizers of summer camps or extracurricular activities can monitor the safety of participants with Find My Kids. When photos are uploaded to the group, the system automatically recognizes the kids and notifies parents, adding transparency to the program.
QA
- Do I need to pay for Find My Kids?
The project is completely open source and the code is free to use. However, you need to sign up for a free developer instance of the WhatsApp Green API, which may involve a small API call fee. - How accurate is facial recognition?
Accuracy depends on the quality and quantity of training pictures. It is recommended to upload 5-10 clear frontal photos for each child to achieve a recognition rate of 90% or more. - Are other notification methods supported?
Currently only WhatsApp notifications are supported. Developers can modify the code to add SMS or email notifications. - How is data privacy protected?
All images and data are stored on a local server and users are responsible for securing the server themselves. Do not upload sensitive data to public groups.