基于特征融合的奶牛个体识别方法转让专利

申请号 : CN201710443360.2

文献号 : CN107256398B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张满囤米娜郭迎春于洋阎刚王小芳于明

申请人 : 河北工业大学

摘要 :

本发明基于特征融合的奶牛个体识别方法,涉及图像数据处理中的图像识别方法,是应用改进的LBP‑HOG算法进行特征提取和主成分分析方法结合使用进行奶牛个体识别的方法,进一步说是依据不同奶牛个体头部的鼻镜和额部位存在明显差异的特点,使用改进的HOG进行边缘特征提取,得到奶牛头部的轮廓特征,与之后LBP局部纹理特征提取进行特征融合,再与主成分分析方法结合使用进行奶牛个体识别,克服了早先奶牛个体识别技术中旋转鲁棒性差、易受光照影响、噪声大的缺陷。

权利要求 :

1.基于特征融合的奶牛个体识别方法,其特征在于:是应用改进的LBP-HOG算法进行特征提取和主成分分析方法结合使用进行奶牛个体识别的方法,进一步说是依据不同奶牛个体头部的鼻镜和额部位存在明显差异的特点,使用改进的HOG进行边缘特征提取,得到奶牛头部的轮廓特征,与之后LBP局部纹理特征提取进行特征融合,再与主成分分析方法结合使用进行奶牛个体识别,具体步骤如下:第一步,奶牛视频数据采集:

初始数据采用奶牛头部视频,视频采集自一个规范奶牛养殖场数量>300头的奶牛头部视频,应用摄像设备录制,视频采集时间集中在奶牛进食阶段,每次录制20头奶牛,每头奶牛录制时间为1分钟,帧速29帧/s,分别采集每头奶牛的抬头、偏头、低头和进食这几种状态,包含了奶牛头部的鼻镜和额部位差异明显的特点,至此完成奶牛视频数据采集;

第二步,视频转化图片并进行预处理:

分别将上述第一步采集的20头奶牛头部的视频数据转化成图片序列,初始图片大小为

1920×1080像素,将彩色图片序列转为灰度图像,并使用photoshop软件的批量处理功能截取奶牛头部图像,然后通过高通滤波处理原图像,使模糊的图像更清晰,图像边缘纹理增强,最后将图片进行尺寸归一化到128*128像素,并将20头奶牛从1到20编号,表示20个待识别的不同个体,每头奶牛保留1000张有效图片,至此完成视频转化图片并进行预处理;

第三步,应用改进的LBP-HOG算法进行特征提取:

(3.1)求得图像的特征向量H1=[H11,H12,H13]:

设上述第二步得到的图片的图像中某个3*3局部区域的任意像素为f(xa,ya),其中心像素点为ga,根据LBP编码得到图像的纹理特征T(xa,ya);对窗口的邻域像素值进行二值化处理,得到图像的纹理特征T(xb,yb),计算过程如下式(1)所示:式(1)中,g0、g1……g7为邻域像素值,T(xb,yb)为图像的纹理信息,s(x)是邻域像素进行二值化处理后的值,通过比较T(xa,ya)、T(xb,yb),得到改进后的LBP编码为T(xc,yc),计算过程如下式(2)所示:对像素的不同位置进行加权求和,得图像的LBP值为LBP(xc,yc),计算过程如下式(3)所示:将LBP值LBP(xc,yc)与循环移动后的一位进行位“与”操作,计算二进制为1的个数,标记小于等于2的为等价模式,其余的为混合模式,选择等价模式中LBP值LBP(xc,yc)最小的为等价模式中的代表值,更新LBP值LBP(xc,yc);最后将LBP特征谱以6*6子窗口扫描整个图像,得到直方图H11,在以4*4子窗口扫描整个图像,得到直方图H12,最后以2*2子窗口扫描整个图像,得到直方图H13,将不同尺度下的LBP直方图级联起来得到图像的特征向量H1=[H11,H12,H13];

(3.2)求得改进LBP-HOG算法的特征向量H:

用[-1,0,1]梯度算子对原图像做卷积运算,得到i方向的梯度分量Gi(i,j),用[-1,0,1]T梯度算子对原图像做卷积运算,得到j方向的梯度分量Gj(i,j),再用公式(4)计算该像素点的梯度大小,用如下式(5)计算该像素点的梯度方向:式(4)中G(i,j)是像素点的梯度大小,式(5)中α(i,j)是像素点的梯度方向;

把[0,2π]的梯度方向划分成9个区间,计算每个像素点在不同区间的梯度幅值,将图像分割成cell单元,根据梯度方向和梯度幅值求得每个单元的梯度方向直方图,即每个单元的梯度累加和;然后将多个临近的cell组合成block,求得梯度方向直方图向量并对其进行L2-norm归一化操作,最后block相连得到图像的HOG特征向量H2,通过级联特征向量H1、H2得到改进LBP-HOG算法的特征向量H;

至此完成应用改进的LBP-HOG算法进行特征提取;

第四步,应用主成分分析方法进行特征降维:

通过princomp函数初步求得特征向量、训练集数组和特征值数组,通过以下公式(6)计算特征值的累计贡献率,选择前95%的特征值对应的特征向量,通过以下公式(7)得到最终训练集数组、测试集数组:式(6)中,latent为特征值数组,α为每个特征值的贡献率,α(n)为第n个特征值的贡献率,α(n-1)为第n-1个特征值的贡献率,β为特征值的累计贡献率,γ为符合条件的特征值;

式(7)中,X0为训练集原始数据, 为训练集的平均值,Y0为测试集原始数据,pcu为第u个特征值对应的特征向量,npc为符合条件的特征向量,X1为降维之后的训练集数据,Y1为降维之后的测试集数据,至此完成应用主成分分析方法进行特征降维;

第五步,将图像特征数据划分为训练集和测试集:

由于每头奶牛保留下1000张有效图片,在经过上述处理步骤之后具有相应的1000个特征向量,分别将每头奶牛的1000个特征向量以随机方式划分成800个训练数据和200个测试数据,最终组成包含16000个特征向量的训练矩阵和包含4000个特征向量的测试矩阵,至此完成图像数据划分为训练集和测试集;

第六步,SVM训练:

通过线性核函数的多分类libsvm进行训练,将第五步处理好的奶牛训练集数据送入SVM进行建模训练,得到训练好的模型,至此完成SVM训练;

第七步,SVM测试:

将第五步中处理好的奶牛测试集数据送入第六步完成SVM训练的模型中进行测试,得出预测结果,至此完成SVM测试;

第八步,实现对奶牛个体的有效识别:

根据第七步测试过程得到相应的预测结果,输出测试集中各特征向量对应的奶牛不同个体的标号,得到奶牛个体类别,至此实现对奶牛个体的有效识别。

说明书 :

基于特征融合的奶牛个体识别方法

技术领域

[0001] 本发明的技术方案涉及图像数据处理中的图像识别方法,具体地说是基于特征融合的奶牛个体识别方法。

背景技术

[0002] 互联网的兴起使得现今各行业逐渐朝着工业化、智能化发展,其中奶业发展是农业发展中国家十分关注的问题。农业现代化步伐不断加快,规模化、信息化奶牛养殖场得到了广泛应用,我国已基本形成高密度、集中化的奶牛养殖体系。视频分析技术已越来越多的应用于检测奶牛行为以给出养殖管理决策,基于图像处理的奶牛个体身份识别算法能够进一步提高奶牛行为视频分析的自动化程度。个体识别作为奶牛信息化管理的基础,成为当前畜牧业发展的一个研究热点。因此迫切需要一种基于图像处理的高精度自动奶牛个体识别方法,以提高行为检测的自动化程度并使得成本不是太高,进一步提高视频分析技术在奶牛行为感知领域的重大实用性。
[0003] 早期针对奶牛个体识别问题主要采取人工观察方式,但该方法受主观影响大、标准不统一,误识别率很高;之后发展为采用标签识别的方法,分别为每头奶牛耳朵上佩戴唯一的标识号码,但是依然存在人工量大、工作繁琐的缺点,此外,标签容易破损、对奶牛造成了过多日常干扰,可能降低奶牛产奶量,从而影响牛场的经济效益。目前畜牧业比较流行的无线射频识别技术(RFID),但该方法无法实现远距离识别,同时精密度和成本比较高。随着计算机视觉的发展,结合奶牛特有的黑白条纹信息,应用图像处理算法实现奶牛个体识别逐步引起国内外相关学者的关注。Ahmed S等人在IEEE计算机学会上发表的《Muzzle-Based cattle identification using speed up robust feature approach》论文中提出了运用加速鲁棒特征算子(SURF)提取奶牛嘴部纹理特征点,然后应用支持向量机(SVM)分类器对奶牛个体进行分类识别的方法,但是该方法对于采集数据的位置比较敏感,奶牛嘴部数据获取具有一定的难度。CN105260750A公开了一种奶牛个体识别方法,该方法通过将捕捉到的奶牛实时图像与事先建立好的模板图像库进行匹配,将能够成功匹配的模板库中的奶牛个体的标签作为待识别奶牛的类别,但是该方法效率较低,每次匹配过程需要遍历模板的数量可能很大。Kim等人发表的《Recognition of individual Holstein cattle by imaging body patterns》论文中设计了一个基于奶牛身体图像特征的计算机图像系统以识别奶牛个体,该系统使用纯色背景,提取奶牛的身体区域图像,二值化后对图像进行分块处理得到100个特征值,构建100*16*8结构的人工神经网络,用49幅图像训练网络,10幅图像测试网络性能,虽然该方法证明识别奶牛是可行的,但是构建的神经网络结点数众多,训练样本少,易产生多学习,系统对于环境光变化、图像平移与畸变的鲁棒性低。图像距离量度法和尺度不变特征匹配算法(SIFT)可用于奶牛个体身份识别,但是图像距离量度法依赖于图像的特征提取,对光线变化较为敏感,不适合于露天养殖的奶牛,在有前景遮挡的情况下,SIFT方法匹配准确率会受到影响。CN201710000628.5公开了一种基于深度卷积神经网络的奶牛个体识别方法,是针对奶牛的纹理特征进行的奶牛个体识别,该方法模型参数设置需要较高的技巧性,需要反复实验进行训练和测试,并没有统一参照的标准,模型的建立较困难。CN201710269440.0公开了一种奶牛个体识别的方法,是针对奶牛黑白花纹的形状及分布进行的奶牛个体识别,该方法存在旋转鲁棒性差、易受光照影响、噪声大的缺陷。
[0004] 虽然我国在借鉴国外先进技术的基础上也在畜牧业取得了一些成绩,但是目前研究都是针对农业养殖过程中的管理自动化研究,只是根据奶牛的某些特征进行聚类分析,分类识别尚不是很好,对于最直观的视觉信息应用的少,故需要提供一种在奶牛的实际养殖环境下,基于图像处理的非接触、低成本尤其针对奶牛个体特点的奶牛个体识别方法。

发明内容

[0005] 本发明所要解决的技术问题是:提出基于特征融合的奶牛个体识别方法,是应用改进的LBP-HOG算法进行特征提取和主成分分析方法结合使用进行奶牛个体识别的方法,克服了早先奶牛个体识别技术中旋转鲁棒性差、易受光照影响、噪声大的缺陷。
[0006] LBP-HOG算法的中文含义是局部二值模式与方向梯度直方图融合算法。
[0007] 本发明解决该技术问题所采用的技术方案是:基于特征融合的奶牛个体识别方法,是应用改进的LBP-HOG算法进行特征提取和主成分分析方法结合使用进行奶牛个体识别的方法,进一步说是依据不同奶牛个体头部的鼻镜和额部位存在明显差异的特点,使用改进的HOG进行边缘特征提取,得到奶牛头部的轮廓特征,与之后LBP局部纹理特征提取进行特征融合,再与主成分分析方法结合使用进行奶牛个体识别,具体步骤如下:
[0008] 第一步,奶牛视频数据采集:
[0009] 初始数据采用奶牛头部视频,视频采集自一个规范奶牛养殖场数量>300头的奶牛头部视频,应用摄像设备录制,视频采集时间集中在奶牛进食阶段,每次录制20头奶牛,每头奶牛录制时间为1分钟,帧速29帧/s,分别采集每头奶牛的抬头、偏头、低头和进食这几种状态,包含了奶牛头部的鼻镜和额部位差异明显的特点,至此完成奶牛视频数据采集;
[0010] 第二步,视频转化图片并进行预处理:
[0011] 分别将上述第一步采集的20头奶牛头部的视频数据转化成图片序列,初始图片大小为1920×1080像素,将彩色图片序列转为灰度图像,并使用photoshop软件的批量处理功能截取奶牛头部图像,然后通过高通滤波处理原图像,使模糊的图像更清晰,图像边缘纹理增强,最后将图片进行尺寸归一化到128*128像素,并将20头奶牛从1到20编号,表示20个待识别的不同个体,每头奶牛保留1000张有效图片,至此完成视频转化图片并进行预处理;
[0012] 第三步,应用改进的LBP-HOG算法进行特征提取:
[0013] (3.1)求得图像的特征向量H1=[H11,H12,H13]:
[0014] 设上述第二步得到的图片的图像中某个3*3局部区域的任意像素为f(xa,ya),其中心像素点为ga,根据LBP编码得到图像的纹理特征T(xa,ya);对窗口的邻域像素值进行二值化处理,得到图像的纹理特征T(xb,yb),计算过程如下式(1)所示:
[0015]
[0016] 式(1)中,g0、g1……g7为邻域像素值,T(xb,yb)为图像的纹理信息,s(x)是邻域像素进行二值化处理后的值,通过比较T(xa,ya)、T(xb,yb),得到改进后的LBP编码为T(xc,yc),计算过程如下式(2)所示:
[0017]
[0018] 对像素的不同位置进行加权求和,得图像的LBP值为LBP(xc,yc),计算过程如下式(3)所示:
[0019]
[0020] 将LBP值LBP(xc,yc)与循环移动后的一位进行位“与”操作,计算二进制为1的个数,标记小于等于2的为等价模式,其余的为混合模式,选择等价模式中LBP值LBP(xc,yc)最小的为等价模式中的代表值,更新LBP值LBP(xc,yc);最后将LBP特征谱以6*6子窗口扫描整个图像,得到直方图H11,在以4*4子窗口扫描整个图像,得到直方图H12,最后以2*2子窗口扫描整个图像,得到直方图H13,将不同尺度下的LBP直方图级联起来得到图像的特征向量H1=[H11,H12,H13];
[0021] (3.2)求得改进LBP-HOG算法的特征向量H:
[0022] 用[-1,0,1]梯度算子对原图像做卷积运算,得到i方向的梯度分量Gi(i,j),用[-1,0,1]T梯度算子对原图像做卷积运算,得到j方向的梯度分量Gj(i,j),再用公式(4)计算该像素点的梯度大小,用如下式(5)计算该像素点的梯度方向:
[0023]
[0024]
[0025] 式(4)中G(i,j)是像素点的梯度大小,式(5)中α(i,j)是像素点的梯度方向;
[0026] 把[0,2π]的梯度方向划分成9个区间,计算每个像素点在不同区间的梯度幅值,将图像分割成cell单元,根据梯度方向和梯度幅值求得每个单元的梯度方向直方图,即每个单元的梯度累加和;然后将多个临近的cell组合成block,求得梯度方向直方图向量并对其进行L2-norm归一化操作,最后block相连得到图像的HOG特征向量H2,通过级联特征向量H1、H2得到改进LBP-HOG算法的特征向量H;
[0027] 至此完成应用改进的LBP-HOG算法进行特征提取;
[0028] 第四步,应用主成分分析方法进行特征降维:
[0029] 通过princomp函数初步求得特征向量、训练集数组和特征值数组,通过以下公式(6)计算特征值的累计贡献率,选择前95%的特征值对应的特征向量,通过以下公式(7)得到最终训练集数组、测试集数组:
[0030]
[0031]
[0032] 式(6)中,latent为特征值数组,α为每个特征值的贡献率,α(n)为第n个特征值的贡献率,α(n-1)为第n-1个特征值的贡献率,β为特征值的累计贡献率,γ为符合条件的特征值;
[0033] 式(7)中,X0为训练集原始数据, 为训练集的平均值,Y0为测试集原始数据,pcu为第u个特征值对应的特征向量,npc为符合条件的特征向量,X1为降维之后的训练集数据,Y1为降维之后的测试集数据,至此完成应用主成分分析方法进行特征降维;
[0034] 第五步,将图像特征数据划分为训练集和测试集:
[0035] 由于每头奶牛保留下1000张有效图片,在经过上述处理步骤之后具有相应的1000个特征向量,分别将每头奶牛的1000个特征向量以随机方式划分成800个训练数据和200个测试数据,最终组成包含16000个特征向量的训练矩阵和包含4000个特征向量的测试矩阵,至此完成图像数据划分为训练集和测试集;
[0036] 第六步,SVM训练:
[0037] 通过线性核函数的多分类libsvm进行训练,将第五步处理好的奶牛训练集数据送入SVM进行建模训练,得到训练好的模型,至此完成SVM训练;
[0038] 第七步,SVM测试:
[0039] 将第五步中处理好的奶牛测试集数据送入第六步完成SVM训练的模型中进行测试,得出预测结果,至此完成SVM测试;
[0040] 第八步,实现对奶牛个体的有效识别:
[0041] 根据第七步测试过程得到相应的预测结果,输出测试集中各特征向量对应的奶牛不同个体的标号,得到奶牛个体类别,至此实现对奶牛个体的有效识别。
[0042] 上述基于特征融合的奶牛个体识别方法,其中所述LBP编码、卷积运算、L2-norm归一化、princomp函数和Libsvm工具箱都是公知的。
[0043] 本发明的有益效果如下:
[0044] 与现有技术相比,本发明具有如下突出的实质性特点:
[0045] (1)本发明应用改进的LBP-HOG算法特征提取和主成分分析方法进行奶牛个体识别,前者通过对图像局部特征进行分析,分别从图像纹理以及图像边缘提取了奶牛的有效特征,由于改进的LBP算法使用不同的尺度获取LBP直方图、HOG特征提取过程中有大量的冗余信息,故结合上面两点引入主成分分析方法进行特征降维处理,在简化特征的同时进一步提取奶牛适于分类的有效信息,从而提取到有效的奶牛个体特征。
[0046] (2)每个奶牛头部的鼻镜和额部位的宽窄是有所不同的,可作为奶牛头部识别差异性的一个识别点。本发明的奶牛数据采集主要采集奶牛的抬头、偏头、低头和进食这几种状态,其中低头、抬头这两种状态采集的数据包含了鼻镜和额的面貌特征;偏头和进食过程中奶牛面貌特征会有些扭转。之所以采集这几种状态使得训练数据更全面,使用HOG特征提取的时候,主要侧重对边缘特征的提取,得到的奶牛头部的轮廓特征识别更精准。
[0047] (3)本发明方法在特征提取之后,采用主成分分析进行降维,把原来的n个特征用数目更少的m个特征取代,降低了噪声,提高了分类时间,m个特征表示的是奶牛头部轮廓特征与局部纹理特征相融合之后的特征。
[0048] 与现有技术相比,本发明具有以下显著的进步:
[0049] (1)本发明将改进的LBP-HOG算法和主成分分析方法结合使用,对奶牛头部进行了特征提取和降维,提高了分类的准确性。
[0050] (2)本发明对传统的LBP算法进行改进,传统LBP比较邻域像素与中心像素,受光照影响,噪声大;本发明改进的LBP不仅比较邻域像素与中心像素,还比较了各邻域像素的差异值,采用等价模式降低二进制模式种类,特征向量维数降低,同时采用多尺度计算LBP直方图,分类更精确。
[0051] (3)本发明对传统的HOG算法进行优化,奶牛的头部图像主要是黑白两色,由于颜色信息的作用不大,所以直接在灰度图像上进行一系列操作,采用边缘强度加权投票,省去了三线性差值的步骤,在不影响准确率的情况下大大缩短了特征提取的时间。
[0052] (4)LBP特征提取侧重点在纹理的提取,不能有效的进行边缘和方向的特征提取;HOG特征提取能很好的描述图像的边缘信息,描述图像局部的形状变化,本发明将这两种方法进行特征融合,形成LBP-HOG特征提取,从而能得到更加完整的图像信息。
[0053] (5)本发明使用主成分分析对特征向量进行降维,一方面降低维数,使之后的SVM分类时间更短,另一方面去除多余信息,使得分类更精确。
[0054] (6)本发明是一种特征融合的奶牛个体识别方法,这种方法通过奶牛头部的轮廓特征与局部纹理特征相结合,对奶牛头部信息特征提取更全面,相比于现有技术中通用的方法,本发明的识别率更高,识别率达到99%以上。

附图说明

[0055] 下面结合附图和实施例对本发明进一步说明。
[0056] 图1是本发明方法的流程示意图。
[0057] 图2是本发明方法中应用高通滤波以及尺寸归一化进行视频转化图片并进行预处理所得到的一头奶牛头部的效果图,其中:
[0058] 图2(a)是一头奶牛头部的原始图;
[0059] 图2(b)是经过预处理后的一头奶牛头部的示例效果图。

具体实施方式

[0060] 图1所示实施例表明,本发明奶牛个体识别方法的流程是:S1:奶牛视频数据采集;S2:视频转化图片并进行预处理;S3:应用改进的LBP-HOG算法进行特征提取;S4:应用主成分分析方法进行特征降维;S5:将图像特征数据划分为训练集和测试集;S6:SVM训练;S7:
SVM测试;S8:实现对奶牛个体的有效识别。
[0061] 图2显示本发明方法中应用高通滤波以及尺寸归一化进行视频转化图片并进行预处理所得到的一头奶牛头部的效果图。
[0062] 图2(a)显示的是一头奶牛头部的原始图;
[0063] 图2(b)显示的是经过预处理后的一头奶牛头部的示例效果图,通过图像可以明显看出奶牛头部的各典型区域的纹理更清晰。
[0064] 实施例1
[0065] 第一步,奶牛视频数据采集:
[0066] 初始数据采用奶牛头部视频,视频采集自一个规范奶牛养殖场数量>300头的奶牛头部视频,应用摄像设备录制,视频采集时间集中在奶牛进食阶段,每次录制20头奶牛,每头奶牛录制时间为1分钟,帧速29帧/s,分别采集每头奶牛的抬头、偏头、低头和进食这几种状态,包含了奶牛头部的鼻镜和额部位差异明显的特点,至此完成奶牛视频数据采集;
[0067] 第二步,视频转化图片并进行预处理:
[0068] 分别将20头奶牛头部的视频数据转化成图片序列,初始图片大小为1920×1080像素,将彩色图片序列转为灰度图像,并使用photoshop软件的批量处理功能截取奶牛头部图像,然后通过高通滤波处理原图像,使模糊的图像更清晰,图像边缘纹理增强,最后将图片进行尺寸归一化到128*128像素,并将20头奶牛从1到20编号,表示20个待识别的不同个体,每头奶牛保留1000张有效图片,至此完成视频转化图片并进行预处理;
[0069] 第三步,应用改进的LBP-HOG算法进行特征提取:
[0070] (3.1)求得图像的特征向量H1=[H11,H12,H13]:
[0071] 设上述第二步得到的图片的图像中某个3*3局部区域的任意像素为f(xa,ya),其中心像素点为ga,根据LBP编码得到图像的纹理特征T(xa,ya);对窗口的邻域像素值进行二值化处理,得到图像的纹理特征T(xb,yb),计算过程如下式(8)所示:
[0072]
[0073] 式(8)中,g0、g1……g7为邻域像素值,T(xb,yb)为图像的纹理信息,s(x)是邻域像素进行二值化处理后的值,通过比较T(xa,ya)、T(xb,yb),得到改进后的LBP编码为T(xc,yc),计算过程如下式(9)所示:
[0074]
[0075] 对像素的不同位置进行加权求和,得图像的LBP值为LBP(xc,yc),计算过程如下式(10)所示:
[0076]
[0077] 将LBP值LBP(xc,yc)与循环移动后的一位进行位“与”操作,计算二进制为1的个数,标记小于等于2的为等价模式,其余的为混合模式,选择等价模式中LBP值LBP(xc,yc)最小的为等价模式中的代表值,更新LBP值LBP(xc,yc);最后将LBP特征谱以6*6子窗口扫描整个图像,得到直方图H11,在以4*4子窗口扫描整个图像,得到直方图H12,最后以2*2子窗口扫描整个图像,得到直方图H13,将不同尺度下的LBP直方图级联起来得到图像的特征向量H1=[H11,H12,H13];
[0078] (3.2)求得改进LBP-HOG算法的特征向量H:
[0079] 用[-1,0,1]梯度算子对原图像做卷积运算,得到i方向的梯度分量Gi(i,j),用[-1,0,1]T梯度算子对原图像做卷积运算,得到j方向的梯度分量Gj(i,j),再用公式(11)计算该像素点的梯度大小,用如下式(12)计算该像素点的梯度方向:
[0080]
[0081]
[0082] 式(11)中G(i,j)是像素点的梯度大小,式(12)中α(i,j)是像素点的梯度方向;
[0083] 把[0,2π]的梯度方向划分成9个区间,计算每个像素点在不同区间的梯度幅值,将图像分割成cell单元,根据梯度方向和梯度幅值求得每个单元的梯度方向直方图,即每个单元的梯度累加和;然后将多个临近的cell组合成block,求得梯度方向直方图向量并对其进行L2-norm归一化操作,最后block相连得到图像的HOG特征向量H2,通过级联特征向量H1、H2得到改进LBP-HOG算法的特征向量H;
[0084] 至此完成应用改进的LBP-HOG算法进行特征提取;
[0085] 第四步,应用主成分分析方法进行特征降维:
[0086] 通过princomp函数初步求得特征向量、训练集数组和特征值数组,通过以下公式(13)计算特征值的累计贡献率,选择前95%的特征值对应的特征向量,通过以下公式(14)得到最终训练集数组、测试集数组:
[0087]
[0088]
[0089] 式(13)中,latent为特征值数组,α为每个特征值的贡献率,α(n)为第n个特征值的贡献率,α(n-1)为第n-1个特征值的贡献率,β为特征值的累计贡献率,γ为符合条件的特征值;
[0090] 式(14)中,X0为训练集原始数据, 为训练集的平均值,Y0为测试集原始数据,pcu为第u个特征值对应的特征向量,npc为符合条件的特征向量,X1为降维之后的训练集数据,Y1为降维之后的测试集数据,至此完成应用主成分分析方法进行特征降维;
[0091] 第五步,将图像特征数据划分为训练集和测试集:
[0092] 由于每头奶牛保留下1000张有效图片,在经过上述处理步骤之后具有相应的1000个特征向量,分别将每头奶牛的1000个特征向量以随机方式划分成800个训练数据和200个测试数据,最终组成包含16000个特征向量的训练矩阵和包含4000个特征向量的测试矩阵,至此完成图像数据划分为训练集和测试集;
[0093] 第六步,SVM训练:
[0094] 通过线性核函数的多分类libsvm进行训练,将第五步处理好的奶牛训练集数据送入SVM进行建模训练,得到训练好的模型,至此完成SVM训练;
[0095] 第七步,SVM测试:
[0096] 将第五步中处理好的奶牛测试集数据送入第六步完成SVM训练的模型中进行测试,得出预测结果,至此完成SVM测试;
[0097] 第八步,实现对奶牛个体的有效识别:
[0098] 根据第七步测试过程得到相应的预测结果,输出测试集中各特征向量对应的奶牛不同个体的标号,得到奶牛个体类别,至此实现对奶牛个体的有效识别。
[0099] 实施例2
[0100] 对20头奶牛个体的20000张图片,按照上述实施例1中的步骤计算出奶牛个体的识别正确率和识别时间,并与同样条件下采用“改进LBP+HOG算法”、“改进LBP算法”、“传统LBP算法”、“优化HOG算法”、“传统HOG算法”或“Gabor算法”计算得到的奶牛个体的识别正确率和识别时间进行对比试验,结果如表1所示。
[0101] 表1.不同算法的奶牛个体的识别正确率和识别时间的对比实验结果
[0102]
[0103] 对表1中的数据的说明如下:
[0104] 序号1实验和序号2实验都是采用本发明方法对奶牛个体进行识别,二者选择的特征值累计贡献率不同,序号1采用特征值是98%的累计贡献率,得到的最小特征维数45,序号2采用特征值是99%的累计贡献率,得到的最小特征维数378,由序号1实验和序号2实验可以看到,选择不同的特征值累计贡献率,最后得到的最小特征维数、识别准确率和分类识别时间是有差异的,在对奶牛个体进行识别中将根据情况的需要选择适合的特征值累计贡献率。
[0105] 序号2实验为采用本发明的改进的LBP-HOG算法和主成分分析方法结合使用的方法对奶牛个体进行识别,序号3实验为仅采用本发明的改进的LBP-HOG算法对奶牛个体进行识别,数据结果显示,在相同的测试样本中,序号2实验分类识别时间大大减少,同时识别率有所增加,因为主成分分析,将特征向量中的多余信息去除,保证了信息提取的准确性。
[0106] 序号3实验为采用本发明的改进的LBP-HOG算法对奶牛个体进行识别,序号4实验为仅采用本发明的改进的LBP算法对奶牛个体进行识别,数据结果显示,在相同的测试样本中,采用本发明的改进的LBP-HOG算法对奶牛个体进行识别的识别正确率明显高于仅采用本发明的改进的LBP算法对奶牛个体进行识别的识别正确率,因为本发明的改进的LBP+HOG算法将LBP中的纹理特征提取与HOG边缘特征提取进行了融合,二者互补大大提高了识别效率,保证了特征提取的信息完整性。
[0107] 序号4实验为采用本发明的改进的LBP算法对奶牛个体进行识别,序号5实验为采用传统的LBP算法对奶牛个体进行识别,数据结果显示,在测试样本相同的条件下,采用本发明的改进的LBP算法对奶牛个体进行识别的识别正确率明显高于传统LBP算法对奶牛个体进行识别的识别正确率,因为本发明的改进的LBP算法不仅考虑了邻域像素与中心像素的关系,还考虑了邻域像素之间的关系,采用等价模式降低二进制模式种类,特征向量维数降低,大大减少了高频噪声的影响,同时采用多尺度划分区域,分别统计各区域的LBP直方图,提取到了更加丰富和准确的信息。
[0108] 序号6实验为采用本发明的优化的HOG算法对奶牛个体进行识别,序号7实验为采用传统的HOG算法对奶牛个体进行识别,数据结果显示,在测试样本相同的条件下,采用本发明的优化的HOG算法的特征提取的时间明显优于传统的HOG算法的特征提取的时间,因为优化的HOG算法直接在灰度图上进行梯度的大小和方向计算,采用边缘强度加权投票,省去了传统HOG算法的三线性差值计算,在保证识别率未降低的情况下大大缩短了特征提取的时间。
[0109] 序号8实验采用Gabor算法对奶牛个体进行识别,数据结果显示,在测试样本相同的条件下,与本发明方法相比,Gabor算法分类识别时间虽短,但是识别率较低,主要是因为Gabor滤波的通道有限,用一个中心频率不能描述能量在多频率的纹理信息,因此得到的效果不理想。
[0110] 总之,从表1可见,本发明实施例1的基于特征融合的奶牛个体识别方法与其它几种现有奶牛个体识别方法相比,奶牛个体的识别正确率最高,SVM分类识别时间最短。
[0111] 上述实施例中,其中所述LBP编码、卷积运算、L2-norm归一化、princomp函数、Libsvm工具箱、HOG算法、SVM分类和Gabor算法都是公知的。