一种基于Adaboost的红外图像光伏阵列识别方法与流程

文档序号:15984185发布日期:2018-11-17 00:41阅读:169来源:国知局

本发明涉及一种基于adaboost的红外图像光伏阵列识别方法,属于光伏电站中的阵列自动检测与分析技术领域。

背景技术

近年来,随着全球石化能源越来越接近枯竭和太阳能光伏发电技术不断进步,光伏发电进入了迅速发展的阶段。我国自2013年开始,连续4年领跑全球光伏产业,其中集中式光伏电站占到85%以上。一个大型光伏电站一般由许多个排列规则的光伏阵列组成,每个阵列又是由一定数量规则排列的电池构成的。这些光伏电站长期处在露天的环境中,很容易被灰尘、杂草、鸟粪、建筑物以及其他光伏太阳板的遮挡,进而导致热斑效应的产生。热斑会导致光伏组件局部大量发热,无法将光能转化为电能,这样不仅极大的影响了发电效率,甚至会烧毁光伏阵列引发火灾的问题。因此,及时检测热斑对于光伏电站在日常维护具有重要的意义。

目前阵列热斑检测的方法主要分为两大类:一类是基于光伏电池组件构成电路的伏安特性,另一类是基于红外成像的温度特性。第一类需要在光伏阵列外搭建物理电路,通过监控伏安特性判断是否存在热斑。该方法不仅增加了光伏电站的维护成本而且在搭建电路的时候会破坏太阳能电池自身的物理结构。第二类基于红外成像的温度特性检测热斑,主要依靠无人机携带红外相机直接捕获温度数据,并通过红外图像分析的方法自动检测地面的热斑,准确性较高且不会对光伏阵列内部结构产生破坏。目前基于红外图像分析的热斑检测方法通常分为两步:第一步识别红外阵列图像中的各个光伏阵列;第二步基于红外图像光伏阵列识别结果检测热斑。在该方法中第一步起着至关重要的作用,传统识别阵列是利用温度数据直接识别阵列,在背景温度和阵列温度接近时候出现的将背景识别为阵列、阵列识别为背景的误识别现象,一旦阵列识别出现错误时,那么第二步热斑检测效果也会大打折扣,所以提高阵列识别的准确率对于提高热斑检测效果具有重要的意义。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于adaboost的红外图像光伏阵列识别方法。

为了达到上述目的,本发明所采用的技术方案是:

一种基于adaboost的红外图像光伏阵列识别方法,包括以下步骤,

准备训练所需的正样本和负样本,其中,负样本包括非完整光伏阵列图片和非光伏阵列图片,正样本包括完整光伏阵列图片;

利用lbp特征训练弱分类器,利用弱分类器训练强分类器;

利用得到的多个强分类器训练级联分类器;

利用级联分类器初步识别待检测图片;

对初步识别结果进行去背景处理,得到光伏阵列识别的最终结果。

正样本和负样本根据一定的比例准备,负样本中非完整光伏阵列图片和非光伏阵列图片满足一定的比例。

训练弱分类器的过程为,

计算正样本和负样本积分图;

计算每个像素的lbp值,得到反映该像素点邻近区域纹理的lbp特征值;

将所有lbp特征值放入一个特征集中;

构造多叉树结构的lbp特征弱分类器,每个分支对应某个确定的lbp特征值,弱分类器定义式为,

其中,fi(x)表示每个分支x对应的lbp确定的特征值,fi(x)值越大,为光伏阵列的可能性越大,xk是向量x的第k个分量,i为待检测窗口的第i个特征,用n表示弱分类器的分支,n为整数,n的取值范围为0~l,an表示通过训练得到的参数,

其中,n为训练样本的总数,wj为第j个训练样本的权重,yj为第j个训练样本类别标签,为第j个训练样本的第k个分量,与n相等时,为1,否则为0;

当an>0时,说明第j个训练样本为正样本的可能性大于负样本,设置阈值θ;

当fi(x)≥θ时,判断为正样本,否则为负样本。

阈值θ为一个动态更新的值,具体设置过程为,

设置所有负样本的权重和为q;

选定第j个训练样本的lbp特征值作为阈值,设定判断出的所有正样本和负样本的权重和分别为s+和s-

计算ej=s++(q-s-)

遍历所有样本,得到e1,...,en;

计算e=min{e1,...,en},e对应的练样本lbp特征值即为最优阈值。

利用弱分类器训练强分类器的过程为,

定义训练样本集s,其中正样本和负样本数分别为numpos和numneg,正样本的权重初值为1/(2×numpos),负样本的权重初值为1/(2×numneg);

进行t次迭代,每次过程为:首先构造每个特征对应的弱分类器,选出其中权值平方误差和最小的弱分类器ht(x);然后根据公式更新权重,其中wt+1,j,wt,j分别为第j个训练样本t+1次和t次迭代时的权重,β是根据公式β=jwse/(1-jwse)计算得到的一个更新参数,e′j=1表示训练样本分类错误,e′j=0表示训练样本分类正确;最后对正样本和负样本权重进行归一化;

每个弱分类的分类错误率为其权重αt,得到强分类器为,

其中,

训练级联分类器的过程为,

1)定义强分类器的个数为m,即级联分类器的最大层数为m,训练得到的每个强分类器的最小检测率和最大误检率分别为dmin和fmax,挑选numpos′个正样本和numneg′个负样本,负样本和正样本之比为

rario=numpos′/numneg′,级联分类器的初始误检率为f0=1;

2)训练:

21)定义j′=1;

22)训练第j′个强分类器,使其检测率dj′大于dmin,同时误检率fj′小于fmax;

23)fj′=fj′*fj′-1,判断fj′≤fj′-1是否成立,若成立则结束,否则判断j′是否等于m,若等于则结束,否则j′=j′+1;

24)对正样本进行验证,通过级联分类器的正样本数为m′,修改下一轮训练中正样本数目,即将m′赋值给numpos′,对负样本进行验证,去除正确拒绝的负样本,补充负样本,使负样本数numneg′=numpos′/rario,转至步骤22;

3)保存得到的级联分类器。

初步识别待检测图片的过程中,需要先缩放检测窗口和待检测图片,使检测窗口和待检测图片的大小相同,然后通过级联分类器对其进行筛选。

去背景处理过程为,

对初步识别结果进行前景和背景区分,提取前景目标;

计算前景目标的温度均值,当温度均值高于温度阈值,则判定为光伏阵列,否则为阴影;

将判定为光伏阵列区域的像素值设为1,阴影区域像素值设为0;

对像素值为1的区域计算局部方差,得到局部方差图,利用otsu算法对局部方差图阈值化,得到了去除阴影和背景的二值化图像;

筛选温度分布范围;

利用开运算,消除二值化图像中背景干扰,断开光伏组件之间的连接;

寻找光伏组件的连通区域,并对光伏组件进行高度标记,对小于平均高度的光伏组件用平均高度标记。

本发明所达到的有益效果:1、本发明利用lbp特征的adaboost算法进行光伏阵列初步识别,提高了光伏阵列粗定位的准确性;2、本发明通过利用adaboost进行光伏阵列初步检测和利用基于温度特性去除背景的方法相结合,提高了阵列识别的准确率;避免了根据温度特性识别阵列的方法在背景温度高于阵列时出现的将背景识别为阵列、阵列识别为背景的误识别现象;3、本发明只对初步检测为阵列的区域进行温度数据的处理工作而非对整幅图像的温度数据进行处理,这样减少了计算量,提高了效率。

附图说明

图1为本发明的流程图;

图2为训练级联分类器的流程图;

图3为进行初步识别的流程图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,一种基于adaboost的红外图像光伏阵列识别方法,包括以下步骤:

步骤1,准备训练所需的正样本和负样本。

负样本包括非完整光伏阵列图片和非光伏阵列图片,正样本包括完整光伏阵列图片;正样本和负样本根据一定的比例准备,负样本中非完整光伏阵列图片和非光伏阵列图片满足一定的比例。

上述比例可根据不同的情况调整,在操作中,正样本和负样本的比例在1:3~1:5,非完整光伏阵列图片和非光伏阵列图片的比例在1:3~1:4。准备802张正样本,3530张负样本,其中850张非完整光伏阵列图片和2680张非光伏阵列图片,所有图片尺寸归一化为长160像素宽60像素的大小,所有图片均为jpg格式。

步骤2,根据光伏阵列都是规则几何图案的属性,利用lbp特征训练弱分类器,利用弱分类器训练强分类器,具体如图2所示。

训练弱分类器的过程如下:

201)计算正样本和负样本积分图。

202)计算每个像素的lbp值,得到反映该像素点邻近区域纹理的lbp特征值;

在3×3的窗口内,将窗口中心像素lbp值作为阈值,周围的8领域的像素lbp值和阈值相比较,若像素lbp值大于阈值则即为1,否则即为0,这样窗口内就有8位无符号数,可以用8位二进制数来表示中心的像素lbp值,这8位二进制数被称为lbp特征值,这个lbp特征值可以用来反映3×3区域的纹理信息。

203)将所有lbp特征值放入一个特征集中,在训练弱分类器的过程中使用。

204)构造多叉树结构的lbp特征弱分类器,每个分支对应某个确定的lbp特征值,弱分类器定义式为:

其中,fi(x)表示每个分支x对应的lbp确定的特征值,fi(x)值越大,为光伏阵列的可能性越大,xk是向量x的第k个分量,i为待检测窗口的第i个特征,用n表示弱分类器的分支,n为整数,n的取值范围为0~l,l+1为分支数,一般为256个,an表示通过训练得到的参数,an∈{1,-1},训练公式为:

其中,n为训练样本的总数,wj为第j个训练样本的权重,yj为第j个训练样本类别标签,为第j个训练样本的第k个分量,与n相等时,为1,否则为0。

205)当an>0时,说明第j个训练样本为正样本的可能性大于负样本,设置阈值θ;当fi(x)≥θ时,判断为正样本,否则为负样本。

fi(x)值越大,为光伏阵列的可能性也就越高,将其值进行升序排列;上述阈值θ并非一个固定值,而是一个动态更新的值,具体设置过程如下:

211)设置所有负样本的权重和为q。

212)选定第j个训练样本的lbp特征值作为阈值,设定判断出的所有正样本和负样本的权重和分别为s+和s-

213)计算ej=s++(q-s-)

214)遍历所有样本,得到e1,...,en;

215)计算e=min{e1,...,en},e对应的练样本lbp特征值即为最优阈值。

将单个弱分类器的过程进行t次迭代,通过不断增大错分样本的权值,得到t个分类能力最好的弱分类器,组成弱分类器集,然后通过调整各个弱分类器的权值,在改变权重的时候同时对正样本和负样本进行了归一化,这样就能够获得一个强分类器。具体训练强分类器的过程如下:

221)定义训练样本集s={(x1,y1)(x2,y3)...(xn,yn)},xj为第j个训练样本,当yj=1时,表示xj为正样本,当yj=-1时,表示xj为负样本,s中正样本和负样本数分别为numpos和numneg,正样本的权重初值为1/(2×numpos),负样本的权重初值为1/(2×numneg)。

222)进行t次迭代,每次过程为:首先构造每个特征对应的弱分类器,选出其中权值平方误差和最小的弱分类器ht(x);然后根据公式更新权重,其中wt+1,j,wt,j分别为第j个训练样本t+1次和t次迭代时的权重,β是根据公式β=jwse/(1-jwse)计算得到的一个更新参数,e′j=1表示训练样本分类错误,e′j=0表示训练样本分类正确;最后对正样本和负样本权重进行归一化。

223)每个弱分类的分类错误率为其权重αt,得到强分类器为,

其中,

步骤3,利用得到的多个强分类器训练级联分类器。

经过上面步骤已经训练得到了强分类器,但是为了提高检测速率,降低误检率,在强分类器的基础上继续训练级联分类器。级联分类器就是一层层筛孔由小到大的筛子,每一层的作用是可以筛去上层筛孔留下的负样本,可以通过所有筛孔的才判定为光伏阵列。

训练级联分类器的具体过程如下:

31)定义强分类器的个数为m,即级联分类器的最大层数为m,训练得到的每个强分类器的最小检测率和最大误检率分别为dmin和fmax,整个级联分类器的最小检测率dmin为m个强分类器dmin的乘积,最大误检率fmax就是m个强分类最大误检率fmax累积,挑选numpos′个正样本和numneg′个负样本,负样本和正样本之比为rario=numpos′/numneg′,级联分类器的初始误检率为f0=1。

32)训练;

321)定义j′=1;

322)训练第j′个强分类器,使其检测率dj′大于dmin,同时误检率fj′小于fmax;

323)fj′=fj′*fj′-1,判断fj′≤fj′-1是否成立,若成立则结束,否则判断j′是否等于m,若等于则结束,否则j′=j′+1;

324)对正样本进行验证,通过级联分类器的正样本数为m′,修改下一轮训练中正样本数目,即将m′赋值给numpos′,对负样本进行验证,去除正确拒绝的负样本,补充负样本,使负样本数numneg′=numpos′/rario,转至步骤22。

33)保存得到的级联分类器。

步骤4,利用级联分类器初步识别待检测图片。

如图3所示,初步识别待检测图片的过程如下:

41)缩放检测窗口和待检测图片,使检测窗口和待检测图片的大小相同。

首先将检测窗口的大小初始化为正样本的大小,然后按照1.1倍的大小对检测窗口进行放大;然后将待检测图片进行等比例缩小,即每次将原始的待检测图片缩小1.1倍;重复上述操作直到检测窗口的大小和待检测图片的大小相同。

42)加载级联分类器进行目标检测,检测窗口需要通过级联分类器,在这个过程中不断筛选,将一些非光伏阵列图片和非完整光伏阵列图片去除,直到通过所有层筛选才能被认为是完整光伏阵列图片。

步骤5,对初步识别结果进行去背景处理,得到光伏阵列识别的最终结果。

去背景处理过程如下:

51)对初步识别结果进行梯度计算得到梯度图像,然后使用otsu算法进行阈值化处理;通过上述处理可进行前景和背景区分,提取前景目标。

52)计算前景目标的温度均值,当温度均值高于温度阈值,则判定为光伏阵列,否则为阴影。

53)将判定为光伏阵列区域的像素值设为1,阴影区域像素值设为0。

54)对像素值为1的区域计算2×2区域内的局部方差,得到局部方差图,利用otsu算法对局部方差图阈值化,得到了去除阴影和背景的二值化图像。

55)筛选温度分布范围。

根据初步识别结果中阵列温度分布近似于高斯分布的先验知识,阵列区域的温度分布应该在峰值max附近,但是考虑到光伏阵列上可能出现热斑的温度明显高于阵列平均温度的情况,所以在筛选温度分布范围时选择[max-4,max+12]。

56)利用开运算,消除二值化图像中背景干扰,断开光伏组件之间的连接。

57)寻找光伏组件的连通区域(若像素点a在像素点b的八邻域,则a与b是连通。从视觉上来看,彼此连通的点形成了一个区域,而不连通的点形成了不同的区域,这样一个所有彼此连通的点构成的集合,称为一个连通区域。因为经过之前的操作已经去除背景,留下的为光伏组件,所以检测出连通区域即光伏组件连通区域。),并对光伏组件进行高度标记,对小于平均高度的光伏组件用平均高度标记。

上述放通过利用adaboost进行光伏阵列初步检测和利用基于温度特性去除背景的方法相结合,提高了阵列识别的准确率;避免了根据温度特性识别阵列的方法在背景温度高于阵列时出现的将背景识别为阵列、阵列识别为背景的误识别现象。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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