基于机器视觉的牧草饲料检测系统和方法

文档序号:6189595阅读:654来源:国知局
基于机器视觉的牧草饲料检测系统和方法
【专利摘要】本发明公开了一种基于机器视觉的牧草饲料检测方法,该方法包括以下步骤:对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域;基于对于饲料检测区域中感兴趣区域所在最小矩形区域的边缘检测,得到存在牲畜的饲料检测区域;对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息;将检测得到的饲料信息显示出来。本发明还公开了一种基于机器视觉的牧草饲料检测系统。本发明可自动检测牧场料槽中饲料的剩余量,并根据草料消耗情况可设置不同程度报警状态提醒管理人员;还可记录草料消耗历史数据,实现查询及检索,进而在此基础上实现基于机器视觉的草料状况智能监控和管理。
【专利说明】基于机器视觉的牧草饲料检测系统和方法
【技术领域】
[0001]本发明涉及设施牧业中的自动化智能控制,特别是涉及一种基于机器视觉的牧草饲料检测系统和方法。
【背景技术】
[0002]从近50年来我国养牛业的统计情况来看,我国牛的存栏数目不断增多,经营规模不断扩大,养牛技术水平不断提高,但与国外一些发达国家的养牛技术相比较,我国养牛业仍然存在饲料结果不合理、出场率不高、管理成本大等问题。尽管近年来我国奶业的发展速度很快,但总体上来看,奶业在农业中依然是一个发展相对滞后的产业,基础还相当薄弱,具体体现在奶牛单产水平低、监管不够完善、饲养管理水平低等许多方面,过去对牧业的饲料管理仍基于人工劳力的监管方式,管理不够全面和完善。
[0003]随着设施牧业的大力发展,牧业管理逐步趋向智能化应用。用机器视觉技术代替人眼进行监管作业具有明显的优越性:首先其能排除人的主观因素的干扰,避免因人而异的判断结果;另外能完成较为定量、客观的计算工作,不仅可以提高精度,也可将人从繁重的劳动中解放出来。

【发明内容】

[0004]本发明针对智能牧业中存在的上述问题,提出一种基于机器视觉的牧草饲料检测系统和方法,以对牧草饲料进行机器视觉智能检测从而判断饲料的剩余量。
[0005]根据本发明的一方面,提供一种基于机器视觉的牧草饲料检测方法,该方法包括以下步骤:
[0006]步骤1,对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域;
[0007]步骤2,基于对于饲料检测区域中感兴趣区域经过变换拉伸后的边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识;
[0008]步骤3,对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息;
[0009]步骤4,将检测得到的饲料信息显示出来。
[0010]根据本发明的另一方面,还提供一种基于机器视觉的牧草饲料检测系统,该系统包括:饲料检测区域模块、边缘检测模块、饲料检测模块和显示模块,其中:
[0011]所述饲料检测区域模块用于对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域;
[0012]所述边缘检测模块用于对于饲料检测区域中感兴趣区域(R0I区域)经过变换拉伸后进行边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识;
[0013]所述饲料检测模块用于对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息;
[0014]所述显示模块用于将饲料检测模块检测得到的饲料信息显示出来。[0015]本发明的有益效果是:
[0016](I)通过现场实时监控录像,自动检测牧场料槽中饲料的剩余量;
[0017](2)根据草料消耗情况可设置不同程度报警状态提醒管理人员;
[0018](3)记录草料消耗历史数据,可实现查询及检索,并在此基础上实现基于机器视觉的草料状况智能监控和管理。
【专利附图】

【附图说明】
[0019]图1为本发明基于机器视觉的牧草饲料检测方法的流程图;
[0020]图2为根据本发明一实施例的牧场食槽区域划分示意图;
[0021]图3为根据本发明一实施例的牲畜边缘检测示意图;
[0022]图4为根据本发明一实施例的饲料检测示意图;
[0023]图5为根据本发明一实施例的饲料检测结果示意图;
[0024]图6为本发明基于机器视觉的牧草饲料检测系统的结构示意图。
【具体实施方式】
[0025]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0026]图1为基于机器视觉的牧草饲料检测方法的流程图,如图1所示,根据本发明的一方面,提供一种基于机器视觉的牧草饲料检测方法,该方法包括以下步骤:
[0027]步骤1,对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域;
[0028]该步骤具体为:对固定监控录像可视范围内的有效区域进行人工划分食槽区域,划分得到的区域为饲料检测区域。图2为根据本发明一实施例的牧场食槽区域划分示意图,在图1所示的现场监控图像中,人为地将牲畜食槽划分为多个饲料检测区域。
[0029]在无明显食槽划分的环境下,可基于监控图像的实际场景,对食槽目标检测区域在可检测的有效范围内进行人工划分,这样就可以基于饲料颜色和食槽背景颜色的明显区别进行饲料的检测。在实际应用场景中,单单检测饲料并不足以满足实际需求,因为在对饲料进行实时监控时,常常出现牲畜进食的情况,因此饲料检测区域经常受到牲畜进食的影响。因此,本发明还需要基于牲畜和食槽背景的明显梯度变化检测目标区域中牲畜的边缘轮廓。
[0030]步骤2,基于对于饲料检测区域中感兴趣区域(R0I区域)经过变换拉伸后的边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识;
[0031]考虑到将饲料检测区域进行透视变换后的拉伸图像能够使得牲畜轮廓线得到明显的拉伸,同时牲畜的肤色与检测背景具有明显的颜色梯度变化,因此该步骤采用透视变换后进行图像拉伸和canny边缘检测相结合的方法来提取牲畜的边缘,然后再计算连续边缘轨迹点的个数以判断饲料检测区域存在牲畜进食的情况,具体步骤如下:
[0032]步骤21,图像初始化:根据步骤I的区域划分,规定每个最小单元的饲料检测区域为每一次饲料检测的感兴趣区域(R0I区域),使用透视变换和拉伸函数对饲料检测区域中ROI区域进行变换拉伸;
[0033]在本发明一实施例中,采用OpenCV透视变换和拉伸函数对于图像进行变换拉伸,拉伸后的归一化尺寸为100*200,变换拉伸前的ROI区域图像如图3(a)所示,变换拉伸后的图像如图3(b)所示,图3(b)中透视变换和拉伸后的图像宽度大于高度两倍左右;
[0034]步骤22,对于变换拉伸后得到的图像进行canny边缘检测,得到图像中牲畜的边缘轮廓,如图3(c)所示,并根据得到的边缘轮廓判断该饲料检测区域中是否存在牲畜;
[0035]所述判断饲料检测区域中是否存在牲畜的步骤具体为:计算边缘轮廓中连续边缘轨迹点的数目,若轨迹点的数目大于一预定阈值则认为该饲料检测区域中存在牲畜,例如若边缘轮廓中的轨迹点数目,例如线长大于40则表示该饲料检测区域中存在牲畜;
[0036]步骤23,对存在牲畜的饲料检测区域进行标识,被标识有牲畜在进食的饲料检测区域在下一步的饲料检测算法中该区域的结果不作有效记录。
[0037]在本发明一实施例中,用白色线在ROI区域所在最小矩形的边界进行标识,如图3(d)所示。
[0038]步骤3,对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息;该步骤具体为:扫描所述感兴趣区域所在的最小矩形区域,饲料检测的原始图像如图4(a)所示,取出该区域内图像的RGB像素点,判断像素点的颜色,以区分饲料和食槽底色,从而检测得到饲料和食槽空白处所在的位置,并得到饲料所占的面积比重,进而可以估算其剩余值。
[0039]所述步骤3进一步包括以下步骤:[0040]步骤31,获取所述感兴趣区域所在最小矩形区域中的像素点,并提取其RGB各个分量的值;
[0041]步骤32,根据各像素点RGB各个分量的值判断饲料所在的位置并统计;
[0042]在本发明一实施例中,考虑到饲料的颜色是草黄色,因此可以以此作为饲料的判断条件,即如果某一像素点RGB各个分量的值满足下式,则认为该像素点的位置为饲料:
(B > — *0.5

2
η /? + G /、λ
[0043]IB < — * 0.9,
G -R <20
VR-G < 20
[0044]步骤33,根据各像素点RGB各个分量的值判断食槽所在的位置;
[0045]本发明中,人为地将牧场食槽的背景颜色涂成光滑的白色,以有别于饲料的颜色,因此可以以此作为食槽空白处的判断条件,即如果某一像素点RGB各个分量的值满足下式,则认为该像素点的位置为食槽空白处:
(min(/?,G',S) > 100
[0046]lv(/? + G)2 + (G + B)2 + (B + R)2/3 < 12’
[0047]检测后的饲料区域用黑色表示,空白区域用白色表示,如图4(b)所示。
[0048]步骤34,根据所述步骤32得到的饲料所在的位置信息,计算得到饲料所在区域的比重X(0〈X〈1),并估算饲料在所述感兴趣区域所在最小矩形区域内的剩余量I。
[0049]该步骤具体为,统计饲料的像素点数量,然后据此计算饲料所在区域的比重X (0〈χ〈1),并估算饲料在所述感兴趣区域所在最小矩形区域内的剩余量y:
—ο] y = ^-1。[0051]步骤4,将检测得到的饲料信息显示出来。
[0052]该步骤中,根据检测得到的饲料信息,在监控显示器中实时显示检测得到的结果,比如可以在每个饲料检测区域表示出有牲畜在进食的区域和饲料剩余量,如图5所示,其中,图5(a)为最初根据本发明一实施例的牧场食槽区域划分示意图,图5(b)则显示了根据本发明方法对于饲料检测区域进行检测得到的饲料信息,字母A、B……K表示饲料检测区域的序号,字母后面的百分比数值表示该饲料检测区域中饲料的剩余量。
[0053]另外,本发明还可根据饲料的消耗情况设置不同程度的报警状态提醒管理人员,并可记录饲料消耗的历史数据,实现实时的查询及检索,进而在此基础上实现基于机器视觉的草料状况智能监控和管理。
[0054]图6为基于机器视觉的牧草饲料检测系统的结构示意图,如图6所示,根据本发明的另一方面,还提供一种基于机器视觉的牧草饲料检测系统,该系统包括:饲料检测区域模块、边缘检测模块、饲料检测模块和显示模块,其中:
[0055]所述饲料检测区域模块用于对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域;
[0056]所述边缘检测模块用于对于饲料检测区域中感兴趣区域(R0I区域)经过变换拉伸后的进行边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识;
[0057]所述饲料检测模块用于对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息;
[0058]所述显示模块用于将饲料检测模块检测得到的饲料信息显示出来。
[0059]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施实例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做`的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于机器视觉的牧草饲料检测方法,其特征在于,该方法包括以下步骤: 步骤1,对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域; 步骤2,基于对于饲料检测区域中感兴趣区域经过变换拉伸后的边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识; 步骤3,对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息; 步骤4,将检测得到的饲料信息显示出来。
2.根据权利要求1所述的方法,其特征在于,所述步骤2进一步包括以下步骤: 步骤21,根据步骤I的区域划分,规定每个最小单元的饲料检测区域为每一次饲料检测的感兴趣区域(ROI区域),使用透视变换和拉伸函数对ROI区域进行变换拉伸; 步骤22,对于拉伸后得到的图像进行canny边缘检测,得到图像中牲畜的边缘轮廓,并根据得到的边缘轮廓判断该饲料检测区域中是否存在牲畜; 步骤23,对存在牲畜的饲料检测区域进行标识。
3.根据权利要求2所述的方法,其特征在于,所述步骤22中,判断饲料检测区域中是否存在牲畜的步骤具体为:计算边缘轮廓中连续边缘轨迹点的数目,若轨迹点数目大于一预定阈值则认为该饲料检测区域中存在牲畜。
4.根据权利要求1所述的方法,其特征在于,所述饲料检测信息至少包括:饲料所在的位置、饲料所占的面积比重、饲料的剩余值。`
5.根据权利要求1所述的方法,其特征在于,所述步骤3进一步包括以下步骤: 步骤31,获取所述感兴趣区域所在最小矩形区域中的像素点,并提取其RGB各个分量的值; 步骤32,根据各像素点RGB各个分量的值判断饲料所在的位置并统计; 步骤33,根据各像素点RGB各个分量的值判断食槽空白处所在的位置并统计; 步骤34,根据所述步骤32和33得到的饲料和食槽空白处所在的位置信息,计算得到饲料所在区域的比重X,并估算饲料在所述感兴趣区域所在最小矩形区域内的剩余量I。
6.根据权利要求5所述的方法,其特征在于,所述步骤32中,如果某一像素点RGB各个分量的值满足下式,则认为该像素点的位置为饲料:
(B >7* 0.5
I r-? /?+C
,β < — ^ 0.9 c
G -R <20
VR-G < 20
7.根据权利要求5所述的方法,其特征在于,所述牧场食槽的背景颜色人为地涂成白色。
8.根据权利要求7所述的方法,其特征在于,所述步骤33中,如果某一像素点RGB各个分量的值满足下式,则认为该像素点的位置为食槽空白处: (m\n(R, G, B) > 100
\j(R + G)2 + (C + B)1 + (β + R)2/3 < 12。
9.根据权利要求5所述的方法,其特征在于,所述步骤34具体为:统计饲料的像素点数量,然后据此计算饲料所在区域的比重X,0〈χ〈1,并估算饲料在所述感兴趣区域所在最小矩形区域内的剩余量y:
10.一种基于机器视觉的牧草饲料检测系统,其特征在于,该系统包括:饲料检测区域模块、边缘检测模块、饲料检测模块和显示模块,其中: 所述饲料检测区域模块用于对于待监控的牧场食槽区域进行划分,得到多个饲料检测区域; 所述边缘检测模块用于对于饲料检测区域中感兴趣区域(ROI区域)经过变换拉伸后进行边缘检测,得到存在牲畜的饲料检测区域,并对其进行标识; 所述饲料检测模块用于对于不存在牲畜的饲料检测区域中感兴趣区域所在最小矩形区域,基于RGB颜色分量进行检测,得到相关的饲料检测信息; 所述显示模块用于将饲料检测模块检测得到的饲料信息显示出来。
【文档编号】G01N21/84GK103674857SQ201310715072
【公开日】2014年3月26日 申请日期:2013年12月23日 优先权日:2013年12月23日
【发明者】胡斌, 熊刚, 王飞跃, 田秋常, 周维斯, 蒋剑, 鲁沛 申请人:中国科学院自动化研究所, 东莞中国科学院云计算产业技术创新与育成中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1