掌桥专利:专业的专利平台
掌桥专利
首页

基于计算机视觉的水质检测方法及系统

文献发布时间:2024-04-18 19:53:47


基于计算机视觉的水质检测方法及系统

技术领域

本发明涉及图像处理技术领域,具体涉及一种基于计算机视觉的水质检测方法及系统。

背景技术

在水质分析中,水质浊度是衡量水质状态的重要指标之一,水质净化过滤效果都需要依靠水质浊度进行衡量,因此水质浊度的检测准确性至关重要。对大型水域,可通过无人机在水域上空获取水面的图像,根据图像通过神经网络分析水域的水质浊度。

而无人机在水域上空采集水面的图像过程中,可能会产生图像噪声,常用的图像去噪方法有阈值去噪法。而阈值去噪法中若阈值选取过大,会导致噪声去除不彻底;若阈值选取过小,又会导致图像细节和边缘的丢失,因此若阈值去噪法中阈值选取不合理会导致图像去噪效果不佳,进而影响水质浊度的检测准确性和水质分析的准确性。

发明内容

为了解决上述阈值去噪法中阈值选取不合适导致图像去噪效果不佳,进而影响水质浊度检测准确性的技术问题,本发明的目的在于提供一种基于计算机视觉的水质检测方法及系统,所采用的技术方案具体如下:

获取根据预设初始阈值去噪后的水面图像;在所述水面图像中,根据像素点与预设第一邻域范围内的其他像素点的灰度差异和梯度差异获得区域粗糙特征值;根据所述像素点的预设第二邻域范围内的灰度分布特征获得纹理特征值和局部纹理特征值;根据所述纹理特征值的差异特征和所述局部纹理特征值的差异特征获得所述像素点的纹理差异值;

根据所述像素点的灰度值及位置进行聚类获得不同的水面区域,根据预设灰度均值对水面区域划分获得水花区域;根据所述像素点与最近水花区域的距离特征以及对应水花区域的面积特征获得所述像素点的水花概率值;

根据所述像素点的所述区域粗糙特征值、所述纹理差异值和所述水花概率值获得噪点概率值和噪点集中度;根据所述噪点概率值和所述噪点集中度获得去噪表征值;根据所述水面图像去噪前后的长边缘线数量差异和边缘线长度差异、所述像素点的灰度差异获得细节表征值;

根据所述去噪表征值和所述细节表征值获得对应初始阈值的去噪异常度;根据所述去噪异常度在不同所述初始阈值中挑选出最佳阈值及其对应的最佳水面图像;根据所述最佳水面图像分析水质浊度。

进一步地,所述区域粗糙特征值的获取步骤包括:

计算所述像素点与预设第一邻域范围内的其他像素点的灰度差值绝对值和梯度差值绝对值,计算所述灰度差值绝对值和对应的梯度差值绝对值的乘积,获得粗糙特征,计算所述像素点与预设第一邻域范围内所有其他像素点的粗糙特征的和值,获得区域粗糙特征值。

进一步地,所述纹理特征值和局部纹理特征值的获取步骤包括:

通过LBP算法根据所述像素点的预设第二邻域范围的灰度分布获得所述像素点的纹理特征值;通过LBP算法根据所述像素点的预设第二邻域范围内的纹理特征值获得所述像素点的局部纹理特征值。

进一步地,所述纹理差异值的获取步骤包括:

计算所述水面图像的纹理特征值平均值和局部纹理特征值平均值;计算所述像素点的所述纹理特征值与所述纹理特征值平均值的差值绝对值,获得纹理特征差异;计算所述像素点的所述局部纹理特征值与所述局部纹理特征值平均值的差值绝对值,获得局部纹理特征差异;

计算所述像素点的所述纹理特征差异与所述局部纹理特征差异的乘积,获得所述纹理差异值。

进一步地,所述水花概率值的获取步骤包括:

计算所述像素点距离最近的所述水花区域边界的欧氏距离,以及所述水花区域的面积;当所述像素点在水花区域内时,所述欧氏距离为预设非负极小值;计算所述欧氏距离与对应所述面积的比值,获得所述像素点的所述水花概率值。

进一步地,所述噪点概率值和噪点集中度的获取步骤包括:

计算所述像素点的所述区域粗糙特征值与所述纹理差异值的乘积,获得异常特征;计算所述像素点的所述异常特征与对应的所述水花概率值的比值,获得所述噪点概率值;

计算所述水面图像中所有像素点的所述噪点概率值,获得噪点概率图像,通过大津阈值法对所述噪点概率图像进行分割,获得疑似噪声点;

将所述水面图像平均分割预设数量个子区域,计算所有子区域的疑似噪声点平均值;计算子区域中疑似噪声点的数量与所述疑似噪声点平均值的差值绝对值,获得噪点分布特征,计算所述噪点分布特征的平均值,获得所述噪点集中度。

进一步地,所述去噪表征值的获取步骤包括:

计算所述水面图像中所有像素点的噪点概率值平均值,计算所述噪点概率值平均值与所述噪点集中度的乘积,获得所述去噪表征值。

进一步地,所述细节表征值的获取步骤包括:

计算所述水面图像去噪前后的所有对应像素点灰度差值绝对值之和,获得去噪灰度变化指标;计算所述水面图像去噪前后长边缘线的数量差异,获得去噪边缘数量变化指标;计算所述水面图像去噪前后对应边缘线的长度差值绝对值之和,获得去噪边缘长度变化指标;

计算所述水面图像的所述去噪灰度变化指标、所述去噪边缘数量变化指标和所述去噪边缘长度变化指标三者的乘积,获得所述细节表征值。

进一步地,所述最佳水面图像的获取步骤包括:

计算预设第一权重与归一化后的所述去噪表征值的乘积,获得第一异常度;计算预设第二权重与归一化后的所述细节表征值的乘积,获得第二异常度;计算所述第一异常度与所述第二异常度的和值,获得所述去噪异常度;

计算每个预设初始阈值去噪后的水面图像获得的所述去噪异常度,挑选所述去噪异常度最小的所述初始阈值作为最佳阈值,根据所述最佳阈值去噪的图像为所述最佳水面图像。

本发明还提出了一种基于计算机视觉的水质检测系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序实现任意一项所述方法的步骤。

本发明具有如下有益效果:

在本发明实施例中,区域粗糙特征值能够根据像素点与预设第一邻域范围内的其他像素点的灰度差异和梯度差异表征该像素点为噪点的可能性;纹理差异值能够根据像素点的纹理特征值和局部纹理特征值表征该像素点为噪点的可能性。因拍摄原因以及水花特征容易造成部分像素点被误作为噪点,故通过计算像素点的水花概率值减少噪点的误识率。噪点概率值能够表征像素点为噪点的可能性;噪点集中度能够根据噪点分布均匀离散的特征,表征噪点概率值的可靠程度;故去噪表征值能够反映水面图像的去噪效果。因去噪效果的优劣还与图像细节的保留程度有关,故通过去噪前后的像素点灰度变化特征以及图像边缘线的变化特征获得细节表征值,通过细节表征值反映细节的保留程度。因此通过去噪表征值和细节表征值能够全面准确地分析水面图像的去噪效果。最终选取去噪效果最佳的最佳水面图像对水质浊度识别,从而提高水质浊度检测的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1为本发明一个实施例所提供的一种基于计算机视觉的水质检测方法流程图。

具体实施方式

下面结合附图具体的说明本发明所提供的一种基于计算机视觉的水质检测方法及系统的具体方案。

请参阅图1,其示出了本发明一个实施例提供的一种基于计算机视觉的水质检测方法流程图,该方法包括以下步骤:

步骤S1,获取根据预设初始阈值去噪后的水面图像;在水面图像中,根据像素点与预设第一邻域范围内的其他像素点的灰度差异和梯度差异获得区域粗糙特征值;根据像素点的预设第二邻域范围内的灰度分布特征获得纹理特征值和局部纹理特征值;根据纹理特征值的差异特征和局部纹理特征值的差异特征获得像素点的纹理差异值。

在本发明实施例中,实施场景为对检测水质浊度的图像去噪效果分析。对于大型水域,可通过无人机在水域上空获取图像,通过计算机视觉以及神经网络对水质浊度进行检测。由于获取图像的过程中带有噪声,会影响水质浊度检测的准确性,故需要对该图像进行去噪。阈值去噪法是现有常用的图像去噪方法,其主要原理是根据图像和噪声所对应的小波变换系数具有相反的分布特征,通过对图像进行小波变换,得到小波变换系数,利用设定的阈值对小波变换系数进行取舍,得到小波变换系数的估计值,最后通过估计小波变换系数进行小波反变换,得到复原图像,因阈值去噪法是现有技术,具体详细原理不再赘述。阈值去噪法中的阈值选取会影响图像去噪效果,若选取阈值过大,会导致噪声去除不彻底;若选取阈值过小,又会导致图像细节和边缘信息的丢失,故合理地选取阈值能够提高图像去噪的效果,进而保证水质浊度检测的准确性。因此本发明实施例需要对阈值去噪法中不同阈值的去噪效果进行分析,进而能够根据需要去噪的图像自适应选取最佳阈值完成去噪,提高水质浊度检测的准确性。

首先,对无人机获取水域的原始图像进行灰度化处理,在本发明实施例中,通过加权平均法进行灰度化处理,需要说明是,加权平均法属于现有技术,具体步骤不再赘述,实施者可选取其他例如最大值法进行灰度化处理,在此不做限定。进一步地,原始图像灰度化后,则需要通过阈值去噪法进行去噪,首先预设初始阈值,在本发明实施例中预设初始阈值的范围为1至15,然后根据不同的预设初始阈值通过阈值去噪法进行去噪,获得不同的预设初始阈值去噪后的水面图像。至此,获得去噪后的水面图像,后续需要对每个水面图像的去噪效果进行分析,选取去噪效果最佳的水面图像进行水质浊度检测。

根据大型水域中水面比较平滑、相似的特征,其获取的水面图像整体特征也应是平滑相似的,若出现噪点,则会造成水面图像中噪点区域不平滑、较为粗糙的特征,故可根据像素点与预设第一邻域范围内的其他像素点的灰度差异和梯度差异获得区域粗糙特征值,具体包括:计算像素点与预设第一邻域范围内的其他像素点的灰度差值绝对值和梯度差值绝对值,计算灰度差值绝对值和对应的梯度差值绝对值的乘积,获得粗糙特征,计算像素点与预设第一邻域范围内所有其他像素点的粗糙特征的和值,获得区域粗糙特征值。区域粗糙特征值的获取公式具体包括:

式中,

关于水面图像中像素点的区域粗糙特征值的获取,当该像素点与预设第一邻域范围内的其他像素点的灰度差异越小、梯度差异越小,则意味着该像素点区域越平滑相似,该像素点为噪点的可能性越小;当该像素点与预设第一邻域范围内的其他像素点的灰度差异越大、梯度差异越大,则意味着该像素点区域越不平滑、越粗糙异常,该像素点为噪点的可能性越大。

因只根据粗糙特征值不能够完全确定对应像素点为噪点,故还需要分析其他能够反映噪点的特征。由于噪声的存在会破坏水面图像中原有的纹理信息,且噪点在水面图像中较为孤立,因此可根据像素点的预设第二邻域范围内的灰度分布特征获得纹理特征值和局部纹理特征值,具体包括:通过LBP算法根据像素点的预设第二邻域范围的灰度分布获得像素点的纹理特征值;通过LBP算法根据像素点的预设第二邻域范围内的纹理特征值获得像素点的局部纹理特征值。需要说明的是,LBP全称Local Binary Pattern,指局部二值模式,LBP算法是一种描述图像纹理的现有算法,能够反映某一像素点与周围像素点的差异和对比信息,在像素点的预设第二邻域范围内,若其邻域像素点灰度值大于等于该像素点,则标记为1,否则标记为0,算法规定,将该预设第二邻域范围内左上角的邻域像素点作为起始点,顺时针旋转,得到一串二进制数,将该二进制数转化为十进制,获得LBP值,具体LBP值的计算步骤不再赘述。在本发明实施例中,预设第二邻域范围指该像素点的八邻域,实施者可根据实施场景自行确定。其中对于纹理特征值的获取,是指根据像素点的预设第二邻域范围内的灰度值分布通过LBP算法获得的LBP值;而对于局部纹理特征值的获取,首先将该像素点的预设第二邻域范围内的像素点灰度值换为对应的纹理特征值,根据该像素点的预设第二邻域范围内的纹理特征值分布通过LBP算法所获得的LBP值。

对于像素点的纹理特征值,若该像素点为噪点,由于灰度和纹理的差异,则对于该像素点的LBP值会比水面图像中其他像素点的LBP值更大或更小,即纹理特征值更大或更小。同时,若该像素点为噪点,则其预设第二邻域范围内的像素点与该像素点纹理分布也是不同的,故即使该像素点与水面图像中其他噪点的纹理特征值相似,但通过预设第二邻域范围内的纹理特征值所获得的该像素点的局部纹理特征值,和其他噪点的局部纹理特征值会存在差异。进一步地,可根据纹理特征值的差异特征和局部纹理特征值的差异特征获得像素点的纹理差异值,具体包括:计算水面图像的纹理特征值平均值和局部纹理特征值平均值;计算像素点的纹理特征值与纹理特征值平均值的差值绝对值,获得纹理特征差异;计算像素点的局部纹理特征值与局部纹理特征值平均值的差值绝对值,获得局部纹理特征差异;计算像素点的纹理特征差异与局部纹理特征差异的乘积,获得纹理差异值。纹理差异值的获取公式具体包括:

式中,

关于纹理差异值的获取,根据像素点若为噪点时,其纹理特征值和局部纹理特征值与水面图像中其他像素点存在差异的特征,当该像素点的纹理特征差异越大,则该像素点为噪点的可能性越大;当该像素点的局部纹理特征差异越大,则该像素点为噪点的可能性越大,故当纹理差异值越大,则该像素点为噪点的可能性越大。

至此,获得了水面图像中像素点的区域粗糙值和纹理差异值,通过区域粗糙值和纹理差异值能够反映像素点为噪声的可能性。后续步骤则需要进一步分析某些像素点误识为噪点的情况。

步骤S2,根据像素点的灰度值及位置进行聚类获得不同的水面区域,根据预设灰度均值对水面区域划分获得水花区域;根据像素点与最近水花区域的距离特征以及对应水花区域的面积特征获得像素点的水花概率值。

由于在拍摄过程中,可能会因为太阳光反射等原因,使得水平面出现光反射,导致水在波动时,某些水花可能会因为反射,形成大小不同的高亮区域,其中较小的高亮区域与周围会形成较大的灰度差异和梯度差异,进而被误认为噪点。因此需要对像素点进一步分析,降低噪点的误识率。首先,根据像素点的灰度值及位置进行聚类获得不同的水面区域,根据预设灰度均值对水面区域划分获得水花区域。在本发明实施例中,通过DBSCAN算法,根据像素点的灰度值和位置进行聚类,获得不同的水面区域,需要说明的是,DBSCAN算法是一种基于密度的聚类算法,将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,在本发明实施例中需要预设的参数:邻域半径EPS设为3,邻域半径EPS目的是在聚类空间中任选一个点,找出邻域半径范围内的所有附近点;邻域中对象数量阈值MinPts设为2,邻域中对象数量阈值MinPts目的是确定对象是否是核心对象,实施者可根据实施场景自行设定,因为DBSCAN算法属于现有聚类算法,具体聚类步骤不再赘述。至此,在水面图像中,通过聚类获得了不同的水面区域,其中一些区域是平静的水面区域,一些区域则是水花区域,因为水花区域和其他区域的灰度值存在明显差异,故可根据预设灰度均值对聚类获得的所有水面区域进行划分,将水面区域的灰度值均值大于预设灰度均值的水面区域作为水花区域,实施者可根据实施场景自行确定预设灰度均值的灰度大小。

进一步地,获得水花区域后,可根据像素点与最近水花区域的距离特征以及对应水花区域的面积特征获得像素点的水花概率值,具体包括:计算像素点距离最近的水花区域边界的欧氏距离,以及该水花区域的面积;当像素点在水花区域内时,欧氏距离为预设非负极小值,在本发明实施例中预设非负极小值为0.1,实施者可根据实施场景自行定义;计算欧氏距离与对应水花区域面积的比值,获得像素点的水花概率值。当该像素点距离最近的水花区域越远,则该像素点为水花的概率值就越低;当该像素点的最近水花区域面积越大,则说明该像素点的所参考的最近水花区域越可靠,进而能够表征水花概率值的结果越可靠。因此,当该像素点的最近水花面积越大,对应欧氏距离越小,则该像素点的水花概率值越小。当像素点在水花区域内部,则该像素点的水花概率值无穷大,进而意味着该像素点为噪点的可能性为零。

获得水面图像中像素点的水花概率值之后,可以结合该像素点对应的区域粗糙特征值和纹理差异值分析该像素点为噪点的可能性,进而分析去噪效果。

步骤S3,根据像素点的区域粗糙特征值、纹理差异值和水花概率值获得噪点概率值和噪点集中度;根据噪点概率值和噪点集中度获得去噪表征值;根据水面图像去噪前后的长边缘线数量差异和边缘线长度差异、像素点灰度差异获得细节表征值。

水面图像中像素点的区域粗糙特征值和纹理差异值能够表征为噪点的可能性,水花概率值能够表征为水花的可能性,故可根据像素点的区域粗糙特征值、纹理差异值和水花概率值获得噪点概率值和噪点集中度,具体包括:计算像素点的区域粗糙特征值与纹理差异值的乘积,获得异常特征;计算像素点的异常特征与对应的水花概率值的比值,获得噪点概率值。对于噪点概率值的获取,当该像素点的粗糙特征值和纹理差异值越小,即异常特征值越小,同时该像素点的水花概率值越小,则意味着该像素点为噪点的可能性越小,当该像素点的粗糙特征值和纹理差异值越大,即异常特征值越大,同时该像素点的水花概率值越大,则意味着该像素点为水花的可能性越大;当该像素点的粗糙特征值和纹理差异值越大,即异常特征值越大,同时该像素点的水花概率值越小,则意味着该像素点为噪点的可能性越大。即噪点概率值越大,该像素点为噪点的可能性越大。

进一步地,噪点集中度的获取步骤包括:计算水面图像中所有像素点的噪点概率值,获得噪点概率图像,通过大津阈值法对噪点概率图像进行分割,获得疑似噪声点;需要说明的是,大津阈值法属于现有技术,具体步骤不再赘述。将水面图像平均分割预设数量个子区域,在本发明实施例中预设数量为25,实施者可根据实施场景自行确定。计算所有子区域的疑似噪声点平均值;计算子区域中疑似噪声点的数量与疑似噪声点平均值的差值绝对值,获得噪点分布特征,计算噪点分布特征的平均值,获得噪点集中度。对于噪点集中度,当每个子区域中噪点数量越相似,即噪点分布特征越小,噪点集中度越小,意味着噪点分布越均匀。因为无人机获得的图像其噪点是全局随机的,因此,若计算的噪点集中度越小,噪点分布越均匀离散,进而意味着噪点的获取较为准确。

故可根据噪点概率值和噪点集中度获得去噪表征值,具体包括:计算水面图像中所有像素点的噪点概率值平均值,计算噪点概率值平均值与噪点集中度的乘积,获得去噪表征值。去噪表征值的获取公式具体包括:

式中,

又因为水面图像细节的丢失可能会影响图像识别过程中水质浊度的检测准确性,细节越多,说明待检测水面图像中的杂质越多,水质浊度越大,而图像去噪会影响图像细节的保留程度,故图像去噪不仅要保证去噪效果,而且需要尽可能地保留图像细节。因此,还需要分析水面图像的细节保留程度,故根据水面图像去噪前后的长边缘线数量差异和边缘线长度差异、像素点灰度差异获得细节表征值,具体包括:计算水面图像去噪前后的所有对应像素点灰度差值绝对值之和,获得去噪灰度变化指标;计算水面图像去噪前后长边缘线的数量差异,获得去噪边缘数量变化指标;计算水面图像去噪前后对应边缘线的长度差值绝对值之和,获得去噪边缘长度变化指标;计算水面图像的所述去噪灰度变化指标、去噪边缘数量变化指标和去噪边缘长度变化指标三者的乘积,获得细节表征值。细节表征值的获取公式具体包括:

式中,

关于细节表征值的获取,当水面图像去噪前后的去噪边缘数量变化和去噪边缘长度变化越小,以及去噪灰度变化越小,则意味着细节保留越好,故当细节表征值越小,则意味着去噪后的图像细节保留完整程度越好。

至此,通过去噪表征值和细节表征值反映了图像的去噪效果,后续步骤则需要选取最佳去噪效果的水面图像进行水质浊度检测。

步骤S4,根据去噪表征值和细节表征值获得对应初始阈值的去噪异常度;根据去噪异常度在不同初始阈值中挑选出最佳阈值及其对应的最佳水面图像;根据最佳水面图像分析水质浊度。

至此,获得了不同去噪效果的水面图像的去噪表征值和细节表征值,则可根据每个水面图像的去噪表征值和细节表征值对去噪效果分析对比,根据去噪异常度在不同初始阈值中挑选出最佳阈值及其对应的最佳水面图像,具体包括:计算预设第一权重与归一化后的去噪表征值的乘积,获得第一异常度;计算预设第二权重与归一化后的细节表征值的乘积,获得第二异常度;计算第一异常度与第二异常度的和值,获得去噪异常度;计算所有预设初始阈值去噪后的水面图像获得的去噪异常度,去噪异常度越小,则意味着既保证了去噪效果,又最大程度的保留了图像细节,故挑选去噪异常度最小的预设初始阈值为最佳阈值,根据最佳阈值去噪的水面图像作为最佳水面图像,提高水质浊度检测的准确性。在本发明实施例中,对所有水面图像的去噪表征值通过现有的极差标准化进行归一化;对所有水面图像的细节表征值通过现有的极差标准化进行归一化,具体归一化步骤不再赘述,实施者可选取其他例如双曲正切函数等数学运算方法进行归一化,在此不做限定。其中预设第一权重为0.7,预设第二权重为0.3,目的是衡量去噪表征值和细节表征值的重要程度,实施者可根据实施场景自行确定。

至此,挑选出了去噪效果最好的最佳水面图像,进而通过最佳水面图像进行水质浊度的检测,在本发明实施例中,通过神经网络进行水质浊度的识别,将最佳水面图像输入至残差网络,使用训练好的残差网络获取对应的水质浊度。其中残差网络的训练过程:人为对水面图像进行标签制作,标记为每个水质图像对应的浊度等级,在本发明实施例中将浊度等级分为一到十,实施者可根据实施场景自行定义,等级越大,浊度越高。通过交叉熵损失函数进行迭代训练。网络输入为去噪后的最佳水面图像,输出为对应的浊度等级。需要说明的是,残差网络属于现有的神经网络,详细的训练步骤不再赘述。至此,通过根据待检测的水面图像,自适应选取最佳的去噪阈值,获得去噪后的最佳水面图像,即保证了去噪效果,同时最大程度的保留了图像细节。进而提高了水质浊度的检测准确性。

综上所述,本发明实施例提供了一种基于计算机视觉的水质检测方法。首先获得不同预设初始阈值去噪后的水面图像,根据水面图像中像素点灰度特征获得像素点的区域粗糙特征值和纹理差异值;根据水花区域分布特征获得像素点的水花概率值。根据区域粗糙特征值、纹理差异值和水花概率值获得噪点概率值和噪点集中度,进而获得去噪表征值;根据去噪前后的边缘特征和灰度变化特征获得细节表征值。根据去噪表征值和细节表征值获得去噪异常度和最佳水面图像,完成水质浊度检测。通过水面图像特征自适应选取最佳去噪效果,最终提高了水质浊度检测的准确度。

本发明还提出了一种基于计算机视觉的水质检测系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序实现任意一项一种基于计算机视觉的水质检测方法的步骤。

相关技术
  • 一种非贮压式全氟己酮灭火装置
  • 一种热启动非贮压式全氟己酮灭火装置
技术分类

06120116346438