一种基于堆叠沙漏网络的群养猪体尺测量方法

文档序号:29073189发布日期:2022-03-01 21:58阅读:252来源:国知局
一种基于堆叠沙漏网络的群养猪体尺测量方法

1.本发明涉及计算机视觉领域、检测领域以及养殖技术领域,具体为一种基于堆叠沙漏网络的群养猪体尺测量方法。


背景技术:

2.现代养猪场趋向于智能化、自动化的发展方向,这就需要现代化智能方法来管理群养模式下的猪只。猪的体尺可以反映猪的生长发育状况,也是种猪选育、肉质评价的重要指标。在我国现阶段内,群养猪的体尺测量方法主要包括人工测量和传统机器学习方法。其中,采用人工测量方法对猪体进行直接接触,会导致猪产生应激反应,测量效率低下,人畜之间疾病传播等问题。基于传统机器学习方法的猪体尺测量,大多是对猪的静态图像进行轮廓提取,然后利用基于包络线的凹陷结构的拐点提取算法找到猪体关键角点,从而计算猪的体尺数据,但是这种方法要求采集的猪体图像完整、背部笔直、无歪头。在实际图像采集过程中,由于猪的生活习性,很难采集到理想图像,并且群养状态下的猪体容易相互遮挡、粘连,这种方法难以应用于群养猪场。
3.关节点检测来自于人体姿态检测,人体关节点检测是诸多计算机视觉任务的基础,例如动作分类,异常行为检测以及自动驾驶等。近年来,随着深度学习技术的发展,人体关节点检测效果不断提升,已经开始广泛应用于计算机视觉的相关领域。堆叠沙漏网络是关节点检测技术的一种,其将轻量级的沙漏网络按照端到端的方式进行堆叠,不仅能在不同尺度上提取特征,而且可以获取关节点之间的空间关系。
4.本发明针对复杂环境下的群养猪,利用实例分割技术分离图像中的猪体,基于堆叠沙漏网络获取用于体尺测量的猪体关节点,并且设计关节点筛选算法对关节点检测结果进行筛选后再进行猪体尺测量,部分解决了现有技术中在猪体尺测量中所存在的缺陷。


技术实现要素:

5.为解决上述问题,本发明公开了提供一种基于堆叠沙漏网络的群养猪体尺测量方法,本发明要解决的技术问题:一是对群养状态下的猪体进行分离;二是基于堆叠沙漏网络获取猪体关节点;三是对猪体关节点检测结果进行筛选;四是基于筛选后的关节点检测结果提供一种非接触式体尺测量方法。
6.为解决上述技术问题,达到本发明的目的,本发明采取的技术方案如下:
7.一种基于堆叠沙漏网络的群养猪体尺测量方法,包括以下步骤:
8.s1、在群养猪舍环境下得到猪只图像的初始样本库,将初始样本库输入基于掩码区域的卷积神经网络(mask region-based convolutional neural network,mask r-cnn),提取通过mask r-cnn的区域建议框网络得到的感兴趣区域(region of interest,roi)和掩膜网络得到的掩膜(mask),两者进行融合处理,将图像中多目标猪体进行分离,建立新的样本库。
9.s2、将新的样本库输入堆叠沙漏网络(stacked hourglass network,shn)获得猪
体关节点,所述堆叠沙漏网络以残差模块作为基础模块,可以提取不同尺度的特征,通过对4个沙漏网络进行堆叠,可以更好地获取特征点之间的空间关系。
10.s3、设计基于支持向量机(support vector machine,svm)分类算法的关节点筛选方法,通过给定不同特征的猪体关节点样本,寻找一个超平面对样本进行分类,进而筛选出适合进行体尺测量的关节点样本。
11.s4、构建体尺测量模型,利用关节点筛选结果得到猪体五个关节点,对猪的体尺数据进行计算。
12.进一步,所述步骤s1的具体过程如下:
13.s11、在群养猪舍内,在猪舍正上方安装深度相机,获取俯视角度的深度图像;对获得的深度图像,用中值滤波方法去除大量干扰噪声,用限制对比度自适应直方图均衡化进行增强,得到原始样本库;用图像标注工具labelme对初始样本库中图像的猪体外包围框进行标注,获得初始训练样本集。
14.s12、将初始样本库输入mask r-cnn,所述mask r-cnn是在faster r-cnn的基础上改进的两阶段实例分割算法,能同时实现多目标分类、目标检测和掩膜分割。
15.s13、提取通过mask r-cnn的区域建议框网络得到的roi和掩膜网络得到的mask,两者进行融合处理,进而将图像中多目标猪只进行分离,建立新的样本库。
16.进一步,所述步骤s12中的mask r-cnn是两阶段的目标检测网络:第一阶段通过构建特征金字塔网络进行多尺度特征融合,接着输入区域建议框网络中生成目标对象的roi,实现对群养猪舍下的猪体进行分离;第二阶段使用感兴趣区域对齐(roi align)后输入全连接层获得分类和边框回归的结果,同时mask r-cnn还为每个roi输出一个猪只的二进制mask,将猪只的roi和mask作为构建新的样本库的基础。
17.进一步,所述步骤s12中的mask r-cnn的主干特征提取网络由深度残差网络resnet101和特征金字塔网络构成,猪只图像通过主干特征提取网络可以得到五个不同尺度大小的特征层,将五个特征层依次输入到区域建议框网络预测猪只的候选框坐标,接着用得到的候选框对输入到roi align层的特征图进行截取并固定尺寸,得到固定尺寸大小的roi。最后,经过全连接层得到了mask r-cnn的三个分支的输出,其中两个分支进行分类和边框回归操作,另一个分支是在已经得到包含猪只的检测框内,用一个全卷积网络来对检测框内像素点进行分类,并通过上采样得到最终的猪只mask。
18.进一步,所述步骤s13的roi和mask指的是通过mask r-cnn从群养猪图像中分离的猪只rgb roi图像和与其匹配的二值mask图像。将猪只的二值mask图像进行三通道复制扩充之后与rgb roi图像进行点乘操作,得到的猪只mask rgb图像实现了背景抠除。将mask rgb图像固定尺寸大小为256
×
256像素(尺寸不足进行零填充),将其进行90度、180度、270度、水平镜像和垂直镜像扩增后得到新的样本库。
19.进一步,所述步骤s2输入堆叠沙漏网络之前,将新的样本库进行训练集、验证集和测试集划分。用标注软件labelme对训练集中图像的猪只外包围框,以及左耳根、右耳根、左背部、右背部、尾根五个关节点进行标注,所述的训练样本集包括图像数据集和.txt格式的标签文件。
20.进一步,所述步骤s2中的堆叠沙漏网络由4个沙漏网络堆叠而成,所述每个沙漏网络的结构是左右对称的,采用残差模块作为基础模块,可以提取猪只图像不同尺度的特征,
通过卷积层和池化层的堆叠使前一个沙漏网络模块学习到的猪只图像的语义信息作为下一个沙漏网络模块的输入,使得堆叠沙漏网络学习到丰富的语义特征。所述堆叠沙漏网络中的每个沙漏网络结构之间存在跨阶段连接,每个沙漏网络分别对应一个损失函数,参与最终的损失函数计算,进而减少最终损失信息,提升模型的预测精确度。
21.进一步,所述步骤s2将新的样本库输入堆叠沙漏网络,具体为猪只图像首先通过初始卷积模块后使得分辨率从256降到64,图像经过一次降采样操作后输入到第一个沙漏网络中,沙漏网络的输出结果经过残差模块与卷积层处理后得到第一个响应热图。将前一个沙漏网络的输入的特征图、输出的特征图、得到的响应热图三者进行融合,作为后一个沙漏网络的输入,得到的每个沙漏网络生成的响应热图都参与损失值的计算。经4个级联的沙漏网络后最终输出一个响应热图,将响应热图与原始图像做坐标变换即获得了猪只的五个关节点:左耳根、右耳根、左背部、右背部、尾根。
22.进一步,所述步骤s3的具体过程如下:
23.s31、将步骤s2获得的猪体关节点标记为体尺测量点,如图3所示,其中点1、点2表示左耳根和右耳根测量点,点3、点4点表示左背部和右背部测量点,点5表示尾根测量点,将测量点6设置为点1、点2的中点。
24.s32、建立区分关节点样本好坏的5个特征,如图4所示,具体为计算步骤s2获得的猪体关节点数目num、连线l
12
与连线l
56
的角度∠1、连线l
34
与连线l
56
的角度∠2、连线l
12
与连线l
34
的延长线的角度∠3、点6到l
34
的垂直距离d1与点5到l
34
的垂直距离d2的比例建立特征向量其中i表示第i个样本,jpi表示第i个样本的特征向量,如果第i个样本的特征向量代表的关节点样本是适合体尺测量的样本,将jpi标记为1,否则标记为-1。
25.s33、利用带有高斯核函数的svm算法构建关节点筛选模型,svm二分类模型具体为:g(jp)=w
t
φ(jp)+b
26.其中w为超平面的权系数,b为分类阈值,核函数φ(jp)代表了将数据映射到高维空间从而增加线性学习的能力,选择φ(jp)为高斯核函数,如式:
[0027][0028]
利用网格搜索的方法搜索模型的惩罚系数和内核系数,找到模型的最优参数,对通过堆叠沙漏网络得到的关节点样本进行分类,筛选出适合进行体尺测量的关节点样本。
[0029]
进一步,所述步骤s4中的体尺测量模型测量猪的体尺包括:体长、体宽,体宽指的是猪只背部宽度。利用步骤s3中经过关节点筛选算法获得的猪只关节点,计算点5到点6的距离得到猪只体长数据,计算点3到点4的距离得到猪只体宽数据,体尺计算公式如表一所示:
[0030]
表一
[0031][0032]
(三)有益效果
[0033]
与现有技术相比,本发明提供了一种基于堆叠沙漏网络的群养猪体尺测量方法,具备以下有益效果:
[0034]
1、该基于堆叠沙漏网络的群养猪体尺测量方法,将计算机视觉技术、检测技术以及养殖技术多领域交叉融合。
[0035]
2、该基于堆叠沙漏网络的群养猪体尺测量方法,在利用堆叠沙漏网络获得关节点之前,先将群养猪只进行分离得到单个猪只图像,并进行尺寸固定及数据增强,以提高输入堆叠沙漏网络的训练样本质量,避免猪舍环境复杂、猪体遮挡、粘连等情况导致关节点检测准确率低下的问题。
[0036]
3、该基于堆叠沙漏网络的群养猪体尺测量方法,基于svm设计了关节点筛选方法,在计算猪体尺数据之前先对关节点检测结果进行筛选,具体要求图像中猪体完整,无歪头、低头现象,背部呈笔直状,避免猪体姿态不理想、关节点检测结果不准确而导致猪体尺计算准确率低下的问题。
附图说明
[0037]
图1是本发明总体方法流程图;
[0038]
图2是堆叠沙漏网络结构图;
[0039]
图3是本发明的猪体尺数据测量点示意图,其中1、2表示左耳根和右耳根测量点,3、4点表示左背部和右背部测量点,5表示尾根测量点,6表示1和2的中点。
[0040]
图4是本发明用于筛选猪体关节点的部分特征示意图,其中∠1表示连线l
12
与连线l
56
的角度、∠2表示连线l
34
与连线l
56
的角度、∠3表示连线l
12
与连线l
34
的延长线的角度、表示点6到l
34
的垂直距离d1与点5到l
34
的垂直距离d2的比例。
具体实施方式
[0041]
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
[0042]
图1为基于堆叠沙漏网络的群养猪体尺测量方法的流程图,以下结合附图和实施例对本发明做进一步的阐述。
[0043]
实施例1
[0044]
具体实现为:
[0045]
步骤一、在群养猪舍内,用深度相机获取群养猪舍的深度图像,经过对原始的图像
进行预处理,完成初始样本库的建立;将初始样本库输入mask r-cnn,所述mask r-cnn是在faster r-cnn的基础上改进的两阶段实例分割算法,能同时实现多目标分类、目标检测和掩膜分割;提取通过mask r-cnn的区域建议框网络得到的roi和掩膜网络得到的mask,两者进行融合处理,进而将图像中多目标猪只进行分离,建立新的样本库。
[0046]
步骤二、将新的样本库输入堆叠沙漏网络获得猪体关节点,所述堆叠沙漏网络以残差模块作为基础模块,可以提取不同尺度的特征,通过对4个沙漏网络进行堆叠,可以更好地获取特征点之间的空间关系。
[0047]
步骤三、设计基于svm分类算法的关节点筛选方法,通过给定不同特征的猪只关节点样本,寻找一个超平面对样本进行分类,进而筛选出适合进行体尺检测的关节点样本。
[0048]
步骤四、构建体尺测量模型,利用关节点筛选方法得到猪只五个关节点,对猪的体尺数据进行计算。
[0049]
所述步骤一的初始样本库建立方法具体包括:猪只深度图像可以通过在群养猪舍安装深度摄像机来实时获得,例如通过将深度摄像机固定于距离地面一定高度,以俯视角度拍摄来获取深度视频图像。深度图像提供了距离信息,为后续体尺测量提供了数据信息。将深度视频图像转换为深度图像,用于标注训练样本和识别测试。对采集到的深度图像,首先用中值滤波方法去除大量干扰噪声,然后用限制对比度自适应直方图均衡化对深度图像进行增强,以提高对比度,得到深度图像初始样本库。用图像标注工具labelme对初始样本库中图像的猪体外包围框进行标注,获得初始训练样本集。
[0050]
所述步骤一的mask r-cnn对群养猪图像进行实例分割的具体过程为:首先,将群养猪图像缩放到固定尺寸,输入到主干卷积神经网络中,经resnet101以及特征金字塔网络得到猪只图像不同尺度的五个特征图。将特征图依次送入区域建议框网络中提取可能存在目标的roi,也即得到了区域建议框网络预测的候选框。接着用候选框对输入到roi align层的特征图进行截取并固定尺寸,roi align通过缩放方法“双线性插值”保留了被量化操作直接舍弃的浮点数坐标上的图像数值,使得原始图像的像素和特征图的像素完全对齐,得到固定尺寸大小的roi。最后,经全连接层得到了mask r-cnn的三个分支的输出:其中两个分支经过全连接层进行分类和边框回归操作,分类是对检测得到的包含猪只的区域和背景进行分离,边框回归是用于修正包含猪只的边框,使其更加精确。mask r-cnn新增加的掩膜分支是用一个全卷积网络来对检测框内的像素点进行分类,并通过上采样得到适应原图大小的猪只mask。
[0051]
训练过程中,两阶段mask r-cnn实例分割算法模型的损失函数可以分为三部分:一部分是边框回归的损失函数,一部分是分类网络的损失函数,另一部分是掩膜分支的损失函数,总的误差函数的表达式如式:
[0052]
l=l
cls
+l
reg
+l
mask
[0053]
其中分类分支损失函数l
cls
为交叉熵函数,回归分支损失函数l
reg
为smooth
l1
损失函数,分割掩膜分支损失函数l
mask
为平均二进制交叉熵损失函数。
[0054]
所述步骤一的roi和mask指的是固定尺寸大小的群养猪图像通过mask r-cnn分离的猪只roi图像和与其匹配的mask图像。其中roi图像是rgb图像,mask图像是二值图像,先将mask图像通道进行复制扩充变为三通道图像后与roi图像进行点乘操作,得到融合后的mask rgb图像,实现了猪体分离以及背景抠除目的,利于后续关节点检测。由于后续用于关
节点检测的堆叠沙漏网络要求的图像数据尺寸为256
×
256像素,将得到的mask rgb图像缩放为256
×
256像素尺寸大小后进行90度、180度、270度、水平镜像和垂直镜像扩增,最终得到新的样本库。将新的样本库进行训练集、验证集和测试集划分。用标注软件labelme对训练集中图像的猪只外包围框,以及左耳根、右耳根、左背部、右背部、尾根五个关节点进行标注,所述的训练样本集包括图像数据集和.txt格式的标签文件。
[0055]
所述步骤二中的堆叠沙漏网络结构如图2所示,所述堆叠沙漏网络由4个沙漏网络堆叠而成,其中残差模块是网络中的基础模块,所述残差模块主要是由三个核尺度不同的卷积层组成的主路和包含一个核尺度为1的卷积层组成的旁路构成,其提取较高层次的特征的同时保留了原有层次的信息,不改变数据尺寸,只改变数据深度。
[0056]
所述堆叠沙漏网络的训练过程为:256
×
256像素尺寸大小的猪只图像首先经过一个7
×
7的步长为2的卷积层,再经过一个残差模块与最大池化层使得图像像素尺寸大小变为64
×
64,输入到第一个沙漏网络中。经残差模块卷积输入之后分主路和旁路,旁路在原尺度上进行特征提取,保留图像上各关节点的空间信息,主路首先通过一次下采样将尺寸缩小为原来的一半,再输入到残差模块和卷积层中,在不同分辨率下逐步提取特征。每次提取特征后通过上采样使图像恢复到原始大小,并将其与之前保留下来的在原尺度上提取特征的图像进行融合,每一个沙漏网络的输出结果经过残差模块与卷积层处理后得到第一个响应热图。如此反复,将前一个沙漏网络的输入的特征图、输出的特征图、得到的响应热图三者进行融合,作为后一个沙漏网络的输入,4阶沙漏网络就能提取原始尺寸的1/2、1/4、1/8、1/16的关节点特征,即完成了多尺度特征提取。经4个级联的堆叠沙漏网络后最终输出一个响应热图,将响应热图与原始图像做坐标变换即获得了猪体的关节点。
[0057]
每一个沙漏网络输出的热图都与真实热图进行比较,在4个阶段都分别进行损失值的计算,4个阶段的损失值参与了沙漏网络整个损失函数的计算,提升了模型的预测精确度。损失函数的计算使用均方误差如式:
[0058][0059]
其中xi′
表示预测的热图中的关节点坐标,xi表示真值坐标;n表示图像中所包含的关节点的数目,这里为5。总的损失如式:
[0060]
l=l1+l2+l3+l4[0061]
其中li(i=1,2,3,4)表示每一个阶段的热图损失。
[0062]
所述步骤二的堆叠沙漏网络训练参数设置为:bach_size设置为4,网络优化器选用rmsprop,学习率初始值为0.00025,训练过程中步数每增加2000步学习率下降4%。
[0063]
所述步骤三利用带有高斯核函数的svm算法对猪体关节点进行筛选,首先将步骤二获得的猪体的五个关节点标记为体尺测量点,并在此基础上建立特征值,然后利用网格搜索的方法搜索模型的惩罚系数和内核系数,建立猪体关节点筛选模型。
[0064]
所述体尺测量点,如图3所示,其中点1、点2表示左耳根和右耳根测量点,点3、点4点表示左背部和右背部测量点,点5表示尾根测量点,将测量点6设置为点1、点2的中点。建立区分关节点样本好坏的5个特征,如图4所示,具体为计算步骤二获得的猪体关节点数目num、连线l
12
与连线l
56
的角度∠1、连线l
34
与连线l
56
的角度∠2、连线l
12
与连线l
34
的延长线
的角度∠3、点6到l
34
的垂直距离d1与点5到l
34
的垂直距离d2的比例按照以下方式建立样本集:其中i表示第i个样本,jpi表示第i个样本的特征向量,如果第i个样本的特征向量代表的关节点样本是适合体尺检测的,将jpi标记为1,即yi=1,否则yi=-1。将样本特征记为:jp=[jp1,jp2,...,jpn],即5
×
n的矩阵,标签记为:y=[y1,y2,...,yn],即1
×
n的行向量。将上述矩阵和向量组合成6
×
n的矩阵x=(jp;y)作为样本集,并且将其划分为训练集和测试集。
[0065]
所述svm二分类模型具体为:
[0066]
g(jp)=w
t
φ(jp)+b
[0067]
其中w为超平面的权系数,b为分类阈值,核函数φ(jp)代表了将数据映射到高维空间从而增加线性学习的能力,选择φ(jp)为高斯核函数,如式:
[0068][0069]
根据所述非线性svm二分类模型建立目标优化函数:
[0070][0071]
在条件:yi(w
t
φ(jpi)+b)≥1-ξi下,其中ξi≥0,i=1,2,......,n。式中,ξi为每个样本i的松弛变量,每一个样本都有一个对应的松弛变量,表征该样本不满足约束的程度。c称为惩罚参数,c值越大,对分类的惩罚越大。
[0072]
训练样本的学习过程实质上就是通过网格搜索法来寻找惩罚系数c和内核系数的最优组合,建立最优关节点筛选模型。
[0073]
所述步骤四的计算猪体尺数据具体包括计算体长和体宽数据,定义体长为猪只两个耳根中点到尾根的长度,体宽为猪只背部宽。利用步骤三关节点筛选方法筛选获得的猪只关节点,计算点5到点6的距离得到猪只体长数据,计算点3到点4的距离得到猪只体宽数据。
[0074]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1