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

    文章

    375

    浏览量

    27640
  • Raspberry Pi
    +关注

    关注

    2

    文章

    621

    浏览量

    23847
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Banana Pi BPI-CM6 – 一款与 Raspberry Pi CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    Banana Pi BPI-CM6 系统模块 (SoM) 采用 SpacemiT K1 8 核 RISC-V 处理器,并且与大多数为 Raspberry Pi CM4 或 CM5 设计的载板兼容
    的头像 发表于 11-28 16:57 1874次阅读
    Banana <b class='flag-5'>Pi</b> BPI-CM6 – 一款与 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> CM4/CM5 载板兼容的 SpacemiT K1 RISC-V 系统模块

    三种开发工具的功能和优势

    您喜欢捣鼓电子设备并自己动手制作项目吗?如果是,您可能会对Raspberry Pi、Arduino、ROCK及其他能帮助实现DIY目标的开发工具感兴趣。Raspberry
    的头像 发表于 09-25 16:45 674次阅读

    用树莓派 + OpenCV 打造人脸识别技术!

    在本指南中,我们将教您如何使用OpenCV和面部识别库(两个出色的开源项目)设置树莓派来检测和识别面部。在这个设置中,所有的数据和处理都将在Pi
    的头像 发表于 07-29 17:27 999次阅读
    用树莓派 + OpenCV 打造人脸<b class='flag-5'>识别</b>技术!

    贸泽开售Raspberry Pi用于嵌入式和IIoT应用的RP2350微控制器

    2025 年 5 月 23 日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Raspberry Pi的新款
    发表于 05-27 14:50 1370次阅读

    如何在Raspberry Pi OS上安装SDK?

    Raspberry Pi OS 上安装 SDK
    发表于 04-30 06:45

    贸泽开售适用于AI和嵌入式应用的 全新Raspberry Pi Compute Module 5

    医疗监控和其他嵌入式应用的功能。   Raspberry Pi CM5搭载了BCM2712四核Cortex® -A76 (Arm® v8) 64位片上系统 (SoC) 和VideoCore VII GPU,并支持OpenGL E
    发表于 03-24 15:09 423次阅读

    Raspberry Pi上使用IR v11及OpenVINO™ 2021.3后不兼容怎么办?

    PYTHONPATH=\"$PWD\" && python export.py --weights--img 512 --include openvino 转换后的 IR v11 模型与 Raspberry Pi 上的 OpenVINO™ 2021.3
    发表于 03-06 07:14

    Raspberry Pi上从源代码构建OpenVINO™ ARM插件失败了,怎么解决?

    Raspberry Pi* 上从源代码构建OpenVINO™ ARM 插件。 cmake -DCMAKE_BUILD_TYPE=Release -DOPENVINO_EXTRA_MODULES
    发表于 03-06 06:19

    OpenVINO™是否与TensorFlow集成支持Raspberry Pi

    无法确定OpenVINO™是否与 TensorFlow* 集成支持 Raspberry Pi
    发表于 03-05 08:26

    无法在Raspberry Pi 4中通过PyPI OpenVINO™安装2022年运行时软件包,为什么?

    无法在 Raspberry* Pi 4 中通过 PyPI* 安装OpenVINO™ 2022 运行时软件包。
    发表于 03-05 07:31

    安装OpenVINO™适用于Raspberry Pi64位操作系统的工具套件2022.3.1,配置英特尔®NCS2时出错怎么解决?

    安装OpenVINO™适用于 Raspberry Pi* 64 位操作系统的工具套件 2022.3.1。 配置英特尔® NCS2时出错: CMake Error at CMakeLists.txt
    发表于 03-05 07:27

    基于Raspberry Pi 5的情感机器人设计

    Raspberry Pi 5相较于上一代搭载了更强的处理器和硬件性能,为情感机器人的开发提供了前所未有的可能性。其支持多任务处理和实时计算,为语音交互和情感判断提供了坚实的基础。此外配合高性能的摄像头模块和传感器,机器人能够捕捉环境信息,真正做到 “知人知面” 。
    的头像 发表于 02-26 14:28 1558次阅读
    基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5的情感机器人设计

    贸泽电子开售Raspberry Pi Hailo 8L AI套件

    近日,全球电子元器件和工业自动化产品的领先授权代理商贸泽电子(Mouser Electronics)正式宣布开售Raspberry Pi的Hailo 8L AI套件。这一创新产品的推出,标志着贸泽
    的头像 发表于 01-15 14:25 800次阅读

    Raspberry Pi树莓派新手指南

    电子发烧友网站提供《Raspberry Pi树莓派新手指南.pdf》资料免费下载
    发表于 12-23 17:05 4次下载

    Banana Pi BPI-CanMV-K230D-Zero :AIoT 应用的 Kendryte K230D RISC-V

    处理单元 (KPU) 用于 AI 计算。它采用 Raspberry Pi Zero或Raspberry Pi Zero 2W板的外形尺寸,面向物联网和机器学习应用。 该 SBC 配备
    发表于 12-05 09:19