您家熊猫有喜了,这个“羞耻”的项目用声音检测大熊猫交配情况

2024-02-18 02:50

本文主要是介绍您家熊猫有喜了,这个“羞耻”的项目用声音检测大熊猫交配情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
大数据文摘出品

作者:曹培信

今年是2020年的第一天,我们来讲点喜事。

大熊猫是我国的国宝,作为中国的独有物种,大熊猫以它憨态可掬的形象深得人心,今年11月,2019年共繁殖大熊猫37胎60只,存活57只,全球圈养大熊猫数量达到600只。

不得不说,这57只熊猫宝宝,实在是来之不易,数据也表明了,大熊猫之所以数量这么少,除了它们对栖息环境、食物等要求高之外,繁殖率低也是一个重要原因。

为什么大熊猫生宝宝如此之难?有许多专家专门对此做了研究,根据研究,在一年里雄性大熊猫的繁殖有效期是六个月或更长,而雌性大熊猫的发情期只有一至三天,而就在这短短的窗口期中,饲养员要判断大熊猫有没有交配成功,才能在第一时间采取下一步行动。

如何判断大熊猫的交配情况,并不是一件容易的事。

传统的大熊猫发情的确定和交配结果的确认(即交配成功与否)都是基于对其激素分泌的评估,这种评估操作复杂,且不能实时提供结果。

新的突破来了,来自四川大学计算机系和成都大熊猫繁育基地的研究人员们的最近的研究表明,大熊猫在繁殖季节会有特殊的发声行为,这为分析大熊猫交配成功与否提供了新的机会。

不用窥视,就知道国宝交配成功与否

以往判断大熊猫交配是否成功,只能通过最传统的方式——观察。

尽管配有摄像头,但是由于角度的原因,一个在边上“窥视”的饲养员还是非常必要的,所以大熊猫交配的场景一般是这样。

在这里插入图片描述

尽管大熊猫以与人亲近著称,但是这样的窥视也或多或少也给了大熊猫们一些压力。

有没有其他方式来观察大熊猫的交配情况呢?

一些研究表明,声音一直是动物表达情绪的一种手段,尽管大熊猫是一种比较安静的动物,但是其在繁殖季节会发出更多的声音,这表明声音对于协调它们的繁殖和表达交配偏好至关重要。

Benjamin D.Charlton等人就在研究中发现,交配成功的大熊猫会发出一种积极的声音,表现出良好的交配意向,而咆哮和吠叫通常表示拒绝。在研究中,他们手工定义了不同类型的声调,并使用聚类方法根据手工收集的声学特征将发声数据分为五类。

尽管他们的研究也证明了大熊猫的发声行为与交配结果有很高的相关性,但却没有为大熊猫交配成功预测提供自动解决方案。

但是这个结论却给了四川大学和成都大熊猫繁育基地的研究人员灵感,他们尝试借助深度学习来分析大熊猫交配时发出的声音,以分辨大熊猫交配成功与否。

国宝交配辨别难,深度学习来帮忙

来自四川大学和成都大熊猫繁育基地的研究人员首先注意到了语音识别方法在野生动物保护中的应用,因此他们将此问题作为语音情感识别(SER)问题来处理。

但是他们没有使用手工提取的特征和人工定义的发声类型,而是使用一个深度网络来学习不同的发声特征。

在这里插入图片描述

研究人员首先记录的大熊猫交配过程中的双轨音频序列,然后在给定原始音频序列的情况下,对大熊猫声带进行分段预处理,将其幅度标准化为预先指定的最大值和其长度为2秒,并提取每秒43个声学特征。

之后,是采用深度网络来学习更具辨别力人音声特征,并根据每个帧的特征来预测匹配成功或失败的概率。对于输入音频序列,通过对所有帧的概率求和得到最终的预测结果如结总体为成体概率较,则将其匹配结果归类为的成功

数据集来自9年的大熊猫繁殖声音,准确度近90%

从结果来看,匹配的精确度还是比较高的,可以达到89.9%±9.1%,这主要得益于研究人员采取的神经网络——“CGANet”,“C”、“G”和“A”分别代表卷积模块、双向GRU(门控递归单元)模块和注意力模块。

在这里插入图片描述
CGANet结构

当不同的特征被用作输入时,模型的性能,其中最好的结果以粗体显示。

在这里插入图片描述

实验的数据集也来之不易,从2011年开始,成都大熊猫繁育研究基地就开始手机收集13只圈养大熊猫繁殖季节的发声,共获得138分钟有效大熊猫发声,其中成功交配声持续72分钟左右,失败交配声持续66分钟。

研究人员从这些数据中构建了一组由2016个成功交配的音频片段和1859个失败交配的音频片段的数据,而后随机地将交配成功和失败的数据分别分成五个子集,并进行了五次交叉验证评估,在每个实验中,四个子集用于训练,另一个子集用于测试。

新年新气象,愿大熊猫多生娃

2019年过去了,2020年正式开启,尽管整个2019年,全国才繁殖大熊猫37胎60只,存活57只,但是这个数据已经相当喜人了,同比2018年,圈养大熊猫数量净增52只,增长率为9.31%。

在这里插入图片描述

保护大熊猫也催生了许多生物技术的发展,以成都大熊猫繁育研究基地等为主体的各地的圈养大熊猫科研繁育机构,也建立了四川省濒危野生动物保护生物学重点实验室,还与数十家国际保护机构和组织建立了科研合作关系,累计取得了近百项国家专利和重大科技成果。

成都大熊猫繁育研究基地也接连攻克了大熊猫配种、繁殖、育幼方面的难题,并通过全国大熊猫繁育配对,推动基因交流,进一步加强了大熊猫遗传学研究与管理。

现在,又有了人工智能来帮助辨别交配情况,希望国宝们在2020年更加努力,多让模型给出positive,多生几只娃!

这篇关于您家熊猫有喜了,这个“羞耻”的项目用声音检测大熊猫交配情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719817

相关文章

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和

gitlab项目实现添加新成员

《gitlab项目实现添加新成员》:本文主要介绍gitlab项目实现添加新成员方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录gitlabhttp://www.chinasem.cn项目添加新成员1、进入项目2、手动输入要添加成员的账号或者搜索总结gitlab项