野生动物鸣声数据管理系统设计与实现
2022-01-27杨铭伦于新文欧阳萱侯亚男高家军
杨铭伦,于新文,张 旭,欧阳萱,侯亚男,高家军
(中国林业科学研究院资源信息研究所,北京 100091)
鸣叫是动物不同个体之间进行信息传递的重要手段,包含着重要和丰富的生物学含义[1]。对动物鸣声的分析可以提供包括个体、物种、种群、群落、景观水平[2-6]在内的多尺度信息,以应用于种群数量估算,动物活动区域估测,动物声源定位,物种识别等[7-10]多个领域的研究。野外声音自动采集技术是目前获取长时间序列动物鸣声数据的主要手段,通过部署在监测区域内的一系列声音采集设备自动获取野生动物鸣声数据[11],具有人为干扰小、准确性高,可形成长时间序列和更高空间分辨率的数据的优势[12]。从长时间序列数据中可以发掘野生动物声学活动在不同季节乃至不同年份的变化特征,为生态完整性的长期评估提供支持。然而,随着采集的鸣声数据的逐渐积累,如果没有有效的数据管理方法,一方面会造成数据混乱,难以挖掘出蕴含在海量数据中的信息;另一方面,每项特定的应用任务都需要重新进行数据处理,增大了重复工作量,不利于数据处理结果的重复利用。这些问题对利用声音数据进行野生动物研究带来很大不便,也就使得野外声音采集技术的优势无法得到充分发挥。
本文建立有效的野生动物鸣声管理系统,通过鸣声管理系统实现海量声音数据的存储、数据处理过程方法及结果的记录与管理功能;通过建立原始数据与分析处理结果之间的关联关系,将始数据与结果数据的综合查询与检索,科学有效地实现海量鸣声数据及其分析处理结果的存储管理,充分发挥野外声音采集技术的优势,使得利用鸣声数据进行野生动物方面的研究更加便捷高效。
1 野外声音数据采集与管理的特点
1) 声音数据具有时间和空间位置信息。在一定的监测区域内通常布设有多个声音采集设备,这些设备在不同地点和不同生境条件下采集野生动物鸣声数据,因而野外采集的鸣声数据包含明确的空间位置信息,通过分析多个声音采集点的数据,可以得到野生动物活动的空间规律和生物多样性信息的空间分布情况。此外,时间信息也是动物鸣声数据的重要信息,长期野外观测形成较长时间序列的数据,研究人员可以从时间序列数据中获得生物多样性信息随时间的变化规律[13]。显然,声音数据自身携带的时间和空间属性是探索生物多样性信息分布及变化规律的基础。系统应维护音频数据的时间信息和空间信息,并提供基于时间和空间位置的数据检索功能,以便让用户获取到特定时间段和特定采集点的音频数据。
2) 声音数据的高通量特性。野外声音采集设备不间断采集声音数据,使得数据量比较大,会加重数据存储和处理分析的负担,因此需要以一种合适的文件格式存放在系统中,在具有较小文件体积的同时要保证音频质量,高效率实现野外原真性声音信息的完整保存。此外,还需要能够相对容易地实现与其他常见格式之间的数据转换。
3) 对原始数据和处理结果数据应进行统一管理。对数据处理结果的管理是野生动物鸣声管理系统的关键任务之一,旨在重复利用声音数据处理分析结果,使每次使用数据时不必重新进行数据处理。所以系统在管理音频文件的同时也应实现对处理分析结果的有效管理,记录数据的处理方法、流程、参数等信息,并建立原始数据与分析处理结果数据之间的关联关系,实现对处理后的结果数据与原始数据的统一管理。这样一来,在相关的研究中就可以充分利用已有的结果数据进行各种应用,提高数据的复用性。
2 系统设计
2.1 系统总体架构
系统按照多层体系结构的思路进行设计,有利于提升系统的灵活性和可扩展性。系统架构主要分为网络通讯层、数据存储层、应用支撑层、业务应用层、应用交互层五层和标准及管理体系、信息安全体系两个体系。系统总体框架如图1所示。
1) 网络通讯层。位于系统最下层,主要负责数据的传输与汇聚,数据可以通过WiFi网络自动上传,无网络环境时也可人工取数据上传至服务器。
2) 数据存储层。主要进行数据存储管理及维护,确保数据的安全性和稳定性,系统管理的数据主要包括原始采集的音频文件、数据处理方法、数据处理分析结果、采集点等内容,数据文件在磁盘阵列中存放,在关系型数据库中建立和维护数据的属性信息,检索方便,易于维护。
3) 应用支撑层。位于数据和业务逻辑之间,主要进行数据库访问并对上层提供统一的调用接口,避免因不同业务逻辑对同一数据进行操作而可能导致的数据混乱和错误等情况的发生。
4) 业务应用层。提供音频内容管理、音频设置、用户管理等多个功能模块,实现各项业务应用,各个功能模块之间相对独立,可以很容易地添加新的功能。
5) 应用交互层。为用户提供基于图形界面的访问接口,用户可以通过客户端应用程序方便地访问系统。
2.2 高通量音频数据格式选择
当前流行的音频文件格式主要分为有损和无损2种。有损格式通过降低音频采样率和比特率来达到更小的文件体积,常见的有MP3,WMA,RA,AAC,VQF等。有损格式具有较高的压缩率,但会造成信息丢失,通常会降低高频部分的音质,不利于对野生动物鸣声数据高频信息的保存。本系统选用FLAC作为系统中原始音频文件的存储格式。FLAC格式是一套自由音频压缩编码,是一种无损的存储格式,具有免费、开源的优势,且具有较强的容错性,部分片段的损坏不会对音频的其他部分产生影响,能够较好地满足高通量动物鸣声数据存储管理的需求。
2.3 数据管理方案
系统管理的数据文件包括原始采集的音频文件和经过处理的结果文件。
1) 在逻辑组织上,将各项数据文件按照树状方式进行组织。按采集点、采集日期、原始采集文件、处理结果文件、指数结果这几个层次分级管理。以采集点作为根节点,每个采集点下包含不同采集日期,每个采集日期下包含若干个原始音频文件。另外,系统将处理之后的结果文件视为原始文件的子文件,所以原始文件下又包含多个子文件。由于在某些应用中,涉及到采用不同处理方法对原始文件进行多层处理,例如,经过降噪预处理后再进行多种的声音指数的计算,所以按照处理次数的不同,将文件划分为不同的级别,原始文件级别为1级,经过一次数据处理之后输出的结果文件被视为该原始文件的子文件,文件级别设定为2级,对2级文件再次处理后生成的结果被设定为该文件的3级子文件,依次类推,这样就可以建立原始文件与处理结果之间的树状组织关系。
2) 在物理存储上,将音频文件以及指数计算得到的数值型文件存储在计算机的磁盘阵列中,并在关系型数据库中建立索引表,维护数据文件的属性信息。在进行数据访问时,先通过关系数据库中的索引找到文件的存储位置,然后对文件进行访问。
3) 在声音文件命名上,采用“采集点_采集时间”的规则来命名原始采集文件,而对于处理后的结果文件,则采用“原始采集文件名+下划线+处理方法标识”的规则进行命名,其中,每增加一次处理,在原文件名的后面增加下划线+处理方法标识。例如:“01_20190101210000.flac”表示01采集点在2019年01月01日21点00分00秒采集的声音文件,“01_20190101210000_ methodA .wav”表示对该文件使用A方法处理后得到的结果文件,如要对结果文件继续使用B方法处理,输出文件则被命名为“01_20190101210000_methodA_ methodB.wav”。这种命名规则使音频文件的层次关系清晰,易于检索。文件组织结构如图2所示。
图2 文件组织结构Fig.2 File organization structure
2.4 系统主要功能
根据业务场景需要,野生动物鸣声管理系统可分为3个功能模块,分别是音频内容管理模块、音频设置模块以及用户管理模块,每个模块各自包含多个不同的功能。其中,音频内容管理模块是系统的核心模块,提供海量野生动物音频文件的管理、数据处理流程的基本信息的管理、声音指数计算结果管理、数据可视化展示功能;音频设置模块保存和管理声音数据的辅助信息,提供声音采集地点的管理、数据处理及声音指数计算方法基本信息的管理功能;用户管理模块则主要负责保障系统安全,提供管理员管理、普通用户管理、管理日志功能。系统主要功能如图3所示。
图3 系统主要功能Fig.3 Main functions of the system
3 系统建设与实现
系统采用HTML5技术构建系统客户端,通过双向的数据通道和数据推送降低客户端和服务器之间通讯压力并提高数据实时性;采用B/S结构构建野生动物鸣声数据及其分析处理数据管理系统,保障系统的网络在线服务模式;采用C#作为后端开发语言,进行系统各项业务逻辑的开发;采用MVC模式设计程序,保证展现和业务逻辑的分离;利用Web Service技术实现系统跨平台;采用用户认证技术,保证信息的安全性。
3.1 采集点管理
采集点管理功能负责管理各采集点的信息。系统中不同采集点的信息以列表的方式显示,每条采集点的记录具有名称、别名、经纬度、描述信息等属性信息。本模块提供采集点的编辑功能,如果野外部署了新的声音采集设备,在系统中可以方便地添加新的采集点信息。在文件管理功能中也可以通过采集点这一筛选条件检索出某一采集点收集到的所有鸣声数据。
3.2 文件管理
文件管理功能主要对系统中的各个数据文件进行管理,并提供数据检索和编辑功能,是系统的核心功能。数据既包括原始采集和预处理之后的的音频数据,也包括声音指数计算结果这类数值型数据。通过文件管理功能可实现对海量野生动物鸣声采集音频文件的列表展示和查询及播放,也可以实现原始文件和结果文件的关联查询。系统中的所有原始音频和结果数据均显示在列表中。用户可以通过筛选音频文件对应的处理/计算方法类别、文件级别、所属采集点、采集时间,快速查找系统中的文件。
3.3 方法管理
方法管理功能主要对不同的数据处理方法进行管理和编辑。对野生动物鸣声数据的处理通常包括音频降噪、增强、声音指数的计算等多种方法,有些处理方法又可包含多种子级方法,例如,α声音指数下可以分为NDSI指数、ACI指数、H指数等多个子级方法。本系统对这些处理方法进行分级管理,在方法管理页面中可建立不同处理方法之间的层次关系,能够在一种方法下快速添加其子级方法。
3.4 指数计算结果管理
在生态声学的研究中,声音指数通常可以用来描述一定区域内的生物多样性,是声音数据分析的核心,近年来声音指数已经广泛应用于声学群落的强度、相对丰度、丰富度等评估等方面的研究[14]。指数计算结果管理功能负责保存管理声音指数计算结果文件,并提供检索、导出、可视化功能。通过筛选计算方法类别、方法级别、计算时间,可以查找相应指数结果。声音指数计算结果属于数值型文件,在系统中可以导出为“.csv”格式的文件并保存在客户端。
此外,系统提供声音指数可视化显示功能,各项声音指数的计算结果在指数图表页面中以折线图或柱状图的形式呈现,也可以导出为图片形式保存在客户端。指数图表可以直观地反映出声音指数随时间的变化趋势以及不同声音指数之间的差异情况,便于生物多样性变化规律的研究。
3.5 数据处理记录
数据处理记录功能主要是对数据处理流程中的基本信息的记录,包括记录编号、处理时间、处理方法、参数图片、参数说明、输入文件、输出文件等。
3.6 用户管理
用户管理模块的主要实现用户权限管理和查看操作日志的功能,系统将用户分为管理员和普通用户两种角色,系统管理员可编辑角色信息,并根据需要为不同用户设置访问权限,从而保证系统的安全性。
4 讨论
野生动物声学活动是自然生态系统中比较活跃的要素,是野生动物生活状态和自然生态系统状态的综合反映。在近年来引入的国家公园政策中,突出强调了对自然生态系统原真性和完整性的保护[15],尽量避免人为干扰,维护生态系统的原始自然状态。而野外声音采集作为一种新的野生动物监测手段,具有侵入性低的特点,对野生动物和自然环境不会造成明显影响,顺应了自然保护地环境的原真性和完整性保护的要求,对野外自然生境声音进行记录和保存,也是对自然生态系统原真性特征的记录和保存。
野外声音采集技术为自然保护地智慧监管提供了一条新的有效的途径,未来与物联网、大数据、云计算技术相结合,将有望实现自然保护地野生动物的全面监测,成为天空地一体化林业监测体系中地基物联网监测的一项重要技术手段。
建立野生动物鸣声管理系统对长期积累下来的野生动物声音信息实行合理有效的保存和管理,一方面,可为开展基于声音指数的生物多样性监测技术研究奠定基础,实现快速生物多样性评价,避免大量的野外标本采集、物种鉴定等耗时耗力的繁琐工作,大大降低生物多样性监测和调查的成本;另一方面,也为今后采用深度学习技术进行野生动物智能识别工作积累数据,实现基于声纹特征的野生动物快速识别,获取野生动物个体、种群、群落的关键信息。
5 总结
本文设计了野生动物鸣声数据管理系统的体系架构和主要功能,提出了原始数据与结果数据在建立关联关系前提下的统一管理方案,并依托相关的开发环境完成了系统的研发工作。
系统主要针对海量长时间序列野生动物鸣声数据存储管理的目标而建立,是有效发挥野外声音采集技术优势与声音数据价值的平台基础。通过将鸣声数据实行分级管理,条理关系明确,方便检索,便于对数据处理结果进行重复利用,避免重复计算。对不同采样点、不同采集时间、不同处理方法的数据进行分级分类检索,为野生动物活动及生物多样性规律等相关领域的研究工作提供了便利。