一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

从侧视、俯视双视角图像自动测量羊体尺的装置和方法

2022-11-28 13:37:51 来源:中国专利 TAG:


1.本发明属于羊养殖技术领域,具体为一种利用机器视觉和自动控制技术自动测量羊体尺数据的装置与方法。


背景技术:

2.羊的体尺数据能够反映羊的生长发育状况和身体各部位之间的相对发育关系,可以作为衡量羊生长发育的主要指标。羊体尺数据还可用于评估羊只生长发育特性、遗传特性,是羊种质资源筛选的重要参考之一,羊优质种质资源的筛选可改善羊的生产性能,补偿羊群弱点,提高饲料利用率和酮体品质。养殖生产中受到关注的羊的体尺参数主要有:体高、胸深、胸宽、胸围、管围、体斜长。
3.目前传统的羊只体尺测量方法主要是利用软尺、测杖仪等测量工具直接接触羊体进行测量,这种测量方法耗时耗力,测量时可能给羊只带来较大应激反应,如果测量对象为怀孕母羊,还可能会增加羊的流产概率,由于人为主观影响因素的存在,人工测量结果也不够客观。同时,人与羊的直接接触,也增加了人畜共患病发生的风险。此外,还有使用机械装置夹持羊只并通过机械结构间的距离获得羊体尺数据的测量方法,该方法虽然代替了人工直接接触羊只,但机械夹持仍可能伤害羊身体,给羊带来的应激反应更大。


技术实现要素:

4.本专利的目的在于克服上述问题,提供一种基于机器视觉和自动控制技术的羊体尺自动测量装置和方法。要解决的技术问题是:羊体侧视、俯视图像自动采集装置结构;从侧视、俯视图像中自动提取羊体尺参数的图像处理方法。
5.技术方案:
6.为解决上述问题,本发明提出一种从侧视、俯视双视角图像自动测量羊体尺的装置与方法,它包括硬件部分和软件部分。
7.本发明提出的一种从侧视、俯视双视角图像自动测量羊体尺的装置与方法的硬件部分包括:入口通道、入口门禁、传感器模块、图像采集室、图像采集模块、出口门禁、出口通道、计算机、plc控制器、门禁开关控制电机,其中,图像采集模块由俯视相机和侧视相机组成,传感器模块包括光电传感器和限位开关。
8.光电传感器分别安装在入口通道、图像采集室和出口通道处,羊处于某一位置时会遮挡相应光电传感器的光路,光电传感器输出信号连接到plc,plc根据光电传感器信号确定羊的位置,并基于此控制入口门禁、出口门禁电机的转向以打开或关闭入口门禁及出口门禁。
9.电机和限位开关用于控制入口门禁和出口门禁的自动开关,入口门禁和出口门禁都是由两扇门组成,每扇门由一个电机和两个限位开关共同控制实现开关,plc根据两个限位开关和光电传感器信号自动控制电机的正转与反转,进而实现相应门的开关。
10.图像采集室由入口门禁、侧透明玻璃、可移动挡板、出口门禁、侧视相机和俯视相
机构成,可移动挡板由电动推杆控制移动以调整图像采集室宽度,使得图像采集室尺寸适宜于采集不同大小的羊体图像。在图像采集室侧透明玻璃的左上角上贴有长度为20厘米、宽度为10厘米的红色标定板,其作用是确定实际尺寸与像素距离的换算关系,每只羊配有rfid电子耳标,图像采集室中安装有rfid阅读器,自动记录位于图像采集室中的羊的身份标识。
11.本发明提出的一种从侧视、俯视双视角图像自动测量羊体尺的装置与方法的软件部分采用图像处理方法从羊的侧视、俯视图像中自动测量其体尺参数,方法流程如下:
12.第一步:图像采集室无羊时,驱动侧视、俯视相机各采集一张背景图像,记俯视背景图为tb,侧视背景图为sb;
13.第二步:图像采集室中有羊时,两个相机同时开启并拍摄羊只,俯视图记为tf,侧视图记为sf,利用背景减除法获得侧视、俯视视角下的羊的前景图像,分别记为sm和tm,即sm=sf-sb,tm=tf-tb;
14.第三步:对图像tm和sm依次做形态学操作、二值化、连通域分析,得到羊的俯视二值图t和侧视二值图s;
15.第四步:羊的体尺测量参数主要有管围、体高、胸深、体斜长、胸宽和胸围,处理二值图t和s自动提取羊的体尺参数,具体参数的测量方式如下:
16.管围:在侧视图s中,羊头朝左,羊体两只前腿分开自然站立,基于4只脚与地面接触点的横坐标、纵坐标特征定位左前肢,以左前肢高为x轴,宽度为y轴,绘制腿部宽度曲线,则曲线上的最小值即为管围横截面宽度,再根据管围横截面宽度进行管围周长拟合。
17.体高:生产实践中将耆甲最高点至地面的垂直距离定为羊的体高,在侧视图s中,羊体两只前腿分开自然站立,耆甲最高点的横坐标位于两脚中间,基于4只脚与地面接触点的横坐标、纵坐标特征定位两只前肢,并提取两只前肢接触地面的两个点的坐标,取此两点连线的中点作为体高的下端点,基于下端点做垂线交至背部一点作为体高上端点,计算体高上端点与下端点间的欧氏距离,将此距离作为羊的体高。
18.胸深:生产实践中将耆甲到胸骨下缘的直线距离定为胸深,人工测量时取从前腿与腹部相交点垂直至背部交点间的距离作为胸深,在侧视图s中,提取羊体的腹部轮廓线,定位到腹部轮廓最前点并将其作为胸深下端点,基于下端点做垂直于地面的垂线交至背部一点作为胸深上端点,计算胸深上端点至下端点间的欧氏距离即为羊的胸深。
19.体斜长:生产实践中将胸骨前缘到坐骨结节后缘的距离作为羊的体斜长,在胸深上端点已经确定的基础上,过胸深上端点作斜率为1的斜线交至前胸一点作为体斜长前端点,选择羊尾根部作为体斜长后端点,体斜长前端点至体斜长后端点间欧氏距离即为羊的体斜长。
20.胸宽:生产实践中将羊体两侧肩胛骨后缘最宽点的直线距离定为羊的胸宽,在俯视图t中,以羊身体长度为x轴,统计过x轴上各坐标点且与x轴垂直的线上像素值为1的点的数量和,以该数量和作为y轴,绘制羊体宽度变化曲线,基于曲线函数分析确定胸宽处对应的极大值点,该极大值点即为羊的胸宽。
21.胸围:生产实践中将肩胛骨后缘的胸部周径定为羊体胸围,在获得胸深和胸宽的基础上,将胸深作为长轴、胸宽作为短轴进行椭圆拟合,将拟合得到的椭圆周长作为胸围。
22.上述的像素点间欧氏距离计算公式为:已知点a、b坐标分别为(x1,y1)、(x2,y2),
则像素点a、b间的欧氏距离为
23.利用模板匹配的方法定位到侧视图像中的标定板,并提取其长的像素距离为l
pixel
,已知标定板长的物理尺寸为l,可得物理尺寸和像素距离间的换算比例为p=l/l
pixel
,则羊体尺的物理尺寸为d
real
=p
×dpixel
,其中d
pixel
为羊体尺参数的像素距离。
24.本发明的有益效果
25.本发明提供了一种基于机器视觉的无接触式的羊只体尺参数测量装置与方法,具体包含一套硬件装置及一套体尺自动测量算法,可自动、准确获取羊体尺参数。本发明的硬件由plc控制,根据羊只的实时位置自动控制图像采集室入口、出口门禁的打开与关闭,并自动采集位于图像采集室的羊的侧视、俯视图像,减少了繁琐的人工操作;提供了一套具体可行的图像处理算法,结合羊的侧视和俯视图像,准确定位到羊体尺关键点,进而获取羊体尺参数;通过调节图像采集室宽度,使得装置可适用于不同大小、不同日龄的羊只体尺测量需求,为羊体尺自动测量提供了科学、准确、客观、无应激的方法,促进智慧畜牧业的发展。
附图说明
26.图1是本发明的图像采集装置结构整体示意图
27.图2是电机与限位开关局部放大图
28.图3是羊体侧视、俯视图像采集工作流程图
29.图4是羊体侧视、俯视图像预处理结果图
30.图5是羊体高参数自动提取方法示意图
31.图6是羊胸深参数自动提取方法示意图
32.图7是羊胸宽参数自动提取方法示意图
33.图8是羊左前腿管围参数自动提取方法示意图
34.图9是羊体斜长参数自动提取方法示意图
具体实施方式
35.下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:
36.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合本发明实施例中的附图,对其中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.图1是本发明的装置结构示意图,主要包括装置的机械结构和控制部件,图1中(2)和(4)分别是入口门禁和入口通道围栏;(1)和(3)分别是出口门禁和出口通道围栏;(13)是图像采集室侧视图像采集相机侧的玻璃挡板;(14)是图像采集室的可移动挡板,可移动挡板(14)可在靠近玻璃挡板(13)或远离玻璃挡板(13)的方向移动以调整图像采集室的宽度,从而适应不同大小的羊体图像采集需求;(12)是电动推杆,其伸缩端与可移动挡板(14)连接,电动推杆(12)伸缩带动可移动挡板(14)移动以调节图像采集室宽度;(5)是俯视相机支架;(7)是俯视相机,用于拍摄羊只俯视图;(6)是侧视相机支架;(8)是侧视相机,用于拍摄羊体侧视图像,侧视相机(8)的高度与侧视图像采集侧玻璃挡板(13)的中心点同高;(9-3)是入口光电传感器、(9-2)是图像采集室可移动挡板光电传感器、(9-1)是出口光电传感器,
光电传感器被遮挡时表示羊正处于相应光电传感器所安装的位置;(10)是rfid阅读器,安装在图像采集室可移动挡板(14)内侧,用于记录位于图像采集室的羊的身份信息。入口光电传感器(9-3)、图像采集室可移动挡板光电传感器(9-2)、出口光电传感器(9-1)的安装高度处于羊只腹部所在高度,图像采集室可移动挡板光电传感器(9-2)安装位置靠近出口门禁(1),确保羊完全进入图像采集室后触发入口门禁(2)关闭信号,出口光电传感器(9-1)安装于远离出口门禁(1)的位置,保证羊完全离开后触发出口门禁(1)的关闭信号。
38.图2是出口门禁(1)靠近可移动挡板(14)一侧的第一出口子门(1-1)局部放大图,其中,(11)是滑轮与滑轨套装,滑轮固定在可移动挡板(14)上,滑轮在滑轨上滑行带动可移动挡板(14)移动;第一电机(18)、第一限位开关(16)、第二限位开关(17)控制出口门禁(1)的第一出口子门(1-1)的打开与关闭,第一限位开关(16)安装在出口通道围栏(3)上,第二限位开关(17)安装在出口横梁(15)下方,当第一出口子门(1-1)开启或关闭到预定角度并触碰到第一限位开关(16)或第二限位开关(17)的限位杆时,plc向第一电机(18)发出停止命令,实现第一出口子门(1-1)的打开或关闭动作的自动停止;第一限位开关(16)、第二限位开关(17)和第一电机(18)组成的机构在图像采集室的4个角上各有一套,分别用于控制入口门禁(2)、出口门禁(1)的四扇门的自动打开与关闭。
39.如图3所示,装置对羊的侧视、俯视图像的一次完整的图像采集工作流程为:羊通过入口通道围栏接近入口门禁,若羊遮挡住了入口通道围栏的光电传感器,plc控制器收到羊处于入口门禁外的信号,向入口门禁控制电机发出命令驱动电机转动打开第一入口子门及第二入口子门,当第一入口子门、第二入口子门分别压到相应的限位开关的压杆后,plc向入口门禁控制电机发出停止转动的控制命令;羊进入图像采集室,图像采集室内的光电传感器被遮挡,plc向入口门禁控制电机发出关闭第一入口子门、第二入口子门的命令,第一入口子门、第二入口子门关闭压到各自限位开关的压杆后plc向入口门控制电机发出停止转动命令,完成入口门禁的关闭;rfid阅读器与羊佩戴的rfid电子耳标通信,识别到羊的身份;plc打开俯视相机采集羊背部图像,传输至计算机处理得到需要的图像采集室的宽度,并向电动推杆发送伸缩命令以带动可移动挡板移动到合适的位置;侧视相机和俯视相机开始采集图像,持续设定的时间后,plc关闭俯视相机、侧视相机,plc向出口门禁的控制电机发送旋转驱动命令打开第一出口子门、第二出口子门,羊离开通道后,触发位于出口外的光电传感器,plc向出口门禁的控制电机发送旋转驱动命令关闭第一出口子门、第二出口子门,出口门禁打开、关闭过程中与相应限位开关的信号关系与入口门禁类似。
40.如图4所示,对羊体侧视、俯视图像预处理工作流程为:
41.第一步:对羊体侧视图和俯视图执行灰度化、二值化操作;
42.第二步:获取俯视图中羊身体部分的最小外接矩形,记其长为tr_len,获取侧视图中羊身体部分的最小外接矩形,记其长为sr_len,以sr_len为标准,对俯视图进行仿射变换并记变换后俯视图中羊身体外接矩形长为tr_len’,使得tr_len’和sr_len相等,仿射变换后的俯视图、侧视图分别记为t和s。
43.如图5所示,从羊体侧视图s中提取羊体高参数的方法为:在侧视图s中提取两只前蹄与地面接触点纵坐标,将纵坐标较大的接触点记为k、纵坐标较小的接触点记为j,记点k坐标为(xk,yk),j点的坐标记为(xj,yj),取k、j连线的中点作为体高下端点b,记其横坐标为xb,过点(xb,0)作垂直于侧视图s上边缘的垂线,取该垂线与羊体背部轮廓交点作为体高上
端点,记为a,计算点a到点b之间的欧式距离作为羊体高。
44.如图6所示,从羊体侧视图s中提取羊胸深参数的方法为:在侧视图s中取两只后蹄与地面接触点的横坐标,将横坐标较小的点记作l,横坐标较大的点记为m,计算点k和点l横坐标的平均值并记为x
k_l
,选取侧视图s中横坐标处于[xb,x
k_l
]区间,纵坐标处于区间的像素点构成的区域并记为roi-1,在roi-1中对侧视图s上边缘上的点(x
k_l
,0)到点(xb,0)间每一个像素点作过该像素点且垂直于侧视图s上边缘的垂线,对于每一条垂线按从上到下的方向统计处于roi-l内的非0像素值点数量并在第一次出现0像素值点时停止当前垂线上非0像素值点的统计,绘制非0像素值点数量变化曲线,取曲线上最小值并记其横坐标为x
k_l_min
,在侧视图s中过点(x
k_l_min
,0)作垂直于侧视图s上边缘的垂线,提取该垂线与腹部交点为胸深下端点,记为f,该垂线与背部轮廓交点作为胸深上端点,记为e,计算点e、f之间的欧氏距离即为胸深,记为depth_bre。
[0045]
如图7所示,从羊体俯视图t中提取羊胸宽参数的方法为:在俯视图t中,提取羊躯体主轴线,过主轴线每一点作垂直于主轴线的垂线,以主轴线上各点横坐标作为自变量,以垂线上非0像素值点的数量为因变量,绘制羊躯体宽度变化曲线,对该曲线做平滑处理后的平滑曲线记为c
body_wid
th,提取自c
body_width
最大值点到第二最大值点之间的第一个极大值点对应的体宽作为羊的胸宽,若极大值点不存在,则取凸转凹的拐点对应的体宽作为胸宽,胸宽记为width_bre。
[0046]
利用公式2π
×
width_bre 4(depth_bre-width_bre)拟合得到胸围体尺。
[0047]
如图8所示,选取侧视图s中以点(0,yj)、(x
k_l
,yj)为端点的线段,记该线段为seg,按如下步骤从侧视图s中提取羊左前腿管围尺寸:
[0048]
第一步:计算seg经过的侧视图s的前景区域数量,若为2,则将seg垂直上移1个像素,循环执行第一步,直至seg在侧视图s中经过的前景区域数量为1,转步骤第二步;
[0049]
第二步:将seg下移1个像素,提取seg与侧视图s两段相交线段的4个端点,选择横坐标第三大的端点作为两前肢夹角顶点,记为n,其坐标记为(xn,yn);
[0050]
第三步:选取侧视图s横坐标处于[2x
k-xb,xb]区间,纵坐标处于[yn,yk]区间的像素点构成的区域并记为roi-2,在roi-2中对y轴上点(0,yn)到点(0,yk)间每一个像素点作过该像素点且垂直于y轴的垂线,统计垂线上非0像素点数量并绘制非0像素点数量变化曲线,选取变化曲线中最小值点定位管围最细处,提取该处横截面宽度作为管径,管径记作wg;
[0051]
第四步:使用公式拟合得到管围尺寸。
[0052]
如图9所示,过胸深上端点e作斜率为1的直线,该直线与前胸轮廓交点记为c,将c作为体斜长的前端点,采用如下步骤定位体斜长后端点并计算体斜长:
[0053]
第一步:选取羊躯体宽度变化曲线c
body_width
上最大极大值点到第二大极大值点之间的最小极小值,记该值在c
body_width
曲线上的点为min_c
body_width
,过点min_c
body_width
作平行于横轴的直线并与曲线c
body_width
上最大极大值所在点右侧的曲线部分相交,记该交点为p1_c
body_width

[0054]
第二步:对点p1_c
body_width
到羊躯体宽度变化曲线c
body_width
最右侧端点间的各个点求其二阶导数,若存在二阶导数为0的点,则提取第一个二阶导数为0的点并记该点横坐标为x_p_end,若不存在二阶导数为0的点,则记c
body_width
最右侧端点的横坐标为x_p_end;
[0055]
第三步:取侧视图s的上半段、右侧1/4内像素点构成的区域作为目标区域并记该区域为roi-3,定位roi-3中前景区域横坐标最大点并记其纵坐标为y_end,将坐标为(x_p_end,y_end)的点作为体斜长的后端点并记其为q;
[0056]
第四步:在侧视图s中,连接cq并取线段cq的长度作为羊的体斜长。
[0057]
本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献