文章目录

  • 1、SRP-PHAT介绍
  • 2、改进的SRP-PHAT算法
    • 2.1 基于随机搜索的空间收缩快速算法
    • 2.2 由粗到精的空间收缩快速搜索算法
    • 2.3 随机粒子滤波快速搜索算法
    • 2.4 搜索空间聚类快速搜索算法
    • 2.5混合搜索算法(Hybrid Algorithm)
    • 2.6 反映射搜索算法(Inverse Mapping)
    • 2.7 分级搜索算法(Hierarchical Search Method)
  • 3. 总结
  • 4. 其他综述

  本文是我在研究SRP-PHAT过程当中对看的文章做的一些笔记,仅供大家参考,欢迎大家交流。
(麦克风的学名为传声器,以下可能混用,但说的是一个东西)

1、SRP-PHAT介绍

  最大可控响应功率波束形成法(SRP-PHAT)是当前声源定位的主流方法之一。基于麦克风阵列的声源定位在会议电话、计算机听觉、人机交互系统等许多领域当中具有广泛的应用价值。在这些应用当中,最基本的就是要估计声源的位置,并且需要兼顾定位精度和算法的实时性。SRP - PHAT 法将本身固有的稳健性、短时分析特性与时延估计中相位变换方法对信号周围环境的不敏感性相结合,使声源定位系统具有一定的抗噪性、抗混响性和稳健性。目前,SRP-PHAT 法是一种对窄带和宽带信号均可适用的有效方法,得到了广泛研究和应用。但是由于其全局搜索算法运算量较大,限制了该方法的实时性。在保持定位精度不变的前提下,大量削减计算量,加快计算速度,以适应实时目标探测的要求就成为SRP-PHAT算法对单目标定位研究的主要问题之一。
  尽管SRP-PHAT具有较强的稳健性,但由于存在较多的局部极值,为求得全局的最优解,早期的算法往往对空间网格上的所有的点都进行考察,求得输出功率最大值点作为声源的估计点。
  全局搜索算法的主要算法思想是:将整个空间按误差容许大小分成同样大小的体积微元,每个体积微元都用其中心点来代表。求每个中心点的输出功率FE值并比较所有中心点的FE值,最大的FE对应的点即认为是声源位置的估计值。全局搜索算法虽然可保证得到全局最优解,但其计算量过大是其不利于实际应用主要不足。

2、改进的SRP-PHAT算法

  针对该算法计算量庞大,不能进行实时声源定位的问题,目前的改进算法有基于随机搜索的空间收缩快速算法(SRC)、由粗到精空间收缩快速算法(CFRC)、随机粒子滤波快速算法(SPF)等。
  最早提出SRP-PHAT 的美国Brown大学 LEMS语音和传声器阵研究实验室的H.Do 和 HF Silverman等人在2007~2009年提出三种快速搜索算法。分别是:基于随机搜索的空间收缩快速算法( Stochastic Region Contraction,SRC),由粗到精的空间收缩快速搜索算法( Coarse - to - Fine Region Contraction,CFRC),随机粒子滤波快速算法( Stochastic Particle Filtering,SPF)。

2.1 基于随机搜索的空间收缩快速算法

  首先根据计算极值点所在区域的概率确定一个初始搜索的矩形块区域,该矩形块应该包括全局最优值,也可能包括一些局部最大值和最小值。然后,反复搜索知道在一个足够小的自己中找到全局最优值(不确定的体积元VuV_uVu​)。迭代iii的搜索操作是在当前的体积元ViV_iVi​中对SRP-PHAT功率谱输出范函数P∗(x)P^*(x)P∗(x)进行随机考察,进而继续空间缩减。找出全局最大功率值即是声源点。

2.2 由粗到精的空间收缩快速搜索算法

  由粗到精的空间收缩快速搜索算法(CFRC)是一种类似于随机搜索空间收缩快速算法(SRC)的算法,采用由粗到精的层次化搜索算法,首先进行较大粒度的搜索,将搜索空间划分成若干子空间,对每个子空间选取代表点进行波束功率输出函数的计算,从中选出函数值较大的一部分子空间,并对这部分子空间进一步细分。重复搜索、空间划分的迭代动作,直到搜索的子空间达到足够精度为止,找到声源定位点。

2.3 随机粒子滤波快速搜索算法

  首先通过与SRC相同概率算法取得初始搜索区域以保证极值点存在于初始搜索区域,然后在SRP算法中采用一种避免粒子滤波器衰减的重采样方法。最后使用β\betaβ-PHAT的权重方法计算SRP函数,从而找到声源定位点。

2.4 搜索空间聚类快速搜索算法

  在SRP-PHAT中,通过计算每一个点,找到空间中最大输出功率点进行声音源的定位。但由于模数转换有限的采样率,使不同空间备选点的输出功率可能相等。根据最大功率的计算公式可以看出,空间某个点的输出功率值依赖于麦克风接收的信号以及将麦克风阵列聚焦定位于该空间点时所引起的麦克风间的相位差异。因为信号从时域转换到数字域,所以空间各备选点的相位差异也是在离散时间域。如果任意两个备选点位置虽然不同,但是距离很近,即两个点的位相差或TDOA在离散时间域中是相同的,则两点输出最大功率。因此,如果备选点有相同TDOA,可将它们归为一类,选择一个点作为该类所有点的代表,将代表点存储在一个搜索表格( look,up)中,然后对所有类的代表点进行搜索,确定全局最大值,而不是在所有备选点。

2.5混合搜索算法(Hybrid Algorithm)

  Pateraon和Kyriakakis等人在2005年提出了混合搜索算法。算法主要思想如图1所示。

  根据图1,混合搜索算法的主要思想是:在信号经过相位变换后,在M对麦克风中,通过选择具有最高信噪比或者具有最大峰值能量的麦克风3对,对于每一对麦克风根据空间交集算法(Spatial intersection, SX)找到NP个时延估计点,N个点决定了初始点定位集合,最终,根据初始点集合中的点来算出最大的功率值,则认为此点为声源位置。

2.6 反映射搜索算法(Inverse Mapping)

  Dmochowski , Benesty和 Affes等人在2008年提出一个反函数搜索算法。该算法的主要思想:当传声器接收到声源信号,传声器对在不同延时下互相关函数是不同的,找到一个最大的延时,即对应这一对传声器互相关函数的峰值。从而在这个最大延时的领域内,选定一些对应的点作为备选点。

2.7 分级搜索算法(Hierarchical Search Method)

  Zotkin和Duraiswami等研究者在2004年提出分级搜索算法。其算法主要思想为:通过延迟所估算出的空间位置,如果偏离了声源点的位置,那么此时的互相关函数与最大的互相关函数值相比,是要减小的。而减小的速度,频率低的信号比频率高的信号要慢。首先由于低频信号的互相关函数峰值比较宽大,因此在搜索区域内使用大块搜索,每个块内都选几个点作为代表,由于声源点附近的互相关函数值也较大。

3. 总结

  SRC,CFRC及 SFP快速搜索算法能保持SRP -PHAT算法的优良特性,在取得全局搜索算法相同定位精度的条件下,将计算量削减3个数量级。实验证明,SRC还具有良好的对多语音目标探测能力。但以上三种算法要求传声器阵列的孔径较大,使用的传声器数量较多,适合近场条件的声源定位问题。
  SSC快速搜索算法在与全局搜索算法具有相同信噪比的情况下也能将计算量减小3~4个数量级。试验中,研究者采用了4个孔径比较小的传声器,这种快速算法可以实现对远场声源目标及其方向的定位,不太合适应用于精度非常高的定位系统中。
  研究者对混合算法进行了仿真和实景实验,结果表明这种混合算法的运算量远小于全局搜索算法。由于该算法的初始点集点数较少,从而大大降低了全局搜索的计算量。但采用基于TDOA的估计算法进行预处理,导致TDOA的估计误差影响了后面的定位结果,使该方法局限于近场情况,对远场的探测效果比较差。模拟和真实实验验证表明,在声源处于混响比较强的条件下,反映射搜索算法也能保持较高的精度,同时加快了计算速度。但有研究人员指出该算法反函数映射的点集可能不包括全局最优解,有漏检的可能。也有研究者指出,这种算法只能使全局搜索算法计算量削减一个数量级左右。
  分级搜索算法采用由粗及细的逐渐搜索,减少需要搜索的点数,从而大大降低计算量。但正如Peterson和 Kyriakakis等人指出的,该方法在粗选时会丢失一些真实声源的搜索点,从而造成漏检。且该方法是以抗混响稳健性的下降来换取计算量的削减。
  总之,本文选择了7种具有代表性的改进SRP-PHAT算法的核心是在尽量不损失探测精确性,不增大漏检概率的情况下,尽量降低SRP - PHAT算法的搜索复杂度,使其按照一定的方式进行空间点的快速收敛,从而减少搜索点,减小计算量,扩大使用场景。
  国内研究者对SRP-PHAT算法也进行了一定
的空间,快速进行声源定位。研究者通过仿真实验证明,该算法对SRP-PHAT有一定的提高。
  为保证SRP-PHAT算法的实时性、精确性和稳健性,研究提出众多改进算法。通过分析发现,以上快―速算法在实时性上取得了一定的成果。但一些改进算法受到传声器阵列孔径大小的限制,或削减了原算法的稳健性,因此算法的进一步改进仍需大量研究。

4. 其他综述

声源定位(知乎)
参考文献:SRP-PHAT的改进算法综述

SRP-PHAT综述相关推荐

  1. 1-1 机器学习和深度学习综述-paddle

    课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...

  2. 深度学习编译器综述The Deep Learning Compiler

    深度学习编译器综述The Deep Learning Compiler The Deep Learning Compiler: A Comprehensive Survey 参考文献: https:/ ...

  3. ADAS系统长篇综述(下)

    ADAS系统长篇综述(下) 四.ADAS架构设计的进化阶梯 前面谈到的产品的商业化推广渗透和产品的功能演进渗透,目的是让大家去概念化.当然,最后的赢家一定是实干者,能够在具体技术实现路径上进行深度耕耘 ...

  4. YOLOv3和YOLOv4长篇核心综述(下)

    YOLOv3和YOLOv4长篇核心综述(下) 4.3.3 Neck创新 在目标检测领域,为了更好的提取融合特征,通常在Backbone和输出层,会插入一些层,这个部分称为Neck.相当于目标检测网络的 ...

  5. 服务器技术综述(四)

    服务器技术综述(四) .

  6. 服务器技术综述(三)

    服务器技术综述(三)

  7. 服务器技术综述(二)

    服务器技术综述(二)

  8. 服务器技术综述(一)

    服务器技术综述(一) 本文对服务器的概念.服务器重要部件技术和架构组成,并且对磁盘.RAID知识,网卡等知识做了深度详细介绍. 简单来说,服务器就是在网络中为其他客户机提供服务的计算机:具有高性能.高 ...

  9. 长篇自动驾驶技术综述论文(下)

    长篇自动驾驶技术综述论文(下) 三维目标检测 鉴于经济性,可用性和研究的广泛性,几乎所有的算法都使用相机作为主要的感知方式.把相机应用在ADS中,限制条件除了前面讨论到的光照等因素外,还有一个问题就是 ...

最新文章

  1. Camera HDR Algorithms
  2. Java 读取 dwg 转换 dxf
  3. 简述python的主要功能和特点_Python的基本知识和特点及功能详细说明
  4. JSP proxool+mysql数据库连接池配置
  5. 【Kotlin】Kotlin 委托 ( 使用 by 关键字进行接口委托 )
  6. jQuery :nth-child前有无空格的区别
  7. Apache Storm 官方文档 —— 源码组织结构
  8. 全面涵盖传统方法和深度学习方法:3D人脸识别的十年发展及未来趋势
  9. 原 layer父子页面交互
  10. freemark循环map_java与freemarker遍历map
  11. 高通计划通过多层级骁龙5G移动平台 加速5G商业化
  12. python qt库,用于 Python 的高级 GUI 库(Qt 和 PyQt)(1)Unix系统 -电脑资料
  13. 20210722-20211010当项目经理积累的管理经验_血泪史_项目管理经验001
  14. 找出两个字符串中所有共同的字符_面试中的两个字符串问题竟给我整懵了?!| 原力计划...
  15. 没有配置默认路由_网络路由选择原理
  16. c#类的方法表的建立和方法的调用
  17. 小红伞key的下载地址
  18. LeetCode算法,多多路上从左到右有N棵树(编号1~N),其中第i个颗树有和谐值Ai。 多多鸡认为,如果一段连续的树,它们的和谐值之和可以被M整除,那么这个区间整体看起来就是和谐的....
  19. 完稿—单片机原理与接口技术
  20. Linux学习——编辑器Vim学习

热门文章

  1. 理解HTTPS加密安全传输流程
  2. 英国将强制互联网公司遏制外国政府发布假信息,违法者或被罚款数十亿美元...
  3. SSI(串行同步接口)协议如何工作
  4. JS 调用打印机,打印HTML中的部分内容
  5. 双目视觉 XYZ求解
  6. mysql的时区设置
  7. 嵌入式计算机的关键特征,与通用计算机的区别
  8. coursera课程,coursera课程下载学习
  9. 前端拓展:如何开发一个 Chrome 插件?
  10. 深夜爬虫, 我很抱歉 , 附爬取“网抑云”最详细的爬虫教程!