基于支持向量机的鱼群摄食行为识别技术
2018-05-10陈彩文杜永贵孙传恒
陈彩文, 杜永贵, 周 超, 孙传恒
(1.太原理工大学信息工程学院,山西太原 030024;2.国家农业信息化工程技术研究中心/农业部农业信息技术重点实验室/北京市农业物联网工程技术研究中心,北京 100097)
随着中国水产养殖业的快速发展,鱼类的精细养殖技术在现代工厂化水产养殖中受到了越来越多的关注。在生产中,鱼的摄食行为能够反映其生理状况及养殖条件是否合适等。同时正确地识别鱼群摄食行为不仅可以提高鱼类的养殖效率、避免水质污染,而且可以压缩生产成本。因此,研究鱼群的摄食行为对提升鱼类养殖技术具有积极作用[1-3]。但当前大部分的鱼类养殖还是基于人工观测的投喂模式,而人工投喂须要养殖人员具有一定的养殖经验[4-5]。通过人眼正确地判断出鱼群的摄食状态,并根据经验人为地投放相应的投饵量。但是,高昂的人工成本及投喂饲料的主观性极大地影响了生产过程中的效率。因此,正确识别出鱼群的摄食行为对工厂精细化养殖具有重要的实用价值[6-7]。
利用计算机视觉技术及时发现和检测鱼类的运动状态,可以为鱼类的饵料量提供重要的参考信息。计算机视觉技术因其非接触、高精度、可量化的优点,目前已逐渐应用于动物自动识别研究领域。随着现代鱼类养殖检测技术的进步,不少国内外专家已将计算机视觉技术应用到水产品检测与分级中,并取得了一定的成果[8-10]。在运动目标检测方面,Kato等开发了1个金鱼目标检测与跟踪系统,实现了对金鱼的自动检测与行为识别[11];Ma等利用计算机视觉系统跟踪鱼的轨迹来监测水质[12];张志强等利用计算机视觉技术实现了对鲢鱼、鲫鱼、鳊鱼和鲤鱼的分类识别,准确率高达96.67%[13]。于欣等利用光流法和特征统计的方法对鱼群的异常行为进行检测,取得了较好的试验效果[14]。但目前对鱼群运动状态识别的相关研究还较少。因此,本研究尝试利用计算机视觉技术对鱼群的运动状态进行分类识别,以期达到对鱼类的自动监测。
1 试验材料和设备
本试验在北京小汤山国家精准农业示范基地的循环水养殖系统的养殖池中进行。本研究选用镜鲤鱼群作为试验对象,为保证图片的成像质量,相机架在养殖池的斜上方,拍摄时适当地调整相机的角度,使相机的视野能够清晰地拍到鱼群的运动情况。然后从所拍摄的图片中,挑选成像质量较好的鱼群正常游动时的图片和摄食时的图片进行分析。
本试验所采用的数据集为自制的鱼群图片,鱼群图片库共有420张图片(210张鱼群在正常游动下的图片和210张鱼群在摄食时的图片),分别把鱼群运动图片库中鱼群正常游动状态和鱼群在摄食状态的前110张图片作为训练集,后100张鱼群正常游动时的图片和鱼群在摄食时的图片作为测试集,即训练集共有220张图片、测试集共有200张图片。试验所采用的相机为尼康D90,图像为1 280×720的真彩图像,格式为JEPG。图像分析软件采用的是MATLAB R2013a和libsvm-mat-2.89工具箱。图像采集装置如图1所示。
2 数据处理
由于鱼类具有应激性,且鱼类在水中活动会引起水面不断波动,因此在水中检测鱼群的运动状态难度较大,但笔者通过对循环水养殖系统的长期观察发现,鱼群在摄食时,会在水面激起强烈的水花,引起水面晃动,而鱼群在正常游动的情况下,不存在这一状况,因此利用鱼群在不同运动状态下所对应的纹理可以识别出鱼群的运动状态[15]。
图像的纹理分析是指通过一定的图像处理技术抽取出物体的纹理特征,从而获得对纹理定量或定性描述的过程。一般情况下图像的纹理特征具有周期性,它能反映物品的质地,如粗糙度、光滑度、颗粒度、随机性、规范性等。关于纹理,国内外的研究学者做了大量的研究,并从中总结了多种描绘纹理的方法[15-18],但各种方法的适用场合各不相同,经过对比大量文献资料,在本试验中选择3种较为典型的纹理特征提取方法来提取鱼群的纹理特征,分别为灰度差分统计法、灰度共生矩阵、高斯-马尔科夫随机场模型[19-21]。
对于一幅鱼群图片,首先须要对图片进行预处理,然后用这3种方法提取鱼群的纹理特征,最后利用支持向量机(support vector machine,简称SVM)对鱼群的运动状态进行分类识别,继而判断出鱼群的运动状态,以达到对鱼群运动状态分类识别的目的。本试验的系统流程如图2所示。
2.1 基于灰度差分统计法的纹理特征提取
灰度差分统计法的核心思想是通过计算图像的统计特征,从中推导出一些特征量来描述纹理。设(x,y)为图像中的一点,该点和它只有微小距离的点(x+Δx,y+Δy)的灰度差值为
gΔ(x,y)=g(x,y)-g(x+Δx,y+Δy)。
2.2 基于灰度共生矩阵的纹理特征提取
灰度共生矩阵是一种典型的分析纹理图像的二阶统计法,它描述了灰度图像关于方向、相邻间隔、变化幅度等的综合信息,这种方法在许多文献中得到了推广应用,是最为有效的描述纹理的算子之一。一般取其中的4个常用的纹理特征参数,这4个纹理参数分别为
(1)能量:它反映的是灰度图像分布均匀的程度和纹理粗细的程度,当其值越大时,纹理越粗糙。公式如下:
式中:i代表灰度图像中的一个像素点;j代表灰度图像中的另一个像素点;θ代表灰度图像中像素点i和像素点j与坐标横轴的夹角;d代表像素点i和像素点j之间的距离。
(2)相关性:它度量了空间灰度共生矩阵元素在行或列方向上的相似程度,因此,其值的大小反映了图像中局部灰度的相关性。公式如下:
(3)逆差矩:反映了图像纹理局部变化的大小,当纹理越规则时,其值越大。公式如下:
(4)对比度:刻画了图像纹理的清晰程度,当图像越清晰时,其值就越大。公式如下:
2.3 基于高斯马尔科夫随机场模型的纹理特征提取
马尔科夫随机场(Markov random field,简称 MRF)作为一种描述图像结构的概率模型,能够兼顾纹理局部的随机性和整体上的规律性,它在描述物理现象空间或背景依赖性方面有着无可比拟的优越性。在本试验中选用高斯-马尔科夫随机场(Gauss Markov random filed,简称GMRF)模型来描述鱼群的纹理特征,该模型以邻域系统为基础,通过一个邻域系统,可以把图像中的点和其邻域中任意其他的点联系起来。现取图像中某一点s,其灰度值y(s)是s邻域Ns灰度的函数,Ns是以s点为中心,r为半径,但不包括s的对称邻域[23]。则在一个M×M的网格点集S,GMRF模型可以用包含多个未知数的线性方程来表示:
y(s)=∑r∈Nsθr[y(s+r)+y(s-r)]+e(s)。
式中:θr为未知系数;e(s)为零均值的高斯噪声序列。在GMRF模型中,邻域系统的阶数决定了模型描述图像纹理的能力,阶数越高,模型描述的纹理越复杂,结合鱼群运动时的纹理情况,并参考相关文献,最后选定系统的阶数为3,此时共提取了鱼群的6个纹理特征向量。如图3所示,a、b分别为鱼群在正常游动状态和摄食状态下的原始图片,c、d分别为鱼群在正常游动状态和摄食状态下的灰度图片。
3 结果与分析
3.1 SVM对鱼群运动状态的识别
支持向量机是根据Vapnik提出的结构风险最小化原则来提高学习机泛化能力的方法,其本质是通过非线性变换将原始的特征空间变换到一个高维的空间,在这个新的空间里求取最优分类面。支持向量机因其须要调整的参数较少,准确率高,鲁棒性强,且有着良好的抗干扰能力,因此在分类识别中得到了广泛的应用[24-25]。
假设训练样本为{(x1,y1),(x2,y2),…,(xN,yN)},其中xi∈Rd代表输入,yi∈{±1}代表输出。设最优决策面方程为wTxi+b=0,yi(wTxi+b)≥1-ξi为约束条件,其中ξi为线性不可分条件下的松弛变量。最优决策面的求解必须尽量使平均错误误差减到最小,因此利用 Lagrange 乘子将求解问题转化为以下的约束优化问题[25]:
由于核函数参数g和惩罚因子c的确定影响了SVM的精度,因此为了提高分类效率及减少分类的时间,在本试验中使用libsvm程序包来实现参数的最优选择,libsvm程序包不仅分类效果好,而且提供了很多默认的参数值,免去了后期的调试,大大减少了人力物力的消耗。在本试验中是通过libsvm来对支持向量机的核函数进行自动寻优,经过参数寻优后,g取0.707 1,c取4。最后根据对整个训练集进行训练获得支持向量机的模型,利用获取的模型分别对训练样本图像和测试样本图像的纹理特征向量所组成的数据集进行测试,测试样本分类准确率达到96.5%,程序运行时间为 39.04 s。
3.2 特征降维后SVM对鱼群运动状态的识别
要想对纹理特征进行全面的描述,须要将这些特征有机地融合在一起,本试验决定用主成分分析法(principal component analysis,简称PCA)来对这13个特征向量进行降维,这样做的好处就是去掉特征向量中的冗余信息,保留主要信息。
主成分分析法是一种线性降维方法,能够降低样本的维度,主要是基于变量协方差矩阵对原始信息进行压缩和提取处理。它的核心思想如下:
假设有m个n维数据,首先将数据进行中心化,即计算该维数据平均值,再利用原数据与平均值相减,得到以下结果:
求出协方差矩阵:
计算协方差矩阵的特征向量以及特征值。假设矩阵C的秩为p,特征值顺序排列记为λ1≥λ2≥λ3≥λ4≥…≥λp>0。
选取较大的前i个特征值对应的特征向量vi=xTvi,i=1,2,…,l,则样本x可以表示为[y1,y2,y3,…,yk]T,其维数由n维降到了l维。
在本试验中通过PCA算法把提取出来的特征向量降到了3维。由表1可知,测试样本的准确率有所下降,运行时间大大缩短。但分类准确率还是相对较高的,为93.5%。
表1SVM的识别结果
4 结论
本试验利用计算机视觉技术,对鱼群的运动状态进行分类识别。结果表明,利用灰度差分统计法、灰度共生矩阵法和基于高斯马尔科夫随机场模型的方法共提取了鱼群的13个纹理特征,在识别鱼群的摄食行为中具有较高的精度和识别速度,在220张训练样本,200张测试样本中,SVM对测试集的识别率达到96.5%,运行时间为39.04 s,通过PCA降维后,使得提取的纹理特征向量的维数降为3维,SVM对测试集的识别率达到93.5%,运行时间为0.63 s,虽然识别率有所下降,但是识别速度有了大大的提高,这样更能达到鱼群实时分类的目的。
本试验充分利用了鱼群摄食时产生的水花及由水面抖动等引起的图像纹理变化,对鱼群的运动状态进行分类识别,避免了对鱼群其他特征的提取,且本试验所需的设备种类较少,成本低,操作简单,对计算机性能要求不高。本试验所介绍的方法对于鱼群运动状态的识别提供了一种全新的思路。
参考文献:
[1]Liu Z Y,Li X,Fan L Z,et al. Measuring feeding activity of fish in RAS using computer vision[J]. Aquacultural Engineering,2014,60(1):20-27.
[2]周应祺,王 军,钱卫国,等. 鱼类集群行为的研究进展[J]. 上海海洋大学学报,2013,22(5):734-743.
[3]胡金有,王靖杰,张小栓,等. 水产养殖信息化关键技术研究现状与趋势[J]. 农业机械学报,2015,46(7):251-263.
[4]陈 红,夏 青,左 婷,等. 基于纹理分析的香菇品质分选方法[J]. 农业工程学报,2014,30(3):285-292.
[5]Israeli D,Kimmel E. Monitoring the behavior of hypoxia-stressedCarassiusauratususing computer vision[J]. Aquacultural Engineering,1996,15(6):423-440.
[6]Wu T H,Huang Y,Chen J M. Development of an adaptive neural-based fuzzy inference system for feeding decision-making assessment in silver perch(Bidyanusbidyanus)culture[J]. Aquacultural Engineering,2015,66:42-51.
[7]Mallet D,Pelletier D. Underwater video techniques for observing coastal marine biodiversity:a review of sixty years of publications(1952—2012)[J]. Fisheries Research,2014,154(3):44-62.
[8]Papadakis V M,Papadakis I E,Lamprianidou F,et al.A computer-vision system and methodology for the analysis of fish behavior[J]. Aquacultural Engineering,2012,46(2):53-59.
[9]李 贤,范良忠,刘子毅,等. 基于计算机视觉的大菱鲆对背景色选择习性研究[J]. 农业工程学报,2012,28(10):189-193.
[10]段延娥,李道亮,李振波,等. 基于计算机视觉的水产动物视觉特征测量研究综述[J]. 农业工程学报,2015,31(15):1-11.
[11]Kato S,Tamada K,Shimada Y,et al. A quantification of goldfish behavior by an image processing system[J]. Behavioural Brain Research,1996,80(1/2):51-55.
[12]Ma H,Tsai T F,Liu C C. Real-time monitoring of water quality using temporal trajectory of live fish[J]. Expert Systems With Applications,2010,37(7):5158-5171.
[13]张志强,牛智有,赵思明. 基于机器视觉技术的淡水鱼品种识别[J]. 农业工程学报,2011,27(11):388-392.
[14]于 欣,侯晓娇,卢焕达,等. 基于光流法与特征统计的鱼群异常行为检测[J]. 农业工程学报,2014,30(2):162-168.
[15]任立辉,李文东,慈兴华,等. 基于LIBSVM的石油录井中岩屑岩性识别方法研究[J]. 中国海洋大学学报(自然科学版),2010,40(9):131-136.
[16]Sadoul B,Mengues P E,Friggens N C,et al. A new method for measuring group behaviours of fish shoals from recorded videos taken in near aquaculture conditions[J]. Aquaculture,2014,430:179-187.
[17]Pautsina A,Cisar P,Stys D,et al. Infrared reflection system for indoor 3D tracking of fish[J]. Aquacultural Engineering,2015,69:7-17.
[18]Zhao J,Gu Z B,Shi M M,et al. Spatial behavioral characteristics and statistics-based kinetic energy modeling in special behaviors detection of a shoal of fish in a recirculating aquaculture system[J]. Computers and Electronics in Agriculture,2016,127:271-280.
[20]徐小军,邵 英,郭尚芬. 基于灰度共生矩阵的火焰图像纹理特征分析[J]. 计算技术与自动化,2007,26(4):64-67.
[21]刘 丽,匡纲要. 图像纹理特征提取方法综述[J]. 中国图象图形学报,2009,14(4):622-635.
[22]范良忠,刘 鹰,余心杰,等. 基于计算机视觉技术的运动鱼检测算法[J]. 农业工程学报,2011,27(7):226-230.
[23]王慧勤,雷 刚. 基于LIBSVM的风速预测方法研究[J]. 科学技术与工程,2011,11(22):5440-5442,5450.
[24]Ashley P J. Fish welfare:current issues in aquaculture[J]. Applied Animal Behaviour Science,2007,104(4):199-235.
[25]张学工. 关于统计学习理论与支持向量机[J]. 自动化学报,2000,26(1):32-42