一种颜色不均匀情况下太阳能板红外图像的有效分割方法与流程

文档序号:16514690发布日期:2019-01-05 09:33阅读:531来源:国知局
一种颜色不均匀情况下太阳能板红外图像的有效分割方法与流程

本发明涉及模式识别、图像处理领域,尤其涉及一种颜色不均匀太阳能板图像的分割方法。

技术背景

在当今社会,由于传统能源主要以不可再生能源为主,这些能源越用越少,将来必然有枯竭的时候,因此新能源的研究逐渐被提上日程。太阳能是一种绿色可再生能源,是清洁能源之一。太阳能具有不会造成环境污染,可以无限使用,并且不存在能量运输问题,不受到地域限制等优点,所以关于太阳能的研究也越来越多。太阳能不能直接的被人类使用,需要通过太阳能板将太阳能转化为人类可以使用的能量,比如电能等。因此太阳能板作为一种重要的能量转换介质被各个领域所研究。

当太阳能板出现缺陷点或者裂痕时,这个区域光照产生的能量转化效率将会大幅度的减少。当太阳能作为用户太阳能电源使用时,太阳能板一般装在高原、海岛等区域,人工寻找太阳能板的损坏区域,将会浪费大量的人力物力。本发明研究的图像就是用无人机航拍所拍摄到的太阳能板红外图像。对于获取的红外图像,利用图像处理技术,将光伏板和背景分割,以检测和定位缺陷版,从而大量的节省了人力物力。太阳板损坏区域(一般为缺陷点或者裂痕)在热图像中会很明显的表现出来,主要是因为损坏区域的热量不能够有效的转化,因此在热图像中缺陷点的亮度会远高于正常的太阳能板。为了能够找到过热点区域,并且不受到背景环境的干扰,首先需要将完整的太阳能板区域分割出来,这是光伏板检测过程中的重点和难点。



技术实现要素:

本发明提供了一种颜色不均匀太阳能板图像的分割方法,采用基于直线检测的算法进行分割。由于无人机拍摄的图像是热图像,根据温度呈现出颜色的亮度,图像整体的颜色分布不均匀。另外,拍摄时存在相机抖动,太阳能板的边界线出现模糊。由于以上两个方面的问题,如何准确有效的分割出光伏板,是一件困难的工作。本发明针对颜色不均匀太阳能板的图像,首先将图像进行导向滤波增强和canny边缘算法处理,找到图像中的边缘线,然后结合直线检测和k-means聚类算法寻找轮廓。导向滤波可以将图片中线条轮廓突出显示,k-means聚类使背景无关线条被去除,两者结合,大大提升了太阳能板的分割准确率。本发明技术解决方案如下:

一种颜色不均匀太阳能板图像的分割方法,包括以下步骤:

步骤1:将采集到的rgb图像拆分为三个通道,对每个通道通过方框滤波找到导向图,然后进行进行导向滤波;

步骤2:将导向滤波的结果中消除掉的噪声部分和梯度边缘进行扩大,以达到图像增强的目的;

步骤3:将增强后的图像进行canny算子处理,得到边缘轮廓检测图像;

步骤4:对边缘检测图进行linesegmentdetector(lsd)算法处理,找到图中所有的直线;

步骤5:将所有的直线用角度作为分类标准进行k-means聚类,然后找到最少的聚类类别,将这一类别舍弃,即显示另外两类的所有直线;

步骤6:对直线图进行膨胀操作,寻找闭合轮廓,如果某个轮廓中大于4个面积超过1000的子轮廓,则判定为太阳能板区域;

步骤7:将太阳板区域提取出来,将其旋转扶正,然后计算直线检测图中每一列的均值和图片整体均值进行比较,对边界线进行修正,得到完整的太阳板区域图片。

在一些实施方案中,其中步骤1计算导向滤波时依赖一个重要的假设:导向滤波器在导向图像i和滤波输出q之间在一个二维窗口ωk内是一个局部线性模型,即:

qi=akii+bk,

其中i为导向图像,原图像经过方框滤波可以直接得到,{ak,bk}为窗口ωk中的线性系数。

为了求解线性系数{ak,bk},引入噪声n,并且ni=pi-qi,根据无约束图像复原方法,设定最优化目标为min||n||,等价地有minn2。为了解决最小二乘问题,引入约束项因此目标函数转化为:

求解上述最优化问题,便可得到:

将线性系数{ak,bk}带入导向滤波器:可以得到通过导向滤波进行去噪的结果。

其有益效果是:通过导向滤波,可以得到去噪后的图像q和包含噪声和边界梯度信息的噪声n。

在一些实施方案中,其步骤2中,噪声部分和梯度边缘进行扩大,可以得到增强图像a:

a=(pi-qi)*4+qi

其中pi为原图像,qi为导向滤波后的图像,pi-qi为噪声和边界梯度的和。

其得益效果是:本发明解决的图像是航拍的边界处模糊图像,将边界信息增大,有助于后面寻找边界进行直线检测。

在一些实施方案中,其步骤3中使用canny算子进行边缘检测首先需要经过高斯滤波进行噪声去除,高斯滤波器的分布与高斯分布有着一定的关系。一个二维的高斯函数如下:

将每个点与高斯内核进行卷积计算,并且将计算结果相加,输出到目标图像中。高斯函数是一个在频域上具有平滑性能的低通滤波器,可以很好的保留低频信息,去除噪声区域。

然后对滤波后的图像进行寻找边缘,采用sobel滤波器,对图像x和y方向分别进行卷积操作:

然后计算梯度幅值和方向:

对所有的像素点的梯度进行非极大值抑制和滞后阈值的判定保留边缘直线。

其有益效果是:通过canny算子,得到图像中所有物体的轮廓边缘。

在一些实施方案中,其步骤4中首先以s=0.8的尺度对图像进行向下高斯采样,这样可以消除锯齿效应。计算每个像素点的梯度,梯度值越大,越可能是边缘点,对梯度值划分为1024个等级,每个等级选取一个值作为种子点。对每个种子点向周围区域搜索,计算该点的角度值,和它们形成的区域角度:

如果邻域外的像素角度与区域角度之间的误差小于τ(一般取π/8弧度),则加入区域内。然后计算nfa(thenumberoffalsealarms):

其中γ=11,n和m分别是图像的长和宽,n为矩形框中的像素总数,k为矩形框中类内点的个数。

当nfa<ε时,确定矩形区域,如果不能满足条件,则调整矩形直到找到符合条件的矩形框为止。找到矩形的中心和主方向确定为所求直线。

其有益效果是:找到图片中所有的直线。由于太阳能板的边界都是直线,这样可以舍弃一些背景干扰区域。

在一些实施方案中,其步骤5中计算所有的直线角度,通过k-means算法对所有的直线角度进行聚类,聚类为3类。由于太阳能板图像为标准矩形,因此较多的两类直线角度为太阳能板矩形的长边与宽边,聚类中最少的一类直线为噪声或者背景中的无关直线。将聚类中最少类别的那一组直线舍弃。

其有益效果是:通过k-means算法,舍弃部分无关直线,以保证后续太阳能板区域的分割过程中尽可以不包括背景区域,提高分割的准确率。

在一些实施方案中,其步骤6和步骤7中,由于lsd直线检测算法可能出现断点等情况,为了找到闭合轮廓区域,首先需要对直线检测图进行膨胀,将其矩形区域连通。众所周知,太阳能板不是一块单纯的矩形区域,而是由很多小的矩形状的板拼接组成。由这个特征,算法中对所有的轮廓进行判断,如果某个轮廓区域中含有至少4个面积大于1000的子轮廓,则判定这个区域为太阳能板区域。找到该轮廓的最小外接矩形,截取出来。

由于噪声的存在,在直线膨胀处理时,可能会将部分噪声包含进去,这样截取的太阳板区域会包含背景区域。为了消除这部分的背景区域,采取的方法是,将太阳板扶正,然后从外向内寻找边界。

为了将太阳板扶正,首先找到太阳板长边的直线角度θ,角度范围为(-90°,90°],旋转角度为:

其中当α为正时,为顺时针。

将截取后的太阳板扶正之后,计算直线检测轮廓图的平均值,然后分别从图像的最左边和最右边计算列像素均值,如果低于平均值,说明该列还没有到达太阳板区域的边界处,则将这一列舍弃,直到某一列的均值大于全图的平均值,说明已经到达了太阳板的边界,停止迭代。保留下来的区域就是完整的太阳能板区域。

本发明的有益效果在于:根据太阳板的特点,巧妙的采用直线分割的方法进行处理。为了提高直线检测方法的精准度,首先采用导向滤波进行图像增强和canny算子边缘检测相结合的方法来提高边缘轮廓线的检测率。之后对边缘轮廓线通过直线检测(lsd算法)和k-means聚类结合将轮廓线转换为直线的检测。寻找轮廓和扶正修边处理切割出完整的太阳板区域。该算法不仅速度很快,而且准确率较高,解决了热图像因为光照导致的图像颜色分布不均匀的问题。为后续寻找太阳板的损坏区域提供基础。

附图说明

图1是本发明的算法步骤流程图。

具体实施方式

下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:

实施例如附图所示,一种低照度情况下视频监控的有效浓缩方法,其包括以下步骤:

(1)边界模糊图像增强:

将原图拆分为rgb三个通道分别处理。首先对单通道图像进行向下采样,采样系数为1/4,这样在不影响精度的情况下提高图像处理速度。对于导向滤波来说,首先需要知道导向图像。对图像采用16*16的方框进行方框滤波求导向图,即导向图由以该点为中心的16*16的方框均值所表示。如果处于图片的边缘处,则超出方框的区域取值为0。

然后通过方框滤波求图像的原始均值p、导向图i和原图p的互相关均值ip、自相关均值ii。带入参数系数{ak,bk}的求解公式中:

再将参数系数{ak,bk}带入导向滤波的公式中:

其中在求时上采样回复了原图像尺寸。

然后对噪声和边缘信息进行增强。带入增强公式:

a=(pi-qi)*4+qi

其中a为增强后的图像,pi为原图像,qi为导向滤波后的图像,pi-qi为噪声和边界梯度的和。现在得到了三个通道的增强图像,然后进行通道结果的合并。

(2)边缘检测

对增强后的图像用9*9的高斯内核进行高斯滤波。带入计算高斯函数:

将每个点与高斯内核进行卷积计算,并且将计算结果相加,输出为高斯滤波结果图。

为了找到图像中的边缘区域,需要运用一对卷积阵列(分别作用于x和y方向)来计算像素点的水平梯度和垂直梯度:

然后计算梯度的幅值和方向:

应用非极大值(non-maximumsuppression)抑制,以消除边缘检测带来的杂散响应。也就是说,将当前像素的梯度强度与沿正负梯度方向上的两个像素进行比较,如果当前像素的梯度强度与另外两个像素相比最大,则该像素点保留为边缘点。

然后用高阈值和低阈值两个滞后阈值来判断该点是否应该被保留为边缘点。即,当某一像素点的幅值高于高阈值,则判定为边缘点,低于低阈值,直接舍弃,介于两者之间的时候,如果该点与边缘点连接,则保留为边缘点。此时,得到了完整的边缘检测图。

(3)直线检测

将边缘检测图按照s=0.8向下高斯采样,以便消除锯齿效应。然后用lsd算法进行直线检测。首先需要对每个像素点在2*2的区域内来计算梯度的幅值和方向,然后根据梯度的幅值对所有的点进行伪排序。具体来说就是将梯度值分为1024个等级,每个等级中选取一个值作为种子点。对每个种子点向周围区域的非种子点进行搜索,计算该点的角度值,以及它们之间形成的区域角度:

所有的邻域外的像素角度与区域角度之间的误差在[-τ,τ]范围内的点,生成矩形r。一般τ取π/8弧度。

然后计算nfa(thenumberoffalsealarms):

这里γ=11,n和m分别是图像的长和宽,n为矩形框中的像素总数,k为矩形框中类内点的个数。

当nfa<ε时,确定矩形区域,如果不能满足条件,则调整矩形直到找到符合条件的矩形框为止。根据矩形框的中心和主方向确定所求的直线。

依次计算所有的直线的角度,计算的角度在[0°,180°]范围内,通过k-means算法将直线分为三类,值得注意的是[0°,10°]与[170°,180°]应该属于同一类别。很明显,主要的两个类别为太阳能板的长边和短边。最少的类别为噪声或者背景中干扰的直线。通过统计每一种角度的直线个数,找到最少分类的标签,将这一类直接舍弃。剩余的直线基本为太阳板的长与宽。

(4)太阳板区域截取

对直线检测图进行膨胀操作,然后采用固定阈值,取阈值t=100进行阈值处理,得到闭合的轮廓图。由于太阳板由很多小板拼接组成,因此可以对所有的闭合轮廓进行判断。如果某个轮廓包含4个以及4个以上子轮廓并且子轮廓满足area>1000,则认为这个轮廓是太阳板区域。

所得到的太阳板区域包含背景噪声,这样在后续的过热点检测区域可能存在干扰,因此需要对边界处进行修正,已到达完全不包含背景。首先需要对判定太阳板区域的轮廓框出最小外接矩形。将这个矩形区域截取下来。然后将该矩形中太阳板给扶正。

找到太阳板长边的直线角度θ,角度范围为,旋转角度α为:[-2/π,+2/π]

当α为正时,为顺时针。

对截取下来的太阳板图片重新增强和直线检测,然后按照角度α进行旋转。计算直线检测膨胀图的均值以及最左边和最右边的列均值,如果列均值小于整体平均值,则舍弃该列。直到列均值大于整体均值,停止迭代。保留下来的区域为完整的太阳能板区域。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1