基于红外图像的多猪只场景下猪体温检测方法与流程

文档序号:20707810发布日期:2020-05-12 16:42阅读:1119来源:国知局
基于红外图像的多猪只场景下猪体温检测方法与流程

本发明属于体温检测技术领域,具体涉及一种基于红外图像的多猪只场景下猪体温检测方法。



背景技术:

体温测量是种猪养殖过程中一项非常重要的工作,传统的种猪体温测量方法是采用水银温度计测取种猪的直肠温度,这是一种侵入式的测量方式,测温过程使种猪产生应激,不利于种猪健康生长和配种繁殖。而且测量一头种猪直肠温度一般情况下需要2-3名工人花费6分钟左右的时间完成,此方式在规模化养殖中对人工的消耗巨大,并且接触式测温过程中存在疾病在人畜间交叉感人的风险。由此可见养殖行业亟需更加科学高效的种猪体温获取方式。

与传统水银柱测量直肠温度相比,红外测温枪以其携带方便、操作简单等优点快速发展,在实际养猪场内推广较快。在实际养殖过程中一般是测量种猪的耳根、眼睛、腋下等部位来检测猪体温是否异常,但是红外测温枪是针对猪体表面几个点的测量,即使是对种猪同一个部位进行体温测量,测量点的随机性选取也容易造成极大的测量误差,易造成测量不准确。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于红外图像的多猪只场景下猪体温检测方法,利用红外相机,在识别种猪耳根区域的基础上,通过耳根区域的红外图像温度平均值,智能无接触测量种猪体表温度值。该方法相比于红外测温枪,能够克服测量点选择的随机性,而且对区域温度进行分析,体温数据获取更加全面和准确。

本发明是通过以下技术方案实现的:

一种基于红外图像的多猪只场景下猪体温检测方法,按如下步骤进行:

步骤一,获取饲养环境中的红外图像,将红外图像转化成灰度图像,然后进行小波去噪、有效区域裁剪、otsu阈值分割处理,得到的二值图像;

步骤二,对得到的二值图像进行连通区域标定;

步骤三,对标记的连通区域个数进行数量统计,进而得到非黏连猪只的数量;

步骤四,提取每个猪只的耳根部灰度值数据;

步骤六,提取到猪只耳根部区域灰度数据之后,利用温度-灰度模型计算耳根部区域内每个像素点灰度值对应的温度值,然后对得到的耳根部区域内各像素点的温度值求平均,得到耳根部的温度均值。

在上述技术方案中,步骤三中,由于猪只区域的像素点数量远远大于噪声产生的连通区域,差别在一个数量级以上,因此,设置猪只统计变量,通过遍历每个连通区域,规定5000像素点以上的连通区域为一头猪只区域,每遍历得到一个猪只区域,自动将此区域提取出赋值给一个猪只变量,猪只统计变量自动加1,连通区域遍历完则猪只数量统计完成。

在上述技术方案中,得到非黏连猪只的数量之后,通过对连通区域做矩形标定验证猪只数量是否统计正确。

在上述技术方案中,步骤四中,提取猪只耳根部灰度值数据的步骤如下:

4.1通过灰度范围标记,选择耳根部区域;

4.2然后对选择出的耳根部区域灰度置零,用耳根部置零后的图像与猪体二值图做异或运算,得到包含耳根部区域二值图像;

4.3通过最大连通区域选择,得到最大耳根部区域;

4.4以最大耳根部区域二值图像为目标裁剪区域,通过点乘猪只灰度图像,得到猪只耳根部的灰度值数据,完成最大耳根部区域的提取。

在上述技术方案中,建立温度-灰度模型(t-g模型)的方法,包括以下步骤:

步骤1,采用红外相机拍摄种猪红外图像;

步骤2,将红外图像标准化转化导出320*240像素大小的红外图像,同时导出320*240大小”.cvs”格式的温度表格数据;

步骤3,将320*240像素大小的红外图像及“.cvs”格式的温度表格导入matlab,将红外图像转化成灰度图像,通过两次小波去噪,减小种猪体毛对图像的影响;

步骤4,利用otsu自动阈值分割,获取目标猪二值图像,利用得到的有效猪体区域二值图作为裁剪模板;

步骤5,用有效灰度图像点乘目标猪只二值图裁剪模板得到猪体区域灰度数据,用有效温度数据点乘目标猪只二值图裁剪模板得到猪体区域温度数据;

步骤6,通过线性最小二乘法,拟合猪体灰度数据与温度数据关系,得到温度-灰度模型。

本发明的优点和有益效果为:

1.建立了基于fotric-225红外相机图像的猪体灰度-温度t-g模型:t=0.040428*g+30.01546,使用该模型能够根据红外图像中猪体的灰度数据计算目标猪体每个像素点的温度,且温度计算平均相对误差为0.076977%。测量精度较高,使得相机能够摆脱软件的限制,针对猪体数据进行具体温度的测量和温度分析。

2.设计了一种算法能够对不同场景红外图像非黏连猪只进行数量识别,并能够根据每头猪只灰度数据,利用t-g模型检测猪只体温。通过灰度值范围标定及图像异或运算自动裁剪出每头猪的耳根部区域,获取耳根部灰度值,然后利用t-g算法计算耳根部温度均值。本发明计算法能够较准确地检测猪只体温变化情况,能够有效的克服测温枪测量点随机选取的误差,又能够克服对红外相机全场分析针对性不强的问题,并且是一种非接触式的测温方法,符合福利养殖和物联网农业的发展理念。

附图说明

图1是基于红外图像的多猪只场景下猪体温检测方法的整体流程图。

图2a-2d是非黏连多猪只场景下猪只识别过程中获得图,其中,2a是灰度图像,2b是二值图像,2c为识别出第1头种猪二值图,2d为识别出的第2头种猪二值图。

图3是对连通区域最小矩形标定示意图。

图4是提取每个猪只的耳根部灰度值数据的流程图。

图5a-5e是提取每个猪只的耳根部灰度值过程中获得图,其中:5a是猪只灰度图像,5b是otsu阈值分割预算后得到的目标猪只二值图,5c是耳根部灰度范围置零后的图像,5d是5b和5c异运算得到的耳根部区域图像,5e是最大耳根部区域二值图。

图6是建立温度-灰度模型的流程图。

图7是实施例二中的温度-灰度拟合模型。

对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例进一步说明本发明的技术方案。

实施例一

一种基于红外图像的多猪只场景下猪体温检测方法,参见附图1,按如下步骤进行:

步骤一,获取饲养环境中的红外图像,将红外图像转化成灰度图像,然后进行小波去噪、有效区域裁剪、otsu阈值分割等处理,得到的二值图像。

步骤二,对得到的二值图像进行连通区域标定。

步骤三,对标记的连通区域个数进行数量统计,进而得到非黏连猪只的数量。

具体来讲,统计过程中需要识别出高亮区域是否为猪只区域,通过对标定连通区域的分析,发现猪只区域的像素点数量远远大于噪声产生的连通区域,差别在一个数量级以上,因此,设置猪只统计变量,通过遍历每个连通区域,规定5000像素点以上的连通区域为一头猪只区域,每遍历得到一个猪只区域,自动将此区域提取出赋值给一个猪只变量,猪只统计变量自动加1,连通区域遍历完则猪只数量统计完成。

非黏连多猪只场景下猪只识别过程如图2所示,其中2a是灰度图像,2b是二值图像,算法从左向右识别图像中的猪只,每识别出一头种猪,就将其灰度数据提取并存储,2c为识别出第1头种猪二值图,2d为识别出的第2头种猪二值图。

步骤四,通过对连通区域做矩形标定验证猪只数量是否统计正确,此算法能够准确识别出不同场景中的猪只数量。图3是对连通区域最小矩形标定,以检验并确认矩形标定数量是否与种猪统计数量一致。

步骤五,提取每个猪只的耳根部灰度值数据。

耳根部是猪只的热窗部位之一,在红外图像中猪只耳根部区域的明显特点是亮度偏高,灰度图像耳根部灰度值比其它区域的灰度也都高。参见附图4,提取每个猪只的耳根部灰度值数据的具体方法为:在完成猪只识别之后,通过灰度范围标记,选择耳根部区域,然后对选择出的耳根部区域灰度置零,用耳根部置零后的图像与猪体二值图做异或运算,得到包含耳根部区域二值图像;一头猪的耳根部二值图可能会是单个耳根部区域的情况或者两个耳根部区域的情况,通过最大连通区域选择,得到最大耳根部区域,同时能够去除小区域高亮像素点干扰;以最大耳根部区域二值图像为目标裁剪区域,通过点乘猪只灰度图像,得到猪只耳根部的灰度值数据,完成最大耳根部区域的提取。

如图5所示,5a是猪只灰度图像,5b是otsu阈值分割预算后得到的目标猪只二值图,5c是耳根部灰度范围置零后的图像,5d是5b和5c异运算得到的耳根部区域图像,提取到双耳根部区域,此种情况下为了消除其他小区域高亮点的影响,通过最大连通区域选择,得到5e图的最大耳根部区域二值图,以此二值图为目标裁剪区域,裁剪5a图所对应的猪只灰度数据,得到目标耳根部区域灰度数据,完成耳根部识别。

步骤六,提取到猪只耳根部区域灰度数据之后,利用温度-灰度模型(t-g模型)计算耳根部区域内每个像素点灰度值对应的温度值,然后对得到的耳根部区域内各像素点的温度值求平均,得到耳根部的温度均值。

实施例二

本实施例具体介绍建立关于猪的温度-灰度模型(t-g模型)的方法:

步骤1,采用fotric-225红外相机拍摄种猪红外图像,得到60幅24月龄荣昌种猪、60幅4月龄荣昌种猪、60幅24月龄长白种猪三组实验的图像。拍摄时,尽量保持采集距离、角度的一致性,采集距离保持0.8-1.0m之间,确保拍摄到完整的猪只头部区域,拍摄的角度在45-90度范围之内。

步骤2,红外图像数据预处理使用的工具是fotric-225红外相机自带的红外图像处理软件analyzir4.1.1,红外相机拍摄图像原始大小为960*720像素,将原始图像导入analyzir4.1.1将红外图像标准化转化导出320*240像素大小的红外图像,同时导出320*240大小”.cvs”格式的温度表格数据,此温度表格数据中像素点对应的温度即为图像中包括目标猪体在内的红外图像中每一像素点的温度数据。

步骤3,将320*240像素大小的红外图像及“.cvs”格式的温度表格导入matlab,将红外图像转化成灰度图像,通过两次小波去噪,减小种猪体毛对图像的影响。

步骤4,利用otsu自动阈值分割,获取目标猪二值图像。

otsu算法以nobuyukiotsu(日本人,大津展之)的名字命名,它是一种自适应的阈值确定方法。该算法核心思想是利用直方图选取阈值,采用遍历的方法求出能使得类间方差最大的灰度值k,则k即为所求的阈值,可以形象的表述为取直方图有两个峰值的图像中那两个峰值之间的低谷值k,此算法常用于图像分割的聚类,其原理为:

1)设图像中有l个灰度等级,其中灰度值为j的数目为nj,则有图像中总的像素为

2)每个灰度值概率为假设在0-l灰度内存在k将灰度分为两类m,n,则

3)两类灰度的均值分别是

4)图像总体的灰度均值是g=pmgm+pngmn;

5)计算方差是δ2=pm(gm-g)2+pn(gn-g)2,方差越大分割效果越好。

使用otsu算法对有效灰度图像进行阈值分割,得到以猪只为目标的二值图像,阈值分割后,通过闭运算填补目标猪只区域中某些空洞,可得到修正了的目标猪只二值图,此二值图像为猪体数据裁剪模板。

通过otsu算法并通过闭运算,实现红外猪体区域与背景区域的有效分割,完整的分割出包含头部耳根区域的猪体数据,并且将背景图有效的去除,得到边缘平滑的猪体头部区域二值图,此二值图即为目标猪体区域,利用得到的有效猪体区域二值图作为裁剪模板,通过裁剪灰度图像和表格温度数据,就能够将待分析的猪体的灰度数据和温度数据提取出来。

步骤5,区域选择与分离块操作。获得目标猪只二值图之后,用有效灰度图像点乘目标猪只二值图裁剪模板得到猪体区域灰度数据,用有效温度数据点乘目标猪只二值图裁剪模板得到猪体区域温度数据。

分离块操作能够节省运算时占用的存储空间,降低计算的复杂性,提高处理速度,并且充分考虑图像的局部特性。对获取的猪只数据进行分离块操作,分别对猪只灰度、温度数据使用4*4的分离块进行求平均值操作,得到灰度矩阵g和温度矩阵t。

步骤6,通过线性最小二乘法,拟合猪体灰度数据与温度数据关系,得到t-g模型,其推理过程如下:

(1)假设拟合直线为t=ag+b;

参数a,b分别是线性模型的一次项系数和常数项。

(2)对任意样本点(gi,ti);

(3)误差为e=ti-(agi+b);

(4)当为最小时拟合度最高,即最小时;

(5)分别求一阶偏导

(6)分别让(3-1)(3-2)式得0,并且有

(7)得到最终解:

三组实验分别选取60幅红外图像,对每一幅图像使用线性最小二乘法建立模型。每组实验分别得到60组模型参数a,b,其中表1为24月龄荣昌种猪的60组模型参数。

表1

用线性最小二乘法分别对60幅24月龄荣昌种猪红外图像的猪只灰度、温度向量进行直线拟合,得到60个线性模型,图7为其中一个温度-灰度拟合模型,r方为0.9479。通过分析60组模型的参数a、参数b,发现每组之间大小非常接近,且60个模型的r方均大于0.9。对参数求取平均值,得到24月龄荣昌种猪的统一t-g模型,模型参数a=0.040379、b=30.026,所求的模型为:

t=0.040379*g+30.026(3)

用同样的方法对60幅4月龄荣昌种猪红外图像进行处理,每一幅图像得到一个模型,每个拟合模型的r方均大于0.9,得到模型后,对60组模型参数a、参数b进行统计并分别求平均值得4月龄荣昌种猪的t-g模型为:

t=0.040447*g+30.00517(4)

用同样的方法对60幅24月龄长白种猪的红外图像进行处理,得到60个线性模型,模型r方均大于0.9,对60组参数取平均得到24月龄长白种猪的t-g模型为:

t=0.040459*g+30.01522(5)

表2为三组种猪60幅红外图像求得平均参数模型,通过对比分析发现,不同品种、不同月龄的种猪的红外图像灰度-温度模型参数都非常近似,通过求均值的方法对模型参数进行统一,得到温度-灰度t-g模型为:

t=0.040428*g+30.01546(6)

表2

统一模型参数后,得到统一的猪体的灰度-温度转换模型t=0.040428*g+30.01546。

以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。

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