七千二百袋水泥
七千二百袋水泥
Published on 2025-06-07 / 0 Visits

树莓派结合AWS人脸识别技术打造智能家庭安防系统:解锁安全新姿势的完整指南与实操教程

硬件需求清单

  • Raspberry Pi 3 Model B(已通过验证)

  • 兼容Linux操作系统的摄像头模块(支持Windows的摄像头需额外脚本调整)

  • Raspberry Pi官方专用摄像头组件(可作为备选方案)

项目背景介绍

本项目基于AWS Rekognition服务与Pi-Timolo框架,实现树莓派人脸识别功能。通过运动检测触发图像捕捉,并结合云端分析技术,构建高效安防解决方案。

Image

系统功能描述

Pi-detector与Pi-Timolo协同运作,利用AWS Rekognition对运动触发生成的图像进行人脸特征匹配分析。当前版本将识别结果实时记录至事件日志文件,用户可通过简单代码修改扩展功能,例如发送实时通知或实现门禁权限管理。安装脚本自动配置/etc/rc.local启动项,确保系统开机即运行。

基础配置要求

  • Raspberry Pi设备(建议采用3B+或更高版本)

  • Picamera驱动程序(必需组件)

  • AWS Rekognition服务(免费版本每月提供5000次API调用额度)

该系统脚本具备高度可扩展性,可监控任意指定目录的图像文件。例如,若用户通过其他摄像头设备捕获静态图像并存储至本地磁盘,仅需调整图像路径参数即可对新照片执行人脸识别流程。

AWS Rekognition配置指南

在安装前需预先配置AWS服务环境。推荐使用AWS免费层级服务,其每月5000次API调用完全满足项目需求。登录AWS控制台创建新IAM用户,并授予Rekognition全管理权限。

Image

用户组权限视图

Image

复制aws_access_key_id和aws_access_key_secret密钥信息(在IAM用户页面的"安全凭证"选项卡生成新密钥)。首次使用时需执行密钥生成操作,安装脚本将调用这些凭证信息。

https://docs.aws.amazon.com/rekognition/latest/dg/setting-up.html

配置用户权限后,需将服务区域设置为us-east-1(当前支持Rekognition服务的少数区域之一)。区域修改路径:访问EC2或Rekognition服务控制台,定位页面右上角区域切换选项。

Image

系统安装步骤

https://www.raspberrypi.com/software/

使用Raspbian Jessie系统初始化树莓派设备,启用SSH远程连接(或通过显示器直连,默认用户名pi,密码raspberry)。通过nmap扫描定位设备IP地址:

nmap -sn 192.168.1.0/24

执行SSH连接命令(替换实际IP地址):

ssh pi@192.168.1120

克隆项目仓库并执行安装:

git clone https://github.com/af001/pi-detector.git
cd pi-detector/scripts
sudo chmod +x install.sh
sudo ./install.sh

安装过程将提示输入AWS凭证信息,包括密钥ID、访问密钥及区域设置(需与AWS控制台配置保持一致)。区域参数务必设置为us-east-1,示例输出如下:

Image

操作使用指南

首先在AWS Rekognition创建新集合(例如命名为"home"):

cd pi-detector/scripts
python add_collection.py -n 'home'

将人脸图像添加至pi-detector/faces目录(样本数量影响识别精度,建议包含不同光线与角度的照片):

cd pi-detector/faces
python ../scripts/add_image.py -i 'image.jpg' -c 'home' -l 'Tom'

推荐使用专用脚本拍摄10秒延迟自拍照片(自动保存至faces目录):

cd pi-detector/scripts
python take_selfie.py

完成上述步骤后重命名文件并执行添加命令。系统自动生成collections.txt和faces.txt参考文件,便于后续管理操作。设备连接Wi-Fi后部署至监控区域,系统将自动运行并记录日志:

ssh连接后检查event.log目录

删除集合中人脸数据:

cd pi-detector/scripts
python del_faces.py -i '000-000-000-000' -c 'home'

测试静态图像匹配度(显示相似度与置信度):

cd pi-detector/scripts
python facematch.py

删除整个集合:

cd pi-detector/scripts
python del_collections.py -c 'home'

附加示例照片

Image