当前位置: 首页 > news >正文

针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法

论文标题:Combinative Model Compression Approach for Enhancing 1D CNN Efficiency for EIT-based Hand Gesture Recognition on IoT Edge Devices

中文标题:针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法

作者信息:

  • Mahdi Mnif,1,2,3
  • Salwa Sahnoun,1,2
  • Yasmine Ben Saad,1
  • Ahmed Fakhfakh,2
  • Olfa Kanoun,*3
    1. National School of Electronics and Telecommunications of Sfax, University of Sfax, Tunisia
    2. Laboratory of Signals, Systems, Artificial Intelligence and Networks (SM@RTS), Digital Research Center of Sfax (CRNS), Tunisia
    3. Measurements and Sensor Technology, Faculty of Electrical Engineering and Information Technology, Chemnitz University of Technology, Germany *Corresponding author: olfa.kanoun@etit.tu-chemnitz.de

论文出处:To appear in: Internet of Things

主要内容:

摘要: 本文研究了模型压缩技术,旨在确定它们组合时的兼容性,并找出一种有效的方法来提高物联网边缘设备上的推理速度和能效。研究基于电气阻抗断层扫描(EIT)的手部手势识别(HGR)应用场景,该场景涉及复杂的信号处理,并且需要实时处理和能效。因此,设计了一个定制的一维卷积神经网络(1D CNN)HGR分类模型。通过战略性地结合模型压缩技术,实现了一个为物联网嵌入式设备更快推理和改进能效定制的模型。模型大小压缩至10.42 kB,尺寸减少了98.8%,在个人电脑上推理增益为94.73%,准确度下降了大约8.56%。组合模型压缩技术的方法在一系列处理能力有限的边缘计算物联网设备上应用,显著提高了这些设备的模型执行速度和能效。具体来说,Arduino Nano BLE的平均功耗增益为52%,Raspberry Pi 4为34.05%。对于Arduino Nano BLE Sense、Nicla Sense和Raspberry Pi 4,推理时间减半,ESP32的增益达到了94%。

1. 引言: 随着人工智能(AI)的进步,智能传感器和设备在从物联网(IoT)设备到智能家居和自动驾驶汽车等多种应用中的普及度急剧上升。这些传感器和设备依赖于深度学习技术,如深度神经网络(DNNs)、卷积神经网络(CNNs)和循环神经网络(RNNs),在包括计算机视觉、语音识别、医学诊断和人机交互在内的各个领域取得了重大突破。然而,传感器捕获的值通常发送到功能强大的计算设备(如云服务器)上执行机器学习算法,这种方法引入了数据采集和算法响应之间的显著延迟,可能会影响整体性能。此外,在网络上传输大量数据可能会导致网络拥塞并增加能耗。为了解决这些问题,发展了边缘计算的概念。边缘计算涉及将计算和通信资源从云端转移到网络边缘,有助于避免通信延迟,实现更快的最终用户响应时间,并在安全边缘环境中本地处理数据,减少数据泄露风险。

 

2. 相关工作: 本研究分析了现有的基于边缘计算的手势识别系统的局限性和挑战,考虑了能耗、模型大小、推理处理时间和模型优化等关键参数。

3. 探索模型压缩技术以实现高效的边缘AI部署: 模型压缩技术已成功应用于优化大型语言模型,通过降低计算成本、提高推理效率和增强可扩展性,这些技术已成为云部署的基本要素。此外,它们在边缘计算场景中的潜力也不容忽视。然而,在物联网边缘设备上实施这些技术面临独特的挑战,如管理有限的内存、处理能力和能耗。

93ba25cccb6a4fa4ab34bd4314c0ca86.png

4. 基于电气阻抗断层扫描的手势识别: 设计了一个用于识别美国手语(ASL)手势的系统。使用单独的传感器系统进行EIT数据采集,然后将数据发送到个人电脑(PC)进行处理和特征提取以执行手势分类。当前解决方案有几个局限性,使其不适合作为可穿戴设备使用。首先,分类过程依赖于笔记本电脑或基于云的计算来运行深度学习模型推理,这意味着它不独立,不能完全作为可穿戴设备使用。此外,这种对外部计算的依赖也使解决方案效率低下且能耗不高效,因为它需要能量将数据传输到计算机上运行推理。为了克服这些局限性,应该开发一种新解决方案,可以在可穿戴设备本身上使用边缘设备执行分类和推理任务,这种方法将提供更大的独立性、能效和实时决策能力。

9092a3223ce64cd0a1ccd26578d8c98a.png

5. 针对CNN优化的组合模型压缩技术: 本节的目标是通过研究和调查TensorFlow框架支持的不同模型压缩技术,找到计算效率和精度之间的最佳权衡,从而开发出更强大的HGR算法,通过提高1D-CNN模型的效率来保持其准确性。

6. 结果和性能评估: 本节详细描述了组合模型压缩技术的效果,并比较了基线模型与组合模型在模型大小、推理时间和准确性方面的性能。通过结合KD、FP和8位PTQ,在准确性、推理时间和最小模型大小之间取得了平衡。推理时间从0.3741 ± 0.0228降低到0.0197 ± 0.0012,模型速度提高了约94.73%。模型大小从871.58 kB显著减少到仅10.42 kB,实现了更适合资源受限环境的更紧凑模型。然而,这些增益的代价是准确性从80.81% ± 1.72降低到72.25% ± 1.05,大约下降了8.56%。

7. 结论: TinyML模型旨在在设备上执行计算,最小化通过网络传输敏感信息的风险。边缘计算和TinyML之间的联系在于它们共同的目标,即将计算能力和智能更接近数据源。边缘计算为本地数据处理提供基础设施,而TinyML通过在资源受限的物联网边缘设备上部署ML模型来补充它。它们共同使一系列从低延迟、隐私保护和高效设备上处理中受益的应用成为可能。这就是为什么需要优化深度学习模型以部署在物联网边缘设备上的原因。这项工作基于调查几种模型压缩技术,战略性地结合它们,并将其应用于基于EIT测量的HGR的1D-CNN模型。主要目标是评估组合模型压缩技术的兼容性,并确定优化不同知名嵌入式物联网设备模型执行时间和能效的最有效方法。通过在一系列物联网设备上实施和评估组合压缩模型技术,具体来说,Arduino Nano BLE的平均功耗降低了约52%,Raspberry Pi 4降低了34.05%。推理时间减半,对于Arduino Nano BLE Sense、Nicla Sense和Raspberry Pi 4,以及ESP32(从119毫秒到7毫秒)的显著增益为94%。这些结果强调了组合模型压缩方法在物联网边缘设备上的快速、节能部署的有效性和适用性。

 

相关文章:

针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法

论文标题:Combinative Model Compression Approach for Enhancing 1D CNN Efficiency for EIT-based Hand Gesture Recognition on IoT Edge Devices 中文标题:针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法 作者信息&a…...

商品满减、限时活动、折扣活动的计算最划算 golang

可以对商品的不同活动(如满减、限时价和折扣)进行分组,并在购物车中显示各个活动标签下的最优价格组合。以下代码将商品按活动类别进行分组计算,并输出在购物车中的显示信息。 package mainimport ("fmt""math&qu…...

vue3 + ts + element-plus 二次封装 el-table

一、实现效果: (1)数据为空时: (2)有数据时:存在数据合并;可自定义表头和列的内容 (3)新增行: (4)删除行: &a…...

python传递json参数给php

python传递json参数给php 在Python中,你可以使用requests库来发送JSON数据给一个PHP脚本。以下是一个简单的例子: 首先,安装requests库(如果你还没有安装的话): pip install requests 然后,…...

2.若依vue表格数据根据不同状态显示不同颜色style

例如国标显示蓝色&#xff0c;超标是红色 使用是蓝色&#xff0c;未使用是绿色 <el-table-column label"外卖配送是否完成评价" align"center" prop"isOverFlag"> <template slot-scope"scope"> …...

JZ2440开发板——LCD

以下内容源于韦东山嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 之前在博文中学习过LCD&#xff08;SoC是S5PV210&#xff09;&#xff0c;作为对比&#xff0c;本文学习S3C2440这款SoC的LCD方面的内容。主要涉及以下三个内容&#xff1a; 一、LCD的硬件原理 1.…...

YOLOv6-4.0部分代码阅读笔记-yolo_lite.py

yolo_lite.py yolov6\models\yolo_lite.py 所需的库和模块 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import math import torch import torch.nn as nn import torch.nn.functional as F from yolov6.layers.common import * from yolov6.utils.torch_utils import i…...

奇瑞汽车:降阶模型在新能源汽车热管理仿真上的应用

随着新能源汽车的发展&#xff0c;对仿真技术的要求也越来越高。那么奇瑞汽车利用降阶模型在新能源汽车热管理仿真上做了哪些应用呢&#xff1f;本次内容主要从四个方面展开介绍&#xff1a; 1、 奇瑞汽车简介&#xff1b; 2、 热管理降阶模型开发的背景&#xff1b; 3、 高低…...

传统的自然语言处理评估指标

目录 传统的自然语言处理评估指标 EM(Exact Match) BLEU(Bilingual Evaluation Understudy) 传统的自然语言处理评估指标 传统评估指标 EM(Exact Match) 计算方式:如果生成的答案与参考答案完全相同(字符级完全匹配),则 EM 得分为 1,否则为 0。这是一种比较严格的…...

WPF+MVVM案例实战(十七)- 自定义字体图标按钮的封装与实现(ABC类)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1、案例效果1、按钮分类2、ABC类按钮实现1、文件创建2、字体图标资源3、自定义依赖属性4、按钮特效样式实现 3、按钮案例演示1、页面实现与文件创建2、依赖注入3 运…...

Redis数据结构:List类型全面解析

文章目录 一、List数据类型1.1 简介1.2 应用场景1.3 底层结构 二、数据结构2.1 压缩列表ZipList2.2 双向链表LinkedList&#xff08;后续已废弃&#xff09;2.3 快速链表QuickList 三、List常见命令 一、List数据类型 1.1 简介 详细介绍&#xff1a;Redis五种数据类型、Strin…...

人工智能证书合集

本文将对目前市面上主流官方机构颁发的人工智能证书进行整理和介绍&#xff0c;由于整理的证书较多&#xff0c;本文共一万八千多字&#xff0c;请根据自己的考证需求阅读对应部分的内容&#xff0c;希望本文对人工智能行业的从业人员和计划从事人工智能相关岗位工作的人员有所…...

php开发实战分析(8):优化MySQL分页查询与数量统计,提升数据库性能

在开发过程中&#xff0c;我们遇到了一段用于从数据库中查询部门信息的PHP代码。该代码负责根据不同的条件&#xff08;如部门名称和来源&#xff09;筛选数据&#xff0c;并返回分页结果及总记录数。然而&#xff0c;原始代码存在一些问题&#xff0c;包括重复的查询条件构建逻…...

shell脚本案例:RAC配置多路径时获取磁盘设备WWID和磁盘大小

使用场景 在RAC配置多路径时&#xff0c;需要获取到磁盘设备的wwid。因为RAC的磁盘配置是提前规划好的&#xff0c;只知道wwid&#xff0c;不知道磁盘对应大小&#xff0c;是不知道应该如何配置多路径的mutipath.conf文件的&#xff1b;而凭借肉眼手工去对应磁盘设备的wwid和大…...

Android Framework AMS(10)广播组件分析-1

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要解读应用层广播组件的发送广播和接收处理广播 2个过程&#xff0c;以及从APP层到AMS调用之间的打通。关注思维导图中左上部分即可。 有…...

在 Node.js 中使用 .env 文件

什么是 .env 文件&#xff1f; 文件.env是包含环境变量键值对的简单文本文件。此文件的内容不会被签入源代码管理&#xff0c;从而确保敏感数据的安全。 示例 PORT 4000 DATABASE_URL mongodb://localhost: 27017 /mydb API_KEY abcd1234 NODE_ENV development 在 Node.…...

CesiumJS 案例 P19:添加矩形、监听鼠标左击、监听鼠标右击、监听鼠标移动

CesiumJS CesiumJS API&#xff1a;https://cesium.com/learn/cesiumjs/ref-doc/index.html CesiumJS 是一个开源的 JavaScript 库&#xff0c;它用于在网页中创建和控制 3D 地球仪&#xff08;地图&#xff09; 一、添加矩形 <!DOCTYPE html> <html lang"en&…...

路测毫米波雷达标定和目标跟踪

1 2 3 4 5 6 查找匹配时&#xff0c;先对数据排序。逐帧对数据处理&#xff0c;运行速度快。单帧有噪点&#xff0c;多帧处理&#xff0c;准确率更高一些。 7 8 9 10 参考 路侧毫米波雷达标定与目标跟踪哔哔哩_bilibili路侧毫米波雷达标定与目标跟踪, 视频播放量 5855、弹幕量…...

【sqlmap使用手册-持续更新中】

SQLMap 简介 SQLMap 是一个开源的渗透测试工具&#xff0c;用于自动化检测和利用 SQL 注入漏洞。它支持多种数据库&#xff0c;包括 MySQL、PostgreSQL、Oracle、SQL Server 等。 可以通过以下命令安装sqlmap git clone https://github.com/sqlmapproject/sqlmap.git最常用的…...

面向对象三大特征之一:封 装

1、特点 封装是面向对象的核心思想&#xff0c;两层含义&#xff1a;一是一个整体&#xff08;把对象的属性和行为看成一个整体&#xff0c;即封装在一个对象种&#xff09;&#xff0c;二是信息隐藏&#xff0c;对外隐藏&#xff0c;但可以通过某种方式进行调用。 2、访问权…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...