基于改进YOLO v8s的羊只行为识别方法

王 旺1 王福顺1,2 张伟进1 刘红达1 王 晨1 王 超1,2 何振学1,2

(1.河北农业大学信息科学与技术学院, 保定 071001;2.河北省农业大数据重点实验室, 保定 071001)

摘要:羊只站立、行走、采食等日常行为与其健康状况密切相关,高效、准确的羊只行为识别有助于疾病检测,对实现羊只健康预警具有重要意义。针对目前羊只多行为识别检测大多基于传感器等接触式设备,羊只活动受限,行为具有局限性,且群体养殖环境下,羊只行为多样、场景复杂、存在遮挡等造成的行为识别精度低等问题,提出了一种基于改进YOLO v8s的羊只行为识别方法。首先,引入SPPCSPC空间金字塔结构增强了模型的特征提取能力,提升了模型的检测精度。其次,新增P2小目标检测层,增强了模型对小目标的识别和定位能力。最后,引入多尺度轻量化模块PConv和EMSConv,在保证模型识别效果的同时,降低了模型参数量和计算量,实现了模型轻量化。实验结果表明,改进YOLO v8s模型对羊只站立、行走、采食、饮水、趴卧行为平均识别精度分别为84.62%、92.58%、87.54%、98.13%和87.18%,整体平均识别精度为90.01%。与Faster R-CNN、YOLO v5s、YOLO v7、YOLO v8s模型相比,平均识别精度分别提高12.03、3.95、1.46、2.19个百分点。研究成果可为羊只健康管理和疾病预警提供技术支撑。

关键词:羊; 行为识别; YOLO v8s; 轻量化

0 引言

羊作为我国北方主要畜牧品种,其庞大的养殖规模对羊只疾病防控具有更高的要求。但传统粗放的养殖环境容易造成羊传染性疾病的发生,且缺乏对羊只疾病预警的高效手段,导致羊只患病死亡率急剧上升,造成巨大的经济损失[1]。多项研究指出,畜禽行为能够有效反映其健康状态和环境适应能力[2-3],依据行为以及外观上可辨认的变化对其进行健康检测具有一定的科学性[4-6]。养殖过程中羊只行为的改变通常预示着羊只出现异常状态,如饮水行为减少可能是腹痛的表现[7-8],运动减少或过度活跃可能是疾病和痛苦的表征[9],反常的躺卧时间被证明是反刍动物跛行的标志[10]。因此,如何高效、精准识别羊只行为,实现羊只健康管理和疾病预警成为羊养殖产业亟待解决的问题。

目前,畜禽行为识别方法主要分为接触式的物联网监测方法[11-12]和非接触式的计算机视觉识别方法[13]。但接触式设备不仅会对畜禽的身体造成不可逆的伤害,而且容易在使用过程中受到碰撞,导致灵敏度降低、使用寿命缩短,产生较高的成本。而基于非接触式的计算机视觉识别方法因具有无损、无应激、成本低、受环境影响较小等优点在畜禽行为研究领域具有广阔的应用前景。

深度学习技术以其强大的自适应性和对复杂数据的处理能力,为提升行为识别精度带来可能,而被广泛应用于畜禽行为识别。在对畜类的研究中,宋怀波等[14]通过ECA-YOLO v5s实现遮挡肉牛目标的识别。王政等[15]通过融合YOLO v5n与剪枝算法实现奶牛发情行为的识别。薛鸿翔等[16]通过改进YOLO v5s模型实现经产母猪发情行为的识别。季照潼等[17]通过改进YOLO v4模型实现对猪只躺卧、站立、进食、坐立和侵略性行为的识别。白强等[18]通过改进YOLO v5s模型实现奶牛站立、喝水、行走、躺卧等日常行为的识别。段青玲等[19]通过SNSS-YOLO v7实现肉牛爬跨、躺卧、探究、站立、运动、舔砥和互斗行为的识别。在禽类研究中,郭建军等[20]通过改进YOLO v4模型实现肉鸽梳羽、亲吻、互动、展翅行为的识别。刘璎瑛等[21]通过改进YOLO v4模型实现复杂场景下肉鹅站立、休憩、饮水、梳羽行为的识别。杨断利等[22]通过改进YOLO v6-tiny模型实现蛋鸡啄羽行为的识别。

在羊只行为识别研究方面,文献[23-29]通过三轴加速度、三轴陀螺仪、音频记录器等穿戴式设备,分别对绵羊行走、站立、进食、反刍等行为进行监测,研究发现,穿戴设备虽然对绵羊单个行为的识别准确率较高,但在同一时间识别多个行为的准确率较低,且需要准确布署到羊只特定部位,应用时存在一定局限性。刘艳秋等[30]通过K-means-BPNN实现母羊产前运动行为(包括趴卧、站立、行走、刨地)识别,识别率分别为99.2%、85.7%、88.9%、80.0%,尽管该方法在多行为识别方面达到了较高的准确率,但仍采用三轴加速度传感器等接触式技术,在一定程度上限制了母羊产前运动,影响母羊分娩。陆明洲等[31]通过EfficientDet实现湖羊咀嚼行为识别,识别率高达96.70%,但该方法更侧重于单目标识别。综合分析,目前对于羊只行为识别的研究已有一定基础,但较其他畜禽研究相对滞后。此外,高精度识别的实现大多依赖接触式设备,对羊只正常活动造成一定干扰,导致羊只身体不适,不利于实现羊只福利化养殖的目标。而基于非接触式方法进行羊只多种行为识别的研究文献较少。因此,基于深度学习方法的羊只行为识别研究急需加强,从而进一步提高羊只行为识别精度。

本研究基于深度学习技术,提出一种改进YOLO v8s模型进行羊只站立、趴卧、行走、采食、饮水等5种基本行为的识别。针对外部环境或羊只个体造成遮挡现象的问题,融入SPPCSPC结构以增强模型融合、提取不同行为特征信息的能力。针对羊只与监控距离造成图像存在小目标的问题,新增小目标检测层增强模型对小目标的识别效果,减少目标漏检情况。针对模型改进后引起模型参数量、计算量增大的问题,引入基于部分卷积(Partial convolution,PConv)的C2f-Faster和基于多尺度轻量化模块(Efficient multi-scale Conv,EMSConv)的Detect-EMSConv,实现模型轻量化。

1 数据采集与预处理

1.1 数据采集

本实验所用羊只图像于2023年3月5日—6月20日在河北省衡水市志豪畜牧科技有限公司羊只养殖基地采集。采集设备为海康威视平角摄像头(分辨率1 920像素×1 080像素,有效像素200万,视频帧率25 f/s),分布于羊场的饲喂圈舍、保育圈舍、活动广场等不同位置,通过视频管理软件EZstation进行视频监控和管理,部分监控画面如图1 所示。夜间羊只多处于休眠状态,动作单一,且成像昏暗、曝光度不足、噪声明显,图像价值低。为获取清晰的羊只影像,视频采集时间定于08:00—18:00之间,从中截取羊只行为密集的视频片段,用于获取羊只行为图像。本研究选择羊只站立、行走、趴卧、采食、饮水等5种可以反映羊只健康状况的基本行为,其行为描述如表1所示,行为示例如图2所示。在无外界干扰情况下,羊只行动较慢,动作幅度较小,取帧时间间隔过短容易造成数据重复性高。因此,将取帧间隔时间设置为5 s,以增大图像间羊只行为差别。

表1 羊只行为描述

Tab.1 Description of sheep behaviors

行为名称行为描述标签站立羊只保持前双腿、后双腿或四腿呈现平行姿态,身体不接触地面,颈部向前或向上伸展stand行走羊只前双腿和后双腿同时呈现交替姿态,腿部向上抬起,脚掌离开地面且颈部向前伸展walk趴卧羊只四肢和腹部同时接触地面,四肢呈弯曲姿态,头部向前伸展sit采食前双腿、后双腿或四腿呈现平行姿态,颈部向下低伸,头部接触地面eat饮水羊只走到固定水槽,颈部向前伸展,头部伸到水槽中drink

图1 不同位置监控拍摄画面

Fig.1 Surveillance footage from different locations

图2 羊只行为示例

Fig.2 Sheep behavior samples

1.2 数据预处理

将提取的图像进行数据清洗,去除模糊、相似度过高及无羊图像,利用清洗后的图像构建羊只行为数据集。通过图像标注工具LabelImg对数据集图像中的5种行为进行标注,并将标注信息保存至与图像名称对应的txt文件中。将标注好的数据集图像和保存标注信息的txt文件按照比例8∶1∶1划分为训练集、验证集和测试集。对训练集图像进行随机裁剪、缩放、镜像、旋转、平移等图像增强处理,以增加图像多样性,提升模型泛化能力。数据集构建流程如图3所示。

图3 数据集构建流程图

Fig.3 Flowchart of data set construction

经处理,羊只行为识别数据集共包括3 012幅图像。标注结果中5种行为类别的标注框数量存在一定差异,如图4所示。由于羊只大部分时间处于站立或趴卧状态,采食时间集中,且持续时间长,因此,站立、趴卧和采食行为的标注框数量最多。与其他行为相比,羊只饮水行为持续时间较短,频率较低,且没有显著规律,因此饮水行为的标注框数量最少。各类行为标注框数量与羊只日常行为分布情况相吻合,可以较好地反映羊只行为分布特点。

图4 各行为标注框数量分布

Fig.4 Number distribution of each behavior label box

2 羊只行为识别模型建立

2.1 YOLO v8s网络结构

YOLO v8s网络结构主要由4部分组成,分别为Input、Backbone、Neck、Head。Input用来输入目标图像,用于模型的训练;Backbone作为模型的骨干网络,主要负责提取图像中不同大小和不同类别的目标特征信息。常用的骨干网络包括Darknet、ResNet等,通过一系列卷积和池化层逐步提取图像特征;Neck将骨干网络提取到的特征信息进行融合,增强网络的表达能力;Head利用不同特征之间的关联对不同尺寸的图像进行类别预测、位置回归等任务。

YOLO v8是在YOLO v5上的一次更新,相较于YOLO v5s,YOLO v8s将YOLO v5s的C3结构替换为更丰富的C2f结构。在C2f结构中,特征图被分成两部分,其中一部分经过一系列Bottleneck模块的处理,与另一部分融合。这种特征融合方式使得检测网络能够同时充分利用低分辨率和高分辨率特征,从而更好地捕捉目标的语义信息和细节特征,提升了整体性能。此外,YOLO v8s在Head检测头方面,原来的耦合头(Coupled head)结构转换为解耦合头(Decoupled head)结构,用于从检测网络的特征图中提取目标位置和类别信息。二者结构如图5所示。从图5中可以看出,耦合头直接将输出的特征图输入到卷积层和全连接层,而解耦合头将目标位置和类别信息分别提取出来,通过不同的网络分支进行学习,最后进行融合,不仅减小了模型计算量,同时增强了模型泛化能力。另外,YOLO v8s对损失函数、框匹配策略等方面都进行了设计和改进,使目标检测任务性能得到了显著提升。

图5 解耦合头和耦合头结构框图

Fig.5 Structures of decoupled head and coupled head

2.2 YOLO v8s模型优化

2.2.1 融入SPPCSPC结构

羊只生活环境复杂,采集到的部分视频帧图像中存在遮挡现象。遮挡因素主要分为羊舍围墙、围栏等外部环境遮挡;个体之间相互遮挡。无论是外部环境还是羊只个体之间相互遮挡,都会造成图像中羊只有效区域存在缺失,导致模型识别羊只行为过程中,提取到的特征信息存在缺陷,进而影响模型识别效果。

为了解决上述问题,本文引入SPPCSPC结构[32],并将其融合至YOLO v8s框架中的特征提取层(Backbone)中。SPPCSPC结构通过空间金字塔池化部分进行改进,扩展了模型感受野,丰富了羊只不同行为的特征信息,进一步增强了模型在提取和融合不同行为有效特征信息方面的能力。SPPCSPC结构如图6所示。

图6 SPPCSPC结构图

Fig.6 Structure diagram of SPPCSPC

SPPCSPC结构基于CSP模块构建了一个新的框架。在特征处理阶段首先将特征分为2个分支进行处理,其中一条分支直接进行卷积操作,另一条分支则进入SPP结构。SPP结构利用最大池化操作获得不同感受野,从而适应不同分辨率的图像。在SPP结构内部,首先经过3次卷积操作,进一步增强了特征的表达能力,有助于提升目标检测的准确性。然后,经过4次最大池化操作,分别使用1×1、5×5、9×9和13×13大小的卷积核,通过在不同尺度上执行池化操作,捕捉到不同大小目标的局部和全局上下文信息,生成多尺度的特征图。最后,将这些不同尺度的特征图进行拼接,形成一个更丰富的特征表示。

2.2.2 新增P2小目标检测层

在数据集制作过程中,随着羊只与监控设备之间的距离不断变化,羊只在视频中的成像分辨率也会发生变化,因此会造成数据集中存在少量小目标。对于小目标,其尺寸通常较小,而YOLO v8s的特征提取网络采用多个步幅的特征层来预测不同尺度的目标框,下采样倍数比较大,较深的特征图已经丢失了小目标的细节信息,难以捕捉到小目标样本的特征,导致小目标样本难以预测,影响检测效果。为了解决下采样带来的小目标信息丢失,导致模型在较深的特征图中很难精准定位和识别小目标这一问题,在模型Head部分引入更浅的特征层P2,如图7所示,使模型在更早阶段获取高分辨率小目标的特征信息。通过融合不同尺寸目标的高分辨率特征图,模型能够更好地感知小目标的细节信息,同时利用高层特征图的语义信息和低层特征图的细节信息,从而提高对大目标和小目标的检测能力。

图7 特征层结构图

Fig.7 Structure diagram of characteristic

2.3 YOLO v8s-SP2模型轻量化

YOLO v8s-SP2通过融入SPPSCSPC结构和新增小目标检测层P2,提升了模型对羊只不同行为识别的精度,但模型参数量和计算量也大幅度增加。为了降低YOLO v8s-SP2模型参数量和计算量、优化特征提取模块,引入基于PConv的C2f_Faster模块和基于EMSConv的Detect-EMSConv模块对模型进行改进。

2.3.1 基于PConv的C2f_Faster模块

C2f模块在特征提取过程中,特征图在不同通道之间表现出高度相似性。PConv提供了一种更轻量、高效的替代方案。PConv的核心思想是在特定通道上应用常规卷积,同时在其他通道上保持输入不变,其目的是同时减少内存访问和计算冗余,从而提高卷积神经网络的效率。并将第1个或最后1个连续的通道视为整个特征图的代表进行计算,减少了内存访问的复杂性,提高计算效率。因此,采用PConv来对特定通道的特征图进行特征提取,PConv原理如图8所示。

图8 PConv原理图

Fig.8 Schematic of PConv

PConv内存访问量Params和浮点运算量(FLOPs)的计算公式为

(1)

(2)

式中 hw——特征图高、宽

k——卷积核尺寸

FLOPs——浮点运算量

cp——PConv作用的通道数

其中PConv的内存访问量仅为常规卷积的1/4,其余的c-cp个通道不参与计算,无需进行内存访问,所以PConv的浮点运算量仅为常规卷积的1/16,能够有效降低模型参数量和浮点运算量。

在C2f模块中,Bottleneck部分采用2个1×1的卷积操作,其中一个用于增加维度,另一个用于降低维度。这一设计的目的是减少参数数量,从而降低计算负担。在C2f模块的Bottleneck结构中一条卷积分支上引入PConv,并将该Bottleneck部分命名为FasterBlock。当特征图通过FasterBlock时,PConv减少相似特征图通道数量,降低了参与计算的参数量,计算复杂度也得到降低。输出特征图接着传递到两个1×1的卷积核中,确保在降维之后,数据可以进行有效且直观的训练和特征提取。这一设计使得C2f_Faster在特征提取时变得更加轻量化,进一步提高了模型检测效率,C2f_Faster结构如图9所示。

图9 C2f_Faster结构图

Fig.9 Structure diagram of C2f_Faster

2.3.2 基于EMSConv的Detect-EMSConv模块

Detect检测层用来提取目标特征,将提取到的特征进行融合,并对不同尺度的目标进行输出。使用常规卷积提取目标特征,输入的特征图全部参与通道计算,不可避免地提取到相似特征或无用特征,之后将提取到的全部特征进行融合,不仅会降低模型识别效果,而且降低了模型效率。

多尺度轻量化模块EMSConv采用分支策略,一方面,减少参与计算的通道数量降低了模型运算量,另一方面,参与计算的通道采取多分支特征提取,使模型提取不同尺度的羊只行为特征信息,能够更好地捕捉目标的多样性,使模型在保证检测性能的前提下减少需要处理的通道数,进而降低模型计算复杂度。因此,采用EMSConv替代Detect中的Conv,降低参与计算通道数的同时,多尺度提取参与特征图计算的特征,Detect-EMSConv轻量化策略如图10所示。

图10 Detect-EMSConv轻量化策略

Fig.10 Lightweight strategy of Detect-EMSConv

EMSConv得到特征图后,将输入的通道数分成两部分。一部分通道被直接传递,而另一部分通道EMSConv将其进一步分成2个分支,分别通过3×3和5×5卷积核进行多分支特征提取。由于每个分支在单一的特征通道上独立操作,因此各通道之间的特征信息是相互独立的。之后EMSConv模块使用卷积核为1×1的逐点卷积,对特征通道进行升维或降维,从而使每个通道的特征信息相互融合,同时保持输出通道数与输入通道数相等。

这一改进采取通道的分割策略,减少需要处理的通道数量,降低了计算成本,使得模型能够在减小模型复杂度的同时,保持良好的检测性能。通过合理的特征提取和融合,模型能够更好地理解和捕捉图像中的目标信息,从而提高了模型的效率和实用性。

2.4 多尺度视觉识别轻量化模型构建结果

在YOLO v8s的基础上,引入SPPCSPC结构有助于模型在不同尺度上捕获羊只目标行为的特征,丰富特征表示;新增小目标检测层P2使模型更适用于小目标物体的检测,构建模型YOLO v8s-SP2,进一步提高模型的精度和鲁棒性,实现模型对羊只不同行为识别性能的优化;再引入多尺度轻量化模块PConv和EMSConv,在保证模型识别羊只不同行为精度的同时,降低模型的参数量和计算量,实现模型轻量化。据此构建多尺度视觉识别轻量化模型YOLO v8s-SP2-tiny,其结构如图11所示。

图11 YOLO v8s-SP2-tiny结构图

Fig.11 Structure diagram of YOLO v8s-SP2-tiny

2.5 参数设置

本实验中所有模型的改进与运行都是在同一服务器上,服务器配置如表2所示。不同版本的模型除了模型结构不同,参数设置均相同。迭代周期为400;早停的等待轮次为50,防止模型过拟合;每批次处理的图像数量为16;输入图像高和宽为640像素;训练运行的设备为GPU;数据加载时的工作线程数为8;以Adamax优化器作为调整模型参数最小化损失函数;动量参数(momentum)为0.937;设置随机种子为0,实现可重复性,确保每次运行时的随机过程保持一致,以便复现结果。

表2 服务器配置与运行环境

Tab.2 Server configuration and operating environment

硬件配置运行包版本操作系统Windows 10Python3.7.16CPUIntel(R) Core(TM) i913900KPyTorch1.13.0GPUNVIDIA GeForce RTX 3090Cuda11.6

2.6 评价指标

本研究通过平均精度均值(mAP50、mAP50:95)、精确率、召回率和F1值来描述不同模型识别羊只不同行为的效果。mAP表示模型识别所有行为类别的平均精度平均值;mAP50表示在考虑了模型在不同类别上的平均精度后,针对预测框与真实框重叠的面积比IoU(Intersection over Union)为0.5,计算模型平均精度;mAP50:95是指以0.05为步长,在IoU阈值为0.5~0.95时所得的结果。

在模型评估方面,选用平均识别准确率、参数量、浮点运算量、内存占用量以及帧速率评估模型识别羊只行为的效果。平均识别准确率是评估模型性能的重要指标。通过对不同行为类别的预测结果计算平均准确率,可以了解模型在整体上对所有羊只行为的分类表现;参数量可以反映模型复杂度,较少的参数通常意味着模型更轻量;模型在内存中的占用空间同样需要考虑,较低的内存占用量对于资源受限的设备尤为关键;帧速率表示模型推理速度,即模型每秒可以处理的图像帧数,高帧速率模型对于羊只行为实时监测和分析尤为重要。

3 结果分析

3.1 YOLO v8s-SP2优化

融入SPPCSPC结构可增大模型的感受野,使YOLO v8s-SPPCSPC模型能够更好地捕捉不同尺度目标的特征信息;在YOLO v8s-SPPCSPC基础上,引入P2输出层,更早阶段输出小分辨率目标的特征信息,使YOLO v8s-SP2模型能够更好地捕捉小目标的行为特征。对比YOLO v8s-SPPCSPC和YOLO v8s模型,YOLO v8s-SP2模型在不同羊只行为的识别准确率和召回率上都实现了不同程度的提升,效果明显,如表3所示。

表3 YOLO v8s-SP2与YOLO v8s-SPPCSPC、YOLO v8s模型效果对比

Tab.3 Comparison of YOLO v8s-SP2, YOLO v8s-SPPCSPC and YOLO v8s %

模型平均精度standwalkeatdrinksit精确率召回率mAP50mAP50:95YOLO v8s82.8292.4884.7095.7883.3483.8780.4087.8274.92YOLO v8sSPPCSPC84.0392.7785.4496.8486.1183.6483.0489.0477.94YOLO v8sSP284.5493.5487.1897.4487.4482.2686.4590.0378.35

从表3中可以明显看出,相对于YOLO v8s模型,改进后的YOLO v8s-SPPCSPC对羊只5种行为的识别都取得了不同程度的提升,特别是对于趴卧行为,模型平均识别精度提升幅度最为显著,提高2.77个百分点。这意味着加入SPPCSPC结构的模型在捕捉趴卧行为的特征上有更强的能力,整体mAP50从87.82%提升到89.04%,提升1.22个百分点,在mAP50:95方面,整体上提升3.02个百分点。

在融入SPPCSPC结构的基础上,引入小目标检测层P2后的YOLO v8s-SP2模型对比YOLO v8s、YOLO v8s-SPPCSPC模型,具有更好的识别效果。具体而言,相对于YOLO v8s-SPPCSPC,YOLO v8s-SP2在站立、行走、采食、饮水、趴卧行为的平均精度分别提高0.51、0.77、1.74、0.60、1.33个百分点。可以看出,加入小目标检测层后,YOLO v8s-SP2对羊只行为识别的准确率均有提升,但由于饮水行为较少,且小目标图像分辨率低,羊只站立与行走行为相似度较高,导致模型对此3种行为的识别准确率提升较小。相对于YOLO v8s,YOLO v8s-SP2在mAP50和mAP50:95上分别提升2.21、3.43个百分点,同时模型召回率也得到显著提升,进一步验证了加入P2检测层对小目标的提升效果。

3.2 YOLO v8s-SP2-tiny轻量化结果分析

通过引入多尺度轻量化模块PConv和EMSConv,将优化后的C2f_Faster和Detect-EMSConv嵌入到YOLO v8s-SP2中,在YOLO v8s-SP2的基础上,构建轻量化模型YOLO v8s-SP2-tiny,二者参数对比如表4所示,精度对比如表5所示。

表4 YOLO v8s-SP2-tiny与YOLO v8s-SP2性能对比

Tab.4 Comparison of property between YOLO v8s-SP2-tiny and YOLO v8s-SP2

注:√表示使用该模块,×表示不使用该模块。

模型C2f_FasterDetectEMSConv参数量浮点运算量YOLO v8sSP2××1.707×1074.21×1010YOLO v8sSP2tiny√×1.417×1073.37×1010√√1.426×1072.51×1010

表5 YOLO v8s-SP2-tiny与YOLO v8s-SP2效果对比

Tab.5 Comparison of YOLO v8s-SP2-tiny and YOLO v8s-SP2 %

模型平均精度standwalkeatdrinksit精确率召回率mAP50mAP50:95YOLO v8sSP284.5493.5487.1897.4487.4482.2686.4590.0378.35YOLO v8sSP2tiny84.6292.5887.5498.1387.1883.6384.4490.0177.96

由表4可知,YOLO v8s-SP2模型相对于YOLO v8s模型引入了SPPCSPC和P2模块,导致模型参数量和浮点运算量相应增加。对YOLO v8s-SP2进行轻量化后,YOLO v8s-SP2-tiny模型参数量降低2.81×106,浮点运算量降低1.70×1010

对YOLO v8s-SP2模型进行轻量化处理的过程分为:首先,引入基于轻量化模块PConv的C2f_Faster,通过这一优化,模型参数量从1.707×107降低到1.417×107,浮点运算量从4.21×1010降低到3.37×1010。其次,将基于多尺度轻量化EMSConv的Detect-EMSConv嵌入到模型中,模型浮点运算量进一步得到降低,从3.37×1010降低到2.51×1010。由于EMSConv内部卷积核数量的增加,导致模型参数量从1.417×107增加到1.426×107,仅增加9.00×104。相较于计算量减少所带来的模型增益,参数量增多所带来的损失可忽略不计。

根据表5对模型识别精度分析,构建的轻量化模型YOLO v8s-SP2-tiny对羊只行为仍具有较高的识别精度。在羊只整体行为的平均识别精度上,轻量化模型YOLO v8s-SP2-tiny略低于YOLO v8s-SP2,在mAP50和mAP50:95上的差异仅为0.02、0.39个百分点,这表明轻量化模型的识别效果降低并不明显。然而,针对羊只单个行为,轻量化模型YOLO v8s-SP2-tiny在羊只饮水行为的识别精度提升最明显,增加0.69个百分点。相反,对于羊只行走行为,轻量化模型的识别精度下降最为明显,降低0.96个百分点,这是由于饮水行为相对简单,而行走行为更为复杂,影响了轻量化模型YOLO v8s-SP2-tiny的识别效果。

综上所述,YOLO v8s-SP2-tiny不仅参数量和计算量得到显著降低,而且对羊只不同行为的平均识别精度达90.01%,保证了模型对羊只行为识别精度,能够更好地完成对羊只不同行为的识别。

3.3 多尺度视觉识别轻量化模型效果

轻量化模型YOLO v8s-SP2-tiny与YOLO v8s对比以及对YOLO v8s优化后的YOLO v8s-SP2对比,在降低参数量和浮点运算量的同时,依然对羊只不同行为有着较高的识别精度,模型对比如表6所示。

表6 YOLO v8s-SP2-tiny与YOLO v8s-SP2、YOLO v8s模型识别效果对比

Tab.6 Comparison of YOLO v8s-SP2-tiny, YOLO v8s-SP2 and YOLO v8s

模型平均精度/%standwalkeatdrinksitmAP50/%mAP50:95/%参数量浮点运算量YOLO v8s82.8292.4884.7095.7883.3487.8274.921.110×1072.87×1010YOLO v8sSPPCSPC84.0392.7785.4496.8486.1189.0477.941.114×1072.87×1010YOLO v8sSP284.5493.5487.1897.4487.4490.0378.351.707×1074.21×1010YOLO v8sSP2tiny84.6292.5887.5498.1387.1890.0177.961.426×1072.51×1010

根据表6可以看出,YOLO v8s在加入SPPCSPC和P2模块后,YOLO v8s-SP2模型在羊只不同行为识别方面取得了显著提升。整体平均识别精度mAP50达到90.03%,相较于YOLO v8s,提高2.21个百分点。

在YOLO v8s-SP2的基础上,引入基于PConv的C2f_Faster和基于EMSConv的Detect-EMSConv两个轻量化结构,将YOLO v8s-SP2-tiny模型参数量降至1.426×107,浮点运算量也减少到2.51×1010。经过轻量化处理,YOLO v8s-SP2-tiny仍然能够保持高水准的识别性能,对stand、walk、eat、drink和sit等5种行为识别精度分别达到84.62%、92.58%、87.54%、98.13%和87.18%,mAP50达到90.01%。相较于YOLO v8s-SP2,mAP50只降低0.02个百分点,但相对于YOLO v8s,显著提高2.19个百分点。

此外,YOLO v8s-SP2-tiny的轻量化设计有效地减少了模型参数量和计算量,参数量降低2.81×106,浮点运算量降低1.70×1010。尤其是在浮点运算量方面,YOLO v8s-SP2-tiny相对于其他模型表现最出色,比YOLO v8s的浮点运算量低3.60×109,极大地提高了模型计算效率。

综上所述,YOLO v8s-SP2-tiny在识别效果和计算效率方面表现出色,不仅有效减少了模型参数量和计算量,提高了计算效率,还保证了模型检测性能,对羊只不同行为的平均识别精度达到90.01%。因此,无论从识别效果还是计算效率来看,YOLO v8s-SP2-tiny都明显优于其他模型。

3.4 模型对比

为了验证YOLO v8s-SP2-tiny模型对羊只不同行为有更好的识别效果,将其与Faster R-CNN、YOLO v5s、YOLO v7的各项评估指标进行比较。使用相同的训练集与测试集,不同模型对羊只不同行为的识别效果对比如表7所示。在识别效果的基础上,不同模型性能对比如表8所示。

表7 不同模型识别结果对比

Tab.7 Comparison of different model identification results %

模型平均精度standwalkeatdrinksit精确率召回率F1值mAP50mAP50:95Faster RCNN75.2685.3772.2493.8063.2547.9489.7061.2077.9851.01YOLO v5s79.4291.1582.5296.0181.1883.8480.1281.9286.0671.42YOLO v782.4492.0884.4397.9885.8282.3383.5182.2988.5578.03YOLO v8s82.8292.4884.7095.7883.3483.8780.4082.0987.8274.92YOLO v8sSP2tiny84.6292.5887.5498.1387.1883.6384.4484.0390.0177.96

表8 不同模型性能对比

Tab.8 Comparison of performance between different models

模型mAP50/%mAP50:95/%参数量浮点运算量内存占用量/MB帧速率/(f·s-1 )Faster RCNN77.9851.011.1032×1083.832×1011108.068.23YOLO v5s86.0671.427.020×1061.600×101013.6434.78YOLO v788.5578.033.720×1071.030×101171.3135.14YOLO v8s87.8274.921.111×1072.870×101021.4175.43YOLO v8sSP2tiny90.0177.961.426×1072.510×101027.3256.41

由表7可得,Faster R-CNN的平均识别精度相对于其他模型效果最差。比较YOLO模型系列,从单独行为的识别率以及整体识别率来看,YOLO v5s表现最差。YOLO v7与YOLO v8s相比,mAP50、mAP50:95分别提高0.73、3.11个百分点。同时YOLO v7模型在mAP50:95方面相对于其他模型效果也是最好的,mAP50:95为78.03%,因为YOLO v7的模型参数量远大于其他模型,从而取得了更好的识别效果。在整体上,轻量化模型YOLO v8s-SP2-tiny相较于YOLO v5s、YOLO v7、YOLO v8s模型,mAP50分别提高3.95、1.46、2.19个百分点。同时,YOLO v8s-SP2-tiny模型在准确率、召回率和F1值上也取得最高水平,分别达到83.63%、84.44%和84.03%,mAP50和mAP50:95分别为90.01%和77.96%。与YOLO v5s、YOLO v7和初始YOLO v8s模型相比,无论是从单个行为还是整体性能来看,YOLO v8s-SP2-tiny模型都展现出更优秀的识别效果。

综上所述,通过对不同模型的综合比较分析,YOLO v8s-SP2-tiny模型在识别效果上表现出色,其在各项指标中均取得了最佳结果,不论是单一行为识别还是整体平均识别精度方面都表现出更优越的性能。

由表8可得,Faster R-CNN内存占用量最大,浮点运算量和参数量最高,但是识别效果最差。对比YOLO模型,YOLO v8s-SP2-tiny比其他模型更具有优势。YOLO v5s具有最低的参数量和浮点运算量。YOLO v8s-SP2-tiny经过优化和轻量化处理,相对于YOLO v8s,其参数量稍稍增加,但浮点运算量比YOLO v8s低。而YOLO v7具有较高的参数量和浮点运算量。但高参数量和浮点运算量并不意味着更好的识别效果,YOLO v8s-SP2-tiny在识别性能方面表现更为优越,且参数量和浮点运算量都比YOLO v7低。通过对不同模型的识别效果比较分析,YOLO v8s-SP2-tiny不论是对羊只单一行为识别还是整体行为识别都表现出更优越的性能。通过对不同模型性能对比分析,YOLO v8s-SP2-tiny在性能和综合指标上都表现出色,特别是浮点运算量,比YOLO v8s更低。因此,本文提出的YOLO v8s-SP2-tiny性能优于其他模型。

为了更直观地体现不同模型识别效果,在测试集随机挑选1幅图像,将其输入到各个模型中进行羊只行为识别,不同模型识别效果如图12所示。

图12 不同模型识别羊只行为效果

Fig.12 Identify effects of sheep behavior between different models

从图12中可以看出,Faster R-CNN识别存在不足,如图12a所示,将某一处背景识别为采食行为,一种行为识别成两种行为,模型识别效果明显较差。

对比YOLO模型,YOLO v5s模型检测行为目标置信度比较低,甚至将行走行为错误检测为站立行为。YOLO v7与YOLO v5s一样,出现了行为识别错误的现象,但是不同的是,当YOLO v7检测到正确行为时,目标置信度比较高。YOLO v8s识别准确率比YOLO v7高一些,但行为目标置信度比YOLO v7略低。YOLO v8s-SP2-tiny不仅能够正确检测不同的行为目标,且在目标置信度上也比其他模型高。故YOLO v8s-SP2-tiny无论从实验数据上看,还是从识别图像结果来看,均优于其他模型识别能力。

4 结论

(1)羊只的不同尺度及遮挡导致有效特征区域缺失,为增强模型在复杂场景下的识别能力,引入SPPCSPC模块;为加强模型对小目标的识别能力,新增P2小目标检测层,使模型更早获取高分辨率小目标的特征信息,优化后的YOLO v8s-SP2比YOLO v8s提高1.22个百分点。

(2)对YOLO v8s-SP2进行轻量化处理,C2f_Faster和Detect-EMSConv的加入,不仅降低了模型参数量和浮点运算量,还保证了对羊只不同行为的识别效果,对羊只站立、行走、采食、饮水、趴卧行为识别平均精度分别达到84.62%、92.58%、87.54%、98.13%和87.18%,整体识别平均精度均值达到90.01%。

参考文献

[1] 王翀,杨金勇,夏月峰,等.浙江省肉牛肉羊产业分析及养殖现状调研[J].畜牧与兽医,2017,49(3):111-115.WANG Chong, YANG Jinyong, XIA Yuefeng, et al. Investigation on industrial analysis and breed aquatics existing state of the cattle and sheep in Zhejiang Province[J]. Animal Husbandry &Veterinary Medicine,2017, 49(3): 111-115.(in Chinese)

[2] 张宏鸣,孙扬,赵春平,等.反刍家畜典型行为监测与生理状况识别方法研究综述[J]. 农业机械学报, 2023, 54(3): 1-21.ZHANG Hongming, SUN Yang, ZHAO Chunping, et al. Review on typical behavior monitoring and physiological condition identification methods for ruminant livestock[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(3): 1-21.(in Chinese)

[3] 张曦宇, 宣传忠, 武佩, 等. 基于声信号的畜禽行为信息监测研究进展[J]. 黑龙江畜牧兽医, 2017(11): 63-68.ZAHNG Xiyu, XUAN Chuanzhong, WU Pei, et al. Review on monitoring technology for behaviors of livestock and poultry based on acoustic signals[J]. Heilongjiang Animal Science and Veterinary Medicine, 2017(11): 63-68.(in Chinese)

[4] 汪开英, 赵晓洋, 何勇. 畜禽行为及生理信息的无损监测技术研究进展[J]. 农业工程学报, 2017, 33(20): 197-209.WANG Kaiying, ZHAO Xiaoyang, HE Yong. Review on noninvasive monitoring technology of poultry behavior and physiological information[J]. Transactions of the CSAE, 2017, 33(20): 197-209.(in Chinese)

[5] LARSEN M LV, WANG M Q, TOMAS N. Information technologies for welfare monitoring in pigs and their relation to welfare quality[J]. Sustainability, 2021, 13(2): 692.

[6] WRATTEN S. Video techniques in animal ecology and behaviour[M]. Springer Science &Business Media, 1993.

[7] RICHESON J T, LAWRENCE T E, WHITE B J. Using advanced technologies to quantify beef cattle behavior[J]. Translational Animal Science, 2018, 2(2): 223-229.

[8] SCHWARTZKOPF-GENSWEIN K S, HUISMA C, MCALLISTER T A. Validation of a radio frequency identification system for monitoring the feeding patterns of feedlot cattle[J]. Livestock Production Science, 1999, 60(1): 27-31.

[9] KLEANTHOUS N, HUSSAIN A J, KHAN W, et al. A survey of machine learning approaches in animal behaviour[J]. Neurocomputing, 2022, 491: 422-463.

[10] CHARLTON G, GAULD C, VERONESI F, et al. Assessing the accuracy of leg mounted sensors for recording dairy cow behavioural activity at pasture, in cubicle housing and a straw yard[J]. Animals, 2022, 12(5): 638.

[11] CHEN G P, LI C, GUO Y, et al. Recognition of cattle’s feeding behaviors using noseband pressure sensor with machine learning[J]. Frontiers in Veterinary Science, 2022, 9: 822621.

[12] 张曦宇, 武佩, 宣传忠, 等. 基于加速度传感器的种公羊运动行为识别[J]. 中国农业大学学报, 2018, 23(11): 104-114.ZHANG Xiyu, WU Pei, XUAN Chuanzhong, et al. Recognition of the movement behavior of stud rams based on acceleration sensor[J]. Journal of China Agricultural University, 2018, 23(11): 104-114.(in Chinese)

[13] 王少华, 何东健. 基于改进YOLO v3模型的奶牛发情行为识别研究[J]. 农业机械学报, 2021, 52(7): 141-150.WANG Shaohua, HE Dongjian. Estrus behavior recognition of dairy cows based on improved YOLO v3 model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(7): 141-150.(in Chinese)

[14] 宋怀波, 李嵘, 王云飞, 等. 基于ECA-YOLO v5s网络的重度遮挡肉牛目标识别方法[J]. 农业机械学报, 2023, 54(3): 274-281.SONG Huaibo, LI Rong, WANG Yunfei, et al. Recognition method of heavily occluded beef cattle targets based on ECA-YOLO v5s[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(3): 274-281.(in Chinese)

[15] 王政, 许兴时, 华志新, 等. 融合YOLO v5n与通道剪枝算法的轻量化奶牛发情行为识别[J]. 农业工程学报, 2022, 38(23): 130-140.WANG Zheng, XU Xingshi, HUA Zhixin, et al. Lightweight recognition for the oestrus behavior of dairy cows combining YOLO v5n and channel pruning[J]. Transactions of the CSAE, 2022, 38(23): 130-140.(in Chinese)

[16] 薛鸿翔, 沈明霞, 刘龙申, 等. 基于改进YOLO v5s的经产母猪发情检测方法研究[J]. 农业机械学报, 2023, 54(1): 263-270.XUE Hongxiang, SHEN Mingxia, LIU Longshen, et al. Estrus detection method of parturition sows based on improved YOLO v5s[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(1): 263-270.(in Chinese)

[17] 季照潼, 李东明, 王娟, 等. 基于深度学习YOLO v4的舍养育肥猪行为识别[J]. 黑龙江畜牧兽医, 2021(14): 39-42, 151.JI Zhaotong, LI Dongming, WANG Juan, et al. Behavioral recognition of fattening pigs based on deep learning YOLO v4 model[J]. Heilongjiang Animal Science and Veterinary, 2021(14): 39-42, 151.(in Chinese)

[18] 白强, 高荣华, 赵春江, 等. 基于改进YOLO V5s网络的奶牛多尺度行为识别方法[J]. 农业工程学报, 2022, 38(12): 163-172.BAI Qiang, GAO Ronghua, ZHAO Chunjiang, et al. Multi-scale behavior recognition method for dairy cows based on improved YOLO V5s network[J]. Transactions of the CSAE, 2022, 38(12): 163-172.(in Chinese)

[19] 段青玲, 赵芷青, 蒋涛, 等. 基于SNSS-YOLO v7的肉牛行为识别方法[J]. 农业机械学报, 2023, 54(10): 266-274, 347.DUAN Qingling, ZHAO Zhiqing, JIANG Tao, et al. Behavior recognition of fattening pigs based on deep learning YOLO v4 model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(10): 266-274, 347.(in Chinese)

[20] 郭建军, 何国煌, 徐龙琴, 等. 基于改进YOLO v4的肉鸽行为检测模型研究[J]. 农业机械学报, 2023, 54(4): 347-355.GUO Jianjun, HE Guohuang, XU Longqin, et al. Pigeon behavior detection model based on improved YOLO v4[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(4): 347-355.(in Chinese)

[21] 刘璎瑛, 曹晅, 郭彬彬, 等. 基于改进YOLO v5复杂场景下肉鹅姿态的检测算法研究[J]. 南京农业大学学报, 2023, 46(3): 606-614.LIU Yingying, CAO Xuan, GUO Binbin. Research on detection algorithm about the posture of meat goose in complex scene based on improved YOLO v5[J]. Journal of Nanjing Agricultural University, 2023, 46(3): 606-614.(in Chinese)

[22] 杨断利, 王永胜, 陈辉, 等. 基于改进YOLO v6-tiny的蛋鸡啄羽行为识别与个体分类[J]. 农业机械学报, 2023, 54(5): 268-277.YANG Duanli, WANG Yongsheng, CHEN Hui, et al. Feather pecking abnormal behavior identification and individual classification method of laying hens based on improved YOLO v6-tiny[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(5): 268-277.(in Chinese)

[23] JIN Z, GUO L, SHU H, et al. Behavior classification and analysis of grazing sheep on pasture with different sward surface heights using machine learning[J]. Animals, 2022, 12(14): 1744.

[24] GIOVANETTI V, DECANDIA M, MOLLE G, et al. Automatic classification system for grazing, ruminating and resting behaviour of dairy sheep using a tri-axial accelerometer[J]. Livestock Science, 2017, 196: 42-48.

[25] SHEND H, ZHANG S, ZUO L, et al. Construction of sheep forage intake estimation models based on sound analysis[J]. Biosystems Engineering, 2020, 192: 144-158.

[26] DUAN G H, ZHANG S F, LU M Z, et al. Short-term feeding behaviour sound classification method for sheep using LSTM networks[J]. International Journal of Agricultural and Biological Engineering, 2021, 14(2): 43-45.

[27] WANG K, WU P, CUI H, et al. Identification and classification for sheep foraging behavior based on acoustic signal and deep learning[J]. Computers and Electronics in Agriculture, 2021, 187: 106275.

[28] 张春慧, 宣传忠, 于文波, 等. 基于三轴加速度传感器的放牧羊只牧食行为研究[J]. 农业机械学报, 2021, 52(10): 307-313.ZHANG Chunhui, XUAN Chuanzhong, YU Wenbo, et al. Grazing behavior of herding sheep based on three-axis acceleration sensor[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(10): 307-313.(in Chinese)

[29] KLEANTHOUS N, HUSSAIN A, KHAN W, et al. Deep transfer learning in sheep activity recognition using accelerometer data[J]. Expert Systems with Applications, 2022, 207: 117925.

[30] 刘艳秋, 宣传忠, 武佩, 等. 基于K-means-BP神经网络的舍饲环境母羊产前运动行为分类识别[J]. 中国农业大学学报, 2021, 26(3): 86-95.LIU Yanqiu, XUAN Chuanzhong, WU Pei, et al. Classification and recognition on movement behaviors of ewes in house feeding environment based on K-means and BP neural network[J]. Journal of China Agricultural University, 2021, 26(3): 86-95.(in Chinese)

[31] 陆明洲, 梁钊董, NORTON T, 等. 基于EfficientDet网络的湖羊短时咀嚼行为识别方法[J]. 农业机械学报, 2021, 52(8): 248-254, 426.LU Mingzhou, LIANG Zhaodong, NORTON T, et al. Automatic identification method of short-term chewing behaviour for sheep based on EfficientDet network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(8): 248-254, 426.(in Chinese)

[32] WANG C Y, BOCHKOVSKIY A, LIAO MARK H Y. YOLO v7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[J]. arXiv preprint arXiv: 2207. 02696, 2022.

Sheep Behavior Recognition Method Based on Improved YOLO v8s

WANG Wang1 WANG Fushun1,2 ZHANG Weijin1 LIU Hongda1 WANG Chen1 WANG Chao1,2 HE Zhenxue1,2

(1.College of Information Science and Technology, Hebei Agricultural University, Baoding 071001, China 2.Hebei Key Laboratory of Agricultural Big Data, Baoding 071001, China)

AbstractThe daily behaviors of sheep, such as standing, walking, eating, drinking and sitting, are closely related to their health. Efficient and accurate recognition of sheep behaviors is crucial for disease and health detection. To address the current problem of the limited behavior of sheep caused by contact devices such as sensors and lower accuracy caused by diverse behaviors, complex scenarios, and occlusions in group farming, the method for sheep behavior recognition based on improved YOLO v8s was proposed. Firstly, the SPPCSPC was introduced to improve the feature extraction ability and the detection accuracy of the model. Secondly, the P2 detection was used to enhance ability of the model to identify and locate the small targets. Finally, multi-scale lightweight modules PConv and EMSConv were introduced and the number of parameters and calculation of the model were reduced and the lightweight was realized while ensuring the recognition of effects. The results showed that the average accuracy of the model proposed for standing, walking, eating, drinking, and sitting was 84.62%, 92.58%, 87.54%, 98.13% and 87.18%, respectively. And the overall average accuracy was 90.01%. Compared with Faster R-CNN, YOLO v5s, YOLO v7, and YOLO v8s model, the average accuracy was 12.03 percentage points, 3.95 percentage points, 1.46 percentage points, and 2.19 percentage points higher, respectively. The results can provide technical support for sheep health management and disease warning.

Key wordssheep; behavior recognition; YOLO v8s; lightweight

中图分类号:TP391

文献标识码:A

文章编号:1000-1298(2024)07-0325-11

OSID:

doi:10.6041/j.issn.1000-1298.2024.07.032

收稿日期:2023-11-05

修回日期: 2024-04-02

基金项目:河北省重点研发计划项目(22327403D)

作者简介:王旺(2000—),男,硕士生,主要从事计算机视觉研究,E-mail: xxww@pgs.hebau.edu.cn

通信作者:王福顺(1981—),男,副教授,博士,主要从事大数据分析与挖掘、信息智能化处理研究,E-mail: xxwfsh@hebau.edu.cn