基于KPCA 的多特征融合的支持向量机鱼群摄食行为检测研究
2021-01-11袁超朱瑞金
袁超,朱瑞金
(西藏农牧学院电气工程学院,西藏 林芝 860000)
目前,水产养殖朝着工厂化、规模化的趋势发展,但是随着工厂化养殖规模的快速扩张,鱼类喂食还是比较原始的利用人工或者定时机械喂养模式,而这两种喂养模式存在着较大弊端,例如人工喂养和定时机械喂养经常忽略鱼类的觅食需求以及外界的环境条件,从而造成过度喂养或者喂养不足的情况。过度喂养会造成养殖水质的恶化以及饲料成本的增长,而喂养不足会造成鱼类的生长缓慢。因此,对于鱼类的摄食行为的科学化、精细化研究是势在必行的,通过对鱼类摄食行为的科学研究不仅可以优化鱼类饲料的利用率,同时可以大幅度改善养殖水质。所以对于鱼群摄食活动的科学研究具有重大的意义。
随着人工智能技术的飞速发展,机器视觉技术目前应用在各个领域,机器视觉利用摄像头充当人的眼睛,利用图像处理等算法软件来模拟人类的大脑进行思考分析,从而给出决策。基于机器视觉的鱼类摄食行为分析研究是一种无接触、全天候、实时性很强的一种技术,通过摄像头连续不断地对鱼群的视频图像进行图像处理分析,从而可以科学地对鱼群的摄食行为进行检测分析,利用检测分析出来的数据进行计算从而给出决策,利用该决策可以科学地对投饵时间进行判断,从而科学有效地优化饲料的利用效率。利用图像处理对养殖鱼群的摄食行为进行分析的前提条件是对鱼的位置进行检测标定,但是养殖区域的鱼群经常会存在相互遮挡并且运动混乱的情况,因此对于鱼群的运动轨迹量化分析就存在较大的困难。为了解决这一问题,该文提出了将循环养殖的鱼群的图像数据进行整体分析研究的思路,利用鱼群在不同的状态下图像的颜色与纹理特征的差异较大等特点,首先对鱼群活动图像进行同态滤波,对滤波后的图像分别提取颜色与纹理特征,然后利用KPCA 对颜色和纹理特征进行融合降维,从而加快了检测识别速度,最后将融合降维后的数据送入SVM 分类识别器进行鱼群摄食行为识别。
1 材料与方法
1.1 鱼群活动分析试验材料的获取及设备
该文搭建了鱼群养殖的循环系统,摄像机架设在养殖槽的正上方1 m 处,从而可以对鱼群的运动情况进行清晰拍摄,摄像机将拍摄到的清晰视频图像直接传输到计算机上,计算机对传输过来的视频每次间隔1 s 截取一帧图像进行实时存储,图像存储格式为BMP 格式。
该文对养殖鱼群的活动分析是基于自制的图像数据集,该数据集总共有1400 张图像,其中鱼群未摄食的自由活动状态和鱼群摄食中的运动状态图像分别为700 张。具体的采集示意图以及采集的图像素材分别如图1、2 所示。
1.2 整体算法流程
该文算法流程如图3 所示,由于图像数据在采集过程中水槽的水面容易受到阴影以及灯光的干扰等影响,导致后续的处理难度增大,为了解决这些干扰问题,该文利用同态滤波算法进行图像滤波,然后分别计算鱼群图像的纹理特征以及颜色特征,将以上两类提取出来的特征经过KPCA 算法进行特征融合降维处理,从而减少了数据维度,加快了检测识别速度。最后将降维融合后的特征送入SVM识别系统对鱼群的摄食活动进行检测识别。
2 鱼群图像处理
2.1 图像滤波预处理
由于在拍摄过程中的灯光分布不均匀而导致鱼群活动图像后续处理比较困难,因此该文使用同态滤波对图像进行滤波处理。基于照明—反射模型算法的同态滤波预处理可以有效地消除图像上的光照分布不均匀现象,该算法在增强图像暗区细节的同时也不会损失亮区的图像细节。
基于照明—反射模型的算法数学表达式如式(1)所示:
上式中,i(x,y)是照明函数数学表达式,反射函数用r(x,y)表示。
对公式(1)两边分别进行取对数操作,可以得到式(2):
式(2)经过傅里叶变换以后可以得到式(3):
经过傅里叶变换后的式(3)中z(u,v)、I(u,v)及R(u,v)分别为式(2)中的z(x,y)、ln i(x,y)及ln r(x,y)的傅里叶变换结果。
对式(3)按照低频段进行削弱,高频段进行增强的处理原则进行处理,其数学表达式如式(4)所示:
式(4)中,传递函数表达式为H(u,v)。
针对一张鱼群活动图像进行相应的算法处理,假设该图像的尺寸为M×N,其相对应的传递函数H(u,v)的数学表达式为:
式(5)中,D0为截止频率。
鱼群活动图像经过同态滤波以后的效果图如图4 所示。
由图4 可以明显地看出经过同态滤波后的鱼群活动图像中的光照不均匀的现象明显得到改善。
2.2 鱼群图像的特征提取
经过对鱼群图像预处理后,需要提取鱼群图像的相关区域的像素特征属性来作为后续的分类识别器的训练以及测试数据。该文分别提取鱼群图像的颜色特征以及纹理特征。
2.2.1 颜色特征
鱼群在未摄食状态与摄食状态时的运动情况是不同的,导致相对应的颜色特征也是变化的,该文在提取颜色特征时分别获取到鱼群图像的R、G、B 分量和H、S、V 分量的均值、方差、偏度、峰值、能量、熵等36 个特征值,具体的计算公式如式(7)所示:
式(7)中p(b)是代表图像的灰度级,s 为图像面积,b是灰度像素平均值是b 的平均值,bk是偏度,bF是峰值,bN是能量,bE是熵。
2.2.2 纹理特征提取
鱼群在各个活动阶段的图像纹理具有较大差异,因此利用鱼群活动的图像纹理特征进行鱼群摄食活动检测识别是一种有效的特征。灰度共生矩阵是一种成熟而且经典的纹理特征,该特征可以有效地表征鱼群活动灰度图像中的方向、变化幅度以及相邻间隔等图像的多种特征。
灰度共生矩阵的具体定义为在一幅图像中,位于方向θ 上的两个相距d 的像素点的灰度值为i 和j 的概率分别为P(i,j;d,θ)。在图像中位于坐标为(x,y)的点的像素灰度值为f(x,y),图像的灰度级表示为L,图像的行列维度分别为Lr,Lc。
根据以上定义,图像存在两个像素点,分别为:f(x,y)=i 和f(x',y')=j,以上两个点在0°、45°、90°、135°四个方向上的灰度共生矩阵为:
上述式子中,#代表集合中元素的个数。同时,利用公式(12)对灰度共生矩阵进行归一化处理,R 是归一化参数。
该文拟提取的灰度共生矩阵特征分别为:角二阶矩、逆差分矩、对比度以及熵。
①角二阶矩
②对比度
③逆差分矩
④熵
根据对以上公式的总结分析可以得知,同一张图像在方向、灰度等级、像素之间的距离不同就会提取到不同的灰度共生矩阵特征,为了快捷准确地计算纹理特征,该文设置灰度级为10 级(0—9),距离设置为15,方向设置为0°、45°、90°、135°等四个方向。因此,该文会得到角二阶矩、对比度、逆差分矩以及熵这四个特征统计值作为纹理特征来描述鱼群摄食活动中的图像特征量。
2.3 基于KPCA 算法的图像特征融合
通过KPCA 算法可以将输入空间的样本数据利用非线性映射ψ 映射至高维特征空间,然后再进行主成分分析处理。
假设样本数据为x1, x2...xn,同时均值为零,特征空间的协方差矩阵如式(17)所示:
利用上式计算出来矩阵C 后,对该矩阵进行特征矢量分析,其中特征值是λ,v 为特征向量,由此可得式(18):
式(19)中K=(kij)n×n是核矩阵。
当nλα=Kα 时,同时K 的特征值满足λ1≥λ2≥...λn的条件,同时特征向量表达式为a1,a2...an,则样本数据x 的第k 个非线性主元表达式为:
当映射数据的均值不满足为零的条件时,利用式(21)做中心化操作步骤:
其中,An=(aij)n×n, aij=1/n。
该文在采用KPCA 算法时所采用的核函数为径向基函数,当可以将原始的特征数位维度从52 降维至9。
3 试验及结果分析
3.1 具体试验步骤
第一,对鱼群活动样本图像进行同态滤波等预处理;第二,图像经过预处理后分别提取颜色及纹理特征;第三,当颜色和纹理特征提取出来以后,利用KPCA 算法进行特征融合以及数据降维;第四,融合降维后的特征数据送入SVM 分类器进行鱼群活动动态的分类识别。
3.2 支持向量机(SVM)理论与参数选取
SVM 算法于1995 年提出,该算法适用于小样本、非线性以及高维模式识别问题。SVM 分类器的本质算法就是通过非线性变换将原始特征的数据空间映射到高维空间,从而在高位空间寻求最优的分类面。支持向量机(SVM)的具体计算步骤为:
第一,提取待分类识别数据的特征;
第二,确定一个核函数,利用该核函数对样本数据的空间转换至一个高维度的RKHS(Reproducing kernel Hilbert space)空间;
第三,在高维度空间中构建最优分类超平面,从而构造SVM 学习机,将训练输入SVM 学习机对模型进行训练学习;
第四,利用训练好的SVM 模型对测试数据进行分类识别,从而得到SVM 识别结果。
在构建SVM 分类器的过程中,核函数有径向基核函数RBF、多项式核函数以及sigmod 函数等。由于利用径向基核函数RBF 在对输入数据进行高维空间非线性映射的过程中,映射转换的误差是比较小的,因此,该文选择径向基核函数RBF 进行空间映射转换。SVM 数学模型以及所对应的决策函数如式(22)(23)所示:
该文设置SVM 分类识别器的相关参数为:σ2=0.6。
该文为了加快鱼群活动状态的检测与识别,利用KPCA 对提取出来的特征进行融合并数据降维。为了呈现出一个比较直观的比较结果,本文用未进行KPCA 数据降维的数据送至SVM 进行分类识别,另外用基于KPCA 算法进行降维后的数据送至SVM 算法进行分类识别,具体的识别效果参数如表1 所示。从表1 可以得知,虽然利用KPCA+SVM 进行数据降维后的识别准确率相较于原始SVM 的识别准确率有所下降,但是识别速度大大提高,并且KPCA+SVM 模型的识别准确率还是达到了比较令人满意的95.82%。
表1 SVM 算法与该文算法运行时间对比
4 结论
该文提出了一种基于多特征利用KPCA 算法进行数据融合以及降维的支持向量机(SVM)算法的鱼类摄食行为检测识别的算法。该算法首先通过同态滤波等预处理操作来削弱图像拍摄过程中所产生的噪声以及灯光分布不均匀等问题,分别提取颜色与纹理特征,然后利用KPCA 对颜色和纹理特征进行融合降维,从而加快了检测识别速度,最后将融合降维后的数据送入SVM 分类识别器进行鱼群摄食行为识别。由试验结果可知,该文所提出的算法不仅识别速度快同时识别的准确率较高,因此该文算法可以实时有效地对鱼群摄食活动进行检测识别。