首页 / 专利库 / 电脑编程 / 算法 / 基于机器视觉的牛体尺测量方法

基于机器视觉体尺测量方法

阅读:553发布:2024-02-08

专利汇可以提供基于机器视觉体尺测量方法专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种基于 机器视觉 的 牛 体尺测量方法,包括:步骤1:使用固定长度的标签贴于牛体侧身;步骤2:拍摄贴有标签的牛侧身图像,计算标签的 像素 长度,通过标签真实长度与像素比例,算出图像上单位像素对应的实际距离;步骤3:提取图像中的牛图像以及牛轮廓的数据;步骤4:对牛轮廓数据分析;步骤5: 定位 牛体的特征点;步骤6:根据特征点计算牛体尺。本发明使用机器视觉的方式,对牛的体尺信息进行测量,极大的减少了人工成本,且该方式属于无 接触 式,不会对牛造成任何应激反应,并具有较高的准确率;且无设备部署需求,只需利用随身携带的手机与标签纸,即可方便的完成对牛只的体尺测量。,下面是基于机器视觉体尺测量方法专利的具体信息内容。

1.一种基于机器视觉体尺测量方法,其特征在于,包括:
步骤1:使用固定长度的标签贴于牛体侧身;
步骤2:拍摄贴有标签的一侧的牛侧身图像,使用匹配算法匹配牛身上的标签,计算标签的像素长度,通过标签真实长度与像素比例,算出图像上单位像素对应的实际距离,记其比例为ruler;
步骤3:去掉图像中与牛无关部分,提取图像中的牛图像以及牛轮廓的数据;
步骤4:对牛轮廓数据分析,计算得到切面数据和牛背到牛腹的距离数据;
步骤5:根据所计算得到的数据定位牛体的特征点;
步骤6:根据特征点计算牛体尺。
2.如权利要求1所述的基于机器视觉的牛体尺测量方法,其特征在于,所述步骤3包括:
提取牛图像子步骤:使用牛提取算法将图像中的牛提取出来,去除掉与牛无关的部分;
获取牛轮廓子步骤:使用边缘检测算法获得图像中的若干个轮廓数据,将若干个轮廓数据按从外往里的顺序排序,轮廓最外层为需要获取的牛轮廓数据,该牛轮廓数据包含若干个坐标;
,n为轮廓点的
总数。
3.如权利要求2所述的基于机器视觉的牛体尺测量方法,其特征在于,所述步骤4包括:
归一化轮廓数据子步骤:将轮廓数据在x轴上的数值范围缩放至 之间, 为超参数,记归一化轮廓数据为 ;
归一化公式:   ;
其中 为原始值,  为缩放后的值,R为包含实数的集合;
计算切面数据子步骤:对牛的轮廓数据,从x轴左侧向右侧扫描,对于x轴的轮廓坐标,用最上边缘的坐标y值减去最下边缘的坐标y值,得到切面数据 ;


定位牛髻甲子步骤:使用机器学习方法分析牛髻甲在归一化轮廓数据 上的位置,得到髻甲所在x轴位置 髻甲;
定位牛尻子步骤:使用机器学习方法分析得到牛尻在在归一化轮廓数据 上的位置,得到牛尻所在x轴位置 牛尻;
拟合牛背方程子步骤:截取 髻甲和 牛尻之间的归一化轮廓数据 ,并只取最上边缘的轮廓数据,拟合数据满足以下关系:

对该数据使用最小二乘法拟合,得到牛背拟合直线方程 back;
yback=kx+b,其中 ;
计算牛背到牛腹的距离子步骤:计算整体切面数据平均值 ,牛腹位于 髻甲和牛尻所在垂线之间,截取这之间的切面数据,并取在整体切面数据平均值 sec阈值σ以内的切面数据,计算其平均值,得到牛背到牛腹的距离 abdominal;


4.如权利要求3所述的基于机器视觉的牛体尺测量方法,其特征在于,所述步骤5包括:
髻甲定位子步骤:髻甲所在x轴直线与牛背拟合直线方程 相交点为髻甲,得到髻甲坐标(x髻甲,y髻甲);
背部定位子步骤:截取 髻甲和 牛尻之间的切面数据 髻甲-牛尻,寻找所截取切面数据中的最大值所在坐标 ,将 max代入牛背拟合直线方程 ,得到背部坐标(x背部,y背部);
牛尻定位子步骤:牛尻在x轴直线与牛背所在y横轴相交点为牛尻,得到牛尻坐标(x牛尻,y牛尻);
肩胛前端定位子步骤:在髻甲坐标基础上将y值正向偏移牛背到牛腹的长,即为肩胛前端坐标(x肩胛前端,y肩胛前端);
腹部定位子步骤:在背部上的纵轴坐标上偏移 得到腹部(x腹部,y腹部);
定位子步骤:在左侧髻甲部分寻找切面的最大值坐标,定义为前蹄(x前蹄,y前蹄)。
5.如权利要求4所述的基于机器视觉的牛体尺测量方法,其特征在于,所述步骤6中,体长为髻甲到牛尻的距离:
 ;
体斜长为牛尻到肩胛前端的距离:
 ;
腹深为背部到腹部的距离:
 ;
体高为髻甲到前蹄的距离:

说明书全文

基于机器视觉体尺测量方法

技术领域

[0001] 本发明涉及牛体尺测量技术领域,尤其涉及一种基于机器视觉的牛体尺测量方法。

背景技术

[0002] 传统测量牛体尺的方法需要工作人员使用软尺、卷尺等测量工具对牛的体高、体斜长、体直长等多个指标进行测量,这种手工测量的方式存在一定测量难度,成本高,速度慢,且会造成牛的应激反应。

发明内容

[0003] 本发明实施例所要解决的技术问题在于,提供一种基于机器视觉的牛体尺测量方法,以使降低测量难度。
[0004] 为了解决上述技术问题,本发明实施例提出了一种基于机器视觉的牛体尺测量方法,包括:步骤1:使用固定长度的标签贴于牛体侧身;
步骤2:拍摄贴有标签的一侧的牛侧身图像,使用匹配算法匹配牛身上的标签,计算标签的像素长度,通过标签真实长度与像素比例,算出图像上单位像素对应的实际距离,记其比例为ruler;
步骤3:去掉图像中与牛无关部分,提取图像中的牛图像以及牛轮廓的数据;
步骤4:对牛轮廓数据分析,计算得到切面数据和牛背到牛腹的距离数据;
步骤5:根据所计算得到的数据定位牛体的特征点;
步骤6:根据特征点计算牛体尺。
[0005] 进一步地,所述步骤3包括:提取牛图像子步骤:使用牛提取算法将图像中的牛提取出来,去除掉与牛无关的部分;
获取牛轮廓子步骤:使用边缘检测算法获得图像中的若干个轮廓数据,将若干个轮廓数据按从外往里的顺序排序,轮廓最外层为需要获取的牛轮廓数据,该牛轮廓数据包含若干个坐标;
,n为轮廓点的总数。
[0006] 进一步地,所述步骤4包括:归一化轮廓数据子步骤:将轮廓数据在上x轴上的数值范围缩放至 之间,
为超参数,记归一化轮廓数据为 ;
归一化公式: ;
其中 为原始值, 为缩放后的值,R为包含若干个实数的集合;
计算切面数据子步骤:对牛的轮廓数据,从x轴左侧向右侧扫描,对于x轴的轮廓坐标,用最上边缘的坐标y值减去最下边缘的坐标y值,得到切面数据 ;


定位牛髻甲子步骤:使用机器学习方法分析牛髻甲在归一化轮廓数据 上的位置,得到髻甲所在x轴位置 髻甲;
定位牛尻子步骤:使用机器学习方法分析得到牛尻在在归一化轮廓数据 上的位置,得到牛尻所在x轴位置 牛尻;
拟合牛背方程子步骤:截取 髻甲和 牛尻之间的归一化轮廓数据 ,并只取最上边缘的轮廓数据,拟合数据满足以下关系:

对该数据使用最小二乘法拟合,得到牛背拟合直线方程 back;
yback=kx+b,其中 ,;
计算牛背到牛腹的距离子步骤:计算整体切面数据平均值 ,牛腹位于
和 所在垂线之间,截取这之间的切面数据,并取在整体切面数据平均值 sec阈值σ以内的切面数据,计算其平均值,得到牛背到牛腹的距离 abdominal;


[0007] 进一步地,所述步骤5包括:髻甲定位子步骤:髻甲所在x轴直线与牛背拟合直线方程 相交点为髻甲,得到髻甲坐标(x髻甲,y髻甲);
背部定位子步骤:截取 髻甲和 牛尻之间的切面数据 ,寻找所截取切面数据中的最大值所在坐标 ,将 max代入牛背拟合直线方程 back,得到背部坐标(x背部,y背部);
牛尻定位子步骤:x牛尻所在x轴直线与牛背所在y横轴直线相交点为牛尻,得到牛尻坐标(x牛尻,y牛尻);
肩胛前端定位子步骤:在髻甲坐标基础上将y值正向偏移牛背到牛腹的长,即为肩胛前端坐标(x肩胛前端,y肩胛前端);
腹部定位子步骤:在背部上的纵轴坐标上偏移 得到腹部(x腹部,y腹部);
定位子步骤:在左侧髻甲部分寻找切面的最大值坐标,定义为前蹄(x前蹄,y前蹄)。
[0008] 进一步地,所述步骤6中,体长为髻甲到牛尻的距离:

体斜长为牛尻到肩胛前端的距离:

腹深为背部到腹部的距离:

体高为髻甲到前蹄的距离:

[0009] 本发明的有益效果为:本发明使用机器视觉的方式,对牛的体尺信息进行测量,极大的减少了人工成本,且该方式属于无接触式,不会对牛造成任何应激反应,并具有较高的准确率;且无设备部署需求,只需利用随身携带的手机与标签纸,即可方便的完成对牛只的体尺测量。附图说明
[0010] 图1是本发明实施例的基于机器视觉的牛体尺测量方法的流程图
[0011] 图2是本发明实施例的提取的牛图像示意图。
[0012] 图3是本发明实施例的牛轮廓示意图。
[0013] 图4是本发明实施例的牛关键点与牛体尺测量示意图。
[0014] 附图标号说明髻甲1
背部2
牛尻3
肩胛前端4
腹部5
前蹄6。

具体实施方式

[0015] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。
[0016] 本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0017] 另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
[0018] 请参照图1,本发明实施例的基于机器视觉的牛体尺测量方法包括步骤1~步骤6。
[0019] 步骤1:布置参照物,使用固定长度的标签贴于牛体侧身。例如,使用8cm蓝色边框标签贴于牛体的侧身。
[0020] 步骤2:拍摄贴有标签的一侧的牛侧身图像,使用匹配算法匹配牛身上的标签,计算标签的像素长度,通过标签真实长度与像素比例,算出图像上单位像素对应的实际距离,记其比例为ruler。
[0021] 步骤3:去掉图像中与牛无关部分,提取图像中的牛图像(牛图像如图2所示)以及牛轮廓的数据(牛轮廓如图3所示)。
[0022] 步骤4:对牛轮廓数据分析,计算得到切面数据和牛背到牛腹的距离数据。
[0023] 步骤5:根据所计算得到的数据定位牛体的特征点。定位的牛关键点如图4所示。
[0024] 步骤6:根据特征点计算牛体尺。
[0025] 作为一种实施方式,假设牛面部朝向左侧,即牛的头部在牛尾的左侧。对于牛面部朝右侧的情况,则翻转图像,使牛面部朝向左侧。所述步骤3包括:提取牛图像子步骤:使用牛提取算法将图像中的牛提取出来,去除掉与牛无关的部分,如图2所示;
获取牛轮廓子步骤:使用边缘检测算法获得图像中的若干个轮廓数据,将若干个轮廓数据按从外往里的顺序排序,轮廓最外层为需要获取的牛轮廓数据,该牛轮廓数据contour包含若干个坐标,如图3所示和下式所示;
,n为轮廓点的总数。
[0026] 作为一种实施方式,所述步骤4包括:归一化轮廓数据子步骤:将轮廓数据在x轴上的数值范围缩放至 之间,
为超参数,记归一化轮廓数据为 ;
归一化公式: ;
其中 为原始值, 为缩放后的值,R为包含若干个实数的集合;
计算切面数据子步骤:对牛的轮廓数据,从x轴左侧向右侧扫描,对于x轴的轮廓坐标,用最上边缘的坐标 值减去最下边缘的坐标 值,得到切面数据 ;


定位牛髻甲子步骤:使用机器学习方法分析牛髻甲在归一化轮廓数据 上的位置,得到髻甲所在x轴位置 髻甲;
定位牛尻子步骤:使用机器学习方法分析得到牛尻在在归一化轮廓数据 上的位置,得到牛尻所在x轴位置 牛尻;
拟合牛背方程子步骤:截取 髻甲和 牛尻之间的归一化轮廓数据 ,并只取最上边缘的轮廓数据,拟合数据满足以下关系:

对该数据使用最小二乘法拟合,得到牛背拟合直线方程 ;
,其中,  ;
计算牛背到牛腹的距离子步骤:计算整体切面数据平均值 ,牛腹位于 髻甲和 牛尻所在垂线之间,截取这之间的切面数据,并取在整体切面数据平均值 阈值σ以内的切面数据,计算其平均值,得到牛背到牛腹的距离dabdominal;


[0027] 作为一种实施方式,所述步骤5包括:髻甲1定位子步骤:髻甲所在x轴直线与牛背拟合直线方程 相交点为髻甲1,得到髻甲1坐标(x髻甲,y髻甲);
背部2定位子步骤:截取 髻甲和 牛尻之间的切面数据 ,寻找所截取切面数据中的最大值所在坐标 ,将 max代入牛背拟合直线方程 ,得到背部2坐标(x背部,y背部);
牛尻3定位子步骤:x牛尻所在x轴直线与牛背所在y横轴直线相交点为牛尻3,得到牛尻3坐标(x牛尻,y牛尻);
肩胛前端4定位子步骤:在髻甲1坐标基础上将y值正向偏移牛背到牛腹的长,即为肩胛前端4坐标(x肩胛前端,y肩胛前端);
腹部5定位子步骤:在背部2上的纵轴坐标上偏移dabdominal得到腹部5坐标(x腹部,y腹部);
前蹄6定位子步骤:在左侧髻甲1部分寻找切面的最大值坐标,定义为前蹄6(x前蹄,y前蹄)。
[0028] 作为一种实施方式,图4直观展示了体尺与关键点的关系。所述步骤6中,体长为髻甲1到牛尻3的距离:;
体斜长为牛尻3到肩胛前端4的距离:

腹深为背部2到腹部5的距离:

体高为髻甲1到前蹄6的距离:

[0029] 本发明是使用机器视觉的方式,对牛的体尺信息进行测量,极大的减少了人工成本,且该方式属于无接触式,不会对牛造成任何应激反应,并具有较高的准确率。本发明方法无设备部署需求,可用于手机等智能设备的系统中,用户只需利用随身携带的手机与标签纸,即可方便、快速的完成对牛只的体尺测量。
[0030] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈