人脸识别保险箱
【摘要】通过百度智能云下的人脸识别功能对比本地主人图片与摄像头捕获的画面,如果匹配成功则控制继电器打开电磁锁,并语音播报“开锁成功”或者失败提示。【项目背景】每个人都想要属于自己的空间,但是藏在卧室却难免被父母发现,所以我做了一个只属于自己的保险箱https://v.qq.com/x/page/f3048ky9ejc.html【原理分析】拍摄一张主人照片后,存到电脑供对比使用。然后利用红外热释传感器检测前方是否有人经过。如果检测到人则开始拍照识别,和电脑中的主人照片进行对比。如果相似度大于90%则认为是本人,然后开锁,否则重新识别。材料清单
1x罗技C270摄像头 链接
1x12V斜口电磁锁 链接
1x人体红外热释电运动传感器 链接
1x数字继电器模块 链接
1xmicro:bit 编程入门开发板 链接
1xmicro:Mate 扩展板 链接
1x高品质 micro USB数据线 链接
1x12V/1000mA开关电源适配器 链接
【器材连线】人体红外热释电运动传感器接到P8引脚。继电器接到P12引脚。将与12V电源适配器相连的线分别接到继电器的COM和NA引脚,将电磁锁的两根线分别接到NO和NA引脚。连线图如下所示:
接好线如下:
https://developer-forum-online.cdn.bcebos.com/4c21b618-63ea-4b07-be69-70207af70cd1.jpg
【科普时间】继电器实际上是一个电磁铁,因为电磁锁通电后会开锁,所以平时需要断开电源。NO代表电路常开,NC代表电路常闭。因此我们不需要连接NC。
步骤1 引入扩展
切换到实时模式,选择主控板为micro:bit。
选择“扩展”,选择【网络服务】选项下的【AI图像识别】。
选择【功能模块】下的【文字朗读】。
步骤2 更换舞台背景
选择背景库中的“Room 1”作为背景。
步骤3 编写代码
当绿旗被点击的时候捕获摄像头的人脸信息,和电脑中的主人照片进行比对。如果相似度大于90%,则认为是主人本人,开锁。
https://developer-forum-online.cdn.bcebos.com/154a5c81-fce7-4750-83c2-c3581e570d34.png
可是遇到了一个问题,摄像头对着天花板也能开锁。因此对代码进行了修改,只有人脸识别成功以后才进行人脸对比。
https://developer-forum-online.cdn.bcebos.com/d8f97029-641f-4d31-9f43-0a9acf37969a.png
现在效果正常,但是只能拍照识别一次,因此需要加一个循环。
https://developer-forum-online.cdn.bcebos.com/7f68a8ad-c1db-4dc8-9fed-838d4faf2f49.png
现在遇到的问题是,系统一直在捕获摄像头画面,一直在识别。感觉这样有点浪费网络资源,因此添加一个人体运动检测开关。只有检测到人体靠近时才开始拍照识别。
https://developer-forum-online.cdn.bcebos.com/f3567449-896b-4f64-966f-fe36857a6cdd.png
程序基本完美运行。为了获得更良好的用户体验,我们加上了一些语音提示。
https://developer-forum-online.cdn.bcebos.com/6a460ead-03fb-4aea-ac9f-01619651d587.png
这是我们的最终程序。
步骤4 设计外观
找一个合适大小的纸箱子,将电磁锁用M3螺丝固定在箱子开口处。
https://developer-forum-online.cdn.bcebos.com/0c98e524-d47f-41e5-a4d6-d65f717d026f.jpg
https://developer-forum-online.cdn.bcebos.com/2c17ba92-bbd0-4923-89ee-4098878e2614.jpg
将所有元器件和线材都整理放到箱子上面。因为人体红外热释电运动传感器不太好固定,所以更换成了BOSON套件里面的传感器。
https://developer-forum-online.cdn.bcebos.com/e1fdfbae-2858-4647-a9d0-4c33d5a3e1b4.jpg
最后效果图如下:
https://developer-forum-online.cdn.bcebos.com/a2e04ff8-fd85-47f2-a4f8-083f85e68bae.jpg
附件
人脸识别保险箱.sb3
这样帅,这么棒{:6_213:} 创间无限,创造更无限 楼主强大,多谢分享。 不赖的分享
页:
[1]