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

一种基于计算机视觉的光伏清洗机器人清洗速度调节方法

文献发布时间:2023-06-19 09:27:35


一种基于计算机视觉的光伏清洗机器人清洗速度调节方法

技术领域

本发明涉及一种基于计算机视觉的光伏清洗机器人清洗速度调节方法。

背景技术

光伏清洗行业中,利用光伏清洗机器人对太阳能电池板进行智能化清洗和调度已成为一个趋势,解决了人工清洗速度慢,效率低的问题,但目前的光伏清洗机器人的清洗方式为按照预设的顺序单次扫过太阳能电池板,不能保证太阳能电池板能够被有效清洁。而且,光伏清洗机器人可以达到高效的清洁效果,每分钟可以清洁12米,但对于不同脏污程度的太阳能电池板来说,采用同一清洁速度,可能会造成清洁效率降低,而且也无法保证清洁效果。

发明内容

本发明的目的在于提供一种基于计算机视觉的光伏清洗机器人清洗速度调节方法,用以解决现有的光伏清洗机器人的清洁方式可能会造成清洁效率降低,而且也无法保证清洁效果的问题。

为了解决上述问题,本发明采用以下技术方案:

一种基于计算机视觉的光伏清洗机器人清洗速度调节方法,包括:

获取光伏清洗机器人的清洗运行轨迹;

根据所述清洗运行轨迹,获取所述光伏清洗机器人的运行方向;

根据所述运行方向,获取清洗前的太阳能电池板的表面图像,得到第一太阳能电池板图像,以及清洗后的太阳能电池板的表面图像,得到第二太阳能电池板图像;

根据所述第一太阳能电池板图像,按照预设的像素分类规则对所述第一太阳能电池板图像上的各个像素点进行分类,获取属于正常像素点的正常像素点个数,根据所述正常像素点个数以及所述第一太阳能电池板图像的总像素点个数,得到正常像素点比值,根据预设的脏污等级划分规则获取与所述正常像素点比值相对应的目标脏污等级;其中,所述预设的像素分类规则包括第一像素值范围和第二像素值范围,处于所述第一像素值范围的像素点为正常像素点,处于所述第二像素值范围的像素点为脏污像素点;所述预设的脏污等级划分规则包括至少两个像素点比值范围,以及与各像素点比值范围相对应的脏污等级,且像素点比值越大的像素点比值范围,对应的脏污等级越低;

根据获取到的所述目标脏污等级,按照预设的清洗速度调节规则获取与所述目标脏污等级相对应的目标清洗速度;其中,所述预设的清洗速度调节规则包括至少两个脏污等级,以及与各脏污等级相对应的清洗速度,且脏污等级越高,对应的清洗速度越小;

根据所述第二太阳能电池板图像,对所述第二太阳能电池板图像进行灰尘检测以及污点检测,确定所述清洗后的太阳能电池板的表面是否存在灰尘以及存在污点;

若所述清洗后的太阳能电池板的表面存在灰尘且存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第一清洗速度;若所述清洗后的太阳能电池板的表面不存在灰尘且存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第二清洗速度;若所述清洗后的太阳能电池板的表面存在灰尘且不存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第三清洗速度;其中,所述第一清洗速度小于所述第二清洗速度,所述第二清洗速度小于所述第三清洗速度。

可选地,所述获取光伏清洗机器人的清洗运行轨迹,包括:

获取第一太阳能电池板样本图像;

在所述第一太阳能电池板样本图像中标注所述光伏清洗机器人的中心点;

将标注的所述光伏清洗机器人的中心点与高斯核进行卷积,获取所述光伏清洗机器人的中心点的样本热力图,得到第一标签数据;

将所述第一太阳能电池板样本图像以及所述第一标签数据输入到太阳能电池板中心点提取网络中进行训练,得到中心点提取模型;

按照采样周期依次获取至少两个太阳能电池板实际图像;

对于任意一个太阳能电池板实际图像,将该太阳能电池板实际图像输入至所述关键点提取模型中,得到该太阳能电池板实际图像中的中心点热力图;

根据得到的各个太阳能电池板实际图像的光伏清洗机器人的中心点热力图以及采样时刻,对各个光伏清洗机器人的中心点热力图进行热度堆叠,得到所述光伏清洗机器人的清洗运行轨迹。

可选地,所述太阳能电池板中心点提取网络包括第一编码器和第一解码器;

所述将所述第一太阳能电池板样本图像以及所述第一标签数据输入到太阳能电池板中心点提取网络中进行训练,得到中心点提取模型,包括:

将所述第一太阳能电池板样本图像以及所述第一标签数据进行归一化处理;

将归一化处理后的所述第一太阳能电池板样本图像输入至所述第一编码器中,进行特征提取,得到所述太阳能电池板样本图像的Feature map1,将所述Feature map1输入至所述第一解码器中进行上采样,输出光伏清洗机器人的中心点初始热力图;

将所述第一标签数据与所述中心点初始热力图使用交叉熵损失函数进行热力图损失计算,得到所述中心点提取模型。

可选地,热力图损失计算的损失函数为:

其中,P

可选地,所述对各个光伏清洗机器人的中心点热力图进行热度堆叠,得到所述光伏清洗机器人的清洗运行轨迹,包括:

基于遗忘系数对各个光伏清洗机器人的中心点热力图进行热度堆叠,公式为:

X=θx+(1-θ)x′

其中,x为当前帧光伏清洗机器人的中心点的热力图,x'为之前帧的光伏清洗机器人的中心点的叠加结果,X为包含当前帧在内的光伏清洗机器人的中心点的热力图的叠加结果,(1-θ)为遗忘系数。

可选地,根据所述第二太阳能电池板图像,对所述第二太阳能电池板图像进行灰尘检测以及污点检测,确定所述清洗后的太阳能电池板的表面是否存在灰尘以及存在污点,包括:

获取第二太阳能电池板样本图像;

在所述第二太阳能电池板样本图像中标注污点,并标注用于指示是否有灰尘的类别标签;

将标注的所述第二太阳能电池板样本图像的污点与高斯核进行卷积,获取样本污点热力图,得到第二标签数据,所述第二标签数据包括所述样本污点热力图和所述类别标签;

将所述第二太阳能电池板样本图像以及所述第二标签数据输入到脏污提取网络中进行训练,得到脏污提取模型;

将所述第二太阳能电池板图像输入到所述脏污提取模型中,确定所述清洗后的太阳能电池板的表面是否存在灰尘以及存在污点。

可选地,所述脏污提取网络包括共享编码器、第二编码器、第二解码器和全连接层;

所述将所述第二太阳能电池板样本图像以及所述第二标签数据输入到脏污提取网络中进行训练,得到脏污提取模型,包括:

将所述第二太阳能电池板样本图像以及所述样本污点热力图进行归一化处理;

将归一化处理后的所述第二太阳能电池板样本图像输入至所述共享编码器中进行初步的特征提取,所述共享编码器输出给所述第二编码器进行特征提取,得到所述第二太阳能电池板样本图像的Feature map2,将所述Feature map2输入至所述第二解码器中进行上采样,输出污点初始热力图;

将所述样本污点热力图与所述污点初始热力图使用交叉熵损失函数进行热力图损失计算,得到污点提取模型;

所述污点提取模型训练完成之后,将所述第二编码器和第二解码器的参数冻结,所述共享编码器输出给所述全连接层进行分类,输出灰尘初始判断模型,并利用所述类别标签以及损失函数对所述灰尘初始判断模型进行训练,不断更新所述灰尘初始判断模型内的参数,直至训练完成,得到灰尘判断模型;

所述脏污提取模型包括所述污点提取模型和所述灰尘判断模型。

可选地,所述污点提取模型训练过程中,热力图损失计算的损失函数为:

其中,Q

可选地,所述根据所述第二太阳能电池板图像,对所述第二太阳能电池板图像进行灰尘检测以及污点检测之前,所述光伏清洗机器人清洗速度调节方法还包括:

对所述第二太阳能电池板图像进行裁剪,裁剪得到的第二太阳能电池板图像的长度为目标清洗速度乘以第二太阳能电池板图像的图像采样周期,宽度为所述太阳能电池板的宽度,根据裁剪得到的第二太阳能电池板图像进行灰尘检测以及污点检测。

本发明的有益效果为:根据光伏清洗机器人的运行方向获取太阳能电池板的两种图像,分别是清洗前的太阳能电池板的表面图像,以及清洗后的太阳能电池板的表面图像,对清洗前的太阳能电池板的表面图像中的各个像素点进行分类,获取其中正常的像素点的个数,并根据清洗前的太阳能电池板的表面图像的像素点总个数得到正常像素点的比值,根据预设的脏污等级划分规则获取与正常像素点比值相对应的目标脏污等级,最后根据目标脏污等级得到对应的目标清洗速度,因此,本发明提供的光伏清洗机器人清洗速度调节方法根据清洗前的太阳能电池板的表面的脏污程度确定对应的清洗速度,清洗速度不是固定不变的,而是与脏污程度相对应,不但能够保证清洗效果,而且还能够最大程度提升清洁效率;对清洗后的太阳能电池板的表面图像进行灰尘检测以及污点检测,确定清洗后的太阳能电池板的表面是否存在灰尘以及存在污点,然后根据是否存在灰尘以及存在污点确定是否控制光伏清洗机器人后退进行再次清洗,并确定对应的清洗速度,通过该控制过程能够当没有清洗干净时重新进行清洗,而且,根据脏污程度确定对应的清洗速度,不但能够保证重新清洗的效果,而且还能够最大程度提升清洗效率,避免出现只进行一次清洗导致的没有清洗干净的情况。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:

图1是本申请提供的一种基于计算机视觉的光伏清洗机器人清洗速度调节方法的整体流程示意图;

图2是光伏清洗机器人在太阳能电池板上的运行示意图;

图3是本申请提供的一种基于计算机视觉的光伏清洗机器人清洗速度调节方法的程序运行示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的基于计算机视觉的光伏清洗机器人清洗速度调节方法应用于光伏清洗机器人,因此,该光伏清洗机器人清洗速度调节方法作为计算机程序,由光伏清洗机器人中的控制模块执行,控制光伏清洗机器人的行走机构以及清洗机构进行相应动作。作为其他的实施方式,该光伏清洗机器人清洗速度调节方法还可以应用在用于控制光伏清洗机器人的控制终端中。

本实施例中,一个太阳能电池板设置一个光伏清洗机器人,相应地,对于任意一个包含光伏清洗机器人的太阳能电池板图像而言,只涉及一个光伏清洗机器人,即只涉及一个光伏清洗机器人的中心点。而且,本实施例结合一个太阳能电池板说明光伏清洗机器人清洗速度调节方法。如果光伏发电厂区域设置多个太阳能电池板时,每一个太阳能电池板所对应的光伏清洗机器人清洗速度调节方法的过程均相同。

为了说明本申请所述的技术方案,下面通过具体实施方式来进行说明。

参见图1,是本申请提供的基于计算机视觉的光伏清洗机器人清洗速度调节方法的一种实现过程的流程图,为了便于说明,仅示出了与本申请实施例相关的部分。

如图1所示,基于计算机视觉的光伏清洗机器人清洗速度调节方法包括:

步骤S101:获取光伏清洗机器人的清洗运行轨迹:

光伏清洗机器人的清洗运行轨迹是光伏清洗机器人按照何种路线对太阳能电池板进行清洗,比如:按照从左向右的清洗运行轨迹,从上向下的清洗运行轨迹,等等。

应当理解,光伏清洗机器人的清洗运行轨迹可以是事先设定好的,光伏清洗机器人按照事先设定好的清洗运行轨迹进行清洗,那么,就可以直接获取到光伏清洗机器人的清洗运行轨迹。光伏清洗机器人的清洗运行轨迹也可以是检测得到的,本实施例给出一种具体的检测过程:

本实施例中,太阳能电池板部署有三个相机,其中,第一个相机的拍摄区域覆盖太阳能电池板的所有区域,该相机俯视拍摄,且位姿固定,用于获取整个太阳能电池板的图像;如图2所示,第二个相机和第三个相机部署在光伏清洗机器人的两侧,视角为俯视,位姿固定,用于分别获取清洗前的太阳能电池板的图像,以及清洗后的太阳能电池板的图像。那么,第二个相机和第三个相机采集的图像叠加在一起,就可以构成第一个相机拍摄到的整个太阳能电池板的图像。

获取第一太阳能电池板样本图像,应当理解,第一太阳能电池板样本图像需要涵盖整个太阳能电池板,并且,第一太阳能电池板样本图像包含光伏清洗机器人。然后,在第一太阳能电池板样本图像中标注光伏清洗机器人的中心点,应当理解,可以通过相关的图像关键点标注工具在第一太阳能电池板样本图像中标注光伏清洗机器人的中心点(也可以为人为标注)。将标注的光伏清洗机器人的中心点与高斯核进行卷积,获取光伏清洗机器人的中心点的样本热力图,得到第一标签数据,即以高斯核卷积生成以中心点为中心的热斑作标注,输出符合高斯分布的热斑。

将第一太阳能电池板样本图像以及第一标签数据输入到太阳能电池板中心点提取网络中进行训练,得到中心点提取模型。本实施例中,太阳能电池板中心点提取网络包括第一编码器(Encoder1)和第一解码器(Decoder1),以下给出一种具体的训练过程:

对第一太阳能电池板样本图像进行归一化处理。应当理解,归一化处理之后能够将图片矩阵的值域变为[0,1]之间的浮点数,以便更好地收敛。第一标签数据,即光伏清洗机器人的中心点的样本热力图同样经过归一化处理。

通过归一化处理后的第一太阳能电池板样本图像以及第一标签数据,端到端地训练第一编码器和第一解码器,如图3所示。其中,第一编码器的输入为归一化处理后的第一太阳能电池板样本图像的图像数据,图像数据为归一化处理后的第一太阳能电池板样本图像中各个像素点的像素值,第一编码器用于特征提取,第一编码器的输出为Feature map1。第一解码器的输入为Feature map1,第一解码器是对Feature map1进行上采样,最终生成光伏清洗机器人的中心点初始热力图,即第一解码器的输出为光伏清洗机器人的中心点初始热力图。

将第一标签数据与中心点初始热力图使用交叉熵损失函数进行热力图损失计算,得到中心点提取模型,使得中心点初始热力图逐渐靠近第一标签数据。本实施例中,使用交叉熵损失函数进行热力图损失计算的损失函数(Loss函数)采用Heatmaps Loss,公式为:

其中,P

在利用上述建立好的中心点提取模型进行中心点热力图提取时,通过第一个相机按照采样周期依次获取整个太阳能电池板的至少两张图像,即获取至少两个太阳能电池板实际图像,图像个数由实际需要进行设置,而且,采样周期也根据实际需要进行设置,比如0.5s。

对于任意一个太阳能电池板实际图像,将该太阳能电池板实际图像输入至关键点提取模型中,得到该太阳能电池板实际图像中的中心点热力图。通过上述过程就能够得到各个太阳能电池板实际图像中的中心点热力图。

然后,根据得到的各个太阳能电池板实际图像的光伏清洗机器人的中心点热力图以及对应的采样时刻,对各个光伏清洗机器人的中心点热力图进行热度堆叠,得到光伏清洗机器人的清洗运行轨迹。

对多个热力图进行热度堆叠,得到运行轨迹属于常规技术手段,本实施例中,为了提升清洗运行轨迹的显示效果,以下给出一种具体的实现过程:

基于遗忘系数对各个光伏清洗机器人的中心点热力图进行热度堆叠,由于热力图本身的特点,输出的热力图符合高斯分布地热斑,其值域在[0,1]之间。公式为:

X=θx+(1-θ)x′

其中,x为当前帧光伏清洗机器人的中心点的热力图,x'为之前帧的光伏清洗机器人的中心点的叠加结果,X为包含当前帧在内的光伏清洗机器人的中心点的热力图的叠加结果,(1-θ)为遗忘系数,本实施例中,θ取值为0.05。

至此,得到了具有光伏清洗机器人中心点残留性质的光伏清洗机器人清洗运行轨迹。

步骤S102:根据所述清洗运行轨迹,获取所述光伏清洗机器人的运行方向:

得到清洗运行轨迹之后,就能够根据清洗运行轨迹,得到光伏清洗机器人的运行方向。

步骤S103:根据所述运行方向,获取清洗前的太阳能电池板的表面图像,得到第一太阳能电池板图像,以及清洗后的太阳能电池板的表面图像,得到第二太阳能电池板图像:

得到光伏清洗机器人的运行方向之后,就能够判断第二个相机和第三个相机中哪一个相机采集的图像为清洗前的太阳能电池板的表面图像,哪一个相机采集的图像为清洗后的太阳能电池板的表面图像。比如:设定:设置在光伏清洗机器人右侧的相机为第二相机,设置在光伏清洗机器人左侧的相机为第三相机,若光伏清洗机器人的运行方向为从左向右,则第二相机采集的图像为清洗前的太阳能电池板的表面图像,第三相机采集的图像为清洗后的太阳能电池板的表面图像。

那么,根据运行方向,通过第二相机获取清洗前的太阳能电池板的表面图像,得到第一太阳能电池板图像,通过第三相机获取清洗后的太阳能电池板的表面图像,得到第二太阳能电池板图像。

步骤S104:根据所述第一太阳能电池板图像,按照预设的像素分类规则对所述第一太阳能电池板图像上的各个像素点进行分类,获取属于正常像素点的正常像素点个数,根据所述正常像素点个数以及所述第一太阳能电池板图像的总像素点个数,得到正常像素点比值,根据预设的脏污等级划分规则获取与所述正常像素点比值相对应的目标脏污等级;其中,所述预设的像素分类规则包括第一像素值范围和第二像素值范围,处于所述第一像素值范围的像素点为正常像素点,处于所述第二像素值范围的像素点为脏污像素点;所述预设的脏污等级划分规则包括至少两个像素点比值范围,以及与各像素点比值范围相对应的脏污等级,且像素点比值越大的像素点比值范围,对应的脏污等级越低:

由于太阳能电池板上的脏污处的颜色与太阳能电池板本身的颜色多少会有差异,即太阳能电池板本身的像素点的像素值与脏污的像素值之间有一定的差异,就可以通过这种差异来区分太阳能电池板上是否有脏污。本实施例中,脏污包括灰尘和污点,其中,污点相较于灰尘而言,通常为成区域性的点状物,比较容易观察。

光伏清洗机器人中的控制模块中预设有像素分类规则,该像素分类规则包括两个像素值范围,分别是第一像素值范围和第二像素值范围,而且,处于第一像素值范围的像素点定义为正常像素点(即没有脏污的像素点,也即太阳能电池板本身的像素点),处于第二像素值范围的像素点为脏污像素点。应当理解,第一像素值范围和第二像素值范围是两个不同的像素值范围。

根据第一太阳能电池板图像,按照预设的像素分类规则对第一太阳能电池板图像上的各个像素点进行分类,即将第一太阳能电池板图像上的各个像素点的像素值与第一像素值范围和第二像素值范围进行比较,确定各个像素点处于哪一个像素值范围,进而确定是正常像素点还是脏污像素点。本实施例中,在具体执行时,可以通过语义分割网络将第一太阳能电池板图像进行分割,并将图像分为表面和背景,脏污(污点和灰尘)作为背景,正常的(即没有脏污)作为表面,正常像素点标注为1,属于背景的像素点(即脏污像素点)标注为0。

获取属于正常像素点的正常像素点个数,由于各个正常像素点标注为1,则计算得到的1的个数,就可以得到正常像素点的正常像素点个数。相应地,就语音分割而言,分割得到的面积越大,表示太阳能电池板表面越干净。

然后,根据正常像素点个数以及第一太阳能电池板图像的总像素点个数,得到正常像素点比值。

光伏清洗机器人中的控制模块中还预设有脏污等级划分规则,该脏污等级划分规则包括至少两个像素点比值范围,以及与各像素点比值范围相对应的脏污等级。由于正常像素点比值越大,正常像素点在整个图像中的占比比较大,表示太阳能电池板表面越干净,那么,该脏污等级划分规则中,像素点比值越大的像素点比值范围,对应的脏污等级越低,比如:像素点比值范围[A1,A2)和[A2,A3],[A1,A2)对应的脏污等级为B1,[A2,A3]对应的脏污等级为B2,若A1小于A2,A2小于A3,则脏污等级B1高于脏污等级B2,即脏污等级B1对应的太阳能电池板比脏污等级B2对应的太阳能电池板要脏。

那么,将正常像素点比值输入至预设的脏污等级划分规则,确定正常像素点比值所处的像素点比值范围,进而确定与正常像素点比值相对应的目标脏污等级。本实施例中,在具体执行时,可以将语义分割得到的结果送入全连接FC层进行脏污等级分类,根据分割得到的电池板表面占总图像面积的比例信息通过FC得到脏污等级,损失函数采用均方差损失函数对FC层的参数进行更新,训练网络。

步骤S105:根据获取到的所述目标脏污等级,按照预设的清洗速度调节规则获取与所述目标脏污等级相对应的目标清洗速度;其中,所述预设的清洗速度调节规则包括至少两个脏污等级,以及与各脏污等级相对应的清洗速度,且脏污等级越高,对应的清洗速度越小:

光伏清洗机器人中的控制模块中预设有清洗速度调节规则,清洗速度调节规则包括至少两个脏污等级,以及与各脏污等级相对应的清洗速度,且脏污等级越高,对应的清洗速度越小。应当理解,清洗速度调节规则中的脏污等级与脏污等级划分规则中的脏污等级可以相同。由于脏污等级越高,表示太阳能电池板越脏,则需要较慢的清洗速度,使得能够提升清洗效果。本实施例中,清洗速度与光伏清洗机器人的运行速度相关,运行速度决定着清洗速度,运行速度越慢,清洗速度越慢,因此,清洗速度与运行速度为同一含义。

那么,根据获取到的目标脏污等级,按照预设的清洗速度调节规则获取与目标脏污等级相对应的目标清洗速度。

本步骤是对清洗前的太阳能电池板表面图像进行处理,以得到对应的清洗速度。

步骤S106:根据所述第二太阳能电池板图像,对所述第二太阳能电池板图像进行灰尘检测以及污点检测,确定所述清洗后的太阳能电池板的表面是否存在灰尘以及存在污点:

得到第二太阳能电池板图像之后,即得到清洗后的太阳能电池板表面图像之后,需要对其进行两种处理,分别是灰尘检测以及污点检测,确定清洗后的太阳能电池板的表面是否存在灰尘以及存在污点,进而后续可以根据两种不同的脏污情况进行对应的控制。

作为一个具体实施方式,以下给出根据第二太阳能电池板图像,对第二太阳能电池板图像进行灰尘检测以及污点检测,确定清洗后的太阳能电池板的表面是否存在灰尘以及存在污点的一种具体实现过程:

(1)获取第二太阳能电池板样本图像。应当理解,常见的污点只有几种,因此,为了实现能够在第二太阳能电池板样本图像中标注污点,第二太阳能电池板样本图像就需要涉及常见的几种污点。

(2)在第二太阳能电池板样本图像中标注污点(应当理解,可以通过相关的图像关键点标注工具在第二太阳能电池板样本图像中标注污点(也可以为人为标注)),标注得到的污点为对应像素的位置。并且,对第二太阳能电池板样本图像进行标注类别标签,其中,类别标签用于指示第二太阳能电池板样本图像是否有灰尘,比如:类别标签分为0和1,0表示清洗合格,即第二太阳能电池板样本图像没有灰尘,1表示清洗不合格,即第二太阳能电池板样本图像有灰尘,本实施例中,可以将类别标签转换为one-hot编码。

(3)将标注的第二太阳能电池板样本图像的污点与高斯核进行卷积,获取样本污点热力图,得到第二标签数据,其中,第二标签数据包括样本污点热力图和上述中的类别标签。

(4)将第二太阳能电池板样本图像以及第二标签数据输入到脏污提取网络中进行训练,得到脏污提取模型。

本实施例中,脏污提取网络包括共享编码器(Share Encoder)、第二编码器(Encoder2)、第二解码器(Decoder2)和全连接层(FC2)。作为一个具体实施方式,第二编码器和第二解码器可以结合GhostNet、MobileNetV3、ThunderNet等轻量级网络的block设计,以便更快速、更准确地对电池板表面进行检测。

那么,本实施例给出将第二太阳能电池板样本图像以及第二标签数据输入到脏污提取网络中进行训练,得到脏污提取模型的一种具体实现过程:

将第二太阳能电池板样本图像以及样本污点热力图进行归一化处理。应当理解,归一化处理之后,能够将图片矩阵的值域变为[0,1]之间的浮点数,以便更好地收敛。

通过第二太阳能电池板样本图像以及样本污点热力图,端到端地训练共享编码器、第二编码器和第二解码器,具体地:将归一化处理后的第二太阳能电池板样本图像输入至共享编码器中进行初步的特征提取,应当理解,输入至共享编码器中的数据为归一化处理后的第二太阳能电池板样本图像中的各个像素点的像素值。共享编码器输出给第二编码器进行特征提取,得到第二太阳能电池板样本图像的Feature map2,将Feature map2输入至第二解码器中进行上采样,最终生成污点初始热力图,即第二解码器的输出为污点初始热力图。

将样本污点热力图与污点初始热力图使用交叉熵损失函数进行热力图损失计算,得到污点提取模型。其中,污点提取模型训练过程中,热力图损失计算的损失函数为:

其中,Q

污点提取模型训练完成之后,训练全连接层(FC2),具体地:将第二编码器和第二解码器的参数冻结,共享编码器输出给全连接层进行分类,输出灰尘初始判断模型,并利用类别标签以及损失函数(均方差函数)对灰尘初始判断模型进行训练,不断更新灰尘初始判断模型内的参数,直至训练完成,得到灰尘判断模型。

那么,脏污提取模型包括污点提取模型和灰尘判断模型。因此,该脏污提取网络本质上为一个输入、两个输出的网络。

上述脏污提取网络的训练过程具有以下技术效果:全连接层的参数量极大,远远超过卷积网络Share Encoder,很容易使网络过拟合,使得网络在使用时准确率大大降低,因此引入污点检测分支,先训练该污点检测分支(即先训练第二编码器和第二解码器),因为该污点检测分支为参数量相差不大的卷积网络,网络不容易出现过拟合,可以使ShareEncoder得到充分训练,再利用训练后的Share Encoder作为初始化权重训练全连接分类分支(即全连接层),提高网络在使用时的准确率。

(5)将第二太阳能电池板图像输入到训练得到的脏污提取模型中,确定清洗后的太阳能电池板的表面是否存在灰尘以及存在污点。

其中,将第二太阳能电池板图像输入到训练得到的脏污提取模型中的污点提取模型中,确定第二太阳能电池板图像中是否存在污点,即清洗后的太阳能电池板的表面是否存在污点。而且,将第二太阳能电池板图像输入到训练得到的脏污提取模型中的灰尘判断模型中,确定第二太阳能电池板图像中是否存在灰尘,即清洗后的太阳能电池板的表面是否存在灰尘,本实施例中,经Share Encoder进行特征提取,将提取到的特征图拉直得到特征向量,送入全连接层输出每一个类别的概率,在经Argmax函数得到与灰尘相关的类别结果,即是否存在灰尘的结果。

应当理解,太阳能电池板上是否存在灰尘的检测过程还可以采用其他的实现过程,比如:通过检测太阳能电池板的实际输出功率与应当输出功率进行比较,若实际输出功率与应当输出功率之间相差较大,表示太阳能电池板上存在灰尘。而且,由于灰尘与污点的区别在于:污点的个数通常不多,在整个太阳能电池板上的分布通常不均匀,只有零星存在于几个位置,而灰尘的分布比较均匀,而且面积通常比较大,因此,还可以采用以下具体的灰尘检测过程:

按照上文中的预设的像素分类规则对第二太阳能电池板图像上的各个像素点进行分类,获取属于脏污像素点的脏污像素点个数,比较脏污像素点个数与预设脏污像素点个数阈值,若脏污像素点个数大于或者等于预设脏污像素点个数阈值,表示脏污像素点的个数比较多,则判定清洗后的太阳能电池板的表面存在灰尘;相应地,若脏污像素点个数小于预设脏污像素点个数阈值,则判定清洗后的太阳能电池板的表面不存在灰尘。

而且,太阳能电池板上是否存在污点也可以采用其他的检测过程,比如:获取没有污点的太阳能电池板的图像,可以将该没有污点的太阳能电池板的图像裁剪为与第二太阳能电池板图像相同尺寸,将第二太阳能电池板图像以及该没有污点的太阳能电池板的图像进行二值化,然后进行比对,确定这两个图像是否一样,若不同,则判定有污点;或者,由于污点与太阳能电池板的颜色有很大的差异,则预先获知污点的像素值,并获取第二太阳能电池板图像的各个像素点的像素值,将污点的像素值与第二太阳能电池板图像的各个像素点的像素值进行比对,若第二太阳能电池板图像的各个像素点中存在预设个数个与污点的像素值的误差值处于预设范围内的像素点,则判定第二太阳能电池板图像中存在污点。

作为一个具体实施方式,在根据第二太阳能电池板图像,对第二太阳能电池板图像进行灰尘检测以及污点检测之前,还可以对第二太阳能电池板图像进行裁剪,裁剪得到的第二太阳能电池板图像的长度为目标清洗速度乘以第二太阳能电池板图像的图像采样周期,设定目标清洗速度为V,第二太阳能电池板图像的图像采样周期为T,则裁剪得到的第二太阳能电池板图像的长度为V*T,宽度为太阳能电池板的宽度。后续中,对裁剪得到的第二太阳能电池板图像进行灰尘检测以及污点检测。

步骤S107:若所述清洗后的太阳能电池板的表面存在灰尘且存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第一清洗速度;若所述清洗后的太阳能电池板的表面不存在灰尘且存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第二清洗速度;若所述清洗后的太阳能电池板的表面存在灰尘且不存在污点,则控制所述光伏清洗机器人后退进行再次清洗,且清洗速度为第三清洗速度;其中,所述第一清洗速度小于所述第二清洗速度,所述第二清洗速度小于所述第三清洗速度:

根据清洗后的太阳能电池板的表面是否存在灰尘以及是否存在污点,对光伏清洗机器人进行相应的控制。其中,若清洗后的太阳能电池板的表面存在灰尘且存在污点,表示清洗后的太阳能电池板的表面仍旧比较脏,则控制光伏清洗机器人后退进行再次清洗,且清洗速度为第一清洗速度;若清洗后的太阳能电池板的表面不存在灰尘且存在污点,即只有污点没有灰尘,由于污点相对于灰尘而言,比较难清洗,则控制光伏清洗机器人后退进行再次清洗,且清洗速度为第二清洗速度;若清洗后的太阳能电池板的表面存在灰尘且不存在污点,即只有灰尘没有污点,则控制光伏清洗机器人后退进行再次清洗,且清洗速度为第三清洗速度。应当理解,当清洗后的太阳能电池板的表面同时仍存在灰尘和污点时,表示仍旧比较脏,则控制以一个非常小的清洗速度进行清洗,能够有效地进行脏污清洗;当清洗后的太阳能电池板的表面只有污点没有灰尘,由于污点相对于灰尘而言,比较难清洗,则控制以一个比较小的清洗速度进行清洗,能够有效地进行污点清洗;当清洗后的太阳能电池板的表面只有灰尘没有污点时,灰尘比较容易清洗,则控制以一个较大的清洗速度进行清洗,能够有效地进行灰尘清洗,还能够提升清洗效率。因此,第一清洗速度小于第二清洗速度,第二清洗速度小于第三清洗速度,而第一清洗速度、第二清洗速度和第三清洗速度的具体数值由实际需要进行人为设定。另外,在控制光伏清洗机器人后退进行再次清洗时,后退的距离由实际情况进行设置,比如设定为后退到太阳能电池板的边沿,即对已清洗的太阳能电池板全部进行重新清洗,进一步地,若是对裁剪后的第二太阳能电池板图像进行灰尘检测以及污点检测,则后退距离为裁剪得到的第二太阳能电池板图像的长度。

另外,若清洗后的太阳能电池板的表面不存在灰尘且不存在污点,则不控制光伏清洗机器人后退进行再次清洗,光伏清洗机器人正常向前运行即可。

应当理解,光伏清洗机器人在清洗过程中实时采集未清洗以及已清洗的电池表面,不断根据脏污程度实时调控清洗速度。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种基于计算机视觉的光伏清洗机器人清洗速度调节方法
  • 一种光伏板清洗机器人的行走轮结构及光伏板清洗机器人
技术分类

06120112171905