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

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

3天内不再提示

基于Raspberry Pi的DIY面部识别功能

杨勇 来源:DevicePlus 作者:DevicePlus 2023-02-24 18:25 次阅读

这篇文章来源于DevicePlus.com英语网站的翻译稿。

1. 目的

教程的目的在于展示如何在Raspberry Pi项目中添加面部识别功能。

注意:该面部识别门锁设计并不应该被应用于保护或锁定任何有价值的物品或房屋上。一个简单的破解方法就是将“列入白名单”的用户的照片举到摄像头前就可以将门打开。

2. 概述

在本教程中,我将说明如何使用Microsoft的Face API(应用程序编程接口)为您的Raspberry Pi项目和应用程序添加面部识别功能。该项目基于一个Microsoft面部识别门锁项目。这是一个中级教程。在此我假设您已经在Raspberry Pi上设置了操作系统(OS)。如果没有的话,我建议您对Raspberry Pi进行设置,然后在完成一些入门级项目后再尝试本项目。

3. 设备

注意:请确认您获取的是Microsoft认证硬件,否则在您的Raspberry Pi上启动并运行Windows 10 IOT时会遇到问题。点击此处可以找到经过认证的硬件。

表1:设备

设备 链接
Raspberry Pi 3 Raspberry Pi链接
Microsoft LifeCam HD-3000 WebCam的Amazon链接
HDMI 电缆 HDMI电缆链接
LED Adafruit LED链接
鼠标 + 键盘 任何有线USB鼠标 +键盘
显示器/TV 任何具有HDMI的TV或显示器
跳线 跳线Amazon链接
微型USB电缆 微型USB电缆Amazon链接
面包板 面包板Amazon链接
微型SD Samsung SD卡链接
按键 w/ Caps按键链接

4. 目录

1. Windows 10 IoT核心版安装

1. 安装步骤

2. 安装技巧

2. 设计电路

1. 我的电路

2. 项目应用—门锁

3. 设置软件

4. 部署及运行应用程序

1. 部署应用程序

2. 运行应用程序

5. 步骤

1. Windows 10 IoT 核心版安装

1.2 安装步骤

Windows 10 IoT核心版是您需要在Raspberry Pi上运行的用于此项目的操作系统。它是Windows 10针对Raspberry Pi之类的小型设备和单板计算机进行优化之后的版本。该项目还需要您在PC上安装Microsoft Visual Studio。

1. 格式化SD卡

2. 将NOOBS拷贝到您的SD卡

3. 在连接到以太网时启动您的Raspberry Pi

4. 选择Windows 10 IoT核心版进行安装(图1:Windows IoT安装)

5. 安装完成后,完成必要的设置过程,直到进入主页(图3:Windows IoT主页屏幕)。

poYBAGPzH2SAWggAAAZ-Tv0Op3Q794.png

图1:Windows IoT安装 pYYBAGPzH2mAFpASAAW-5aqFLaE795.png

图2:Windows IoT核心版欢迎页面 pYYBAGPzH2-AW9JVAAgFD9Vx8VQ955.png

图3:Windows IoT主页屏幕
1.2 安装技巧

本教程的重点在于向Raspberry Pi中添加面部识别功能,而不是安装Windows 10 IoT核心版,但是还是在这里补充一些安装技巧。

1. 确保您使用的是Microsoft认证过的硬件。当我使用的不是经过认证的鼠标和键盘时,这些硬件都无法正常工作。

2. 如果您有了一个Windows PC,请下载Windows IoT 10 仪表板来对设备进行设置。如果您使用的是Mac或者Linux计算机,则该选项不适用。

3. 确保您的Raspberry Pi是通过以太网而不是Wi-Fi连接到网络的。

4. 确保将SD卡格式化为FAT32或exFAT。

5. 确保您使用的电源可以为Raspberry Pi提供高达2安培的电流

如果有任何问题,请参阅包含了调试与安装过程的本篇文章。

2. 设计电路
2.1 我的电路

我通常使用一个开源的包含原理图绘制及PCB布线功能的软件Fritzing来绘制接线图。您可以用过以下链接下载Fritzing(可选):http://fritzing.org/home/

第一个原理图是我所构建的以LED作为驱动器的电路图(图4:w/ LED电路图)。我将一个引脚直接接地来作为一个传感器,以使应用程序通过相机拍照。该项目可以被修改为通过使用任何其他类型的驱动器和传感器来实现面部识别功能。

2.2 项目应用—门锁

第二个电路是用一个继电器作为驱动器,用一个按键作为传感器(图5:w/继电器以及门锁的电路图)。如果您希望将您的设计作为一个门锁使用,则应该构建该电路。门铃向摄像头发出信号使其拍照。继电器控制电子门的动作(关闭),如果所拍摄的照片与“白名单”上的用户匹配,那么继电器将会把门打开,否则保持锁定状态。

注意:该面部识别门锁设计并不应该被应用于保护或锁定任何有价值的物品或房屋上。一个简单的破解方法就是将“列入白名单”的用户的照片举到摄像头前就可以将门打开。

pYYBAGPzH3KAHVxYAAG3lpyrBio759.png

图4:w/ LED电路原理图 pYYBAGPzH3WAe74DAAHag69iN_0378.png

图5:w/继电器与门锁电路原理poYBAGPzH3uATWYYAAqeSnHj870308.png

图6:我的电路设置 3. 设置软件

创建一个您打算存放本项目文件的文件夹。使用git clone指令下载项目。
git clone https://github.com/ms-iot/Facial-Recognition-Door.git

在Visual Studio中,打开名为FacialRecognitionDoor.sln的文件。要接收API密钥,请使用此链接,然后点击“免费试用识别功能(Try Cognitive Services for free)”,然后选择Face API,按照登录说明接收您的唯一密钥。在“Constants.cs”中输入密钥,替换OXFORD_KEY_HERE(图7:Oxford API密钥)。在此文件中,您还可以更改用于门铃的引脚和用于控制门锁的继电器。您也可以更改“列入白名单”的用户以及被拒绝用户的信息

在屏幕的左上方,将下拉菜单改为“Debug”,“ARM”以及“Remote Machine”(图8:调试配置)。

pYYBAGPzH36Ab3RIAAKddfv41-c140.png

图7:Oxford API密钥 pYYBAGPzH4CAZG0gAAB3GvpGGXY693.png

图8:调试配置 4. 部署及运行应用程序

4.1 部署应用程序

有多种方法可以将应用程序部署到您的Windows IoT设备上。我将在下面列出几个不同的选项。其中一个可能比其他方法更容易一些,具体情况要取决于您所使用的硬件。我使用的是第一个方法。

1. 通过Windows设备门户使用远程控制台进行部署/调试

2. 使用Visual Studio进行部署/调试

3. 使用Windows 10 IoT 核心版仪表板进行部署/调试

4.2 运行应用程序

当应用程序开始运行时,您将在屏幕上看到以下图像(图9:面部识别启动页面)。您需要做的第一件事就是将自己添加到允许通过的“白名单”中。为此,请选择屏幕右下角的加号(+)按钮。然后页面会显示要求您拍摄一张ID照片。您可以对准镜头然后点击“拍摄ID照片(Capture ID Photo)”,然后相机会拍摄一张您的照片并将其显示在屏幕上。最后输入您的姓名,单击“确认(Confirm)”对用户个人资料进行确认。

poYBAGPzH4KAQE69AAELMbxq9Oc970.png

图9:面部识别主页屏幕 现在,您将返回到欢迎页面。您应该会在屏幕左侧的“列入白名单的访问者”列表下看到您的用户个人资料。

现在,当您站在摄像头前时,可以按下按键或者门铃。如果应用程序将您识别为“白名单”用户,将会解锁10秒钟。

恭喜您完成此项目。现在您可以对该应用程序进行修改来将面部识别API使用到其他Raspberry Pi项目中了。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑黄宇

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

    关注

    1

    文章

    373

    浏览量

    26492
  • Raspberry Pi
    +关注

    关注

    1

    文章

    552

    浏览量

    22054
收藏 人收藏

    评论

    相关推荐

    震惊!居然有人给 Raspberry Pi 5 做 X 射线!

      Jeff Geerling 会做一些莫名其妙的怪事,比如用信鸽来对抗网速,不过这也是我们喜欢他视频的原因。最近,杰夫对 Raspberry Pi 5 进行了 X 光透视,揭示
    的头像 发表于 01-10 16:42 226次阅读
    震惊!居然有人给 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 做 X 射线!

    Raspberry Pi 3 官方套件入门指南

    Raspberry Pi 3套件介绍Raspberry Pi 3套件安装Raspberry Pi
    发表于 10-09 07:53

    【树莓派Pi5】树莓派 Raspberry Pi 5 正式发布!

    这款 Pi 5从英国树莓派总部跨洋而来,作为树莓派的官方代理商,上海晶珩EDATEC荣幸地在首发时刻,率先揭开了 Pi 5 的神秘面纱: Raspberry Pi 5:瞩目新生!超越
    的头像 发表于 09-28 17:30 1022次阅读
    【树莓派<b class='flag-5'>Pi</b>5】树莓派 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 正式发布!

    使用Raspberry Pi和BluPants进行编码

    电子发烧友网站提供《使用Raspberry Pi和BluPants进行编码.zip》资料免费下载
    发表于 07-05 11:21 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>和BluPants进行编码

    官方Raspberry Pi零W概述和案例

    电子发烧友网站提供《官方Raspberry Pi零W概述和案例.zip》资料免费下载
    发表于 07-04 11:17 0次下载
    官方<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>零W概述和案例

    使用Google Coral和Raspberry Pi进行ML鸟类识别

    电子发烧友网站提供《使用Google Coral和Raspberry Pi进行ML鸟类识别.zip》资料免费下载
    发表于 06-27 10:16 0次下载
    使用Google Coral和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>进行ML鸟类<b class='flag-5'>识别</b>

    Raspberry Pi 4上带Respeaker的离线语音识别

    电子发烧友网站提供《Raspberry Pi 4上带Respeaker的离线语音识别.zip》资料免费下载
    发表于 06-25 11:06 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4上带Respeaker的离线语音<b class='flag-5'>识别</b>

    使用Raspberry Pi进行汽车诊断

    电子发烧友网站提供《使用Raspberry Pi进行汽车诊断.zip》资料免费下载
    发表于 06-20 09:31 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>进行汽车诊断

    Raspberry Pi的Teams Presence

    电子发烧友网站提供《Raspberry Pi的Teams Presence.zip》资料免费下载
    发表于 06-16 15:17 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的Teams Presence

    DIY Raspberry Pi天气助手

    电子发烧友网站提供《DIY Raspberry Pi天气助手.zip》资料免费下载
    发表于 06-16 14:53 0次下载
    <b class='flag-5'>DIY</b> <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>天气助手

    Raspberry Pi Pico多功能入门套件

    电子发烧友网站提供《Raspberry Pi Pico多功能入门套件.zip》资料免费下载
    发表于 06-16 10:36 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico多<b class='flag-5'>功能</b>入门套件

    Raspberry Pi烟雾测量站

    电子发烧友网站提供《Raspberry Pi烟雾测量站.zip》资料免费下载
    发表于 06-16 10:12 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>烟雾测量站

    Raspberry PI的TVOC提醒

    电子发烧友网站提供《Raspberry PI的TVOC提醒.zip》资料免费下载
    发表于 06-15 10:47 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>PI</b>的TVOC提醒

    使用Bittle和Raspberry Pi 4的ROS SLAM

    电子发烧友网站提供《使用Bittle和Raspberry Pi 4的ROS SLAM.zip》资料免费下载
    发表于 06-14 15:23 0次下载
    使用Bittle和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4的ROS SLAM

    使用Python和Raspberry Pi的实时图表

    电子发烧友网站提供《使用Python和Raspberry Pi的实时图表.zip》资料免费下载
    发表于 06-13 10:47 0次下载
    使用Python和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的实时图表