0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LattePanda AI-人脸识别门禁系统

DFRobot 2021-07-26 10:42 次阅读

概述

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别。

174329evr2fffdvkcvrnn9.png


本项目中我们将实现摄像头人脸识别效果,包含人名标签和识别框,并结合灯带的亮灯状态制作人脸识别门禁系统。
(最终效果视频)

项目基础

人脸识别

硬件准备:

AI主控:LattePanda
输入输出设备:5英寸显示屏、键盘、鼠标、摄像头

人脸信息录入:

1、双击桌面上的“startpage.sh”,打开JupyterLab,切换到“home/lattepanda/桌面/LattePanda&AI项目实战/”目录下,如下图,检查一下项目必需的3个文件;

174329w8l9r4a8fnfs48n0.png


2、双击进入“图片拍摄”文件夹;

174329muvwoy082vm8yvyv.png


3、双击打开程序,修改拍摄的照片数量,例如for index in range(3);

174328giedl0iznsdxszkx.png

样例代码:

174328txyz1ar4h5hyiur5.png


4、选择无其他人、无杂物的背景,正眼看着摄像头,然后运行程序,拍摄的图片会在程序同目录下依次出现;

174328lsoyyn5nt632ygnk.png


5、双击图片查看拍摄效果;

6、选择效果最好的一张,重命名为此人的姓名;

174328fbqhb60bsbo9b1hb.png


7、将照片复制到“LattePanda&AI-人脸识别门禁系统”文件夹下。

174328kzwajrmwrqc5iucu.png

程序编写:

1、双击打开“人脸识别.ipynb”;

174328uos5154s3z1koosw.png


样例代码:

174328e36xavzzlji8z558.png174328elkkt0dkdaldk65m.png

复制代码 隐藏代码

  1. #导入人脸识别模块
  2. from faceRecognition import *
  3. #人脸检测与识别文件调用
  4. faceDetectorPath = "face-detection-retail-0005.xml"
  5. landmarksPath = "landmarks-regression-retail-0009.xml"
  6. faceReidentificationPath = "face-reidentification-retail-0095.xml"
  7. #调用训练模型文件
  8. model = Model()
  9. model.load(faceDetectorPath = faceDetectorPath,
  10. landmarksPath = landmarksPath,
  11. faceReidentificationPath = faceReidentificationPath)
  12. #初始化摄像头与窗口
  13. camera = Camera()
  14. screen = Screen("人脸识别门禁系统", (0,0,0))
  15. #打开手写数字交互窗口,按下“Q”键退出窗口
  16. if_run = 1
  17. while (if_run == 1):
  18. #从摄像头获取图片
  19. image = camera.read(flip = False)
  20. #图片剪裁
  21. image = model.clipResizeFrame(image)
  22. screen.clear()
  23. #获取人脸识别结果并在屏幕上显示识别标签
  24. results = model.predict(image)
  25. screen.putImage(image, 80, 0, 640, 480)
  26. for roi, landmarks, identity in zip(*results):
  27. x, y = roi.position
  28. w, h = roi.size
  29. screen.putTag(identity, x+80, y, w, h, bg=(0,255,0))
  30. #打开与显示交互窗口,如果按下Q键,将无法进入下一次while循环
  31. if screen.show():
  32. if_run = 0
  33. screen.quit()

复制代码

2、运行程序,当执行到最后一个单元格时,会打开交互窗口。
未识别到人脸:

174328k5k1s6j157ju5jy3.png


检测到未知人脸:

174328jg5o3otbrgglkbrr.png


识别到已知人脸,并显示此人姓名:

174328lb5b99hecn2ewiet.png


3、按键盘上的“Q”键可退出交互窗口。

项目进阶

人脸识别门禁系统

如果让人脸作为门禁系统的钥匙,会使我们的生活更方便快捷。当识别到主人的人脸时,灯带亮绿灯,表示准许进入;否则显示红灯。

硬件准备:

主控:Arduino UNO、IO 传感器扩展板 V7.1
模块:WS2812 RGB 全彩灯带

硬件连接图:

174328ekkku9vk66gff6kk.png


*WS2812上有7个RGB灯,程序中的np[0]表示第一个灯,程序中的np[1]表示第二个灯。

程序编写:

双击打开“人脸识别_灯带.ipynb”;

174328fx66lk84hd6ppkco.png


样例代码:

174328wh60rfr0fpdjp7g0.png174328b1tq15t1g1rgg1s3.png174327jtzr188qbblr0te0.png

复制代码 隐藏代码

  1. #导入人脸识别模块
  2. from faceRecognition import *
  3. import time
  4. from pinpong.board import Board,Pin,NeoPixel
  5. NEOPIXEL_PIN = Pin.D7
  6. PIXELS_NUM = 1 #灯数,如果需要多个灯亮,请改此数值
  7. #初始化,选择板型和端口
  8. Board("uno", "/dev/ttyUSB0").begin()
  9. np = NeoPixel(Pin(NEOPIXEL_PIN), PIXELS_NUM) #np[0]表示第一个灯,np[1]表示第二个灯,以此类推
  10. #人脸检测与识别文件调用
  11. faceDetectorPath = "face-detection-retail-0005.xml"
  12. landmarksPath = "landmarks-regression-retail-0009.xml"
  13. faceReidentificationPath = "face-reidentification-retail-0095.xml"
  14. #调用训练模型文件
  15. model = Model()
  16. model.load(faceDetectorPath = faceDetectorPath,
  17. landmarksPath = landmarksPath,
  18. faceReidentificationPath = faceReidentificationPath)
  19. #初始化摄像头与窗口
  20. camera = Camera()
  21. screen = Screen("人脸识别门禁系统", (0,0,0))
  22. #打开手写数字交互窗口,按下“Q”键退出窗口
  23. if_run = 1
  24. led = 0
  25. count = 0
  26. while (if_run == 1):
  27. #从摄像头获取图片
  28. image = camera.read(flip = False)
  29. #图片剪裁
  30. image = model.clipResizeFrame(image)
  31. screen.clear()
  32. #获取人脸识别结果并在屏幕上显示识别标签
  33. results = model.predict(image)
  34. screen.putImage(image, 80, 0, 640, 480)
  35. for roi, landmarks, identity in zip(*results):
  36. x, y = roi.position
  37. w, h = roi.size
  38. screen.putTag(identity, x+80, y, w, h, bg=(0,255,0))
  39. #count>30,修改30可调节切换灯颜色的速度
  40. if identity != "未知人脸" and count>30:
  41. np[0] = (0, 255 ,0) #设置第一个灯亮绿色
  42. #np[1] = (0, 255 ,0) #设置第二个灯亮绿色
  43. count = 0
  44. elif identity == "未知人脸" and count>30:
  45. np[0] = (255, 0 ,0) #设置第一个灯亮红色
  46. #np[1] = (255, 0 ,0) #设置第二个灯亮红色
  47. count = 0
  48. count+=1
  49. #打开与显示交互窗口,如果按下Q键,将无法进入下一次while循环
  50. if screen.show():
  51. if_run = 0
  52. screen.quit()

复制代码

运行效果:

当识别到已知人脸时,灯带的第一个灯亮绿色;

174327ww3bezjijwe6ury2.png


当屏幕中没有人脸或者是未知人脸时,灯带的第一个灯亮红色。

174327z09blznt4prj4gzb.png

本文转载至:DF创客社区

原文链接:https://mc.dfrobot.com.cn/thread-306871-1-1.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    60

    文章

    9314

    浏览量

    168329
  • 操作系统
    +关注

    关注

    37

    文章

    6204

    浏览量

    121727
  • 开发板
    +关注

    关注

    25

    文章

    4370

    浏览量

    93453
  • Win10
    +关注

    关注

    1

    文章

    709

    浏览量

    39419
收藏 人收藏

    评论

    相关推荐

    小区无感人脸识别门禁摄像机,多人同时识别通过 #人脸识别 #智能摄像机

    AI人脸识别
    jf_07511428
    发布于 :2024年03月06日 22:53:18

    公司人脸识别考勤门禁摄像机#人脸识别#智能摄像机

    AI人脸识别
    jf_07511428
    发布于 :2024年03月06日 22:52:08

    什么是人脸识别门禁系统,它能用来做什么?

    智能门禁建设在近些年已形成主流,不少出入卡口或单元门都在不同程度地进行门禁信息化建设优化,比如把人脸识别门禁
    的头像 发表于 11-06 15:21 1156次阅读
    什么是<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b><b class='flag-5'>系统</b>,它能用来做什么?

    如何升级为人脸识别门禁人脸识别门禁机助力智能化管理

    人脸识别门禁机作为智能技术的重要应用之一,正在逐渐取代传统门禁系统,实现了随时随地刷脸出入与智能化管理。如今,
    的头像 发表于 07-31 16:40 676次阅读
    如何升级为<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>?<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>机助力智能化管理

    智能门禁的新秀——人脸识别门禁

    在当今数字化时代,人脸识别技术对智慧城市建设、物联网发展、数字经济社会发展和我们的生产生活等的影响和改变越来越大,而作为智能门禁的新秀——人脸识别
    的头像 发表于 07-14 16:27 979次阅读
    智能<b class='flag-5'>门禁</b>的新秀——<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>

    人脸识别防静电门禁的原理和特点

    人脸识别防静电门禁是一种利用人脸识别技术和静电门禁系统
    的头像 发表于 07-13 09:49 416次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>防静电<b class='flag-5'>门禁</b>的原理和特点

    智慧门禁系统升级,离不开人脸识别门禁终端的加持

    系统主要采用密码或刷卡模式来实现身份验证,这些方式经常存在门禁密码泄露,或门禁卡被复制的情况,安全漏洞不容小觑。伴随着人脸识别技术的快速发展
    的头像 发表于 07-07 14:52 468次阅读
    智慧<b class='flag-5'>门禁</b><b class='flag-5'>系统</b>升级,离不开<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>终端的加持

    人脸识别技术在联网防静电门禁系统里的作用

    人脸识别防静电门禁是一种基于人脸识别技术和电子门禁系统
    的头像 发表于 07-05 10:22 276次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>技术在联网防静电<b class='flag-5'>门禁</b><b class='flag-5'>系统</b>里的作用

    人脸识别门禁如何与通道闸对接?

    需要结合人脸识别门禁系统、闸机以及二维码扫描设备共同完成,通道闸的作用只是确保只有经过身份验证的人员才能通过,唯有将人脸
    的头像 发表于 07-03 14:28 851次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>如何与通道闸对接?

    远景达人脸识别门禁助力“智慧小区”建设

    如今越来越多的小区开始向智慧化发展,我们可以发现很多智慧小区已悄然兴起了一种智慧门禁系统—即人脸识别门禁,也就是说将
    的头像 发表于 06-19 17:09 275次阅读
    远景达<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>助力“智慧小区”建设

    刷脸门禁系统来了!人脸识别门禁渐成安防主流

    基于人脸识别技术的门禁系统,已经逐渐成为安防领域的主流。要知道,刷脸门禁系统的工作原理是通过摄像
    的头像 发表于 06-02 09:34 607次阅读
    刷脸<b class='flag-5'>门禁</b><b class='flag-5'>系统</b>来了!<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>渐成安防主流

    厂家定制开发的带考勤的人脸识别门禁有哪些行业应用?

    深圳市远景达物联网技术有限公司定制开发的带考勤的人脸识别门禁,是专为自动化的门禁管理和员工考勤而设计的。这种将人脸
    的头像 发表于 05-15 14:50 466次阅读
    厂家定制开发的带考勤的<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>有哪些行业应用?

    人脸识别门禁系统,刷脸门禁自动开门

    人脸识别门禁系统是一种基于人脸识别技术的智能门禁
    的头像 发表于 05-08 16:50 2472次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b><b class='flag-5'>系统</b>,刷脸<b class='flag-5'>门禁</b>自动开门

    人脸识别门禁终端,对于人脸门禁终端的优缺点如何看待?

    随着科技的不断进步,人脸识别技术已经日益普及,并在许多领域得到了广泛应用。其中之一就是人脸识别门禁终端,它可以通过对用户的面部特征进行
    的头像 发表于 04-07 17:12 1096次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>终端,对于<b class='flag-5'>人脸</b><b class='flag-5'>门禁</b>终端的优缺点如何看待?

    人脸识别门禁考勤一体机该如何选择?人脸识别门禁考勤品牌功能

    智能时代下,人脸识别门禁考勤一体机的应用在日常生活中随处可见,例如企业刷脸考勤、小区门禁系统、智能闸机验证等等。市场上
    的头像 发表于 04-03 14:39 1027次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>考勤一体机该如何选择?<b class='flag-5'>人脸</b><b class='flag-5'>识别</b><b class='flag-5'>门禁</b>考勤品牌功能