陈松楠, 朱艳平, 杜永强
(信阳农林学院信息工程学院,河南信阳 464000)
随着生猪养殖规模的集成化和规模化,每年都有大量的生猪在全国各地进行流通,给动物检疫部门带来了十分繁重的检疫任务。传统的生猪监测工作是由具有专业知识的疫情监测人员来完成,受人员不足和检疫生猪数量多的制约,检疫部门只能对生猪进行随即抽检,通过概率预测的方式来判断一批生猪是否检疫合格,该方法并不能实时对患病生猪进行自动监控和预警。为了最终实现生猪疫情的自动预警功能,本研究提出一种基于FCM-SVM的生猪红外热图像自动分割方法,为生猪病变部位的提取提供了源,从而降低了背景图像的后续干扰。
针对生猪图像的自动分割,国内外学者做了很多研究。中国农业大学的马丽等提出了一种基于改进几何活动轮廓模型的母猪红外图像分割算法,通过取不同的分割阈值和构建新的对比度权值函数,实现图像全局能量和局部能量的权重在图像各区域的均衡化,结果表明单幅图像平均分割时间为49.67 s,正确分割率达到98%以上[1]。江苏大学的朱伟兴等提出了一种基于改进主动形状模型的生猪耳部区域检测方法,结合红外和可见光图像融合算法,以融合图像的NSCT分解系数作为特征点纹理描述,结果表明自动检测分割耳部区域与手动分割区域重合度>0.8的检测结果占比达到84%,检测效果较好[2]。中国农业机械化科学研究院的周丽萍等提出了一种基于改进Otsu算法的生猪红热外图像耳根特征区域检测方法,通过对生猪热红外图像进行颜色空间的转换,生成S层图像,采用改进的Otsu算法对S层图像进行二值化处理,从而分割出生猪的外轮廓[3]。江苏大学的刘波博士认为,由于生猪体表辐射率与猪舍环境辐射率存在较大差异,且温度不同,生猪体态部分与周围环境在红外伪彩色图像中差异明显,提出通过Otsu自动阈值分割和孔洞填充、小区域消除等图像预处理方法,可以大致提出生猪目标前景二值图像[4]。
上述研究结果表明,当前对生猪热红外图像的分割仍采用阈值分割的方法进行,并没实现完全自动化。本研究提出一种基于FCM-SVM的图像分割方法,将生猪红外热图像由RGB颜色空间转换到HSV颜色空间,根据模糊C均值聚类算法(FCM)将待分割的图像聚类为2类,并将2类图像的颜色特征分别作为支持向量机(SVM)模型的正、负训练样本,实现对生猪红外热图像的自动分割。
由红、黄、蓝3种原色经过不同比例的组合就能形成不同的颜色,这些颜色的集合组成一个颜色空间。颜色空间模型的种类有面向硬件设备的颜色空间模型、面向视觉感知的颜色空间模型、面向视觉感知的均匀颜色模型等。本研究在前期试验基础上,通过对比发现HSV颜色空间模型较适宜图像自动分割。在对图像进行预处理阶段首先将生猪图像由RGB颜色空间转换到HSV颜色空间。HSV颜色空间主要由3个相互独立的分量(H、S、V)构成,由Smith于1978年首先创建[5]。其中,H代表色调,取值范围为0°~180°;S代表饱和度,通常取值范围0%~100%,值越大颜色越饱和;V代表明度,通常取值范围为0%(黑)~100%(白)。
设RGB颜色空间上的任意像素点(r,g,b)转换成HSV颜色空间后对应于像素点(h,s,v),那么则有:
v=max(r,g,b);
(1)
(2)
(3)
根据文献[3],从中国农业机械化科学研究院采集到生猪红外热图像,如图1-a所示。依据公式(1)、公式(2)、公式(3)将对生猪红外热图像进行颜色空间转换。为最大限度地降低光照条件对图像的影响,本研究只考虑h分量和s分量,避免v分量,使得图像处理时更准确,结果如图1所示。
由图1可知,生猪轮廓区域的h分量与背景区域的h分量有明显的差别,因此在后面的研究中,选取hsv颜色空间的h分量图像进行试验。
基于FCM-SVM的图像自动分割方法主要由2个部分构成:一是通过模糊C均值聚类算法(FCM)自动将图像的像素点分成2类,一类作为前景图像,另一类作为背景图像;二是分别提取前景图像和背景图像特征作为支持向量机(SVM)的训练样本,从而训练分类器对图像进行分割。基于FCM-SVM的图像自动分割方法流程如图2所示。
模糊C均值聚类算法(FCM)最早由Dunn提出,并由Bezdek进行改进,该算法引入了隶属度的概念,根据像素点属于某种确定结果的相似程度把图像的像素点分类到不同的范围之内,从而实现对图像的自动分割[6]。
设有样本集X={x1,x2,…,xn}被分成C类,其中n为正整数,xn⊂R,第j类的中心记为cj,则ui,j表示样本i属于类j的隶属度。那么可以定义目标函数Fobj和隶属度函数U分别为
(1)
(2)
式中:ui,j∈[0,1];C∈[2,n];i∈X。
根据公式(1)和公式(2)构造拉格朗日函数如公式(3)所示:
(3)
通过公式(3)分别对ui,j和cj求导得出极值点:
(4)
(5)
对ui,j赋给满足公式(2)的任意初值,根据公式(4)和公式(5)进行迭代运算,当目标函数Fobj的值趋于稳定时,就可以认为算法收敛于一个较好的结果。式中:m为权重值,一般情况下取m=2。
支持向量机(SVM)算法的主要思想:首先将训练样本的特征信息由低纬空间通过一定的函数映射到高维的特征空间中,使得这些数据集在高维的特征空间能够被线性可分。然后,在特征空间中建立一个最大间隔的最优分离平面,使得该分离平面能够将不同的特征集完全分离开来[7-8]。支持向量机算法必须要解决2个问题:一是核函数的选择,用来将非线性的数据集映射到高维空间,使之成为一个线性可分的数据集;二是如何在高维的空间中求出一个最优的分离平面,将所有的样本能够准确分离开来。
通过隶属度函数U将样本像素点分成2类,一类记为正样本像素点集合P,一类记为负样本像素点集合N。对P和N分别随机选取一定数量的样本构成集合sp和sn。在RGB颜色空间下,分别提取sp和sn集合中的像素点对应的r、g、b3个颜色通道的特征值,表示为
sp(r,g,b)=[sp(r),sp(g),sp(b)];
sn(r,g,b)=[sn(r),sn(g),sn(b)]。
sp(r,g,b)和sn(r,g,b)构成样本的颜色特征向量F[sp(r,g,b),sn(r,g,b)],将其送到SVM训练模型中进行分类器的训练,最终实现对图像的自动分割。
本研究所有的试验均在VS2012和OpenCV2.4的环境下实现。试验中使用的生猪红外热图像均来自文献[3]中提到的中国农业机械化科学研究院,类别数设置为2,最大迭代次数设置为50,权重m设置为默认值2,用于训练SVM模型的核函数选择线性核函数。试验中,将本研究算法与传统的FCM算法、最大类间方差法(Otsu)[9]算法进行了比较,选取其中的4幅图像进行分割结果说明。
图3列出了本研究算法与Otsu图像分割算法以及FCM图像分割算法的试验结果比较,通过试验对比可以发现,Otsu算法容易将前景颜色错误地分割成背景色,对前景色与背景色像素点差别不明显的区域分割效果较差,FCM算法的分割效果比Otsu算法的效果好一些,但是对像素点差别不明显的区域分割效果也不太理想,存在错误分割的情况。基于 FCM-SVM的图像自动分割方法对生猪红外热图像的分割效果具有很大的优势,从图3-d可以看出,算法对像素点差别不明显的区域也具有较好的分割效果,能够很好地将生猪图像从背景中分割出来,误分率较小。
目前针对红外热图像的分割结果还没有一个准确的评价标准,仅从视觉上评价算法的性能好坏是远远不够的。在对生猪红外热图像进行分割的过程中,由于误差率的存在,前景图像和背景图像可能存在误分割的像素点,因此本研究采用分类正确率作为一种评价指标来说明图像分割的性能,针对生猪图像中的每一个像素点,SVM分类器有4种可能的判别结果[10-11]:TF(true foreground):属于生猪本身的像素点依然判断为生猪图像中的像素点数目;FF(false foreground):属于生猪本身的像素点却被判断为背景图像的像素点数目;TB(true background):属于背景图像的像素点依然判断为背景图像的像素点数目;FB(true background):属于背景图像的像素点却被判断为生猪本身图像的像素点数目。
分类正确率定义如下:
(6)
从左往右记图3-a中的4幅图像分别为图像1、图像2、图像3和图像4。依据公式(6)分别计算出3种自动分割算法对上述4幅图像的分割正确率如表1所示。结果表明,本研究的自动分割方法具有较高的正确率。
表1 图3-a中4幅图像的分割正确率
在将SVM的分类思想用于图像分割的过程中,需要人工选取训练样本,这样受人的主观性影响较大且费时费力。为了解决这个问题,完成训练样本自动获取的同时还能得到较好的生猪轮廓图像,本研究在原有SVM算法的基础上提出了基于FCM-SVM的生猪红外图像自动分割方法,通过对图像进行颜色空间转换,利用FCM算法对H通道进行样本的自动获取,然后通过SVM模型实现对生猪红外热图像的自动分割。本研究的方法无论在视觉上还是分类正确率上都具有较好的试验结果,为后续生猪各个部位特征的获取提供了技术支撑。