庞金生,胡 山,张 龙,孙银斌,陈伟涛,杨 鹏
(天津职业技术师范大学,天津300222)
护林系统主要包括声音模型、声音数据采集终端和太阳能发电装置。利用华为云平台实现对声音模型的构建和训练,将训练好的模型部署到服务器当中。使用Android开发一款实现位置定位、采集声音数据和上传声音数据到服务器功能的手机APP。将手机终端上传的声音数据进行识别和分析,当声音数据出现异常时,及时把位置信息和报警信息通过短信和邮件等形式通知护林人员[3]。通过太阳能板、锂电池等相结合解决手机终端的供电问题,晴天情况下可以对单节2 000 mAh容量的锂电池完成一次充电,能给手机提供的充电次数由实际使用的手机型号来确定。
系统硬件装置主要由旧手机、太阳能板、充电电路板模块、充电管理模块等组成。硬件装置充电功能如图1所示。
图1 硬件装置充电功能
采用多块5 V太阳能电池板,电池板最大提供工作电流30 mA,体积小,便于在森林的树木上面进行安装和使用。根据实际场景可以通过二极管并联多块太阳能板,满足更大锂电池容量的充电需求。
充电电路板模块以CN3791芯片为核心,该芯片具有PWM降压、涡流、恒流和恒压充电模式,包括输入低电压锁存和电池端过压保护,适合对单节锂电池充电进行管理,适用于太阳能板供电的实际应用。
充电管理模块包括STM32单片机最小系统、OLED液晶显示屏模块、升压模块、稳压模块、USB充电接口、锂电池和防水外壳等。
通过STM32F103C8T6单片机采集当前太阳能板的充电电压和充电电流,并通过单片机控制OLED液晶显示屏来显示当前数据,主要用于安装过程中的功能测试。硬件装置系统运行如图2所示。
图2 硬件装置系统运行
系统采用华为云AI开发平台ModelArts的自动学习功能构建声音模型,需要将收集到的电锯声音数据集和卡车声音数据集添加到对象存储服务中,声音数据格式为WAV格式,单条声音数据大于1 s且小于10 s。模型搭建流程如图3所示,第一步是收集系统所需的电锯声音数据和卡车行驶时的声音数据[4],创建声音分类项目,对不同的声音数据集进行标注,设置训练参数后开始训练模型,训练完成后将得到模型的召回率、精确率、准确率和F1(综合考虑召回率和精确值)值,方便快捷。
图3 模型的搭建及部署流程
训练好的模型部署到在线服务,模型处于运行中时可以开始进行服务测试,测试方法有多种,可以直接在预测界面直接添加待测试的声音文件进行测试,也可以采取调用API的方式进行声音测试,每次测试都会返回声音识别结果,识别结果包括被测声音的预测类别和预测置信度。模型详细信息如图4所示。
图4 模型详细信息
手机软件功能主要包括采集当前环境的声音数据并上传到所搭建的服务器中,通过GPS定位采集当前位置的经纬度信息。通过ModelArts在线服务提供的API接口地址与服务器实时通讯,把在线服务返回的识别结果发送到手机上,当识别结果为电锯声音或卡车声音等异常声音时,立即将当前位置信息通过短信和邮件等形式通知相关的护林人员。APP起始界面如图5所示。
图5 APP起始界面
3.2.1 对当前环境声音采集
通过手机内置的麦克风捕获音频数据和存储[5],本系统采用间断录音上传的方式进行工作,每次录音时长为5 s左右,完成录音后实时上传到华为云平台的在线服务进行声音识别。
3.2.2 上传音频文件访问在线服务
在线服务的状态处于“运行中”时,会为用户提供可调用的API,API为标准Restful API。可以通过Token认证、AK/SK签名认证和APP认证3种方式调用在线服务,在线服务将识别结果以json格式返回给用户。通过判断返回的识别结果决定是否要发送报警信息。
3.2.3 使用高德地图平台实现定位功能
在高德开放平台注册账号并创建新应用,创建的应用如图6所示,选择绑定的服务为“Android平台SDK”,获取相应的安全码并配置相关文件,获取定位数据的过程包括初始化定位、配置参数并启动定位、选择相应的定位模式、获取定位结果和停止定位。
图6 使用高德开发平台创建应用
高精度定位模式:同时使用网络定位和GPS定位,优先返回最高精度的定位结果和对应的地址描述信息。
低功耗定位模式:不会使用GPS和其他传感器,只会使用网络定位(Wi-Fi和基站定位)。
仅用设备定位模式:不需要连接网络,只使用GPS进行定位,这种模式下不支持室内环境的定位,需要在室外环境下才可以成功定位。
本系统结合实际应用需求优先选择高精度定位模式,系统设置以单次定位为主,当声音数据出现异常时才会获取当前的位置信息。通过解析AMapLocation对象的具体字段,可以获取当前的纬度、经度、精度信息、地址、国家信息、省信息、城市信息、城区信息、街道信息、城市编码、地区编码、GPS的当前状态和定位时间等。
3.2.4 发送报警短信
Android有SmsManager发送短信和内置Intent发送短信两种方式[6]。本系统采用第一种方式,创建SmsManager对象之后,使用sendDataMessage()方法指定的手机号码发送短信。声音数据出现异常时才会执行发送功能,把需要的地理位置信息和报警信息等发送到护林人员的通讯设备中。APP启动运行如图7所示。
图7 APP启动运行
随着科技的快速发展,无人化监控和无线化监控已成为社会发展的必然需求,深度学习正在逐渐成为人工智能领域的主流发展方向,利用深度学习技术实现对声音数据的识别可靠性正在不断提高[7]。本系统通过声音识别技术来监听森林的实时声音数据,当监听到电锯伐木或卡车行驶等异常声音时及时通知护林人员,更高效率地实现对森林生态系统的保护,减少了人力资源的浪费。利用太阳能板解决手机终端的无线供电需求,手机终端使用回收的旧手机进行制作,从而减少对电能资源和终端设备资源的消耗。