基于深度学习和图像处理的马体尺测量方法与流程

文档序号:19895970发布日期:2020-02-11 13:16阅读:687来源:国知局
基于深度学习和图像处理的马体尺测量方法与流程

本发明涉及图像处理技术领域,具体为基于深度学习和图像处理的马体尺测量方法。



背景技术:

马体尺数据是衡量马的生长发育及科学饲养、育种的重要依据。基于深度学习的马体测量技术重点解决了马体与背景的有效分割问题。yolact是一种较为简单的全卷积网络实现实例分割的方法,该方法以其快速、易泛化、且产生高质量的mask等技术优势适用于不同实例分割场景。马体的目标检测与背景分割过程采用该方法首先看中其在ms-coco数据集上约30map的分割表现;其次马场目标检测对象及环境相对单一,目标图像的动态稳定性不作要求,且检测的精度相对不高,就yolact进行实例分割的图像低损失率而言,符合马体目标检测与背景分割的基本要求。

目前,大型马场的马养殖方式以散养居多,采集马体的图像信息时不可避免的纳入草场的背景、房屋、其他建筑甚至养殖人员等,现有的手段对马体尺数据的的测量不够精准,误差较大,为此提出一种基于深度学习和图像处理的马体尺测量方法。



技术实现要素:

为了解决上述的问题,本发明提供了一种基于深度学习和图像处理的马体尺测量方法。

本发明解决其技术问题采用以下技术方案来实现:

一种基于深度学习和图像处理的马体尺测量方法,该方法包括以下步骤:

步骤1、yolact的分割:yolact将分割问题分解为两个并行的过程,利用擅长产生语义向量的全连接fc层和擅长产生空间相干掩模的卷积conv层分别产生“掩模系数”和“原型掩模”,将掩膜和预测的相应系数进行线性组合,并通过预测的b-box进行裁剪,实现掩膜合成,计算中通过单个矩阵乘法实现;

步骤2、马体分割图像的预处理:通过yolact分割,获取蓝色透明的马体掩膜,将蓝色透明掩膜换成白色掩膜和黑色掩膜,并通过白色掩膜和黑色掩膜进行异或运算去除背景,再与原图点乘,即可得到预处理的马体测量模型;

步骤3、马体尺测量点的标定:首先进行马体边缘检测,使用canny算子对经过yolact实例分割的伊犁马体图像进行轮廓提取,在马体边缘检测的基础上进行马体测点的harris角点检测,再采用角点检测方法寻找马体尺的关键节点;

步骤4、马体尺的测量:

1)体高的获取:

对站姿各异、体型不同的马体而言,动态网格中各测点的标定均建立在其轮廓图像中平均像素值变化的基础之上,计算方式如公式1所示:

进一步的,hu表示为hm均值线以上像素纵坐标的动态均值,计算方式如公式2所示:

而ht则为hu均值线以上像素纵坐标的动态均值,计算见公式3:

其中,用于标定体高的鬐甲顶点a恰好由ht与马体轮廓的相交点得到,与此同时,根据鬐甲顶点到前后足最低点所在直线hb的距离,即为马体的体高,如公式4所示:

ax+by+c=0,

其中ax+by+c=0表示马体前后足底部的连线;

2)体长的获取:

动态网格中wm线表示马体像素点横坐标的均值,计算如公式5所示:

进一步地,网格中wu线表示水平像素均值线wm与其右边界线的等分线,计算如公式6所示:

其中马面水平朝左时flag=1,朝右时flag=-1;

在马体的体长计算中,臀端点b正是由hu与马体轮廓的尾部交点得到;胸骨前缘点c则定为wu与其轮廓交点中纵坐标较大的点,而体长的计算即为臀端点与胸骨前缘点的欧式距离,如公式7所示:

其中(xb,yb)为臀端点坐标,(xc,yc)为胸骨前缘点坐标;

3)体长的修正:

由a(x1,y1)、b(x1,y1)确定的直线l表示马体中心线,其与马体前后足底部的连线ax+by+c=0平行,且与摄像头平面l形成角度为α的夹角,其中各参数间的关系可以由公式8表示:

根据公式7得到的体长数值length带入公式9中,即可得到体长的修正值len_adjust;

4)胸围直径的获取:

与体高、体长的二维数据相比,基于平面图像获取马体的胸围和管围指标更为困难,为此引入两项相关性较强的平面指标:胸围直径和管围直径,用于后期马体胸围、管围的预测;

引入胸围直径旨在利用其与胸围的强相关性,即二者标定的测点在马体平面图像中重合;直线wm与轮廓交点的纵坐标间距即为胸围直径d1,如公式10所示:

5)管围直径的获取:

在管围直径计算中,需要寻找动态网格线hg,即为足底向上三分之一处与前后足轮廓的交点,从中获取最小值即为管围d2,如公式11所示:

其中

优选的,所述马体测点的harris角点检测是在马体边缘检测的基础上,设计中尝试使用常见的harris角点检测方法筛选出候选的测量点;通过调整角点检测的blocksize参数及ksize参数,通过调节参数获得较多角点时,测量所需的测点与非测点并不能很好的区分;反之角点较少时,部分测点被遗失。

与现有技术相比,本发明的有益效果是:本发明所述的基于深度学习和图像处理的马体尺测量方法,通过马场图像采集、实地测量,完成了马体尺测量中关键技术的研究;基于yolact实例分割技术,完成马体与背景的快速、高性能分割;提出动态网格的测点标定方法,完成马体尺特征点的数据标定;采用regress的多元线性回归方式,完成马体尺数据中胸围、管围的数据拟合及三维预测,并以像素为640*480两匹伊犁马体图像为例,定量获得了体尺测量结果;结果表明,基于深度学习和图像测量技术,可有效进行伊犁马体尺的自动测量并将其误差控制在较小范围之间,就大体型动物的体尺测量技术而言,该研究具备范例参考意义。

附图说明

图1为yolact的问题分解原理框图;

图2为马体的实例分割的效果流程图;

图3为实例分割与预处理的流程图;

图4为马体边缘检测的效果对比图;

图5为体尺测点的标定示意图;

图6为体长的数据修正函数线性图;

图7为体尺特征测点的标定。

具体实施方式

下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

下面提供一种较佳的实施方式:

如图1所示,yolact将分割问题分解为两个并行的过程,利用擅长产生语义向量的全连接fc层和擅长产生空间相干掩模的卷积conv层分别产生“掩模系数”和“原型掩模”,将掩膜和预测的相应系数进行线性组合,并通过预测的b-box进行裁剪,实现掩膜合成,计算中通过单个矩阵乘法实现;由此,该实例分割方法在马体特征空间中保持了空域一致性,且满足了马体目标检测的快速分割要求;以伊犁马的图像分割为例,采用yolact方法在训练好的ms-coco数据集上完成马体目标检测与背景分割如图2所示。

在yolact目标检测的前端网络中,低层的特征图信息量较少,但其特征图较大,适于检测目标位置准确、且容易识别一些小的物体;高层特征图信息量比较丰富,但是目标位置较为粗略,因此小物体的检测性能急剧下降;底层的特征图用于检测较小的目标,而顶层的特征图则用于检测较大的目标,对单目标的伊犁马体图像检测而言,其顶层特征图的检测性能要求相对较高。

作为yolact检测器的主干网络,其预测结构采用retinanet中带fpn的resnet-101网络结构,基于anchor的典型目标检测算法中,预测头通常有两个分支,一支用于获得类别置信度,另一支用于进行边界框回归;yolact中添加第三个分支,预测k个掩模系数,用于对应每一个原型;马体图像分割实验中,从最终掩模中减去原型即可获得图2的分割效果,并在非线性计算中产生稳定的输出。

基于yolact目标检测与实例分割方法,文中对一匹站姿较为标准、背景相对简单的马体图像进行了分割后的预处理,如图3所示;在图3中,基于yolact分割后形成的马体掩膜,实验中分别将图(a)中的蓝色透明掩膜换成白色和黑色,如(b)、(c)所示,并通过图(b)与图(c)的异或运算去除背景,再与原图点乘,即可得到图(d),由此完成马体测量模型的预处理。

依据新疆马产业协会发布的地方标准,马体尺主要测量指标包括体高、体长、胸围、管围等,其中涉及的马体相关部位包括:臀端点、胸骨前缘点、鬐甲顶点、肩脚骨后缘、左前管部上1/3部等,具体而言,体高是指从鬐甲顶点到地面的垂直距离;体长是指从胸骨前缘点到臀端点的直线距离;胸围是指肩脚骨后缘垂直绕胸一周的长度;管围是指左前管部上1/3部的下端最细处,水平绕其一周的长度。

据观察,马体尺标定所需的测点均分布在马体边缘轮廓上,为了得到马体尺测点,需要进行马体的边缘检测;使用canny算子对经过yolact实例分割的伊犁马体图像进行轮廓提取,效果如图4所示。

在马体边缘检测的基础上,设计中尝试使用常见的harris角点检测方法筛选出候选的测量点;通过调整角点检测的blocksize参数及ksize参数,通过调节参数获得较多角点时,测量所需的测点与非测点并不能很好的区分;反之角点较少时,部分测点被遗失。

此外,马体尺测量点虽然大部分集中于被检测的角点之中,而鉴于马体体型、姿态的多样化,针对角点中测点的筛选以及设计更为通用的筛选模板仍较为困难。

综上,采用角点检测方法寻找马体尺的关键节点,其操作性不强且复杂度较高,本设计则采用了动态网格方法部分解决了马体测量中寻找测点的难题。

1)体高的获取

对站姿各异、体型不同的马体而言,动态网格中各测点的标定均建立在其轮廓图像中平均像素值变化的基础之上。如图5中,水平方向的中部横线hm表示马体像素点纵坐标的动态均值,计算方式如公式1所示:

进一步地,hu表示为hm均值线以上像素纵坐标的动态均值,计算方式如公式2所示;而ht则为hu均值线以上像素纵坐标的动态均值,计算见公式3。

其中,用于标定体高的鬐甲顶点a恰好由ht与马体轮廓的相交点得到。与此同时,根据鬐甲顶点到前后足最低点所在直线hb的距离,即为马体的体高,如公式4所示。

ax+by+c=0,

其中ax+by+c=0表示马体前后足底部的连线。

2)体长的获取

如图5所示,动态网格中wm线表示马体像素点横坐标的均值,计算如公式5所示:

进一步地,网格中wu线表示水平像素均值线wm与其右边界线的等分线,计算如公式6所示:

其中马面水平朝左时flag=1,朝右时flag=-1。

如图5所示,在马体的体长计算中,臀端点b正是由hu与马体轮廓的尾部交点得到;胸骨前缘点c则定为wu与其轮廓交点中纵坐标较大的点,而体长的计算即为臀端点与胸骨前缘点的欧式距离,如公式7所示。

其中(xb,yb)为臀端点坐标,(xc,yc)为胸骨前缘点坐标。

(3)体长的修正

在图5中,容易看出马体站姿与摄像头不平行,体长的像素值较实际值偏小,需进行数据修正,其修正方法如图6所示。。

在图6中,由a(x1,y1)、b(x1,y1)确定的直线l表示马体中心线,其与马体前后足底部的连线ax+by+c=0平行,且与摄像头平面l形成角度为α的夹角,其中各参数间的关系可以由公式8表示。

根据公式7得到的体长数值length带入公式9中,即可得到体长的修正值len_adjust。

(4)胸围直径的获取

与体高、体长的二维数据相比,基于平面图像获取马体的胸围和管围指标更为困难,为此引入两项相关性较强的平面指标:胸围直径和管围直径,用于后期马体胸围、管围的预测。

设计中,引入胸围直径旨在利用其与胸围的强相关性,即二者标定的测点在马体平面图像中重合。如图5所示,直线wm与轮廓交点的纵坐标间距即为胸围直径d1,如公式10所示,实际测量中其值与胸围数据相关性最强。

(5)管围直径的获取

同样的,设计中引入管围直径在于其与管围的强相关性,即二者在马体管围测量中的测点一致。如图5所示,管围直径计算中,需要寻找动态网格线hg,即为足底向上三分之一处与前后足轮廓的交点,从中获取最小值即为管围d2,如公式11所示。

其中

下面对图像像素为640*480的两匹伊犁马进行了体尺的测量实验:

基于上文中马体图像分割、轮廓提取与特征测点的标定技术,对图像像素为640*480的两匹伊犁马进行了体尺的测量,获取其特征测点如图7所示。

据图7获取的体尺特征测点,分别得到两匹马的测点数据如表1所示:

表1马体测点数据(单位:像素)

以表1的像素数据为基础,根据人工测试与马体图像像素的多次匹配,选择比例为1:1.21进行像素数据的同比缩小,得到马体尺的测量数据与实测值的对比结果如表2所示:

表2马体尺测量的对比(比例1:1.21)

3.2数据拟合与模型预测

依据马体尺数据的测量标准,三维体尺指标如胸围、管围的测量无平面图像的测量依据。前文设计中引入的胸维直径、管围直径指标,旨在利用其数据的相关性建立胸围与管围的预测模型。以100匹伊犁马体的人工测量数据为样本,完成体尺的胸围、管围预测模型如下:

(1)胸围的预测模型

为了获得较好的预测效果,实验中采用了regress及polynomial两种多元回归方式完成马体胸围数据的预测,其预测的结果如表3所示。

表3胸围预测结果

根据表3所示,选择误差较小的regress回归模型进行马体胸围预测较为理想。其胸围的回归方程为公式12所示:

y1=30.6138+0.5367*h+0.4292*w-0.1086*d(12)

其中y1为胸围,h为体高,w为体长,d为胸围直径。

(2)管围预测模型

同样,实验采用了regress及polynomial回归方式完成马体管围数据的预测,其预测的结果如表4所示。

表4管围预测结果

根据表4可知,为了将测量误差有效控制在5%之内,仍选择regress回归模型预测管围较为理想,其管围回归方程为公式13所示:

y2=8.3775+0.0009*h+0.081*w-0.1231*c(13)

其中y2为管围,h为体高,w为体长,c为管围直径。

4结论

设计以伊犁马体为研究对象,通过采集马体的图像、马体尺的人工测量数据,完成了马体尺测量中四项指标的关键技术研究。

实验以深度学习的yolact实例分割技术为基础,首先实现了复杂背景下马体图像的快速、高质量分割;其次提出动态网格方式完成马体特征测点的数据标定,实时预测了马体在图像中的位置及身体方向,并部分解决了因其站姿不同带来的体长修正问题;然后采用regress及polynomial的多元线性及非线性预测方式,比较并实现了马体胸围及管围的预测,最后对两匹伊犁马体样本进行了体尺数据测量及误差计算,其各项误差均处于在0.75%~3.7%之间,就大体型动物体尺测量而言,该技术较为完整且具备范例参考意义。

虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1