目录
1 原理介绍
1.1 基本思路
1.2 任务一
1.3 任务二、三
2 具体实现与结果分析
2.1 任务一
2.2 任务二、三
2.2.1 信息提取
2.2.2 匹配计算
3 问题与不足
4 使用说明与文件清单
5 成员分工
参考文献
1 原理介绍
1.1 基本思路
本次实验要求我们根据给出的视频和音频的数据,完成音频分类和视频音频匹配的任务。音频数据为四个壁上的麦克风采集到的声音,我们首先对声音数据进行短时傅里叶变换,将得到的四个特征图作为四个 channel,直接使用 CNN 进行图像分类。而对于匹配问题,我们的想法是根据音频提取出运动相关的一些信息,再与从视频中提取出的相同信息做相似,根据相似度使用 KM 算法进行匹配,具体选取的特征信息为运动方向和碰撞位置。在本次实验中我们对于视频信息的处理和特征提取是基于传统方法的,我们还设计了基于深度学习的方法(但未将其进行实现),此部分内容详见问题与不足部分。
1.2 任务一
首先对音频数据进行预处理,先对音频数据进行降采样(44100Hz 11000Hz),然后对其进行
STFT 操作以得到其频谱特征,STFT 的具体参数参考了数据集来源的论文 [1]。然后对于得到的四个特征图,我们将其当作四个 channel 拼接为一个 tensor,作为训练用的数据。
特别的,并不是所有音频数据都是一样长的,绝大多数的音频长度都是 4s,对于长度不到 4s 的音频,我们直接在其末尾使用 0 进行延拓 (padding)。
由于我们得到的训练数据是一个 4 通道的频谱图,我们可以将其当作一个图像分类任务使用
CNN 来解决,本次实验中我们使用 resnet 来解决任务一。
1.3 任务二、三
任务二与任务三除了匹配部分没有本质的区别,我们采用的主要思路为先利用类别信息进行分组,然后再在组内进行匹配。对于匹配特征的提取,我们训练了两个网络来分别根据声音判断物体的运动方向和碰撞的位置。事实上,我们认为只根据声音数据,并不能准确恢复出物体的运动方向,
因为缺少其开始时的位置信息,因此我们打算使用碰撞位置来作为关键信息进行匹配。但是通过实验发现,许多匹配错误是最终碰撞的位置相同引起的,因此我们加入了并不完全准确的运动方向信息(平均误差在 15 度)来辅助位置信息进行匹配,从实验结果上看这样的特征组合对匹配成功率有着较为显著的提升。