随着光伏产业的迅速发展, 光伏新能源在各个方面正扮演越来越重要的作用, 而光伏电站的运行很大程度上取决于光伏面板的状态. 近年来, 红外成像技术由于其特殊的成像原理与物体的热辐射有关, 在军事和民用等领域得到了广泛的应用[1]. 同时将红外图像监测应用到光伏电站监测也得到了广泛的使用, 因此借助红外技术和光伏面板表面发热的特点, 可以很好的进行光伏面板的检测. 而且, 利用红外图像的图像分割技术对光伏面板进行处理, 确定故障设备已得到广泛应用[2], 但是红外图像与可见光图像相比, 红外热成像系统通常具有低对比度和分辨率, 不利于人体观察, 分析等缺点, 以及红外图像中的信息容易被噪声污染而带有随机噪声. 而且光伏面板和周围背景物体的热量交互会造成分割困难, 难以分割红外图像. 因此如何正确、快速地分割红外图像中的光伏面板对于接下来光伏面板的故障识别非常重要.
为了解决上述问题, 针对以上红外图像的特点, 国内外学者提出了许多的分割方法, 大致可以分为: 基于阈值的分割方法[3], 基于边缘检测的分割方法[4]; 基于区域的分割方法; 基于聚类的方法[5–7]; 基于活动轮廓的方法[8]等. 阈值分割方法中, Otsu阈值方法是较为经典的一种分割方法, 其中文献[9]提出了改进的二维Otsu算法和自适应遗传算法相结合的方法, 提高了阈值查找速度和红外图像的分割效率, 但是不适合直方图为单峰或背景较为复杂的红外光伏图像; 而文献[10]是一种基于边缘检测和Otsu相结合的分割方法, 但是该方法没有考虑到红外图像的空间信息, 且不适合直方图是单峰的图像; 文献[11]则通过将区域生长和FCM聚类算法相结合, 对红外图像进行分割, 提高了分割速度和精度; 文献[12]是基于主动轮廓的方法. 该方法适应对象的拓扑结构, 在图像分割中得到了广泛的应用. 但在红外图像中, 背景区域和目标区域都是不均匀的, 两者之间没有明显的强度差异; 文献[13]则通过增强红外图像对比度和修改k-means聚类所使用的距离公式对图像进行分割. 文献[14]提出了一种基于粒子群优化算法的模糊C均值算法, 可以提高图像分割的准确性和鲁棒性; 文献[15]利用图像相似度来校正传统FCM的欧几里德距离作为相似准则的数据点, 进而修改目标函数. 由此可以知道, 不同的分割方法有不同的特点, 还没有统一的分割方法来对红外图像进行处理.
针对红外光伏图像的特点, 本文引入模糊C均值聚类方法. 模糊C均值(FCM)聚类是一种广泛用于图像分割的经典方法, 但是它有一些缺点, 例如不考虑空间信息或对噪声敏感, 聚类数和中心初始化是随机的, 影响分割精度[1]. 因此针对FCM聚类算法的缺点, 在FCM算法的基础上, 本文利用直方图确定聚类算法的初始聚类中心, 并通过用高斯核函数代替欧式距离, 同时将邻域空间信息引入到目标函数中, 推导出新的FCM目标函数, 将该方法用于红外图像分割.
1 基于改进模糊C均值聚类算法 1.1 模糊C均值聚类算法(FCM)模糊C均值(FCM)算法是最传统和经典的图像分割算法之一. 在本节中, 我们将简要介绍模糊C均值算法. 模糊C均值聚类算法由Dunn首次提出, 之后被Bai XZ改进[16], 该算法是一种迭代聚类算法, 广泛应用于医学图像、工业图像等分割.
标准FCM聚类算法是通过使用迭代搜索聚类中心和像素与中心之间的隶属度关系来计算目标函数的最小值. 因此FCM算法的目标函数可以写成
$J = \sum\limits_{{\rm{i = 1}}}^n {\sum\limits_{k = 1}^c {u_{ik}^m{{\left( {{X_i} - {X_K}} \right)}^2}} } $ | (1) |
其中, n是像素数目, c表示聚类中心数,
$ \sum\limits_{k = 1}^c {u_{ik}^m} = 1,{\forall _i} = 1,2,3,\cdots,n $ | (2) |
因此求解聚类问题变成了一个非线性优化问题, 要求解在约束公式(2)下的目标函数最小值, 可通过引入拉格朗日乘子, 将方程变成如下:
$\begin{split} J = & \displaystyle \sum\limits_{i = 1}^n \displaystyle\sum\limits_{k = 1}^c {u_{ik}^m{{({X_i} - {X_K})}^2}} + \sum\limits_{i = 1}^n {{\lambda _i}\left( {1 - \sum\limits_{k = 1}^c {{u_{ik}}} } \right)} \end{split}$ | (3) |
文献[17]中提出了基于核函数的FCM聚类算法, 利用核函数代替FCM聚类算法中的常用的欧式距离公式, 本小节将对KFCM聚类算法的原理进行介绍和推导, 为接下来的本文提出的算法做准备.
核聚类方法可以通过非线性变换放大类之间的特征差异, 非线性变换将输入模式空间映射到高维特征空间. 随后, 聚类过程在高维空间中进行. 在下文中, 高维特征空间中的输入数据Xi, i=1, 2, 3, …, N的图像由下式表示:
$J = \sum\limits_{i = 1}^n {\sum\limits_{k = 1}^c {u_{ik}^m} } \parallel \Phi ({X_i}) - \Phi ({X_k}){\parallel ^2}$ | (4) |
其中,
$\begin{split} \parallel \Phi ({X_i}) - \Phi ({X_k}){\parallel ^2} = & {\Phi ^2}({X_i}) - 2\Phi ({X_i})\Phi ({X_k}) + {\Phi ^2}({X_k})\\ = & K({X_i},{X_k}) - 2K({X_i},{X_k}) + K({X_i},{X_k}) \end{split}$ | (5) |
本文采用的是高斯核函数作为聚类核函数, 有:
$ K({X_{\rm{i}}},{X_k}) = {e^{\left( { - \dfrac{{\parallel {X_i} - {X_k}{\parallel ^2}}}{{2\sigma _{}^2}}} \right)}} $ | (6) |
将式(6)代入到式(4)和(5)得到式(7):
$J = \sum\limits_{i = 1}^n {\sum\limits_{k = 1}^c {u_{ik}^m} } (2 - 2K({X_i},{X_k}))$ | (7) |
在满足约束条件(2)的情况下, 引入拉格朗日乘子对目标函数求极小值, 将式(3)和(7)结合成式(8), 并对其求隶属度迭代函数和聚类中心迭代函数.
$\begin{split} J = & \sum\limits_{i = 1}^n {\sum\limits_{k = 1}^c {u_{ik}^m} } (2 - 2K({X_i},{X_k}))+ \sum\limits_{i = 1}^n {{\lambda _i}\left( {1 - \sum\limits_{k = 1}^c {{u_{ik}}} } \right)} \end{split}$ | (8) |
通过在函数J中对
$\left\{ \begin{array}{l} \dfrac{{\partial J}}{{\partial {u_{ik}}}} = mu_{ik}^{m - 1}(2 - 2K({X_i} - {X_k})) - {\lambda _i} = 0\\ \displaystyle \sum\limits_{k = 1}^c {u_{ik}^m} = 1\\ \dfrac{{\partial J}}{{\partial {X_k}}} = \displaystyle\sum\limits_{i = 1}^n {u_{ik}^m} K({X_i},{X_k})({X_i} - {X_k}) = 0 \end{array} \right.$ | (9) |
可以分别得到隶属度迭代函数和聚类中心迭代函数为:
$\left\{ \begin{array}{l} {u_{ik}} = \dfrac{{{{(1 - K({X_i} - {X_k}))}^{ - \dfrac{1}{{m - 1}}}}}}{{\displaystyle\sum\limits_{j = 1}^c {{{(1 - K({X_i} - {X_j}))}^{ - \dfrac{1}{{m - 1}}}}} }}\\ {X_k} = \dfrac{{\displaystyle\sum\limits_{i = 1}^n {u_{ik}^mK({X_i},{X_k}){X_i}} }}{{\displaystyle\sum\limits_{i = 1}^n {u_{ik}^mK({X_i},{X_k})} }} \end{array} \right.$ | (10) |
本小节将会在核FCM聚类算法的基础上提出一种新的结合空间邻域像素信息的聚类算法. 方法流程图如图1所示.
与此同时, 由文献[16]中所提到距离权重参数
${n_{jk}} = {\left( {d/\sqrt {{{({X_j} - {X_0})}^2} + {{({Y_j} - {Y_0})}^2}} } \right)^{1/K}}$ | (11) |
其中,
众所周知,值
目标函数如下:
$\begin{split} J = & {\displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{k = 1}^c {({n_{ik}}{u_{ik}})} } ^m}(2 - 2K({X_i},{X_k}))+ \sum\limits_{i = 1}^n {{\lambda _i}\left( {1 - \sum\limits_{k = 1}^c {{u_{ik}}} } \right)} \end{split}$ | (12) |
可以看出, 随着k的增加,
邻域像素之间具有相似的灰度值, 一般而言, 如果这些像素之间的灰度差异较小, 则这些像素更可能属于同一类别, 这种邻域像素关系在聚类过程中非常重要, 而前面的FCM聚类算法和核FCM聚类算法都没有考虑到邻域像素是相互影响信息的. 如果邻域像素和聚类中心的灰度差异很大, 则像素应该获得较小的权重, 以减少其对聚类的影响. 另一方面, 像素应该获得大的权重. 而高斯函数的特征符合要求. 表达式被描述为
$w(j,k) = \frac{{\displaystyle\sum\limits_{j \in {N_R}\atop i \ne j} {\frac{{{e^{ - {{({X_j} - {X_k})}^2}}}}}{{2{\sigma ^2}}}} }}{{{N_R}}}$ | (13) |
其中, Xj表示像素Xi的邻域像素, Xk表示聚类中心, NR表示像素Xi的邻域窗口的大小.
将其结合到式(8), 得到如下
$\begin{split} J & = \displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{k = 1}^c {{{({n_{ik}}{u_{ik}})}^m}} } (2 - 2K({X_i},{X_k}))(1 - \alpha {w_{jk}})\\ & + \sum\limits_{i = 1}^n {{\lambda _i}\left( {1 - \sum\limits_{k = 1}^c {{u_{ik}}} } \right)} \end{split}$ | (14) |
式中,
$\begin{split} J = & \displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{k = 1}^c {{{({n_{ik}}{u_{ik}})}^m}} } (2 - 2K({X_i},{X_k}))\\ & \left( {1 - \alpha \frac{{\displaystyle\sum\limits_{j \in {N_R}} {K({X_j},{X_k})} }}{{{N_R}}}} \right) + \sum\limits_{i = 1}^n {{\lambda _i}\left( {1 - \sum\limits_{k = 1}^c {{u_{ik}}} } \right)} \end{split}$ | (15) |
对式(15)通过使用拉格朗日乘子最小化, 和对函数J中对
${u_{ik}} = \frac{{{{\left( {(1 - K({X_i} - {X_k}))\left( {1 - \alpha \frac{{\displaystyle\sum\limits_{l \in {N_R}} {K({X_l},{X_k})} }}{{{N_R}}}} \right)} \right)}^{\frac{{ - 1}}{{m - 1}}}}}}{{\displaystyle\sum\limits_{j = 1}^c {{{\left( {(1 - K({X_i} - {X_j}))\left( {1 - \alpha \frac{{\displaystyle\sum\limits_{l \in {N_R}} {K({X_l},{X_j})} }}{{{N_R}}}} \right)} \right)}^{\frac{{ - 1}}{{m - 1}}}}} }}$ | (16) |
${X_k} = \frac{{\displaystyle\sum\limits_{i = 1}^n {{{({n_{ik}}{u_{ik}})}^m}\left[\!\! {\begin{array}{*{20}{l}} {\left( {1 - \alpha \frac{{\displaystyle\sum\limits_{j \in {N_R}} {K({X_{\rm{j}}},{X_k})} }}{{{N_R}}}} \right)K({X_i},{X_k}){X_i}}\\ { + \left( {(1 \!-\! K({X_i} \!-\! {X_j}))\alpha \frac{{\displaystyle\sum\limits_{l \in {N_R}} {K({X_l},{X_j})} }}{{{N_R}}}{X_j}} \right)} \end{array}} \!\!\right]} }}{{\displaystyle\sum\limits_{i = 1}^n {{{({n_{ik}}{u_{ik}})}^m}\left[ {\begin{array}{*{20}{l}} {\left( {1 - \alpha \frac{{\displaystyle\sum\limits_{j \in {N_R}} {K({X_{\rm{j}}},{X_k})} }}{{{N_R}}}} \right)K({X_i},{X_k})}\\ { + \left( {(1 - K({X_i} - {X_j}))\alpha \frac{{\displaystyle\sum\limits_{l \in {N_R}} {K({X_l},{X_j})} }}{{{N_R}}}} \right)} \end{array}} \right]} }}$ | (17) |
其中, 通过
根据红外光伏图像可知, 图像大致分为两个区域, 光伏面板和背景区域, 所以能通过直方图观察图像的峰峰值, 获得初始聚类中心, 由文献[18]可知, 通过对直方图进行平滑滤波处理, 可得到较为清晰明显的红外图像直方图, 如图3所示为图2的直方图及平滑滤波之后的直方图. 其中横坐标为灰度值, 纵坐标为像素个数.
然后通过文献[18]中的方法, 也就是式(18)和(19)求取峰峰值:
${P_s} = ((i,{h_d}(i))|{h_d}(i) > {h_d}(i - 1)\& {h_d}(i) > {h_d}(i + 1))$ | (18) |
${V_s} = ((i,{h_d}(i))|{h_d}(i) < {h_d}(i - 1)\& {h_d}(i) < {h_d}(i + 1))$ | (19) |
上式中的hd(i)为平滑后的直方图, i是灰度值, 从图中可以看出, 有很明显的两个波峰, 将其作为聚类算法的初始聚类中心值.
1.5 图像后处理由于改进的模糊核C均值聚类分割获得的二值化图像在其边缘附近会有小区域, 导致过分割, 因此本小节主要是对改进的模糊核C均值聚类分割获得的获得的二值化图像进行小面积去除, 而由图2可知, 光伏面板是属于最大的连通区域, 因此可直接对二值图像求取图像的最大连通区域, 将其做为光伏图像的目标区域, 然后将剩余区域设置为背景, 获得全新的二值图像.
本文的完整的分割算法过程如下:
步骤1: 利用直方图确定聚类算法的初始聚类中心.
步骤2: 根据式(16)和(17)分别更新隶属度矩阵和聚类中心.
步骤3: 判断是否达到迭代条件, 达到就停止, 否则继续迭代.
步骤4: 根据最终获得的隶属度矩阵对每个像素进行分类, 实现图像的分割.
步骤5: 对图像进行后处理, 去除小面积区域, 获得全新二值图像.
2 实验结果及分析
为了验证本文算法的分割效果, 对红外光伏面板图像进行Matlab仿真实验. 实验中选用的大量图像进行实验, 本文选用了几幅图像进行说明和验证, 同时算法中模糊权重系数m=2, 聚类数目C=2, 迭代误差为
本文进行实验的图像数据是通过无人机航拍获得的, 红外光伏图像的分辨率为240×320. 同时评估分割算法的好坏, 本文将分割结果与手动分割出来的区域进行对比, 对本文算法进行评估.
而为了更好地评价不同算法的准确率, 本文采用定量计算的方法进行评估, 选用的评估标准为: 查准率(precision, P), 查全率(recall, R).
$P = \dfrac{{{S_1}}}{{{S_2}}}{\rm{\% }}$ | (20) |
$R = \dfrac{{{S_1}}}{{{S_3}}}{\rm{\% }}$ | (21) |
对于图像区域提取来说, 集合
本文采用Otsu算法、文献[20]算法与KFCM(模糊核C均值聚类算法)进行测试和比较, 验证算法的性能. 红外光伏面板图像分割结果如下图所示, 文中选用了3幅图像进行分割. 分割结果如图4所示, 其中图4(a)是红外光伏面板图像原图的灰度图, 图4(b)是红外光伏面板图像的手动切割图, 图4(c)是Otsu算法的分割结果图, 图4(d)是文献[20]算法的分割结果图, 图4(e)是KFCM(模糊核C均值聚类算法)聚类算法的分割结果图, 图4(f)是本文算法的分割结果图.
从图4中可以看出, 与图4(a)中的原图相比, Otsu算法和文献[20]算法的分割结果普遍出现了较为严重的错分割结果, 且KFCM(模糊核C均值聚类算法)算法也出现了过分割和欠分割的情况, 而本文提出的算法的实验结果分割结果较为理想, 符合要求.
而且通过表1中的数据可以知道, 虽然有一幅图像的查全率(R)比其它三种算法低, 但由于图像背景和目标的灰度值太相近, 才造成欠分割, 且查全率(R)的值相差不大, 而查准率(P)比其它三种算法高出很多, 这说明本文的算法出现的在原图中分割出来的区域更多, 错分割情况较少, 分割结果也较为准确, 同时本文中其它图像的查全率(R)和查准率(P)都比其它的三种算法高, 因此综合考虑图像的分割效果和表中的数据可知, 本文提出算法相比其它的三种算法分割效果更好, 出现错分割的情况少, 更符合图像手动分割的结果.
3 结语
本文通过对红外光伏面板图像特征的分析, 提出了一种基于改进模糊C均值聚类的分割方法, 该方法利用直方图的特点确定聚类的初始中心, 同时在传统的模糊C均值(FCM)的基础上, 用高斯核函数来替换原来的欧式距离, 而且考虑到邻域像素和像素之间的关系, 将其引入到FCM中, 改变聚类算法的目标函数, 使其能更好的考虑到领域信息. 实验结果表明, 本文提出的算法分割效果相比Otsu算法、k-means算法和KFCM(模糊C均值聚类)算法更接近手动分割的目标区域, 有效的改善了分割效果, 具有较强的自适应性和鲁棒性, 但是本文算法对于图像中目标和背景灰度值相近的区域分割效果不是很好, 从第一幅图和表中第一行数据可知, 分割效果不是很好. 因此本文未来将着重研究这方面的分割算法.
同时本文算法分割出来的目标区域为后期红外光伏面板图像特征提取和故障识别检测奠定了基础.
[1] |
Davis JW, Sharma V. Background-subtraction in thermal imagery using contour saliency. International Journal of Computer Vision, 2007, 71(2): 161-181. DOI:10.1007/s11263-006-4121-7 |
[2] |
毛峡, 石天朋. 光伏热斑图像有效区域分割算法研究. 太阳能学报, 2018, 39(5): 1270-1276. |
[3] |
Alamri SS, Kalyankar NV, Khamitkar S D. Image segmentation by using threshold techniques. arXiv:1005.4020,2010.
|
[4] |
Zhang KH, Song HH, Zhang L. Active contours driven by local image fitting energy. Pattern Recognition, 2010, 43(4): 1199-1206. DOI:10.1016/j.patcog.2009.10.010 |
[5] |
Tao WN, Jin H, Liu J. Unified mean shift segmentation and graph region merging algorithm for infrared ship target segmentation. Optical Engineering, 2007, 46(12): 127002. DOI:10.1117/1.2823159 |
[6] |
Liu ZY, Zhou FG, Bai XZ. Infrared ship target segmentation based on region and shape features// 2013 14th International Workshop on Image Analysis for Multimedia Interactive Services. Paris, France. 2013. 1–4.
|
[7] |
Chatzis SP, Varvarigou TA. A fuzzy clustering approach toward hidden markov random field models for enhanced spatially constrained image segmentation. IEEE Transactions on Fuzzy Systems, 2008, 16(5): 1351-1361. DOI:10.1109/TFUZZ.2008.2005008 |
[8] |
Chen L, Chen CLP, Lu MZ. A multiple-kernel fuzzy C-means algorithm for image segmentation. IEEE Transactions on Systems, Man, and Cybernetics, Part B, 2011, 41(5): 1263-1274. DOI:10.1109/TSMCB.2011.2124455 |
[9] |
王坤, 张杨, 宋胜博, 等. 改进二维Otsu和自适应遗传算法的红外图像分割. 系统仿真学报, 2017, 29(6): 1229-1236. |
[10] |
曲杨, 许卫东, 杨骏堂, 等. 基于边缘信息和Otsu的红外图像分割方法. 指挥控制与仿真, 2017, 39(6): 130-133. DOI:10.3969/j.issn.1673-3819.2017.06.027 |
[11] |
黄永林, 叶玉堂, 乔闹生, 等. 基于快速模糊C均值聚类算法的红外图像分割. 强激光与粒子束, 2011, 23(6): 1467-1470. |
[12] |
Chan TF, Vese LA. Active contours without edges. IEEE Transactions on Image Processing, 2001, 10(2): 266-277. DOI:10.1109/83.902291 |
[13] |
王启银, 薛建东, 任新辉. 一种自适应的变电站设备红外图像分割方法. 红外技术, 2016, 38(9): 770-773. |
[14] |
蒲蓬勃, 王鸽, 刘太安. 基于粒子群优化的模糊C-均值聚类改进算法. 计算机工程与设计, 2008, 29(16): 4277-4279. |
[15] |
Lou XJ, LI JY, Liu HT. Improved fuzzy C-means clustering algorithm based on distance correction. Journal of Computer Applications, 2012, 32(3): 646-648. |
[16] |
Bai XZ, Chen ZG, Zhang Y, et al. Infrared ship target segmentation based on spatial information improved FCM. IEEE Transactions on Cybernetics, 2016, 46(12): 3259-3271. DOI:10.1109/TCYB.2015.2501848 |
[17] |
Zhang DQ, Chen SC. A novel kernelized fuzzy C-means algorithm with application in medical image segmentation. Artificial Intelligence in Medicine, 2004, 32(1): 37-50. DOI:10.1016/j.artmed.2004.01.012 |
[18] |
Li SY, Ma J. A kernel fuzzy clustering infrared image segmentation algorithm based on histogram and spatial restraint. 2016 9th International Congress on Image and Signal Processing, Biomedical Engineering and Informatics. Datong, China. 2017. 313–318.
|
[19] |
Liu G, Yang CL, Zhang QQ, et al. Neighborhood weight fuzzy c-means kernel clustering based infrared image segmentation. IEEE International Conference on Information and Automation. Hailar, China. 2014. 451–454.
|
[20] |
王嘉栋, 李寒松. 自适应K-means图像分割方法. 导航定位与授时, 2016, 3(5): 66-69. |