【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture

本文主要是介绍【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Falls Prediction Based on Body Keypoints and Seq2Seq Architecture

作者:Minjie Hua,Yibing Nan,Shiguo Lian
单位:CloudMinds Technologies Inc
发表信息:IN HBU 2019 (ICCV Workshop)
论文链接:https://arxiv.org/pdf/1908.00275

背景动机:

  老年人摔倒引起的受伤是发病,残疾和医疗保健利用率提高的主要原因。因此,跌倒预测是老年人护理和家庭监控等最有意义的应用之一。作为人类动作识别(HAR)的子问题,我们通常可以使用HAR算法将跌倒识别为动作类别之一。通常卷积网络(ConvNets)和时间建模是动作识别的两个主要变量。但是,2D ConvNets不使用时间信息。3D ConvNets采用三维卷积内核以从视频数据中提取的时空特征。像Two-Stream和TSN这样的时间建模方法,使用2D卷积提取空间特征,并使用递归神经网络(RNN)编码时间信息。
  作者基于人体关键点而不是原始RGB图像来识别跌倒,这会降低保留关键信息的特征的维数,在跌倒预测方面,作者提出了一种基于序列到序列(seq2seq)的动作预测模块,用于基于观察到的关键点序列来预测未来的关键点序列。

同行工作情况介绍;

  1. 跌倒检测
      跌倒检测早期需要在待监控的人身上穿戴加速度。Bourke等人提出了一种基于峰值加速度来检测跌倒的方法。Narayanan等人开发了一种分布式跌倒管理系统,该系统能够使用腰部安装的三轴加速度计进行实时跌倒检测。Bianchi等人在同一个额外的大气压力传感器增强的前跌倒检测系统,并发现结合压力信息的算法具有较高的精度。Karpathy等人率先引入了CNN用于人类动作识别。但是,上述方法都不涉及动作预测模块。
  2. 动作识别与预测
      S. Ma设计了新颖的ranking losses,以学习LSTM中进行的活动来进行早期分类。Kong等人采用了自动编码器,通过从完整的动作视频中学习来从观察到的帧中重建缺失的特征。近年来,运动预测引起了人们的广泛关注。Fragkiadaki等人提出了编码器循环解码器(ERD)模型,该模型扩展了长期短期记忆(LSTM),以共同学习表示形式及其动力学。Jain等人在中基于时空图(st-graphs)提出了结构RNN(SRNN),以捕获人与物体之间的相互作用。
  3. seq2seq模型
      I.Sutskever 提出了seq2seq框架,该框架被应用于机器翻译并获得了出色的性能。后来,他们引入了相同的会话建模方法。本文采用seq2seq框架构造动作预测模块,该模块与跌倒分类器一起对跌倒事件进行预测和分类。

算法思路

图1 模型框架
  模型工作流程为:首先一系列观察到的帧被输入到网络。然后提取每个帧的身体关键点以形成关键点序列,该序列用于预测相应的未来关键点序列。最后,将预测的身体关键点传递到跌倒分类器中,以判断视频中出现的人将来是否会跌倒。
  在输入帧中,作者首先使用OpenPose从每个观察到的帧中提取每个人的关键点坐标,将检测到的人的边界框传递给DeepSort(一种跟踪算法),以聚类每个人的关键点组。之后,一个人对应于一系列关键点 。作者利用关键点矢量化方法来强调表示中的关键特征。然后采用seq2seq模型来预测未来的身体运动。
图2 基于seq2seq的跌倒预测模块的架构

  seq2seq模块由一个编码器(绿色)和一个解码器(蓝色)组成。编码器中的每个LSTM单元都接受一个转换后的关键点向量,并产生一个隐藏的向量。最后的隐藏矢量被传递到解码器以生成第一个预测,随后的LSTM单元接收先前的预测并生成新的预测。
  作者采用传统的全连接神经网络进行分类。输入层有24个神经元,等于解压缩的关键点向量的长度。设置了五个隐藏层,分别具有96、192、192、96、24个神经元。具有2个神经元的输出层用于产生二进制预测:“跌倒”或“无跌倒”。

实验

  作者在Le2i跌倒检测数据集上训练和评估了模型。数据集包含在四个不同场景下捕获的191个视频:家庭,咖啡室,办公室和演讲室。帧速率为每秒25帧,分辨率为320×240,在每个视频中,演员执行各种正常活动和跌倒(在多个视频中可能没有跌倒)。
  采用均方误差(MSE)作为损失函数,并使用Adam进行优化。学习率设置为0.001。对于跌倒分类器,我们采用了7层全连接神经网络,包括1个输入层,5个隐藏层和1个输出层。输入层包含24个神经元以接收单个关键点向量作为输入,每个隐藏层中的神经元数分别为96、192、192、96、24,输出层具有2个神经元来预测人是否倒下。分类模型在训练阶段采用交叉熵损失函数。利用Adam以0.001的学习率优化跌倒分类器。

结果

  与基于RGB的流行动作识别模型C3D,Two-Stream和TSN的对比。
表1 实验对比
  测试集包括2865个样本,其中包括531个阳性样本(跌倒)和2334个阴性样本(没有跌倒)。采用accuracy,precision,recall和F1-score来评估每个模型。如表1所示,基于关键点的模型显示出比基于RGB的模型更好的性能,这证明了使用关键点信息识别跌倒是有效的。
图2 跌倒模型预测结果

  在情况(a)-(c)中,模型会根据观察到的视频剪辑成功预测未来的关键点序列,并提前产生正确的标签。(d)和(e)是两个失败案例。在(d)中,由于摄像机的视角,在提取的关键点中有许多缺失的检测。在(e)中,观察到的关键点序列不包括任何跌倒的“前兆”,这会导致错误的预测和分类。

算法优点

  作者提出了一个由动作预测模块和跌倒分类器组成的模型来提前预测跌倒事件。动作预测模块基于seq2seq体系结构,该体系结构将一系列矢量化人体关键点作为输入,并预测未来的关键点序列。然后将预测的关键点向量传递到跌倒分类器中以产生标签。作者模型在Le2i数据集上进行了评估,并通过实验结果证明了预测跌倒的能力。

算法缺点

  若由于摄像机的视角,提取的关键点中有缺失。此时模型会产生错误的关键点预测,这会产生错误的分类。而且如果观察到的关键点序列不包括任何跌倒的“前兆”,也会导致错误的预测和分类。

这篇关于【论文阅读笔记】:Falls Prediction Based on Body Keypoints and Seq2Seq Architecture的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/337657

相关文章

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个