基于SVM支持向量机的水质图像分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于SVM支持向量机的水质图像分析
作者:李昂金晓军万权性
来源:《电脑知识与技术》2018年第08期
摘要:针对运用水色图像来判别水质状况的问题,设计了一种基于计算机视觉与机器学习的水质图像评价方法。

利用颜色矩阵对水质图像进行特征提取,采用SVM支持向量机算法对水质图像的RGB三通道特征进行数据分析,使用Python语言进行编程,得到一个水质评价模型。

实验表明,该方法能有效通过水体的颜色对不同水质进行识别,具有一定的实际应用价值。

关键词:计算机视觉;机器学习;Pvthon;水质图像
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)08-0157-03
随着工业技术的日益提升,人类的生活变得越来越便利。

但与此同时环境污染问题日趋严重,大气、土壤、水质污染是各个工业国家不得不面对的问题。

污染需要治理,因此对于污染物的评价与监测十分重要。

水产养殖业是我国国民经济的一个重要组成部分,在水产养殖过程中,选择没有污染的水域进行养殖十分重要。

有经验的渔业生产从业者能够通过水体的颜色来判断水质的好坏,从而确定水体是否适合鱼类生长。

在生产环境下,通常是以传统的肉眼观测法,以经验来观察判断,这种方式虽然有效,但观察结果不够稳定,主观性较强,容易引起观察性偏差。

因此寻求一种定量分析有便于推广的方法十分必要。

随着计算机视觉技术的快速发展,利用机器视觉代替人工视觉已经用于工业生产的诸多领域,同时也为水产养殖业提供了更好的技术支持。

通过合理将计算机视觉技术与专家经验相结合,可以通过水体的颜色,对水质的优劣程度进行分级,对水质情况进行自动快速的识别。

本文针对水质污染的评价方法进行研究,通过计算机科学技术对水质图像进行特征提取与数据分析,得到一个有效的水质自动评价模型。

1数据预处理
颜色直方图产生的特征维数一般大于颜色矩的特征维数,为了避免过多变量影响后续的分类效果,在本案例中选择采用颜色矩来提取水样图像的特征,即建立水样图像与反映该图像特征的数据信息关系,同时由有经验的专家对水样图像根据经验进行分类,建立水样数据信息与水质类别的专家样本库,进而构建分类模型,得到水样图像与水质类别的映射关系,并经过不断调整系数优化模型,最后利用训练好的分类模型,用户就能方便地通过水样图像判别出该水样的水质类别。

水色分类如表1所示。

图1为基于图像处理的水质评价流程,主要包括以下步骤。

1)采集水质样本图像,选择性抽取一部分形成建模数据集,将实时抽取的图片作为增量数据集。

2)数据预处理,对步骤1形成的两个数据集进行图像切割和颜色矩特征提取。

3)由专家对步骤2形成的建模数据进行观测,根据经验对水样图像进行分类,形成专家样本。

4)利用专家样本构建分类模型。

5)利用上一步的构建好的分类模型进行实时水质评价。

在采集水样图像时,会将盛水的玻璃容器一起拍成照片。

由于感兴趣区域为水样区域,因此要排除玻璃容器与背景噪声的干扰。

这里采用图像切割的方法,截取水样的中心区域附近的图像作为研究对象。

具体方法为,提取水样图像中央80×80像素的图像。

设原图像的大小是MXN,则截取宽从第fix(M/2)-40个像素点到第fix(M/2)+40个像素点,长从第fix
(M/2)-40个像素点到第fix(M/2)+40个像素点的子图像。

即可把图2中左边的原始水样图像切割并保存到右边的切割后的水样图像。

2特征提取
图像中任何的颜色分布都可以用它的矩来表示。

根据概率论的思想,随机变量的概率分布可以由其各阶矩唯一的表示和描述。

一幅图像的色彩分布可以认为是一种概率分布,那么图像可以由其各阶颜色矩来描述[6-8]。

这里通过提取颜色矩阵来提取水样图像的特征,各阶颜色矩的计算方式为:
3水质评价模型构建
3.1模型输入
对特征提取后的样本进行抽样,抽取80%作为训练样本,剩下的20%作为测试样本,用于水质评价检验。

这里采用SVM支持向量机作为水质评价分类模型,该模型的输入包括两部分,一部分是训练样本的输入,另一部分是建模参数的输入。

由于特征的取值范围在0~1之间,如果直接输入SVM模型,彼此之间区分度会比较小。

为了解决这一问题,将所有特征都统一乘以一个适当的常数k,从而提高区分度和准确率。

常数k的取值要适当,如果过小将导致区分度过低,使得模型精确度差。

如果过大则会导致模型在训练样本中过拟合。

所以k值的选取需要通过大量测试来确定一个最优值。

经过实验,本次建模中k的最优值为30,因此将输入的特征统一乘以30,然后建立支持向量机模型。

3.2实验与分析
模型建立完成之后,使用训练样本对分析对象进行回判,得到的混淆矩阵如表3所示,分类准确率为96.9%,分类效果良好,可应用该模型进行水质评价。

4实验结果
本文实验使用python语言编程实现。

水样数据采集于多个水产养殖池塘与湖泊,使用数码相机进行图像拍摄。

为实现批量处理,将水质图片进行统一命名,命名规则为“类别一编号.jpg”。

将所有测试样本作为输入样本,输入已经构建好的支持向量机模型,输出的结果即为预测的水质类型。

水质评价的混淆矩阵如表4所示,分类准确率为97.56%。

实验结果表明,该水质评价模型对于新增的水色图像的分类效果较好,可将模型应用于水质自动评价系统,实现水质评价。

5结束语
本文设计基于计算机视觉的水质图像分析方法,结合实际的水质样本,使用图像处理算法提取水样的颜色矩,使用SVM支持向量机算法对特征值进行数据分类,最终将训练出的模型对水质进行评价。

本文图像处理算法与数据处理均使用py-thon语言进行编程实现。

实验结果证明,本方法能有效对不同水质进行分类,实现水质评价。

具有一定的实用意义。

相关文档
最新文档