简介

提出了一种无监督两阶段发声物体定位结构的网络,以音视一致(分类)作为监督信号,使用合成的训练集训练分类网络。第一阶段训练网络,使之输出“认出”发声物体的掩膜,结合掩膜,使用K-means聚类得到N个类别(已知,由数据集确定)的视觉表征,存为字典,同时训练单模态音视特征分类网络;第二阶段延续第一阶段的参数,利用字典得到视觉特征图上各类别的响应激活图,结合第一阶段的发声物体掩膜得到各发声物体特征,最后使用K-L散度缩小发声物体特征与音频分类特征(音频特征+FC)的分布差异。使用融合了发声物体掩膜的各类别掩膜作为定位输出。在有标注框的合成MUSIC数据集和AudioSet上进行了试验。

贡献

(1)提出了在鸡尾酒会场景中对发声目标进行定位,且不需要人工标注
(2)提出了一种新的分步学习框架,该框架以音视一致性作为自监督,首先学习单声源的目标表征,并进一步扩展到发声物体定位。
(3)合成了一些鸡尾酒会视频,并对发声物体边界框进行了标注,以评估目标定位效果。

所提方法

从简单样本集中学习目标表征

简单样本数据集包含正样本–音视同步组合和负样本–音视不同步组合,用ResNet提取特征,使用BCE损失学习正样本音视特征相似性并抑制不同步的负样本。随后为不同目标类别学习表征字典D。首先将第 i i i个音视组合的定位映射 l i l_i li​二值化到掩膜 m i ∈ { 0 , 1 } H × W m_i\in\{0,1\}^{H×W} mi​∈{0,1}H×W。 m i m_i mi​是“认识单目标”的掩膜描述符。用 o i = G A P ( f ( v i s ) ∘ m i o_i=GAP(f(v^s_i)\circ m_i oi​=GAP(f(vis​)∘mi​ ( s s s指仅有一个发声物体的样本)提取目标潜表征(将单通道二值掩膜乘以特征图,再GAP得到的一组特征向量), ∘ \circ ∘是Hadamard乘法(逐元素相乘)。由于这些表征是从粗糙的位置结果中提取得到的,因此鲁棒性不佳。为了提升表述能力,使用以字典学习的方式学习候选表征的高质量目标描述符。为每个目标表征 o i o_i oi​联合学习 K × C K×C K×C的字典D(将掩膜GAP特征向量组 o i o_i oi​聚类后,每个类别的特征均值)和assignment y i y_i yi​,每个键 d k d^k dk被标识为第 k k k个类别中表示目标的字符(512维特征)。使用K-means对视觉特征聚类,得到伪标签。K-means后得到了字典D*,可以在第二阶段中检测潜在目标;得到一组类别assignment y i ∗ y^*_i yi∗​(伪标签),可以指示不同目标类别的伪标签。由于目标定位可以从广义分类中受益,因此,使用L1和生成伪标签的目标分类objective(L(D,yi))针对定位目标来优化模型

l i l_i li​视觉特征图上发声物体的响应,是利用音视一致作为信号,根据音视特征的余弦相似度训练得到的。
m i m_i mi​是用来定位,或可以称为“关注”发声物体的二值掩膜。
o i o_i oi​是利用二值掩膜,将发声物体从视觉特征图上“抠”下来,再GAP得到的一组特征向量
字典D则是利用已知的类别数量信息为 o i o_i oi​聚类,根据聚类结果计算 o i o_i oi​每个类别的特征的均值(中心)

区分性发声物体定位

首先定位图像中所有出现的物体,其中发声物体根据是否出现在发声区域进行选择,并匹配相应音频的类别。通过参考所学目标的表征字典 D ∗ D^* D∗,目标位置由视觉特征图 f ( v i c ) f(v^c_i) f(vic​)( c c c指包含多个发声物体的样本)的每个位置和 D ∗ D^* D∗中每个表征key d k d^k dk的内积相似度来指代。 m i k = d k ⋅ f ( v i c ) m^k_i=d^k\cdot f(v^c_i) mik​=dk⋅f(vic​),(将特征图每个像素下的特征与聚类“字典”的每个类别的向量点乘,代表特征图在不同类别下的响应,相似度高的响应高) m i k m^k_i mik​是第 i i i个视觉场景中第 k k k个类别预测的目标位置区域,如果场景中不包含属于第 k k k个类别的目标,相应的位置映射 m i k m^k_i mik​保持低响应(相似性)。最终获得了K位置映射,即目标不同类别的位置。

为了定位发声物体,去除未发声物体,将与输入的混合声音高度相关的发声区域 l i l_i li​视为一种发声目标过滤器,即 s i k = m i k ∘ l i s^k_i=m^k_i\circ l_i sik​=mik​∘li​。 s i k s^k_i sik​为第 k k k个类别的发声物体所在位置。若第 k k k个物体未发声,即使在图像中可见, s i k s^k_i sik​也不会表达出声音区域。发声物体 v i c v^c_i vic​的类别分布可写作 p v i s o = s o f t m a x ( [ G A P ( s i 1 ) , G A P ( s i 2 ) , . . . , G A P ( s i K ) ] ) p^{so}_{v_i}=softmax([GAP(s^1_i),GAP(s^2_i),...,GAP(s^K_i)]) pvi​so​=softmax([GAP(si1​),GAP(si2​),...,GAP(siK​)])。
视觉和声音之间的自然同步提供了发声物体类别分布方面的自监督一致性,即同一发声物体的声音特征和视觉外观是一一对应的。通过 L c = D K L ( p v i s o ∥ p a i s o ) L_c=D_{KL}(p^{so}_{v_i}\parallel p^{so}_{a_i}) Lc​=DKL​(pvi​so​∥pai​so​)选择性地定位发声目标,其中 p a i s o p^{so}_{a_i} pai​so​是由音频事件网络预测的声音 a i a_i ai​的类别分布, D K L D_{KL} DKL​是Kullback-Leibler散度。

综上,第二阶段需要学习两个目标,(1)类别未知的发声区域检测(2)已知类别下发声物体定位。 L 2 = L c + λ L 1 L_2=L_c+λL_1 L2​=Lc​+λL1​。得到特定类别 s i k s^k_i sik​的位置后,应用softmax来可视化。

m i k m^k_i mik​是视觉特征图的每个像素与每个类别的聚类中心特征向量点乘得到的值,反映了特征图在不同类别下的响应,相似度高的响应高。
s i k s^k_i sik​是根据发声物体的响应,在 m i k m^k_i mik​上过滤未发声物体得到的。
最后要使用K-L散度损失,使根据伪标签得到的视觉特征类别分布 逼近 第一阶段强监督得到的音频特征类别分布

网络结构

损失函数

位置目标函数

其中 l l l为余弦相似度

实施

合成音乐数据集:随机选择4个不同类别的1秒音视频组合乐器独奏,选择两个音频片段混合,并将这四帧拼接,作为包含四种乐器,两种发声两种不发声的数据集。
bbox标注:为每个乐器手动标注其是否发声
视觉:随机抽取一帧图像,尺寸调整为256后随机裁剪到224。
音频:重采样到16KHz,使用窗口大小为160,步幅为80的Hann窗STFT,得到201×64的log-mel声谱图,得到输入。
目标的二值掩膜的阈值为0.05,目标字典中的每个中心表征被分配给相应的目标类别,用于评估定位

训练

第一阶段交替优化。 在第一阶段的训练中,轮流训练分类和定位目标,基于K-means得到伪标签。由于聚类中心的顺序每次迭代都会变,因此在开始学习分类时,分别对音频和图像网络中的分类器进行了重新初始化。当分类精度饱和或达到最大迭代轮数后停止学习,转为学习定位。IoU/CIoU的阈值τ为所有定位映射预测值的最大值的10%。
训练第一阶段的网络时使用普通数据,训练第二阶段使用合成数据

评估


C I o U CIoU CIoU:特定类别下 I o U IoU IoU得分的均值, I o U k IoU_k IoUk​是发声物体区域(是否要求预测类别也属于 k k k类?)与第 k k k个类的bbox标注的 I o U IoU IoU,类别为 k k k的物体正在发声时 δ k = 1 δk=1 δk=1,否则为 0 0 0
N S A NSA NSA:激活值低于阈值 τ τ τ的无声类别位置映射上的平均激活区域, s k s^k sk是第 k k k个类的位置映射, A A A是位置映射的全部区域

结果

单发声物体定位



左:没交替训练的全局图像特征、中:交替训练的图像特征、右:交替训练的带掩膜的物体特征
从训练好的视觉网络中提取的特征分布的t-SNE图,当以定位-分类交替学习时,每种音乐的视觉特征区分性更强,其中为 带掩膜的物体特征 聚类的 归一化互信息为0.74(表面区分性强)。比sound of pixel好,因为它对声源变多后的情景处理不好。

多发声物体定位


(1)模型考虑了物体的类别信息,采用了一种基于类别的音视对齐方法,即Eq。7,而其他方法[3,27]简单地关联了音视特征,不能有区别地定位发声对象。
(2)第一阶段学习到了有效的视觉知识,帮助发现潜在目标,而比较方法[31]不能以混合然后分离的学习方式来处理这类场景。
(3)参考NSA的结果,模型可以过滤无声物体,但DMC[16]必须给定发声物体的数量。虽然[31]NSA也很好,但可能并非成功过滤掉了无声的物体,而是因为通道激活太低,无法检测到物体。

消融实验

损失函数权重 λ λ λ:当在[0.5, 1.0]的范围内变化时影响不大,但超过这个范围影响就大了。这是由于localization objective L 1 L_1 L1​相比于分布匹配objective L c L_c Lc​更容易优化。当λ过大时,定位过拟合;当 λ λ λ过小时,难以合理地检测发声区域并滤波

交替优化。此交替优化并非第一、第二阶段交替训练,而是在每个阶段内部交替进行定位和分类训练,有交替训练比没有的效果要好。


簇数量和掩膜阈值。之前的实验将簇数量设置为数据集类别数量。又测试了不同的聚类个数和不同的掩膜阈值。为区分定位,将多个簇聚合到一个特定类别。超参、类别数目都不影响

第二阶段训练设置。定位损失 L 1 L_1 L1​,音视一致性损失 L c L_c Lc​,无声区抑制Prod。Prod很重要,因为在合成数据集上有两种无声、两种有声乐器,若没有Prod则都会产生很强的响应,导致音视类别匹配失败,效果差。 L c L_c Lc​促进了定位性能,表明一致性有用。

预训练模型。若无预训练,Music-Solo上的NMI急剧下降,可能是MUSIC数据集包含的场景过少,过拟合了。AudioSet-Instrument从头训练的效果表现良好。

失败的情况

(1)单个视觉目标但有多种声音
(2)专辑封面
(3)小目标

代码

第一阶段

(1)训练定位网络,计算av_output的BCE损失,10轮后才执行第②~④步
(2)得到mask后的特征向量:(1)取出av_map,转为二值掩膜(2)膨胀(3)二值掩膜作用到原特征图fv上,进行GAP,形成特征向量组[B, 512]
(3)用K-means聚类,得到每个向量的伪标签将所有向量按类别归类,为每个类别计算其特征向量均值,将这组向量作为字典保存
(4)训练分类网络(1)再次计算fv和fa(2)初始化音视分类网络的FC层(3)使用伪标签作为监督信息,单独的优化器优化FC层,CE Loss训练音、视分类网络,使用定位网络的优化器优化除FC之外的层

第二阶段

(1)将音视样本输入到与第一阶段结构相同的网络中,获得fv、fa、av_map和av_output
(2)读取第一阶段保存的N类特征向量均值字典,将视觉ResNet输出的特征图每个像素下的特征向量 与 字典中每一类特征向量计算点乘,得到尺寸与特征图一致,通道数等于类别数的一组“软掩膜”。
(3)将av_map作用到软掩膜上,去除无声物体,进行GAP,得到每个样本各类别log softmax值
(4)将音视样本输入到第一阶段训练完的模型中,获取到音频分类softmax概率置信值
(5)计算(4)和(3)的K-L散度损失(作者称为分类损失)
(6)分别为(1)中av_output的正负样本(因为负样本扩增了4倍)计算BCE损失(前1000轮权重为0.25,之后就不算入总损失)(作者称为定位损失)
正确率衡量标准为av_output与GT的正确率

https://gitee.com/reallty/Discriminative-Sounding-Objects-Localization

Discriminative Sounding Objects Localization via Self-supervised Audiovisual Matching相关推荐

  1. slam、planning、localization等相关的机器人博客、网站、github等资源汇总(持续更新)

    高校/实验室/个人/机构 苏黎世联邦理工大学-自动驾驶实验室https://github.com/ethz-asl 有多传感器的标定 英国伯明翰大学贡献的一系列成果 "strands&quo ...

  2. sch find similar objects

    然后 进入 sch spector 窗口 修改属性 但是由于没选中 所以只能修改一个元件的属性,必须在edit菜单中选择select all 才行.sch spector 窗口只能操作选中的器件.或者 ...

  3. 【CVPR2019】完整论文列表二

    CVPR 2019 Paper list No.1001-1294 ?CVPR2019 完整列表一 论文题目与链接 Semantic Component Decomposition for Face ...

  4. CVPR 2015 papers

    CVPR 2015  CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Going Deeper ...

  5. Object Detection(目标检测神文)

    目标检测神文,非常全而且持续在更新.转发自:https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html,如 ...

  6. (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)

    CVPR 2020 追踪之论文纲要(修正于2020.08.27) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  7. 15.4 CVPR 2015 papers

    本贴:http://blog.csdn.net/xuyuhua1985/article/details/46662283 From:  http://www.pamitc.org/cvpr15/pro ...

  8. Learning-Deep-Learning(学习深度学习)

    作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai Learning Deep Learning(学习深度学习) There are lots of awe ...

  9. Learning Deep Learning(学习深度学习)

    作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 简书地址:https://www.jianshu.com/p/e98c5f61a6f2 Learning ...

最新文章

  1. 计算机四级网络工程师考试重点
  2. R假设检验之Durbin-Watson检验(Durbin-Watson Test)
  3. android 使用Ksoap2工具类实现WebService网络编程
  4. 实战:Redis 哨兵模式(下)
  5. 仿hotmail收件人弹层: onkeyup事件无法捕获到回车按键, 用onkeydown事件捕获额外处理回车键...
  6. 百度贴吧 “只看某人” 小工具
  7. spring boot毕业设计选题及程序开发功能说明
  8. XGBoost如何画出树分裂图,用代码绘制多棵CART回归树
  9. “机智歌王”--沙鸥,大陆的的张帝
  10. mysql免安装 默认密码_mysql5.17免安装的初始密码和重新设置密码
  11. python爬取芒果TV《乘风破浪的姐姐》弹幕数据(已完成)
  12. mysql语句大小写要求_mysql踩坑(一)-大小写规则
  13. 超简单看懂匈牙利算法
  14. office ppt在线预览
  15. python科学计算是什么意思_Python科学计算和数据分析(NumPy详细介绍)
  16. java饥荒,我的世界1.7.10饥荒整合包
  17. hybird (混合开发 - 视频详解) - 王云飞 - 小四
  18. PC端上位电路对接基恩士PLC通信获取字符串——大端小端区分
  19. C盘里的文件夹都是干啥的
  20. 学习笔记(01):学校网管员培训视频教程-以太网的发展

热门文章

  1. 2022年新浪股票接口更新需要加Referer才能获取数据, java获取新浪股票数据 http://hq.sinajs.cn
  2. 关于spring以及springIOC,看这一篇就够了,给你总结的清新脱俗
  3. mysql 插入重复数据_MySQL插入重复数据
  4. 同事都在偷偷学Python,我莫名有了危机感...
  5. 基于梯度的优化方法(一) ——梯度下降原理浅析
  6. 抓取中国地震台网最近一年地震数据,生成表格以及地震分布图
  7. SSS-SVGA LIB v1.00
  8. Google 网上论坛(Google Online Forums)
  9. TC Games教你怎么不用安卓模拟器畅玩元气骑士手游高清电脑版
  10. 微信小程序for循环,点击传递参数