声源定位之2精读《sound localization based on phase difference enhancement using deep neuarl networks》
2.1.1 题目与摘要
1、为什么要增强IPD?
The phase differences between the discrete Fourier transform (DFT) coefficients for two microphone signals are one of popular spatial cues in the frequency domain.
非理想情况下,IPD会失真,会偏离纯净语音提取的IPD。
2、IPD在复杂场景(混响、噪声)下受到了什么影响?
我们可以从单通道的时频域的功率谱观察到:
噪声使得许多TFbin上的能量增加,从而disturb纯净语音。两个通道的功率谱均会受到影响,导致某些TFbin上的空间定位线索被破坏。
混响会smear掉纯净语音的功率谱,出现拖尾现象。同样会导致空间定位线索被破坏。
3、还有其他增强IPD的方法吗?他们是如何增强的?
4、为什么用DNN来增强IPD,不用其他神经网络,如CNN?
因为DNN已经被成功应用在SSL里了。用CNN或者其他网络的比较少。
5、为什么只增强IPD呢?可以增加其他特征吗?
因为仅仅IPD/ITD就已经包含了足够多的空间定位线索了,仅仅使用ILD的效果不如仅仅使用IPD。
如果用一个网络来同时增强ILD和IPD的话,效果应该不好。因为ILD并不需要sinusoidal来解卷绕,两种类型数据(单位不同,取值范围也需要归一化)同时作为输入,怎么融合呢?简单的串联吗?[注:可以参考pc师兄的期刊]
如果用两个网络,那获得增强后的特征应该怎么在进行DoA估计呢?
6、本文是如何增强IPD的?
用DNN学习混合信号的IPD到纯净信号IPD的映射关系。
2.1.2 I Introduction
7、IPD计算公式的推导。为什么相位差等于STFT系数之比再取相位?(暂时理解不了)
http://www.sengpielaudio.com/calculator-timedelayphase.htm
傅里叶级数/傅里叶变换:https://zhuanlan.zhihu.com/p/19763358
相位谱:https://www.cnblogs.com/brucebi/p/4403603.html
8、复数操作中,如何取相位?
对于a+bi,其相位为arctan(b/a)
9、AxB* = A/B ?? A乘以B的共轭 = A除以B?
我用MATLAB设置了两个复数,验证了不相等。
10、什么是broadside direction?
转向角 阵列的知识
11、DoA估计的公式对应的几何关系是什么?公式的推导。
更正:上图中角度应为弧度
12、什么是interference?与noise、reverberation的区别是什么?
13、log power spectra, Mel-frequency cepstral coefficients, time-domain speech signal的值是什么样的?
14、为什么说IPD不是连续的值?IPD的取值是什么样的呢?
其实这里说MSE不适合IPD主要是因为IPD的卷绕现象,因为IPD的取值是周期的,一个周期内的IPD是连续的,超出一个周期就会重复。
IPD的取值应该是弧度。
15、如何解决IPD取值变化的问题?
论文并没有对IPD解卷绕,而是直接同时用sin和cosine函数进行编解码。
16、为什么不直接使用周期性的cost function,如MCE、MSPE?或者说sinusoidal的优势在哪里?
17、既然选择了IPD的sinusoidal function作为增强对象,那为什么要同时用sine和cosine来编码呢?sine和cosine不就差了pi/2吗?
配合公式3,在解码(由DNN得到IPD)时,使用了arctan2函数,其参数为sin和cosine刚好可以
18、第k个子带对应的频率f是什么?一个具体的数吗?
对应的是具体的频率,单位是Hz,具体的一个数值,如1000Hz。
19、如何从网络输出中解码出IPD?
利用arctan函数对sin和cos进行计算,可以解码得到IPD。
20、公式3的意义?
同时利用sin和cosine值解码出IPD。
21、什么是four-quadrant inverse tangent function?
四象限反tan函数。
在几何意义上, 等价于 ,但 的最大优势是可以正确处理 而 的情况,而不必进行会引发除零异常的 操作。
22、arcsin函数什么样?为什么要丢弃信息?
反三角函数维基百科:https://zh.wikipedia.org/zh-hans/%E5%8F%8D%E4%B8%89%E8%A7%92%E5%87%BD%E6%95%B0
23、为什么会引入估计偏差?
当图中theta=90度时,即声源在侧面时,两条平面波根本无法构成三角形,也就无法利用公式2中的arcsin函数估计DoA。所以,根本不能估计到90度和-90度,由此引入了估计误差。
24、如何知道一个TF bin中是由哪个信号主导的呢?也就是说,怎么知道TF bin中真实的IPD是哪个方向的?TFbin-wise的ground truth是怎么标注的?
25、为什么DNN的输入是一帧的所有频带的IPD?为什么不分开频带进行处理?不同TF bin的话可能主导声源不同。
分频处理的话,也就是每一个TFbin都单独处理,太低效了。不同频带的主导声源不同不是问题,因为IPD是从一对一对的TFbin中得出的,所以不同的TFbin计算出的IPD可以是不一样的。
26、为什么说分类问题会天生地限制精度?
因为分类问题只会估计DoA为某一个类别,如30度,-65度等。但是,分类器不能估计出33.5度等精度更高的角度值。这也是为什么论文的DoA估计使用几何关系的原因。
27、为什么以下公式中,帽子在红色部分?
因为hat的意思是估计,DNN的输出是
,作为一个整体,帽子应该加在估计值整体的上方。
28、公式4,5的意义?
公式4:我们可以通过这一个公式,得到end-fire两端的调整过后的角度值。该公式的设计是为了既可以处理-90度附近的角度也可以处理90度附近的角度。max控制最小值不低于-90度,min控制最大值不超过90度。
公式5:前面的估计值是基数,后一项是偏移值。a是缩放因子,sgn函数如下图所示,为符号函数,后面的4次方是为了放大两端的角度值。越靠近两端,偏移值的绝对值就越大,a用来控制偏移的总体程度。
36、什么是相位卷绕phase wrap问题?如何解决?
同47.
37、为什么不用sine+arcsin或者cosine+arccos来对相位进行编解码?
2.1.3 多声源定位
29、如何利用每一个TF bin的DOA估计值来估计多个声源?
首先,我们每次都利用N个时间帧的K/2-1个频带的DoA估计值。
其次,我们对这些TF bin的DOA的估计值进行K-means多次聚类,每次检查包含最少DOA估计值的簇,如果其分布点的个数低于阈值,我们则去除该簇。
最后,直到每个簇所包含分布点的个数都不低于阈值时,我们停止执行K-means算法,并且将每个簇的峰值作为最终的DoA估计值。
30、为什么已经通过聚类得出多个DoA估计值了,还要对每个TFbin的DoA估计值进行精细化?
因为可以用于其他应用,如声源分离。这样的话,TFbin-wise的DOA估计结果就更加精确了。
31、k-means算法?
k-均值聚类初始化k个不同的中心点{u1,...,uk},然后迭代交换两个不同的步骤直到收敛。
步骤一,每个训练样本分配到最近的中心点ui所代表的聚类i。
步骤二,每一个中心点ui更新为聚类i中所有训练样本xj的均值。
《深度学习》P94
32、如何改变最近邻条件和中心点条件?
就是指的步骤一和步骤二的迭代交换执行。
39、多次k-means聚类,调整k,直到每个簇内DOA估计的个数都足够多。该方法与统计直方图,再直接pick peaks有什么区别?
2.1.4 实验
33、什么是IEEE-AASP挑战?LOCATA的任务1是什么?
IEEE Audio and Acoustic Signal Processing。
acoustic source LOCalization And TrAcking:声源定位与跟踪
任务一:使用固定麦克风阵列来采集单个固定声源信号。
34、为什么没有做单声源有噪声有混响的实验?
我们可以设置以下实验
- 单声源有混响
- 单声源有噪声
- 单声源有混响有噪声
- 多声源有混响
- 多声源有噪声
- 多声源有混响有噪声
我们一般先做简单场景下的实验,以此来验证方法的可行性。然后,复杂实验验证鲁棒性。
实验1验证单声源时该方法对混响是否有效,实验2验证单声源时该方法对噪声是否有效,实验3验证单声源时该方法对混响噪声同时存在是否有效。以此类推。
如果1好2不好,说明对噪声效果不好。反之。
如果12好3不好,说明分别有效,但所提出的方法不能处理混响噪声同时存在的一些特性。
如果123好,4/5/6不好,说明只对单声源有效,多声源之间的相互影响没有解决。
此处,论文展示了实验1、2和6。与其余state-of-art方法相比,在最复杂情况6下性能也是比较好的,所以隐性表明了3、4、5的性能比较好。
35、什么是空间混叠?为什么采样率等于8kHz就可以避免空间混叠?
在统计 、信号处理和相关领域中, 混叠 是指取样信号被还原成连续信号时产生彼此交叠而 失真 的现象。当混叠发生时,原始信号无法从取样信号还原。而混叠可能发生在时域上,称做时间混叠,或是发生在频域上,被称作空间混叠。
——百度百科
根据奈奎斯特采样定律,按照高于最大频率两倍的采样速率进行采样,不会出现混叠现象。
为什么是8kHz,而不是16kHz呢?
空间混叠:当传感器间距d>波长/2=c/(2f)时,c是声速,f为频率,会发生空间混叠。由栅瓣方向传播过来的信号与主瓣方向传播过来的信号将是不可分辨的。
所以阵列间距必须满足d<=c/(2f),称为空间采样定理。
若声速为320m/s,信号变换到频域之后,我们只需要处理0-f/2的频率,又已知麦克风间距为0.04m,这样的话截止频率为c/(2d),即320/0.08=4000Hz,采样率超过8kHz就会产生空间混叠。
40、什么是steered-response SNR?
可控响应信噪比。
具体来说,对于每个感兴趣的方向,我们设计一个波束形成器指向那个方向,产生最高信噪比的方向被认为是预测的目标方向[29]。
41、为什么对比方法MA的CCF间隔改变为-4到4个采样点?
42、为什么MA的多声源定位在既有混响又有噪声下会更有效?
43、什么是onset detection?
According to wikipedia Onset detection:
Onset refers to the beginning of a musical note or other sound, in which the amplitude rises from zero to an initial peak. It is related to (but different from) the concept of a transient: all musical notes have an onset, but do not necessarily include an initial transient.
检测声音的开始
And the Pitch detection
A pitch detection algorithm (PDA) is an algorithm designed to estimate the pitch or fundamental frequency of a quasiperiodic or virtually periodic signal, usually a digital recording of speech or a musical note or tone. This can be done in the time domain or the frequency domain or both the two domains.
检测基音。
参考:
https://en.wikipedia.org/wiki/Onset_(audio)
44、既然是在背景噪声的环境下,为什么还要5种房间配置?到底有无混响?
可能是diffuse noise生成时需要房间大小。
45、为什么前两个实验的训练集的语音数不一样?
46、两个声源的定位性能是如何评估的?
分别计算所有语音的minMSE,然后再平均,最后加平方根,得到总的RMSE。
MA:每条语音挑出L个DoA之后,每条语音都计算minMSE,最后所有语音的minMSE算平均再平方根。
PRO:每帧都计算DoA,每条语音挑L个DoA,后续同上。
WANG:整条语音估计Mask,再使用估计出的steering vector进行定位,后续同上。
cIPD:同PRO。
47、什么是wrap phase?为什么转向角从-90度到90度就不存在相位卷绕?
解卷绕:https://blog.csdn.net/zhoufan900428/article/details/9007125
因为STFT或DFT后,对信号求相位是通过tan-1(Img/Real)来实现的。
振幅和相位:
tan函数: 反tan函数:
当我们用反tan函数去求相位时,值域被限制在(-pi/2,pi/2),而我们定位的角度范围也刚好是[-pi/2,pi/2]。所以相位不会超过范围产生卷绕问题。
声源定位之2精读《sound localization based on phase difference enhancement using deep neuarl networks》的更多相关文章
- 声源定位之3精读《The Generalized Correlation Method for Estimation of Time Delay》
2.2.1 标题(2019年9月5日) 估计时间差的广义互相关方法 互相关可以表示两个信号的相似程度. 计算:两个信号循环移位相乘再相加,得到的一组互相关值. 相关函数: 何为广义?通用的框架,可以设 ...
- Mixed Far-Field and Near-Field Source Localization Based on Subarray Cross-Cumulant
基于子阵列互累积量(Cross-Cumulant)的远场和近场混合声源定位[1]. 文中采用Uniform linear array (ULA)阵列,将其分为两个互相重叠的子阵列,构建关于子阵列输出信 ...
- 基于麦克风阵列的声源定位算法之GCC-PHAT
目前基于麦克风阵列的声源定位方法大致可以分为三类:基于最大输出功率的可控波束形成技术.基于高分辨率谱图估计技术和基于声音时间差(time-delay estimation,TDE)的声源定位技术. 基 ...
- 论文翻译:2018_Source localization using deep neural networks in a shallow water environment
论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...
- A Node Influence Based Label Propagation Algorithm for Community detection in networks 文章算法实现的疑问
这是我最近看到的一篇论文,思路还是很清晰的,就是改进的LPA算法.改进的地方在两个方面: (1)结合K-shell算法计算量了节点重重要度NI(node importance),标签更新顺序则按照NI ...
- 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
论文假设和单目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的一些假设. 待求解的问题可以描述为 假设从姿态\(x\)看到的 ...
- 用深度学习(DNN)构建推荐系统 - Deep Neural Networks for YouTube Recommendations论文精读
虽然国内必须FQ才能登录YouTube,但想必大家都知道这个网站.基本上算是世界范围内视频领域的最大的网站了,坐拥10亿量级的用户,网站内的视频推荐自然是一个非常重要的功能.本文就focus在YouT ...
- (转) Awesome Deep Learning
Awesome Deep Learning Table of Contents Free Online Books Courses Videos and Lectures Papers Tutori ...
- What are some good books/papers for learning deep learning?
What's the most effective way to get started with deep learning? 29 Answers Yoshua Bengio, ...
随机推荐
- 当前标识(IIS APPPOOL\DefaultAppPool)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限
找到或增加这个目录,给他增加权限.
- Csharp 基础笔记知识点整理
/* * @version: V.1.0.0.1 * @Author: fenggang * @Date: 2019-06-16 21:26:59 * @LastEditors: fenggang * ...
- 阿里熔断限流Sentinel研究
1. 阿里熔断限流Sentinel研究 1.1. 功能特点 丰富的应用场景:例如秒杀(即突发流量控制在系统容量可以承受的范围).消息削峰填谷.集群流量控制.实时熔断下游不可用应用等 完备的实时监控:S ...
- Linux配置swap
根据自己的物理内存分配合适的swap大小 下面是合适的配置 物理内存 交换分区(swap) <=4G 至少2G 4-16G 至少4G 16G-64 至少8G 下面是操作步骤 1.首先查看我们的内 ...
- 2019最新Android常用开源库总结(附带github链接)
前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 1.TextView HTextView ...
- Java面试通关要点 汇总集【最终版】
本文转载自公众号:服务端思维,阅读大约需要7分钟.梁兄的知识储备很丰富,组织的知识星球里也是干货十足,平常还会有技术研习等活动,欢迎关注. 首先,声明下,以下知识点并非阿里的面试题.这里,笔者结合自己 ...
- OCR6:Custom Traineddata
参考:https://groups.google.com/forum/#!msg/tesseract-ocr/MSYezIbckvs/kO1VoNKMDMQJ V4版本代码示例 : import py ...
- 一步一步从PostgreSQL安装到delphi 访问
今天,我们使用ubuntu 19 来安装PostgreSQL. 1.直接使用包安装 sudo apt-get install postgresql 按Y,直接安装. 安装完毕. 初次安装后,默认生成一 ...
- C#8.0—非空引用类型
非空引用类型--C#8.0 原文地址:https://devblogs.microsoft.com/dotnet/try-out-nullable-reference-types/?utm_sourc ...
- 攻防世界高手进阶之Web_python_block_chain(2018年DDCTFmini blockchain)
打开题目大概看了一下,是有关区块链的题目, 感觉代码要格式化一下,不然没法看 代码格式化站点:https://www.html.cn/tool/js_beautify/ hash of genesis ...