基于传感器的人类行为识别DL方法难在哪?这篇综述列了11项挑战-阿里云开发者社区

开发者社区> 超努力的写代码> 正文

基于传感器的人类行为识别DL方法难在哪?这篇综述列了11项挑战

简介: 传感器设备和物联网的广泛应用使得基于传感器的人类行为识别成为可能。然而,这个领域仍然存在一些重大挑战(challenge),可能会影响行为识别系统在实际应用场景中的性能。在这篇论文中,来自新南威尔士大学、西北工业大学、密歇根州立大学的研究人员综述了近期被用于解决具体行为识别挑战的深度学习方法,并提出了一种基于挑战的分类体系。
+关注继续查看

除此之外,他们还总结了可用于评估不同挑战任务的公共数据集并讨论了尚待解决的问题,同时为未来的方向提供了一些见解。


微信图片_20211203013747.jpg


原文链接:https://arxiv.org/abs/2001.07416

本文提出的分类体系可分为以下 11 个方面:


1. 特征提取(Feature Extraction)


特征提取是人类行为识别的关键步骤之一,也是得到高识别率的挑战之一。这在一定程度上是由于人类活动的范围很广,而且某一特定行为的表现方式千差万别。本文将特征提取的方法分为三类:时间特征提取(Temporal Feature Extraction)、多模态特征提取(Multimodal Feature Extraction)和统计特征提取(Statistical Feature Extraction)。


微信图片_20211203013818.jpg

图1. 几种多模态特征提取的方法。


2. 注释的稀缺性(Annotation Scarcity)


深度学习依赖大量的标记数据,然而,如此大量的可靠标记数据并不总是可获得的,原因有二:1. 注释过程是昂贵、耗时且非常繁琐的;2. 标注过程容易受到各种噪声源的影响,如传感器噪声、分割问题以及不同人之间活动的差异,这使得标注过程容易出错。本文将解决注释稀缺性的方法分为两类:无监督学习(Unsupervised Learning)和半监督学习(Semi-supervised Learning)。其中,在没有任何标记数据给定真值的情况下,无监督学习至今仍然无法独立完成行为识别。因此,半监督学习的人类行为识别方法是最近的趋势。


本文列举了三种常用于行为识别系统的半监督学习方法,分别是:协同训练(Co-training)、主动学习(Active Learning)和数据增强(Data augmentation)


3. 类不平衡性(Class Imbalance)


类不平衡性是由于一些特定活动的传感器数据很难获取,比如老年人摔倒等等。此外,在不受限制的条件中记录的原始数据天然地是类不平衡的。当使用不平衡的数据集时,传统的模型倾向于预测训练样本数量较多的类别而忽略训练样本数量较少的类别。因此,类别失衡问题的解决迫在眉睫。


4. 数据的异质性(Heterogeneity)


许多最新的人类行为识别方法都假设训练数据和试验数据是独立同分布的。然而,这是不切实际的。这是由于行为识别的传感器数据是异质的。传感器数据的异质性可以分为三类。


首先是用户的异质性(Heterogeneity with Users)。由于生物和环境因素,同样的行为由不同的人实施可以有不同的表现。例如,有些人走得很慢,有些人走得很快。第二个异质性与时间有关(Heterogeneity with Time)。在动态流环境中,行为的数据分布随着时间变化(Concept Drift),新的行为也可能出现(Concept Evolution/Open-Set)。


第三类异质性与传感器有关(Heterogeneity with Sensors)。用于人类活动识别的传感器通常是敏感的。一个小变化会对传感器数据造成很大的干扰。可能导致传感器异质性的因素包括传感器实例(Sensor Instances)、类型(Sensor Types)、位置(Sensor Positions)和布局(Sensor Layouts)。


考虑到以上三种类型产生的数据异质性,且在现实场景中识别系统常常在无约束的情况下布置传感装置,我们可以观察到训练数据和测试数据两者之间的分布差异,因此,无缝的深度学习模型对于行为识别是必要的。


微信图片_20211203013923.jpg

图 2. 三种随时间变化的异质性的分布情况。


5. 复合行为(Composite Activities)


大多数人类行为识别任务是基于简单的活动,比如走路和坐着。然而,记录人类日常活动更有意义的方式是由一系列简单行为组成的复合行为。例如,「洗手」可以表示为 {打开水龙头,皂洗,搓手,关掉水龙头}。由于复合行为不仅仅需要识别人体活动,还需要识别周遭环境的信息,因此比识别简单行为更有挑战性。


6. 数据分割(Data Segmentation)


由于原始传感器数据由连续流信号表示,因此固定大小的窗口通常被用于将原始传感器数据序列分割成段,作为模型的输入。这对于克服单一时间步长样本的限制是至关重要的。理想情况下,一个分区数据段只有一个行为,因此一个模型对于单一窗口内的所有样本只预测一个标签。但是,一个窗口中的样本不一定总是共享相同的标签,尤其是在行为转换的过程中。因此,一个好的分割方法是提高行为识别精度的关键。


7. 并行行为(Concurrent Activity)


在真实的场景中,除了按顺序逐个执行每个行为之外,一个人可以同时进行多个行为,这被称为并行行为。例如,一个人可以在看电视时打电话。从传感器的角度来看,一段数据可能对应多个行为。因此,并行行为识别可以抽象为一个多标签任务(multi-label task)。


8. 多人行为(Multi-occupant Activity)


生活和工作空间通常由多个人居住,因此,设计解决多人行为问题的方案具有重要的现实意义。主要有两种类型的多人行为:1. 平行行为(Parallel Activity),比如一个人在吃饭,另一个人在看电视。2. 合作行为(Collaborative Activity),多个居住者合作执行相同的活动,如两个受试者打乒乓球。对于平行行为的识别,当只有可穿戴传感器时,可将其划分为多个单人行为识别任务,并采取传统的解决方案;当使用环境或对象传感器时,数据关联映射到多人的感知信号是主要挑战,并且随着空间中人数的增加而变得更加困难。合作行为通常包括人与人之间的交互并使用各种器械,因此,上下文和对象使用信息在设计识别解决方案中起着至关重要的作用。


9. 运算成本(Computation Cost)


虽然深度学习模型在基于传感器的人类行为识别中显示出了主导作用,它们通常是资源密集型的。例如早期的 DCNN 架构,AlexNet,它有 5 个 CNN 层和 3 个全连接层,处理 61M 参数(249MB 内存),执行 1.5B 高精度操作进行预测。对于不可移植的应用程序,我们通常使用图形处理单元(GPU)加速计算。然而,GPU 是非常昂贵和耗电的,所以不适合用于移动设备上的实时应用程序。目前的研究已经证明了通过引入额外的层和节点来加深神经网络是一种关键的提高模型性能的方法,但是这样不可避免地增加了计算复杂度。因此,如何解决计算量大的问题实现实时性是一个非常重要和具有挑战性的课题。


10. 隐私性(Privacy)


人类行为识别的主要应用是对人类行为的监测,因此传感器需要不断地捕捉用户的活动。由于执行行为的方式因用户而异,所以对手可以通过时间序列传感器数据推断用户的敏感信息,如年龄。具体来说,对于深度学习技术而言,其黑箱特性可能会在无意中暴露出用户的鉴别特征。研究表明,即使 CNN 只接受针对行为分类的交叉熵损失训练,所获得的 CNN 特征仍然具有很强的用户识别能力。因此,解决深度学习模型的隐私泄露问题至关重要。


11. 深度学习对于传感器数据的可解释性(Interpretability of Deep Learning Models in Sensory Data)


人类行为的传感器数据是不可读的。一个数据样本可能包括在一个时间窗口内从多个位置(如手腕、脚踝)得到的不同数据(如加速度、角速度)。但是,只有少数从具体位置采集的数据有助于确定某些活动。不相关的数据会引入噪声,影响识别性能。此外,数据的重要性随时间而变化。例如,在帕金森病检测系统中,异常只出现在短时间内的步态中,而不是整个时间窗口中。直观地说,当身体的某个部分在积极地运动时,相关的数据才有更大的意义。本文将用于人类行为识别的可解释的深度学习方法分为三类:传统方法,软注意力方法(Soft Attention)和硬注意力方法(Hard Attention)。


微信图片_20211203014044.jpg表 1. 常用的公共数据集。



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10092 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10886 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12077 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
11819 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4660 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7503 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
1946
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载