基于时频模糊算子的数据增强方法
关键词:时频模糊,数据增强,机器学习,音频预处理
我们引入时频模糊算子,该算子将信号的短时傅里叶变换与指定的核进行卷积,在SpeechCommands V2数据集上训练了一个使用ResNet-34架构的卷积神经网络(CNN)和一个使用TinyViT-11M架构的视觉变换器(ViT),使用不同增强设置的频谱图对音频信号进行分类,结果表明该算子可以显著提高测试性能,特别是在数据匮乏的情况下。
1、基于短时傅里叶变换(STFT)的模糊算子与基于谱图的模糊算子对比
STFT模糊最纯粹的实现包括一个STFT、一个卷积操作和一个逆STFT。在代码中,我们可以将其实现为一个函数,该函数作用于信号的波形;频谱图模糊,是通过首先计算频谱图,将其重缩放到对数分贝刻度,然后应用卷积来实现的,如广受欢迎的SpecAugment增强方法将频谱图乘以时频掩蔽。
- 输入信号处理:STFT模糊算子直接在STFT域进行模糊处理,而谱图模糊算子则在谱图域进行模糊处理,即先计算信号的STFT,然后取其平方模值得到谱图,并在谱图上进行模糊处理。
- 相位信息处理:STFT模糊算子保留了信号的相位信息,而谱图模糊算子会丢失信号的相位信息,只处理幅度信息。
- 模糊效果:由于STFT模糊算子考虑了相位信息,因此其模糊效果与谱图模糊算子有所不同,特别是对于相位变化较大的信号。
- 实现复杂度:STFT模糊算子的实现较为复杂,需要处理复数运算,而谱图模糊算子实现相对简单,只需进行实数运算。
- 逆变换处理:由于谱图模糊算子丢失了相位信息,因此逆变换需要通过相位检索等复杂方法来近似恢复原始信号,而STFT模糊算子则可以直接逆变换得到原始信号的近似。
- 适用场景:STFT模糊算子更适合需要精确恢复原始信号的增强场景,而谱图模糊算子更适用于对相位信息要求不高的场景。
2、参数设置
- 模糊核函数:选择选择正则性好的核函数,如高斯核,以保证模糊运算的可逆性和稳定性;调整核函数的形状参数,如高斯核的标准差,标准差应该适中,过小会导致模糊效果不明显,过大则会严重破坏信号结构;在时域和频域的标准差应保持一致,以确保时频域的均匀模糊效果。
- 窗函数:选择具有平滑边界及较低的旁瓣电平的窗函数,如汉明窗或汉宁窗,并确定窗函数的长度,较长的窗函数可以提供更好的时间分辨率,但也会降低频率分辨率;根据具体应用场景选择合适的窗函数,如语音信号处理中常用汉明窗,而音乐信号处理中常用汉宁窗。
- 模糊程度:调整模糊程度参数,例如模糊核的强度或模糊核的方差,以平衡增强效果和噪声。增大模糊核的大小,即增加核的宽度或高度,可以增加模糊的程度。减小核的大小,则会减小模糊程度。尝试使用不同的模糊算法,如高斯模糊、中值模糊等,每种算法都具有不同的模糊效果。
- 数据增强比例:指使用增强数据与原始数据之比,控制增强样本在训练集中的比例,例如20%的增强样本,以避免过拟合。
- 训练样本数量:当训练样本较少时,使用模糊增强效果更佳,但需权衡模型性能与训练效率。
- 测试阶段处理:决定是否在测试阶段使用增强,如果使用,需要注意增强程度不要与训练阶段产生较大差异。
3、适用场景
- 语音识别:通过时频模糊算子对语音信号进行增强,可以提高语音识别系统的鲁棒性,特别是在噪声环境下。实验证明,这种方法能够显著提升模型在语音命令识别任务中的性能。
- 音乐分类:通过对音乐信号的时频表示进行模糊处理,可以提高模型对音乐风格、乐器等分类任务的分类准确率,进而提升音乐信息检索的效率。
- 音频事件检测:在增强后的时频表示上训练模型,可以使其对音频事件(如拍掌、喊叫等)更加敏感,从而提升音频事件检测的准确率。
- 机器学习中的数据增强:作为一种数据增强手段,时频模糊算子可以帮助生成更多的训练样本,以提高模型的泛化能力,适用于机器学习中的多种信号分类任务。
- 语音增强:通过在时频域模糊处理含噪声语音的STFT,可以去除噪声,并恢复语音信号,是一种有效的语音增强方法。
- 声学场景分类:通过对训练样本的时频表示进行模糊处理,可以增加样本的多样性,有助于模型学习区分不同的声学场景。
- 关键词检测:模糊处理关键词语音的时频表示,可以模拟关键词在噪声环境下的变化,提高关键词检测系统的鲁棒性。
- 噪声抑制:在噪声抑制任务中,通过模糊含噪语音的时频表示,可以消除噪声,并恢复干净的语音信号。
相关文章:
基于时频模糊算子的数据增强方法
关键词:时频模糊,数据增强,机器学习,音频预处理 我们引入时频模糊算子,该算子将信号的短时傅里叶变换与指定的核进行卷积,在SpeechCommands V2数据集上训练了一个使用ResNet-34架构的卷积神经网络(CNN)和一…...
浅谈后端整合Springboot框架后操作基础配置
boot基础配置 现在不访问端口8080 可以吗 我们在默认启动的时候访问的是端口号8080 基于属性配置的 现在boot整合导致Tomcat服务器的配置文件没了 我们怎么去修改Tomcat服务器的配置信息呢 配置文件中的配置信息是很多很多的... 复制工程 保留工程的基础结构 抹掉原始…...
英码科技算能系列边缘计算盒子再添新成员!搭载TPU处理器BM1688CV186AH,功耗更低、接口更丰富
在数据呈现指数级增长的今天,越来越多的领域和细分场景对实时、高效的数据处理和分析的需求日益增长,对智能算力的需求也不断增强。为应对新的市场趋势,英码科技凭借自身的硬件研发优势,携手算能相继推出了基于BM1684的边缘计算盒…...
selenium 爬取今日头条
由于今日头条网页是动态渲染,再加上各种token再验证,因此直接通过API接口获取数据难度很大,本文使用selenium来实现新闻内容爬取。 selenium核心代码 知识点: 代码中加了很多的异常处理,保证错误后重试,…...
docker 安装 yapi
文章目录 docker 安装 yapi一、拉取镜像二、创建目录三、添加配置文件四、初始化数据库表五、启动 yapi六、测试以及修改默认密码 没有 MongDB 的可以先看这个教程:MongDB安装教程 docker 安装 yapi 版本: 1.9.5 一、拉取镜像 docker pull yapipro/y…...
【AI如何帮你编写测试用例并输出表格格式】
1、工具:顺便使用一款生成式AI即可,此处用的是ChatGPT,Kimi这两个工具试验。 2、首先要拿到需求文档,根据需求文档向AI发出如下指令(Prompt) “请根据下面这段需求,编写测试用例: …...
九宫格转圈圈抽奖活动,有加速,减速效果
在线访问demo和代码在底部 代码,复制就可以跑 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…...
利用阿里OSS服务给文件设置过期删除--简单版
在云存储广泛应用的今天,阿里云的Object Storage Service(OSS)以其高度可扩展性、安全性和成本效益,成为了众多企业和开发者存储海量数据的首选方案。随着数据量的不断膨胀,高效的数据管理和成本控制变得尤为重要。其中…...
LabVIEW控制Trio控制器
将LabVIEW与Trio控制器结合,可以实现对复杂运动系统的控制和监测。以下是详细的方法和注意事项: 一、准备工作 软件安装: 安装LabVIEW开发环境,确保版本兼容性。 安装Trio控制器的相关驱动程序和软件,如Trio Motion …...
02--大数据Hadoop集群实战
前言: 前面整理了hadoop概念内容,写了一些概念和本地部署和伪分布式两种,比较偏向概念或实验,今天来整理一下在项目中实际使用的一些知识点。 1、基础概念 1.1、完全分布式 Hadoop是一个开源的分布式存储和计算框架࿰…...
【ARMv8/v9 异常模型入门及渐进 10 -- WFI 与 WFE 使用详细介绍 1】
请阅读【ARMv8/v9 ARM64 System Exception】 文章目录 WFI 与 WFE等待事件(WFE)发送事件(SEV)本地发送事件(SEVL)WFE 唤醒事件 WFE 使用场景举例与代码实现wfe睡眠函数sev 事件唤醒函数全局监视器和自旋锁 …...
@DateTimeFormat 和 @JsonFormat 的区别和使用方式
一. DateTimeFormat 详细用例 DateTimeFormat 是 Spring Framework 的一部分,它用于绑定 Web 请求中的字符串到 Java 的日期和时间类型。这种转换常常在 Spring MVC 控制器中处理 HTTP 请求参数或路径变量时使用。 使用场景: 将 HTTP 请求中的日期(也就是网络传输…...
C++—结构体
结构体(struct),是一种用户自定义复合数据类型,可以包含不同类型的不同成员。 结构体的声明定义和使用的基本语法: // 声明结构体struct 结构体类型 { 成员1类型 成员1名称; ...成员N类型 成员N名称; };除声明…...
指针与引用
指针与引用 一:指针与引用场景二级目录三级目录 一:指针与引用场景 二级目录 三级目录...
使用 mysql-binlog-connector 监听处理 MySQLBinlog 文件
1. 需求概述 业务开发中经常需要根据一些数据变更实现相对应的操作。例如,一些用户注销自己的账户,系统可以给用户自动发短信确认,这时有两种解决方案,一种是耦合到业务系统中,当用户执行注销操作的时候,执…...
CF Div2 729 Plus and Multiply
原题链接:Problem - 1542B - Codeforces 题目大意:初始集合里面只有1,给a和b,可以对集合里面的数x进行二种操作,x*a,xb,并放入集合,给数n,问集合里面会不会产生n,会就输…...
Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境
1 漏洞概述 Joomla是一个基于PHP的内容管理系统(CMS),广泛应用于各类网站。2017年,Joomla 3.7.0版本被发现存在SQL注入漏洞(CVE-2017-8917),攻击者可以利用该漏洞对数据库进行未授权查询或操作…...
Python高克勒-曼宁-斯特里克勒公式计算一维流量
📜曼宁公式-用例 📜Python流体数据统计模型和浅水渗流平流模型模拟 | 📜Python蒸发散物理问题(微积分-线性代数-拉普拉斯和傅立叶变换) ✒️Python计算一维流量 高克勒-曼宁-斯特里克勒公式公式基于一维(横截面平均)…...
【GD32系列--基本定时器Timer + 定时1ms 灯光间隔1s闪烁例程】
这里写目录标题 一、定时器的作用二、定时器简介1、定时器类型2、时钟树3、定时器功能配置框图 三、定时器寄存器分析1、控制寄存器(TIMERx_CTL0))2、DMA 和中断使能寄存器 (TIMERx_DMAINTEN)3、预分频寄存器 (TIMERx_PSC)4、计数器自动重载寄存器 (TIME…...
第11章 集合与迭代器
目录 目录 目录 11.1 Collection集合 11.1.1 集合的概念 11.1.2 Collection接口 1、添加元素 2、删除元素 3、查询与获取元素 11.2 List 有序集合 11.2.1 新增方法 11.2.2 ArrayList 11.2.3 LinkedList 1、单向链表 2、双向链表 3、删除元素 11.3 Set 无序集合 …...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
