基于K-means-BP神经网络的舍饲环境母羊产前运动行为分类识别

2021-03-19 06:13刘艳秋宣传忠张丽娜张永安李美安
中国农业大学学报 2021年3期
关键词:降维识别率母羊

刘艳秋 宣传忠 武 佩 张丽娜 张永安 李美安

(1.内蒙古农业大学 机电工程学院,呼和浩特 010018;2.内蒙古农业大学 计算机与信息工程学院,呼和浩特 010018;3.内蒙古师范大学 物理与电子信息学院,呼和浩特 010022)

养羊业对内蒙古自治区的经济发展起到了极大的促进作用[1]。近年来,羊的养殖方式由放养转变为舍饲圈养,饲养方式的转变对怀孕母羊的生长及生产带来了不良影响[2-3]:第一,圈舍内外环境和饲养条件差[4],导致怀孕母羊感染疾病几率增加,进而出现先兆流产、难产、死胎等现象;第二,羊只的密集程度增加,使其活动范围受限,运动量不足,导致母羊的体能下降,出现产前瘫痪[5];第三,单调的环境会抑制母羊的天性,使其表现出啃食异物、相互撕咬等异常行为[6-7]。有研究指出母羊在临近分娩时一般表现为来回的走动、站立与趴卧行为变换频繁、回顾腹部、用力刨地等行为[8-10],这些运动行为在一定程度上能够反应母羊的生长及生产状况[11]。因此,对孕期母羊运动行为进行研究,可以对其健康状况进行实时评估,进而保障母羊的生产力和繁殖效率。

传统的家畜行为识别大都采用人工观测方法[12],该方法虽操作简单易于实现,但工作强度大,要求一定的专业知识,且主观性强。随着畜牧养殖智能化技术的不断更新,基于感知方式的家畜行为监测技术成为研究的热点。国内已有研究采用K-means算法、支持向量机、结构相似子序列等多种算法对奶牛[13-15]、分娩母猪[16-17]、仔猪[18]以及山羊[19-20]的典型运动行为进行分类识别,来对其健康状态进行评估,算法的识别率也较高。国外已有研究以三轴加速度传感器为核心,设计了针对母牛[21-22]、母猪[23]的运动行为、放牧绵羊[24]的运动及采食行为信息无线采集装置,来获取家畜的行为信息,并采用多算法进行行为识别,能够准确地获取母牛的分娩时间、母猪的健康状况及羊只生长状态,以此对家畜的福利化养殖进行评价。目前国内外对家畜运动行为识别已有研究,但是对怀孕母羊的产前运动行为识别研究还处于初级阶段,而且与牛和猪的运动行为特征相比,羊的运动行为发生的较快且变换频繁。基于此,本研究拟采用K-means聚类算法与BP神经网络算法依次对母羊产前典型行为进行分类识别,以期为母羊的智能化、福利化养殖提供技术支持。

1 材料与方法

1.1 试验对象

试验于2015-10-14—11-03在内蒙古农业大学海流图科技园区肉羊养殖基地进行,试验对象为体况基本一致,同期配种,预产期相近,健康无病、月龄为10个月左右的本地纯种小尾寒羊初产母羊。在分娩前的第15天将试验对象转入育羔栏内,并佩戴运动行为监测装置获取数据。试验过程中母羊可以自由饮水,每天07:30—08:30和17:00—18:00分别喂1次饲料。本试验利用视频监测设备同步记录母羊行为,结合行为发生的时间及视频对算法识别效果进行验证。

1.2 行为数据采集及处理

1.2.1数据采集

试验选取MPU6050三轴加速度传感器进行数据采集,其特点为体积小(15.24 mm×15.24 mm×2 mm)、精度高(0.01 g)。试验数据通过无线模块USR-C215传输至PC机。经过无线传输的加速度数据内容见表1。

表1 三轴加速度数据内容

所设计的监测装置实物及母羊佩戴装置方式见图1。本研究采用LabVIEW软件实现对数据的获取、显示及存储。

监测装置将传感器模块、无线模块及电源模块封装于防水盒内,并通过背带佩戴于母羊背部。所设计背带可以根据母羊体型大小调整松紧程度。当试验羊只佩戴监测装置并处于静止站立状态时,三轴加速度传感器的指向为:X轴正向指向母羊的头部方向,Y轴正向指向母羊身体的右侧方向,Z轴正向为垂直地面向下(图1(b))。监测装置采用容量为4 800 mA的可充电锂电池,标准电压3.7 V。对采集的加速度信号做了频谱分析,获取加速度数据的频率特性约为10 Hz。根据奈奎斯特定理确定监测装置的采样频率为20 Hz。

1.电源;2.天线;3.加速度传感器;4.无线模块

1.2.2数据预处理

通常对采集到的加速度数据要进行预处理操作[25],本研究对数据进行去噪、加窗和校正处理。当传感器处于水平静止状态时,X、Y轴的加速度值为0,Z轴的加速度值为重力加速度g。但实际监测时会因为羊只的运动而使监测装置位置发生偏移,使3个轴向上的值发生偏差,故需对数据进行校正。设传感器竖直方向的轴与g的方向夹角为θ,g在传感器XOY水平面上的投影与羊只前进方向的夹角为α(选取重力加速度g=9.8 m/s2),根据空间几何知识推算α、θ的三角函数值。设静止时加速度传感器3个轴向的测量值为a1x,a1y,a1z,则有:

用ax,ay,az表示加速度传感器测得的3个轴向上的值,则可由式(1)~(3)计算得到校正后的Ax、Ay、Az:

Ax=axsinθsinα-aysinθcosα+aycosθsinα

(1)

Ay=axsinθcosα+aysinθsinα-aycosθcosα

(2)

Az=azsinθ-axcosθ+aycosθ

(3)

校正前、后的加速度数据见图2,校正后的数据接近标准状态下的值。

图2 校正前(a)和校正后(b)加速度数据的变化

对校正后的数据采用小波阈值去噪,以滤除在采集过程中监测装置及母羊自身产生的噪声。不同行为其周期不同,本研究通过确定站立、行走、刨地3种行为周期的最大公倍数,进而确定采用时长为3.2 s的矩形窗对原始加速度信号进行分割。由于信号的采样频率为20 Hz,故所加窗的长度为64个采样点,且相邻的窗重叠半个窗长。加窗后的数据效果见图3。

图3 加速度信号加窗处理效果

2 试验方法

对母羊产前运动行为包括行走、站立、趴卧以及刨地进行识别。各行为的定义与描述[26]见表2。

表2 母羊不同运动行为定义与描述

母羊的站立和趴卧属于静态行为,且四蹄着地,具有类似模式,使得行为识别率较低。针对此问题,本研究充分利用K-means聚类算法对数据采样率及数据误差的不敏感性,将母羊的趴卧行为与其他行为准确的区分出来,在此基础上采用神经网络算法对站立、行走及刨地3种行为进一步的识别,识别流程见图4。

图4 母羊产前运动行为识别流程

2.1 K-means聚类试验

本研究利用MATLAB软件编写K-means聚类算法对母羊产前4种运动行为进行识别。

通过母羊运动行为的定义及描述,结合试验采集的同步视频,确定某一时刻母羊发生的行为类别,并与K-means聚类算法的聚类结果进行比对。

对4种行为进行聚类,故将输入参数设置为4;输入的数据为单只母羊20 min内X、Y、Z3个轴向的连续的加速度值,共计24 000个数据。随机选取初始聚类中心,聚类结果见图5。

图5 K-means算法聚类前(a)和聚类后(b)加速度数据

2.2 BP神经网络试验

2.2.1特征参数提取

1)特征提取。由于加速度传感器所采集的原始数据是一串连续的、波动的值,表面上并不能体现出母羊的行为,故需要进行特征提取,建立数据与行为之间的关系。目前在行为识别中,所提取的特征均为时域、频域和时频域特征[27-28]。其中时域中的方差可体现数据的波动程度,可用来对母羊的静态、动态行为进行区分。频率特征相对稳定,数据不受外界因素的影响。频率能量描述的是一段时间内的能量大小,在相同时间内不同行为的能量不同,故可以用频率能量区分母羊的行走和刨地两种动态行为。本研究提取X、Y、Z3个轴向加速度数据的方差、主峰频率的均值、频率能量的前5个值,共计19个特征值。试验选取500个不同行为样本数据,计算其特征值的平均值,结果见表3。结果显示不同行为其特征值差异较大,表明所选特征可以很好地描述母羊不同行为。

表3 母羊产前不同运动行为各参数特征值

2)特征降维。为提高行为识别的正确率,通常提取多维特征,然而较高维度的特征会降低识别的效率,也会出现“过学习”或“过训练”的现象。针对此现象,一般采用特征降维,主成分分析方法(Principal Component Analysis)是最常用的降维方法,即用较少的新特征取代原来的特征,而这些较少的新特征尽可能多地保留原来特征所反映的信息[29]。本研究在MATLAB软件平台实现PCA降维,各特征贡献率结果见图6。试验选取累积贡献率达到95%的6个主成分作为新的特征集。

图6 PCA各主成分贡献率和累积贡献率

2.2.2BP算法识别过程

1)参数选择。经过试验确定最优神经网络结构为3层,即输入层、一层隐含层及输出层。BP神经网络的输入为降维后的6维特征向量,所以输入层神经元为6个。由于要识别行走、站立、刨地及其他共4种行为,所以输出层神经元为4个。参考式(4)设置隐含层神经元的个数y。

(4)

式中:m、n分别为输入层、输出层神经元个数。a为[1,10]之间的一个常数。在式(4)估算的基础上,根据网络学习的结果对隐含层神经元个数再做调整,最终确定隐含层神经元个数为5[30]。

2)BP神经网络训练。试验输入样本为5 720例,包括行走行为908例、站立行为4 306例、刨地行为303例,其他行为203例。选取每种运动行为数据70%的样本训练神经网络,15%用于模型的验证,剩余15%用于对模型的测试。

3)识别系统设计。本研究设计了基于Matlab平台的母羊产前运动行为识别系统。该系统包括对采集的三轴加速度数据的获取、去噪、加窗分段、特征提取以及行为的识别结果。在所设计的系统内也能够调取并显示相应时间段的视频,以此验证BP神经网络的识别效果。

3 结果与分析

3.1 K-means聚类结果分析

试验选取母羊产前站立行为4 308例、行走行为908例、趴卧行为8 218例、刨地行为303例,由K-means算法进行聚类,结果见表4:K-means聚类算法对母羊的趴卧行为识别率最高,为99.2%,但对于其他3种行为的识别率均只有35%左右。分析原因可能为行走、刨地与站立行为具有相似的行为模式,彼此之间容易混淆,所以K-means聚类算法对这3种行为的识别率较低。基于此,提出在K-means聚类算法的聚类结果基础之上,采用BP神经网络对母羊的站立、行走及刨地行为进一步识别。

3.2 BP神经网络识别结果分析

在Matlab软件平台上对母羊产前运动行为进行识别。加速度数据的特征采用降维后的6维参数。选取站立行为133例、行走行为27例、刨地行为10例、其他行为18例输入到神经网络,识别结果见表5。可见,算法对母羊产前站立行为的识别率为85.7%;行走行为的识别率较高,达到了88.9%;由于刨地行为发生的时间较短,且与行走行为的特征较接近,所以识别率偏低,为80.0%;对母羊发生的其他运动行为,如蹭栏杆、用脚挠耳朵等行为识别率较低为61.1%,究其原因为母羊在发生该类行为时仍然处于站立状态,同时该类行为一般发生的时间非常短,所以算法对其他运动行为识别效果不是特别理想。

表4 K-means对母羊产前不同运动行为识别结果

表5 神经网络对母羊产前不同运动行为识别结果

对特征值进行PCA降维前后算法的识别效果进行了对比(表6),降维前模型对4种行为的平均识别率为69.0%,降维后的识别效果有明显的改善,平均识别率达到了78.9%,提高了9.9%。说明特征维度操作既可以降低计算的复杂度,又可以提高行为的识别效果。

表6 特征降维前后不同运动行为识别率

目前,国内仅有郭冬冬[19]对羊只运动行为分类识别进行了研究,所识别的行为,躺卧、站立、采食均为偏静态行为,而对动态行为如行走和刨地未能识别。沈明霞等[16-18]及李颀[31]分别采用K-means聚类及支持向量机算法对猪的运动行为,躺卧、站立、进食进行识别,识别率达到87%以上,识别率较高,但是该研究在识别时均将慢走与站立视为同一类行为,对母猪的动态进行未能进行详细的分类,对家畜运动行为识别的精细度较低。因此,采用单一算法对母羊产前站立和趴卧行为识别时精度较低,且母羊在分娩前发生趴卧行为时会因即将临产而出现头部不断向上延伸的现象,此时母羊的趴卧行为数据会出现波动,即表现出与非妊娠状态不同的趴卧行为。本研究对母羊产前运动行为识别时首先采用K-means聚类算法将趴卧行为识别出来,在此基础上利用BP神经网络对其他运动行为进行识别,提高了算法的精度。

4 结束语

本研究设计了以三轴加速度传感器为核心的可穿戴式母羊产前运动行为监测装置,对母羊产前运动行为包括行走、站立、趴卧、刨地的加速度数据进行采集。对所采集数据进行了校正、滤波及加窗分段预处理操作,并对预处理后的数据进行特征提取,通过主成分分析得到了降维后的6维特征参数。采用K-means聚类与BP神经网络算法相结合的方式对母羊产前运动行为进行识别。经验证对母羊产前站立、行走、趴卧、刨地4种行为平均识别率达到88.5%;经过PCA降维后的识别率与降维之前相比提高了9.9%。

猜你喜欢
降维识别率母羊
混动成为降维打击的实力 东风风神皓极
母羊不同时期的饲养管理
繁殖期母羊的饲养管理
基础母羊的饲养管理
母羊的几个常见疾病
基于类图像处理与向量化的大数据脚本攻击智能检测
降维打击
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
高速公路机电日常维护中车牌识别率分析系统的应用