基于YOLOv5s的母猪基础行为识别

2024-02-27 06:34陈敏权钟金鹏刘士静孟凡盛
安徽科技学院学报 2024年1期
关键词:猪只注意力母猪

陈敏权, 陈 丰, 钟金鹏, 刘士静, 孟凡盛

(安徽科技学院 机械工程学院,安徽 凤阳 233100)

在猪场日常管理中,母猪养殖要求高难度大。目前猪场管理主要使用的是人工管理方式,人力资源耗费大,而且母猪对环境的感知敏感,长时间与人接触所产生的应激反应以及与人接触而导致的疾病传播都会给猪场带来巨大的经济损失[1],因此国内外众多学者致力研究智能化技术在母猪养殖业中的应用,希望找到智能化养殖的方法。目前研究最多的是通过滑道或者巡检机器人[2]搭载摄像头对猪只进行拍照识别,根据识别结果调整饲喂结构,并对突发状况进行及时处理[3]。

机器视觉技术[4]是实现智能化养殖的一项重要技术,具有无接触、可持续、成本低等优势,在实现智能化养殖过程中起到举足轻重的作用。机器视觉技术主要应用于母猪的姿态识别[5],主要是对母猪的一些特殊行为进行识别[6]。

早期的视觉识别主要是对图像的分割以及目标的提取[7],通过经验高低阈值[8]、灰度差异[9]、直方图均衡化等对静态单帧猪只目标进行提取[10],通过背景减去法以及二值化处理对动态多帧猪只目标进行提取[11]。

目前,有不少研究人员将机器视觉应用于母猪行为识别[12],庄晏榕等[13]基于AlexNet卷积神经网络通过识别猪发情时耳朵竖起动作判断母猪是否发情;Yang等[14]提出一种基于时空特征的母猪爬跨行为识别来检测猪是否发情;刘龙申等[15]利用EfficientDet网络对产床内母猪图像进行深层次特征提取,通过母猪产前产后行为变化预测母猪分娩时间。

除行为识别以外,猪只个体识别[16]和体尺测量[17]也备受研究人员青睐,为猪的保种工作奠定基础[18]。李广博等[19]采用改进后的YOLOv5s模型识别猪脸,通过添加注意力机制提高模型特征提取的能力,用来识别猪脸,判断个体身份。耿艳利等[20]提出基于点云语义分割的猪只体尺测量方法基于Pointnet网络,结合注意力模块构建语义分割模型,针对不同分割部位设计猪只体尺测量方法。左若雨等[21]采用YOLOv4对猪耳部进行识别,为识别猪只病变提供依据。

综上,基于机器视觉的母猪行为识别虽然可以识别出单猪的行为,但是因为猪是一种群居动物,遮挡现象严重,所以本研究在YOLOv5s的基础上进行改进,旨在实现对复杂环境下猪基础行为(如站、趴、爬等行为)的识别,从而根据识别母猪基础动作判断母猪状态,实现智能化养殖。

1 材料与方法

1.1 数据采集

本研究数据来源于网络图片以及养殖场视频。养殖场视频由手持摄像机采集,试验图片集包含母猪的站、坐、躺、趴、爬等5种动作,并通过更换图片背景以及更改图片亮度、饱和度和色差来减少灯光、背景环境等因素对训练结果的影响,效果如图1所示。通过筛选去除质量较差的图片后形成图片集为1 000张。

图1 图像预处理Fig.1 Image preprocessing

1.2 数据集制作

对上述图片集使用Labelimg标注工具进行人工标定,目标标签为stand、lie、sit、climd、crawl,生成格式为txt的标签文件。通过pycharm使用分类函数对标签文件进行均分,形成训练集、验证集、测试集为7∶2∶1。

1.3 YOLOv5s模型

YOLOv5有4种模型,分别为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,通过使用自制数据集对这4种模型进行训练对比,结果如表1所示,其中YOLOv5s模型小,检测速度快且准确率相对较高,所以本研究选择使用YOLOv5s模型。

表1 YOLOv5不同模型的训练结果Table 1 Analysis of experimental results of different models of YOLOv5

YOLOv5s模型由输入端、基准网络、Neck网络、预测输出组成,网络结构如图2所示。

图2 YOLOv5s网络结构图Fig.2 YOLOv5s network structure

1.3.1 输入端 主要包括mosaic数据增强,通过对图像的随机缩放、裁剪、排布,从而提高对目标的检测与识别效果。

1.3.2 基准网络 主要包括Focus结构与CSP结构。Focus结构包含4个切片与一个卷积,将608×608×3的图像转化为304×304×12的特征图;CSP结构通过将浅层特征图一分为二,一部分直接向后传播,另一部分跨层与特征提取模块融合,从而得到更丰富的特征图。

1.3.3 Neck网络 主要包括PAN和FPN结构,YOLOv5通过这两种结构分别进行自顶而下和自下而上的聚合,并将特征进行融合,通过将不同尺度的特征图进行融合以提高检测性能。

1.3.4 预测输出 在YOLOv5原网络中预测输出层主要包括一个损失函数GIOU_Loss和一个非极大值抑制nms函数,YOLOv5通过预测框与实际框的面积比为判定依据进行计算,几何关系如图3所示。

图3 预测框与输出框几何关系Fig.3 Geometric relationship between prediction box and output box

选取取预测框上两点A(x1,y1)、C(x3,y3)以及实际框上两点B(x2,y2)、D(x4,y4),两框的相交面积为S1,并集面积为S2,所以两框交并集面积如式(1)~(2)所示:

S1=(min(x3,x4)-max(x1,x2))×(min(y3,y4)-max(y2,y1))

(1)

S2=(x3-x1)×(y3-y1)+(x4-x2)×(y4-y2)-S1

(2)

从而得到交并比IoU为

(3)

但是常用的IoU评价标准不适用于评价矩形框没有重合的情况,故引入两框中心距l以及对角线距离ρ,最后加上框的长宽等信息,最终损失函数如式(4)所示:

(4)

其中,

(5)

(6)

经过损失函数计算,检测出来可能有多个检测框,YOLOv5使用非极大值抑制(NMS)删除多余检测框,保留最佳检测框。

1.4 CBAM注意力模块

CBAM(Convolutional Block Attention Module)注意力模块用于增强卷积神经网络感知能力,CBAM注意力模块由2个子模块组成:通道注意力模块CAM(Channel Attention Module)和空间注意力模块SAM(Spatial Attention Module),结构图如图4所示。

图4 CBAM注意力模块结构图Fig.4 Structure diagram of CBAM attention module

CAM通过在每个通道上学习通道权重来对输入特征图进行加权,以强调重要的特征通道。它利用全局平均池化和全连接层来学习通道权重,然后将这些权重应用到输入特征图上,使得网络能够自动学习并关注对当前任务最有用的通道。

SAM则通过在每个空间位置上学习空间权重来对输入特征图进行加权,以提取空间上的重要特征。它利用最大池化和全连接层来学习空间权重,然后将这些权重应用到输入特征图上,从而增强感受野内不同位置的特征表示能力。

CBAM模块将通道注意力和空间注意力结合在一起,通过同时关注通道和空间信息,可以提升对复杂特征的感知和区分能力,通过在卷积中添加CBAM模块,提高模型对母猪的注意力,提高通道权重,进而提升模型在母猪相互遮挡背景下的检测性能,引入CBAM注意力模块后的结果如图5所示。

图5 引入CBAM注意力模块Fig.5 CBAM attention module is introduced

1.5 试验方法

本研究使用一种改进的母猪行为识别方法。首先构建多背景的母猪多种行为数据集,通过添加CBAM注意力机制,提高模型的检测精度和检测速度,识别框架如图6所示。

图6 母猪行为识别框架 Fig.6 Sow behavior recognition framework

2 结果与分析

2.1 试验环境

本试验采用pycharm搭建框架,操作平台为64位Windows 10,显卡为NVDIA GeFORCE GTX1650显卡,数据集为多背景的母猪多种行为,数据集一组未添加注意力机制的YOLOv5s模型以及一组添加注意力机制的YOLOv5s模型,训练轮数设置为400轮。本研究其他训练参数如表2所示。

2.2 评价指标

本研究采用Precision、Recall、mAP作为衡量算法性能的指标,公式如式(7)~(10)所示:

(7)

(8)

其中,TP为母猪动作预测准确的数量;FN是预测正样本预测为假的数量;FP是负样本预测为真的数量。

(9)

(10)

其中,AP为精确率和召回率曲线围成的面积;mAP为AP的平均值。

2.3 模型分析

经过YOLOv5s算法模型的训练,最终训练后的对比结果如表3所示,训练过程中的准确率、召回率、MAP值变化曲线如图7所示。遮挡问题是造成母猪行为识别精度低的主要原因之一。当母猪相互遮挡时,母猪目标轮廓缺失,特征提取困难,图7(a)为原始数据集训练出的结果,图7(b)为添加了CBAM注意力模块后训练出的结果图。

表3 2种模型的训练结果对比表Table 3 Comparison table of training results of the two models

图7 2种模型的训练过程对比图Fig.7 Comparison chart of the training process of the two models

由图7(a)可以看出,原始数据集训练出的结果图波动大,在YOLOv5s模型中添加CBAM注意力模块,提高对遮挡母猪的检测效果,模型准确率等都有了提升,最终的训练结果如图7(b)所示。

从图7(b)可以看出,优化后的数据集在前50轮训练中,模型的Precision、Recll和mAP值上升较快,在300轮时已经达到比较高的精度,最终检测的精度值较高,达到97.58%,召回率为89.69%。

实际检测结果如图8所示,针对部分遮挡的情况,图中所示预测框的置信度较高,可以作为母猪状态的判定依据。

图8 母猪相互遮挡情况下的实际检测结果Fig.8 Actual test results with sows shielding each other

3 结论与讨论

本研究为实现母猪智能化养殖,对母猪行为进行识别,针对母猪行为检测,建立了一种基于YOLOv5s的检测模型,避免了人猪接触产生的应激反应,有效提高了检测效率,减少人工成本,降低工人工作强度,通过引入CBAM注意力机制,使训练模型基本可以识别遮挡情况下猪的不同行为,且置信度相对较高,训练精度提升了1.23%。在今后的研究中可以针对母猪动作变化以及各种行为持续时间判断母猪状态,从而实现智能化养殖。

猜你喜欢
猪只注意力母猪
降低日粮粗蛋白并添加单体氨基酸对断奶—育肥猪生长性能和营养排泄的影响(中)
能繁母猪存栏半年减少235万头
让注意力“飞”回来
母猪补血的必要性
猪胃溃疡的病因与防治措施
如何防治母猪乳房炎
秋冬季防应激不可忽略饮水消毒
猪只硒缺乏症的预防措施和治疗方法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things