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

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

3天内不再提示

一文教你轻松为MCU添加人脸识别摄像头

电子设计 来源:互联网 作者:佚名 2018-08-07 09:43 次阅读

人们现在越来越多地要求设计人员为当前网络系统和新产品添加图像和视频分析功能,特别是针对安防应用。人脸和车辆识别功能非常受用户欢迎,能够带来可观的价值,但是,了解基于微控制器的系统的人脸识别模型细节并对其进行编程,可能耗费大量时间,而且非常复杂。

通常情况下,开发人员必须尽可能快地开展试验和开发。本文将展示开发人员如何利用硬件和软件的现成组合,加快将人脸识别功能整合到嵌入式系统中的速度,从而节省时间。

人脸识别的基础知识

大多数开发人员对人脸检测已经非常熟悉了。这个过程就是分析图像,确定人脸出现的位置。很多智能手机都提供这种功能。人脸识别是人脸检测的下一个阶段。这个过程就是分析人脸,利用从人脸特征的相对距离得出的数据,开发一个数学模型。这些数据包括双眼之间的距离,以及眼睛与鼻子、下巴、耳朵和颧骨的相对位置。另外还要确定人脸相对于人脸识别摄像头的位置,因为这对于确定相对距离非常重要。也可以检测肤色并用于识别。

然后,再将该模型与数据库中存储的已知人脸数学模型进行比较,由算法确定最佳匹配。检测的人脸与存储的人脸有一定的匹配机率(百分比)。也有可能两者不匹配,那么检测的人脸就是未知的。

人脸识别硬件

为了实现人脸识别,设计人员需要挑选并组合摄像头传感器、视频和图像前端信号调节装置、GPU、控制处理器、存储器及相关软件和固件。当然,这需要花费时间,可能是一段很长的曲折学习过程。或者,您可以利用现成的硬件和固件,构建人脸识别系统。来自Omron Electronics的B5T-007001摄像头传感器是很好的入手点,它是经过测试的硬件和固件的交钥匙解决方案(图 1)。

图 1:Omron B5T-007001 人脸识别摄像头具备了人脸识别应用必需的全部功能。(图片来源:Omron)

B5T-007001 带有 USB 2.0 接口,可将摄像头电路板连接到运行 Omron 评估软件的 Windows® PC。另外还有 UART 接口。使用 USB 或 UART 接口都可将摄像头电路板连接到主机,可以是微控制器或 PC。

USB 和 UART 都支持用于配置摄像头的命令 API。Omron 的板载摄像头固件会分析视频并执行检测处理,然后将视频发送到主机。

从主机发送到 B5T-007001 的命令按顺序执行。主机固件向摄像头发送命令之后,必须等待摄像头返回该命令的结果,然后才能发送另一个命令。如果主机检测到超时(取决于应用要求),主机固件可以重新发送命令,或者通过发送 RESET 命令来复位摄像头。

配置摄像头以实现人脸识别

启动 B5T-007001 之后,首先必须对其进行配置,让它能够在将要使用它的物理环境下工作。命令是通过 USB 或 UART 接口发送的,遵循指定的命令结构(表 1)。每个命令的第一个字节始终是 0xFE,称为同步码。

表 1

表 1:B5T-007001 的命令格式。LSB 在左侧,MSB 在右侧。首先传输 LSB。在写入命令的过程中,写入 B5T-007001 的数据在“命令数据”字段中。(图片来源:Omron)

B5T-007001 支持 20 个命令。有关这些命令的完整描述,请参见表 2。

表 2

表 2:B5T-007001 的命令列表,包括每个命令的简短解释。每个命令会返回响应码或错误码。所有写入都是主机写入摄像头。所有读取都是主机从摄像头读取数据。(数据来源:Omron)

该摄像头非常灵活,可通过连接到微型 USB 2.0 端口的电缆轻松配置。要识别的每个人被称为用户,以 2 字节的用户 ID 进行标识。所有用户 ID 数据首先由主机写入 B5T-007001,其中包括用户的灰阶图像。

用户集合称为相册。每个相册支持最多 100 个用户。B5T-007001 将所有相册数据及其他配置数据存储在摄像头电路板上的 RAM 中。工作过程中,设备使用存储在 RAM 中的相册数据来进行检测。

摄像头有板载闪存,用于相册备份存储。将相册保存在闪存上命令可将存储在 RAM 中的所有用户相册数据写入闪存。闪存数据仅在摄像头启动时加载到摄像头 RAM。如果在工作过程中,主机固件需要将摄像头闪存数据重新加载到摄像头 RAM,则它必须通过硬件电源开关来复位 B5T-007001。

执行检测命令 (04h) 用于根据“命令数据”字段的内容,执行各种内置检测算法。对于在摄像头的视野中检测到的每个人,可以执行以下一个或所有十个检测命令:

  1. 人体检测命令- 检测人体的上半身部分,按人体中心的坐标进行标识。

  2. 手部检测命令- 检测打开的手掌,按手部中心的坐标进行标识。

  3. 人脸检测命令- 检测最多 100 张人脸,按中心点坐标粗略值进行标识。

  4. 人脸方向估计命令- 估计受检测人脸的方向,表示为偏航角(左,右)、俯仰角(下,上)、翻滚角(逆时针,顺时针)。

  5. 年龄估计命令- 估计受检测人脸的年龄,从 0 到 75 岁。

  6. 性别估计命令- 估计受检测人脸的性别(男性,女性)。

  7. 注视点估计命令- 估计受检测人脸的眼睛注视方向,表示为偏航角(左,右)和俯仰角(下,上)。

  8. 眨眼估计命令- 估计受检测人脸每只眼睛的眨眼程度,1 = 眼睛全开,1000 = 眼睛全闭。

  9. 表情估计命令- 估计受检测人脸的表情,结果表示为平和、快乐、惊讶、愤怒和悲伤。

  10. 人脸识别命令- 识别受检测人脸,与存储的人脸进行比较。结果返回最可能与受检测人脸匹配的人脸的用户 ID。

所有位置都以 [x,y] 坐标进行标识,其中图像左上角的坐标为 [0,0]。对于每个结果,都有从 0% 到 100% 的关联可信度,以 0 - 1000 的十进制数表示。

摄像头支持图像输出功能,主要用于开发人员设置摄像头和对准方向时的调试辅助。它的分辨率为 320 x 240,还不足以用作安防监视器。如果需要流媒体视频,建议安装另一个高清摄像头。

在应用中,放置摄像头之前,首先必须在开发环境中进行配置。B5T-007001 附带有软件,允许 PC 通过 USB 端口与设备连接。该 PC 软件也与 B5T-007001 配合使用,识别和注册相册中的用户。正如我们此前在人脸识别基础知识中所述,用户的脸部照片应该清晰地显示鼻子、眼睛、耳朵和下巴的主要特征(图 2)。

图 2:建议使用 Omron B5T-007001 人脸识别摄像头的 PC 用户界面进行摄像头评估和开发。它也用作用户应用程序,用于存储、更改和删除相册数据。(图片来源:Omron)

为微控制器系统添加人脸识别功能

B5T-007001 能够通过 USB 或 UART 接口连接到微控制器。UART 接口支持 921600 位/秒的最大波特率,USB 2.0 接口支持 480 MB/秒。请注意,摄像头不支持同时使用这两种接口。

微控制器只需支持基本输入/输出,即可用于 B5T-007001,而更高级的开发可能需要图像处理或多摄像头管理功能。

对于此类应用,来自STMicroelectronics的STM32F469Arm® Cortex®-M4F 微控制器支持四个标准 UART,带有一个具板载物理层 (PHY) 的 USB 2.0 接口,以节省电路板空间和减少元件数(图 3)。微控制器还带有片载 MIPI® Alliance D-PHY,以支持 MIPI® CSI-2 和 DSI-2。

对于视频处理,STM32F469 Arm 内核在 180 MHz 频率下运行。它还通过单独的 Chrom-ART Accelerator™,支持硬件图像处理。该图形加速器能够加快颜色转换,同时还执行快速块存储器移动操作。STM32F469 带有一个 128 位接口,连接 2 MB 的闪存,还提供指令预取队列和分支缓存,在 180 MHz 的 CPU 速度下,实现 0 等待状态的闪存访问。

STMicroelectronics 的 STM32F469 微控制器的图片

图 3:STM32F469 微控制器带有两个 USB 2.0 端口和八个串行端口,可以轻松连接到 B5T-007001,而且仍然有足够的性能来支持图像处理。(图片来源:STMicroelectronics)

STM32F469 能够通过两个 USB 2.0 接口中的一个接口连接到 B5T-007001。在 STM32F469 主机和摄像头之间读取和写入相册数据时,USB 2.0 接口的速度尤其突出。STM32F469 带有四个 UART 接口、四个 USART 接口、两个 USB 2.0 端口,能够连接最多十个 B5T-007001。

STM32F469 还带有 SDMMC 外部存储卡接口(图 4)。该接口适用于多种闪存卡,例如商用 microSD 和 MMC 卡,可用于传输相册数据。例如,可以使用连接到 PC 的 B5T-007001,提取需要识别的所有用户的照片。然后,PC 将相册数据存储在闪存卡上,您即可将该闪存卡插入 STM32F469 单板计算机,用作更新的相册数据。

STMicroelectronics STM32F469 的外部存储卡接口的示意图

图 4:STM32F469 的外部存储卡接口可用于传输数据,例如来自 PC 的更新相册数据。(图片来源:Omron)

使用表 2 中所列的命令,STM32F469 和 B5T-007001 能够用作自主型安防监控系统。通过执行人脸识别命令,STM32F469 能够识别摄像头采集区域中的已知或未知人员。微控制器固件可将返回的已识别人员的用户 ID 与存储在微控制器中的内部人员表格进行比较。

如果与已知用户 ID 匹配,STM32F469 可以使用其多个外设中的任何一个来执行操作,例如发出提示音或开门。微控制器带有一个以太网端口,可将设备连接到网络,因而能够根据匹配的用户 ID 发送电子邮件。

STM32F469 微控制器还带有 LCD TFT 控制器,用于控制外部彩色 LCD 显示屏。但是,要进行更多视频扩展,可以使用 MIPI® DSI 兼容接口,连接到带有 MIPI® 多媒体接口的视频摄像机。这样可添加其他摄像机来进行视频串流和其他处理,从而实现后期的视频扩展。虽然这样可能大幅增加复杂性,但可以真正扩展安防系统的功能。

STM32469I-EVAL 评估板支持该微控制器,从而可实现对所有微控制器功能的快速评估。评估板还带有 LCD 显示屏,可用于显示来自 B5T-007001 的视频。

图 5:STM32469I-EVAL 是适用于 STM32F469 微控制器的完整评估套件,可使用任何 USB、UART 或 USART 端口,轻松连接到 B5T-007001。(图片来源:STMicroelectronics)

总结

借助现成的交钥匙硬件,我们可以通过将所需的算法集成到摄像头电路板固件中,轻松为嵌入式系统项目添加人脸识别功能。通过简单的命令界面,我们可以快速开发微控制器固件,用于与电路板进行交互,而无需了解图像处理的细节。

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

    关注

    0

    文章

    125

    浏览量

    14470
  • uart
    +关注

    关注

    22

    文章

    1219

    浏览量

    101106
  • stm32f469
    +关注

    关注

    0

    文章

    3

    浏览量

    2906
收藏 人收藏

    评论

    相关推荐

    用于环视和CMS摄像头系统的四通道摄像头应用程序

    电子发烧友网站提供《用于环视和CMS摄像头系统的四通道摄像头应用程序.pdf》资料免费下载
    发表于 10-11 10:02 0次下载
    用于环视和CMS<b class='flag-5'>摄像头</b>系统的四通道<b class='flag-5'>摄像头</b>应用程序

    人流量检测识别摄像头

    人流量检测识别摄像头种结合了监控摄像技术和智能分析技术的先进设备,旨在通过实时监测和分析监控画面中人员的数量、密度、流动方向等信息,识别
    的头像 发表于 09-25 10:58 178次阅读
    人流量检测<b class='flag-5'>识别</b><b class='flag-5'>摄像头</b>

    智能化升级:机载无人机摄像头如何自动识别目标?

    机载无人机摄像头在智能化升级的过程中,自动识别目标的能力得到了显著提升。这过程涉及多个关键技术和算法,以下是关于机载无人机摄像头如何自动识别
    的头像 发表于 09-19 15:23 356次阅读
    智能化升级:机载无人机<b class='flag-5'>摄像头</b>如何自动<b class='flag-5'>识别</b>目标?

    电动车乱停放识别摄像头

    电动车乱停放是城市交通管理中常见的问题,给道路通行和停车场管理带来了诸多困扰。为了有效解决这问题,人们研发了电动车乱停放识别摄像头,这种设备结合了人工智能技术和监控摄像技术,能够实时
    的头像 发表于 09-10 10:30 269次阅读
    电动车乱停放<b class='flag-5'>识别</b><b class='flag-5'>摄像头</b>

    监控室离岗智能监测摄像头

    监控室离岗智能监测摄像头种应用于监控室的智能设备,旨在监测监控室内工作人员的状态,及时警示相关部门或人员,保障监控室的安全和工作效率。这种智能监测摄像头结合了人脸
    的头像 发表于 08-07 10:39 328次阅读
    监控室离岗智能监测<b class='flag-5'>摄像头</b>

    摄像头模块突然无法显示!!!可能是什么原因?

    的相机查看摄像头拍摄的画面,发现还是显示不了(电脑能够识别摄像头的链接,但显示是片黑屏) 有人碰到过这种情况吗,这可能是什么原因呢? 摄像头
    发表于 07-15 23:50

    基于FPGA的摄像头心率检测装置设计

    摄像头位于显示器前方,被测者尽量保持静止并露出额头处于摄像头前方,摄像头采集人脸画面,并由显示器显示,fpga 系统对采集到的画面进行:自动面部
    发表于 07-01 17:58

    摄像头模组电路

    求助各位大佬,想问摄像头模组硬件电路大概需要怎么设计
    发表于 06-07 10:29

    智能摄像头抄表器是什么?

    1.概念理解:智能摄像头抄表器智能摄像头抄表器是种融合了人工智能和物联网技术的创新设备,主要用于自动读取和记录各种计量仪表的数据,如水表、电表、燃气表等。它通过高清摄像头捕捉图像,然
    的头像 发表于 04-24 14:14 511次阅读
    智能<b class='flag-5'>摄像头</b>抄表器是什么?

    高清网络摄像头多媒体智能屏

    全新推出的28系列智能屏,是面向屏幕实时显示高清网络摄像头视频画面应用的产品。该系列智能屏可通过以太网或WiFi连接摄像头,可接收H.264编码RTSP协议的摄像头视频,支持4路
    的头像 发表于 02-19 13:21 516次阅读
    高清网络<b class='flag-5'>摄像头</b>多媒体智能屏

    AHD摄像头与CVBS的区别

    随着科技的不断进步,摄像头作为监控领域中重要的设备之,也在不断演化和改进。AHD(Analog High Definition,模拟高清)摄像头是近年来相对较新的种技术,相对于传统
    的头像 发表于 01-04 11:08 1.3w次阅读

    生物识别规划人脸识别方案的概述和特点

    方案概述    人脸识别方案采用高性能AI芯片,支持RGB和IR摄像头, 支持LCD显示屏。 方案特点 • 普通RGB摄像头和IR摄像头同时
    的头像 发表于 12-21 09:58 368次阅读
    生物<b class='flag-5'>识别</b>规划<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>方案的概述和特点

    浅谈ADAS前置摄像头设计挑战

    前置摄像头是高级驾驶辅助系统 (ADAS) 的重要组件,尤其是鉴于现在的新车碰撞测试要求将自动紧急制动和正面防撞作为汽车的标准功能。前置摄像头有助于实现其他 ADAS 功能,例如自适应巡航控制、行人检测、车道保持辅助和交通标志识别
    的头像 发表于 12-14 15:57 658次阅读
    浅谈ADAS前置<b class='flag-5'>摄像头</b>设计挑战

    使用Arduino可以连接摄像头做二维码识别吗?

    使用Arduino可以连接摄像头做二维码识别
    发表于 11-10 07:56