基于时空特征的奶牛视频行为识别
2023-05-28王克俭孙奕飞司永胜韩宪忠何振学
王克俭 孙奕飞 司永胜 韩宪忠 何振学
(1.河北农业大学信息科学与技术学院, 保定 071001;2.河北农业大学河北省农业大数据重点实验室, 保定 071001)
0 引言
随着奶牛养殖业的高速发展以及集约化程度的迅速扩大,奶牛的健康管理问题面临着巨大的挑战。将计算机视觉应用到奶牛行为识别领域,是当前研究的热点问题[1]。奶牛在其生活中有特定的行为方式和生理习惯,在奶牛养殖过程中,对奶牛日常行为进行高精度检测,是实现奶牛健康管理的关键前提[2]。奶牛行为识别一方面有助于监测奶牛的健康,发现异常行为并及时做出处理,另一方面也给养殖人员的饲养和管理工作带来了便捷。随着养殖规模的不断扩大,传统的人工方法难以适应更密集的奶牛群体。而计算机视觉具有实时、成本低、无接触等优点。因此,用计算机视觉技术来识别奶牛行为在奶牛繁殖、疾病诊断等方面有更大发展潜力[3]。
目前的识别方式主要为物联网监测[4-7]和计算机视觉识别[8-10]。物联网监测通过佩戴在动物身上的传感器收集不同行为产生的运动数值,并根据数值的差异进行识别[11]。王俊等[12]和PENG等[13]通过固定传感器接收运动数值,完成了对奶牛行为的分类识别。随着技术不断提高,计算机视觉逐渐进入人们的视线。卷积网络[14]作为奶牛行为识别的高效计算方法被广泛应用。王少华等[15]使用高斯模型实现了奶牛爬跨行为的自动检测。YIN等[16]和CHEN等[17-18]使用卷积神经网络(CNN)提取奶牛视频特征并结合LSTM获取时间特征,已达到对奶牛行为识别的目的。GUO等[19]通过去除不相关背景,结合几何和光流,对奶牛区域进行检测,训练SVM并分类。ZHANG等[20]和FUENTES等[21]将双流网络引入行为识别,该网络分别提取视频的时间和空间特征,以此达到识别奶牛行为的目的。
虽然穿戴式传感器具有较高识别精度,但随着使用次数增加,传感器会产生老化或水分渗透等问题,影响数值的记录,从而对行为产生误判。而在计算机视觉方法中,虽然避免了物联网监测的弊端,但基于图像的奶牛识别方法没有考虑运动的连续性,实验条件受限,环境单一,行为识别准确性较低。
针对上述问题,本文提出TFL-TSN识别模型。以奶牛各时段行为作为监控对象,使用高清摄像头实时捕捉奶牛在牛棚中的运动行为。通过构建一个包含时间和空间的双流结构,分别提取奶牛运动特征以及奶牛主体、背景信息,从而提高较依赖时序的行为识别准确率。
1 数据集构建
原始数据集由河北省保定市满城县宏达牧场提供,使用安装在牛棚棚顶并通过互联网控制的摄像头进行视频采集,所有视频均从视频收集平台获取,在实验过程中未对视频本身做任何修改。采集的视频包括白天和夜间,旨在研究不同时间的行为变化。图1为实验所用数据集中不同行为图像,其中从左到右依次为进食、躺卧、站立、行走。奶牛行为具有多样性,本文选取躺卧、站立、行走、进食4种行为进行研究,表1为基本行为定义。对采集的视频进行筛选,消除因拍摄角度或其他因素引起的视频模糊和无奶牛主体片段,针对每个视频,截取包含同一行为的视频。为了证明该方法具有普遍性,从不同视频中截取具有不同体态的相同行为,以避免不同行为包含相同姿势。考虑到光照会对识别结果产生影响,因此每个行为的视频均包括白天和夜间采集的视频,共截取996个视频,每个视频时长3~7 s,每秒保存50帧。
表1 奶牛基本行为定义
图1 奶牛不同行为示例
此外,每个视频均只有一个行为标签,视频由“行为名称_编号”命名,将白天和夜间时间比为7∶3的650个视频按8∶2的比例分为训练集和测试集。考虑到不同光照对结果的影响,在保证训练集一致的情况下,添加一些新的视频数据作为补充测试集,将其余346个视频作为不同光照下的数据集,以研究该方法在不同条件下的鲁棒性,该补充测试集白天和夜间视频各占50%。为解决类间不平衡的问题,通过增加视频片段扩充数据集,使每个行为的样本数据集相对平衡。
2 研究方法
奶牛行为识别可定义为测试视频与预先校准的行为参考特征间的匹配度,通过跟踪观察奶牛行为,挖掘各行为规范[22-23]。由于奶牛的行为具有连续的动态特征,本文提出了融合时空特征的TFL-TSN识别模型,该模型在时域段网络(TSN)的基础上融合了时态移位模块(TSM)、特征注意单元(FAU)和长短期记忆(LSTM)网络。识别流程如图2所示,分为时态移位、视频特征提取及融合与行为识别3部分。
图2 奶牛行为识别流程
首先视频经过TSM的移位操作,将原相邻帧的特征进行混合处理,同时融合部分信道的时间信息,此时当前帧既有本帧信息又有未来帧的部分信息,以此完成对时序的建模;然后利用稀疏采样[24]的思想,将输入视频分为若干个子视频,依次从每个子视频中随机抽取一帧作为训练样本输入主干网络ResNet50,上述稀疏采样模块和ResNet50构成了TSN,并通过FAU提取时间和空间的关键特征;最后将融合后的特征输入LSTM,捕捉当前和过去的隐含信息得到最终识别结果。
2.1 时态移位模块
由于进食、行走等行为较依赖时序,但是二维卷积在时间通道上独立工作,并不具备建模时序的能力,而且视频的时间维度描述了运动的变化,提供了大量的信息,因此在二维卷积的基础上引入TSM[25]。该模块可以提高模型的时序建模能力,但随之产生了学习空间特征能力下降的问题。TSM将卷积过程分为两步,第1步是数据融合,如图3,在时间维度上通过+1、-1、0移动部分通道,使来自相邻帧的信息与当前帧融合,提高时序建模能力,其数学表达式为
(1)
(2)
(3)
Xi-1——时刻i-1时信息
Xi——时刻i时信息
Xi+1——时刻i+1时信息
第2步是乘法累加,对融合后的信息分配相应权重再相加。
Y=ω1X(-1)+ω2X(0)+ω3X(+1)
(4)
式中Y——卷积运算结果
ω1、ω2、ω3——权重系数
X(-1)——后向移动后通道
X(0)——未移动通道
X(+1)——正向移动后通道
移位比过大时,空间特征建模能力会被削弱;移位比太小时,时序建模能力会降低,有研究表明较为合理的移位比为1/8[25],本文将前1/8的通道进行正移(+1),随后1/8通道进行后移(-1),其余通道不移动(0)。沿着时间维度移动特征图的部分通道,交换相邻帧信息,使此帧图像融合部分未来和过去的信息,此时可以更好地提取有关时序信息的外观和运动特征,提高行为识别准确率。
2.2 视频特征提取及融合
2.2.1奶牛视频特征提取
与图像识别不同,行为识别是通过一系列连续变化的图像来识别不同的行为。一方面,视频中的行为包含运动轨迹和视角的变化;另一方面,目前卷积网络以空间为主导,无法利用视频本身的时间信息。针对卷积网络无法较好地识别长时间行为的问题,本文利用固定分段和稀疏采样的思想达到学习长时间视频的目的[26-28]。
本文提出的改进时域段网络结构如图4所示。首先将视频进行拆分,将抽帧后得到的视频帧和一组低灰度图像(差分RGB)输入TFL-TSN模型得到空间和时间信息。具体地,将视频分为k段{S1,S2,…,Sk},然后对每个视频片段进行建模
图4 改进时域段网络
Pα=G(F(T1;W),F(T2;W),…,F(Tk;W))
(5)
Pβ=G(F(T1;W),F(T2;W),…,F(Tk;W))
(6)
TSN(T1,T2,…,Tk)=MAX(σ(λPα+μPβ))
(7)
式中Pα——RGB模态
Pβ——差分RGB模态
TSN(T1,T2,…,Tk)——预测结果
T1、T2、…、Tk——抽取的视频帧
G——聚合函数
W——网络参数
F(Tk;W)——视频识别结果
λ、μ——比例系数
σ——Softmax函数
MAX——最大值函数
2.2.2奶牛视频特征融合
为保证发送到LSTM的特征丰富性,同时弥补因加入TSM而损失的空间特征学习能力,并针对拍摄角度引起的部分奶牛主体较小,存在误将奶牛推理为背景的问题,对视频特征进行融合处理,特征金字塔可以自上而下聚合多个维度,在较低分辨率特征图上具有较强语义信息提取能力,能够提高小目标物体检测能力。但其存在较明显的缺陷:单向信息流无法充分聚焦重要信息。因此,在网络提取特征时,本文采用如图5所示的特征注意单元。该单元通过增加特征映射的分辨率提取小目标物体的特征,获取更多有关小目标物体的有效信息。实验使用卷积注意力(CBAM),通过在通道和空间维度应用注意力,使网络更好地抑制无效特征,并根据当前行为提取更为突出的主要特征,从而增强网络的学习和表达能力[29]。
图5 特征注意单元
针对每层提取的特征,使用通道注意力提取视频帧中主体及背景信息,使用空间注意力提取目标的位置信息,再经过下采样压缩无用信息并与上层特征图融合,逐步生成顶层特征图;随后将顶层特征图经过上采样融合每层特征图,着重利用低分辨率语义信息加强局部的学习能力,同时融合高分辨率空间信息丰富的特征图,最终合并3个结果作为下一阶段输入。
FAU的计算公式为
(8)
(9)
Q5=P2+P3+P4
(10)
式中Ci——第i层提取的特征图
Pi——Ci提取的特征并融合经注意力机制提取的第i+1层特征图
Q5——最终融合特征图
Conv——卷积操作
Resizedown——下采样
2.3 奶牛行为识别
奶牛的行为与时间序列密切相关,使用一般的卷积网络很难处理带有时间序列的数据,因此需要一种循环记忆式网络来帮助卷积记忆前后帧信息。如图6所示,LSTM作为循环神经网络的一种,其内部通过门控机制解决了因学习长序列数据导致的梯度消失和爆炸问题[30-31]。LSTM通过遗忘门、记忆门和输出门控制信息状态。首先通过遗忘门判断需要丢弃的信息,然后通过记忆门融合对当前任务有用的信息,最后通过输出门输出信息,以此解决信息的长期依赖问题。
图6 长短期记忆网络结构
对于视频中的行为,不能仅根据空间信息或时间信息来完成判断,针对提取的奶牛运动趋势、背景等信息相互不具有通用性的问题,只有将其组合才能构建出鲁棒性更好和更有效的特征。在提取视频的时间和空间特征后,构建一个LSTM分类器来识别奶牛行为。首先利用LSTM从向量序列中提取特征,把过去的信息与当前任务相连接,利用之前视频帧的状态判断当前帧的行为,能够对长时视频的时间维度建立依赖关系。其次将学习到的特征作为全连接层的输入,最后通过SoftMax层分类并输出4类行为的预测结果。
3 实验与结果分析
3.1 实验设置
实验在Ubuntu 18.04系统下,基于PyTorch 1.7.1 + CUDA 11.0 + CuDNN 8.0实现。计算机配置为CPU 6×XeonE5-2678 v3,NVIDA GeForce2080Ti显卡。采用随机梯度下降(SGD),动量为0.9,批量大小为4,使用交叉熵损失,激活函数为ReLU函数,初始学习率设为0.005,当测试精度在5个迭代周期内无增加时,学习率进行衰减,衰减率为0.2。考虑到视频中的连续视频帧是高度冗余的,存在较为相似的空间以及时间信息特征,在训练和测试时通过利用稀疏采样消除相邻帧的冗余信息来加快推理速度。
3.2 消融实验
利用该方法对建立的奶牛行为数据集进行识别,在控制变量法的思想下,保证学习率、优化器等参数一致,结果如表2所示。
表2 消融实验结果
对比加入TSM前后可知,依靠时序建模的行为识别准确率上升,但站立行为下降。原因在于TSN网络虽能更好地利用时间信息,但损失了一些空间特征学习能力。由于融合时间信息所附带的空间信息,在空间建模时掺杂一些本不属于此帧的信息,从而导致识别错误,但对于进食或行走识别准确率的提升证明引入TSM是可行的。对比加入FAU前后,进食、躺卧、站立行为识别准确率均有提升,这是由于FAU下采样时可以注意到一些微小的变化,FAU增加了TSN网络学习细化特征的能力。分析部分躺卧分类错误的视频数据,都是将躺卧状态反刍的奶牛错误分类为进食。进食和躺卧时反刍行为类似,都有嘴部动作,在FAU下采样时,过于关注嘴部变化,而忽略了时间信息的重要性。TSN网络通过逐层添加注意机制并融合下层特征,逐渐聚焦当前行为的重要特征,如图7所示。
图7 添加注意机制效果可视化
进食行为逐渐集中到学习头部信息,站立及行走行为逐步关注腿部特征,而躺卧聚焦到腹部贴近地面部分。对比加入LSTM前后,依赖时间关系建模的行为如进食,行为识别准确率有所增加。对于其他以空间结构建模就可识别的行为,准确率增加不明显,对于进食这种复合行为,需要依靠时间来判断是躺卧或站立中的进食还是仅是躺卧或站立行为。由融合各模块结果可知,行走行为与原模型相同,躺卧和站立行为均增加4个百分点,进食行为识别准确率增加最为明显,提升26.7个百分点。总体结果表明,本文方法可以实现高精度奶牛基本行为识别。此外,通过消融实验发现,ResNet50+FAU也有较高的平均行为识别准确率。
3.3 模型对比
将本文提出的TFL-TSN模型与C3D、I3D、CNN-LSTM模型进行对比实验,以验证本文模型的有效性。
由表3可知,本文模型与C3D、I3D、CNN-LSTM模型相比,平均行为识别准确率分别提升7.9、9.2、9.6个百分点,较现有行为识别模型具有一定优势,其原因在于文中提出的TFL-TSN能有效利用TSM融合的时间关系并进行建模,以及增强了学习局部特征的能力,通过结合高、低分辨率下的不同信息,提高相似动作的辨识度,从而提升识别准确率。
表3 不同模型结果对比 Tab.3 Comparison of different model results %
3.4 复杂场景下模型鲁棒性
考虑到奶牛养殖场环境复杂,存在诸多干扰因素,为验证该方法在不同条件下的鲁棒性,本文分析了在不同光照下该方法的实用性。
选取10:00—03:00拍摄的视频,时间跨度从日出到深夜,以确保选取的视频照明条件存在较大差异。为进一步探讨不同光照对该模型识别结果的影响,在保证训练集一致的前提下,添加了一些新视频数据,将夜间视频数据的比例由30%提高到50%,以验证模型的鲁棒性。为对比分析,将消融实验中平均行为识别准确率较高的ResNet50+FAU也进行验证。因在夜间奶牛进食行为发生较少,夜间仅对其余3种行为进行识别。
验证结果如表4所示,其中两种模型白天的平均行为识别准确率相差较小,本文模型比ResNet50+FAU高0.8个百分点;本文模型夜间的平均行为识别准确率比ResNet50+FAU高2.3个百分点。为评估模型在不同光照下的表现差异,分别计算两种模型白天和夜间各种行为识别准确率的欧氏距离,本文模型的欧氏距离较小,说明本文模型受光照影响较小,原因在于LSTM具有贯穿整个网络的长期记忆单元,可以融合之前所有时刻的模块的光照信息并传递给下一时刻的模块,因此更能适应不同光照条件。两种模型夜间的平均行为识别准确率均高于白天,可能原因是白天不同时段光照强度变化较为明显,而夜间采用日光灯照明,光照强度较为恒定。实验结果表明光照变化会对奶牛行为识别准确率产生一定影响,但本文模型受光照影响相对较小。
表4 不同光照结果对比
4 结论
(1)为实现牛棚内奶牛的行为识别,在TSN模型的基础上,通过引入时态移位模块(TSM)、特征注意单元(FAU)、长短期记忆(LSTM),提出了一种双流网络结构且融合时间和空间信息的奶牛行为识别模型。
(2)实验结果表明,TFL-TSN模型对进食、行走、躺卧、站立行为识别准确率分别为76.7%、90.0%、68.0%、96.0%。该模型相较C3D、I3D、CNN-LSTM平均行为识别准确率分别提高7.9、9.2、9.6个百分点。
(3)不同光照条件下的实验结果表明,光照变化会对奶牛行为识别准确率产生一定影响,但本文模型受光照影响相对较小。所构建的奶牛行为识别模型可以满足养殖环境中奶牛行为识别的需要,可为感知奶牛健康和疾病预防提供技术支持。