公开/公告号CN118071034A
专利类型发明专利
公开/公告日2024-05-24
原文格式PDF
申请/专利权人 吉林省农业科学院(中国农业科技东北创新中心);
申请/专利号CN202410467252.9
发明设计人
申请日2024-04-18
分类号G06Q10/063;G06F18/24;G06F18/25;G06N3/0442;G06N3/0464;G06N3/048;G06N3/08;G06Q50/02;G06V10/30;G06V10/44;G06V10/764;G06V10/80;G06V10/82;
代理机构沈阳鸿迈知识产权代理事务所(普通合伙);
代理人马丽彬
地址 130033 吉林省长春市净月高新技术产业开发区生态大街1363号
入库时间 2024-05-31 01:29:11
技术领域
本发明属于智能管理技术领域,具体涉及一种肉牛饲养管理方法及系统。
背景技术
肉牛饲养业是重要的农业分支之一,其生产效率和产品质量直接影响到肉类市场的供应和消费者的饮食健康。随着科技的发展和人们对食品安全及质量要求的提高,传统的肉牛饲养管理方法已经无法满足现代化、高效率、高质量生产的需求。传统方法主要依靠人工经验进行管理,这不仅效率低下,而且难以实现精准管理,容易导致资源的浪费和环境污染。
当前,已有研究利用图像识别技术对肉牛粪便进行分析,以评估牛只健康状况、饲料消化情况等重要指标。然而,现有方法在粪便图像预处理、特征提取、分类等方面存在不足,如图像去噪效果欠佳、特征提取深度不够、分类准确率有待提高等,导致对肉牛健康状况的评估不够精确。因此,亟需一种新的基于深度学习的肉牛管理方法。
发明内容
基于上述技术问题,本发明提供一种肉牛饲养管理方法及系统,通过融合图像识别技术、传感器监测技术和数据分析技术,实现了肉牛健康状况的精准监测、饲料利用效率的精细评估以及饲养管理决策的智能化。
本发明提供一种肉牛饲养管理方法,所述方法包括:
步骤S1:采集肉牛粪便图像;
步骤S2:对所述肉牛粪便图像进行预处理,得到处理图像;
步骤S3:将所述处理图像输入粪便分类网络进行特征提取,得到分类结果;所述粪便分类网络包括第一标准卷积层、第一激活函数层、第二标准卷积层、第二激活函数层、第一最大池化层、扩张卷积模块、第一双分支特征融合模块、第九标准卷积层、第三激活函数层、第二最大池化层、第二双分支特征融合模块、第三全局平均池化层、第五全连接激活层和全连接分类层;
步骤S4:采集料槽数据,对所述料槽数据进行特征融合,建立料槽状态预测模型,输出料槽状态评估结果;
步骤S5:将所述分类结果和所述料槽状态评估结果整合,进行关联分析,得到分析结果。
可选地,所述将处理图像输入粪便分类网络进行特征提取,得到分类结果,具体包括:
将处理图像输入到所述第一标准卷积层进行卷积操作,得到特征图S1;将特征图S1输入到所述第一激活函数层进行激活操作,得到特征图S2;将特征图S2输入到所述第二标准卷积层进行卷积操作,得到特征图S3;将特征图S3输入到所述第二激活函数层进行激活操作,得到特征图S4;将特征图S4输入所述第一最大池化层进行最大池化操作,得到特征图S5;
将所述特征图S5输入到所述扩张卷积模块进行扩张卷积操作,得到特征图S10;
将所述特征图S10输入到所述第一双分支特征融合模块进行特征融合操作,得到特征图S35;
将所述特征图S35输入到所述第九标准卷积层进行卷积操作,得到特征图S36;将所述特征图S36输入到所述第三激活函数层进行激活操作,得到特征图S37;将所述特征图S37输入到所述第二最大池化层进行最大池化操作,得到特征图S38;
将所述特征图S38输入到所述第二双分支特征融合模块进行特征融合操作,得到特征图S63;
将所述特征图S63输入到所述第三全局平均池化层进行全局平均池化操作,得到特征图S64;将所述特征图S64输入到所述第五全连接激活层进行全连接和激活操作,得到特征图S65;将所述特征图S65输入到所述全连接分类层进行分类,得到分类结果。
可选地,所述将所述特征图S10输入到所述第一双分支特征融合模块进行特征融合操作,得到特征图S35,具体包括:
将所述特征图S10输入到第一层归一化层进行层归一化操作,得到特征图S11;
将所述特征图S11输入到第一标准卷积激活层进行卷积和激活操作,得到特征图S12;将所述特征图S12输入到第二标准卷积激活层进行卷积和激活操作,得到特征图S13;将所述特征图S13输入到第三标准卷积激活层进行卷积和激活操作,得到特征图S14;
将特征图S11输入到第三标准卷积层进行卷积操作,得到特征图S15;将所述特征图S15输入到第一张量拆分层进行特征拆分操作,得到特征图S16;所述特征图S16包括张量path1和张量path2;将所述张量path1输入到第四标准卷积层进行卷积操作,得到特征图S17;将所述张量path2输入到第五标准卷积层进行卷积操作,得到特征图S18;
将所述特征图S16和所述特征图S18输入到第一元素相乘层进行元素相乘操作,得到特征图S19;将所述特征图S17输入到第六标准卷积层进行卷积操作,得到特征图S20;将所述特征图S19输入到第七标准卷积层进行卷积操作,得到特征图S21;将所述特征图S20和所述特征图S21输入到第一元素相加层进行元素相加操作,得到特征图S22;
将所述特征图S22输入到第四标准卷积激活层进行卷积和激活操作,得到特征图S23;将所述特征图S22和所述特征图S23输入到第二元素相乘层进行元素相乘操作,得到特征图S24;
将所述特征图S14输入到第一全局平均池化层进行全局平均池化操作,得到特征图S25;将所述特征图S25输入到第一全连接激活层进行全连接和激活操作,得到特征图S26;将所述特征图S26输入到第二全连接激活层进行全连接和激活操作,得到特征图S27;将所述特征图S27输入到第一张量重塑层进行张量重塑操作,得到特征图S28;将所述特征图S14和所述特征图S28输入到第三元素相乘层进行元素相乘操作,得到特征图S29;
将所述特征图S24和所述特征图S29输入到第二张量拼接层进行张量拼接操作,得到特征图S30;将所述特征图S30输入到第五标准卷积激活层进行卷积和激活操作,得到特征图S31;将所述特征图S11和所述特征图S31输入到第二元素相加层进行元素相加操作,得到特征图S32;
将所述特征图S32输入到第二层归一化层进行层归一化操作,得到特征图S33;将所述特征图S33输入到第八标准卷积层进行卷积操作,得到特征图S34;将所述特征图S32和所述特征图S34输入到第三元素相加层进行元素相加操作,得到特征图S35。
本发明还提供一种肉牛饲养管理系统,所述系统包括:
图像采集模块,用于采集肉牛粪便图像;
图像处理模块,用于对所述肉牛粪便图像进行预处理,得到处理图像;
特征提取模块,用于将所述处理图像输入粪便分类网络进行特征提取,得到分类结果;所述粪便分类网络包括第一标准卷积层、第一激活函数层、第二标准卷积层、第二激活函数层、第一最大池化层、扩张卷积模块、第一双分支特征融合模块、第九标准卷积层、第三激活函数层、第二最大池化层、第二双分支特征融合模块、第三全局平均池化层、第五全连接激活层和全连接分类层;
料槽分析模块,用于采集料槽数据,对所述料槽数据进行特征融合,建立料槽状态预测模型,输出料槽状态评估结果;
综合评估模块,用于将所述分类结果和所述料槽状态评估结果整合,进行关联分析,得到分析结果。
本发明与现有技术相比,具有以下有益效果:
本发明采用深度学习的粪便分类网络,通过多层次、多模块的特征提取和分类,显著提高了粪便图像识别的精度,能够准确判断肉牛粪便类型,如是否存在过料、腹泻等异常情况,为评估牛只消化健康状况、饲料消化效率提供可靠依据;通过部署重量传感器和振动传感器,收集多元数据,结合机器学习算法和LSTM模型,实现对料槽剩余饲料量、肉牛采食行为的精确预测,有助于实时监控饲料消耗情况,合理调整饲喂计划,减少饲料浪费,提高饲料利用率;将粪便分类结果与料槽状态评估结果进行关联分析,能够揭示肉牛消化健康与饲料利用之间的内在联系,为饲养管理人员提供全面、深入的饲养管理建议;利用先进的计算机视觉、物联网技术和人工智能算法,实现了肉牛粪便分析与料槽状态预测的自动化、智能化,极大地减轻了人工劳动强度,提高了工作效率,适应现代规模化肉牛养殖业对高效管理的需求。
附图说明
图1为本发明的一种肉牛饲养管理方法流程图;
图2为本发明的粪便分类网络结构图;
图3为本发明的粪便分类网络结构中的第一双分支特征融合模块图;
图4为本发明的一种肉牛饲养管理系统结构图。
具体实施方式
下面结合具体实施案例和附图对本发明作进一步说明,但本发明并不局限于这些实施例。
实施例1
如图1所示,本发明公开一种肉牛饲养管理方法及系统,方法包括:
步骤S1:采集肉牛粪便图像。
步骤S2:对肉牛粪便图像进行预处理,得到处理图像。
步骤S3:将处理图像输入粪便分类网络进行特征提取,得到分类结果。
步骤S4:采集料槽数据,对料槽数据进行特征融合,建立料槽状态预测模型,输出料槽状态评估结果。
步骤S5:将分类结果和料槽状态评估结果整合,进行关联分析,得到分析结果。
下面对各个步骤进行详细论述:
步骤S1:采集肉牛粪便图像。
步骤S2:对肉牛粪便图像进行预处理,得到处理图像。
步骤S2具体包括:
对原始粪便图像
式中,
本实施例中,对于当前像素点
对去噪后的图像
对于去噪后的图像
式中,
计算累计分布函数,表示为:
式中,上式表示为对直方图中所有小于等于当前灰度值
将去噪图像
式中,
步骤S3:将处理图像输入粪便分类网络进行特征提取,得到分类结果。
图2-图3中,Conv2D表示标准卷积层,卷积核尺寸为1×1、3×3、5×5和7×7;Strides表示步长,取值1或2;激活函数层(Activation(
步骤S3具体包括:
导入所需的库和模块,包括各种Keras层(如卷积、池化、全连接等)、模型构建、张量操作、注意力机制层函数,表示为from tensorflow.keras.layers import Add,Concatenate,Conv2D,Dense,GlobalAveragePooling2D,Input, Layer Normalization,MaxPooling2D、from tensorflow.keras.models import Model、
import tensorflow as tf、from tensorflow.python.keras.layers importMultiply。
将处理图像(256,256,3)输入到第一标准卷积层进行卷积操作,得到特征图S1,第一标准卷积层卷积核数量为32,卷积核尺寸为3×3,步长为2;特征图S1为32通道的128×128;将特征图S1输入到第一激活函数层进行激活操作,得到特征图S2;特征图S2为32通道的128×128。
将特征图S2输入到第二标准卷积层进行卷积操作,得到特征图S3,第二标准卷积层卷积核数量为32,卷积核尺寸为3×3,步长为2;特征图S3为64通道的64×64;将特征图S3输入到第二激活函数层进行激活操作,得到特征图S4;特征图S4为64通道的64×64。
将特征图S4输入到第一最大池化层进行最大池化操作,得到特征图S5;第一最大池化层池化窗口尺寸为2×2;特征图S5为64通道的32×32。
将特征图S5输入到扩张卷积模块进行不同扩张率的扩张卷积操作,得到特征图S10,具体包括:
将特征图S5输入到第一扩张卷积层进行扩张卷积操作,得到特征图S6,第一扩张卷积层卷积核数量为32,卷积核尺寸为3×3,步长为1,扩张率为2;特征图S6为32通道的32×32;将特征图S5输入到第二扩张卷积层进行扩张卷积操作,得到特征图S7,第二扩张卷积层卷积核数量为32,卷积核尺寸为3×3,步长为1,扩张率为4;特征图S7为32通道的32×32;将特征图S5输入到第三扩张卷积层进行扩张卷积操作,得到特征图S8,第三扩张卷积层卷积核数量为32,卷积核尺寸为3×3,步长为1,扩张率为6;特征图S8为32通道的32×32;将特征图S5输入到第四扩张卷积层进行扩张卷积操作,得到特征图S9,第四扩张卷积层卷积核数量为32,卷积核尺寸为3×3,步长为1,扩张率为8;特征图S9为32通道的32×32。
将特征图S6、特征图S7、特征图S8和特征图S9输入到第一张量拼接层进行张量拼接操作,得到特征图S10;特征图S10为128通道的32×32。
本实施例中,扩张卷积模块包括第一扩张卷积层、第二扩张卷积层、第三扩张卷积层、第四扩张卷积层和第一张量拼接层;定义kuozhangmokuai函数,它接收一个输入张量和可选的滤波器数量参数(默认为32);该函数创建并应用四个具有不同扩张率(dilationrate)的3×3卷积层(扩张卷积),然后将它们的结果沿通道维度(axis=-1)拼接在一起返回,具体表示为def kuozhangmokuai(input_tensor,filters=32):convs=[Conv2D(filters,(3,3),padding='same',dilation_rate=rate,activation='relu')(input_tensor) for rate in [2,4,6,8]],concatenated=Concatenate(axis=-1)(convs),return concatenated。
将特征图S10输入到第一双分支特征融合模块进行特征融合操作,得到特征图S35,具体包括:
将特征图S10(第一特征融合模块输入层)输入到第一层归一化层进行层归一化操作,得到特征图S11;层归一化是一种正则化和规范化技术,其目的是改善神经网络的学习过程,通过调整内部神经元的活动范围来促进模型的训练稳定性和加速收敛;特征图S11为128通道的32×32,表示为x_ln1=LayerNormalization()(input_tensor)。
将特征图S11输入到第一标准卷积激活层进行卷积和激活操作,得到特征图S12,第一标准卷积激活层卷积核数量为128,卷积核尺寸为5×5,步长为1,激活函数为ReLU;特征图S12为128通道的32×32;若图中未标明Strides,则为默认值Strides=1;将特征图S12输入到第二标准卷积激活层进行卷积和激活操作,得到特征图S13,第二标准卷积激活层卷积核数量为128,卷积核尺寸为3×3,步长为1,激活函数为ReLU;特征图S13为128通道的32×32;将特征图S13输入到第三标准卷积激活层进行卷积和激活操作,得到特征图S14,第三标准卷积激活层卷积核数量为128,卷积核尺寸为1×1,步长为1,激活函数为ReLU;特征图S14为128通道的32×32。
本实施例中,定义Three_module函数,它接收一个输入张量和滤波器数量参数;该函数包含三个连续的卷积层:5×5、3×3和1×1,所有层都使用相同的滤波器数量、填充方式('same')和ReLU激活函数;最终返回经过这三个卷积层处理后的张量,表示为defThree_module(input_tensor, filters):
x=Conv2D(filters,(5,5),padding='same',activation='relu')(input_tensor);x=Conv2D(filters,(3,3),padding='same',activation='relu')(x);x=Conv2D(filters,(1,1),padding='same', activation='relu')(x)和return x;filters设置为128。
将特征图S11输入到第三标准卷积层进行卷积操作,得到特征图S15,第三标准卷积层卷积核数量为128,卷积核尺寸为1×1,步长为1;特征图S15为128通道的32×32;将特征图S15输入到第一张量拆分层进行特征拆分操作,得到特征图S16;张量拆分层split函数会沿着特征图S16的最后一个轴(即通道轴)将其拆分为两个子张量(path1和path2),每个子张量包含了原张量一半的通道;即path1为64通道的32×32;path2为64通道的32×32。
将张量path1输入到第四标准卷积层进行卷积操作,得到特征图S17,第四标准卷积层卷积核数量为64,卷积核尺寸为7×7,步长为1;特征图S17为64通道的32×32;将张量path2输入到第五标准卷积层进行卷积操作,得到特征图S18,第五标准卷积层卷积核数量为64,卷积核尺寸为3×3,步长为1;特征图S18为64通道的32×32。
将特征图S16和特征图S18输入到第一元素相乘层进行元素相乘操作,得到特征图S19;特征图S19为64通道的32×32;将特征图S17输入到第六标准卷积层进行卷积操作,得到特征图S20,第六标准卷积层卷积核数量为64,卷积核尺寸为1×1,步长为1;特征图S20为64通道的32×32;将特征图S19输入到第七标准卷积层进行卷积操作,得到特征图S21,第七标准卷积层卷积核数量为64,卷积核尺寸为1×1,步长为1;特征图S21为64通道的32×32;将特征图S20和特征图S21输入到第一元素相加层进行元素相加操作,得到特征图S22;特征图S22为64通道的32×32;
本实施例中,定义Split_module函数,它接收一个输入张量和滤波器数量参数;首先对输入应用一个1×1卷积;然后,将结果沿通道维度(axis=-1)拆分为两部分(path1和path2);对path1应用一个7×7卷积,对path2先应用一个3×3卷积,然后将其与自身相乘(自乘);接着,对path1和path2分别应用一个1×1卷积,并将它们相加;最后返回合并后的结果,表示为def Split_module(input_tensor,filters):x=Conv2D(filters,(1,1),padding='same')(input_tensor);path1,path2=tf.split(x,num_or_size_splits=2,axis=-1);path1=Conv2D(filters//2,(7,7),padding='same')(path1);path2_intermediate=Conv2D(filters//2,(3,3),padding='same')(path2);path2=Multiply()([path2,path2_intermediate]); path1=Conv2D(filters//2,(1,1),padding='same')(path1);path2=Conv2D(filters//2,(1,1),padding='same')(path2);x=Add()([path1,path2]);return x。
将特征图S22输入到第四标准卷积激活层进行卷积和激活操作,得到特征图S23,第四标准卷积激活层卷积核数量为1,卷积核尺寸为1×1,步长为1,激活函数为Sigmoid;特征图S23为1通道的32×32;将特征图S22和特征图S23输入到第二元素相乘层进行元素相乘操作,得到特征图S24;特征图S24为64通道的32×32。
本实施例中,定义spatial_attention函数,它接收一个输入张量;该函数通过应用一个1×1卷积(输出通道数为1)并使用Sigmoid激活函数生成空间注意力图,然后将注意力图与原始输入张量逐元素相乘返回,实现空间注意力机制。
将特征图S14输入到第一全局平均池化层进行全局平均池化操作,得到特征图S25;特征图S25为(128,);(128,)表示经过全局平均池化后,每个通道的32×32的二维数组被简化为一个单一的值;对于128个通道,最终得到一个包含128个元素的一维向量;这个向量(特征图S25)的维度为(128,),表示它是一维的,并且包含128个值,每个值代表原先对应通道的全局平均激活强度;将特征图S25输入到第一全连接激活层进行全连接和激活操作,得到特征图S26;全连接层的单元为128,激活函数为ReLU;特征图S26为(128,);将特征图S26输入到第二全连接激活层进行全连接和激活操作,得到特征图S27;全连接层的单元为128,激活函数为Sigmoid;特征图S27为(128,);将特征图S27输入到第一张量重塑层进行张量重塑操作,得到特征图S28;特征图S28为(1,1,128);将特征图S14和特征图S28输入到第三元素相乘层进行元素相乘操作,得到特征图S29;特征图S29为(32,32,128)。
本实施例中,定义channel_attention函数,它接收一个输入张量;该函数首先使用全局平均池化得到每个通道的平均值,然后通过两个全连接层(中间层使用ReLU激活,最后一层使用Sigmoid激活)计算通道注意力权重;最后将注意力权重重塑为与输入张量相同的空间尺寸,并与原始输入张量逐元素相乘返回,实现通道注意力机制,表示为defchannel_attention(input_ tensor):x=GlobalAveragePooling2D()(input_tensor);x=Dense(input_tensor.shape[-1],activation='relu')(x);x=Dense(input_tensor.shape[-1],activation='sigmoid')(x);x=tf.reshape(x,[-1,1,1,input_tensor.shape[-1]]);return Multiply()([input_ tensor,x])。
将特征图S24和特征图S29输入到第二张量拼接层进行张量拼接操作,得到特征图S30;特征图S30为192通道的32×32;将特征图S30输入到第五标准卷积激活层进行卷积和激活操作,得到特征图S31,第五标准卷积激活层卷积核数量为128,卷积核尺寸为3×3,步长为1,激活函数为ReLU;特征图S31为128通道的32×32;将特征图S11和特征图S31输入到第二元素相加层进行元素相加操作,得到特征图S32;特征图S32为128通道的32×32。
本实施例中,定义D2F函数,它接收一个滤波器数量参数;该函数返回一个内部定义的layer函数,该函数结合了Three_module、Split_module、空间注意力和通道注意力机制,并通过拼接和3×3卷积整合这些机制的输出,最后将整合后的结果与原始输入张量相加返回,表示为def D2F(filters):
def layer(input_tensor):x_three=Three_module(input_tensor,filters);x_split=Sp lit_module(input_tensor,filters);x_spatial_attention=spatial_attention(x_split);x_channel_attention=channel_attention(x_three);x_concat=Concatenate()([x_spatial_attention,x_channel_attention]);x_33=Conv2D(filters,(3,3),padding='same', activation='relu')(x_concat);x_out=Add()([x_33,input_tensor]);return x_out;
return layer。
将特征图S32输入到第二层归一化层进行层归一化操作,得到特征图S33,特征图S33为128通道的32×32;将特征图S33输入到第八标准卷积层进行卷积操作,得到特征图S34,第八标准卷积层卷积核数量为128,卷积核尺寸为1×1,步长为1;特征图S34为128通道的32×32;将特征图S32和特征图S34输入到第三元素相加层进行元素相加操作,得到特征图S35;特征图S35为128通道的32×32。
本实施例中,第一双分支特征融合模块主要执行步骤为:定义ronghe函数,它接收一个滤波器数量参数和一个D2F_block(由D2F函数返回);该函数返回一个内部定义的layer函数,该函数首先对输入张量进行层归一化,然后应用D2F_block;接着,将归一化后的输入与D2F_block的输出相加得到残差连接(residual connection);进一步对残差连接进行层归一化、两次1×1卷积(中间层使用ReLU激活),并将第二次卷积后的结果与之前的残差连接相加返回,表示为def ronghe(filters,D2F_block):def layer(input_tensor):x_ln1=LayerNormalization()(input_tensor);x_d2f=D2F_block(filters)(x_ln1);x_res2=LayerNormalization()(x_d2f);x_res2=Conv2D(filters,(1,1),padding='same')(x_res2);x_res2=Add()([x_d2f,x_res2]);return x_res2;return layer。
本实施例中,第一双分支特征融合模块包括第一特征融合模块输入层、第一层归一化层、第一标准卷积激活层、第二标准卷积激活层、第三标准卷积激活层、第三标准卷积层、第一张量拆分层、第四标准卷积层、第五标准卷积层、第一元素相乘层、第六标准卷积层、第七标准卷积层、第一元素相加层、第四标准卷积激活层、第二元素相乘层、第一全局平均池化层、第一全连接激活层、第二全连接激活层、第一张量重塑层、第三元素相乘层、第二张量拼接层、第五标准卷积激活层、第二元素相加层、第二层归一化层、第八标准卷积层和第三元素相加层。
将特征图S35输入到第九标准卷积层进行卷积操作,得到特征图S36,第九标准卷积层卷积核数量为256,卷积核尺寸为3×3,步长为2;特征图S36为256通道的16×16;将特征图S36输入到第三激活函数层进行激活操作,得到特征图S37;特征图S37为256通道的16×16;将特征图S37输入到第二最大池化层进行最大池化操作,得到特征图S38;第二最大池化层池化窗口尺寸为2×2;特征图S38为256通道的8×8。
将特征图S38输入到第二双分支特征融合模块进行特征融合操作,得到特征图S63;特征图S63为256通道的8×8。
本实施例中,第二双分支特征融合模块与第一双分支特征融合模块结构完全一致,故不作赘述;第二双分支特征融合模块包括第二特征融合模块输入层、第三层归一化层、第六标准卷积激活层、第七标准卷积激活层、第八标准卷积激活层、第十标准卷积层、第二张量拆分层、第十一标准卷积层、第十二标准卷积层、第四元素相乘层、第十三标准卷积层、第十四标准卷积层、第四元素相加层、第九标准卷积激活层、第五元素相乘层、第二全局平均池化层、第三全连接激活层、第四全连接激活层、第二张量重塑层、第六元素相乘层、第三张量拼接层、第十标准卷积激活层、第五元素相加层、第四层归一化层、第十五标准卷积层和第六元素相加层。
将特征图S63输入到第三全局平均池化层进行全局平均池化操作,得到特征图S64;特征图S64为(256,);将特征图S64输入到第五全连接激活层进行全连接和激活操作,得到特征图S65;全连接层的单元为512,激活函数为ReLU;特征图S65为(512,);将特征图S65输入到全连接分类层进行分类,得到分类结果。
本实施例中,定义create_fenbian_cnn函数,它接收输入形状和类别数量参数,该函数构建一个完整的粪便分类模型,具体包括:
定义输入层,应用两个连续的3×3卷积层(滤波器数量分别为32和64,步长为2,使用ReLU激活和same填充),然后进行最大池化;应用kuozhangmokuai函数处理池化后的结果;使用ronghe函数(滤波器数量为128,D2F_block为D2F(128))处理上述结果得到A;对A应用一个3×3卷积(滤波器数量为256,步长为2,使用ReLU激活和same填充),然后进行最大池化;再次使用ronghe函数(滤波器数量为256,D2F_block为D2F(256))处理上一步的池化结果,得到B;对B应用全局平均池化层,将空间维度降至1×1;通过一个全连接层(隐藏单元数为512,激活函数为ReLU)进一步处理全局平均池化后的特征;最后,应用一个全连接层作为分类器,其输出单元数等于指定的类别数量(num_classes),使用Softmax激活函数以生成类别的概率分布,表示为def create_fenbian_cnn(input_shape,num_classes): input_img=Input(shape=input_shape);conv1=Conv2D(32,(3,3),strides=2,activation='relu',padding='same')(input_img);conv1=Conv2D(64,(3,3),strides=2,activation='relu',padding='same')(conv1);pool1=MaxPooling2D(pool_size=(2,2))(conv1);kuozhangjuanji=kuozhangmokuai(pool1);A=ronghe(128,D2F)(kuozhangjuanji);A=Conv2D(256,(3,3),strides=2,activation='relu',padding='same')(A);A=MaxPooling2D(pool_size=(2,2))(A);B=ronghe(256,D2F)(A);pool2=GlobalAveragePooling2D()(B);quanlianjie=Dense(512,activation='relu')(pool2);Fenbianleibie=Dense(num_classes,activation='softmax')(quanlianjie);model=Model(inputs=input_img,outputs=[fenbianleibie]);return model。
定义了模型的输入形状(256×256 RGB图像)和类别数量(5个类别),然后调用create_fenbian_cnn函数创建模型实例fenbian_model;接着,通过summary方法打印出模型结构及各层参数信息;最后,使用plot_model函数将模型结构保存到名为“粪便.png”的文件中,显示层形状和层名,表示为input_shape=(256,256,3);num_classes=5;fenbian_model=create_fenbian_cnn(input_shape,num_classes);fenbian_model.summary();plot_model(fenbian_model,to_file='粪便.png',show_shapes=True)。
构建粪便分类网络,其中包含多个自定义模块(如kuozhangmokuai、Three_module、Split_module、D2F、ronghe等),这些模块结合了扩张卷积、残差连接、多尺度信息融合、注意力机制等技术,旨在提高模型对输入图像特征的提取和分类能力。
本实施例中,肉牛粪便种类包括正常粪便和四种异常粪便,正常粪便形状为环圆形、扁圆形、馒头形;硬度软硬适中,既不过于干燥也不过于稀软;颜色为褐黄色;四种异常粪便包括粪干、粪稀不成形、粪便表面有黏液或血液和过料粪便,粪干(球状)表现为粪便干燥、硬结,呈球状,可能由于牛只采食量减少、发热、严重缺水、粗饲料质量差或比例过高导致;粪稀不成形表现为粪便稀薄、松散,不成形,可能由气候突变引发消化不良、饲料霉变导致肠道病、或者精饲料过多引发酸中毒等原因引起;粪便表面有黏液或血液表现为粪便表面附着黏液或可见血液,可能是由于缺乏运动、发热引起的便秘,或是肠道炎症、损伤等病症的迹象;过料粪便表现为粪便中含有未完全消化的饲料残渣,如未消化的玉米粒或其他饲料颗粒,这可能表明牛只消化吸收功能不佳,饲料利用率低,多见于育肥阶段。
本实施例中,粪便分类网络包括第一标准卷积层、第一激活函数层、第二标准卷积层、第二激活函数层、第一最大池化层、扩张卷积模块、第一双分支特征融合模块、第九标准卷积层、第三激活函数层、第二最大池化层、第二双分支特征融合模块、第三全局平均池化层、第五全连接激活层和全连接分类层。
步骤S4:采集料槽数据,对料槽数据进行特征融合,建立料槽状态预测模型,输出料槽状态评估结果。
步骤S4具体包括:
部署重量传感器,具体包括:
采用重量传感器,确保在肉牛持续采食过程中能够实时、精确地捕捉饲料重量的微小变化;这些传感器应具备快速响应、抗干扰能力强、长期稳定性好等特点,确保数据采集的准确性和可靠性。可以在料槽内部设计多层、多点的传感器布局。例如,沿料槽高度方向设置若干层重量传感器,每层传感器覆盖料槽的一部分深度,形成垂直方向上的分布式监控网络;这样的布置方式能够捕捉到饲料在料槽内的分层分布情况,有助于更准确地评估饲料剩余状态和肉牛采食偏好(如是否倾向于采食上层或下层饲料)。
部署振动监测器,具体包括:
安装与数据采集,高灵敏度振动传感器被安装在料槽底部的关键位置,以确保有效地捕获肉牛采食过程中料槽受到的微弱振动;这些传感器通常具有低噪声、高带宽、宽动态范围等特性,能够在各种工作条件下稳定、准确地记录振动信号;传感器与数据采集系统连接,实时传输振动数据至中央处理器或云端平台进行进一步分析。
振动模式与特征提取,不同饲料剩余量、分布状态以及肉牛采食行为会产生振动模式,具体包括:
饲料剩余量与分布,饲料较多时,振动信号可能表现出较强的阻尼效应和较低的振动频率,而饲料较少或分布不均时,振动模式可能更复杂,出现高频成分和不规则振动。
肉牛采食力度与节奏,强烈的采食动作(如猛咬、快速扒料)会引发明显的振动峰值,而温和、有规律的采食则对应较为平缓的振动曲线;采食节奏的变化(如短时间频繁采食与长时间间隔)也会影响振动信号的时间特性。
通过对采集到的振动信号进行特征提取并进行量化,具体包括:
频域分析,使用快速傅里叶变换(FFT)或小波分析,将时域的振动信号转换到频域,得到振动的功率谱或频谱图;频谱中的峰值位置、谱峰宽度、能量分布等信息反映了振动的主要频率成分和能量集中区域,有助于区分不同饲料状态和采食行为。
时序特征提取,计算振动信号的一阶和高阶统计特性,如均值、方差、峭度、峰值因子、峭度比等,以及时间序列模型的参数,反映振动信号的动态变化趋势和周期性特征;此外,还可以提取基于时间窗的统计特征(如滑动窗口内的平均值、标准差、峰值等),以捕捉采食行为的瞬时变化。
将提取的振动特征采用机器学习算法(如支持向量机、K近邻算法、决策树、随机森林等)进行分类或回归分析,以辅助判断饲料的剩余状态和肉牛采食行为,具体包括:
饲料剩余状态识别:对特征向量进行分类,预测饲料剩余大致属于“充足”、“适中”或“不足”等类别,或者进行回归分析,直接估计剩余饲料的重量或体积。
采食行为分析:分类模型可以识别出肉牛当前采食力度是“轻”、“中”或“重”,采食节奏是“慢”、“适中”或“快”;回归模型则可以预测具体的采食力度值、咀嚼频率、吞咽间隔等量化指标。
将来自重量传感器、振动监测设备的多元数据进行集成,形成一个全面反映料槽状态和肉牛采食行为的数据集,具体包括:
重量传感器数据,各层重量传感器持续记录饲料的实时重量,形成连续的时间序列数据,用于计算饲料消耗量、剩余量等基础指标。
振动监测数据,经过特征提取后的振动信号,表现为一系列振动频谱特征(如主频、频带能量、频率分布等)、时序特征(如均值、方差、峭度等)以及可能的机器学习模型输出(如饲料剩余状态、采食力度与节奏等分类或回归结果)。
将上述多源特征进行融合,构建一个包含重量、振动维度特征的料槽状态特征集,该特征集旨在综合反映料槽内饲料的实时状态和肉牛采食行为的详细信息,包括但不限于:
重量特征:当前总重量、各层重量、单位时间内重量变化率等。
振动特征:主要频率成分及其能量、频谱形状参数、时序统计特征、机器学习模型输出的饲料剩余状态和采食行为标签或数值。
针对料槽状态融合特征集,选用LSTM模型进行训练,输出料槽状态评估结果,具体包括:
LSTM适用于处理时间序列数据和捕捉复杂非线性关系,尤其在预测动态变化的料槽状态时具有优势;模型训练的目标是输出一系列关键指标,为养殖人员提供直观、定量的料槽状态评估结果,这些指标包括:
饲料剩余比例:以百分比形式表示料槽内剩余饲料相对于初始投放量的比例,反映饲料消耗进度和补充需求。料槽清洁度等级:通过模型预测料槽底部沉积物、饲料残渣等影响清洁度的因素,给出“清洁”、“一般”、“脏污”等定性或量化评价,指导清洗维护工作。饲料消耗速率:预测单位时间内饲料的消耗量,有助于预测未来一段时间的饲料需求,便于提前规划采购与储备。
训练好的料槽状态预测模型应用于实时监控系统,根据最新采集的多源数据,实时更新预测结果;模型应定期使用新数据进行再训练或在线学习,以适应肉牛生长阶段、饲料类型、季节变化等因素引起的采食行为变化。同时,通过交叉验证、超参数调整、模型融合等手段优化模型性能,提高预测精度和稳定性。
步骤S5:将分类结果和料槽状态评估结果整合,进行关联分析,得到分析结果。
步骤S5具体包括:
将料槽状态评估结果与粪便分类识别结果进行系统化整合,形成肉牛个体的综合数据档案;这种档案集成了肉牛在不同时间点的多种健康和行为信息,确保了数据的完整性和可追溯性,便于进行深入的关联分析,具体包括:
料槽状态评估结果:包括饲料剩余比例、消耗速率、料槽清洁度等级等关键指标,反映肉牛的采食行为和饲料利用情况。
粪便分类识别结果:时间戳标记的粪便检测数据,包括粪便类型(如正常、异常)、生理状态评分(如消化状况、营养吸收水平、疾病风险等)等;生理状态评分即粪便特征量化,对每种粪便类别赋予相应的生理状态评分,便于后续与料槽状态数据进行定量融合分析。
将每次粪便检测的时间与同期或相邻时间段内的料槽状态数据关联起来,确保两者在时间轴上的对应关系;这种关联有助于识别特定时段内料槽状态变化与粪便特性的对应关系,揭示肉牛消化生理反应的即时性与滞后效应。
利用统计分析方法和时间序列分析技术研究料槽状态指标(如饲料剩余比例、消耗速率)与粪便特性(如粪便类型、生理状态评分)之间的相关性、因果关系及趋势变化,具体包括:
确定饲料消耗速率降低是否与出现消化不良型粪便或较低的生理状态评分显著相关。探究料槽状态变化是否先于粪便特性变化,揭示可能的预警信号。
基于上述关联分析结果,系统能够生成针对性的饲养管理建议,将料槽状态与粪便识别结果纳入考虑,实现精细化饲养,具体包括:
如果粪便分析显示肉牛存在消化不良或营养吸收问题(如粪便中未消化饲料颗粒增多、颜色异常、质地偏稀等),同时料槽数据显示其对某类饲料的消耗速率较低,表明肉牛对该类饲料消化利用不充分或不适应。系统会建议调整饲料配方,如增加易消化、营养均衡的成分(如粗纤维含量适中的草料、易消化蛋白质来源等),减少不易消化或可能导致消化不适的成分(如高浓度豆粕、未熟化谷物等),以改善肉牛的消化状况和营养吸收效率。
若粪便检测发现肉牛可能存在消化道疾病风险(如寄生虫感染、炎症反应等),同时料槽监测显示其采食行为异常(如采食量骤减、采食频率不稳定等),系统会提示加强疾病预防与治疗措施,建议包括:
根据粪便检测结果和疾病风险,推荐使用针对性的驱虫药、抗生素或其他治疗药物;提升牛舍清洁度,控制适宜的温度湿度,减少病原微生物滋生,促进肉牛健康。
当料槽数据显示肉牛采食频率异常(如过度频繁或长时间不吃料),同时粪便检测结果显示粪便中含有未完全消化的饲料残渣,如未消化的玉米粒或其他饲料颗粒,这可能表明牛只消化吸收功能不佳,系统可能建议进行行为干预,以恢复肉牛正常的采食习惯和消化功能,措施包括:
规律化饲喂时间,避免过度饥饿或饱食导致的消化紊乱;合理分配日粮,保证营养均衡且易于消化;提倡适度运动,如定时放牧或在牛舍内设置活动区域,以促进肠胃蠕动,增强消化功能;检查饲料质量,确认饲料是否新鲜、无霉变、无污染,特别是玉米等主要能量来源饲料应无霉菌毒素污染;调整饲料粒度,过大的饲料颗粒可能导致消化不充分。建议适当粉碎饲料,使颗粒大小适中,既有利于唾液和胃液的充分混合,又能避免因过细导致反刍动物瘤胃发酵效率下降;调整饲料配方,针对过料现象,可能需要降低不易消化或可能导致消化不适的成分比例,如高纤维饲料、未熟化谷物等。同时,增加易消化、营养均衡的成分,如优质的粗饲料、预处理过的谷物、易消化蛋白质来源等,以提高饲料整体的消化率。
实施例2
如图4所示,本发明公开一种肉牛饲养管理系统,系统包括:
图像采集模块10,用于采集肉牛粪便图像。
图像处理模块20,用于对肉牛粪便图像进行预处理,得到处理图像。
特征提取模块30,用于将处理图像输入粪便分类网络进行特征提取,得到分类结果。
料槽分析模块40,用于采集料槽数据,对料槽数据进行特征融合,建立料槽状态预测模型,输出料槽状态评估结果。
综合评估模块50,用于将分类结果和料槽状态评估结果整合,进行关联分析,得到分析结果。
作为一种可选地实施方式,本发明图像处理模块20,具体包括:
对原始粪便图像
式中,
对去噪后的图像
对于去噪后的图像
计算累计分布函数,表示为:
将去噪图像
式中,
作为一种可选地实施方式,本发明特征提取模块30,具体包括:
卷积子模块,用于将处理图像输入到第一标准卷积层进行卷积操作,得到特征图S1;将特征图S1输入到第一激活函数层进行激活操作,得到特征图S2;将特征图S2输入到第二标准卷积层进行卷积操作,得到特征图S3;将特征图S3输入到第二激活函数层进行激活操作,得到特征图S4;将特征图S4输入第一最大池化层进行最大池化操作,得到特征图S5。
扩张卷积子模块,用于将特征图S5输入到扩张卷积模块进行扩张卷积操作,得到特征图S10。
第一双分支特征融合子模块,用于将特征图S10输入到第一双分支特征融合模块进行特征融合操作,得到特征图S35。
深度特征提取子模块,用于将特征图S35输入到第九标准卷积层进行卷积操作,得到特征图S36;将特征图S36输入到第三激活函数层进行激活操作,得到特征图S37;将特征图S37输入到第二最大池化层进行最大池化操作,得到特征图S38。
第二双分支特征融合子模块,用于将特征图S38输入到第二双分支特征融合模块进行特征融合操作,得到特征图S63。
分类识别子模块,用于将特征图S63输入到第三全局平均池化层进行全局平均池化操作,得到特征图S64;将特征图S64输入到第五全连接激活层进行全连接和激活操作,得到特征图S65;将特征图S65输入到全连接分类层进行分类,得到分类结果。
作为一种可选地实施方式,本发明第一双分支特征融合子模块,包括:
层归一化单元,用于将特征图S10输入到第一层归一化层进行层归一化操作,得到特征图S11。
卷积激活单元,用于将特征图S11输入到第一标准卷积激活层进行卷积和激活操作,得到特征图S12;将特征图S12输入到第二标准卷积激活层进行卷积和激活操作,得到特征图S13;将特征图S13输入到第三标准卷积激活层进行卷积和激活操作,得到特征图S14。
特征拆分单元,用于将特征图S11输入到第三标准卷积层进行卷积操作,得到特征图S15;将特征图S15输入到第一张量拆分层进行特征拆分操作,得到特征图S16;特征图S16包括张量path1和张量path2;将张量path1输入到第四标准卷积层进行卷积操作,得到特征图S17;将张量path2输入到第五标准卷积层进行卷积操作,得到特征图S18。
元素拆分相乘单元,用于将特征图S16和特征图S18输入到第一元素相乘层进行元素相乘操作,得到特征图S19;将特征图S17输入到第六标准卷积层进行卷积操作,得到特征图S20;将特征图S19输入到第七标准卷积层进行卷积操作,得到特征图S21;将特征图S20和特征图S21输入到第一元素相加层进行元素相加操作,得到特征图S22。
通道注意力单元,用于将特征图S22输入到第四标准卷积激活层进行卷积和激活操作,得到特征图S23;将特征图S22和特征图S23输入到第二元素相乘层进行元素相乘操作,得到特征图S24。
空间注意力单元,用于将特征图S14输入到第一全局平均池化层进行全局平均池化操作,得到特征图S25;将特征图S25输入到第一全连接激活层进行全连接和激活操作,得到特征图S26;将特征图S26输入到第二全连接激活层进行全连接和激活操作,得到特征图S27;将特征图S27输入到第一张量重塑层进行张量重塑操作,得到特征图S28;将特征图S14和特征图S28输入到第三元素相乘层进行元素相乘操作,得到特征图S29。
分支融合单元,用于将特征图S24和特征图S29输入到第二张量拼接层进行张量拼接操作,得到特征图S30;将特征图S30输入到第五标准卷积激活层进行卷积和激活操作,得到特征图S31;将特征图S11和特征图S31输入到第二元素相加层进行元素相加操作,得到特征图S32。
残差连接单元,用于将特征图S32输入到第二层归一化层进行层归一化操作,得到特征图S33;将特征图S33输入到第八标准卷积层进行卷积操作,得到特征图S34;将特征图S32和特征图S34输入到第三元素相加层进行元素相加操作,得到特征图S35。
作为一种可选地实施方式,本发明料槽分析模块40,具体包括:
部署重量传感器,提取重量特征。
部署振动传感器,提取振动信号并进行特征提取,得到振动特征。
将提取的振动特征采用机器学习算法进行分类或回归分析,输出饲料的剩余状态和肉牛采食行为。
将重量特征、振动特征、饲料的剩余状态和采食行为进行融合,构建融合特征集。
将融合特征集输入到LSTM模型进行训练,输出料槽状态评估结果。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 在乌克兰肉牛饲养和育肥过程中给小猪电化宏微球的饲料配比的富集方法
机译: 肉牛饲料及饲养方法
机译: 肉牛饲料及饲养方法