一种基于视觉算法的机器人巡检点位智能配置方法
技术领域
本发明涉及智能机器人技术领域,具体涉及一种基于视觉算法的机器人巡检点位智能配置方法。
背景技术
随着"泛在电力物联网"的发展,电力智能化产品越来越受青睐。配电房智能挂柜式巡检机器人解决了运维人员一站一人的资源投入,提高了配电房的数字化程度和全方位监控的智能化水平。该该智能机器人可设置巡检周期,且巡检报告实时传递到监控室。若发现设备存在隐患,工作人员便能第一时间通过后台报警发现问题并及时排查故障。
实现上述功能的前提是需要预先配置每个待识别设备的巡检点位,目前配置巡检点位的方式基本上采用人工配置,即人为控制机器人到每一个待识别设备的对面,通过高清视频观察设备并微调机器人使得设备居于视频中间,保存此时机器人的位姿。若配置300个设备的巡检点位,一个工程师需要进行勘察、遥控机器人、输入点位名称、保存点位信息等操作,需要10小时左右,人力成本较高且效率较低,而智能配点只需2小时左右即可完成。
本发明涉及到的术语解释:
配点:机器人在自主巡检之前需要预先设置巡检点位,配置好后机器人才能按照这些预设点位进行自主巡检。
伺服标定数据:将图像单位像素转换为脉冲的比例数据,如利用该数据可将2000个像素转换为3000脉冲。
发明内容
本发明提出的一种基于视觉算法的机器人巡检点位智能配置方法,可解决目前配置巡检点位的方式基本上采用人工配置,成本较高效率较低的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种基于视觉算法的机器人巡检点位智能配置方法,基于配电站房挂轨式巡检机器人,所述配电站房挂轨式巡检机器人上设置相机,机器人在运行过程中,相机以时间间隔T进行拍照,对配电站房挂轨式巡检机器人的配点步骤如下:
S100、获取巡检机器人的初始数据;
S200、控制巡检机器人按照设定规则运动;
S300、在巡检机器人运动过程中,获取相机所拍摄的每一帧图像进行拼接得到配电柜面全景图,利用深度模型进行目标检测,得到配电柜上状态指示设备的像素坐标;
S400、利用离线标定的伺服数据将像素坐标转换为设备在机器人运动坐标系下位于视频中心的脉冲坐标;
S500、显示检测出的状态指示设备信息及对应的脉冲坐标,并人工核查。
进一步的,所述S100中的巡检机器人的初始数据包括:机器人的始末位置P1和P2。
进一步的,所述步骤S200中的巡检机器人的运动规则包括机器人的水平移动距离w、竖直升降的距离h及运动速度V。
进一步的,所述步骤S300中的深度模型的建立步骤包括训练阶段和测试阶段;
其中训练阶段步骤包括:
Step1.1、收集各类状态指示设备的高清样本,每类样本为N张,70%用于训练,30%用于验证;
Step1.2、对每类样本进行标注,采用VOC格式进行矩形框标记;
Step1.3、对样本进行图像增强处理方式进行样本扩充,使得测试样本增加到原来的5倍;
Step1.4、设置参数并基于目标检测算法训练模型进行训练,得到模型M;
其中测试阶段步骤包括:
Step2.1、对验证样本同样进行增强,扩充到原来的3倍;
Step2.2、读入每一张验证样本及其标签,调用模型M进行预测和评估,输出每张验证图的效果图、每类设备的平均精度和识别时间;
Step2.3、根据测试结果,制定调参策略,继续训练和测试,得到设定精度则结束,输出设定模型供在线检测调用。
进一步的,所述步骤S300中获取相机所拍摄的每一帧图像进行拼接得到配电柜面全景图,具体步骤如下:
Step3.1.1对于前后两帧图像I1、I2,分别进行SURF(Speeded UpRobustFeatures)特征点提取,得到对应点集S1和S2;
Step3.1.2对点集S1和S2进行匹配,采用K-近邻算法(KNN)和双向匹配对S1和S2进行筛选,提取优质匹配点对S1’和S2’;
Step3.1.3利用随机采样一致性算法(RANSAC)计算得到投影矩阵H21,利用式(1)将后一帧图像I2投影到前一帧图像I1空间得到转换后I2’;
I2’=H21*I2 (1)
Step3.1.4计算到图像I1、I2中最强的匹配点对所在的位置,通过投影矩阵H得到图像I2的最强匹配点在I2’中的位置,衔接两幅图像得到拼接后的图像I;并利用I2’和H21记录I中对应于I1、I2拼接部分的图像索引Ij1、Ij2,即
Ij1={Iroi|R1’(X=xI,Y=yI,W=wI,H=hI,Pw=pw,Ph=ph),R1(X=xI1,Y=yI1,W=wI1,H=hI1,Pw=pw1,Ph=ph1)}(2)
Ij2={Iroi|R2’(X=xI,Y=yI,W=wI,H=hI,Pw=pw,Ph=ph),R2(X=xI2,Y=yI2,W=wI2,H=hI2,Pw=pw2,Ph=ph2)} (3)
其中,R图像区域,R中的X、Y、W、H分别为图像的水平像素坐标、垂直像素坐标、像素宽度和像素高度,Pw和Ph为拍图像时机器人的水平、垂直脉冲值。R’为R拼接后的区域;
Step3.1.5在机器人拍到第三幅图像I3后,采用Step3.1.1至Step3.1.4的拼接方法,对图像I和I3进行拼接,即每次新拍图进一步拼接到前次已拼接的图上;
Step3.1.6机器人运行过程中持续拍图,重复Step3.1.1至Step3.1.5,不断将下一帧图像拼入,并进行整柜判断,判断方法如下:
Step3.1.6.1将RGB图像Irgb转换到HSV空间得到图像Ihsv,根据采样的柜面HSV值,对Ihsv进行二值化处理,得到分离出柜面区域的二值化图像Ibin,白色区域为柜面,非柜面区域为黑色;
Step3.1.6.2对Ibin进行形态学开运算以去除噪声、消除小物体,统计白色像素面积是否在整个柜面的面积阈值范围内,且该部分区域在继续拼接过程中面积增加小于阈值,则认为整个柜面已被分割出来,得到拼接完成的信息,包括整张柜面图IA及对应的索引图像信息集合Ij={Ij1,Ij2,...,Ijn}其中,n为检索图像总数;
Step3.1.7对IA进行待识别设备检测;
利用模型M,采用目标检测算法进行识别,得到每个设备的识别信息:
D={d1,d2,...,dm|di={xi,yi,ci},i=1,2,3,....,m} (4)
其中,m为所识别出的设备总数,x、y为设备中心的水平和垂直像素坐标,c为设备的类别。
进一步的,所述步骤S400中利用离线标定的伺服数据将像素坐标转换为设备在机器人运动坐标系下位于视频中心的脉冲坐标;
具体步骤包括:
Step4.1根据每个设备的识别信息di在Ij中搜索所述区域,并根据索引将di的坐标转换到拼接前的图像坐标中得到属于原图的设备坐标:
D’={d1’,d2’,...,dm’|di’={xi’,yi’,ci’},i=1,2,3,....,m} (5)
Step4.2原始图像离线标定的脉冲和像素的转换关系如下:
ΔPw=β*Δx (6)
ΔPh=α*Δy (7)
其中,ΔPw为水平脉冲变化量,β为脉冲和像素的转换关系,Δx为水平像素值变化量;ΔPh、α、Δy含义类似;
Step4.3利用式(5)至(7)可得每个设备的配点信息:
Pwi’=Pwi+β*(Cx-xi’) (8)
Phi’=Phi+α*(Cy-yi’) (9)
其中,Pwi’为第i个设备所配的水平脉冲位置,Pwi第i个设备所属原图拍摄时所记录的机器人的水平脉冲值,Cx为一帧图像的水平中心坐标;Pwi’、Pwi、Cy含义类似;
Step4.4由式(8)、(9)得到所有待识别设备的配点信息集合Ps={Pwi’,Phi’|i=1,2,3,....,m}并提供给配置工具。
进一步的,所述目标检测算法采用YOLO V3、Fast RCNN、FasterRCNN、Mask RCNN、SSD中的一种。
由上述技术方案可知,本发明的基于视觉算法的机器人巡检点位智能配置方法通过采用图像拼接技术,获得全景柜面图像,基于深度学习的目标识别技术,进行配电设备检测,囊括了所有待识别类型,进而通过脉冲和图像像素转换关系标定方法,实现了巡检机器人智能配点流程及方法。
本发明可提升配电房巡检机器人配点的智能化程度、降低人工成本和提升实施效率。
附图说明
图1是本发明的方法流程图;
图2是本发明的原理框图;
图3是本发明实施例基于配电柜的机器人运动轨迹示意图;
图4是本发明实施例关于位置坐标与图像像素之间转换设计的标定界面示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1和图2所示,本实施例所述的基于视觉算法的机器人巡检点位智能配置方法,基于配电站房挂轨式巡检机器人,所述配电站房挂轨式巡检机器人上设置相机;
其中对配电站房挂轨式巡检机器人的智能配点步骤如下:
S100、获取巡检机器人的初始数据;
S200、控制巡检机器人按照设定规则运动;
S300、在巡检机器人运动过程中,获取相机所拍摄的每一帧图像进行拼接得到配电柜面全景图,利用深度模型进行目标检测,得到配电柜上状态指示设备的像素坐标;
S400、利用离线标定的伺服数据将像素坐标转换为设备在机器人运动坐标系下位于视频中心的脉冲坐标;
S500、显示检测出的设备信息及对应的脉冲坐标,并人工核查。
其中,步骤S300中的深度模型的建立包括训练阶段和测试阶段,具体如下:
1、训练阶段:
Step1收集数码表、指针表、指示灯、压板等高清样本,每类样本为N张,70%用于训练,30%用于验证。
Step2对每类样本进行标注,采用VOC格式进行矩形框标记。
Step3对样本进行增强,如采用仿射变换、改变对比度、加噪等图像处理方式进行样本扩充,使得测试样本增加到原来的5倍。
Step4设置参数,主要调整为图像大小、学习率、迭代周期等,并基于YOLO V3的预训练模型进行训练,得到模型M。
2、测试阶段:
Step1对验证样本同样进行增强,扩充到原来的3倍。
Step2读入每一张验证样本及其标签,调用模型M进行预测和评估,输出每张验证图的效果图、每类设备的平均精度和识别时间。
Step3根据测试结果,制定调参策略,继续训练和测试,得到理想精度则借宿,输出理想模型供在线检测调用。
以下结合附图对本发明实施例的应用具体说明:
Step1:初始化参数。为了机器人高清视频能够遍历全部如图3中1所示的柜面,以免漏拍设备和多拍无用区域,因此需要设置机器人开始配点的始末位置P1和P2,以及控制机器人的水平移动距离w和竖直升降的距离h。如此,则确定了机器人的运动规则,如果图3中4所示的轨迹。还需设置运动速度V和截图间隔T。
Step2:机器人按照图3中4所示的轨迹以速度V运行,并以时间间隔T进行拍图,保存到固定目录F下。
Step3:识别程序不断检索F目录下的生成的图像,提取并进行图像识别来获取各个待识别设备的信息,主要包括了以下核心步骤:
Step3.1:对于连续拍摄的图像,采用图像拼接和分割技术,得到如图3中1所示的单个完整柜子,主要步骤如下:
Step3.1.1对于前后两帧图像I1、I2,分别进行SURF(Speeded Up RobustFeatures)特征点提取,得到对应点集S1和S2。
Step3.1.2对点集S1和S2进行匹配,采用K-近邻算法(KNN)和双向匹配对S1和S2进行筛选,提取优质匹配点对S1’和S2’。
Step3.1.3利用随机采样一致性算法(RANSAC)计算得到投影矩阵H21,利用式(1)将后一帧图像I2投影到前一帧图像I1空间得到转换后I2’。
I2’=H21*I2 (1)
Step3.1.4计算到图像I1、I2中最强的匹配点对所在的位置,通过投影矩阵H得到图像I2的最强匹配点在I2’中的位置,衔接两幅图像得到拼接后的图像I。并利用I2’和H21记录I中对应于I1、I2拼接部分的图像索引Ij1、Ij2,即
Ij1={Iroi|R1’(X=xI,Y=yI,W=wI,H=hI,Pw=pw,Ph=ph),R1(X=xI1,Y=yI1,W=wI1,H=hI1,Pw=pw1,Ph=ph1)} (2)
Ij2={Iroi|R2’(X=xI,Y=yI,W=wI,H=hI,Pw=pw,Ph=ph),R2(X=xI2,Y=yI2,W=wI2,H=hI2,Pw=pw2,Ph=ph2)} (3)
其中,R图像区域,R中的X、Y、W、H分别为图像的水平像素坐标、垂直像素坐标、像素宽度和像素高度,Pw和Ph为拍图像时机器人的水平、垂直脉冲值。R’为R拼接后的区域。
Step3.1.5在机器人拍到第三幅图像I3后,采用Step3.1.1至Step3.1.4的拼接方法,对图像I和I3进行拼接,即每次新拍图进一步拼接到前次已拼接的图上。
Step3.1.6机器人运行过程中持续拍图,重复Step3.1.1至Step3.1.5,不断将下一帧图像拼入,并进行整柜判断,判断方法如下:
Step3.1.6.1将RGB图像Irgb转换到HSV空间得到图像Ihsv,根据采样的柜面HSV值,对Ihsv进行二值化处理,得到分离出柜面区域的二值化图像Ibin,白色区域为柜面,非柜面区域为黑色。
Step3.1.6.2对Ibin进行形态学开运算以去除噪声、消除小物体,统计白色像素面积是否在整个柜面的面积阈值范围内,且该部分区域在继续拼接过程中面积增加小于阈值,则认为如图3中1所示的整个柜面已被分割出来,得到拼接完成的信息,包括整张柜面图IA及对应的索引图像信息集合Ij={Ij1,Ij2,...,Ijn}其中,n为检索图像总数。
Step3.1.7对IA进行待识别设备检测。收集待识别设备样本,采用YOLO V3进行训练、识别,得到每个设备的识别信息:D={d1,d2,...,dm|di={xi,yi,ci},i=1,2,3,....,m} (4)
其中,m为所识别出的设备总数,x、y为设备中心的水平和垂直像素坐标,c为设备的类别(如指针表、压板、数码表等)。
Step4识别信息D结合Ij可得到每个设备的配点信息,主要步骤如下:
Step4.1根据每个设备的识别信息di在Ij中搜索所述区域,并根据索引将di的坐标转换到拼接前的图像坐标中得到属于原图的设备坐标:D’={d1’,d2’,...,dm’|di’={xi’,yi’,ci’},i=1,2,3,....,m} (5)
Step4.2原始图像离线标定的脉冲和像素的转换关系如下:
ΔPw=β*Δx (6)
ΔPh=α*Δy (7)
其中,ΔPw为水平脉冲变化量,β为脉冲和像素的转换关系,Δx为水平像素值变化量;ΔPh、α、Δy含义类似。
Step4.3利用式(5)至(7)可得每个设备的配点信息:
Pwi’=Pwi+β*(Cx-xi’) (8)
Phi’=Phi+α*(Cy-yi’) (9)
其中,Pwi’为第i个设备所配的水平脉冲位置,Pwi第i个设备所属原图拍摄时所记录的机器人的水平脉冲值,Cx为一帧图像的水平中心坐标;Pwi’、Pwi、Cy含义类似。
Step4.4由式(8)、(9)可得所有待识别设备的配点信息集合Ps={Pwi’,Phi’|i=1,2,3,....,m}并提供给配置工具。所配点位以机器人运行到位后设备在视频中心为目的,由于标定误差、机器人运动误差,可能实际略偏中心,但是不影响后续状态识别。
对于上述步骤S400ZHONG利用离线标定的伺服数据将像素坐标转换为设备在机器人运动坐标系下位于视频中心的脉冲坐标;
本实施例的具体步骤如下:
机器人位置脉冲值和图像像素值之间的转换关系如式(6)、(7)所示,本例中不同度量之前的转换关系可以通过一种标定方法来确定转换系数。设计标定软件界面如图4所示。
主要功能及操作说明:
Step1制作一张带有标志的白纸,如图4所示,中心画一“十”字标注。
Step2连接机器人、相机,旋转角度置0。
Step3设置相机变倍,如初始变倍10。
Step4控制机器人水平、垂直运动使得标志物在相机视野中心,鼠标双击标志物中心,输出坐标至“初始图像坐标”。
Step5控制机器人水平、垂直运动1000pluse,再鼠标双击标志物中心,输出坐标至“结束图像坐标”。
Step6点击“计算标定参数”按钮,显示在该变倍下的标定结果并记录。
对于所有变倍,重复上Step3~6即可,输出参数配置文件。所标定的参数即为在每个变倍下,机器人移动位移和图像目标像素位移的关系,用于实施时实现伺服控制。
综上,本发明实施例在使用时通过以下步骤:
1、配置工具下发指令,机器人开启按照预定规则进行运动,同时开始视觉识别。
2、视觉识别模块调用机器人所拍摄的每一帧图像进行拼接得到柜面全景图,利用深度模型进行目标检测,得到设备的像素坐标,利用离线标定的伺服数据将像素坐标转换为设备在机器人运动坐标系下位于视频中心的脉冲坐标。
3、识别模块将识别出来的设备信息,包括巡检点位、设备类型等,返回给配置工具。
4、配置工具根据识别模块返回的信息,利用设备类型及脉冲位置剔除重复识别的设备。
5、重复1~4直至全部设备的巡检点位配置完成。
本发明实施例可提升配电房巡检机器人配点的智能化程度、降低人工成本和提升实施效率。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。