system: [SYSTEM]

user: 3. 实验步骤 1) 垂直角度架设摄像机，采集光伏板图像，基于Matlab对多帧图片进行筛选，筛选出有阴影的图片进行图像处理。 2) 利用灰度变换和图像增强对图像进行预处理，得到高信噪比且清晰度高的图像。 3) 讨论基于阈值的图像分割方法(形态学处理)和基于边缘的图像分割方法(边缘检测)两种方法的优缺点。 4) 对两种方法的误差进行对比分析。 3.1. 图像采集 3.1.1. 图像的采集 如图4，实验时，规定摄像头正对光伏阵列，为了更精确的观察阴影，将信息获取范围限定在距离摄像头d 1 和d 2 之间。设定d 1 = 65 cm，d 2 = 150 cm，在此区间中值滤波可以很好的将阴影区间光伏板上的条纹很好的滤除，最终获取较完整的阴影分割图。用Matlab软件将采集到的视频数据分离成图片，并进行数字图像处理。 图4. 实验空间搭建 3.1.2. 图像配准 受摄像机架设角度等影响，拍摄到的图像往往存在一定的倾斜或形变，同样大小的光伏板在图像中所占的像素比例不尽相同，所以要对采集到的图像进行配准矫正。图像配准就是将两幅不同成像模式的图像由不同坐标系变换到同一坐标系中的过程。在图像配准中常用的几何变换模型主要有刚体变换、仿射变换、投影变换和非线性变换等 [ 6 ]。下面的表1主要介绍前三种变换类型： Table 1 Three transformation types of image registratio 变换类型 变换参数 适用情况 图片示例 刚体变换 rigid 旋转、平移 仿射变换 affine 平移、旋转、镜像、缩放等 投影变换 projective 平移、旋转、镜像、投影等 表1. 图像配准三种变换类型 图像配准的Matlab实现过程： 1) 读入基准图像和要配准的输入图像。 2) 标注基准点对，并将其保存至工作空间。 3) 指定要使用的变换类型。 例如：tform=cp2tform(input_points，base_points，¢affine¢) %仿射变换类型 4) 根据变换结构对输入图像进行变换，完成基于基准点的对准。 3.2. 图像增强 3.2.1. 灰度线性变换 灰度变换的定义就是灰度图像中的像素值作为一个非空集合，按某一个对应关系使任一个像素值可以在新的图像中(另一集合)都有与之对应的唯一值，属于点操作类算法。最常见的包括有线性变换、对数变换和伽马变换等 [ 7 ]。 灰度线性变换就是将图像的像素值通过指定的线性函数进行变换，以此增强或减弱图像的灰度。它的作用就是可以成倍地伸张或者缩小灰度值的基本范围，公式如下： g ( x ) = k x + b T B = g ( T A ) = K * T A + b 其中，K——方程的斜率；T A ——初步输入的原图像灰度值；b——方程y轴上的截距，上述K， b不同大小值会使得最后输出图像的颜色或者分辨率发生变化；T B ——最终输出图像灰度值。 当K < 0时，原来图像亮的区域变暗，原来图像暗的区域变亮；0 < K < 1时，图像的对比度会被削弱；K = 1，时图像的对比度没有发生根本性地改变，反而只会整体性地增大或缩小图像中所有的像素灰度值，可以通过调整b实现对图像亮度的调整；K > 1时，增大图像的对比度，图像的像素值在变换后全部增大，整体效果增强。 3.2.2. 中值滤波 中值滤波作为非线性滤波，它用一个窗口(即一定大小的数值矩阵)在被研究图像的整个像素内移动，用该矩阵内各个值按大小排序的中间序号所对应的值替换矩阵正中间的像素灰度值。中值滤波的公式如下所示： g i = M e d { f i − v f i ⋯ f i + v } i ∈ N ——自然数； f 1 f 2 ⋯ f v ——一维按序排列的像素值， v = m − 1 2 (m为序列值，且m是奇数)。 中值滤波的整体过程：首先从输入图像的像素值中选择出m个数作为上述矩阵窗口，选取矩阵序号的中心值，再将这m个像素数值按由大到小排序，则序号正中间的像素值就为中值滤波的输出值 g i 。 对图像进行二维中值滤波时，同上述一维中值滤波一样，需将窗口内图像的像素值按由大到小进行排序得到递增的矩阵数值序列 { x i j } ，选出中值作为输出，但滤波窗口变成了二维矩阵矩阵，二维中值滤波的公式如下所示： g j = M e d { x i j } 与其他去噪方法比，中值滤波法的能力更强，还可以很好地保存被处理图像的边缘和细节。在利用边缘检测分割图像时，滤波就需要很好地保存光伏板上阴影的边缘，为此采用中值滤波对图像进行平滑去噪处理。 3.3. 图像分割 3.3.1. 基于阈值的图像分割——形态学处理 形态学可分为两类，二值形态学和灰度形态学，本文对二值形态学进行展开讨论。二值形态学运算的对象是集合(而图像本身为像素数值集合)，其理论上主要运算过程包含有腐蚀、膨胀、开、闭、击中运算。 图像形态学的优点：1) 形态学既可以较稳定地滤除掉噪声和畸变信号，又能保全原图像中的全信号；2) 提取图像边缘信息时，其处理效果也较好(断点少)。根据下图可知道膨胀必然使所提取的阴影面积变大，使得计算出的遮挡电池单元个数不准确 [ 8 ]。图5为图像形态学处理的结果：图5(a)为原图的二值化图；图5(b)为进行图像膨胀后的边缘处理图。 图5. 图像形态学处理 3.3.2. 基于边缘的图像分割——边缘检测 边缘检测算法一般是将图像中有颜色差异较大的目标域的边缘给标记出来，这种过程中使用了边缘检测的算子。最常用的一阶边缘算子有Roberts算子、Sobel算子、Prewitt算子、Canny算子等。稀有算子还包含拉普拉斯算子和LOG算子。 Canny方法不容易受噪声干扰，能够检测到真正的弱边缘。优点在于，使用两种不同的阈值分别检测强边缘和弱边缘，并且当弱边缘和强边缘相连时，才将弱边缘包含在输出图像中。因此采用Canny算子进行图像分割。Canny边缘检测方法可以很好地过滤光伏表面条纹的干扰，阴影识别检测能力很强。它具有3个特点： 1) 标错非边缘点和不标真实边缘点的概率较低； 2) 检测出来的边缘点靠近真实边缘的中心，即所算出的面积更接近真实值； 3) 边缘响应值是单值。 Canny边缘检测的具体步骤： 1) 彩色图像变换为灰度图像 RGB转灰度的公式如下： gray = R × 0.299 + G × 0.587 + B × 0.14 将彩色图像中每个RGB像素转为灰度值，当摄像头在 d 1 ≤ s ≤ d 2 区域内，对处理的灰度图像进行一定程度的灰度线性变换。其中线性变换的斜率K > 1，本文将图像灰度范围设定为0.125~0.580。 下图6(a)为只进行了灰度处理，没有进行图像增强的Canny边缘处理图；图6(b)为进行了图像增强后的边缘处理图。由图比较可知在预处理中加入图像增强后，可以很好地将阴影检测出来。 图6. Canny边缘检测 1) 对图像进行高斯模糊 用高斯滤波器来平滑图像的边缘毛刺和滤除外界噪声。 f ( i ， j ) 表示输入图像，使用可分离滤波方法求图像与高斯平滑滤波器卷积，得到的结果是一个平滑的数据矩阵如下所示： S ( i ， j ) = G ( i ， j ; σ ) ∗ f ( i ， j ) 其中， σ ——高斯函数的标准差。 G ( x ， y ) = 1 2 π δ 2 exp [ − ( x 2 + y 2 ) 2 δ 2 ] 在某一方向n上对 G ( x ， y ) 求取一阶方向导数，其表达式可由以下公式表示： G n = n ∇ G = [ cos θ sin θ ] [ ∂ G ∂ x ∂ G ∂ y ] 将变量 x ， y 用输入图像像素 i ， j 代替，将图像 f ( i ， j ) 与 G n 作卷积，同时改变n的方向， S ( i ， j ) 取得最大值时的n就是正交于检测边缘的方向。 2) 计算图像中各点梯度的幅值和方向 已知平滑数据矩阵 S ( i ， j ) 的梯度，可根据梯度值计算出图像边缘的幅值与角度大小。上一步的高斯模糊主要目的就是为了降低图像噪声，这样就可以根据图像梯度更精确地计算出图像梯度及边缘幅值。其数学表达如下所示： P ( x ， y ) ≈ [ S ( i + 1 ， j ) − S ( i + 1 ， j + 1 ) − S ( i ， j + 1 ) ] / 2 Q ( x ， y ) ≈ [ S ( i ， j + 1 ) − S ( i ， j ) + S ( i + 1 ， j + 1 ) − S ( i + 1 ， j ) ] / 2 则该图像的梯度幅值与角度如下所示： M ( i ， j ) = P ( i ， j ) 2 + Q ( i ， j ) 2 θ ( i ， j ) = arctan Q ( i ， j ) P ( i ， j ) 3) 对梯度幅值进行非极大值抑制 非最大信号压制是数字信号学科中最常见的一种处理技术，其作用是对图像边缘进行细化，这样经处理后的边缘像素值会因细化而减小。 4) 双阈值边缘连接处理 图像经第四步骤处理以后，结果图中可能会有些许非边缘像素，这时需要阈值筛选才能将非边缘像素剔除。传统的方法是基于一个阈值，如果选取的阈值较小不能完全过滤非边缘，若选取的阈值较大会滤除掉所需图像分量的边缘，Canny双阈值法很好地解决了上述问题。为了更好地检测出光伏板的阴影区域，系统需要准确地设定Canny的阈值范围。本文将取值范围定为0.627~0.738。 3.4. 对比上述两种图像分割方法 算法对比流程图如下图7，不同条件下分割对比如图8： 图7. 算法对比流程图 图8. 不同条件下的分割对比 计算阴影面积占光伏板整个面积的百分比percent，绝对误差 δ 、平均误差 δ ¯ 。 percent = S d S z × 100 % δ = | P c − P d | δ ¯ = ∑ i = 1 n δ i n 其中，percent——阴影面积占光伏板整个面积的百分比；S d ——遮挡阴影面积(单位为像素)；S z ——光伏板的总面积(单位为像素)；P c ——阴影实测的百分比；P d ——阴影实验百分比； δ ——绝对误差； δ ¯ ——平均误差。通过计算得出形态学分割平均误差 δ ¯ 为1.37%，边缘检测算法分割的平均误差 δ ¯ 为0.56%。由此可知canny边缘检测法更为有效准确。