猛男把400+条猫咪叫声做成数据集,可识别猫咪的3种不同状态丨开源

萧箫发自凹非寺 量子位报道公众号 QbitAI

这年头,就连喵星人也有自己的语音数据集了。

没错,来自米兰大学计算机系的几位猛男,和生物系、兽医系的小伙伴们一起,收集了 21 只猫咪的 400+ 条语音数据,做了个猫叫声数据集。


图片

这 21 只猫咪中,包括 10 只成年缅因猫和 11 只成年欧洲短毛猫,是长毛和短毛猫咪中的代表类型。


图片

不少网友下载后表示:


图片

痴汉笑半小时了,根本干不了活啊!

3 种猫咪叫声,总长 21 分钟

制作这个数据集的初衷,是为了人类能更好地理解猫咪叫声的含义,为以后的人-猫沟通作准备。

因此,在制作数据集时,研究者们选择了 3 种让猫发出不同叫声的场景:

等待投喂:主人喂食前的猫叫声。被放到陌生环境下隔离:将猫运送到一个陌生环境,车程不超过半小时,被隔离前会与主人先相处半小时。隔离时的猫会发出叫声。刷牙:主人给猫刷牙时的猫叫声。在这些场景中,每次收集猫叫的时间不超过 5 分钟(例如,5 分钟后就会给猫喂食)。

为了让语音数据更清晰、且不影响猫的日常行动,研究者们采用了一个不到 50g 的小型麦克风,挂在猫脖子上。


图片

在清除了不包含猫叫声的片段后,研究者们将这些叫声录音剪切成平均长度 1.82s、方差 0.37s 左右的录音文件,共 448 个片段,其中缅因猫 196 个,欧洲短毛猫是 252 个,总时长约 21 分钟。

这是收集到的 3 种类型的叫声,从左至右依次为等待投喂、被隔离和刷牙:


图片

为了准确识别猫咪在这 3 种情况下的叫声,研究者们还做了一个机器学习模型。

无关猫咪种类,识别效果 90% 以上

研究者们采用了模式识别的方法,算法框架是一个有向无环图。

简单来说,先区分猫叫声是否属于“等投喂”和“被隔离”两种状态,再识别它们是否属于“刷牙”的状态。


图片

为了验证哪种模型对于识别 3 种猫咪语音状态更有效,研究者们采用了不同的模型进行实验,最后确定了有向无环图中的隐马尔科夫模型,识别率最高能达到 95.94%。


图片

经过实验,“等待投喂”的猫咪叫声能被完美识别,达到了 100%;“刷牙”的猫咪叫声识别率达到了第二,平均在 95.24%,有一定概率被识别成“等待投喂”;“被隔离”的猫咪叫声识别率在 92.59%,有一定概率被识别成“刷牙”。


图片

三种状态的识别效果都在 90% 以上,也算是一个不错的模型了。

这项研究、以及猫叫数据集的制作,来自米兰大学计算机系的 3 位猛男,以及生物学系和兽医系的小伙伴们,所有人在这项研究中的贡献相同。


图片

网友:哪有心思搞科研

发现这个数据集后,不少网友第一反应:居然连这都有?


图片

已经有网友,开始试图搞懂、甚至已经听懂数据集的“详细内容”了:


图片

有网友嗅到了里面的商机:


图片

还有网友调侃,根本没心情搞科研,只剩开心了。

当然,除了猫咪叫声,也有不少网友提出,想要其他的声音数据集:


图片

本文链接

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注