1.本发明涉及目标定位技术领域,尤其是涉及一种基于空间感知的场景自适应目标定位方法和系统。
背景技术:2.风力发电技术在经过了多年的高速发展后,市场已经变得十分庞大。据统计,目前在运行发电的风机已经超过七万台,即有超过20万支叶片在运行发电。而这些叶片中,每年约有0.05%的叶片会由于各种原因出现断裂损毁事故。所有叶片在批量化生产前,都必须经过各种实验,并取得相关资质认证。因此只要没有重大质量缺陷,叶片挂机运行前期都是不会出现断裂事故的。但是,叶片运行一旦进入中期,在反复的疲劳载荷作用下,叶片制作时残留的制造缺陷就会展现出来,很多叶片开始出现局部开裂、分层等的问题。
3.风力发电机的叶片在超速运转情况下,会对主轴产生较大的拉剪应力,其中,主轴上的螺栓承受了最大的动态载荷。为了预防事故的发生,需要对这些螺栓周围的区域进行监控,因此,准确定位螺栓就变得异常重要。
4.由于风力发电机内部的环境是多变且易变的,例如光照条件,油污遮挡等,因此通过图像分割、纹理提取、纹理信息聚类等传统的图像处理方法对螺栓进行定位是难以实现的。目前针对这类问题,深度学习模型具有相当的竞争力,和传统的图像处理方法相比也有更好的表现。但是,不同的风机环境下所获得的图像数据也大不相同,由于很难从每台风机上获得大量数据来训练模型,因此模型的泛用性和鲁棒性十分局限。
技术实现要素:5.本发明的目的就是为了克服上述现有技术存在在真实的商业项目中,从每台风力发电机上获得大量图像数据用于训练一个深度学习模型通常是不可能的,因此仅依靠深度学习模型来定位螺栓的位置是不可靠的的缺陷而提供一种基于空间感知的场景自适应目标定位方法和系统,能够在通用的深度学习模型基础上,让模型根据不同的风机环境进行自适应学习,进一步增加其兼容性和鲁棒性。
6.本发明的目的可以通过以下技术方案来实现:
7.一种基于空间感知的场景自适应目标定位方法,包括:获取当前场景的目标图像,并载入预先构建并训练好的深度学习模型中,获取目标定位结果,所述场景自适应目标定位方法还包括以下步骤:
8.预先根据深度学习模型先前输出的目标定位结果,获取目标中心点二次曲线和检测框尺寸的高斯分布曲线;
9.实时获取当前场景的目标图像,在该目标图像中,根据预设的目标分布规律,从所述目标中心点二次曲线中获取假定目标中心点组合,根据该假定目标中心点组合从所述检测框尺寸的高斯分布曲线中获取对应的假定检测框组合,通过预设的能量函数计算所述假定检测框组合的分值;
10.在所述目标中心点二次曲线中选取多个假定目标中心点组合,计算所述分值,选取分值最高的假定目标中心点组合和对应的假定检测框组合,作为目标的辅助定位结果;
11.将所述辅助定位结果和对应的目标图像反馈给所述深度学习模型,进行参数调整,采用参数调整后的所述深度学习模型进行下一时刻的目标定位。
12.进一步地,所述能量函数为:检测框内的平均像素值和检测框周围的平均像素值之间的偏差的绝对值。
13.进一步地,所述目标中心点二次曲线的获取具体为:以深度学习模型先前输出的目标定位结果中的目标中心点坐标作为采样点,进行二次曲线拟合,获得所述目标中心点二次曲线。
14.进一步地,采用最小二乘法进行所述二次曲线拟合。
15.进一步地,所述二次曲线拟合的拟合函数为:
16.y=ax2+bx+c
17.式中,x和y分别是目标中心点的横坐标和纵坐标,a、b和c是拟合曲线的目标参数。
18.进一步地,所述检测框尺寸的高斯分布曲线的获取具体为:根据深度学习模型先前输出的目标定位结果中的检测框尺寸,采用贝叶斯统计方式,统计检测框尺寸根据目标中心点坐标的分布,得到所述检测框尺寸的高斯分布曲线。
19.进一步地,所述目标图像包含多个螺栓,所述深度学习模型用于定位所述目标图像中的螺栓;
20.在所述目标中心点二次曲线中选取多个假定目标中心点组合,计算所述分值具体为:在所述目标图像中建立2维笛卡尔坐标,从x轴的坐标零点开始,每次向右平移m个像素值,根据目标分布规律选取假定目标中心点组合,计算所述分值,直至达到预设的停止条件。
21.进一步地,所述目标分布规律为螺栓之间等间距设置,则第i颗螺栓的中心点横坐标为x+i*w/n,其中,1<i≤n,x为第一颗螺栓的中心点横坐标,n为目标图像中螺栓的个数,w为目标图像的宽度。
22.进一步地,所述场景自适应目标定位方法还包括:对所述目标图像中的感兴趣区域进行划分,在所述感兴趣区域中选取所述假定目标中心点组合,计算所述分值。
23.本发明还提供一种基于空间感知的场景自适应目标定位系统,包括存储器和处理器,所述存储器存储有计算机程序,处理器调用所述计算机程序执行如上所述的方法的步骤。
24.与现有技术相比,本发明具有以下优点:
25.(1)目前在目标定位问题中使用的深度学习算法不仅需要大量数据训练模型,而且对环境的变化十分敏感,光照变化、遮挡等因素都会对目标的定位造成极大的误差。另外,在真实的商业项目中,拿到大量带有标签的数据通常是不可能的,在这种情况下,训练深度神经网络往往会出现过拟合的现象。
26.本发明设计的基于空间感知的场景自适应学习算法,将图像处理方法和深度学习算法进行融合,可以基于空间感知技术对不同场景图片中的目标物体进行自动标注;图像处理方法减小了环境变化对算法带来的影响,增加了算法整体的鲁棒性;同时,其结果反馈给深度学习模型,针对不同场景来微调模型网络,增强了算法的准确性和泛用性。
27.(2)根据风力发电机叶片运行时螺栓的运动特征,本发明使用最小二乘法和基于马尔科夫链蒙特卡洛的贝叶斯统计法,得到了螺栓平行移动所在的二次曲线和螺栓尺寸相对图像横坐标的高斯分布曲线,并利用这两条曲线进行模板匹配,从而得到图片中螺栓的具体位置;相较于深度学习算法,基于空间感知技术的该方法受到的环境影响更小、鲁棒性和准确性更高。
28.(3)本发明对获得的结果进行自动标注,并反馈给深度学习模型,针对不同场景来微调模型网络,实现算法的场景自适应学习;和目前使用的通过收集大量不同场景图片数据进行训练的深度学习算法相比,本发明拥有更强的泛用性,且能够节省更多的人力物力。
附图说明
29.图1为本发明实施例中提供的一种基于空间感知的场景自适应目标定位方法的流程示意图;
30.图2为本发明实施例中提供的一种螺栓中心点二次曲线拟合图;
31.图3为本发明实施例中提供的一种检测框尺寸的高斯分布曲线图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
33.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.实施例1
35.本实施例提供一种基于空间感知的场景自适应目标定位方法,包括:获取当前场景的目标图像,并载入预先构建并训练好的深度学习模型中,获取目标定位结果,场景自适应目标定位方法还包括以下步骤:
36.预先根据深度学习模型先前输出的目标定位结果,获取目标中心点二次曲线和检测框尺寸的高斯分布曲线;
37.实时获取当前场景的目标图像,在该目标图像中,根据预设的目标分布规律,从目标中心点二次曲线中获取假定目标中心点组合,根据该假定目标中心点组合从检测框尺寸的高斯分布曲线中获取对应的假定检测框组合,通过预设的能量函数计算假定检测框组合的分值;
38.在目标中心点二次曲线中选取多个假定目标中心点组合,计算分值,选取分值最高的假定目标中心点组合和对应的假定检测框组合,作为目标的辅助定位结果;
39.将辅助定位结果和对应的目标图像反馈给深度学习模型,进行参数调整,采用参数调整后的深度学习模型进行下一时刻的目标定位。
40.能量函数为:检测框内的平均像素值和检测框周围的平均像素值之间的偏差的绝
对值。
41.目标中心点二次曲线的获取具体为:以深度学习模型先前输出的目标定位结果中的目标中心点坐标作为采样点,进行二次曲线拟合,获得目标中心点二次曲线。
42.检测框尺寸的高斯分布曲线的获取具体为:根据深度学习模型先前输出的目标定位结果中的检测框尺寸,采用贝叶斯统计方式,统计检测框尺寸根据目标中心点坐标的分布,得到检测框尺寸的高斯分布曲线。
43.本实施例中采用上述基于空间感知的场景自适应目标定位方法用于螺栓的定位,如图1所示,具体包括以下步骤:
44.s1:使用python做为编程语言,利用opencv进行图像的io读取以及基础的图像处理函数,利用numpy做为主要矩阵运算库函数。
45.s2:首先制作数据集,当风力发电机的叶片运行时,位于叶片主轴正上方的摄像头实时采集图像数据。
46.s3:利用opencv读取原始图像,并用通用的深度学习模型对数据集中的螺栓进行初步定位。
47.s4:使用注意力机制,在集中关注位于前景的螺栓图像信息的同时,减少背景图像信息。
48.具体地,为了增加对螺栓定位的准确性,本实施例使用注意力机制,在集中关注位于前景图像信息的同时,减少噪声图像信息。具体划分注意力区域的方法如下:在风力发电机运行时,通过叶片主轴正上方的摄像头实时抓取图像数据,利用通用的深度学习模型对图片中感兴趣区域进行语义描述,并对序列数据进行自学习分析。根据2维平面建立roi(感兴趣)区域的笛卡尔坐标,可对其中数据类型做相应的归一化操作。
49.本实施例中的注意力机制使得从风力发电机内部的实际场景获取的目标图像中,获取的roi区域集中关注位于前景的螺栓图像信息。
50.s5:对步骤s3得到的结果(包括螺栓中心点的坐标以及检测框的宽和高)进行统计分析。以所有螺栓中心点坐标作为采样点,用最小二乘法进行二次曲线拟合,得到螺栓平行移动所在的曲线;用基于马尔科夫链蒙特卡洛方法的贝叶斯统计来估计螺栓中心点坐标对应的检测框尺寸。
51.具体地,由于深度学习模型对环境的变化比较敏感,本实施例融入了图像处理方法及相关专家知识来减少算法的错误定位。风力发电机的叶片运行时,主轴绕叶片骨架旋转,而摄像头与叶片骨架保持相对静止状态。从摄像头获取的图像数据中可以观察得出,所有roi区域都在一条二次曲线上平行移动,不发生旋转或者大小变化。因此我们选择模板匹配的方法对螺栓进行精确的重定位。
52.为此需要得到螺栓平行移动所在的二次曲线,以及螺栓中心点坐标对应的螺栓检测框尺寸。本实施例使用通用的深度学习模型对摄像头收集的所有图像数据进行检测,然后对结果(包括螺栓中心点的坐标以及检测框的宽和高)进行统计分析。以所有螺栓中心点坐标作为采样点,用最小二乘法进行二次曲线拟合,拟合函数表达式如下:
53.y=ax2+bx+c
54.式中,x和y分别是螺栓中心点的横坐标和纵坐标,a、b和c是拟合曲线的目标参数。由于摄像头存在固有的透视失真,因此使用贝叶斯统计方式可以观察到螺栓检测框的尺寸
大小呈现高斯分布,即图片横轴中间部分的螺栓检测框尺寸较大,向左右两侧逐渐下降。理论上说,用于统计的图片数量越多,拟合的二次曲线越准确,检测框尺寸的高斯分布曲线也更连续,但是实际项目中往往难以获得如此大量的图片数据,于是本实施例用基于马尔科夫链蒙特卡洛方法的贝叶斯统计来估计螺栓中心点坐标对应的检测框尺寸。由此,算法可以自动得到每台风机模板匹配所需的,螺栓平行移动所在的二次曲线和螺栓尺寸相对图像横坐标的高斯分布曲线。
55.图2展示了以所有螺栓中心点坐标作为采样点,用最小二乘法进行拟合后的二次曲线。图中的矩形框是深度学习模型识别出的螺栓,本实施例将所有的识别结果集中绘制在一张图上,并对其中心点坐标进行拟合,中间的曲线就是拟合结果。
56.图3是螺栓尺寸相对原始图片横坐标的高斯分布曲线,x轴为摄像头采集的图像数据的横轴坐标,y轴则是螺栓检测框尺寸。由图3可知,原始图片横轴中间部分的螺栓检测框尺寸较大,向左右两侧逐渐下降。
57.s6:设计一个能量函数,并用模板匹配的方法准确定位所有螺栓的位置。
58.具体地,模板匹配算法方面,本实施例设计了一个能量函数,相较于单纯使用深度学习模型进行螺栓定位,模板匹配的结果有更优秀的表现。
59.摄像头获取的图片的宽和高分别为w、h,一张图片内可容纳n个螺栓,假设螺栓之间是等间距的,那么一个螺栓可左右移动的范围是w/n。也就是说,如果图片最左侧的螺栓(定义为第一颗螺栓)的中心点横坐标为x,那么第i(1<i≤n)颗螺栓的中心点横坐标为x+i*w/n,根据n个螺栓的中心点横坐标和步骤s5中的算法,可以得到这n个螺栓中心点的纵坐标和螺栓的尺寸。从x轴的坐标零点开始,每次向右平移m个像素值,使用能量函数计算n个目标的分数并求和,总分数最高的n个目标即为n个螺栓。
60.算法中使用的能量函数,是目标检测框内的平均像素值和检测框周围的平均像素值之间的偏差的绝对值,定义为目标的分数,绝对值越大,分数越高。
61.s7:将通用的深度学习模型作为预训练模型,把模板匹配的结果反馈给模型网络,对模型进行微调,实现模型对于不同场景的自适应学习。
62.本实施例还提供一种基于空间感知的场景自适应目标定位系统,包括存储器和处理器,所述存储器存储有计算机程序,处理器调用所述计算机程序执行如上所述的基于空间感知的场景自适应目标定位方法的步骤。
63.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。