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

2024/3/10周报

文章目录

  • 摘要
  • Abstract
  • 文献阅读
    • 题目
    • 问题
    • 创新点
    • 方法
      • Section1:运动员检测
      • Section2:行为识别
        • 输入层
        • 隐藏层
        • 输出层
    • 实验
      • 实验数据
      • 评估指标
      • 模型设置
      • 实验结果
  • 深度学习
    • 模糊逻辑系统
      • 概念
      • 模糊化
      • 模糊规则
      • 解模糊
  • 总结

摘要

本周阅读了一篇关于基于YOLO和深度模糊LSTM网络的篮球动作识别的论文,文章中作者使用YOLO模型检测球员动作,使用LSTM和模糊层的组合用于执行最终分类,该模型的优越性在SpaceJam和Basketball-51数据集上进行了验证。此外,还对模糊逻辑系统进行进一步的补充学习。

Abstract

This week, a paper about basketball action recognition based on YOLO and deep fuzzy LSTM network is readed. In this paper, the author uses YOLO model to detect players’ actions, and uses the combination of LSTM and fuzzy layer to perform the final classification. The superiority of this model is verified on SpaceJam and Basketball-51 data sets. In addition, the fuzzy logic system is further supplemented and studied.

文献阅读

题目

Basketball action recognition based on the combination of YOLO and a deep fuzzy LSTM network

问题

在体育领域,由于复杂的背景、运动员受阻的动作和照明条件不一致等因素,检测识别篮球运动员的动作仍然是一项艰巨的任务。
篮球手势识别主要有两种方法:基于惯性传感器的识别和基于图像采集的识别。基于惯性传感器的方法要求运动员佩戴传感器,该传感器收集发送到处理终端进行分析的数据。这种方法涉及很多设备,并不广泛适用。

创新点

1) 为了提高从含噪视频图像中提取篮球运动的能力,采用中值滤波作为预处理步骤来抑制噪声干扰。
2) 使用YOLO V4更好地从篮球视频图像中提取信息丰富的特征信息。
3) 使用包括LSTM单元和Type-2模糊逻辑的网络来执行分类。

将LSTM与Type-2模糊逻辑相结合可以通过允许更灵活的隶属函数和推理机制来进一步增强对噪声的鲁棒性。这导致通过去除对识别视频图像中的篮球动作没有贡献的特征信息来提高篮球姿势识别的准确性。

方法

Section1:运动员检测

首先进行数据预处理步骤,处理篮球图像中的噪声。然后使用YOLO v4模型检测运动员。YOLO v4是一个一级网络,包括the backbone, neck, head三个部分。主干用作特征提取网络,并从输入图像生成特征图,可以使用卷积神经网络(如VGG16或CSPDarkNet53)进行预训练。颈部用于连接主干和头部,并且由空间金字塔池化(SPP)模块和路径聚合网络(PAN)组成。颈部将来自骨干网络各层的特征图组合起来,并将它们作为输入发送到头部。头部然后处理合并的特征并预测边界框。
在这里插入图片描述
在这里插入图片描述

作者提出的模型中,CSPDarkNet-53被用作从输入图像中提取特征的主干。主干包括五个残差块模块,并且来自这些模块的特征图输出在网络的颈部合并。在颈部,SPP模块将低分辨率特征映射的最大池化输出与大小为1 × 1、5 × 5、9 × 9和13 × 13的内核连接起来,步长值为1。通过连接SPP模块的特征图,主干特征的感受野被扩大,提高了网络检测小物体的能力。这些连接的特征图然后使用PAN与高分辨率特征图合并。PAN创建自下而上和自上而下的路径以连接低级和高级特征,生成用于预测的若干组合特征图。YOLO v4网络包括三个检测头,每个检测头都是负责计算边界框的YOLO v3网络。

Section2:行为识别

使用LSTM和type-2 Fuzzy logic的组合来进行行为识别,通过使用2型模糊逻辑作为LSTM模型之上的附加层,该层将LSTM输出作为输入,并应用模糊推理对数据中的不确定性和不精确性进行建模。

该部分包括输入层、隐藏层和输出层,输入层接收来自YOLO v4的原始数据。此输入层的输出为隐藏层提供信息。隐藏层包括LSTM和Type-2模糊推理模型。采用的LSTM网络和模糊系统的结构如下图所示:
在这里插入图片描述
在这里插入图片描述

输入层

fuzzy logic模糊逻辑可以在输入和推理层面和神经网络集成,通过使用模糊集,输入可以不再是具体清晰的值或二进制信号,允许输入为不确定的、模糊的数据。模糊推理系统可以和深度学习模型一起训练。

在输入层,输入被模糊化以映射离散时间的非线性函数,输入结构描述如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

隐藏层

该层基于2型模糊推理引擎,通过从前一层获得的整个输入序列来创建时间向量,包括K节点,表示当前规则的强度。模糊隶属函数(MF)用于定义2型模糊集,其中给定集合中元素的隶属度表示为[0,1]范围内的模糊集。假设模型有N个内存单元,在表示当前时间的每个时间步t,网络维护使用以下等式计算的向量的集合:
在这里插入图片描述在这里插入图片描述

该结构可以根据时间序列数据集的维度进行调整、再次训练和修改。
存储单元的中点是一个简单的线性元件,具有自回归连接,将0和1之间的权重分配给模糊值。当没有其他输入时,此链接保持单元的当前状态。
另外,单元从输入单元和其它门接收输入,描述了模糊部分和用于模糊范围[0,1]中的所有门的sigmoid函数:
在这里插入图片描述

以下等式用于测量单元的输入(netc):
在这里插入图片描述

单元输入传递非线性函数g(x),它是一个逻辑函数,其标度模糊值在[− 3,3]范围内:
在这里插入图片描述

为了定义前因MF,使用考虑不确定收入的高斯分布来建立每个前因的主要MF。这可以用下面的公式表示:
在这里插入图片描述
在这里插入图片描述

输出层

模糊信息在该层进行解码。将模糊信息转换为1型模糊集,并最终转换为清晰值。这个转换过程是由模糊推理系统进行的,该系统从体系结构的最后一部分接收输入。当所有的值都变为非模糊时,它们就被转换成一个二维数组。为了实现类型归约过程,使用Karnik-Mendel算法:
在这里插入图片描述

整个算法流程如下:
在这里插入图片描述

实验

实验数据

为了证明所提出的模型的鲁棒性和通用性,作者在两个数据集上实现所提出的模型,即Basketball-51和SpaceJam 数据集。
SpaceJam数据集:
大约32560个示例,可以作为训练和测试阶段的基础。数据集中的每个视频包括15帧,帧速率为每秒10帧,分辨率为128 × 176像素。
包括篮球运动员的动作,分为两个部分。第一部分被称为关节数据集和特征样本,描述了单人姿势的关节位置。第二部分称为剪辑数据集,包括每个动作的RGB通道中的所有帧。
Basketball-51数据集:
包含51场NBA篮球比赛中录制的10,311个视频片段。这些片段被分类为八个类别标签:两分未命中、两分命中、三分未命中、三分命中、罚球未命中、罚球命中、中距离投篮未命中和中距离投篮命中。基于不同标签的数据集的数据分布如图所示:
在这里插入图片描述
在这里插入图片描述

评估指标

使用10-Fold交叉验证来验证结果,将数据随机分为K(10)个大小相等的部分,去掉一个部分(K),将该方法拟合到剩余的K-1个部分(联合),然后获得对被去掉的第K个部分的预测。采用了四个标准的指标,准确率,精度,召回率和F-措施,评估所提出的模型的有效性。此外还纳入了该领域常用的AUC(ROC曲线下面积)指标。这些度量可以基于以下等式来计算。

在这里插入图片描述
在这里插入图片描述

模型设置

下表是实验中使用的超参数值,在随机训练和验证集上使用随机梯度下降方法进行训练:
在这里插入图片描述

实验结果

Case Study 1: SpaceJam Dataset
该数据集包含10个不同的标记动作。基于该数据集的所有评价指标的实验结果见下表:
在这里插入图片描述

Case Study 2: Basketball‑51 Dataset
下表表示在Basketball-15数据集上获得的结果:
在这里插入图片描述

与其他网络(如Two-stream 3D network,3D ConvNet,ResC 3D,Yolo v4,EfficientNet-B 0,ShuffleNetV和JointFC)相比,作者提出的方法在识别准确性方面取得了显着提高,证实了使用YOLO v4与LSTM和模糊块的组合显着提高了识别准确性,并且能够最大限度地减少过拟合,提高网络训练的效率。

深度学习

模糊逻辑系统

概念

在这里插入图片描述

模糊是相较于传统的逻辑系统而言的。在传统逻辑中,非黑即白,就是0或者1,不是0,就是1,不存在其他的情况。而模糊逻辑,可以存在0到1之间的其他情况即灰色地带。

在模糊逻辑的眼中,大雨,小雨,和中雨之间是没有严格的界限的,也就是说某一种雨量的大小并不完全归属于某一个类,而是以隶属度来衡量的。比如对于10mm降雨,隶属于小雨的隶属度为0.5, 中雨的隶属度为0.4,大雨的隶属度为0.1;对于100mm降雨,小雨的隶属度为0, 中雨的隶属度为0.3,大雨的隶属度为0.7。

模糊流程由三个基本步骤组成,包括模糊化、模糊规则+推理方法、去模糊化。
其计算流程大致如下:
输入(采集明确数据)→ 模糊化(根据隶属度函数,如分段函数、分布函数,再从具体的输入,得到隶属度模糊集合(特征数据)) → 模糊规则库 + 推理方法 → 模糊结论 → 去模糊化

模糊化

将逻辑的输入数值(降雨量)转化成各个集合(小雨,中雨,大雨)的隶属度的过程就叫做Fuzzification,也是模糊逻辑的第一步。

模糊系统的输入是明确的数字。在模糊化的过程中,我们要将这些明确的值,根据隶属函数,对应到模糊集中的隶属度。隶属函数(或归属函数),就是把输入变量对应到模糊集合中某个介于0和1之间的值,求出隶属度。如果在给定集合中的隶属度是1,我们就说该输入数据对集合而言是绝对真。如果隶属度是0,则我们说对该集合而言为绝对假。如果隶属度介于0和1之间,则为某种范围的真,即某种程度为真。(例:有点高,即某种程度的高)
在这里插入图片描述

常见的隶属度函数包括:高斯隶属函数、广义钟型隶属函数、三角形隶属函数、梯形隶属函数、Z型隶属函数等。
在这里插入图片描述

模糊规则

将明确的输入都模糊化后,接着要做的是构建一组规则,以某种逻辑方式结合输入数据,生成某些输出结果。和传统逻辑运算一样,我们引入模糊逻辑运算符交集(AND)、联集(OR)以及补集(NOT)。对于模糊变量来说,OR逻辑运算符被定义为操作数中的最大值,AND逻辑运算符被定义成操作数中的最小值,NOT运算符则是1减去操作数的隶属度。在传统逻辑的布尔系统中,每条规则会逐一运算,直到有条规则为真为止,然后就开始运行此结论。在模糊逻辑的系统中,所有的规则都会同时进行运算,每条规则都会运行(因为每条规则都是部分真),然而,运行的强度或程度则各不相同。每条规则的前提的逻辑运算结果,会产生该规则结论的强度。换句话说,每条规则的强度代表的是输出的模糊集合中的隶属程度。

经过模糊逻辑运算后,我们可以得到多维真值表,根据每个维度的模糊结果来选择行动或者打分。我们以一个简单例子为例,是关于空战的例子,根据我机指向对手角度的好坏、距离对手相对距离大小,给出“方位/距离态势”评分,得分越高态势越有利,所以模糊逻辑建模如下图所示。
在这里插入图片描述

左边是两个模糊集合,分别是距离和指向角度,右边是模糊规则,表中的数字表示方位/距离态势评分,得分越高态势越有利。比如,如果经过输入数据模糊化,得到相对距离很近以及指向角度很正的模糊结果,我们就会查表得3分,即认为态势非常有利。

解模糊

当想用精确数值作为模糊系统的输出数据时,就需要解模糊的过程。在前面我们说过,每条规则都会得到某个输出模糊集合中的隶属程度。在推理得到的模糊集合中取一个最能代表这个模糊集合的单值的过程称作解模糊。常用的方法有最大隶属度法、最大平均法、面积均分法和重心法。
应用

  1. 利用神经网络,来学习、演化模糊规则库。类似数据挖掘的过程,模糊竞争学习算法,利用神经网络来增强的模糊计算系统。
  2. 利用模糊控制方法,不断改善神经网络的性能,如模糊BP算法:利用模糊计算增强的神经网络。

总结

人工神经网络具有较强的自学习和联想功能能力,人工干预少,精度较高,对专家知识的利用也较好;而模糊计算的特点有推理过程容易理解、专家知识利用较好、对样本的要求较低等。二者结合,有时能得到意想不到的好处。

相关文章:

  • 如何清除keep-alive缓存
  • mongodb的备份与恢复
  • C#与欧姆龙PLC实现CIP通讯
  • Draco点云压缩测试
  • scikit-learn保姆级入门教程
  • Qt 定时器事件
  • Python中,括号内部的for循环(列表推导式)
  • Kubernetes 安全秘籍:5 个你必须知道的知识点
  • 【操作系统学习笔记】文件管理1.9
  • ROS2动作通信的实现
  • 电子数字灯LED管变化数量
  • 计算机找不到api-ms-win-core-path-l1-1-0的5种解决方法
  • 解决ts报错:类型“entry”上不存在属性“$AppTools”
  • 【REST2SQL】12 REST2SQL增加Token生成和验证
  • YOLOv8.1.0安装
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • HTML-表单
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JS+CSS实现数字滚动
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 服务器之间,相同帐号,实现免密钥登录
  • 关于springcloud Gateway中的限流
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 为什么要用IPython/Jupyter?
  • 温故知新之javascript面向对象
  • k8s使用glusterfs实现动态持久化存储
  • 阿里云移动端播放器高级功能介绍
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)c52学习之旅-中断实验
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (十一)图像的罗伯特梯度锐化
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四) 虚拟摄像头vivi体验
  • (算法)Game
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .net core 6 集成和使用 mongodb
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET 分布式技术比较
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 指南:抽象化实现的基类
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET委托:一个关于C#的睡前故事
  • .net下简单快捷的数值高低位切换
  • .Net中wcf服务生成及调用
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @Builder用法
  • @RequestMapping处理请求异常
  • [20180224]expdp query 写法问题.txt
  • [20181219]script使用小技巧.txt