本文将介绍使用AWSRekognition和Pi-Timolo的RaspberryPi的面部识别系统。
描述
Pi-detector与Pi-Timolo一起使用,通过利用AWSRekognition在运动生成的图像中搜索面部匹配。在其当前状态下,匹配项被写入event.log。通过一些额外的改造和工作,你可以利用它发送通知或允许/拒绝其他人访问房间,并且这只需稍微进行修改。安装脚本会将适当的文件放在/etc/rc.loal中以在启动时启动。
构建要求
树莓派(使用Rpi3测试)
Picamera
AWSRekognitionAccess(提供免费套餐选项)
作为替代方案,可以修改这组脚本以查看包含图像的任何目录。例如,如果您从另一台相机收集静止图像并将它们保存到磁盘,您可以更改图像路径以对创建的任何新照片运行面部识别。
AWS识别
在安装之前,最好在AWS上启动并运行。对于我的项目,我使用的是AWS免费套餐服务。使用它可以让您每月进行5000次API调用,这对于这个项目来说已经足够了。登录到您的控制台并创建一个具有Rekognition管理权限的新IAM用户。
用户组的视图
您需要做的是复制您的aws_access_key_id和aws_access_key_secret。要获取此信息,请单击“安全凭证”选项卡(来自上图中的IAM用户页面)。如果这是您的第一次使用,您可能需要生成一个新密钥。启动安装脚本后,系统将询问您此信息。
安装
使用RaspbianJessie设置RaspberryPi
通过SSH连接到您的Raspberrypi(或将其连接到监视器并使用pi作为用户名和raspberry作为密码登录)。不要忘记将下面的IP地址更改为您的pi的IP。如果您需要帮助在网络上查找它,请使用nmap(nmap-sn192.168.1.0/24)
sshpi@192.168.1.120
克隆repo并安装:
在安装过程中,系统将提示您输入之前设置的aws凭据。询问时,输入您的AWS密钥ID、AWS秘密访问密钥,并将区域设置为us-east-1(调整以匹配您之前设置AWSRekognition时选择的区域)。示例输出类似于下图:
入门
首先,您需要在AWSRekognition上创建一个新集合。创建一个“Home”集合,例如:
接下来,将图像添加到pi-detector/faces文件夹。一个人的图像越多,您将获得更好的检测结果。我会在不同的灯光下推荐几个不同的姿势。
之后我发现最好的方法是在相机放置的同一区域拍照,并使用picam。如果你准备这样做,还可以创建一个小的python脚本来拍摄一张延迟10秒的照片,然后将它放入pi-detector/faces文件夹中。要使用它:
完成后,您可以返回并重命名文件并重复上述步骤以将您的图像添加到AWSRekognition。创建新集合或添加新图像后,将创建两个参考文件作为未来参考。如果您计划在将来删除图像或集合,这些将非常有用。
此时,设置已准备就绪。您可以在Rpi上设置Wi-Fi,并将相机放置在您家中的任何位置。插入Rpi后,它应该开始工作,无需用户进行额外工作。要检查您的日志,只需ssh进入Rpi并检查event.log文件夹以获取对您的检测的引用。
要从您的收藏中删除人脸,请使用以下命令:
如果您需要查找图像ID或集合名称,请参考您的faces.txt和collections.txt文件。
要删除集合:
请注意,上述操作也会删除您存储在AWS中的所有面孔。
最后一个脚本是facematch.py。如果您更新了图像并且只想针对您存储在AWS上的人脸测试静态照片,请执行以下操作:
结果会打印到屏幕上,包括相似性和置信度的百分比。
实物照片
全部0条评论
快来发表一下你的评论吧 !