人脸识别保险箱

2020-01-081.7万
AI 快速预览详细 收起
本文介绍了如何使用micro:bit开发板和百度智能云的人脸识别功能制作一个人脸识别保险箱。项目包括拍摄主人照片、利用红外热释电传感器检测人体、拍照识别并对比相似度,最终控制继电器打开电磁锁。文中详细列出了所需材料清单和连线图,并提供了完整的代码示例。通过这个项目,孩子们可以学习到人脸识别技术的基本原理和应用,同时也能激发他们的编程兴趣。
【摘要】
通过百度智能云下的人脸识别功能对比本地主人图片与摄像头捕获的画面,如果匹配成功则控制继电器打开电磁锁,并语音播报“开锁成功”或者失败提示。
【项目背景】
每个人都想要属于自己的空间,但是藏在卧室却难免被父母发现,所以我做了一个只属于自己的保险箱
【原理分析】
拍摄一张主人照片后,存到电脑供对比使用。然后利用红外热释传感器检测前方是否有人经过。如果检测到人则开始拍照识别,和电脑中的主人照片进行对比。如果相似度大于90%则认为是本人,然后开锁,否则重新识别。


人脸识别保险箱图1


材料清单
1x  罗技C270摄像头   链接
1x  12V斜口电磁锁   链接
1x  人体红外热释电运动传感器   链接
1x  数字继电器模块   链接
1x  micro:bit 编程入门开发板   链接
1x  micro:Mate 扩展板   链接
1x  高品质 micro USB数据线   链接
1x  12V/1000mA开关电源适配器   链接

【器材连线】
人体红外热释电运动传感器接到P8引脚。继电器接到P12引脚。将与12V电源适配器相连的线分别接到继电器的COM和NA引脚,将电磁锁的两根线分别接到NO和NA引脚。连线图如下所示:


人脸识别保险箱图2


接好线如下:





【科普时间】
继电器实际上是一个电磁铁,因为电磁锁通电后会开锁,所以平时需要断开电源。NO代表电路常开,NC代表电路常闭。因此我们不需要连接NC。


人脸识别保险箱图3


步骤1 引入扩展

切换到实时模式,选择主控板为micro:bit。


人脸识别保险箱图4

选择“扩展”,选择【网络服务】选项下的【AI图像识别】。

人脸识别保险箱图5

选择【功能模块】下的【文字朗读】。

人脸识别保险箱图6

步骤2 更换舞台背景

选择背景库中的“Room 1”作为背景。

人脸识别保险箱图7


步骤3 编写代码

当绿旗被点击的时候捕获摄像头的人脸信息,和电脑中的主人照片进行比对。如果相似度大于90%,则认为是主人本人,开锁。





可是遇到了一个问题,摄像头对着天花板也能开锁。因此对代码进行了修改,只有人脸识别成功以后才进行人脸对比。





现在效果正常,但是只能拍照识别一次,因此需要加一个循环。





现在遇到的问题是,系统一直在捕获摄像头画面,一直在识别。感觉这样有点浪费网络资源,因此添加一个人体运动检测开关。只有检测到人体靠近时才开始拍照识别。





程序基本完美运行。为了获得更良好的用户体验,我们加上了一些语音提示。





这是我们的最终程序。


步骤4 设计外观

找一个合适大小的纸箱子,将电磁锁用M3螺丝固定在箱子开口处。








将所有元器件和线材都整理放到箱子上面。因为人体红外热释电运动传感器不太好固定,所以更换成了BOSON套件里面的传感器。





最后效果图如下:





附件
人脸识别保险箱.sb3

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
gada888
gada888
不赖的分享
kylinpoet
kylinpoet
楼主强大,多谢分享。
DFrJ5KYVQaH
DFrJ5KYVQaH
创间无限,创造更无限
rzyzzxw
rzyzzxw
这样帅,这么棒
- 没有更多了 -