1.本发明涉及牧场牛只数量估计技术领域,具体为基于多尺度残差视觉信息融合的牧场牛只数量估计方法。
背景技术:
2.在牧场管理中,牛只的数量估计是养殖业管理和资产估算中最重要的任务之一。准确的牛只计数能帮助牧场管理人员对活体资产进行评估,进而提高牧场养殖效率,同时及时发现偷盗行为,帮助企业或个体减少不必要的损失。在实际的牛场中由于牛只之间的相互遮挡,光照变化等问题使得在牛场中对牛只进行准确计数极具挑战性。传统牧场管理通常采用人工计数的方法,然而这种方法非常耗时、耗力、且容易出错。目前,牧场牛只管理主要采用以电子耳标为核心信息载体的硬件设备进行计数。但硬件设备在畜牧养殖业中存在维护成本高、操作复杂等现实问题,导致目前并未得到大规模应用,同时,穿戴耳标还会给牲畜带来一些身体伤害,如伤口感染,受到惊吓等。
3.基于视觉的目标计数在近几年得到了广泛的关注。很多场景都利用视觉信息进行目标计数,例如密集人群计数,农作物目标计数,细胞计数等。但对于畜牧业,基于视觉的计数方法研究还尚少。
4.目前,基于视觉的目标计数方法主要分为三种,基于检测的方法、基于回归的方法和基于密度估计的方法。有些学者使用目标检测的方法对畜牧进行计数,xu beibei等人(xu beibei,wang wensheng,falzon g,et al.automated cattle counting using mask r-cnn in quadcopter vision system[j].computers and electronics in agriculture,2020,2020(171):article id 105300)使用四轴飞行器采集的图像通过mask-rcnn对牲畜进行目标检测与分割,实现了在草场、养殖场场景下的牛活体计数。李琦等人(李琦,尚绛岚,李宝山.基于头部图像特征的草原羊自动计数方法[j].中国测试,2020,46(11):20-24.(li qi,shang jianglan,li baoshan.method for grassland sheep automatic counting based on head image features[j].china measurement&test,2020,46(11):20-24))采用yolov3目标检测算法与deep sort目标跟踪算法相结合,并基于双线计数法实现了草原羊的自动计数。上述这些方法都只适用于目标相对稀疏的场景。但在牧场实际场景下,由于牛只离摄像头的距离不同,导致牛只的尺度变化大,且多数时候牛只都聚集在一起,并有严重遮挡,这种情况目标检测方法的计数误差较大。tian mengxiao(tian mengxiao,guo hao,chen hong,et al.automated pig counting using deep learning[j].computers and electronics in agriculture,2019,2019(163):article id 104840)等人通过预测图像中猪只的密度,估计猪圈中猪只数量,该方法在猪只密度较小时预测准确,但是对于数量超过10的情况,预测误差较大。
[0005]
近年来基于深度学习的密集人群密度估计问题取得了不错的发展。人群密度估计通过学习图像的局部特征和其相应的密度图之间的映射,得到预测密度图。密度图代表了人群的分布情况以及每个像素点上人的数量,所以通过对密度图进行求和就能得到估计的
人群数量。密度估计按网络结构分为多列网络和单列网络。多列网络指模型中包含多列卷积,不同的列对应不同尺寸的目标。zhang(zhang yingying,zhou desen,chen siqin,et al.single-image crowd counting via multi-column convolutional neural network[c]//proc of ieee conference on computer vision and pattern recognition.piscataway,nj:ieee press,2016:589-597)等人最先提出多列卷积结构网络mcnn,该网络由三列卷积构成,每列卷积都使用不同大小的感受野来提取不同尺度的特征,但后续实验发现这种方法提取的特征非常冗余,且性能受分支结构限制。之后便有了单列网络,即只使用一列网络来提取特征。li(li yuhong,zhang xiaofan,chen deming.csrnet:dilated convolutional neural networks for understanding the highly congested scenes[c]//proc of ieee conference on computer vision and pattern recognition.piscataway,nj:ieee press,2018:1091-1100)等人提出了csrnet,通过堆叠空洞卷积,在保持图像分辨率的情况下增大感受野,进而提高预测精度。dai feng(dai feng,liu hao,ma yike,et al.dense scale network for crowd counting[c]//proc of international conference on multimedia retrieval.new york:acm press,2021:64-72)等人设计dsnet,使用特定空洞率的空洞卷积组合提取多尺度特征,通过密集连接的方式增强数据间的信息传递,但过于密集的连接容易造成数据的过拟合。j.wan(wan j,wang q,chan a b.kernel-based density map generation for dense object counting[c/ol]//proc of ieee trans on pattern analysis and machine intelligence.piscataway,nj:ieee press,2020.(2020-09-09)[2021-10-12].doi:10.1109/tpami.2020.3022878)等人针对标签信息生成不准确问题提出了kdmg,该网络不采用固定高斯核生成监督密度图,而是通过kdmg利用预测的密度图动态调整监督密度图。该网络在人群密度估计中取得了不错的效果。虽然人群密度估计网络现在有了较好的发展,但基于深度学习的密度估计算法在牛群等畜牧业中进行尝试的研究还非常少。
[0006]
基于此,本文提出一个多尺度残差视觉信息融合牛群密度估计方法,来估计牧场中牛只数量。针对现有的牛只密度分布不均匀,同一图像中牛的尺度变化大的问题,本文提出了多尺度残差特征感知模块,该模块通过使用多列空洞卷积来获取多尺度的感受野,同时减弱了连续空洞卷积带来的网格效应问题。由于没有公开的牛群数据集,因此本文创建了一个牛只密度数据集,并在该数据集上验证了本文方法的有效性。
技术实现要素:
[0007]
本发明的目的在于提供基于多尺度残差视觉信息融合的牧场牛只数量估计方法,以解决上述背景技术中提出的问题:现有技术中无法针对解决现有的牛只密度分布不均匀,同一图像中牛的尺度变化大的问题,使得牛只数量估计鲁棒性差。
[0008]
为实现上述目的,本发明提供如下技术方案:
[0009]
基于多尺度残差视觉信息融合的牧场牛只数量估计方法,包括以下步骤:
[0010]
s1.采集牛群图像,并创建牛群数据集;
[0011]
s2.根据牛群数据集中的牛群图像,生成密度图;
[0012]
s3.构建出多尺度残差牛只密度估计网络,且所述多尺度残差牛只密度估计网络的构建方法如下:
[0013]
采用vgg-16作为前端特征提取网络提取密度图中的牛只特征;
[0014]
采用多尺度残差特征感知模块提取更深层的语义信息,并通过密集连接的方式保存浅层的特征信息;
[0015]
通过一个密度回归头得到回归的密度,再进行八倍上采样,将密度图还原到原图分辨率,得到最终的预测密度图;
[0016]
s4.训练并验证所述多尺度残差牛只密度估计网络;
[0017]
s5.使用所述多尺度残差牛只密度估计网络对牧场牛只数量进行估计。
[0018]
进一步地,s1中,采集牛群图像,并创建牛群数据集,主要包括:
[0019]
在牧场安装不同的智能摄像头,对牛只的日常生活进行监控,得到视频监控数据;
[0020]
对采集的监控视频进行抽帧,得到大量的牛只图像,再从这些图像中选择不同场景、牛群运动变化大的数据作为训练数据。
[0021]
进一步地,所述牛群数据集包括的场景有:室外鱼眼摄像头图像、室内鱼眼摄像头图像、室外普通摄像头图像、室内普通摄像头图像。
[0022]
进一步地,s2中,根据牛群数据集中的牛群图像,生成密度图,主要包括:
[0023]
对牛群图像进行标注;
[0024]
将牛群图像标注转换为牛群密度图。
[0025]
进一步地,其中,对牛群图像进行标注;将牛群图像标注转换为牛群密度图,方法如下:
[0026]
一幅牛群图像中,如果在xi位置有一头牛,将其表示为函数δ(x-xi),一个标记有n头牛的标注图像表示为:
[0027][0028]
对于每一张图像i,将标注图像函数与高斯核g
σ
进行卷积得到密度:
[0029][0030]
其中为真实密度信息,σ为高斯协方差。
[0031]
进一步地,s3中,采用vgg-16作为前端特征提取网络,主要包括:
[0032]
保留vgg-16网络的前十层卷积和三个池化层作为骨干特征提取部分,使用vgg-16前十层卷积,并取第三次池化操作后的结果作为多尺度残差特征感知模块的输入。
[0033]
进一步地,所述多尺度残差特征感知模块包括三个不同空洞率的空洞卷积以及两个普通卷积;
[0034]
首先通过一个3*3*512的卷积降低通道维度;
[0035]
再利用三个并列的空洞卷积提取多尺度的特征,空洞率分别为1,2,3;
[0036]
通过恒等映射的方式,将提取的三个多尺度特征与输入相加,构成残差结构,由空洞造成的像素信息丢失得到补充,得到融合特征;
[0037]
每个空洞卷积后面都连接线性整流单元激活层,最后将融合的特征通过一个3*3*512卷积进一步融合。
[0038]
进一步地,所述多尺度残差牛只密度估计网络的损失函数如下:
[0039]
当一组训练样本数据为xi,i=1,2,3,...,n,时,欧几里得损失函数
为:
[0040][0041]
多尺度密度水平一致性损失定义如下:
[0042][0043]
其中s表示密度图划分的密度等级数,p
ave
表示平均池化,kj表示平均池化的输出大小;
[0044]
最终的损失函数为:
[0045]
l=le λlc[0046]
其中le为欧几里得损失,lc为多尺度密度水平一致性损失,λ为权重超参数。
[0047]
进一步地,s4中,训练所述多尺度残差牛只密度估计网络,主要包括:
[0048]
微调vgg-16网络,所有新的层都由均值为0、标准差为0.01的高斯分布初始化,采用adam优化器进行优化;
[0049]
对训练数据进行数据增强,随机按照图像的1/4大小将图像裁剪为四份互不重叠的图像块,或随机裁剪一块图像1/4大小的图像块,0.5的概率将图像块垂直翻转,0.3的概率使用参数为[0.5,1.5]进行伽马变化;
[0050]
设置评价指标。
[0051]
进一步地,所述评价指标设置方法如下:
[0052]
在测试阶段不会将图像进行裁剪,而是将整个图像输入到网络中生成密度图,并采用平均绝对误差和均方根误差对网络进行评价;
[0053]
所述平均绝对误差的表达式为:
[0054][0055]
其中n为测试集中图像数量,表示预测的牛群数量,表示真实的牛群数量;
[0056]
所述均方根误差的表达式为:
[0057][0058]
与现有技术相比,本发明的有益效果是:
[0059]
1.本文的mrvnet叠加多个多尺度残差特征感知模块,利用三个不同空洞率的空洞卷积提取多尺度特征,适应牛群的尺度变化,同时采用残差连接的方式将浅层的特征信息传递到深层,削弱了由空洞卷积带来的网格效应,弥补了丢失的像素特征信息,因此在mae值和rmse值上均能达到最佳性能。并通过实验证明了mrvnet能够较为准确的计数牛场中牛群的数量,整体平均误差在1.7左右;本发明方法对稀疏的场景有比较清晰的边界区分,即使在区分度不大的黑牛群体,也能有较清晰的边界,同时预测数量较为准确。对比csrnet、dsnet在黑牛场景下边界信息非常不清晰,预测数量差距较大。在简单场景下,kdmg效果与本文方法效果相当,但在室内普通摄像头场景受光线影响较大,在光线较暗的地方预测的密度图过于稀疏。综合多个方面来说,本文提出的密度估计网络结果更加准确,预测的密度
分布与真实密度图分布更加接近,且对各种场景的适应性都比较好,对于稀疏的场景能较为清晰的分辨出边界,对背景的抗干扰能力较强;本发明mrvnet不仅在牛群数据集的密度预测效果较好,同时在人群密度估计中也能取得较好的结果。
[0060]
2、本发明通过针对牛群分布不均,尺度变化大的问题本文提出了多尺度残差牛群密度估计网络,利用不同空洞率的空洞卷积来获得多尺度的特征,再加入残差结构,减弱了使用空洞卷积带来的网格效应问题。实验证明与传统的人群密度估计方法比,本文提出的方法效果更好,计数更加准确模型鲁棒性更好。
附图说明
[0061]
图1为牛群数据集部分样本数据图;
[0062]
图2为原图与密度图示意图;
[0063]
图3为mrvnet网络结构图;
[0064]
图4为空洞率为1、2、3的空洞卷积感受野示意图;
[0065]
图5为多尺度残差特征感知模块示意图;
[0066]
图6牛群数据集分组预测结果图;
[0067]
图7为不同场景密度预测结果图。
具体实施方式
[0068]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]
1.牛群数据集的创建
[0070]
1.1牛群图像数据采集
[0071]
通过在牧场安装不同的智能摄像头,对牛只的日常生活进行监控,得到视频监控数据。采集的视频数据场景多样,光照情况变化丰富,能较好的表达牧场的真实情况。对采集的监控视频进行抽帧,得到大量的牛只图像,再从这些图像中选择不同场景、牛群运动变化大的数据作为训练数据,最终选择了740张图像作为密度估计数据集,总共包含15146头牛,每张图像牛只数量从3头到109头牛不等。并将牛只数据集按6:4划分为训练集和测试集,训练集427张图像,测试集313张图像。
[0072]
数据集的具体情况如表1所示,按场景可以分为4个。第一种为室外鱼眼摄像头图像,分辨率为640*480,包含图像131张,标注牛只2221只,该场景下白天的图像有87张,夜晚的图像有44张,其样本如图1(a),第一列为夜晚情况,光线不足,可视范围较小,第二三列为白天情况,牛群密度适中,多数呈直线型排列,远离摄像头部分的牛群遮挡情况较为严重。第二种为室内鱼眼摄像头图像,分辨率为1280*960和640*480,包含图像369张,标注牛只5708只,该场景下白天的图像有311张,夜晚的图像有58张,其中部分样本如图1(b)所示,第一列为白天室内,第二列为夜晚室内,第三列为白天室内黑牛,该场景的摄像头安装在室内顶棚,该视角下的牛群重叠情况相对较轻,牛群呈群体式分布。第三种为室外普通摄像头图像,分辨率大小不一,标注牛只2777只,只包含白天的图像66张,如图1(c)所示,该场景下的
牛群分布较为均匀且遮挡不严重,属于简单场景。第四种为室内普通摄像头图像,分辨率大小不一,总共包含174张图像,标注牛只4440只,其中白天的图像157张,夜晚的图像17张,如图1(d)所示,该场景下的牛群特征较明显,但分布较为密集,且重叠程度非常高,属于困难场景。
[0073]
表1牛群数据集数据分布情况
[0074][0075][0076]
1.2密度图生成
[0077]
对于卷积神经网络,最终模型性能的好坏很大程度取决于监督数据的质量。拥有高质量的密度图能更好的对密度估计模型进行训练。这里生成密度图包含两步:1.牛群图像标注;2.将牛群图像标注转换为牛群密度图。
[0078]
一幅图像中,如果在xi位置有一头牛,将其表示为函数δ(x-xi),一个标记有n头牛的标注图像可以表示为一个函数:
[0079][0080]
在标注信息中,像素点值为1表示该区域有一头牛,但在真实的图片中,每头牛是有一定大小的,应该对应图片中的一小片区域,使用一个像素点表示显然十分不合理。而高斯核函数是一个正态分布钟形线,坐标越趋近中心点,值就越大,反之越小。所以使用高斯核函数将这个中心点的像素值用其周围点像素值的加权平均代替,使模糊半径内的像素点的权值相加等于1。这样既不影响生成的密度图中总的牛只数量,又能够比较真实的反映每头牛在空间中的位置特征。对于每一张图像i,将标注图像函数与高斯核g
σ
进行卷积得到密度:
[0081][0082]
其中为真实密度信息,σ为高斯协方差。生成的密度图如图2所示,a为原图,b为经过高斯核卷积后得到的密度图。
[0083]
2.多尺度残差视觉信息融合牛只密度估计方法
[0084]
本章将介绍提出的多尺度残差视觉信息融合牛群密度估计方法。首先介绍网络架构,其次详细介绍多尺度残差特征感知模块,最后介绍本文使用的损失函数。
[0085]
2.1网络结构
[0086]
为了解决牛只分布不均匀,尺度变化大的问题,本文采用多尺度的感受野提取特征,通过融合多尺度特征,提出一个适用于牛只密度估计的多尺度残差牛只密度估计网络(multi-scale residual visual information fusion cattle density estimate network,mrvnet)。该网络结构由前端特征提取网络、后端多尺度特征感知模块以及回归头组成,如图3所示。vgg-16(simonyan k,zisserman.a very deep convolutional networks for large-scale image recognition[eb/ol].(2015-04-10)[2021-10-13].http://arxiv.org/abs/1409.1556)网络由于其强大的特征提取能力,常被用于人群密度估计的特征提取。本文同样使用vgg-16作为前端特征提取网络提取牛只特征,在实现中保留vgg-16网络的前十层卷积和三个池化层作为骨干特征提取部分,后端由三个多尺度残差特征感知模块组成,该模块利用其多个尺度的感受野,提取更深层的语义信息,并通过密集连接的方式保存浅层的特征信息。最后通过一个密度回归头得到回归的密度,在进行八倍上采样,将密度图还原到原图分辨率,得到最终的预测密度图。
[0087]
2.2多尺度空洞卷积的残差特征感知
[0088]
牧场中牛群分布通常是不均匀的,所以图像上不同区域的牛群密度不一样。同时由于摄像头拍摄角度的问题,在现实中体型相同的牛,离摄像头近的更大,离摄像头远的更小。因此需要不同大小的感受野来捕捉不同尺度的特征。但增大卷积核会导致网络的参数量增加,而在牧场应用智能计数功能通常需要在边缘设备上运行程序,边缘设备的内存有限,所以参数量大的模型不适用,因此本文采用空洞卷积来解决网络参数量上升的问题。
[0089]
2.2.1空洞卷积
[0090]
空洞卷积是yu(yu f,koltun v.multi-scale context aggregation by dilated convolutions[eb/ol].(2016-04-30)[2021-10-13].https://arxiv.org/abs/1511.07122)等人为了解决图像分割的问题提出的。与普通卷积不同的是空洞卷积引入了“空洞率”超参数。该参数通过控制在卷积核中插入空洞的数量,在保持图像分辨率、不增加参数量的情况下,增大感受野。但空洞卷积也存在缺点,会导致网格效应。因为空洞卷积是通过在普通卷积中插入空洞来扩大感受野,所以卷积核不连续,其采样的特征是离散的,缺乏相关性,且空洞率越大,被忽略的特征就会越多。例如图4(a)所示,空洞率为1时感受野为3x3,此时也就是普通卷积,感受野中的每一个像素点都被使用,当空洞率为2时感受野为5x5,如图4(b)所示,被使用的像素点只有9个,使用率36%,当空洞率为3时感受野为7x7如图4(c)所示,这时被使用的像素点仍然是9个,使用率下降到18%。
[0091]
2.2.2多尺度残差特征感知模块
[0092]
使用vgg-16进行特征提取使得特征图分辨率逐渐下降,而对于像素密集型任务来说,过小的分辨率会损失很多细节信息,因此本文使用vgg-16前十层卷积,并取第三次池化操作后的结果作为后端的输入。使用空洞卷积可以获取更大的感受野,但当堆叠多个相同空洞卷积时,有一部分像素始终会被忽略掉,即部分信息会被完全丢失,这也对像素密集型预测任务非常的不利。因此,本文为了弥补这部分完全丢失的像素提出多尺度残差特征感知模块(mutil-scale residual module,msr),模块结构如图5所示。该模块由三个不同空洞率的空洞卷积以及两个普通卷积组成。首先通过一个3*3*512的卷积降低通道维度,减少后续计算量,再利用三个并列的空洞卷积提取多尺度的特征,空洞率分别为1,2,3。空洞率
为1也就是普通卷积,该卷积能够捕捉图像的每一个细节,空洞率为2和3的卷积能够获取更大感受野,得到多尺度的特征。再通过恒等映射的方式,将提取的三个多尺度特征与输入相加,构成残差结构,使得由空洞造成的像素信息丢失得到补充,得到融合特征。每个空洞卷积后面都连接线性整流单元(rectified linear unit,relu)激活层,最后将融合的特征通过一个3*3*512卷积进一步融合。
[0093]
2.2.3密集多尺度残差连接
[0094]
牛群图像经过vgg-16特征提取后得到低层特征图,低层特征图对目标的定位相对准确,但包含的语义信息少。因此,基于牛群图像尺度变化大的特性,本文使用多尺度空洞卷积来提取深层的语义信息,并将低层位置特征与高层语义特征进行融合,使得最后密度预测时能保留目标的位置信息,同时过滤背景信息的干扰。本文提出的多尺度残差特征感知模块以上一层模块的输出作为输入,经过该模块卷积后,将前几层模块的输入与当前模块的输出进行融合。模块间的每一层都与后面其他层紧密连接,以便每层的信息都可以传递到后续层。
[0095]
2.3损失函数
[0096]
密度估计方法多采用欧几里得损失来测量估计密度与真实密度之间的估计误差,当一组训练样本数据为xi,i=1,2,3,...,n,时,欧几里得损失函数为:
[0097][0098]
其中n为一个训练批次中图像数量。
[0099]
欧几里得损失函数评测像素级的预测差距,其忽略了估计密度图与真实密度图之间的全局和局部相关性。而多尺度密度水平一致性损失利用池化操作将密度图划分成不同大小的子区域,每个子区域代表不同位置的密度水平,通过与相应区域真实值之间的约束,加强了密度图之间的全局和局部相关性。其定义如下:
[0100][0101]
其中s表示密度图划分的密度等级数,p
ave
表示平均池化,kj表示平均池化的输出大小。本文将密度图划分为四个等级,平均池化的输出大小分别为1x1,2x2,4x4,8x8。其中1x1大小的输出可以捕获全局的信息,其余三个能捕获局部的信息。
[0102]
因此将两个损失相加,得到最终的损失函数:
[0103]
l=le λlcꢀꢀꢀ
(5)
[0104]
其中le为欧几里得损失,lc为多尺度密度水平一致性损失,λ为权重超参数,用来平衡像素级和密度级损失。
[0105]
3.实验分析
[0106]
本节将介绍模型训练的具体细节,并实验比较使用目标检测与密度估计方法所预测牛只数量与真实牛只数量的误差。由于良好的模型结构设计以及联合损失函数,本网络结构可以进行端到端的训练。
[0107]
3.1训练细节
[0108]
在预训练好的vgg-16模型上进行微调,所有新的层都由均值为0,标准差为0.01的
高斯分布初始化。学习率为5e-6,权重衰减为5e-4,采用adam(adaptive moment estimation)优化器进行优化。此外,在训练过程中,对训练数据使用一些数据增强方法:
[0109]
a.随机按照图像的1/4大小将图像裁剪为四份互不重叠的图像块,或随机裁剪一块图像1/4大小的图像块;
[0110]
b.0.5的概率将图像块垂直翻转;
[0111]
c.考虑到光照的变化,0.3的概率使用参数为[0.5,1.5]进行伽马变化。
[0112]
3.2评价指标
[0113]
在测试阶段不会将图像进行裁剪,而是将整个图像输入到网络中生成密度图,并采用平均绝对误差(mae)和均方根误差(rmse)对网络进行评价。其中平均绝对误差是绝对误差的平均值,能很好的反映预测值与真实值误差的实际情况,其表达式如式6:
[0114][0115]
其中n为测试集中图像数量,表示预测的牛群数量,表示真实的牛群数量。
[0116]
均方根误差是均方误差的算术平方根,代表预测值与真实值之差平方的期望值开方,可以评价数据的变化程度,rmse的值越小,预测模型描述实验数据准确度、鲁棒性越高,其表达式如式7:
[0117][0118]
3.3实验结果分析
[0119]
为证明本文方法的有效性,在本文创建的牛只数据集与一个基准人群密度估计数据集(shanghaitech)(zhang yingying,zhou desen,chen siqin,et al.single-image crowd counting via multi-column convolutional neural network[c]//proc of ieee conference on computer vision and pattern recognition.piscataway,nj:ieee press,2016:589-597)上验证了效果。
[0120]
3.3.1mrvnet在牛只数据集的性能评估
[0121]
在牛群数据集上对比了目标检测方法yolov4、yolov5、密度估计方法mcnn、csrnet、dsnet与kdmg计数结果。其中目标检测方法通过对图像上的目标进行检测,统计检测到的目标框的数量计算计数数量。使用mae和rmse指标来评价计数的准确性与模型的鲁棒性。
[0122]
在牛群数据集上mae与rmse的评价结果如表2所示。可以看到对比其他方法,本文方法mrvnet的mae和rmse都是最低的,与次优的方法dsnet比mae下降了34.6%左右,rmse下降了43.9%左右。从不同的方法的实验结果可以观察到:yolov4和yolov5目标检测方法通过统计检测到的牛只目标框进行计数,由于牛群目标重叠严重、小目标多,这种场景下使用目标检测的方法会产生很多漏检;相比目标检测的方法,csrnet、dsnet、kdmg这类基于密度估计的方法计数效果更好,这些算法更加适应牛群数据遮挡严重的情况;mcnn通过三个不同的卷积通道学习不同大小的特征,但由于分支结构限制,每列的信息并没有产生共享,实际的效果也证明该方法并没有很好的适应牛群的多尺度变化;csrnet在网络后端使用空洞卷积保持特征的分辨率不变并提取更加深层的特征,该方法能提取更加细致的特征,但仍
然无法适应尺度变化大的问题;dsnet利用密集连接的空洞卷积来保持信息的连续传递,以及多尺度特征的提取,但过于密集的连接容易导致数据的过拟合,由于训练数据中属于50-100这个数量级的训练数据占比非常小,该网络对这部分数据的预测准确率直线下降;kdmg方法利用网络预测的结果来生成监督信息,但使用的约束较少,导致生成的监督信息并不特别适用于牛群数据集;而本文的mrvnet叠加多个多尺度残差特征感知模块,利用三个不同空洞率的空洞卷积提取多尺度特征,适应牛群的尺度变化,同时采用残差连接的方式将浅层的特征信息传递到深层,削弱了由空洞卷积带来的网格效应,弥补了丢失的像素特征信息,因此在mae值和rmse值上均能达到最佳性能。该实验证明mrvnet能够较为准确的计数牛场中牛群的数量,整体平均误差在1.7左右。
[0123]
表2牛群数据集上的估计误差
[0124][0125]
为了使结果分析看起来更加的清晰,将牛群数据集按照真实标签数据升序排列,并将其划分为11组,前十组数据都包含31张图像,最后一组包含2张图像。测试结果如图6中所示,横坐标表示分组组号,纵坐标表示每张图像中牛的数量,本文方法在各个组的预测数据都与真实数据重合度较高。mcnn整体预测数量偏低,csrnet对于牛只数量较少,场景简单的牛只预测量准确,而对于数量超过18的牛只数量预测偏少,dsnet和kdmg方法在牛数量超过20的预测相对不准确。而目标检测的方法由于牛群遮挡情况严重,检测效果不佳所以整体预测数量都偏低。综上所述本文的mrvnet方法对牛群数量估计最准确且鲁棒性更好。
[0126]
在牛群数据集上各模型的部分预测结果如图7所示。第一列为原始牛群图像,第二列为真实密度图,之后每一列分别为mcnn、csrnet、dsnet、kdmg预测的密度图,最后一列为本文方法mrvnet预测的密度图。图中gt为真实牛只数量,est为密度预测数量。
[0127]
本文方法mrvnet预测值在任何场景中都比较贴近于真实值。从预测密度的分布来看,本文方法与真实密度图的分布更加匹配。对比密度图生成质量,mcnn网络受背景的干扰比较大,会将一些背景信息识别成牛,特别是在鱼眼室内摄像头的夜晚场景以及室内普通摄像头场景中,mcnn方法几乎失效,背景与牛群信息无法分别。csrnet在室内鱼眼摄像头夜晚和室内普通摄像头这两种场景受背景干扰较大,模型的鲁棒性较差从预测密度图的个体区分性来看,本文方法对稀疏的场景有比较清晰的边界区分,即使在区分度不大的黑牛群体,也能有较清晰的边界,同时预测数量较为准确。对比csrnet、dsnet在黑牛场景下边界信息非常不清晰,预测数量差距较大。在简单场景下,kdmg效果与本文方法效果相当,但在室
内普通摄像头场景受光线影响较大,在光线较暗的地方预测的密度图过于稀疏。综合多个方面来说,本文提出的密度估计网络结果更加准确,预测的密度分布与真实密度图分布更加接近,且对各种场景的适应性都比较好,对于稀疏的场景能较为清晰的分辨出边界,对背景的抗干扰能力较强。
[0128]
3.3.2mrvnet在shanghaitech数据集上的性能评估
[0129]
mrvnet不仅在牛群数据集的密度预测效果较好,同时在人群密度估计中也能取得较好的结果。shanghaitech是一个大型密集人群密度估计数据集,包含shanghaitech_a和shanghaitech_b两部分。shanghaitech_a部分随机采集于互联网上,人群分布较为密集,情况更加复杂。shanghaitech_b部分采集于上海某商业街,每张图像的人数相对稀疏。在该数据集上的实验结果如表3所示。
[0130]
在较为复杂的shanghaitech_a部分,mrvnet的mae和rmse都优于目前先进的方法,shanghaitech_b部分也达到了次优的效果。该实验从侧面验证了本文mrvnet方法有较强的适应性和鲁棒性,针对完全不同的场景和目标都能有较好的预测结果。
[0131]
表3 shanghaitech数据集上的估计误差
[0132][0133]
4.总结
[0134]
综上可知:本发明针对牛群分布不均,尺度变化大的问题本文提出了多尺度残差牛群密度估计网络,利用不同空洞率的空洞卷积来获得多尺度的特征,再加入残差结构,减弱了使用空洞卷积带来的网格效应问题。实验证明与传统的人群密度估计方法比,本文提出的方法效果更好,计数更加准确模型鲁棒性更好。
[0135]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0136]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换
和变型,本发明的范围由所附权利要求及其等同物限定。
转载请注明原文地址:https://tc.8miu.com/read-344.html