AI个人学习
和实操指南
TRAE

Find My Kids:通过人脸识别和WhatsApp通知的儿童安全监控工具

综合介绍

Find My Kids 是一个开源项目,托管在 GitHub 上,由开发者 Tomer Klein 创建。它结合了 DeepFace 人脸识别技术和 WhatsApp Green API,旨在帮助家长通过 WhatsApp 群组监控孩子的安全。用户可以在群组中分享图片,系统会自动分析图片中的人脸,识别预设的孩子面部特征,并向指定联系人发送实时通知。这款工具适合需要远程关注孩子安全的家庭,操作简单且功能强大。项目使用 Python 开发,支持 Docker 部署,代码开放,允许用户自由修改和优化。

Find My Kids:通过人脸识别和WhatsApp通知的儿童安全监控工具-1


 

功能列表

  • 人脸识别:利用 DeepFace 技术,分析 WhatsApp 群组中的图片,识别预设的孩子面部特征。
  • 实时通知:通过 WhatsApp Green API,向家长发送孩子被识别到的即时消息。
  • 图片训练:支持用户上传孩子的照片,用于训练人脸识别模型。
  • Web 界面:提供直观的 Web UI,方便用户管理图片和重新训练模型。
  • Docker 支持:通过 Docker 容器部署,简化安装和运行流程。
  • 自定义配置:允许用户设置 WhatsApp API 凭证和存储路径,灵活适配需求。

 

使用帮助

安装流程

Find My Kids 是一个基于 Python 的项目,推荐使用 Docker 进行部署,以下是详细的安装和配置步骤:

  1. 准备环境
    • 确保系统已安装 Docker 和 Docker Compose。
    • 访问 WhatsApp Green API 官网,注册一个账户。
    • 注册后,创建开发者实例(免费层级),获取 InstanceId 和 Token
  2. 克隆项目
    在终端运行以下命令,将项目代码下载到本地:

    git clone https://github.com/t0mer/Find-my-kids.git
    cd Find-my-kids
  1. 配置 WhatsApp API
    • 创建一个 .env 文件,或直接修改 docker-compose.yml 文件中的环境变量。
    • 添加以下内容:
      GREEN_API_INSTANCE=your_whatsapp_instance_id
      GREEN_API_TOKEN=your_whatsapp_api_token
      
    • 确保不要配置 webhook URL,因为它会干扰程序的正常运行。
  2. 准备训练图片
    • 在项目目录下,创建 find-my-kids/images/trainer 文件夹。
    • 为每个孩子创建一个子文件夹,例如 Kid1Kid2 等。
    • 将孩子的清晰照片(jpg 格式)放入对应文件夹,示例结构:
      images/
      └── trainer/
      ├── Kid1/
      │   ├── image1.jpg
      │   ├── image2.jpg
      ├── Kid2/
      │   ├── image1.jpg
      └── ...
      
  3. 运行项目
    • 在项目根目录运行:
      docker-compose up -d
      
    • Docker 将自动拉取 techblog/find-my-kids:latest 镜像并启动容器。
    • 项目默认监听 7020 端口,可通过 http://localhost:7020 访问 Web 界面。
  4. 验证安装
    • 打开浏览器,访问 http://localhost:7020,检查 Web 界面是否正常加载。
    • 登录 WhatsApp 群组,确保你的账户已加入目标群组,并能接收通知。

使用方法

Find My Kids 的核心功能是通过人脸识别监控孩子的安全,以下是详细的操作流程:

配置人脸识别模型

  • 上传训练图片:在 Web 界面中,进入“Gallery”选项卡,查看已上传的训练图片。
  • 重新训练模型:点击“re-train”按钮,系统会根据 trainer 文件夹中的图片重新生成人脸识别模型。
  • 注意事项:确保每张图片清晰,包含孩子的正面人脸,避免模糊或光线不足的照片。

监控 WhatsApp 群组

  • 加入群组:确保你的 WhatsApp 账户已加入目标群组,系统会自动监控群组中的图片。
  • 图片分析:当群组中有人分享图片,Find My Kids 会调用 DeepFace 分析图片,匹配预设的孩子人脸。
  • 接收通知:如果识别到孩子,系统通过 WhatsApp Green API 向指定联系人发送消息,包含识别结果和时间戳。

管理通知

  • 自定义通知:在配置文件中,可以设置通知的接收人(WhatsApp 号码)和消息格式。
  • 查看历史:Web 界面提供识别记录,方便用户查看历史匹配结果。

Web 界面操作

  • 导航:Web UI 包含“Gallery”、“Settings”和“Logs”三个主要选项卡。
  • Gallery:管理训练图片和模型训练。
  • Settings:调整 API 凭证、存储路径等配置。
  • Logs:查看系统运行日志,便于排查问题。

注意事项

  • 隐私保护:确保训练图片仅包含孩子的照片,避免上传无关人员图像。
  • 网络要求:Docker 容器需要稳定的网络连接,以访问 WhatsApp API。
  • 模型精度:识别效果依赖于训练图片的质量和数量,建议为每个孩子上传至少 5 张不同角度的照片。
  • 法律合规:使用人脸识别功能时,遵守当地隐私和数据保护法规。

常见问题排查

  • 无法连接 WhatsApp API:检查 GREEN_API_INSTANCE 和 GREEN_API_TOKEN 是否正确,确认 WhatsApp 账户已通过 QR 码授权。
  • 人脸识别失败:确保训练图片清晰,重新训练模型后重试。
  • 容器启动失败:运行 docker logs find-my-kids 查看错误日志,检查 Docker 配置或网络问题。

通过以上步骤,用户可以快速部署和使用 Find My Kids,确保孩子的安全监控。项目的开源性质也允许开发者根据需求添加新功能,例如支持更多通知渠道或优化识别算法。

 

应用场景

  1. 家庭安全监控
    家长可以将 Find My Kids 部署在家中服务器上,监控孩子在学校或社区活动中的照片。例如,学校活动群组分享的图片可以被系统自动分析,家长能及时知道孩子是否出现在特定场合。
  2. 社区儿童保护
    社区可以利用 Find My Kids 建立共享监控网络。邻居在 WhatsApp 群组中分享街区监控照片,系统识别后通知家长,确保孩子在社区内的安全。
  3. 活动组织者使用
    夏令营或课外活动组织者可以用 Find My Kids 监控参与者的安全。活动照片上传到群组后,系统自动识别孩子并通知家长,增加活动透明度。

 

QA

  1. Find My Kids 是否需要付费?
    项目完全开源,代码免费使用。但需要注册 WhatsApp Green API 的免费开发者实例,可能涉及少量 API 调用费用。
  2. 人脸识别的准确性如何?
    准确性取决于训练图片的质量和数量。建议为每个孩子上传 5-10 张清晰的正面照片,识别率可达 90% 以上。
  3. 支持其他通知方式吗?
    当前仅支持 WhatsApp 通知。开发者可修改代码,添加短信或电子邮件通知。
  4. 如何保护数据隐私?
    所有图片和数据存储在本地服务器,用户需自行确保服务器安全。不要将敏感数据上传到公共群组。
未经允许不得转载:首席AI分享圈 » Find My Kids:通过人脸识别和WhatsApp通知的儿童安全监控工具
zh_CN简体中文