声纹识别与声源定位(二)

news2025/2/25 7:31:59

一、引言

        什么是声源定位(Sound Source Localization,SSL)技术?声源定位技术是指利用多个麦克风在环境不同位置点对声信号进行测量,由于声信号到达各麦克风的时间有不同程度的延迟,利用算法对测量到的声信号进行处理,由此获得声源点相对于麦克风的到达方向(包括方位角、俯仰角)和距离等。

当谈及到声源定位,我们很容易联想到人耳定位,人的单耳和双耳都具有定位的能力。在单耳定位中,耳廓各部位会对入射声波进行反射,再进入耳道。由于与直达声波相位不同,两者在耳道出发生干涉,产生了特殊听觉效果,该效应称为耳廓效应,再配合人头转动因素,可以达到声源定位的目的。在双耳定位中,我们通过左耳和右耳接收到的信号会有时间差(Interaural Time Difference, ITD)和声级差(Interaural Level Difference, ILD),根据ITD和ILD对特定的声音进行定位,水平方位角的确定在数学上可以表述为一个二维声音方向估计问题,如下图1所示。ITD信息在中低频时的方位估计有更好的效果,而ILD信息在高频的方位估计有更好的效果。再加上耳廓效应、头部转动、优先效应等,我们会对角度、距离等信息有更进一步、更准确的认知。

什么是阵列麦克风?
        麦克风阵列是由一定数目的麦克风组成,对声场的空间特性进行采样并滤波的系统。目前常用的麦克风阵列可以按布局形状分为:线性阵列,平面阵列,以及立体阵列。其几何构型是按设计已知,所有麦克风的频率响应一致,麦克风的采样时钟也是同步的。
麦克风阵列一般用于:声源定位,包括角度和距离的测量,抑制背景噪声、干扰、混响、回声,信号提取,信号分离。其中声源定位技术利用麦克风阵列计算声源距离阵列的角度和距离,实现对目标声源的跟踪。

环形6麦阵列                                 USB 4麦克风阵列

        基于麦克风阵列的语音分离就是利用麦克风阵列或多个麦克风来模拟人耳,通过语音分离算法将麦克风采集到的相互干扰的混叠信号分离开来以获得感兴趣的信号。而基于麦克风阵列的声源定位也是首先利用麦克风阵列采集语音信号,然后利用数字信号处理的相关技术对采集的信号做分析处理,最后确定并对声源的空间位置(即声源在平面或空间中的坐标)进行跟踪。

二、声源定位技术

 声源定位技术主要有以下两部分组成:

  • 到达方向 (Direction-of-arrival, DOA) 估计,其中包括方位角与俯仰角。
  • 距离估计。

1. 端到端的模型

声源定位端到端的模型对采集到的声音信号进行特征提取,然后使用声音定位方法来获得输出,而该映射方法很大程度依赖于声学传播模型。

传播模型(Propagation Model)。声源定位的声学传播模型比较常见的是自由场模型和远场模型。在自由场中,声音只通过一条直达的路径到达麦克风,这也意味着声源与麦克风之间没有阻挡物,没有声音的反射(没有室内的混响),例如空旷的室外或者消音环境室中。在远场中,麦克风间的距离和声源到麦克风阵列的距离之间的关系,使得声波可以被认为是平面波。

特征(Feature)。在使用的声学定位方法中,使用了以下声学特征:到达时间差(Time difference of arrival, TDOA),麦克风间的能量差(Inter-microphone intensity difference, IID),频谱缺口(Spectral notches),MUSIC伪频谱(Pseudo-spectrum),以及波束形成可控响应(Beamforming steered-response)等。

映射方法(Mapping procedures)。声源定位中的映射方法是指将阵列信号中的特征映射为其位置信息。

 2. 实现方法

(1)到达方向估计

基于相对时延估计的方法。由于阵列的几何结构,各个阵列接收到的信号都有不同程度的延时,而基于相对时延估计的方法通过互相关、广义互相关(Generalized Cross-Correlation, GCC)或相位差等来估计各个阵列信号之间的时延差,再结合阵列的几何结构来估算声源的方位角信息。

基于波束形成的方法。该算法通常对阵列的各阵元使用所有角度补偿相位,以实现对目标区域的扫描,然后对各信号进行加权求和,将波束输出功率最大的方向作为目标声源的方向。常见的基于波束形成的声源方位角估计算法有延迟相加(Delay and Sum, DS)算法,最小方差无失真响应(Minimum Variance Distortionless Response, MVDR)算法,可控响应功率相位变换法(Steered Response Power-Phase Transform, SRP-PHAT)等。

基于信号子空间的方法。这类算法一般可以分为相干子空间方法和非相干子空间方法,在非相干子空间算法中,最经典的算法为多信号分类(Multiple Signal Classification, MUSIC)算法,其思想是将信号的协方差进行特征提取,利用特征向量构建信号子空间和噪声子空间,再将噪声子空间构建高分辨率空间谱。由于声源信号是宽带信号,可以对声源信号使用傅立叶变换分解成多个窄带信号,再对每个窄带利用MUSIC算法定位,将各窄带估计得结果加权组合得宽带方位估计。而相干子空间方法是将窄带信号汇聚到某一参考频率,从而采用窄带子空间处理方法进行方位估计。

基于模态域的方法。上述方法皆是阵元域的处理方法,而模态域的一大特性是其波束和导向矢量的频率无关,依据此可以设计出具有低频指向型的波束形成器,也可以降低阵元域波束扫描的频点数。模态域的处理方法与阵元域相比,其波束形成多出一步模态展开的操作,模态展开可通过傅立叶变换实现,展开后的每阶模态都有与之对应的空间特征波束,对应于特定的波束响应,可以看作是组合成期望波束响应的一组基。理论上来讲,只要模态展开的阶数足够高,理论是可以组合逼近成任意的波束。模态域的方法目前应用在球型阵列和环型阵列上有比较好的结果。

基于机器学习(或深度学习)的方法。与传统基于模型的方法相比,基于机器学习的方法是数据驱动的,甚至无需定义传播模型。基于机器学习的方法将声源定位看作是一个多分类或者线性回归问题,利用其非常强的非线形拟合能力,直接将多通道数据特征映射成定位结果。基于机器学习的方法主要也发展成了两种方向,即基于网格的方法和无网格的方法,这两种方法在定位精度和估计声源个数上各有优势。

(2)距离估计

与DOA估计相比,声源距离的估计研究起步较晚。在得到DOA估计结果后,声源被定位在了由传声器和捕获信号之间的双曲线内,若采用多个传声器阵列对源信号进行DOA估计,则可通过每个传声器阵列的双曲线交点对声源进行定位。然而,该方法并不适用于远距离测距,许多研究也停留在室内的短距离声源测距上。

在室内条件下,当声源距离发生变化时,来自反射声的能量(如室内混响漫射声场)可以假定是保持不变,而来自直达声的能量会发生变化。这两种能量的比值被称为直达混响比(Direct-to-Reverberant ratio, DRR),该比值与声源距离的估计密切相关。理论上,信号的DRR可以通过声源到达传声器的房间冲激响应函数(Room Impulse Responses, RIRs)直接计算出。但声源距离的估计受多方因素的影响(如RIRs未知,近场与远场模型不匹配,混响能量会因距离的改变而改变等),这些方法并不成熟,无法得到很好的应用。

3. 评价指标

针对DOA估计和距离估计的方法,需要依靠一些指标来衡量声源定位的性能,常见的评价指标如下:

平均误差(Average error)。它衡量的是估计的误差,通常将估计值与真实值进行比较,将这些值的平均差异表现出来。具体实现的方法包括绝对误差、均方误差、均方根误差和最大误差等。

准确率(Accuracy)。这个指标通常用于DOA估计,我们假定如果估计值在真实值一定的误差范围内,则认定该估计是正确的,否之,认定为错误。它衡量了多少比例的检测是正确的。

查准率(Precision)、查准率(Recall)和F1分数(F1-score)。这些指标在机器学习分类任务中比较常见的。针对估计一个声源的位置,如果估计正确,则称为真正例(True positive);如果估计错误,则称为假反例(False negative)。假设该位置没有声源,如果估计的结果也是没有,则称为真反例(True negative);如果估计的结果是有声源,则称为假正例(False positive)。查全率衡量所检测正确的声源位置个数占所有声源的比例;查准率衡量所估计到的声源位置中,有多少位置估计是正确的比例。一般来说,查准率和查全率呈负相关关系,而F1分数为这两个指标的调和平均,提供它们之间的平衡。

声源的数量(Number of sources)。该指标衡量所能估计到声源的数量,而不在乎声源的具体位置。

还有一些其他的性能指标,如将某声源定位方法用在语音识别、声源分离、语音拾取任务的预处理,上述任务依赖于声源定位的效果,通过这些任务的性能表现来间接评价声源定位的性能。

三、语音分离与声源定位算法Steered Response Power Phase Transform(SRP-PHAT)+Degenerate Unmixing Estimation Technique(DUET)

相位变换加权的可控响应功率算法Steered Response Power Phase Transform(SRP-PHAT)是定位声源的一种重要的算法。对于多源扩展,可以使用Degenerate Unmixing Estimation Technique(DUET)来分离每个源,并将其传递给SRP-PHAT算法以实现多源跟踪

3D Multiple Sound Sources Localization (SSL)

GitHub - BrownsugarZeer/Multi_SSL: Combine sound source separation with SRP-PHAT to achieve multi-source localization.Combine sound source separation with SRP-PHAT to achieve multi-source localization. - GitHub - BrownsugarZeer/Multi_SSL: Combine sound source separation with SRP-PHAT to achieve multi-source localization.https://github.com/BrownsugarZeer/Multi_SSL

1

2

3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【瑞萨RA4系列】使用TinyMaix识别手写数字

文章目录一、TinyMaix简介1.1 TinyMaix开源项目1.2 下载TinyMaix源码二、TinyMaix移植2.1 创建TinyMaix移植项目2.2 添加TinyMaix源码三、TinyMaix测试准备3.1 SysTick计时3.2 printf打印3.4 修改tm_port.h文件3.6 增大堆内存空间四、手写数字识别4.1 添加示例源码4.2 运行示例…

突破6.8关口 人民币汇率快速升值,释放什么信号?

近期以来,人民币表现强劲。2023年开年6个交易日,人民币对美元汇率中间价实现“六连涨”,累计上调2035个基点,升破6.8关口,展现出全新面貌。哪些因素影响近期人民币对美元汇率上涨?人民币兑美元汇率未来走势…

漏洞复现--xss

目录 一、实验目的 二、实验环境 三、 实验过程 搭建XSS平台 制作XSS脚本并注入 利用Cookie登录用户账号 一、实验目的 实验目的 本实验学习如何搭建个人的XSS平台以及如何使用XSS平台盗用用户Cookie登录。 二、实验环境 服务器:Windows 7 Target IP:10.1.…

【笔记:第5课】学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春

文章目录前言来源正文小结前言 创作开始时间:2023年1月11日16:55:32 如题,学习一下RISC-V。 来源 https://www.bilibili.com/video/BV1Q5411w7z5?p5&vd_source73a25632b4f745be6bbcfe3c82bb7ec0 刚刚才知道老师是PLCT实验室的,牛。…

C 程序设计教程(16)—— 循环结构程序设计

C 程序设计教程(16)—— 循环结构程序设计 该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门级用户阅读。 目录C 程序设计教程(16&…

Vue3之对Dialog的简单封装

之前使用的UI框架,无论是Element UI/Plus 还是 Ant design,其中Dialog组件中的结构和样式都难以修改,无论是使用less、deep还是其他方法,对其组件中css的修改都不生效(不确定是否有其他解决方法),所以我就自…

【小白必看】2023年PMP考试报名时间,报考条件,超全PMP备考指南

PMP 考试一年能考四次,分别是3月、6月、9月、12月,提前 2 个月开始报名,但还是要关注PMI/基金会官网的信息,有特殊情况的会在官网公布。现在放开了,2023年PMP 考试应该不会再延期了,之前没考上的&#xff0…

重装系统win11的步骤和详细教程

想要给电脑重装系统win11使用,但是自己对于相关的重装操作不熟悉怎么样?我们可以网上的小白装机工具实现,那么具体怎么重装系统win11?下面就演示下重装系统win11的步骤和详细教程。 工具/原料: 系统版本:Windows 11 品牌型号…

js使用小顶堆构建优先级队列

什么是优先级队列? 优先级队列是队列的一个变种,队列是一个先进先出的结构,在头部出队元素在尾部入队元素, 优先级队列顾名思义就是给每个元素具备了优先级,优先级决定了元素在队列中的存储位置,优先级越高的越靠前越先出队 小顶堆又是什么? 小顶堆是堆结构的一个分支,堆…

浙大MEM提面优秀成功上岸经验分享——完全准备才能“聊”的好

近期元旦放假,终于有时间写一写关于自己浙大MEM提面上岸的一些经验分享了。这篇可能对接下来参加2024年浙大mem考试的考生会有一些作用。因为我是参加了提前批面试,并在面试中取得了优秀的资格,所以这也为我后续的联考和录取环节减轻了不少的…

[JAVA安全]filter 内存马

原理: Servlet 有自己的过滤器 filter , 可以通过自定义的过滤器,来对用户的请求进行拦截等操作。 经过filter 之后才会刀Servlet ,如果我们动态创建一个 filter 并且将其放在最前面,我们的filter 就会最先被执行&…

Java多线程案例——线程池及ThreadPoolExecutor类

一,线程池1.为什么会有线程池?线程池和多线程的区别?为了很好的解决高并发问题,提高计算机的运行效率,提出了多线程来取代多进程(因为一个线程的创创建、销毁和调度比进程更加“轻量”,所以线程…

杰卡德相似度(Jaccard)详解及在UserCF中的应用

1、杰卡德相似度(Jaccard) 这个是衡量两个集合的相似度一种指标。 两个集合A和B的交集元素在A,B的并集中所占的比例,称为两个集合的杰卡德相似系数,用符号J(A,B)表示 另一种表示的方法: jaccard系数衡量维度相似性 jaccard系数很…

IT运维.服务器常见资质认证

3C证书 强制要求 CCC认证的全称为“中国强制性产品认证“ 它是为保护消费者人身安全和国家安全、加强产品质量管理、依照法律法规实施的一-种产品合格评定制度。, 节能

spring之动态代理

文章目录前言一、JDK动态代理1、业务接口OrderService2、目标对象OrderServiceImpl3、客户端程序Client4、InvocationHandler 的实现类TimeInvocationHandler5、运行结果二、CGLIB动态代理1、先引入依赖2、目标类 UserService3、客户端程序Client4、MethodInterceptor的实现类T…

温振传感器的信号输出方式及应用领域

在振动测量系统中,测量振动的仪器排在前端。温振传感器也称为温度振动传感器(变送器),它可以将被测对象的振动量(位移、速度)准确接受后,并将此机械量转换为电信号显示出来。 在工业生产、食品…

内存对齐(memory align)

0. 内存结构 我们平时所称的内存也叫随机访问存储器(random-access memory)也叫RAM。而RAM分为两类: 一类是静态RAM(SRAM),这类SRAM用于前边介绍的CPU高速缓存L1Cache,L2Cache,L3C…

不求星光灿烂,但愿岁月静好

作者:非妃是公主 专栏:《程序人生》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录不求星光灿烂,但愿岁月静好说一说这一年的自己的收获吧2022年的追求自我学会拒绝尝试表达…

Unreal单播委托

单播委托只能注册一个函数:无参无返回值给委托绑定函数:判断如果委托有绑定函数就发起广播:解绑:绑定方式除了BindUObject,还有BindUFunction,通过这种方式绑定需要给函数添加UFUNCTION标记:还有BindLambda匿名函数:BindRaw可以绑定原生C类中的函数:无参有返回值定义委托类型:声…

Linux进程状态与系统负载检测

1.基础知识-进程的5个状态进程可以分为五个状态,分别是:1)创建状态一个应用程序从系统上启动,首先就是进入创建状态,需要获取系统资源创建进程管理块(PCB)完成资源分配。2) 就绪状态在创建状态完…