一种猪只图像的分析方法及设备与流程

文档序号:17490909发布日期:2019-04-23 20:30阅读:266来源:国知局
一种猪只图像的分析方法及设备与流程

本发明涉及图像处理领域,具体涉及一种猪只图像的分析方法及设备。



背景技术:

轨道机器人是一款依赖于导轨的倒挂式行走机器人,是一款智能轨道行走式挂载系统,可作为感知综合体在巡检机器人上挂载音频采集设备、影音播放设备、自动化机电设备等。主要由控制中心、电机驱动、轨道总成、升降机构等四大部分组成,可通过机器进行数字或模拟传输给监控中心后台,系统支持tcp/ip或rs485通过控制,实现设备的在线控制功能。可利用其自身的移动功能,通过后台设定机器人巡检方案,能够完全脱离人工进行全面检测,在检测过程中,做到无死角巡检。广泛应用于电力变电站开关室、二次设备室、电容器室及箱式变内;工矿企业的生产现场、地下室群、流水线等;养殖场生产现场等。

现有轨道机器人,主要以安装视频摄像头为主,进行视频数据采集,实时传输至监控后台,工作人员通过查看视频,观察现场环境是否异常。

在猪只养殖领域,由于养殖工厂的轨道机器人采集的大量的视频数据,以传统人工方式查看为主,耗时耗力,效率低下,提升了养殖生产成本。



技术实现要素:

本发明实施例提供了一种猪只图像的分析方法及设备,用于对轨道机器人采集的视频进行分析,替代人工视频监控的养殖管理方式。

根据本发明实施例的第一方面,提供了一种猪只图像的分析方法,包括:

获取原始图像;

确定所述原始图像中的猪只图像;

根据所述猪只图像,确定猪只的养殖数据。

在一些可选实施例中,所述养殖数据,至少包括以下数据中的一种:

体重、运动轨迹、头数。

在一些可选实施例中,确定所述体重的方法包括:

根据所述猪只图像,确定猪只的体长、肚围;

根据所述体长、肚围,以及对应的估算公式,确定猪只的体重。

在一些可选实施例中,该方法还包括:

根据预先建立的与体长、肚围和体重相关的经验公式,对体重数据进行修正。

在一些可选实施例中,该方法还包括:

根据预先建立的日龄体重对照表,以及预先获取的猪只的日龄,对体重数据进行修正。

在一些可选实施例中,根据所述猪只图像,确定猪只的体长、肚围,包括:

对所述猪只图像的边缘作噪声滤除处理;

对所述猪只图像进行边缘检测;

根据边缘检测结果,确定猪只的体长、肚围。

在一些可选实施例中,确定所述原始图像中的猪只图像,包括:

提取所述原始图像的方向梯度直方图(histogramoforientedgradient,hog)特征;

采用支撑向量机(supportvectormachine,svm)分类器,确定所述原始图像中的猪只图像;

其中,所述svm分类器经过两次训练,第一次训练使用正样本和源负样本中取样得到的负样本进行训练,第二次训练先使用所有源负样本进行训练,将其中检测错误的源负样本确定为困难负样本,再使用所述正样本、所述负样本与所述困难样本进行训练。

在一些可选实施例中,所述原始图像包括多个连续视频帧;

确定所述运动轨迹的方法包括:根据camshift和帧间差分算法,实现运动目标跟踪检测。

在一些可选实施例中,确定所述头数的方法还包括:

根据目标跟踪检测结果,以及所述原始图像中的猪只图像,确定连续多帧图像中的相同目标;

统计所述相同目标的个数作为猪只的头数。

根据本发明实施例的第二方面,提供了一种猪只图像的分析设备,包括:

图像获取单元,用于获取原始图像;

猪只确定单元,用于确定所述原始图像中的猪只图像;

数据分析单元,用于根据所述猪只图像,确定猪只的养殖数据。

在一些可选实施例中,所述养殖数据,至少包括以下数据中的一种:

体重、运动轨迹、头数。

在一些可选实施例中,所述数据分析单元用于确定所述体重时,具体用于:

根据所述猪只图像,确定猪只的体长、肚围;

根据所述体长、肚围,以及对应的估算公式,确定猪只的体重。

在一些可选实施例中,所述数据分析单元还用于:

根据预先建立的与体长、肚围和体重相关的经验公式,对体重数据进行修正。

在一些可选实施例中,所述数据分析单元还用于:

根据预先建立的日龄体重对照表,以及预先获取的猪只的日龄,对体重数据进行修正。

在一些可选实施例中,所述数据分析单元还用于:

对所述猪只图像的边缘作噪声滤除处理;

对所述猪只图像进行边缘检测;

根据边缘检测结果,确定猪只的体长、肚围。

在一些可选实施例中,所述猪只确定单元具体用于:

提取所述原始图像的hog特征;

采用svm分类器,确定所述原始图像中的猪只图像;

其中,所述svm分类器经过两次训练,第一次训练使用正样本和源负样本中取样得到的负样本进行训练,第二次训练先使用所有源负样本进行训练,将其中检测错误的源负样本确定为困难负样本,再使用所述正样本、所述负样本与所述困难样本进行训练。

在一些可选实施例中,所述原始图像包括多个连续视频帧;所述数据分析单元用于确定所述运动轨迹时,具体用于:

根据camshift和帧间差分算法,实现运动目标跟踪检测。

在一些可选实施例中,所述数据分析单元用于确定所述头数时,具体用于:

根据目标跟踪检测结果,以及所述原始图像中的猪只图像,确定连续多帧图像中的相同目标;

统计所述相同目标的个数作为猪只的头数。

根据本发明实施例的第三方面,提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可被所述处理器运行的程序,所述处理器执行所述程序时实现上述的猪只图像的分析方法。

根据本发明实施例的第四方面,提供了一种存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时实现上述的猪只图像的分析方法。

本发明实施例提供的技术方案可以包括以下有益效果:

本发明利用图像处理方法,对养猪场视频监控图像进行自动分析处理,获取关键养殖数据,在实施例中,养殖数据可以是体重、运动轨迹、头数等;优化了现场养殖人员通过人工盘点,体重目测的传统粗放的养殖方式,降低了劳动强度,解决了现有产品视频数据仅仅作为视频查看,数据利用率低的弊端。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种猪只图像的分析方法的流程示意图;

图2是根据一示例性实施例示出的轨迹跟踪方法的流程示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法、产品等而言,由于其与实施例公开的方法部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

参见图1,本发明提供的猪只图像的分析方法包括:

s110、获取原始图像;

s120、确定所述原始图像中的猪只图像;

s130、根据所述猪只图像,确定猪只的养殖数据。

其中,养殖数据至少包括以下数据中的一种:体重、运动轨迹、头数。

优选地,养殖数据包括体重数据。

优选地,养殖数据包括运动轨迹、头数。

步骤s120确定所述原始图像中的猪只图像的实施例:

用hog特征结合svm分类器识别猪只图像。

提取目标的hog特征的步骤如下:首先按照公式(1)和公式(2)计算灰度图像的梯度幅值和梯度方向。

其中gx、gy分别是(x,y)的水平和竖直梯度,梯度方向反映像素点周围的灰度变化的方向,梯度的幅度反映灰度变化的大小。然后进行子块单元的划分和方向直方图统计,将突显和划分为若干个图像块(block),每个块划分为若干个正方形图像单元(cell),图像单元的边长记为cellsize。假设cell大小为8x8个像素,即cellsize=8;一个block包含2x2个图像单元cellnum=4,以一个图像单元为单位,进行方向梯度直方图的统计。将梯度方向划分为bin个区间,对于各个区间的梯度相加,形成一个bin维的向量来描述一个图像单元。最后生成图像的hog描述子,对于每一个block对应的binxcellnum维向量可以根据时间需要进行标准化。

猪只检测计数的分类器选择高斯内核的svm。svm分类器的训练分为两次进行,第一次是使用猪只集中的正样本和从不包含猪只对象的图像(源负样本)中取样得到的负样本中训练出基本分类器。第二次是采用基本分类器的对所有源负样本进行密集扫面检测,将其中检测错误的子图像归为困难负样本,然后将之前的正样本和负样本与困难样本一起对基本分类器进行二次训练。在对源负样本进行密集扫描时,不仅扫描步长要小,而且还要加入及尺寸的变化,尺寸步长可设置为1.5或2.0,尽可能的获取源负样本的局部信息和全局信息。这样得到的负样本才够健全,对二次训练后的检测器的效果也提升得更加全面。

svm分类器的训练阶段训练用的正样本和负样本的尺寸固定,在猪只检测计数阶段,由于距离等因素,导致目标大小变化较大,采用训练模板大小不变而只缩小待测图像的方法实现目标的多尺寸检测。利用hog特征,可以实现单幅图像中猪只检测计数,要完成最终统计,必须利用多帧图像,既要检测出图像中新出现的目标,又要根据目标跟踪技术,确定连续多帧图像中的同一个目标,实现精确的统计技术。

步骤s130根据所述猪只图像,确定猪只的运动轨迹和头数的实施例:

在opencv中,可实现运动物体识别的检测算法主要有3种,分别的是帧间差分法、背景差分法和光流场算法。帧间差分法是通过对视频图像序列中相邻两帧做差分运算来获得运动目标轮廓的方法,算法简单,获得前景速度快。缺点是出现多个运动物体识别区域,无法定位要跟踪的物体;背景差分算法是目前检测中最常用的一种方法,他是利用当前图像与背景的差分来检测的运动区域的一种技术;流光场算法原理比较复杂,他是图像中的每一个像素点赋予一个速度矢量,形成一个图像运动场,在运动的一个特定时刻,图像上的点是与物体上的点一一对应,根据各个像素点的速度矢量特征,对图像进行动态分析,如果图像中没有运动物体,则流光矢量在整个图像区域是连续变化的。当图像中有物体运动时,目标和图像背景存在相对运动,运动物体形成的速度矢量必然和邻域背景速度矢量不同,从而检测出运动无图及位置。

运动目标的检测跟踪,首先采用的是opencv中的camshift算法,计算色彩投影图,为减少光照变化对跟踪目标的影响,将图像从rgb空间转换到hsv空间,对h分量进行直方图统计,颜色概率直方图代表不同h量取值出现的概率。将图像出现的每个像素值用其颜色分量h出现的概率进行区分,得到颜色的概率分布图,然后采用camshift算法不断进行迭代,得到最优搜索窗口的位置和大小,最后该帧的窗口位置和大小当做下一帧的初始值,不断循环迭代,实现目标跟踪。

关于轨迹的生成,采用链表的形式存储运动物体的质心点,并在每一帧图片中进行轨迹绘制。简单来说,先将camshift算法算法和帧间差分算法结合得到运动物体,永不断变化的红色椭圆来跟踪标示,得到椭圆的中心值,并加到链表中。由于在实际运行中每帧都存储及绘制会导致运行速度逐渐变慢,所以采用每间隔20帧存储运动物体坐标点的方法,这样能对速度进行改善。对链表中的运动物体坐标进行一次筛选,去掉两个相邻坐标距离过大的点,这些距离过大的点很有可能就是噪音。轨迹生成之后写入新的视频文件中。在写入新的视频文件的过程中,在文件路径下出现新生成的视频,但是无法打开观看,多次试验和摸索之后,发现虽然都是后缀为“avi”格式的文件,但是在生成的过程中也是有多种压缩视频的编码方式进行选择,最好选择的视频编码方式是microsoftvideo1,不要选择默认的microsoftrle,后者生成的文件虽然存在,但是无法正常播放。microsoftrle是一种8位的编码方式,只支持256色图像,属于一种无损压缩编码方式,而microsoftvideo1是微软的一种编码方式,这个编码方式只支持真彩图像,画面质量很好。

具体计算原理如图2所示。

步骤s130根据所述猪只图像,确定猪只的体重的实施例:

1、边缘噪声滤除;

由于生产环境的光照条件限制,并受到现场空气环境污染和现场机械振动等因素的影响,在猪只图像边缘会产生大量的干扰噪声,使图像边缘轮廓不清晰,从而影响长度识别精度,为此采用空间域的平滑滤波方法对图像做平滑处理,对含噪声的原始图像f(x,y)的每个像素点取一个邻域s,以s中所有像素灰度级的平均值作为空间域平均处理后图像g(x,y)的像素值,即

式中,m为邻域s中的像素点数,s邻域可取4邻域、8邻域,s越大,降噪作用越明显,但会使图像边缘模糊,也不利于边缘精确检测,对于以为图像来说,平滑滤波的算法可表示为

2、边缘检测与识别;

通过对多种边缘算法的实际测试与比较,采用计算过程比较简单,计算速度比较快的图像矢量梯度算法进行图像边缘检测,在满足猪只测量精度要求的前提下,提高测量速度。

设图像灰度函数为f(x,y),其在点(x,y)的梯度矢量为

梯度的两个重要的性质是:梯度的方向是在函数f(x,y)最大变化率方向上;梯度的幅度可以表达为

对于数字图像灰度函数,式(2)可改写为

g[f(x,y)]={[f(i,j)-f(i+1,j)]+[f(i,j)-f(i,y+1)]}(3)

为计算方便,式(3)可以近似为

g[f(x,y)]=|f(i,j)-f(i+1,j)|+|f(i,j)-f(i,y+1)|(4)

由式(4)可见,梯度值正比于邻近像素灰度值的差分,因此在图像变化的缓慢区域,其值最小;而在线条轮廓等变化快的部分,其值最大,梯度值虽大点即为图像的边缘,根据这个特点,可以推算出猪只的长度。

识别猪只长度只需要提取水平方向的像素值,因此梯度算法的计算公式可以表示为

g[f(x,y)]=f(i)-f(i+1)

3、体重换算;

(1)根据上述算法的处理结果,估算出猪只的肚围x1,体长x2,采用体重y1=肚围x1×体长x2÷142或156或162,142/156/162均为常数。营养优良的猪采用142;中等的猪采用156;营养差的用162。

单位:体重为kg,胸围与体长皆为cm。

(2)结合实际的随机抽样调研数据,例表:

表1

推算建立经验公式y2=β1+β2x1+β3x2,作为估算猪只毛重的修改补偿参考y2。

(3)结合行业给出的不同种猪的日龄体重表,调取对应日龄的参考体重,作为估算猪只毛重的修改补偿参考y3,例表:

表2

(4)算法估重y1;

结合随机抽样给出的修正数据y2,行业生猪体重参考数据y3,最后给出的估重y=(y1+y2+y3)÷3。

与现有的产品相比,本发明提出的技术方案,在满足现有的视频监控需求之外,并且通过植入人工智能算法,进行猪只的视频识别,数量盘点、体重评估、运动轨迹监测等,给出如日增重等关键指标数据,优化了现场养殖人员通过人工盘点,体重目测的传统粗放的养殖方式,降低了劳动强度,解决了现有产品视频数据仅仅作为视频查看,数据利用率低的弊端。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。所属技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,应该理解到,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

应当理解的是,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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