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

ASK-HAR:多尺度特征提取的深度学习模型

一、探索多尺度特征提取方法

在近年来,随着智能家居智能系统和传感技术的快速发展,人类活动识别(HAR)技术已经成为一个备受瞩目的研究领域。HAR技术的核心在于通过各种跟踪设备和测量手段,如传感器和摄像头,自动识别和分类人类的运动和活动。特别是智能手机,作为一种流行的传感器模式,为我们提供了丰富的个人运动数据,包括GPS、加速度计和陀螺仪等。这些数据的丰富性,使得我们能够通过深度学习等技术手段,对人类活动进行更为精确的监测和识别。

然而,传统的卷积神经网络(CNN)在处理HAR任务时存在一定的局限性。在这些网络中,每个特征层的人工神经元通常具有相同的感受野(RF)。这意味着,当面对需要从不同尺度捕捉特征的复杂人类活动时,网络的性能会受到限制。例如,要区分“走路”和“跳跃”这两种活动,就需要不同大小的感受野来强调不同活动的特征。因此,能够自适应调整感受野大小以匹配不同活动特征尺度的能力,对于提高HAR系统的准确性和鲁棒性至关重要。这也意味着,探索多尺度特征提取方法成为了亟待解决的问题。

尽管现有的一些模型,如InceptionNet,通过在特征层内部使用不同大小的多个核来适应性地改变感受野的大小,但这些多尺度数据只能以线性方式组合,这不可避免地降低了神经元的适应性。为了解决这一问题,提出了一种新的深度学习模型——ASK-HAR(Attention-based Multi-Core Selective Kernel Convolution Network for HAR)。该模型通过注意力机制,在具有不同感受野的多个分支之间进行核选择,从而增强了HAR性能。此外,我们还采用了CBAM(Convolutional Block Attention Module)注意力模块,用于时间序列特征提取和活动识别,以提高整体框架的性能。

二、相关工作

在探讨人类活动识别(HAR)领域的相关工作时,首先关注的是深度学习技术在HAR中的应用。近年来,深度学习,尤其是卷积神经网络(CNNs),在图像和视频识别领域取得了巨大成功,这促使研究者开始探索其在HAR任务中的潜力。注意到CNNs在处理时间序列数据方面也显示出了优势,因为它们能够从传感器数据中提取出复杂的特征,这些数据通常用于捕捉人类的日常活动。尽管CNNs在许多任务中表现出色,但在HAR中,固定大小的感受野(RF)成为了一个限制因素,因为不同活动的特征往往分布在不同的时间或空间尺度上。
为了解决这个问题,研究了多尺度特征提取方法。发现一些模型,如InceptionNet,通过在单个特征层中使用不同大小的核来适应性地改变RF大小。然而,这些模型只能线性地组合来自不同分支的多尺度数据,这限制了它们的适应性。此外,还关注了一些非线性技术,它们通过从多个路径学习多尺度特征来提高HAR的适应性。在这些研究的基础上,提出了ASK-HAR模型,这是一个基于注意力机制的多核选择性卷积网络,用于HAR。模型通过在具有不同RF的多个分支之间进行核选择来增强HAR性能,并且引入了CBAM注意力模块来提取时间序列特征并识别活动。这些模块的引入,使得模型能够在整体框架中更有效地处理和识别人类活动。
在评估模型时,选择了五个公共的HAR数据集,包括UCI-HAR、USC-HAD、WISDM、PAMAP2和DSADS。这些数据集包含了从不同传感器和不同场景下收集的活动数据,提供了一个全面的测试平台。通过与现有方法和基线模型的广泛比较,证明了ASK-HAR模型在所有数据集上都能实现高精度的识别结果。

三、ASK-HAR模型介绍

ASK-HAR模型是一种新颖的基于深度学习的人类活动识别(HAR)模型,它通过在具有不同感受野(RF)的多个分支之间进行核选择来增强HAR性能:
在这里插入图片描述

1. ASK-HAR模型的核心特点

ASK-HAR模型的核心在于其多核选择性卷积网络,它能够根据不同的输入内容自适应地选择合适大小的感受野。这种设计允许模型捕捉多尺度的特征,这对于理解和识别各种人类活动至关重要。模型使用了包括3×1、5×1、7×1和9×1在内的多个不同大小的卷积核,这些卷积核通过softmax注意力机制合并,以实现多尺度数据的聚合。
在这里插入图片描述

2. 注意力机制的应用

ASK-HAR模型采用了注意力机制,这是一种在深度学习中常用的技术,它可以使模型更加关注于输入数据中最重要的部分。在ASK-HAR中,这种机制被用来在多个分支之间进行核选择,从而优化HAR性能。此外,模型还采用了CBAM(Convolutional Block Attention Module)注意力模块:
[图片]

它结合了通道注意力和空间注意力,以学习和捕获与全局和局部活动特征相关的高级时间序列特征。
通道注意力:
[图片]

空间注意力:
[图片]

ASK-HAR模型的一个主要贡献是其对多尺度特征提取的研究。通过重建核心框架,模型能够获得更大的感受野,从而捕获更多的多尺度信息。这种多尺度信息的捕获对于提高模型在不同活动识别任务中的性能至关重要。

四、实验部分

在实验部分,我们对ASK-HAR模型进行了深入的测试和验证,以评估其在人类活动识别(HAR)任务中的表现。以下是实验过程的详细介绍:

数据集和基线模型

实验涉及五个公共的HAR数据集:UCI-HAR、USC-HAD、WISDM、PAMAP2和DSADS。这些数据集包含了从不同传感器和不同场景下收集的活动数据,为我们提供了一个全面的测试平台。为了比较ASK-HAR模型的性能,我们还构建了多个具有不同感受野的基线模型,并采用了不同的架构来增强对多尺度信息的捕获。

实验设计

ASK-HAR模型的主要目的是研究多尺度特征提取方法。我们重建了核心框架,使用softmax注意力机制在多核卷积中获得更多的尺度信息,从而让模型能够获得更大的感受野,捕获更多的多尺度信息。此外,我们还在模型中引入了CBAM注意力模块,以提高模型的表示和预测准确性,该模块结合了空间注意力和通道注意力,以学习和捕获与全局和局部活动特征相关的高级时间序列特征。
[图片]

UCI-HAR数据集
在UCI-HAR数据集上,ASK-HAR模型取得了非常优异的性能。具体来说,模型的测试准确率达到了97.25%,精确率为97.63%,召回率为99.60%,F1分数为98.60%。这些指标显示了模型具有很高的分类准确性和鲁棒性。同时,较短的推理时间意味着该模型可以有效地应用于需要快速响应的实际问题中。混淆矩阵和雷达图进一步展示了模型在各个类别上的性能,其中“Laying”活动达到了完美的精确率、召回率和F1分数,而“Sitting”和“Standing”活动的F1分数稍低,分别为92.58%和93.73%。
在这里插入图片描述
在这里插入图片描述

USC-HAD数据集
在USC-HAD数据集上,ASK-HAR模型同样表现出色,准确率达到了89.40%,F1分数为89.40%。模型在“RunningForward”和“Sleeping”活动上表现尤为突出,F1分数分别为96.42%和100%。然而,对于“ElevatorUp”和“ElevatorDown”活动,模型的F1分数较低,分别为43.62%和46.97%,这表明这些活动的分类较为困难。
在这里插入图片描述
在这里插入图片描述

WISDM数据集
在WISDM数据集上,ASK-HAR模型的准确率为98.46%,F1分数为98.46%。模型在“Sitting”和“Standing”活动上达到了完美的精确率、召回率和F1分数,均为100%。“Walking”和“Jogging”活动的F1分数分别为98.65%和98.91%,而“Upstairs”和“Downstairs”活动的F1分数略低,但仍然高于95%。
在这里插入图片描述
在这里插入图片描述

PAMAP2数据集
在PAMAP2数据集上,ASK-HAR模型的准确率为94.67%,F1分数为95%。模型在“Walking”和“Cycling”活动上表现优异,F1分数分别为99.20%和97.33%。然而,“Standing”活动的召回率较低,为58.82%,影响了其F1分数,仅为72.46%。
在这里插入图片描述
在这里插入图片描述

DSADS数据集
在DSADS数据集上,ASK-HAR模型的准确率为89.42%,F1分数为89.42%。模型在多个活动上取得了完美的精确率、召回率和F1分数,如“Sitting”、“LyingBack”、“LyingRight”、“BriskWalking-Treadmill”和“Exercise-Stepper”。但对于“Moving-Elevator”和“PlayingBasketball”活动,模型的F1分数较低,分别为55.26%和75.38%。
在这里插入图片描述
在这里插入图片描述

总结

通过这些实验,我们可以看到ASK-HAR模型在不同的HAR数据集上都展现出了卓越的性能。模型不仅在动态活动识别上表现出色,如“Walking”和“Running”,在静态活动识别上也有很好的效果,尽管对于一些特定的静态活动,如“Standing”,模型的性能还有待提高。此外,模型在处理一些复杂活动,如“ElevatorUp”和“ElevatorDown”,时也面临挑战。这些结果不仅证明了ASK-HAR模型的有效性,也为我们未来的研究提供了方向,特别是在提高模型对环境变化的鲁棒性以及对更复杂实际活动的识别能力方面。

相关文章:

ASK-HAR:多尺度特征提取的深度学习模型

一、探索多尺度特征提取方法 在近年来,随着智能家居智能系统和传感技术的快速发展,人类活动识别(HAR)技术已经成为一个备受瞩目的研究领域。HAR技术的核心在于通过各种跟踪设备和测量手段,如传感器和摄像头&#xff0…...

C语言:数据的存储

本文重点: 1. 数据类型详细介绍 2. 整形在内存中的存储:原码、反码、补码 3. 大小端字节序介绍及判断 4. 浮点型在内存中的存储解析 数据类型结构的介绍: 类型的基本归类: 整型家族 浮点家族 构造类型: 指针类型&…...

深入理解动态规划(dp)--(提前要对dfs有了解)

前言:对于动态规划:该算法思维是在dfs基础上演化发展来的,所以我不想讲的是看到一个题怎样直接用动态规划来解决,而是说先用dfs搜索,一步步优化,这个过程叫做动态规划。(该文章教你怎样一步步的…...

单片机基础模块学习——数码管(二)

一、数码管模块代码 这部分包括将数码管想要显示的字符转换成对应段码的函数,另外还包括数码管显示函数 值得注意的是对于小数点和不显示部分的处理方式 由于小数点没有单独占一位,所以这里用到了两个变量i,j用于跳过小数点导致的占据其他字符显示在数…...

【大数据】机器学习----------强化学习机器学习阶段尾声

一、强化学习的基本概念 注: 圈图与折线图引用知乎博主斜杠青年 1. 任务与奖赏 任务:强化学习的目标是让智能体(agent)在一个环境(environment)中采取一系列行动(actions)以完成一个…...

flink写parquet解决timestamp时间格式字段问题

背景 Apache Parquet 是一种开源的列式数据文件格式,旨在实现高效的数据存储和检索。它提供高性能压缩和编码方案(encoding schemes)来批量处理复杂数据,并且受到许多编程语言和分析工具的支持。 在我们通过flink写入parquet文件的时候,会遇到timestamp时间格式写入的问题。…...

redis实现lamp架构缓存

redis服务器环境下mysql实现lamp架构缓存 ip角色环境192.168.242.49缓存服务器Redis2.2.7192.168.242.50mysql服务器mysql192.168.242.51web端php ***默认已安装好redis,mysql 三台服务器时间同步(非常重要) # 下载ntpdate yum -y install…...

正则表达式中常见的贪婪词

1. * 含义:匹配前面的元素零次或者多次。示例:对于正则表达式 a*,在字符串 "aaaa" 中,它会匹配整个 "aaaa",因为它会尽可能多地匹配 a 字符。代码示例(Python)&#xff1a…...

CF 339A.Helpful Maths(Java实现)

题目分析 输入一串式子,输出从小到大排列的式子 思路分析 如上所说核心思路,但是我要使用笨方法,输入一串式子用split分割开,但是此时需要用到转义字符,即函数内参数不能直接使用“”,而是“\\”。分割开后…...

SQL 指南

SQL 指南 引言 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库系统的标准计算机语言。自1970年代问世以来,SQL已经成为了数据库管理和数据操作的事实标准。本文旨在为初学者和有经验的数据库用户提供一个全面的SQL指南,涵盖SQL的基础知识、高级…...

DDD架构实战第七讲总结:分层模型和代码组织

云架构师系列课程之DDD架构实战第七讲总结:分层模型和代码组织 一、引言 在前几讲中,我们介绍了领域驱动设计(DDD)的基本构造块和生命周期模型中的聚合。本讲将重点讨论如何将这些构造块和代码组织起来,探讨分层架构和六边形模型,以及如何组织代码结构。 二、工厂和资…...

Python “字典” 实战案例:5个项目开发实例

Python “字典” 实战案例:5个项目开发实例 内容摘要 本文包括 5 个使用 Python 字典的综合应用实例。具体是: 电影推荐系统配置文件解析器选票统计与排序电话黄页管理系统缓存系统(LRU 缓存) 以上每一个实例均有完整的程序代…...

(一)QT的简介与环境配置WIN11

目录 一、QT的概述 二、QT的下载 三、简单编程 常用快捷键 一、QT的概述 简介 Qt(发音:[kjuːt],类似“cute”)是一个跨平台的开发库,主要用于开发图形用户界面(GUI)应用程序,…...

在 Windows 系统上,将 Ubuntu 从 C 盘 迁移到 D 盘

在 Windows 系统上,如果你使用的是 WSL(Windows Subsystem for Linux)并安装了 Ubuntu,你可以将 Ubuntu 从 C 盘 迁移到 D 盘。迁移过程涉及导出当前的 Ubuntu 发行版,然后将其导入到 D 盘的目标目录。以下是详细的步骤…...

vue2的$el.querySelector在vue3中怎么写

这个也属于直接操作 dom 了,不建议在项目中这样操作,不过我是在vue2升级vue3的时候遇到的,是以前同事写的代码,也没办法 先来看一下对比 在vue2中获取实例是直接通过 this.$refs.xxx 获取绑定属性 refxxx 的实例,并且…...

GPSd定时检测保活TCP GPS源

为了在 TCP GPS 源丢失连接时自动重新连接,可以编写一个监控脚本,定期检查 gpspipe 输出中的 TCP 源数据是否存在。如果检测到丢失,则使用 gpsdctl 或直接命令重新添加 TCP 源。 1、工具 检查并安装必要工具,本例需要使用 gpspi…...

IDEA中Maven使用的踩坑与最佳实践

文章目录 IDEA中Maven使用的踩坑与最佳实践一、环境配置类问题1. Maven环境配置2. IDEA中Maven配置建议 二、常见问题与解决方案1. 依赖下载失败2. 依赖冲突解决3. 编译问题修复 三、效率提升技巧1. IDEA Maven Helper插件使用2. 常用Maven命令配置3. 多模块项目配置4. 资源文件…...

使用 Python 调用 OpenAI 的接口初识

使用 Python 调用 OpenAI 的接口非常简单,以下将结合实际代码示例和使用场景进行详细讲解,步骤如下: 文章目录 1. 安装 OpenAI 官方库2. 准备 API Key3. 基本使用示例:调用 ChatGPT**代码示例:****运行结果&#xff1a…...

2025 最新flutter面试总结

目录 1.Dart是值传递还是引用传递? 2.Flutter 是单引擎还是双引擎 3. StatelessWidget 和 StatefulWidget 在 Flutter 中有什么区别? 4.简述Dart语音特性 5. Navigator 是什么?在 Flutter 中 Routes 是什么? 6、Dart 是不是…...

【MQ】RabbitMq的可靠性保证

消息队列中的可靠性主要是分为三部分: 消息不丢失:确保消息从生产者发送到消费者消息不丢失消息不重复:确保消息不被重复消费消息顺序性:确保消费的顺序性 解决方案主要有以下几部分: 消息不丢失 生产者确认机制持久…...

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置,实现点灯实验。 新建文件 LED.c、LED.h文件,将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件,这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…...

Flink把kafa数据写入Doris的N种方法及对比。

用Flink+Doris来开发实时数仓,首要解决是如何接入kafka实时流,下面是参考Doris官方文档和代码,在自己项目开发的实践中总结,包括一些容易踩坑的细节。 目录 Routine Load方法 接入kafka实时数据 踩坑的问题细节 Flink Doris Connector方法 完整示例 Routine Load方法…...

Vue - 标签中 ref 属性的使用

在 Vue 3 中&#xff0c;ref 属性用于在模板中引用 DOM 元素或组件实例。通过 ref&#xff0c;可以直接访问这些元素或组件的实例&#xff0c;从而进行更复杂的操作&#xff0c;比如获取元素的尺寸、调用组件的方法等。 基本语法&#xff1a; <template><div ref&qu…...

leetcode-不同路径问题

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 看见题目…...

MongoDB 数据库备份和恢复全攻略

在当今数据驱动的时代&#xff0c;数据库的稳定运行和数据安全至关重要。MongoDB 作为一款流行的 NoSQL 数据库&#xff0c;以其灵活的文档模型和高扩展性备受青睐。然而&#xff0c;无论数据库多么强大&#xff0c;数据丢失的风险始终存在&#xff0c;因此掌握 MongoDB 的备份…...

CentOS7使用源码安装PHP8教程整理

CentOS7使用源码安装PHP8教程整理 下载安装包解压下载的php tar源码包安装所需的一些依赖扩展库安装前的配置修改配置文件1、进入php8的安装包 配置环境变量开机自启启动服务创建软连接常见问题1、checking for icu-uc > 50.1 icu-io icu-i18n... no2、configure: error: Pa…...

Baklib助力内容中台实施的最佳实践与成功案例探索

内容概要 在当今数字化发展的背景下&#xff0c;内容中台的概念逐渐受到重视。内容中台不仅仅是一个技术平台&#xff0c;更是企业在内容管理和运营效率提升方面的重要助力。它通过整合内部资源&#xff0c;实现信息的集中管理与高效利用&#xff0c;帮助企业应对日益复杂的市…...

rocketmq-product-send方法源码分析

先看有哪些send方法 首先说红圈的 有3个红圈。归类成3种发送方式。假设前提条件&#xff0c;发送的topic&#xff0c;有3个broker&#xff0c;每个broker总共4个write队列&#xff0c;总共有12个队列。 普通发送。负载均衡12个队列。指定超时时间指定MessageQueue,发送&#…...

python flask中使用or查询和and查询,还有同时使用or、and的情况

在 Flask 中处理数据库查询时&#xff0c;通常会结合使用 ORM 工具&#xff0c;例如 SQLAlchemy。以下是 or 查询、and 查询以及两者同时使用的示例。 文章目录 基础准备1. 使用 or_ 查询2. 使用 and_ 查询3. 同时使用 or_ 和 and_4. 更加复杂的嵌套查询 基础准备 假设有一个…...

【第一天】零基础入门刷题Python-算法篇-数据结构与算法的介绍(持续更新)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Python数据结构与算法的详细介绍1.基本概念2.Python中的数据结构1. 列表&#xff08;List&#xff09;2. 元组&#xff08;Tuple&#xff09;3. 字典&#…...