著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Hongcheng
链接:https://www.zhihu.com/question/37329268/answer/71552414
来源:知乎

非常有趣的的问题。既然题主问到了动物声音的识别,不妨从鸟类不同种类语音识别的应用的参考开始。通过鸟类的鸣声来判定鸟的种类是一项鸟类鉴别的重要技能,通过反复的记忆和训练,可能大致识别出不同种类鸟鸣声的节奏、音高、反复、音色、音节长短等区别。当然也有一些鸟类还可以通过鸣叫以外的声音来识别,比如啄木鸟的敲击声。

从发音原理上来讲,鸟类的发声是气流通过鸣管形成的。那么不同种类鸟类在进化过程中的分歧导致了鸣管结构的不同是鸣声鉴别的重要依据。同一种类的鸟类不同性别的鸣声是有差别的,但是实验表明这种差别在于一些叫声通常只会由某种性别产生,但是在特殊情况下这样的叫声也可以由另一性别发出 (Hoelzel 1986 Song),这主要取决于对相似结构鸣管运用模式的不同。另外,在幼鸟成熟过程中鸣管的结构性变化也会导致成鸟和幼鸟鸣叫声音的不同。

从脑神经控制上来讲,一些鸟类(例如鸣禽目、燕雀目、鹦形目、蜂鸟科、雨燕目)的鸣叫声是有意识模仿习得的,并且有一定的特征节奏,这种鸣叫更类似于鸟类界的“歌声”。这种歌声的学习是与脑前叶的控制以及与性激素的分泌有关的,很多时候这类歌声起到求偶、领域争夺等社交作用。另一部分的鸟叫声并非习得,而是先天的下意识的鸣叫。

当然了,目前对于鸟类发声原理的了解大部分都是大致的、具普遍性的。对于特定种类或是特定个体的情况,也存在不少例外。例如并不是所有鸣禽都会学习歌声的;还有在特定的诱导下(实验控制、迷路、杂交鸟),一些种类的鸟会学习不属于自己种群歌声;一些种类的鸟例如棕三趾鹑 (Turnix suscitator) (Madge 2002 Pheassants),黑胸鸦鹃 (Centropus grillii) (Goymann 2004 Competing) 在歌声习得上会有性别反转的情况,即雌性为雄性保护领地而发出通常的雄性歌声。

通过对鸟类发音原理的背景了解,很多鸟类学家就逐渐着手解决一个“听声辨鸟”的实际问题。其中比较有代表性的是鸟类歌声而不是普通叫声的研究。传统的方法是将鸟类歌声分为四个层次,音符(notes)、音节 (syllables)、章节 (phrases)和全歌 (song) (Catchpole 1995 Bird)。其中具有代表性的基本单位是音节 (Anderson 1996 Template),因此赫尔辛基大学的Harma认为适于采用音节作为鸟类歌声自动识别的特征 (Harma 2003 Automatic)。采用音节的另一个好处是,因为每个音节持续时间只有几百毫秒,易于从野外很多不同种类的混合鸟叫声中提取出来。并且鸟类歌声的节奏和重复等特征可能存在地域性差异,而音节在同种鸟类中不容易产生较大的变化。Harma对14种相似鸣禽的歌声通过简单的正弦表示 (sinusoidal representation) (因为鸣管发音的实质就是正弦震动),能够从仅仅一段音节中加以区分。

(Fagerlund 2007 Bird)

McIlraith等人也曾在1997年研究过通过人工神经网络和统计分析进行鸟类歌声的识别 (McIlraith 1997 Bird)。他们选用了节奏(即歌声中出现声音和沉默两种信号的时间序列)以及功率谱密度 (Power Spectral Density) (通常用于人类语音识别)这两种特征信号建立人工神经网络,对133段来自6种鸟类的歌声分类,准确率高达93%。

在2007年,同在赫尔辛基大学的Fagerlund用支持向量机对鸟类鸣声识别进行了研究。他们首先用一种频域迭代算法 (Fagerlund 2004 Automatic) 将鸟类声音分解成音节,然后用两种方法对音节信息建模。一种是梅尔倒频谱 (Mel-frequency cepstrum) (Davis 1980 Comparison)模型,将信号分解成几个重复的帧,然后用32个三角滤波器组成的滤波器组将每帧的频率谱转化成对数的梅尔频谱。对应的第i帧梅尔倒频系数 (MFCC)由以下公式计算出。

其中是第k个梅尔频谱的能量的对数,K是梅尔频率条带的数量。另一种是将音节时域和频域中11个低阶信号参数提取出来,包括光谱矩心 (spectral centroid)、信号带宽、谱滚降频率 (spectral roll-off frequency)、谱通量 (spectral flux)、谱平坦度 (spectral flatness)、频率范围、过零率 (zero crossing rate)、短时平均能量 (short time energy)、音节持续时间和调制频谱 (modulation spectrum)。然后通过支持向量机分类器构建决策树,对两组共14种鸟类进行识别,少部分识别率达100%,大部分在90%以上,识别正确率最低也达到85%(灰雁 graylag goose)。

2009年Acevedo等人比较了不同自动语音识别的机器学习方法在九种鸟类和三种两栖类动物中的识别正确率。通过将10,061条叫声样本参数化分类 (Acevedo 2009 Automated),支持向量机的正确率达到94.95%,决策树识别正确率为89.20%,线性判别分析正确率仅为71.45%。

2012年,昆士兰科技大学Towsey等人报道了一种普遍的用于动物叫声识别的技术,用于监测野外自然环境中动物种群栖息地的变化情况。报道中的方法解释了三点动物叫声识别的关键问题,一是在自然环境中会混杂有噪音,包括不同的环境因素(大风、降雨等);第二是现有的分类器很难做到分辨所有动物种类的大量不同叫声;第三是有很多濒临灭绝的物种能够获得的样本数非常少,而机器学习方法通常需要大量的样本进行训练。一项对昆士兰附近的8种动物叫声和2种环境噪声的测试中显示,这一方法的识别正确率在75%-99%之间。

综合以上几年前的研究可以发现,合适的参数化模型、降噪优化方法和分类器已经可以对于小样本的鸟类叫声识别的产生比较准确的结果。考虑到实际应用的需要,以及近些年来计算能力的提升和大数据流行,还需要将已经成熟的研究上运用的方法推广到大样本的实际数据中去。2014年,伦敦玛丽王后大学的Stowell和Plumbley对4个鸟类声音数据库(其中最大的数据库包含501种鸟类共9688条样本)通过无监督特征学习极大地提高了识别分类的准确率 (Stowell 2014 Automatic)。与其使用事先人工设定好的梅尔倒频系数 (MFCC)特征进行匹配,不如直接用原始的梅尔频谱 (raw Mel spectra)数据让机器自动生成特征进行匹配。这样不仅不需要人工调整分类标签,还提高了分辨的准确率,进行计算的复杂度也并未增加。研究结果显示,对SABIOD采集的巴西鸟类声音数据库 (LifeCLEF) (Vellinga 2014 LifeCLEF)的分析中,用特征学习方法对原始梅尔频谱数据分类的方法准确率达到85.4%,有监督学习的方法只有82.2%,如果用人工标记的MFCC数据,准确率只有69.3%。

一篇关于生物信息存储技术评论文章 (August 2015 Emerging)指出,现今社交媒体,手机应用,低成本传感器,搜索引擎和大数据分析正在改变传统生物信息记录技术。自上世纪60年代以来生物信息从存在打孔卡上,到如今的智能手机和虚拟现实穿戴设备。


文章也总结了一些典型的生物信息相关的平台和网站。

文中指出,自动化生物声音识别最直接的例子就是鸟类歌声识别。由于鸟类发声的频率与人类大致相同,鸟类爱好者们可以通过便宜的录音设备和手机直接进行数据的采集。Xeno-canto ( xeno-canto :: Sharing bird sounds from around the world )是由全世界的爱好者、研究者共同维护的鸟类声音数据共享网站。迄今不到10年已经记录了超过9000种鸟类声音数据,大致包含了80%已知发声鸟类。对鸟类发声识别的研究也逐渐从传统的模式匹配 (Anderson 1996 Template)过渡到如今的统计机器学习方法 (Stowell 2014 Automatic)。一些声音识别的国际竞赛也不断展开,包括2012 UCR昆虫分类竞赛 ( Contest ),多标签鸟类分类 NIPS 2013 ( Description - Multi-label Bird Species Classification ),2013信号处理机器学习 - 鸟类分类挑战 ( Description - MLSP 2013 Bird Classification Challenge ) 等等。一些App应用也在不断被开发出来,包括Echometer touch app ( Wildlife Acoustics ) 以及 iBatsID ( https://www.sites.google.com/site/ibatsresources/iBatsID )。SoundID ( SoundID Home Page ) 以及 Isoperla ( Isoperla - Wildlife Apps ) 等公司也开发出野生动物声音识别的电脑程序和手机应用。众筹项目例如 Warblr项目 ( Kickstarter >> Warblr: an app that recognises birds from their song by Florence Wilkinson ) (截至目前已经筹集22000欧元),BioSound项目 ( http://oxlel.zoo.ox.ac.uk/research/projects/biosound ) 都正在推广鸟类歌声识别。

笔者还搜索了一些目前可以在手机应用商店下载到的不同生物种类声音自动识别的应用。Isoperla开发的Bird Song Id Automatic Recognition and Reference (Bird Song Id USA Automatic Recognition and Reference) 在苹果商店和Google Play上可以下载到,在app store上有超过4星的评价。Warblr的iPhone应用Warblr: Identify UK bird songs and calls (Warblr: Identify UK bird songs and calls on the App Store) 可以识别220种英国鸟类,不过在App Store的评价较低。University of Southampton开发的Cicada Hunt (Cicada Hunt on the App Store) 可以识别不同种类的蝉鸣叫声,在App Store有非常不错的五颗星评价。

综合以上的信息来回答题主的问题,我认为第一个问题识别出猫、狗、猪、马等亲缘关系较远的不同动物的声音从技术上讲并没有困难,因为这些动物的发声器官相差很大,发出声音的频率等特征差异非常明显,在有监督学习的情况下,只要提供足够的样本,区分到纲、目都不难。一些发出声音超出人耳听觉范围的动物包括蝙蝠、海豚等,通过合适的录音手段,也不难判别。Towsey 2012年报道的研究中,也可以在野外有噪声环境中区别黑噪钟雀、大石鸻、雄性考拉、海蟾蜍、亚洲家壁虎、地栖鹦鹉、绿啸冠鸫、澳洲鸦的声音。

题主的第二个问题包括两个子问题。一个是区别同一物种不同性别、年龄段的声音,另一个是在有噪音情况下区别这些声音。在有噪声环境下区别动物叫声区别的是可行的 (Towsey 2012 Toolbox),但实际情况不同对识别的准确率影响肯定是不一样的,我也没有搜这方面的资料,不过我觉得直接用对人声识别中降噪优化的方法是一个不错的思路。

至于性别和发育在动物叫声中的区分,我觉得目前基于已知种类生物,单独拿出来识别性别和年龄还是可以的,比如这个研究匈牙利马地犬叫声的研究 (Larranaga 2015 Comparing),识别性别就有85.13%的准确率,识别发育程度(幼年、成年、老年)有80.25%的准确率。但是要是放在一个大环境里,判定一个动物物种的同时再判断性别和发育阶段,我认为目前还没有成熟的研究。另外,一些经验表明,相比于性别识别,通过声音进行年龄识别更加困难,比如我以前一直不知道江户川柯南的配音声优竟然是一位51岁的女性,高山南。

参考文献

Acevedo, M. A., Corrada-Bravo, C. J., Corrada-Bravo, H., Villanueva-Rivera, L. J., & Aide, T. M. (2009). Automated classification of bird and amphibian calls using machine learning: A comparison of methods. Ecological Informatics, 4(4), 206–214. Automated classification of bird and amphibian calls using machine learning: A comparison of methods
August, T., Harvey, M., Lightfoot, P., Kilbey, D., Papadopoulos, T., & Jepson, P. (2015). Emerging technologies for biological recording. Biological Journal of the Linnean Society, 115(3), 731-749. Emerging technologies for biological recording
Bardeli, R., Wolff, D., Kurth, F., Koch, M., Tauchert, K. H., & Frommolt, K. H. (2010). Detecting bird sounds in a complex acoustic environment and application to bioacoustic monitoring. Pattern Recognition Letters, 31(12), 1524–1534. Detecting bird sounds in a complex acoustic environment and application to bioacoustic monitoring
Cheng, J., Sun, Y., & Ji, L. (2010). A call-independent and automatic acoustic system for the individual recognition of animals: A novel model using four passerines. Pattern Recognition, 43(11), 3846–3852. A call-independent and automatic acoustic system for the individual recognition of animals: A novel model using four passerines
Fagerlund, S. (2007). Bird Species Recognition Using Support Vector Machines. EURASIP Journal on Advances in Signal Processing, 2007(1), 038637. Bird Species Recognition Using Support Vector Machines
Fox, E. J. S., Roberts, J. D., & Bennamoun, M. (2008). Call-Independent Individual Identification in Birds. Bioacoustics, 18(1), 51–67. CALL-INDEPENDENT INDIVIDUAL IDENTIFICATION IN BIRDS
Gahr, M. (2007). Sexual Differentiation of the Vocal Control System of Birds, 59(07), 67–105. Sexual Differentiation of the Vocal Control System of Birds
Harma, A. (2003). Automatic identification of bird species based on sinusoidal modeling of syllables. 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing, 2003. Proceedings. (ICASSP ’03)., 5, 0–3. IEEE Xplore Abstract
Härmä, A., Jakka, J., Tikander, M., Karjalainen, M., Lokki, T., Hiipakka, J., & Lorho, G. (2004). Augmented reality audio for mobile and wearable appliances. AES: Journal of the Audio Engineering Society, 52(6), 618–639.
Larrañaga, A., Bielza, C., Pongrácz, P., Faragó, T., Bálint, A., & Larrañaga, P. (2015). Comparing supervised learning methods for classifying sex, age, context and individual Mudi dogs from barking. Animal Cognition, 18(2), 405–421. http://doi.org/10.1007/s10071-014-0811-7
Mcilraith, A. L., & Card, H. C. (1997). Bird Song Identification Using Artificial Neural Networks, 63–66.
Somervuo, P., Härmä, A., & Fagerlund, S. (2006). Parametric representations of bird sounds for automatic species recognition. IEEE Transactions on Audio, Speech and Language Processing, 14(6), 2252–2263. IEEE Xplore Abstract
Stowell, D., & Plumbley, M. D. (2014). Automatic large-scale classification of bird sounds is strongly improved by unsupervised feature learning. PeerJ, 2, e488; DOI 10.7717/peerj.488. Automatic large-scale classification of bird sounds is strongly improved by unsupervised feature learning [PeerJ]
Towsey, M. W., Planitz, B., Nantes, A., Wimmer, J., & Roe, P. (2012). A toolbox for animal call recognition. Bioacoustics, 21(2), 107–125. A toolbox for animal call recognition
Vellinga, W., Planqu, R., Joly, A., Vellinga, W., Planqu, R., Rauber, A., … Task, I. (2014). LifeCLEF Bird Identification Task 2014

鸟类及动物声音辨识方法原理进展境况转自知乎相关推荐

  1. “声音”背后的原理(1):波(横波、纵波、声波)、声音的采集、声音的储存

    文章目录 1. 声音 1.1 声音和波 1.2 声音的产生:空气震动 1.3 声音的储存:采样.量化和编码 2. 声音的识别 1. 声音 1.1 声音和波 声音是振动产生的声波,通过介质(气体.固体. ...

  2. 第三代测序技术的方法原理及其在生物领域的应用

    第三代测序技术的方法原理及其在生物领域的应用 张子敬  刘燕蓉  张顺进  贺花  李佳霄  刘贤  吕世杰  李志明  王二耀  雷初朝  黄永震   [摘要]:在自然界中,生物DNA的碱基序列包含 ...

  3. 【Java】设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。

    题目要求:设计一个动物声音"模拟器",希望模拟器可以模拟许多动物的叫声.要求如下: (1)编写抽象类Animal Animal抽象类有2个抽象方法cry()和getAnimaNam ...

  4. 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:

    设计一个动物声音"模拟器",希望模拟器可以模拟许多动物的叫声.要求如下: (1)编写抽象类Animal Animal抽象类有2个抽象方法cry()和getAnimaName(),即 ...

  5. 7-2 动物声音“模拟器”

    abstract类和abstract()方法 设计一个动物声音"模拟器",希望模拟器可以模拟许多动物的叫声.要求如下: (1)编写抽象类Animal Animal抽象类有2个抽象方 ...

  6. Java动物声音模拟器

    问题如下: 设计动物声音模拟器,编写抽象类Animal,模拟器类Simulator,编写Animal子类Dog和Cat类,具体题目如图: 思路: 先写抽象父类Animal,并将cry,getAnima ...

  7. 用java设计一个动物声音 模拟器,Java语言 设计一个动物声音“模拟器”(用接口实现)...

    设计一个动物声音"模拟器",希望模拟器可以模拟许多动物的叫声,要求如下. 编写接口Animal Animal接口有两个抽象方法cry()和getAnimalName(),即要求实现 ...

  8. java 设计一个动物声音“模拟器”

    设计一个动物声音"模拟器",希望模拟器可以模拟各种动物的叫声,要求如下:必须使 用接口或者抽象类:至少模拟两种以上的动物种类:类名方法名定义友好: Animal.java publ ...

  9. Java练习 | 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声(附代码)

    问题:设计一个动物声音"模拟器",希望模拟器可以模拟许多动物的叫声. 要求如下: 编写抽象类Animal Animal抽象类有2个抽象方法cry()和getAnimaName(), ...

最新文章

  1. RequireJS和AMD规范
  2. Python3 split()分割和 join()合并
  3. 想让马云成为你的老大?揭秘阿里面试情景
  4. PHP 加密用户密码 How to store passwords safely with PHP and MySQL
  5. 如何用python创建文件_如何在python中编辑文件并创建一个新的文件?
  6. kernel32.dll已加载但找不到入口点_关键词分析法和工具,关键词分析包括哪几个方面(已帮助1376人)...
  7. .Net_asp.net页面的生命周期
  8. 莫烦pytorch学习笔记(三)
  9. windows cmd修改ip地址
  10. Java实现字符串逆序输出
  11. 不小心将 pip 卸载了,重新安装pip
  12. 【classic】MMD镜头+动作打包下载.zip
  13. 【Linux】Ubuntu运行环境搭建
  14. 每日codingame小游戏练习[2021.3.29](python3入门学习之rstrip方法)
  15. 【C/C++练习题】斐波那契数列
  16. 信号完整性(SI)概述
  17. 荣耀手机鸿蒙系统手机,4部荣耀手机可升为鸿蒙系统,有你的手机吗?花粉的春天来了!...
  18. 基于安卓的备忘录文件加密_苹果备忘录、锤子便签、印象笔记哪个更好用?
  19. 线性代数系列(三)--向量空间
  20. 在UTF-8下写字库

热门文章

  1. 恢复服务器上的安装器信息,恢复装有 SQL Server 的规划服务器
  2. 正则表达式转换为相应的文字小工具
  3. xlight ftp linux,Xlight FTP Server
  4. Android - 跳转到应用商店进行应用打分功能实现
  5. 【投资学】股票基本知识学习
  6. 机器学习实战一:人马识别
  7. java 微信海报的实现
  8. GIS数据常见文件格式
  9. Zigbee(一):zigbee的一些概念
  10. 59岁“山寨机教母”,在天津造出市值191亿芯片公司,曾出走拖拉机研究所成就传奇...