APP下载

引入Transformer 和尺度融合的动物骨骼关键点检测模型构建

2021-03-11张飞宇王美丽王正超

农业工程学报 2021年23期
关键词:子网编码器关键点

张飞宇,王美丽,2,3※,王正超

(1. 西北农林科技大学信息工程学院,杨凌 712100; 2. 农业农村部农业物联网重点实验室,杨凌 712100;3. 陕西省农业信息感知与智能服务重点实验室,杨凌 712100)

0 引 言

目前畜牧业存在养殖成本高、效率低等问题,规模化、智能化圈养成为畜牧业发展的必然趋势[1]。但随着养殖密度增大,牲畜患病的概率也随之加大。因此,有效的疾病预防是规模化养殖的重要环节。研究表明,牲畜行为与疾病之间存在一定的联系[2],因此加强对牲畜行为的研究与分析,可以为其疾病预测提供研究思路和解决途径。其中,骨骼关键点检测作为动作识别、行为分析的前置任务,是实现动物体况信息的无接触判别和异常信息预警的关键步骤。同时,骨骼关键点检测还可以实现对动物的跟踪保护和身份识别[3]。

传统方法研究动物的行为或姿态时,常常需要将物理标记物或传感器附着到动物的关键部位以达到收集数据的目的[4-5],但是这种方法会带来一定的创伤,且动物本身的活动会造成传感器的丢失或位移,存在较大的局限性。

近年来,深度学习技术在畜禽养殖领域的应用快速发展,大量学者研究畜禽行为识别[6-7]、个体检测[8]等任务。研究人员发现动物骨骼关键点检测与人体姿态估计任务目标相同。人体姿态估计的成功来源于大规模数据集[9],但手动标记数据需要耗费大量的人力和成本。相比人体姿态数据集,动物关键点数据集不仅更少,而且更难收集[10]。动物由于毛发、姿态等原因更容易形成自身遮挡,而且其四肢比人体更对称,导致识别难度更大[11]。Li 等[12]提出基于无监督的动物姿态估计方法,从CAD 图像生成的伪标签在线更新到真实结果。该方法为解决动物数据集不足问题提供思路,但是结果不够准确,无法应对复杂情况。

目前,基于卷积神经网络(Convolutional Neural Networks, CNN)的姿态估计方法可以很好地学习特征检测关键点[13]。Xiao 等[14]提出的SimpleBaseline 方法先检测出图片中每个人的区域框,然后独立地去检测单人区域的姿势。Bao 等[15]基于神经网络搜索技术为姿势估计任务设计特征提取器PoseNAS,该方法的搜索策略可以端到端地设计姿势编码器和解码器。然而这些卷积神经网络结构复杂且参数量大,训练及推理会占用大量计算资源和时间,在实际应用场景中受限。因此需要研究更实用高效的网络结构。Transformer 采用基于自注意力和多层感知器的编码器-解码器架构[16],在各种视觉任务中显示出巨大的潜力[17-19]。TokenPose 使用基于Token 的Transformer 结构解决人体姿态估计问题,通过自注意力交互捕获外观线索和约束线索[20]。但是该方法需要大量的数据训练,并且对于动物骨骼关键点的检测性能不佳,无法直接应用于本文任务。Sun 等[21]提出高分辨率姿态估计网络(HRNet),该方法在特征提取过程中并行连接多个子网,从而获得更多的语义信息,使准确率提升。

综上所述,基于 HRNet 的特征提取优势与Transformer 结构的全局建模特点,本文提出了一种高效的动物骨骼关键点检测模型(HRNet-Transformer,HRTF)。使用改进的Transformer 编码器取代常规卷积网络高维特征提取部分;加入多尺度融合,提升模型不同维度特征融合能力;使用Hardswish 激活函数[22]作为网络的主激活函数,进一步提升网络的检测精度。为了更好的验证该方法的鲁棒性和泛化能力,本文创建了一个包含养殖场与野外场景中多品种的羊关键点数据集,应用该数据集和已有的动物关键点数据集ATRW[23]进行试验,将本文算法和其他算法进行对比分析。试验结果表明该网络比主流卷积神经网络更高效,在动物数据集上表现优秀,且具有可解释性。

1 材料与方法

1.1 数据采集及数据集制作

使用单目相机拍摄陕西省杨凌区曹新庄试验站山羊图像共1 600 张,并进行预处理。为增加数据集鲁棒性,从Cao 等[11]制作的开源动物数据集中增选多场景羊的图像,最终共收集1 800 张羊只图像作为数据集。包含不同姿态、不同品种的羊图像,如图1 所示。体现了数据集的多样性,充分考虑实际检测时的复杂场景。该数据集按7∶3 的比例分为训练集和测试集。由于该数据集规模较小,为防止模型过拟合,对训练集采用五折交叉验证法进行验证[24]。

本文采用轻量级的图像标注工具VIA[25]进行人工标注,17 个骨骼关键点标注样例如图1e 所示。以羊骨骼关键点为例,1~3 号为面部关键点,4~9 号为前腿关键点,10~15 号为后腿关键点,16 号为尾巴关键点,17 号为身体中心关键点。每张图片需要框选出羊只主体并标注该羊只对应的17 个关键点。在标注关键点时,严格按照1号至17 号关键点顺序进行标注,相应的关键点标签会被自动对齐。

1.2 公开数据集

除了本文制作的羊数据集,为了进一步验证模型的泛化性和迁移能力,试验训练集还加入与图1e 定义一致的东北虎公开骨骼关键点数据集ATRW[23]。该数据集的图像选自动物园监控视频,包含92 头东北虎个体,共4 124张图像数据。每张图片中包含一个东北虎主体及15 个关键点,相比羊数据集缺少2 个前膝盖关键点,1~2 号关键点为耳朵。此外,在测试集中增加了VOC 数据集[26]的牛、马等动物图像做跨域测试。为统一标准,图像数据均采用JPEG 格式,标注格式采用COCO 格式[27]。

2 动物骨骼关键点检测模型

本文在 HRNet 模型的基础上,引入优化的Transformer 编码器和多尺度融合模块,提出了一种动物骨骼关键点检测模型HRTF,该模型由3 部分组成:1)以卷积神经网络作为主干用于提取图像低级特征的特征提取器;2)用于捕捉全局跨位置信息,对高级语义特征进行建模的Transformer 编码器;3)用于输出最终预测结果的回归关键点热图模块。HRTF模型结构如图2所示。本文模型可以从更高的分辨率直接获得全局约束关系,并保留细粒度的局部特征信息。除此之外针对基于Transformer 结构的TokenPose 模型计算效率低、在小数据集上训练效果不佳的问题,HRTF 模型不仅可以获得更好性能,而且参数量较小。不同规模的模型适用于不同精度和运行速度的需求。

2.1 特征提取器设计

HRNet 的并联设计有助于进行特征融合[21]。该网络由多个子网络并行连接而成,通常设置4 级子网,当前子网的分辨率是前一级的1/2。该网络将高分辨率子网用作网络的第一阶段,通过添加较低分辨率子网来形成更多的阶段。其中第一阶段子网使用Bottleneck 模块,其余子网使用BasicBlock 模块[28]。下采样时,使用步长为2的3×3 卷积;上采样时,先使用1×1 卷积进行通道数的匹配,再使用最近邻差值;相同分辨率使用恒等映射。重复多次对不同尺度的特征进行融合。然而,HRNet 需要堆叠多层才能得到全局信息,也很难捕捉关键点之间的约束关系,其复杂的并行结构和较少的下采样次数导致推理速度较慢,尤其是最后一级子网由于需要融合前3级子网的关键点特征信息,参数量占比超过整个网络的70%。

为了提升网络性能,本研究将HRNet 前3 级子网设计成并联形式,增强模型对动物图像低维特征的获取能力。优化Transformer 编码器使其替换最后一级子网,在减少参数规模的同时有效的提取高维特征。然后通过特征融合模块将高分辨率和低分辨率的特征信息进行多尺度融合,提升对动物骨骼关键点的定位准确率。

2.2 Transformer 编码器设计

引入Transformer 编码器可以有效的解决HRNet 参数量大、高维特征提取能力差的问题,有助于遮挡、趴卧等复杂场景下对关键点的定位。但是,常规Transformer编码器需要大量的训练集数据,并且训练时收敛慢。因此,本文对Transformer 模块进行了改进,降低模型对数据量的要求,加快收敛速度。

优化后的Transformer 编码器由3 部分组成:正弦位置嵌入编码(Sine Position Embedding, SPE)[16]、多头注意力模块(Multi-head Self-Attention, MSA)[18]和多层感知器模块(Multi-layer Perceptron, MLP)[16],整体设计如图3 所示。

假设特征提取器的输出F∈Rf×H×W,H,W表示最后一个子网的输出分辨率,f表示通道数。不同于ViT 将输入图像分割为相同大小的网格小块,再将网格块编码为Token[18]。本文通过1×1 卷积和降维操作将特征图F降维到序列F∈RL×d,式中分辨率L=H×W,d为通道数,该操作复杂度低且可以保留特征信息。同时,根据位置嵌入编码模块获取位置信息SPE∈RL×d,使特征图带有必要的位置关系。最后F与SPE 一起进入由多头注意力模块和多层感知器模块串联组成的编码器中。Transformer 模块整体过程可表示为

式中E是当前Transformer 编码器层的输出序列,作为下一编码器层或热图回归模块的输入序列。

2.2.1 位置嵌入编码

关键点检测是对位置信息高度敏感的任务,动物骨骼相对于人体的对称性更强,点之间相似度高,检测时易出现混淆。由于没有引入循环结构和卷积结构,Transformer 模块本身是缺失位置信息的。SPE 给Transformer 编码器的输入加上位置编码,让特征向量保持空间位置关系[16]。但是SPE 是对降维后的向量序列直接编码,而降维后再编码会损失2D 空间上的信息。不同于SPE,针对关键点检测这一任务,位置信息在图像的水平x和垂直y方向上是独立的。本文对2D 图像特征图先进行x和y方向的位置嵌入编码再降维,以减少空间信息的损失,使网络可以更为准确的获取骨骼点的位置信息。

本文改进的位置编码过程表示为

2.2.2 多头注意力模块

自注意力机制可以加强关键特征的表达能力,提取稀疏数据的重要特征。为了使网络可以更好的捕捉骨骼关键点之间的内部相关性,本文将带有位置信息的特征图输入到带有3 个权重参数矩阵W q,W k,W v∊Rd×d的MSA 模块中,Q,K,V∊RL×d分别表示对应的查询量(query)、键(key)和值(value)。MSA 是带有h个头的自注意力操作,能以有限的层数进行依赖内容的全局交互,而不是仅关注图像局部区域。通过将值矩阵Q中的每个值与W中的相应权重进行线性组合,实现对特征向量F的更新。因此,注意力图可以被看作是动态权重。然后,将得到的注意力图与低维特征图再次融合,以进行不同尺度特征信息的交换。这种机制在捕捉最终关键点预测热图与上下文关系方面起着关键作用。

2.2.3 多层感知器模块

多层感知器模块MLP 可以更好的构建出动物骨骼关键点之间的空间位置联系,提升模型的定位效率。为了节约计算成本并提高模型的健壮性,本文对MLP 模块进行了改进。该模块通常由2 个全连接层、一层ReLU 激活函数以及LayerNorm 组成。本文设计的MLP 先将维度din降维到dout再升维回din,采用Hardswish 激活函数,数学表达为

与ReLU 激活函数相比,Hardswish 是非单调的,有助于缓解反向传播期间的梯度消失问题,保证训练初期的稳定性[22]。全连接层会使用大量参数,本文的MLP 相比较于常规先升维再降维的操作可以节约计算成本而不会损失模型精度。

2.3 热图回归模块设计

本文选择回归热图的方法预测关键点坐标,并设计轻量级热图回归模块。相比较于直接回归点坐标,该方法结果更准确更容易训练。首先将Transformer 模块的输出升维到E∈RC×d×d,通过 1×1 卷积生成预测热图M∈Rk×H’×W’,k为关键点个数,H’和W’为输入图像尺寸的1/4。在坐标与热图的转换过程中,采用DARK 策略[29],以减少从小尺度热图进行编解码时的量化误差,保证生成结果的准确性。使用均方误差(Mean Square Error)计算预测热图和目标热图之间的损失。

3 结果与分析

3.1 试验参数设置

本试验均在配置为Intel Xeon 8160T @ 2.1GHz 和NVIDIA TITAN RTX 的PC 上进行,使用 PyTorch 深度学习框架构建模型。试验选用Adam 优化器,batch 大小设置为16,训练次数设置为200 次迭代,学习率从10-4下逐渐降到10-5。图像主体的长宽比设为1:1,从原始图像中剪裁出标注主体然后输入到模型中,输入大小为256×256。热图大小设置为输入大小的1/4。每张图像都要经过一系列的数据增强操作,包括翻转、旋转(±40°)和缩放(±30%)。对于数据规模较小的羊数据,在训练时采用五折交叉验证法[24],将训练集随机分为5 份,其中4 份进行训练,余下的一份做验证,重复该过程5 次从中挑选最优模型。在测试中,通过计算原始图像和翻转图像的热图平均值计算最终得分。

试验采用基于OKS(Object Keypoint Similarity)[27]的平均准确率(Average Precision, AP)、平均召回率(Average Recall, AR)[30]分数作为评估指标。采用十亿次浮点运算数(Giga Floating-point Operations Per Second,GFLOPs)描述模型的计算量,评估模型对硬件算力要求。

为了与特征提取器HRNet 的参数量相对应,本文设计3 个规模不同的网络HRTF-S、HRTF-M 和HRTF-L,兼容更多的应用场景。当数据集规模较小时,如本研究中的小规模羊数据集,可使用小规模网络HRTF-S,不容易出现过拟合,且可以保证实时性;大规模网络HRTF-L精度最佳,但是对硬件要求较高,检测速度相比其它两个规模的网络较慢;中等规模网络HRTF-M 介于HRTF-S和HRTF-L 之间,能在精度和速度之间达到一定的平衡。在实际应用时,可根据不同数据规模、硬件条件、实时性需求等选择合适的网络模型。参数设置如表1 所示。

表1 HRTF 不同规模网络的参数设置Table 1 Parameter setting table of HRTF network

3.2 模型性能对比及分析

为了评价本文方法对动物骨骼关键点的检测性能,对比了姿态估计领域的方法SimpleBaseline[14]、HRNet[21]、PoseNAS[15]和TokenPose[20]。所有模型通过ImageNet 进行预训练[31]。使用羊数据集作为训练集和测试集,本文算法HRTF 和其他算法的对比结果如表2 所示。

表2 羊数据集下各模型性能对比Table 2 The performance comparison of sheep dataset

从表2 中可以看出,与HRNet-48 相比,HRTF-L 参数量和计算量分别减少71%和42%,并获得目前对比算法中的最优结果,AP 达到77.1%,试验预测效果如图4a 所示。改善了HRNet-48 在小数据集上容易出现过拟合的问题。HRTF-S与TokenPose-B 的性能接近而计算量要低的多,单张图像的检测时间为14 ms,实现了实时检测,说明本文提出的混合结构模型以更少的计算量和复杂度获得了更好的检测效果。

TokenPose-L 由于其Transformer 结构设计复杂,收敛速度慢,在第200 次迭代时准确率仅能到71.5%,在300次迭代时才趋于收敛。而HRTF有效改善了这一缺点,在更少的训练次数下收敛就能趋于稳定。

实际应用中动物图像常来源于监控摄像头,大部分的分辨率较低,特征提取难度增大,而且更大的输入尺寸需要更大的计算量。如表2 所示,使用192×192 作为图像输入大小时,SimpleBaseline 和HRNet 准确率分别下降3.6 个百分点和3.9 个百分点,说明它们对羊图像输入尺寸敏感,在小尺寸图像上表现不佳。HRTF-L 仍能达到75%的结果,证明其检测不同尺度的图像时鲁棒性更好,因此HRTF 在实际的养殖场中的适用性更强。

基于东北虎数据集的试验对比结果如表3 所示。当数据集规模增大后,模型间差距缩小;关键点数量减少,整体结果上升,但HRTF-L 仍然获得了最好的结果,准确率达到89.7%,试验预测效果如图4b 所示。对比HRNet-32和HRTF-S 结果可以发现,尽管HRNet-32 有结构更复杂的特征提取主干,但是结果比HRTF-S 低。这说明Transformer 编码器对羊图像中的高级语义信息的建模能力至关重要,相比较于卷积网络可以从低维特征提取器中获取更多有效信息。

表3 东北虎数据集下各模型性能对比Table 3 The performance comparison of Amur tiger dataset

3.3 模型消融试验

以HRTF-M 为基准模型在羊数据集上进行消融试验,与HRNet-32 对比,验证位置嵌入编码模块和多层感知器模块的有效性,结果如表4 所示。

表4 消融试验结果Table 4 The results of ablation test

相比较于完整HRTF-M 模型,去掉位置嵌入编码后准确率下降了0.8 个百分点,去掉多层感知器后准确率下降了0.5 个百分点。说明SPE 提供的位置信息和MLP 提供的信息融合均对整个模型起到正向反馈,可以有效提升模型性能,证明了本文中各组成模块的有效性。

3.4 模型可解释性与跨域性

动物骨骼存在一定的对称性和领域关联性,比如腿部的骨骼关键点之间存在联系。优化后的Transformer 编码器的能够更精准的建立关键点位置之间的依赖关系。将HRTF-L 的中间输出层可视化,如图5 所示,注意力模块中的可视化热图明显的反映出了关键点之间的聚集和联系。而随后的热图回归模块会进一步细化关键点位置,输出最终的预测位置。这说明注意力模块可以有效的发现这些动态特征,而不需要依赖图像特征,证明了模型具有可解释性,能够用于解决遮挡、趴卧等复杂场景下对关键点定位困难的问题。

为进一步说明模型的泛化性,本文选用VOC 数据集中的牛、马和狗3 种动物做测试集,使用以羊数据集为训练集的HRTF-L 模型进行跨域试验。图6 展示了这些试验的预测结果。不同动物之间存在一定的骨骼空间关系相似性,但是外观、体型存在很大差异。而结果显示,使用羊骨骼模型在牛、马和狗这些动物身上均能较好地检测出骨骼关键点,证明了HRTF 模型具有良好的跨域性和泛化能力。

4 结 论

检测动物骨骼关键点是进行动物姿态识别和行为分析的前置任务。为实现准确、高效的动物骨骼关键点检测,本文在HRNet 结构基础上引入了改进的Transformer编码器,增强了模型对动物骨骼关键点的检测性能,通过在自建的羊数据集和多种动物数据集上试验,证明了该方法的有效性和泛化性。主要结论如下:

1)通过改进HRNet 的子网结构并引入Transformer编码器,使新模型可以从更高的分辨率直接获得全局约束关系防止骨骼关键点错位,并保留细粒度的局部图像特征信息。

2)改进Transformer 编码器结构,通过使用优化的Transformer 编码器替换模型中的最后一级子网,模型获得了更好检测效果,同时参数量和计算量分别减少71%和42%。在小规模羊数据集和输入小分辨率图像的情况下准确率达75%,适合实际场景应用。

该模型可以提高动物骨骼关键点检测的准确率,帮助更高效的完成动物姿态识别和行为分析。在多种动物数据集上进行跨域测试,试验结果表明该模型具有较强的泛化能力和鲁棒性。

猜你喜欢

子网编码器关键点
融合CNN和Transformer编码器的变声语音鉴别与还原
论建筑工程管理关键点
肉兔育肥抓好七个关键点
设定多圈绝对值编码器当前圈数的方法
建筑设计中的防火技术关键点
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
计算机网络课程中网络测试命令的应用
子网划分问题研究及应用
航天器多子网时间同步系统设计与验证