4386| 4
|
[《Huskylens趣味AI入门》] 【Mind+Huskylens趣味AI入门】系列课程—03 人脸门禁 |
在日常生活中,你是不是遇到过忘记带钥匙回不了家、或是已经走出家门还要返回确认有没有锁好门的情景?现在无论是人脸扫描进出车站、刷脸支付、校园安全管理、人脸打卡等场景,都离不开人脸识别技术的应用。如果家里的门锁也能通过识别人脸打开,就可以避免丢钥匙或忘记带钥匙时,不能进家门的烦恼了。不仅方便快捷,遇到陌生人还能够发出警报,提高安全性。 那我们就用Huskylens的人脸识别功能来制作一个能认出主人的人脸门禁。 3.1.2任务拆解 Huskylens的人脸识别功能,可以侦测任何脸部轮廓,识别、追踪学习过的人脸。我们在人脸门禁项目中,模拟陌生人和主人刷脸开锁的场景。 首先使用Huskylens学习主人的人脸。当检测到门口有人时,根据识别的结果,区分出已学习和未学习的人脸分别对应主人和陌生人。当识别结果为已学习的人脸时打开门锁,识别到未学习过的人脸判定为陌生人,并给出不同程度的安全提醒。 STEP1: 使用Huskylens的人脸识别功能,学习主人人脸。 STEP2: 添加角色,调整角色的位置和大小,布置场景。 STEP3:实现角色运动的动画效果。 STEP4:鼠标点击切换主人和陌生人脸。 STEP5: 根据Huskylens的识别结果,开门或发出警报。 (目标功能实现效果示意) 3.2项目准备 3.2.1 软件设置 打开Mind+软件,确认软件为“实时模式”。点击“扩展”,在“功能模块”里加载“Huskylens教育版”。点击“返回”到主界面可以看到功能模块添加成功。 3.2.2 硬件连接 用USB线把Huskylens连接到电脑,接着点击扩展功能旁的橙色感叹号,进行连接。连接成功后感叹号会变成绿色对勾(如下图),“返回编辑器”就完成连接啦。 3.3程序思路 在程序中设置身体、人脸和Huskylens三个角色。身体控制人物的运动。人脸跟随身体移动,点击切换主人和陌生人造型。Huskylens负责人脸的检测和对应反馈。 3.4 功能实现 3.4.1 Huskylens人脸识别 (1)功能设置 向左或向右拨动“功能按键”,直至屏幕顶部显示“人脸识别”。 Tip:默认设置为学习并识别单个人脸,“识别多个人脸”将在下节课中学习。 (2)侦测人脸 把HuskyLens对准有人脸的区域,屏幕上会用白色框自动框选出检测到的所有人脸,并分别显示“人脸”字样。若屏幕中央的“+”字没有对准任何人脸框,RGB灯不亮;若屏幕中央的“+”字对准人脸框,RGB灯亮蓝色。 Tip:如需让HuskyLens学习或识别自己的脸,此时看不到屏幕,那么可以根据RGB指示灯的颜色来确定状态。 (3)学习人脸 将HuskyLens屏幕中央的“+”字对准需要学习的人脸,短按“学习按键”完成学习。如果识别到相同的脸,则屏幕上会出现一个蓝色的框并显示”人脸:ID1“。这说明已经可以进行人脸识别了。 但短按“学习按键”仅完成了一个角度的学习,人脸是立体的,有多个角度。HuskyLens内置有持续学习的功能,可以录入人脸的各个角度,让HuskyLens越学越准确。将HuskyLens屏幕中央的“+”字对准需要学习的人脸,长按“学习按键”不松开,此时屏幕中会在人脸上显示黄色框并标识“人脸:ID1”,说明HuskyLens正在学习人脸。 将HuskyLens屏幕中央的黄色框依次对准同一个人的脸的不同角度,如正脸、侧脸(也可以是同一个人的多张照片),录入此人脸的各个角度。学习过程中,RGB灯为黄色。然后,松开“学习按键”,结束学习。如果HuskyLens识别到学习过的人脸,这个人脸会被蓝色的框选中,屏幕显示”人脸:ID1“。 (4)识别人脸 当HuskyLens检测到学习过的人脸时,会将该人脸用蓝色方框框选出来并标识“人脸:ID1”,边框大小会随着人脸大小而变化,并自动追踪人脸。 (5)忘记学过的人脸 如果屏幕中央没有“+”字,说明HuskyLens在该功能下已经学习过了(已学习状态)。如要让HuskyLens学习新的人脸,则需要删除之前学习过的人脸信息,也就是让HuskyLens忘记已学的人脸。 在当前功能下,短按“学习按键”,屏幕提示“再按一次遗忘!”。在倒计时结束前,再次短按“学习按键”,即可删除上次学习的东西。如果不小心短按了“学习按键”,屏幕已经提示“再按一次遗忘!”,但又不想删除已学习的东西,那么在倒计时结束前,不要有任何操作即可。 Tip:HuskyLens忘记所学东西的操作方法,在其他功能下,方法相同,后续不再复述。 “人脸门禁”的课程中,请学习”主人“人脸。 3.4.2 Mind+舞台场景布置 (1)添加背景 打开”背景库“,上传背景文件。 上传好图片后,打开mind+左上角“背景”模块,编辑图片在舞台区的大小及位置。 (2)添加角色 删除默认的mind+角色。打开Mind+右下角“角色库”,从角色库中选择人物角色:艾弗里-行走。 然后点击“上传角色”,打开本地文件夹,上传所需要的主人人脸、Huskylens角色。 在人脸角色里,打开“造型”模块,上传剩余陌生人人脸作为角色造型。转化为矢量图,调整大小和位置。 将角色名修改为“身体”,“人脸”。舞台角色、背景设置效果如下图所示: (3)设置角色初始位置 身体-实现效果:绿旗被点击时,切换舞台背景到大门背景,让人物角色移动到初始位置,设置好运动方向。 人脸-实现效果:绿旗被点击时,换成“主人”造型,人脸跟随身体移动。 点击“移到身体”会发现,人脸和身体是以锚点中心对齐的。 需要在人脸角色内,点击“造型”模块,将人脸往上移动到合适的位置。 这时人脸就可以在正确的位置跟随身体一起移动了。 3.4.3 控制人物运动 实现效果:让角色在舞台上移动,通过切换角色造型让运动更加逼真。设置循环执行次数,控制角色运动到门口的位置。 3.4.4 鼠标点击切换人脸 实现效果:鼠标点击人脸,切换主人和陌生人脸,为人脸识别做准备。 3.4.5 Huskylens人脸识别 实现效果:当人物走到门前,Huskylens开始识别人脸是否学习过。如果是主人,则打开房门。如果是陌生人,则发出提示。若陌生人停留过久,Huskylens拍照保存并警告离开。 这行指令用于判断识别到的画面中是否有方框或箭头(包含已学习和未学习的),有一个及以上则返回1。 先判断镜头前是否有人脸出现,若有人出现,屏幕上出现人脸方框。 从识别到的“结果”中获取当前屏幕中靠近中心的方框信息,没有学习过的框ID为0,没有方框则返回-1。 如果镜头前是未学习过的人脸(ID=0),也就是识别到陌生人时,Huskylens给出提醒,重复提醒多次后,再次进行人脸识别,如果陌生人还在,那么就认为这个陌生人可疑,拍照保存至本地并发出警报。 当Huskylens识别的人脸是已经学习过的人脸,屏幕中人脸ID=1,也就是识别到主人时打开门,此时舞台换成开门背景,说“欢迎回家”。 分别把识别到陌生人和识别到主人的程序放入“是否有人出现”条件下,程序如下图: 点击人脸切换主人或陌生人,看看人脸门禁是否会开门吧!(完整程序见附录) 3.5知识小结 硬件知识:Huskylens的人脸识别功能;拍照保存到本地 编程知识:移动指令控制角色跟随移动;角色切换造型 3.6拓展阅读 3.6.1人脸识别门禁 人脸识技术中广泛采用区域特征分析算法,它融合了计算机图像处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值,通过这个值即可确定是否为同一人。 3.6.2人脸识别门禁安全吗? 人脸门禁有活体检测功能,也就是系统可以识别出摄像头前的人是一个真正的人还是一幅照片,以此杜绝使用者用照片、视频、面具等作假。常用的活体检测有双目摄像头、3D结构光等。图像质量的好坏直接影响到识别的效果,图像质量的检测功能能对即将进行比对的照片进行图像质量评估,并给出相应的建议值来辅助识别。 (部分图片来源于网络,只为课程内容配图,不做商用。如果您发现文章内有侵犯您知识产权的作品,请直接私信我们,我们会及时修改或删除。) 附录1:程序指令 附录2:程序示例 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed