猛男把400+条猫咪叫声做成数据集,可识别猫咪的3种不同状态丨开源
Posted QbitAl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猛男把400+条猫咪叫声做成数据集,可识别猫咪的3种不同状态丨开源相关的知识,希望对你有一定的参考价值。
萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI
这年头,就连喵星人也有自己的语音数据集了。
画风是这样的:
没错,来自米兰大学计算机系的几位猛男,和生物系、兽医系的小伙伴们一起,收集了21只猫咪的400+条语音数据,做了个猫叫声数据集。
这21只猫咪中,包括10只成年缅因猫和11只成年欧洲短毛猫,是长毛和短毛猫咪中的代表类型。
△缅因猫vs欧洲短毛猫
不少网友下载后表示:
痴汉笑半小时了,根本干不了活啊!
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位猛男,以及生物学系和兽医系的小伙伴们,所有人在这项研究中的贡献相同。
网友:哪有心思搞科研
发现这个数据集后,不少网友第一反应:居然连这都有?
已经有网友,开始试图搞懂、甚至已经听懂数据集的“详细内容”了:
有网友嗅到了里面的商机:
还有网友调侃,根本没心情搞科研,只剩开心了。
当然,除了猫咪叫声,也有不少网友提出,想要其他的声音数据集:
对猫咪叫声有兴趣的朋友,戳下方地址即可获取~
猫叫数据集传送门:
https://zenodo.org/record/4008297#.YNFSEhMzaPf
以上是关于猛男把400+条猫咪叫声做成数据集,可识别猫咪的3种不同状态丨开源的主要内容,如果未能解决你的问题,请参考以下文章
2天做出猫咪情绪识别软件用代码表白,技术男浪漫起来能有多撩?