h1_key

当前位置:首页 >新闻资讯 > 技术文章>意法半导体>意法半导体ToF传感器的3D手势识别
意法半导体ToF传感器的3D手势识别
2022-11-14 865次

手势识别是计算机科学和语言技术领域的一个研究课题,其目的是通过数学算法解析人类手势。它可以在机器和人类之间搭建更高效的沟通桥梁,让生活更丰富多彩、更智能化。人们在基于图像/视频的手势识别方面已经做了大量研究(通常使用2D摄像机),今天我们将讨论新的解决方案 - 基于ToF传感器的3D手势识别。

  在新冠疫情肆虐的当前形势下,人们对非接触式解决方案用户界面的要求越来越高,同时保持社交距离正成为新常态”;然而在日常生活中,我们仍然需要接触公共场所中的多个目标,特别是使用ATM机、自动售货机、工厂机器等设备的界面。将意法半导体的新型传感技术和强大的人工智能算法结合之后,我们可以通过3D手势识别演示实现此解决方案。让我们看看演示过程。

  演示概述

  该演示目前能够识别8种手势,包括:向左滑动、向右滑动、向上滑动、向下滑动、单击、双击、顺时针旋转和逆时针旋转。

  我们采用意法半导体的最新飞行时间(ToF)8X8多区域测距传感器VL53L5CX作为输入,然后在STM32上运行深度学习神经网络算法,最后在PC GUI上显示识别结果。

  在硬件方面,我们组合运用STM32F401RC Nucleo板和VL53L5 EVK扩展板。

  

 

  输入传感器

  VL53L5CX是先进的飞行时间(ToF)多区域测距传感器,壮大了意法半导体的FlightSense产品阵容。该产品是意法半导体今年最新发布一款ToF传感器。

  特性:

  快速、精确的多区域测距传感器

  多区域测距输出可覆盖4x48x8个单独区域

  自主低功耗模式,通过可编程中断阈值唤醒主机

  范围可达400 cm

  完全集成的微型模块,具有宽视野(FoV)

  发射器:940nm不可见光垂直腔面发射激光器(VCSEL)和集成模拟驱动器

  在发射器和接收器上使用衍射光学元件(DOE)63 °对角视野FoV

  大小:6.4 x 3.0 x 1.5 mm

  方便集成

  单回流焊元件

  灵活的电源选择,单个3.3 V2.8 V操作或3.3 V2.8 V AVDD1.8 V IOVDD组合

  

 

  采集与标记数据集

  获取足够数量的关于不同手势的代表性数据对于训练人工神经网络模型是非常重要的。

  当执行一个手势动作时,我们可以通过使用Python语言开发的特定GUI轻松从ToF传感器获取并标记原始数据,并创建自己的数据集。

  

 

  

 

  该数据集包含了每种手势(我们的演示中有8种:向左滑动、向右滑动、单击、双击、顺时针旋转、逆时针旋转、向上滑动、向下滑动)的数千个样本,这些手势由少数几人提供。

  显然,如果你希望创建自定义的手势,也可以使用相同的工具为这个手势创建新的数据集。

  构建和训练神经网络

  对于神经网络部分,我们选择运用简单、灵活、功能强大的Keras框架构建神经网络。因为手势是一种顺序动作,所以我们选择CNN + GRU层来创建模型,经过大约50epoch的训练,我们训练和验证数据集的准确率可达到95%以上,而损失仅有0.08左右,已经很不错了。对于测试数据集,我们也可以针对每种手势获得不错的准确率。F1评分可达96%

  

 

  最后,我们可以将训练效果更好的模型和权重保存为gesture.h5的模型,以便在MCU端实施。

  在MCU端实施手势模型

  先决条件:

  需要在STM32CubeMX中安装X-Cube-AI扩展包。目前的最新版本是7.0.0,它也支持sklearn机器学习模型转化。

  

 

  ✦ X-Cube-AI配置向导:

  配置完使用哪块板件后,可以从软件包->选择组件加载X-Cube-AI,或使用快捷键Alt+O

  

 

  需在“Software packs component selector”窗口选中X-Cube-AI/Core 这个选项,才能调用神经网络模型并生成相关的STM32 NN库。单击[OK],完成选择。如下图所示:

  

 

  启用X-CUBE-AI组件:

  单击[STMicroelectronics X-CUBE-AI 7.0.0] 打开初始AI配置窗口。选中 [Artificial Intelligence X-CUBE-AI] ,启用X-CUBE-AI内核组件。还必须选中[Device Application],才能添加AI插件应用程序。

  加载神经网络(NN)

  1.添加网络。

  2.将模型名称改为“gesture”

  3.选择“Keras”作为输入模型类型。

  4.点击“Browse”按钮以选择要实现的模型。gesture.h5

  5.点击“Analyze”按钮以分析模型。

  

 

  分析完毕后,将显示模型层详细报告,还附有该模型需要使用的MACCflashram信息。

  最后,在CubeMX中点击生成代码,然后会在您的项目中创建一个X-CUBE-AI文件夹,可以在该文件夹中找到一些有用的文件。

  包括拓扑网络的gesture.cgesture.h文件。

  包括权重/偏差的gesture_data.cgesture_data.h文件。

  app_x-cube-ai.c and app_x-cube-ai.h 文件还提供AI客户端应用程序可以使用的通用多网络推理API接口。

  如果后续需要更新数据集或是重新训练更新权重以获得更好的性能效果,只要更新gesture_data.cgesture_data.h文件就可以。所以,更新过程很方便的。

  显示结果

  最后,将uart日志打印到PC端,从而在GUI端显示我们的预测结果。当您在距离自己20~80cmToF传感器前做一个顺时针旋转的手势时,GUI将会显示预测结果,如下所示。百分比是该手势的概率。

  

 

  3D手势演示到这里已经结束,该解决方案可用于以下几个应用场景。

  智能家电:当您的手上脏或湿的时候,通过手势识别控制不同的家电。

  交互式娱乐:如游戏机。

  人机交互:让机器更智能,让人更安全,特别是在新冠病毒肆虐的环境或一些危险环境中。

  现在,您可以尝试使用VL53L5传感器、STM32开发板、以及强大的X-Cube-AI库创建自己的手势识别演示。我们正在一些活动中展示该演示项目;如果您对我们的手势演示感兴趣,请联系意法半导体的AI创新应用中心,我们会选定目标客户根据产品的特定用例对该演示进行产品级支持。

 

  • ST意法半导体STM32L452CEU6高性能性能卓MCU
  • STM32L452CEU6是ST意法半导体推出的一款高性能低功耗微控制器,在众多领域都有着出色的表现。STM32L452CEU6 基于 ARM Cortex-M4 内核,工作频率高达 80MHz,能够提供高效的运算处理能力,轻松应对各种复杂的任务。在存储方面,它拥有 128KB 的闪存和 64KB 的随机存取存储器(SRAM),为用户的程序和数据提供了充足的存储空间,满足了大多数应用的需求。
    2024-06-19 0次
  • ST意法半导体STM32L452RCT6性能与参数
  • STM32L452RCT6 是 ST 意法半导体旗下一款性能出色的微控制器,在众多应用场景中展现出了强大的功能和可靠性。STM32L452RCT6 基于高性能的 ARM Cortex-M4 内核,其运行频率高达 80MHz,具备出色的运算处理能力,能够迅速而高效地执行复杂的指令和算法。
    2024-06-19 0次
  • ST意法半导体STM32L452RET6的全面解读
  • STM32L452RET6是ST 意法半导体推出的一款极具特色和优势的微控制器。该微控制器基于先进的 ARM Cortex-M4 内核,具备高效的运算能力,其最高工作频率可达 80MHz,能够快速而精准地处理各种复杂任务。
    2024-06-19 0次
  • ST意法半导体STM32L452VET6的深度剖析
  • STM32L452VET6是ST意法半导体旗下一款性能卓越的微控制器。STM32L452VET6 采用的是 ARM Cortex-M4 内核,具备强大的计算能力和高效的指令执行效率。它的工作频率可达 80MHz,能够快速处理各种复杂的任务和数据。
    2024-06-19 1次
  • 解析ST意法半导体STM32L471RGT6的特性与参数
  • ST意法半导体的STM32L471RGT6是一款备受瞩目的微控制器,其具备众多出色的参数和特性,使其在众多应用场景中表现卓越。STM32L471RGT6 采用了先进的 ARM Cortex-M4 内核,工作频率高达 80MHz,为其提供了强大的运算处理能力。这使得它能够快速响应和执行各种复杂的任务,无论是数据计算、算法运行还是实时控制操作等。
    2024-06-19 2次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部