从功能性磁共振成像(fMRI)数据重建音频
听觉是人类最重要的感官之一,它负责接收外部的听觉刺激,并将这些信息传递给大脑进行处理和理解。研究人员正致力于从神经科学和计算机科学两个领域探索人脑的听觉感知机制。一个关键目标是从人脑中解码神经信息,并重建原始的刺激。常见的大脑到音频的重建任务可以分为三类:大脑到声音的任务,用于重建环境中的所有自然声音;大脑到音乐的任务,用于音乐;以及大脑到语音的任务,用于人声,这些任务基于不同的刺激音频。
研究表明,在人耳的耳蜗和亚皮质结构中,声音被分解成类似频谱图的频率特定时间模式。进入大脑皮层后,人类听觉系统有两条从低级到高级的信息处理通路。初级听觉皮层对浅层或中级DNN特征更敏感,这些特征代表低级声学特征,而非初级听觉皮层对深层DNN特征更敏感,这些特征代表高级语义特征。
受到声学到语义流的启发,我们模拟了听觉处理路径的每个生理结构,并提出了一种相反的从粗到细的音频重建方法。我们使用非侵入性fMRI作为神经信号。首先,进行一个从粗到细的大脑解码过程。我们将fMRI数据解码到低维CLAP空间以获得粗粒度的语义特征,然后在这些语义特征的引导下,我们将fMRI数据解码到高维AudioMAE潜在空间以获得精细的声学特征。接下来,我们使用解码的精细神经特征作为条件,通过潜在扩散模型(LDM)重建mel频谱图,然后使用声码器恢复刺激波形。
1、方法
利用无创功能性磁共振成像(fMRI)数据,模拟听觉处理的逆路径,从而实现高质量的音频重建。
1.1 粗粒度语义解码
使用预训练的多模态模型 CLAP(对比语言-音频预训练),将 fMRI 数据解码到低维语义空间,提取粗粒度的语义特征。
CLAP 模型通过对比语言-音频预训练,将音频与自然语言描述对齐,从而提供丰富的语义信息。
1.2 细粒度声学解码
在语义特征的指导下,将 fMRI 数据进一步解码到 AudioMAE 模型的潜在空间,获取细粒度的声学特征。
AudioMAE 模型是一个自监督预训练模型,专注于重建掩码块,能够保留更多低层声学细节并更好地保留高层语义信息。
选择AudioMAE 模型的理由:
- AudioMAE保留了更多的低级声学细节。
- 与VAE相比,AudioMAE更好地保留了高级语义信息。
- 在包含自然声音、人类和动物声音以及音乐的AudioSet上预训练,AudioMAE可以在通用音频领域中很好地工作。
1.3 音频重建
使用潜在扩散模型(LDM)作为生成模型,在细粒度声学特征的条件 下重建刺激音频的梅尔频谱图。
LDM 是一种强大的生成模型,能够在潜在空间中建模复杂的数据分布,并已被广泛应用于音频生成任务。
1.4 声码器
使用预训练的 HiFiGAN 声码器将重建的梅尔频谱图转换为波形,最终生成高质量的音频。
2、实验
2.1 实验设置
- 粗粒度解码: 对于 Brain2Sound 和 Brain2Speech 数据集,仅使用听觉皮层(AC)区域的体素;对于 Brain2Music 数据集,使用整个大脑的体素。
- 细粒度解码: 使用 4 层 Transformer 编码器和解码器,并使用预训练的 AudioMAE 模型初始化。
- 音频重建: 使用预训练的 AudioLDM2 模型作为 LDM,并使用预训练的 HiFiGAN 声码器将梅尔频谱图转换为波形。
2.2 实验对比
- 直接解码方法: 将 fMRI 信号直接解码到梅尔频谱图,包括线性回归、多层感知机、双向 LSTM 和 Transformer 编码器。
- 细粒度解码方法: 将 fMRI 信号直接解码到 AudioMAE 模型的潜在空间,然后使用 LDM 重建音频。
- 粗到细解码方法: 首先将 fMRI 信号解码到 CLAP 空间获取语义特征,然后在语义特征的指导下解码到 AudioMAE 潜在空间获取声学特征,最后使用 LDM 重建音频。
2.3 评估指标
2.3.1 高层次音频表示指标
- FD (Fréchet Distance): 计算生成样本和目标样本在音频分类器 PANNs 提取的特征空间中的距离。
- FAD (Fréchet Audio Distance): 类似于 FD,但使用 VGGish 模型提取特征。
- KL (Kullback–Leibler divergence): 计算分类器 PANNs 的分类 logit 的 KL 散度,使用 Softmax 激活函数。
- KL-S (Kullback–Leibler divergence): 计算分类器 PANNs 的分类 logit 的 KL 散度,使用 Sigmoid 激活函数。
2.3.2 低层次梅尔频谱图相似度指标
- PCC (Pearson Correlation Coefficient): 计算重建音频和刺激音频梅尔频谱图的皮尔逊相关系数。
- SSIM (Structural Similarity Index): 计算重建音频和刺激音频梅尔频谱图的结构相似性指数。
2.4 实验结果
- 粗到细解码方法在重建音频的细节和语义方面均优于直接解码方法和细粒度解码方法。
- 粗到细解码方法在 FD、FAD、KL 和 KL-S 等指标上取得了最先进的性能。
- 提供语义提示可以有效提高重建音频的语义质量,尤其是在语义特征不佳的情况下。
2.5 数据集
Brain2Sound、Brain2Music和Brain2Speech一起被广泛用于验证粗到细的解码方法在单独的细粒度方法中的优越性。
- Brain2Sound 数据集: 包含 5 个受试者聆听自然声音的 fMRI 信号,包括人声、动物、乐器和环境声音。
- Brain2Music 数据集: 包含 5 个受试者聆听音乐片段的 fMRI 信号,包括 10 种音乐类型。
- Brain2Speech 数据集: 包含 7 个受试者聆听语音片段的 fMRI 信号,包括不同性别的说话人。
相关文章:
从功能性磁共振成像(fMRI)数据重建音频
听觉是人类最重要的感官之一,它负责接收外部的听觉刺激,并将这些信息传递给大脑进行处理和理解。研究人员正致力于从神经科学和计算机科学两个领域探索人脑的听觉感知机制。一个关键目标是从人脑中解码神经信息,并重建原始的刺激。常见的大脑…...
前端Vue小兔鲜儿电商项目实战Day04
一、二级分类 - 整体认识和路由配置 1. 配置二级路由 ①准备组件模板 - src/views/SubCategory/index.vue <script setup></script><template><div class"container"><!-- 面包屑 --><div class"bread-container">…...
TypeScript的简单总结
TypeScript 深度总结 引言 TypeScript,作为JavaScript的一个强类型超集,由Microsoft在2012年推出并维护至今,它不仅继承了JavaScript的所有特性,还引入了静态类型系统和其他现代编程特性,为开发者提供了一个更安全、…...
I.MX6ULL UART 串口通信实验
系列文章目录 I.MX6ULL UART 串口通信实验 I.MX6ULL UART 串口通信实验 系列文章目录一、前言二、I.MX6U 串口简介2.1 UART 简介2.2 I.MX6U UART 简介 三、硬件原理分析四、实验程序编写五、编译下载验证5.1编写 Makefile 和链接脚本5.2 编译下载 一、前言 不管是单片机开发还…...
systemctlm-cosim-demo项目分析
概述 systemctlm-cosim-demo项目是Xilinx的systemc库的demo工程。 环境安装 qemu安装 cd xilinx_proj/Downloads git clone https://github.com/Xilinx/qemu.git cd qemu git checkout 74d70f8008# Configure and build # zynq7000 # ./configure --target-list"arm-s…...
SQL学习小记(四)Navicat中连接Oracle数据库的详细步骤
五分钟解决Oracle连接问题:DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be SQL学习小记(四)Navicat中连接Oracle 1. 错误信息2. 解决过程2.1.版本查询2.2. 官网下载2.3. 设置Navicat的oci环…...
mysql聚簇索引
1.聚簇索引是物理索引,数据在表里是按顺序存储的,物理上是连续的,一般选主键id作为聚簇索引,且一张表里只能有一个聚簇索引。 2.只有InnoDB支持聚簇索引。 3.非聚簇索引是逻辑索引,将数据的某个字段抽取出来组成独立的…...
【云原生】Kubernetes----PersistentVolume(PV)与PersistentVolumeClaim(PVC)详解
目录 引言 一、存储卷 (一)存储卷定义 (二)存储卷的作用 1.数据持久化 2.数据共享 3.解耦 4.灵活性 (三)存储卷的分类 1.emptyDir存储卷 1.1 定义 1.2 特点 1.3 示例 2.hostPath存储卷 2.1 …...
Adobe Premiere 专业视频编辑软件资源下载安装!pr 2024最新版软件分享
Adobe Premiere,作为一款非线性视频编辑软件,它打破了传统线性编辑的限制,为用户提供了更加灵活和自由的创作空间。 在电影制作领域,Adobe Premiere的出色表现赢得了众多导演和剪辑师的青睐。其强大的编辑功能使得影片的剪辑过程更…...
c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等
文章目录 前言一、this指针1.1、this指针的引出1.2、 this指针的特性 二、类的默认的六个构造函数2.1、构造函数简述2.2构造函数 三、析构函数3.1、析构函数引出3.2、特点: 四、拷贝构造4.1、引入4.2、特征:4.3、默认拷贝构造函数 总结 前言 在本节中&a…...
git版本控制工具常用命令
一、本地仓库管理 push 向远程推送代码 pulll 拉取代码 二、远程仓库管理 三、分支操作 本地主分支master 远程主分支main head指向当前分支 查看:git branch 创建分支: git branch 名字 切换分支:git checkout 名字 合并分支:git…...
展示广告多模态召回模型:混合模态专家模型
✍🏻 本文作者:俊广、卓立、凌潼、青萤 1. 背景 随着在搜索、推荐、广告技术上多年的迭代积累,业界逐步形成了召回(匹配)、粗排、精排这一多阶段的系统架构。其中,召回作为链路的最前端,决定了业…...
好的一些网安资源
镜像:https://msdn.itellyou.cn/ 编程学习{ 菜鸟教程:https://www.runoob.com/ w3school:https://www.w3school.com.cn/ https://www.dotcpp.com/ http://zh.cppreference.com/ https://beginnersbook.com/ https://www.ai8py.com/ }…...
Linux chmod 命令
Linux chmod 命令 在 Linux 操作系统中,chmod 命令是非常重要的。它可以用于修改文件和目录的访问权限,以及控制用户对系统资源的访问。在这篇博客中,我们将深入探讨 chmod 命令的使用方法,以及如何使用它来管理文件和目录的访问…...
SDL教程(二)——Qt+SDL播放器
前言 这篇文章主要是使用SDL来打开视频,显示视频。后续会再继续使用SDL来结合FFmpeg。来能够直接使用网上的demo进行学习。 正文 一、环境 Qt 5.15.2 MSVC2019 64bit Win11 二、Qt搭建SDL Qt搭建,我觉得相比用VS2019来说,更为方便&…...
Java面试题:解决Redis缓存击穿问题
缓存击穿 当一个key过期时,需要对这个key进行数据重建 在重建的时间内如果有大量的并发请求进入,就会绕过缓存进入数据库,会瞬间击垮DB 重建时间可能因为数据是多个表的混合结果需要分头统计而延长,从而更容易出现缓存击穿问题 缓存击穿的解决方案 添加互斥锁 先查询缓存…...
Redis的哨兵模式
什么是哨兵模式 Redis的哨兵模式( Sentinel mode )是⼀个⾼可⽤解决⽅案,当运⾏多个 Redis 实例并且需要⾃动故障转移时,哨兵模式⾮常有⽤。 在⼀个典型的哨兵模式下,⾄少需要3 个哨兵实例来避免 “ 脑裂 ” ÿ…...
Hadoop伪分布式安装教程
Hadoop伪分布式安装教程 一、安装背景1.1 软件列表1.2 系统软件列表 二、安装Hadoop2.1 安装 Java 环境2.1.1 前期准备2.1.2 文件传输2.1.3 解压文件2.1.4 配置 jdk 的环境变量2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功 2.2 Hadoop 下载地址[hadoop](h…...
Day43 代码随想录打卡|二叉树篇---左叶子之和
题目(leecode T404): 给定二叉树的根节点 root ,返回所有左叶子之和。 方法: 迭代法:计算所有的左叶子节点,那我们就必然要找到所有的左叶子节点。那么怎么找呢?如何针对cur->l…...
微信小程序动画
微信小程序动画属性:提升用户体验的利器 引言 随着移动互联网技术的快速发展,微信小程序已经成为开发者和用户的热门选择。其轻便、快捷、即用即走的特点使得它在各种场景中都有广泛的应用。而动画作为一种重要的视觉元素,在增强用户体验方…...
js, ellipsis属性, 超出宽度自动省略... , 并且显示2行
overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; text-overflow:ellipsis;...
ucharts自定义添加tooltip悬浮框显示项内容且换行
欢迎点击领取 -《前端开发面试题进阶秘籍》:前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的🪜 一、需求描述分析 1、小程序上实现图表的绘制,多条线路,不同颜色,悬浮框对应内容不同数据进行处理 2…...
Mongo 地理位置查询:海量密集点转换成聚合信息
通俗来说:将地图上的海量密集点通过网格分割的方式实现聚合; 需求:用mongo实现设备地理位置聚合查询 :多边形,矩形查询; 背景:上万设备数据量 目的:分享Mongo地理位置查询,以及文…...
bpmn+vue 中文文档
1.初始化项目 <script> import BpmnModeler from bpmn-js/lib/Modeler import { xmlStr } from /mock/xmlStr export default {mounted () {this.init()},methods: {init () {// 获取到属性ref为“canvas”的dom节点const canvas this.$refs.canvas// 建模const custom…...
React Router v5 和 v6 中,路由对象声明方式有什么区别?
一、在React Router 6.x开始,路由对象的声明需要引用RouteObject。 import { RouteObject } from react-router-dom;const routes: RouteObject[] [{path: /,element: <Home />},{path: /about,element: <About />},// ... ];二、一些老项目使用的是R…...
【全开源】知识库文档系统(ThinkPHP+FastAdmin)
📚知识库文档系统:解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统,可用于企业工作流程的文档管理,结构化记录沉淀高价值信息,形成完整的知识体系,能够轻松提升知识的流转和传播效率&a…...
Python赋能自然语言处理,解锁通往AI的钥匙
NLTK(Natural Language Toolkit)是一个用于 Python 的自然语言处理库,提供了丰富的工具和资源,帮助处理、分析和理解人类语言数据.它广泛应用于学术研究、教育和商业应用中. 安装 #首先要安装 NLTK:pip install nltk安装完成后,还需要下载…...
Ktor库的高级用法:代理服务器与JSON处理
在现代网络编程中,Ktor是一个高性能且易于使用的框架,它提供了对异步编程、WebSockets、HTTP客户端和服务器等特性的原生支持。Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法&#…...
VS2017配置OpenCV4.5.1
VS2017配置OpenCV 一、下载OpenCV二、配置OpenCV的电脑环境变量三、配置visual Studio添加路径复制文件到C盘 四、如何使用注意运行时选择Debug x64 五、报错:VSOpencv出现:xxx处有未经处理的异常: Microsoft C 异常: cv::Exception,位于内存…...
phpstudy配置的站点不能访问了
无法打开站点 打开网站的时候出现如下 没有人为主动去更改配置项,今天就不能正常访问了 检查了一遍配置,发现并无大碍,那就重新配置一遍看看 配置phpstudy 1、新建网站 2、选择项目入口文件夹 3、配置伪静态 4. 确认保存 在我的电脑 C:\…...
做网站用jsp还是html/楚雄百度推广电话
https://ask.dcloud.net.cn/article/36522 97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD...
官方网站欣赏/江苏关键词推广seo
运算符是告诉编译器执行特定数学或逻辑函数的符号。C语言内置运算符丰富,并提供以下类型的运算符 -算术运算符关系运算符逻辑运算符按位运算符分配运算符其他运算符在文中,我们将研究每个操作符的工作方式。下表显示了C语言支持的所有算术运算符。假设变…...
备案网站名称更改/上海关键词排名软件
接着上篇,在根上下文初始化的过程中,有一步配置和启动根上下文方法:org.springframework.web.context.ContextLoader#configureAndRefreshWebApplicationContext,这里面包含了对bean的所有处理,下面我们慢慢来看。 先…...
wordpress获取指定图片大小/智能网站排名优化
facebook sdkFacebook已发布了Facebook Connect Android SDK,该SDK引入了开放源代码Java库,用于将Facebook集成到Android移动应用程序中。 使用SDK,开发人员可以提示用户登录其Facebook帐户,并通过使用OAuth 2.0的嵌入式WebKit W…...
网站登录模版/武汉seo推广优化公司
1.不带出错码的中断处理过程-asm.s (1)原寄存器入栈(由硬件完成):SS, ESP, EFLAGS, CS (2)中断返回地址入栈:EIP (3)要调用的函数地址入栈 (4…...
区块链做网站都有哪些内容呢/电商平台有哪些
尝鲜使用Kotlin写了一段时间Android。说大幅度的减少了Java代码一点不夸张。用Java的时候动不动就new一个OnClickListener()匿名类,动不动就类型转换的地方都可以省下很多。更不用说特殊的地方使用data class更是少些不知道多少代码。 Jetbrains给Android带来的不仅…...