一种基于自动定位的对开式刀闸开合角度检测方法
技术领域
本发明涉及图像识别技术领域,特别涉及一种基于自动定位的对开式刀闸开合角度检测方法。
背景技术
刀闸是高压开关电器中使用次数非常频繁的一种电器,在电路中起隔离作用。在实际应用中,由于刀闸的长期运转,会出现刀闸开合不到位的情形,该情形会导致刀闸的左右刀闸臂之间产生电弧。电弧是一种气体放电现象,电流通过某些绝缘介质产生的瞬间火花可能,会造成火灾或威胁人身安全;此外,电弧温度极高,容易把绝缘材料烧毁,造成漏电事件或造成刀闸设备损坏;因此,刀闸的闭合状态需要准确的检测。
检测对开式刀闸开合是否到位,实践中主要需要依靠人工观测;在现有技术中,也通过计算左右刀闸臂之间的角度,判断刀闸开合的程度。目前计算左右刀闸臂之间的角度,国内外出现了许多计算方案,一种是对电路内部进行改动,增加传感器或者信号灯;一种是基于数字图像处理的方法,通过监控图像对刀闸的开关状态进行判断,在基于数字图像处理的方法中,由于背景复杂,对于刀闸难以正确匹配,降低检测精度。此外,由于拍摄环境影响,图像中绝缘子边缘模糊,影响检测效果,无法准确检测左右刀闸臂之间的角度。
发明内容
为了解决现有技术中难以快速准确检测对开式刀闸是否开合到位的问题,本发明提出一种基于自动定位的对开式刀闸开合角度检测方法。
本发明的技术方案是这样实现的:
一种基于自动定位的对开式刀闸开合角度检测方法,包括:
获取对开式刀闸的样本图像,标注每个样本图像中刀闸臂和绝缘子的实际轮廓边界,对标注后的样本图像进行训练,获取分割模型;
采集上述对开式刀闸的任一幅模板图像,根据分割模型获取该图像中的所有绝缘子和刀闸臂的实际轮廓边界以及每个刀闸臂对应的刀闸状态,根据绝缘子的实际轮廓边界估计绝缘子中心线;对模板图像进行边缘检测,获取边缘线集合,根据刀闸臂实际轮廓边界对边缘线集合中的边缘线筛选,获取每个刀闸臂的上下边缘线;
对所有刀闸臂和绝缘子进行配对,获取每个刀闸臂对应的绝缘子;
利用刀闸臂的本身属性对模板图像中的所有打开状态的刀闸对应的刀闸臂进行配对,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合;依据配对组合和绝缘子中心线计算所有打开状态的刀闸的刀闸臂中线,计算所有闭合和虚合状态的刀闸的刀闸臂中线;
在同样的位置利用同样的设备采集同一对开式刀闸的目标图像,对目标图像进行边缘检测,获取边缘线集合;
计算目标图像的每个刀闸的左中点和右中点到其对应的边缘线集合中的每条边缘线的距离,将不在阈值范围内的距离所对应的边缘线剔除,获取每个刀闸对应的更新边缘线集合;
利用每个刀闸的中线将其对应的更新边缘线集合左右区分,分别获取每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合并进行对称配对,确定每个刀闸的最终的左刀闸臂边缘线和右刀闸臂边缘线;
计算每个刀闸的左刀闸臂和右刀闸臂之间的夹角;左中点为左绝缘子中心线延长线和左刀闸臂上下边界线延长线的两个交点的中心点,右中点为右绝缘子中心线延长线和右刀闸臂上下边界线延长线的两个交点的中心点。
优选的是,“根据绝缘子的实际轮廓边界估计绝缘子中心线”的具体方式为:
根据分割模型获取模板图像中的所有绝缘子的实际轮廓,每个绝缘子的实际轮廓由多条线段连接形成,根据实际轮廓的连接点的坐标计算包含绝缘子的最小矩形框,计算包含每个绝缘子的最小矩形框的中心点坐标,与矩形框的长边平行且过矩形框的中心点的直线为绝缘子中心线。
优选的是,“根据刀闸臂实际轮廓边界对边缘线集合中的边缘线筛选,获取每个刀闸臂的上下边缘线”的具体方式为:
根据分割模型获取模板图像中的刀闸臂的实际轮廓和对应的刀闸臂状态,对于闭合和虚合状态的刀闸臂,其实际轮廓为包含左右刀闸臂的整体轮廓,对于打开状态的刀闸臂,其实际轮廓为包含单个刀闸臂的轮廓,每个刀闸臂的实际轮廓边界由多条线段连接形成,遍历边缘线集合中的每条边缘线的每个边缘点,计算每个边缘点到每个连接点的距离;
统计每条边缘线中的每个边缘点与所有连接点的最小距离,给定最小距离阈值,计算在最小距离阈值内的最小距离对应的边缘点数占其对应的边缘线的所有边缘点数的比例,记作边缘点比例,给定比例阈值,剔除边缘点比例小于比例阈值的边缘线,更新边缘线集合;
计算更新后的边缘线集合中所有边缘线的斜率,给定斜率差阈值,计算任两条边缘线的斜率差和这两条边缘线对应的边缘点比例的平均值,获取在斜率差阈值范围内的所有边缘线组合,且所有边缘线组合中边缘点比例的平均值最高的两条边缘线为当前刀闸臂的上下边缘线;
对于闭合状态的刀闸,获取整体刀闸臂的上下边缘线;对于虚合状态的刀闸,获取左刀闸臂和右刀闸臂的上下边缘线,对于打开状态的刀闸,每个刀闸臂记作单刀闸臂,获取单刀闸臂的上下边缘线。
优选的是,“对所有刀闸臂和绝缘子进行配对,获取每个刀闸臂对应的绝缘子”的方式为:
遍历目标图像中所有的刀闸,对于闭合状态的刀闸,根据刀闸臂的实际轮廓边界获取包含左右刀闸臂的最小矩形框;计算每个绝缘子中心线的延长线与整体刀闸臂上下边缘线的延长线的交点的中点坐标,给定距离阈值,获取在包含左右刀闸臂的最小矩形框内分别到其左边界和右边界距离最小的且两个最小距离均小于距离阈值的中点坐标,两个中点坐标对应的两个绝缘子与该刀闸臂配对;若该刀闸臂不存在配对的绝缘子,则该刀闸臂的绝缘子在图像中未显示,剔除该刀闸臂;
对于虚合状态的刀闸臂,根据刀闸臂的实际轮廓边界获取包含左右刀闸臂的最小矩形框;计算每个绝缘子中心线的延长线分别与左右刀闸臂上下边缘线的延长线的交点的中点坐标,给定距离阈值,获取在包含左右刀闸臂的最小矩形框内分别到其左边界和右边界距离最小的且两个最小距离小于距离阈值的中点坐标,两个中点坐标对应的两个绝缘子与该刀闸臂配对;若该刀闸臂不存在配对的绝缘子,则该刀闸臂的绝缘子在图像中未显示,剔除该刀闸臂;
对于打开状态的刀闸,每个刀闸臂记作单刀闸臂,根据单刀闸臂实际轮廓边界获取所有包含单刀闸臂的最小矩形框,计算每个绝缘子中心线的延长线与单刀闸臂的上下边缘线的延长线的两个交点的中点坐标,获取在包含单刀闸臂的最小矩形框内到其左边界或右边界距离最小且该距离小于距离阈值的中点坐标,其对应的绝缘子与该单刀闸臂配对;若不存在配对的绝缘子,剔除对应的单刀闸臂,以此获取所有的单刀闸臂及其对应的绝缘子。
优选的是,“利用刀闸臂的本身属性对模板图像中所有打开状态的刀闸的刀闸臂进行配对,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合”的方式为:
对于打开状态的刀闸对应的所有刀闸臂统称为单刀闸臂,根据单刀闸臂的上下边缘线间的距离获取单刀闸臂的宽度,给定宽度差阈值,计算任意两个单刀闸臂间的宽度差值,获取所有宽度差值小于宽度差阈值的单刀闸臂组合;
遍历上述所有的单刀闸臂组合,计算每个组合中两个单刀闸臂对应的绝缘子的中心点坐标,计算两个绝缘子的中心点间的距离,计算两个单刀闸臂的平均宽度,计算平均宽度与两个绝缘子中心点间的距离的比值,给定比值阈值范围,获取比值在给定的阈值范围内的所有单刀闸臂组合,更新单刀闸臂组合;
遍历所有更新后的单刀闸臂组合,计算每个组合中左侧的单刀闸臂上下边缘线延长线与其对应的绝缘子中心线延长线的两个交点的中点坐标,记作左中心点,计算右侧的单刀闸臂上下边缘线延长线与其对应的绝缘子中心线延长线的两个交点的中点坐标,记作右中心点,连接左中心点和右中心点获取该组合中两个单刀闸臂闭合状态时所在的线段;
计算每个单刀闸臂组合中与两个单刀闸臂闭合状态时所在的线段垂直且过该线段中点的方向向上或方向向下的闭合刀闸臂单位法向量;计算每个组合中左侧的单刀闸臂的上下边缘线的左平均斜率,获取以左中心点为起点,沿着左平均斜率的左刀闸臂单位向量;计算右侧的单刀闸臂上下边缘线的右平均斜率,获取以右中心点为起点,沿着右平均斜率的右刀闸臂单位向量;
计算每个单刀闸臂组合中左刀闸臂单位向量与闭合刀闸臂单位向量的内积,计算每个单刀闸臂组合中右刀闸臂单位向量与闭合刀闸臂单位向量的内积,若两个向量内积均大于0或均小于0,则左侧的单刀闸臂和右侧的单刀闸臂在两个单刀闸臂闭合状态时所在的线段的同侧,左侧的单刀闸臂与右侧的单刀闸臂配对;剔除掉所有不符合的组合,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合。
优选的是,“依据配对组合和绝缘子中心线计算所有打开状态的刀闸的刀闸臂中线,计算所有闭合和虚合状态的刀闸的刀闸臂中线”的方式为:
对于所有打开状态的刀闸,获取每对配对的左刀闸臂和右刀闸臂的上下边缘线和对应的绝缘子中心线,对于所有虚合状态的刀闸臂,获取每个刀闸的左刀闸臂和右刀闸臂的上下边缘线和对应的绝缘子中心线;
根据左刀闸臂的两条上下边缘线、右刀闸臂的两条上下边缘线以及两条绝缘子中心线,提取左刀闸臂的两个左端点之间的中心点和两个右端点之间的中心点并连接成左中心线,提取右刀闸臂的两个右端点之间的中心点和两个左端点之间的中心点并连接成右中心线,延长左中心线和右中心线形成一个中心交点;左刀闸臂两个左端点的中点为左中点,右刀闸臂两个右端点的中点为右中点,连接左中点和右中点的线段的中点为刀闸臂中点,通过中心交点和刀闸臂中点的连线为刀闸臂的中线;
对于闭合状态的刀闸,获取整体刀闸臂的两条上下边缘线延长线和两条绝缘子中心线延长线的四个交点,利用四个交点、相机矩阵以及相机畸变系数获取设备采集时相对于刀闸的坐标位置,设备的Z轴在模板图像上的投影方向为刀闸臂的中线方向,左侧两个交点的中点为左中点,右侧两个交点的中点为右中点,左中点和右中点的连线的中点为刀闸臂中点,刀闸臂中点结合中线方向确定刀闸臂的中线。
优选的是,所述“计算目标图像的每个刀闸的左中点和右中点到其对应的边缘线集合中的每条边缘线的距离,将不在阈值范围内的距离所对应的边缘线剔除,获取每个刀闸对应的更新边缘线集合”的方式为:获取每个刀闸的左中点和右中点,计算每个刀闸的左中点到其对应的边缘线集合中的每条边缘线的距离,计算右中点到每条边缘线的距离;给定左距离阈值和右距离阈值,获取到左中点的距离在左距离阈值内的边缘线,获取到右中点的距离在右距离阈值内的边缘线,在左距离阈值和右距离阈值内的边缘线为更新边缘线集合,以此获取每个刀闸对应的更新边缘线集合。
优选的是,“利用每个刀闸的中线将其对应的更新边缘线集合左右区分,分别获取每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合”的具体方式为:
将根据模板图像计算的一个刀闸的中点和中线直接对应到目标图像中,在目标图像上计算以一个刀闸的中点为起点的垂直于中线且方向向右或方向向左的单位方向向量;
遍历目标图像中该刀闸更新边缘线集合中的边缘线,对其中任一条边缘线的两个端点记作T1和T2,将T1与中点的向量记作
,将T2与中点的向量记作
,计算
和
;对于方向向右的单位方向向量
,若
,则T1在中线右侧,否则在中线左侧,若
,则T2在中线右侧,否则中线左侧;对于方向向左的单位方向向量
,若
,则T1在中线左侧,否则在中线右侧,若
,则T2在中线左侧,否则中线右侧;若T1和T2均在中线左侧,则该边缘线为该刀闸的左刀闸臂边缘线,若T1和T2均在中线右侧,则该边缘线为该刀闸的右刀闸臂边缘线,若T1和T2分别在中线两侧,计算该边缘线以中线为分割线的左右线段长度,该边缘线为左右侧线段较长侧的边缘线;如此获取该刀闸的左刀闸臂边缘线集合和右刀闸臂边缘线集合。
优选的是,“将每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合进行对称配对,确定每个刀闸的左刀闸臂边缘线和右刀闸臂边缘线”的方式为:
给定角度阈值,对于每一个刀闸的左刀闸臂边缘线左刀闸臂边缘线集合中的任一条边缘线相对于水平位置的角度记为
,
代表不同的左刀闸臂边缘线,将左刀闸臂边缘线左刀闸臂边缘线集合中任两个左刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的左刀闸臂边缘线按照从长到短排序;对于右刀闸臂边缘线右刀闸臂边缘线集合中的任一条边缘线相对于水平位置的角度记为
,
代表不同的右刀闸臂边缘线,将右刀闸臂边缘线右刀闸臂边缘线集合中任两个右刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的右刀闸臂边缘线按照从长到短排序;
遍历上述左刀闸臂边缘线集合的所有同组和右刀闸臂边缘线集合的所有同组并进行一一配对,计算任两组的校正刀闸臂边缘线和配对分数,分数最高的组合对应的校正左刀闸臂边缘线和校正右刀闸臂边缘线即为当前刀闸最终的左刀闸臂边缘线和右刀闸臂边缘线。。
优选的是,“遍历上述左刀闸臂边缘线集合的所有同组和右刀闸臂边缘线集合的所有同组并进行一一配对,计算任两组的校正刀闸臂边缘线和配对分数”的方式为:遍历上述左刀闸臂边缘线集合的所有同组和右刀闸臂边缘线集合的所有同组,计算每组的平均角度,左刀闸臂边缘线每组的平均角度结合左中点获取左刀闸臂边缘线每组的校正左刀闸臂边缘线,校正左刀闸臂边缘线与中线的交点记作A点;右刀闸臂边缘线每组的平均角度结合右中点获取右刀闸臂边缘线每组的校正右刀闸臂边缘线,校正右刀闸臂边缘线与中线的交点记作B点,计算A点和B点之间的距离
;
刀闸臂左中点和右中点的距离为
,
则剔除A点所在的同组和B点所在的同组;
设定任两组配对分数的计算公式为
,其中系数
表示左刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;
表示右刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;
为可调节的灵敏度参数。
本发明的有益效果为:本发明的基于自动定位的对开式刀闸开合角度检测方法,分割模型是模型,通过分割模型自动检测到模板图像中所有的刀闸臂和绝缘子的实际轮廓边界,采集的模板图像中可能包括多个对开式刀闸,分割模型能够检测到所有的对开式刀闸,根据绝缘子和刀闸臂间的位置关系可以自动实现刀闸臂和绝缘子配对,同时利用刀闸本身的属性能够将所有的刀闸臂配对,获取每个刀闸对应的左右刀闸臂,能够自动计算刀闸臂中线;在实际检测过程中,结合刀闸在实际使用中不同的状态,刀闸臂的中线保持不变,将模板图像中的刀闸臂中线对应到目标图像中,利用中线区分左右刀闸臂边缘线,再利用左右刀闸臂边缘线计算左右刀闸臂间的角度,根据左右刀闸臂间的角度判断刀闸臂是否开合到位,同时该发明方法可实现多个刀闸同时检测,大大提高变电站的工作效率,具有重要的实际应用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的模板图像;
图2为本发明中左右刀闸臂边缘线配对示意图。图中:
1、左刀闸臂;2、右刀闸臂;3、左中点;4、右中点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:一种基于自动定位的对开式刀闸开合角度检测方法,包括:获取对开式刀闸的样本图像,标注每个样本图像中刀闸臂和绝缘子的实际轮廓边界,对标注后的样本图像进行训练,获取分割模型;采集上述对开式刀闸的任一幅模板图像,根据分割模型获取该图像中的所有绝缘子和刀闸臂的实际轮廓边界以及每个刀闸臂对应的刀闸状态,根据绝缘子的实际轮廓边界估计绝缘子中心线;对模板图像进行边缘检测,获取边缘线集合,根据刀闸臂实际轮廓边界对边缘线集合中的边缘线筛选,获取每个刀闸臂的上下边缘线;对所有刀闸臂和绝缘子进行配对,获取每个刀闸臂对应的绝缘子;利用刀闸臂的本身属性对模板图像中的所有打开状态的刀闸对应的刀闸臂进行配对,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合;依据配对组合和绝缘子中心线计算所有打开状态的刀闸的刀闸臂中线,计算所有闭合和虚合状态的刀闸的刀闸臂中线;在同样的位置利用同样的设备采集同一对开式刀闸的目标图像,对目标图像进行边缘检测,获取边缘线集合;计算目标图像的每个刀闸的左中点和右中点到其对应的边缘线集合中的每条边缘线的距离,将不在阈值范围内的距离所对应的边缘线剔除,获取每个刀闸对应的更新边缘线集合;利用每个刀闸的中线将其对应的更新边缘线集合左右区分,分别获取每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合并进行对称配对,确定每个刀闸的最终的左刀闸臂边缘线和右刀闸臂边缘线;计算每个刀闸的左刀闸臂和右刀闸臂之间的夹角。
该检测方法中,模板图像中所有的刀闸臂和绝缘子都检测得到,但是所有的刀闸臂和绝缘子的配对需要进行单独处理,最后得到模板图像中每组刀闸臂的中点和中线,以此中线为模型检测目标图像中的每个刀闸的左刀闸臂边缘线和右刀闸臂边缘线,最后计算每个刀闸的左刀闸臂和右刀闸臂之间的夹角,根据左刀闸臂和右刀闸臂之间的夹角能够精确得知刀闸臂的开合角度。目标图像中采集到的刀闸和模板图像中采用到的刀闸是一致的,在模板图像中检测得到多少对刀闸,目标图像中也存在多少对刀闸;在完成刀闸臂和绝缘子配对以及打开状态单个刀闸臂的配对后,获取目标图像中的所有刀闸对,再对目标图像进行边缘检测,获取边缘线集合,模板图像中的每个刀闸的左中点和右中点对应到目标图像中,计算每个刀闸的左中点和右中点到每条边缘线的距离,将每个刀闸的不在阈值范围内的距离所对应的边缘线剔除之后,更新边缘线集合中对应的每个刀闸臂的上下边缘线。左刀闸臂边缘线和右刀闸臂边缘线指的是左刀闸臂的上下边界线和右刀闸臂的上下边界线。
分割模型是通过精确标注样本图像中的刀闸和绝缘子的实际边界,利用深度学习算法训练获得,利用分割模型对目标图像进行检测,可以把每个刀闸或单个刀闸臂以及每个绝缘子从目标图像中分割出来,即获取每个刀闸或单个刀闸臂以及每个绝缘子的实际轮廓边界,帮助实现刀闸和绝缘子的自动精确定位。
实施例1中“根据绝缘子的实际轮廓边界估计绝缘子中心线”的具体方式为:根据分割模型获取模板图像中的所有绝缘子的实际轮廓,每个绝缘子的实际轮廓由多条线段连接形成,根据实际轮廓的连接点的坐标计算包含绝缘子的最小矩形框,计算包含每个绝缘子的最小矩形框的中心点坐标,与矩形框的长边平行且过矩形框的中心点的直线为绝缘子中心线。
上述“根据刀闸臂实际轮廓边界对边缘线集合中的边缘线筛选,获取每个刀闸臂的上下边缘线”的具体方式为:根据分割模型获取模板图像中的刀闸臂的实际轮廓和每个刀闸臂对应的刀闸状态,对于闭合和虚合状态的刀闸,其实际轮廓为包含左右刀闸臂的整体轮廓,对于打开状态的刀闸,其实际轮廓为包含单个刀闸臂的轮廓,每个刀闸臂的实际轮廓边界由多条线段连接形成,遍历边缘线集合中的每条边缘线的每个边缘点,计算每个边缘点到每个连接点的距离;统计每条边缘线中的每个边缘点与所有连接点的最小距离,给定最小距离阈值,计算在最小距离阈值内的最小距离对应的边缘点数占其对应的边缘线的所有边缘点数的比例,记作边缘点比例,给定比例阈值,剔除边缘点比例小于比例阈值的边缘线,更新边缘线集合;计算更新后的边缘线集合中所有边缘线的斜率,给定斜率差阈值,计算任两条边缘线的斜率差和这两条边缘线对应的边缘点比例的平均值,获取在斜率差阈值范围内的所有边缘线组合,且所有边缘线组合中平均值最高的两条边缘线为当前刀闸臂的上下边缘线;对于闭合状态的刀闸,获取整体刀闸臂的上下边缘线,对于虚合状态的刀闸,获取左刀闸臂和右刀闸臂的上下边缘线,对于打开状态的刀闸,每个刀闸臂记作单刀闸臂,获取单刀闸臂的上下边缘线。
上述“对所有刀闸臂和绝缘子进行配对,获取每个刀闸臂对应的绝缘子”的方式为:遍历目标图像中所有的刀闸,对于闭合状态的刀闸,根据刀闸臂的实际轮廓边界获取包含左右刀闸臂的最小矩形框;计算每个绝缘子中心线的延长线与整体刀闸臂上下边缘线的延长线的两个交点的中点坐标,给定距离阈值,获取在包含左右刀闸臂的最小矩形框内分别到其左边界和右边界距离最小的且两个最小距离小于距离阈值的中点坐标,两个中点坐标对应的两个绝缘子与该刀闸臂配对;若该刀闸臂不存在配对的绝缘子,则该刀闸臂的绝缘子在图像中未显示,剔除该刀闸臂;
对于虚合状态的刀闸,根据刀闸臂的实际轮廓边界获取包含左右刀闸臂的最小矩形框;计算每个绝缘子中心线的延长线分别与左右刀闸臂上下边缘线的延长线的交点的中点坐标,给定距离阈值,获取在包含左右刀闸臂的最小矩形框内分别到其左边界和右边界距离最小的且两个最小距离小于距离阈值的中点坐标,两个中点坐标对应的两个绝缘子与该刀闸臂配对;若该刀闸臂不存在配对的绝缘子,则该刀闸臂的绝缘子在图像中未显示,剔除该刀闸臂;
对于打开状态的刀闸,每个刀闸臂记作单刀闸臂,根据单刀闸臂实际轮廓边界获取所有包含单刀闸臂的最小矩形框,计算每个绝缘子中心线的延长线与单刀闸臂的上下边缘线的延长线的两个交点的中点坐标,获取在包含单刀闸臂的最小矩形框内到其左边界或右边界距离最小且该距离小于距离阈值的中点坐标,其对应的绝缘子与该单刀闸臂配对;若不存在配对的绝缘子,则表明单刀闸臂的绝缘子在图像中未显示,剔除对应的单刀闸臂,以此获取所有的单刀闸臂及其对应的绝缘子。
上述“利用刀闸臂的本身属性对模板图像中所有打开状态的刀闸的刀闸臂进行配对,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合”的方式为:
对于打开状态的刀闸对应的所有刀闸臂统称单刀闸臂,根据单刀闸臂的上下边缘线间的距离获取单刀闸臂的宽度,给定宽度差阈值,计算任意两个单刀闸臂间的宽度差值,获取所有宽度差值小于宽度差阈值的单刀闸臂组合;
遍历上述所有的单刀闸臂组合,计算每个组合中两个单刀闸臂对应的绝缘子的中心点坐标,计算两个绝缘子的中心点间的距离,计算两个单刀闸臂的平均宽度,计算平均宽度与两个绝缘子中心点间的距离的比值,给定比值阈值范围,获取比值在给定的阈值范围内的所有单刀闸臂组合,更新单刀闸臂组合;
遍历所有更新后的单刀闸臂组合,计算每个组合中左侧的单刀闸臂上下边缘线延长线与其对应的绝缘子中心线延长线的两个交点的中点坐标,记作左中心点,计算右侧的单刀闸臂上下边缘线延长线与其对应的绝缘子中心线延长线的两个交点的中点坐标,记作右中心点,连接左中心点和右中心点获取该组合中两个单刀闸臂闭合状态时所在的线段;
计算每个单刀闸臂组合中与两个单刀闸臂闭合状态时所在的线段垂直且过该线段中点的方向向上或方向向下的闭合刀闸臂法单位向量;计算每个组合中左侧的单刀闸臂的上下边缘线的左平均斜率,获取以左中心点为起点,沿着左平均斜率的左刀闸臂单位向量;计算右侧的单刀闸臂上下边缘线的右平均斜率,获取以右中心点为起点,沿着右平均斜率的右刀闸臂单位向量;
计算每个单刀闸臂组合中左刀闸臂单位向量与闭合刀闸臂单位向量的内积,计算每个单刀闸臂组合中右刀闸臂单位向量与闭合刀闸臂单位向量的内积,若两个向量内积均大于0或均小于0,则左侧的单刀闸臂和右侧的单刀闸臂在两个单刀闸臂闭合状态时所在的线段的同侧,左侧的单刀闸臂与右侧的单刀闸臂配对;剔除掉所有不符合的组合,获取所有配对的左刀闸臂上下边缘线和右刀闸臂上下边缘线组合。
“依据配对组合和绝缘子中心线计算所有打开状态的刀闸的刀闸臂中线;计算所有闭合和虚合状态的刀闸的刀闸臂中线”的方式为:对于所有打开状态的刀闸,获取每对配对的左刀闸臂和右刀闸臂的上下边缘线和对应的绝缘子中心线,对于所有虚合状态的刀闸,获取每个刀闸的左刀闸臂和右刀闸臂的上下边缘线和对应的绝缘子中心线;根据左刀闸臂的两条上下边缘线、右刀闸臂的两条上下边缘线以及两条绝缘子中心线,提取左刀闸臂的两个左端点之间的中心点和两个右端点之间的中心点并连接成左中心线,提取右刀闸臂的两个右端点之间的中心点和两个左端点之间的中心点并连接成右中心线,延长左中心线和右中心线形成一个中心交点;左刀闸臂两个左端点的中点为左中点,右刀闸臂两个右端点的中点为右中点,连接左中点和右中点的线段的中点为刀闸臂中点,通过中心交点和刀闸臂中点的连线为刀闸臂的中线;
对于闭合状态的刀闸,获取刀闸臂的两条上下边缘线延长线和两条绝缘子中心线延长线的四个交点,利用四个交点、相机矩阵以及相机畸变系数获取设备采集时相对于刀闸的坐标位置,设备的Z轴在模板图像上的投影方向为刀闸臂的中线方向,左侧两个交点的中点为左中点,右侧两个交点的中点为右中点,左中点和右中点的连线的中点为刀闸臂中点,刀闸臂中点结合中线方向确定刀闸臂的中线。
根据分割模型获取的刀闸状态是笼统的,不同于根据刀闸臂间的夹角获取的刀闸状态,根据刀闸臂间夹角获取的刀闸状态为目标图像中刀闸的最终状态。这里的刀闸的闭合状态指的是左右刀闸臂在同一直线上,虚合状态指的是左右刀闸臂间存在接触但不在同一直线上,打开状态指的是左右刀闸臂间不存在接触。
“对目标图像进行边缘检测,获取边缘线集合”的方式为:对目标图像进行边缘检测,此处使用的边缘检测方法为LSD边缘检测,输入待检测的对开式刀闸目标图像,便可获取目标图像所有的边缘线;同时可以使用任何可帮助进行刀闸臂边缘检测的方法,比如EDLines,Hough变换直线检测等,以此获取边缘线集合。
上述“计算目标图像每个刀闸的左中点和右中点到其对应的边缘线集合中的每条边缘线的距离,将不在阈值范围内的距离所对应的边缘线剔除,获取每个刀闸对应的更新边缘线集合”的方式为:获取每个刀闸的左中点和右中点;计算每个刀闸的左中点到其对应的边缘线集合中的每条边缘线的距离,计算右中点到每条边缘线的距离;给定左距离阈值和右距离阈值,获取到左中点的距离在左距离阈值内的边缘线,获取到右中点的距离在右距离阈值内的边缘线,在左距离阈值和右距离阈值内的边缘线为更新边缘线集合,以此获取每个刀闸对应的更新边缘线集合。左距离阈值可以取值为左刀闸臂侧边宽度的0.6倍,右距离阈值可以取值为右刀闸臂侧边宽度的0.6倍。左距离阈值和右距离阈值可视实际情况取值。
上述“利用每个刀闸的中线将其对应的更新边缘线集合左右区分,分别获取每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合”的具体方式为:
以目标图像上的任一个刀闸为例说明,将根据模板图像计算的任一个刀闸的中点和中线直接对应到目标图像中,在目标图像上计算以一个刀闸的中点为起点的垂直于中线且方向向右或方向向左的单位方向向量
;遍历目标图像中该刀闸的更新边缘线集合中的边缘线,对其中任一条边缘线的两个端点记作T1和T2,将T1与中点的向量记作
,将T2与中点的向量记作
,计算
和
;对于方向向右的单位方向向量
,若
,则T1在中线右侧,否则在中线左侧,若
,则T2在中线右侧,否则中线左侧;对于方向向左的单位方向向量
,若
,则T1在中线左侧,否则在中线右侧,若
,则T2在中线左侧,否则中线右侧;若T1和T2均在中线左侧,则该边缘线为左刀闸臂边缘线,若T1和T2均在中线右侧,则该边缘线为右刀闸臂边缘线,若T1和T2分别在中线两侧,计算该边缘线以中线为分割线的左右线段长度,该边缘线为左右侧线段较长侧的边缘线;如此获取该刀闸的左刀闸臂边缘线集合和右刀闸臂边缘线集合。目标图像中的每一个刀闸的左刀闸臂边缘线集合和右刀闸臂边缘线集合获取的方式相同。
单位方向向量
计算的具体方式为:设定目标图像上任一个刀闸的中线为
,中点坐标为
,设定垂直于中线且过中点的垂线的直线方程为
,
,
,
;根据垂线的直线方程计算以中点为起点且方向向右或方向向左的单位方向向量
;设单位方向向量的终点坐标为
,则
,求
和
,单位方向向量
。
“将每个刀闸对应的左刀闸臂边缘线集合和右刀闸臂边缘线集合进行对称配对,确定每个刀闸的左刀闸臂边缘线和右刀闸臂边缘线”的方式为:给定角度阈值,对于每一个刀闸的左刀闸臂边缘线集合中的任一条边缘线相对于其水平位置的角度记为
,
代表不同的左刀闸臂边缘线,将该刀闸的左刀闸臂边缘线集合中任两个左刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的左刀闸臂边缘线按照从长到短排序;对于右刀闸臂边缘线集合中的任一条边缘线相对于水平位置的角度记为
,
代表不同的右刀闸臂边缘线,将该刀闸的右刀闸臂边缘线集合中任两个右刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的右刀闸臂边缘线按照从长到短排序;遍历上述左刀闸臂边缘线集合的所有同组和右刀闸臂边缘线集合的所有同组,计算每组的平均角度,左刀闸臂边缘线每组的平均角度结合左中点获取左刀闸臂边缘线每组的校正左刀闸臂边缘线,校正左刀闸臂边缘线与中线的交点记作A点;右刀闸臂边缘线每组的平均角度结合右中点获取右刀闸臂边缘线每组的校正右刀闸臂边缘线,校正右刀闸臂边缘线与中线的交点记作B点,计算A点和B点之间的距离
;
刀闸臂左中点和右中点的距离为
,
则剔除A点所在的同组和B点所在的同组;
设定任两组配对分数的计算公式为
,其中系数
表示左刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;
表示右刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;
为可调节的灵敏度参数;最高的配对分数S对应的A点所在的校正左刀闸臂边缘线和B点所在的校正右刀闸臂边缘线为当前刀闸最终的左刀闸臂边缘线和右刀闸臂边缘线。假设任一左刀闸臂边缘线同组内边缘线数目为
,每条边缘线可表示为
,根据边缘线起点终点坐标计算其长度为
,其中
,则
;假设任一右刀闸臂边缘线同组内边缘线数目为
,每条边缘线可表示为
,根据边缘线起点终点坐标计算其长度为
,其中
,
则
;
为可调节的灵敏度参数,在实际使用中可通过取不同的
值获取不同的分数,根据不同的分数确定配对结果,选择配对结果最好的对应的
值为最终的
值,不同的用户也可根据实际情况自行确定。
“计算左刀闸臂和右刀闸臂之间的夹角”的方式为:若最终的左刀闸臂边缘线相对于闭合状态刀闸臂所在直线的角度为
,最终的右刀闸臂边缘线相对于闭合状态刀闸臂所在直线的角度为
,最终的左刀闸臂边缘线和右刀闸臂边缘线间的夹角为
,左刀闸臂和右刀闸臂间的夹角为
。
对开式刀闸指的是双柱中心断口式隔离开关,双柱指的是左右两侧竖直的绝缘子,中心断口指的是左右刀闸臂在虚合或闭合状态时的接触位置,该类隔离开关在开合过程中左右刀闸臂以绝缘子上端点为旋转点,左右刀闸臂同步对称开合。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。