针对物联网边缘设备基于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%。这些结果强调了组合模型压缩方法在物联网边缘设备上的快速、节能部署的有效性和适用性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3402.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

0.STM32F1移植到F0的各种经验总结

1.结构体的声明需放在函数的最前面 源代码: /*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //开启USART1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructu…

【AIGC】ChatGPT提示词Prompt高效编写技巧:逆向拆解OpenAI官方提示词

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯OpenAI官方提示词的介绍OpenAI官方提示词的结构与组成如何通过分析提示词找到其核心组件 💯OpenAI官方提示词分析案例一:制定教学计划案例二&…

Leetcode 62. 不同路径 动态规划+空间优化

原题链接&#xff1a;Leetcode 62. 不同路径 二维数组&#xff1a; class Solution { public:int uniquePaths(int m, int n) {int res 0;int box[m][n];for (int i 0; i < m; i) {box[i][0] 1;}for (int j 0; j < n; j) {box[0][j] 1;}for (int i 1; i < m;…

app的登录破解 frida jadx

今天收到了一个APP让我研究一下登录 登录已经研究完成 下面则是我的整体思路 为了安全考虑这个app我就不说是那个了 我就说整体的思路 仅供交流学习 严谨非法使用开始进行抓包 手机使用代理连接charles 之后开始点击app登录 进行抓包下面则是我抓到的包 抓包之后j进行改包 也…

【IEEE/CCF-C类】1区顶刊变水刊?发文量暴涨1600+,光速审稿,圆你顶刊梦!

&#x1f525; &#x1f525; &#x1f525; &#x1f525; 本期小编解析的是一本由IEEE旗下多个学会联合出版的计算机领域的TOP期刊《IEEE Internet of Things Journal》&#xff0c;该期刊自2014年创刊&#xff0c;专注于物联网&#xff08;IoT&#xff09;领域的研究…

django高校学生信息管理系统-计算机毕业设计源码02553

django高校学生信息管理系统 摘 要 本研究旨在设计和实现基于Django框架的高校学生信息管理系统&#xff0c;涵盖了系统用户、学生信息管理、教师信息管理、课程分类管理、开课信息管理、选课信息管理、课表信息管理、成绩信息管理、系统管理、网站公告管理和校园资讯等多个功能…

特殊矩阵的压缩存储

一维数组的存储结构 ElemType arr[10]; 各数组元素大小相同&#xff0c;且物理上连续存放。 数组元素a[i]的存放地址 LOC i * sizeof(ElemType)。&#xff08;LOC为起始地址&#xff09; 二维数组的存储结构 ElemType b[2][4];二维数组也具有随机存取的特性&#xff08;需…

中立性DEA交叉效率评价方法

今天推出中立性DEA模型的计算工具 参考文献&#xff1a;《中立性DEA交叉效率评价方法》袁剑波&#xff0c;吴立辉&#xff0c;魏思 中立性DEA交叉效率评价方法 在数据包络分析&#xff08;DEA&#xff09;对决策单元效率评价的方法中&#xff0c;对抗性DEA交叉效率方法把所有…

【Visual Studio】解决 CC++ 控制台程序 printf 函数输出中文和换行符显示异常

问题描述 C&C 控制台程序 printf 函数输出中文和换行符 \n 显示异常。 #include <stdio.h>int main() {int choice;printf("菜单:\n");printf("1. 选项一\n");printf("2. 选项二\n");printf("3. 选项三\n");printf("…

【dvwa靶场:XSS系列】XSS (Stored)低-中-高级别,通关啦

更改name的文本数量限制大小&#xff0c; 其他我们只在name中进行操作 【除了低级可以在message中进行操作】 一、低级low <script>alert("假客套")</script> 二、中级middle 过滤了小写&#xff0c;咱们可以大写 <Script>alert("假客套…

【Linux】深入理解进程控制:从创建到终止和进程等待

文章目录 进程创建fork函数如何用fork函数创建子进程写实拷贝 进程终止错误信息exit_exit 进程等待waitwaitpid 总结 进程创建 fork函数 fork 函数是 Unix/Linux 系统中用于创建新进程的系统调用。调用 fork 后&#xff0c;当前进程&#xff08;父进程&#xff09;会被复制&a…

【java】对象的内存存储

目录 对象在内存中的分配设计到的内存结构(理论)类中对象的内存解析创建类的一个对象&#xff0c;属性赋值创建类的多个对象&#xff0c;属性赋值 对象在内存中的分配设计到的内存结构(理论) 栈&#xff1a;方法内定义的变量&#xff0c;存储在栈中 堆&#xff1a;new出来的结…

【wrl2stl】WRL文件转STL文件-Python

之前有一篇博客写了Avizo自动化批量导出wrl文件&#xff1a;【Avizo&Python】离散颗粒的分割、网格化与单颗粒批量自动保存wrl文件_avizo python-CSDN博客 还有一篇写了wrl转为xyz格式文件&#xff1a; Wrl文件转XYZ文件-Python_python 打开wrl三维模型-CSDN博客 在这篇…

【Linux系统编程】第三十九弹---探索信号处理的奥秘:阻塞信号与sigset_t的深入剖析及实战

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、信号处理 2、阻塞信号 2.1、信号其他相关常见概念 2.2、在内核中的表示 2.3、sigset_t 2.4、信号集操作函数 3、完整…

零基础Apifox测试FastAPI接口入门

文章目录 一、FastAPI部分二、Apifox部分1、安装Apifox2、创建接口3、更改测试环境4、发送请求 一、FastAPI部分 python使用fastapi编写接口内容&#xff08;文件名&#xff1a;text.py&#xff09;&#xff1a; from fastapi import FastAPI import uvicornapp FastAPI()ap…

Linux终端退出程序后,TCP地址仍被占用

报错如下&#xff1a; Error on binding: Address already in use 这是一个正在运行的服务器&#xff0c;运行在linux的终端。上一次我使用CtrlZ退出这个程序&#xff0c;再次./my_server想运行这个程序时&#xff0c;出现这个报错。这是由两点原因&#xff1a; 1、守护进程或…

嵌入式通信协议:IIC简明学习笔记

IIC学习笔记 IIC特点 1.适合 小数据场合使用&#xff0c;传输距离短。 2.只能有一个主机。 3.标准IIC速度为100kHZ&#xff0c;高速IIC一般可达400kHZ以上。 4.SCL和SDA都需要接上拉电阻&#xff08;大小由速度和容性负载决定&#xff0c;一般在3.3k-10k之间&#xff09;。 5…

基于anaconda的python3.6安装opencv4.1.15

opencv-python一些新版本由于部分函数涉及专利问题&#xff0c;如sift和surf&#xff0c;有些功能不能很好地被使用&#xff0c;所以最好使用opencv-python 3.4.1.15版本的。 下载地址分别为&#xff1a; 1、https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/ 查找…

【自制操作系统】0x01MBR

环境 ubuntu 20.04 gcc 9.4.0&#xff08;加载硬盘程序之前都是&#xff0c;最后可能会切换到 gcc 4.4&#xff09; bochs 2.7 bochs 配置 bochs 安装之前文章记录过&#xff0c;现在记录一下本次使用的bochs配置 bochsrc #第一步&#xff0c;首先设置 Bochs 在运行过程中…

SpringBoot接入星火认知大模型

文章目录 准备工作整体思路接入大模型服务端和大模型连接客户端和服务端的连接测试 准备工作 到讯飞星火大模型上根据官方的提示申请tokens 申请成功后可以获得对应的secret&#xff0c;key还有之前创建的应用的appId&#xff0c;这些就是我们要用到的信息 搭建项目 整体思…