一种实时跟踪的剪刀式刀闸状态的检测方法
技术领域
本发明涉及图像识别技术领域,特别涉及一种实时跟踪的剪刀式刀闸状态的检测方法。
背景技术
刀闸是高压开关电器中使用次数非常频繁的一种电器,在电路中起隔离作用。在实际应用中,由于刀闸的长期运转,会出现刀闸开合不到位的情形,该情形会导致刀闸的上下刀闸臂之间产生电弧。电弧是一种气体放电现象,电流通过某些绝缘介质产生的瞬间火花可能,会造成火灾或威胁人身安全;此外,电弧温度极高,容易把绝缘材料烧毁,造成漏电事件或造成刀闸设备损坏;因此,刀闸的闭合状态需要准确的检测。
检测剪刀式刀闸开合是否到位,实践中主要需要依靠人工观测;在现有技术中,也通过计算上下刀闸臂之间的角度,判断刀闸开合的程度。目前计算上下刀闸臂之间的角度,国内外出现了许多计算方案,一种是对电路内部进行改动,增加传感器或者信号灯;一种是基于数字图像处理的方法,通过监控图像对刀闸的开关状态进行判断,在基于数字图像处理的方法中,由于背景复杂,对于刀闸难以正确匹配,降低检测精度。此外,由于拍摄环境影响,图像中刀闸臂边缘模糊,影响检测效果,无法准确检测上下刀闸臂之间的角度。
发明内容
为了解决现有技术中难以快速准确检测剪刀式刀闸是否开合到位以及实时检测速度慢的问题,本发明提出一种实时跟踪的剪刀式刀闸状态的检测方法。
本发明的技术方案是这样实现的:
一种实时跟踪的剪刀式刀闸状态的检测方法,采集剪刀式刀闸的实时监控视频,获取实时视频的任一帧图像并根据该帧图像建立该型号刀闸的刀闸臂的边界线模型并保存为模型文件;
通过多种途径获取剪刀式刀闸的样本图像,对样本图像利用深度学习算法进行训练获取标注刀闸臂和刀闸臂关节点位置的训练模型;
从视频的第一帧图像开始依次检测,利用训练模型和模型文件对第一帧图像中的刀闸臂自动定位并获取刀闸估计状态,若第一帧图像中刀闸估计状态为打开,则直接输出刀闸状态为打开并继续检测第二帧图像,直至检测到一帧图像中的刀闸估计状态为闭合或虚合,将该帧图像标记为检测角度的初始帧图像;根据模型文件和训练模型获取初始帧图像中的刀闸臂关节点矩形框,计算初始帧图像中刀闸臂的关节点和刀闸臂的角平分线,同时提取初始帧图像中的刀闸臂关节点矩形框内的利于跟踪的特征点并记录;根据对初始帧图像中刀闸臂的定位结果对该帧图像中的刀闸进行边缘检测,确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线,进而计算上刀闸臂和下刀闸臂之间的夹角,判断初始帧图像中刀闸的实时状态;
利用前一帧图像的特征点对当前帧图像中刀闸臂关节点跟踪定位,根据该跟踪定位结果计算当前帧图像中刀闸臂角平分线,对当前帧图像中的刀闸进行自动定位并根据定位结果进行边缘检测,确定当前帧图像中最终的的上刀闸臂边缘线和下刀闸臂边缘线,进而计算上刀闸臂和下刀闸臂之间的夹角,判断当前帧图像中刀闸的实时状态;
与处理当前帧图像相同的方式依次处理下一帧图像,如果刀闸运动方向为由打开到闭合,则直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态;如果刀闸的运动方向为由闭合到打开,则检测到刀闸状态变为打开时,直接输出刀闸打开状态,不需要计算刀闸臂间的角度,直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态。
优选的是,“获取实时视频的任一帧图像并根据该帧图像建立该型号刀闸的刀闸臂的边界线模型并保存为模型文件”的方式为:获取视频的任一帧图像,在计算机上设置一个程序,利用该程序打开该帧图像并对其中刀闸的上下刀闸臂的左右边界和上下边界进行描边,形成一个四边形模板,上下刀闸臂在该四边形模板内,将四边形模板的四个端点坐标保存为模型文件;若该帧图像中的刀闸是闭合状态,根据刀闸臂的实际位置进行描边,若该帧图像中的刀闸是打开或虚合状态,根据刀闸的上下固定边界估算刀闸臂闭合状态下的位置,并对其闭合状态下的位置描边。
优选的是,利用训练模型和模型文件对第一帧图像中的刀闸臂自动定位并获取刀闸估计状态的具体方式为:
利用训练模型对当前帧图像进行检测,获取当前帧图像中的所有刀闸区域及每个刀闸区域对应的刀闸估计状态,“闭合”和“虚合”状态的刀闸对应的所在区域为包含上下刀闸臂及上下端点的整体矩形框区域,“打开”状态的刀闸对应的所在区域为包含上下刀闸臂和下端点的折叠矩形框区域;
根据模型文件获取闭合状态的刀闸的闭合四边形框区域、上中点和下中点,上中点为闭合四边形框的上边界的中点,下中点为闭合四边形框的下边界的中点,计算上述整体矩形框区域和折叠矩形框区域分别与闭合四边形框区域的重叠面积;
遍历当前帧图像中所有“闭合”和“虚合”状态的刀闸所在的区域,给定重叠面积阈值,获取包含上中点和下中点且重叠面积最大并大于重叠面积阈值的区域,则该区域即为最终的上下刀闸臂整体区域,以此实现“闭合”或“虚合”状态的刀闸定位;
若不存在上述包含上中点和下中点且重叠面积最大并大于重叠面积阈值的区域,则表明当前待检测的刀闸当前状态不是“闭合”或“虚合”状态,从所有“打开”状态的刀闸中实现刀闸定位,遍历目标图像中所有“打开”状态的刀闸所在的区域,获取包含下中点且重叠面积最大并大于重叠面积阈值的区域,若该区域存在,则该区域即为最终的打开状态的刀闸臂区域,以此实现“打开”状态的刀闸定位。
优选的是,根据对初始帧图像中刀闸臂的定位结果对该帧图像中的刀闸进行边缘检测,确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线的具体方式为:
根据刀闸臂定位结果对初始帧图像进行边缘检测,获取边缘线集合,计算当前帧图像的刀闸臂关节点到边缘线集合中的每条边缘线的距离,给定上距离阈值和下距离阈值,将不在阈值范围内的距离所对应的边缘线剔除,获取更新边缘线集合;
利用角平分线将更新边缘线集合上下区分,分别获取上刀闸臂边缘线集合和下刀闸臂边缘线集合并进行对称配对,确定最终的上刀闸臂边缘线和下刀闸臂边缘线。
优选的是,根据模型文件和训练模型获取初始帧图像中的刀闸臂关节点矩形框,计算初始帧图像中刀闸臂的关节点的具体方式为:根据模型文件计算四边形模板的中心点,设定估算阈值R,将该中心点对应到初始帧图像中,在初始帧图像中以该中心点为中心,刀闸臂的宽度为宽、刀闸臂宽度的R倍为长在初始帧图像中建立包含刀闸臂关节点的闭合状态下的估算关节点矩形框;根据训练模型获取初始帧图像中定位后的包含标注关节点位置的所有的修正关节点矩形框,计算修正关节点矩形框中与估算关节点矩形框重叠面积最大的修正关节点矩形框,该修正关节点矩形框为初始帧图像中的刀闸臂关节点矩形框,其中心为刀闸臂关节点。
优选的是,计算初始帧图像中刀闸臂的角平分线的具体方式为:获取采集实时视频的相机的畸变系数,并根据初始帧图像尺寸计算相机矩阵camera_matrix=[focal_length,0,center.x;0,focal_length,center.y;0,0,1],其中focal_length为初始帧图像宽度,center.x和center.y分别为初始帧图像中点的x坐标和y坐标;
根据模型文件中的四个端点坐标估算其对应的世界坐标,根据模型文件中四个端点坐标、世界坐标、相机矩阵和畸变系数,获取相机所在的坐标系关于世界坐标系的旋转矩阵与平移矩阵,根据旋转矩阵和平移矩阵获取变换矩阵;
根据变换矩阵获取刀闸臂关节点在理想图像中的关节点坐标,得出理想图像的过刀闸臂关节点且与地面平行的角平分线;
将理想图像的角平分线上的任一点通过变换矩阵计算其在初始帧图像中的对应坐标,该对应坐标与刀闸臂关节点的连线为初始帧图像的刀闸臂角平分线。
优选的是,利用前一帧图像的特征点对当前帧图像中刀闸臂关节点跟踪定位的具体方式为:前一帧图像中的特征点位于前一帧图像中刀闸臂关节点定位时的关节点矩形框内,将前一帧图像中的特征点对应到当前帧图像中并获取这些特征点在当前帧图像中的位置,前一帧图像中的特征点对应到当前帧图像中为跟踪点;根据跟踪点获取当前帧图像中的包含所有跟踪点的最小矩形框,即为当前帧图像中的关节点矩形框,当前帧图像中的关节点矩形框的中点为刀闸臂关节点,以此实现刀闸臂关节点跟踪定位。
优选的是,判断初始帧图像中的实时状态的具体方式为:根据用户需求给出剪刀式刀闸“打开”和“闭合”状态的两个角度阈值T-o和T-c;
若上刀闸臂和下刀闸臂之间的夹角大于T-o,判定初始帧图像中的刀闸是打开状态,若上刀闸臂和下刀闸臂之间的实际夹角小于T-c,判定初始帧图像中的刀闸是闭合状态,若上刀闸臂和下刀闸臂之间的实际夹角介于T-o和T-c之间,判定初始帧图像中的刀闸是虚合状态。
优选的是,判断当前帧图像中刀闸的实时状态的具体方式为:
根据用户需求给出剪刀式刀闸“打开”和“闭合”状态的两个角度阈值T-o和T-c,设定打开状态的高阈值hT-o和低阈值lT-o,T-o介于高阈值hT-o和低阈值lT-o之间,hT-o>T-o>lT-o;设定闭合状态的高阈值hT-c和低阈值lT-c,T-c介于高阈值hT-c和低阈值lT-c之间,hT-c>T-c>lT-c,且lT-o>hT-c;
若上刀闸臂和下刀闸臂之间的校正夹角大于hT-o,判定当前帧图像中的刀闸是打开状态,若左刀闸臂和右刀闸臂之间的校正夹角小于lT-c,判定当前帧图像中的刀闸是闭合状态,若左刀闸臂和右刀闸臂之间的校正夹角介于hT-c和lT-o之间,判定当前帧图像中的刀闸是虚合状态;若左刀闸臂和右刀闸臂之间的校正夹角介于lT-o和hT-o之间或介于lT-c和hT-c之间,判定当前帧图像中的刀闸状态与前一帧图像中刀闸的状态相同。
优选的是,直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态的具体方式为:判断连续的每一帧图像中刀闸的实时状态后将其记录;给定连续帧数阈值,若连续帧图像中的刀闸状态保持不变,且连续帧数大于连续帧数阈值,表明刀闸维持同一个状态,检测到刀闸停止运动;
若第一帧图像中刀闸的状态是打开状态,验证最终状态时是闭合状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理;若刀闸的状态是闭合状态,验证最终状态时是打开状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理;若刀闸的状态是虚合状态,验证最终状态时为闭合或打开状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理。
本发明的有益效果为:本发明的实时跟踪的剪刀式刀闸状态的检测方法,将模型文件中闭合状态的刀闸臂的四边形模板对应到实时监控视频的每帧图像中作为参照,便于后续对实时监控视频的每帧图像进行处理。首先根据训练模型和模型文件获取每帧图像中待检测刀闸臂的位置和对应的刀闸状态,若刀闸状态为打开则直接将该状态输出,不计算刀闸臂间的角度,若刀闸状态为闭合或虚合,则计算刀闸臂间的角度,并根据用户需求和刀闸臂间的角度对刀闸实时状态进行精确分析,同时将该帧图像标记为初始帧图像,利用训练模型和模型文件获取初始帧图像的刀闸臂关节点矩形框,通过提取初始帧图像中的刀闸臂关节点矩形框内的利于跟踪的特征点,在对后续帧图像进行处理时,通过对特征点实时跟踪实现刀闸臂关节点定位,提高实时检测速度。
根据刀闸臂关节点计算刀闸臂角平分线,利用刀闸臂角平分线获取上刀闸臂边缘线集合和下刀闸臂边缘线集合,提高准确性;然后配对确定上刀闸臂边缘线和下刀闸臂边缘线;最后计算上刀闸臂和下刀闸臂之间的夹角,根据夹角判断刀闸的实时状态,验证视频中刀闸运动的最终状态,提高实时检测精度,具有重要的实际应用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的建立模型文件的图像;
图2为计算刀闸臂关节点的结构示意图;
图3为利用角平分线将更新边缘线集合上下区分的结构示意图。
图中:
1、上刀闸臂;2、下刀闸臂;3、刀闸臂关节点;4、中心点;5、估算关节点矩形框;6、修正关节点矩形框;7、角平分线。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:如图1所示,一种实时跟踪的剪刀式刀闸状态的检测方法,采集剪刀式刀闸的实时监控视频,获取实时视频的任一帧图像并根据该帧图像建立该型号刀闸的刀闸臂的边界线模型并保存为模型文件;通过多种途径获取剪刀式刀闸的样本图像,对样本图像利用深度学***分线,同时提取初始帧图像中的刀闸臂关节点矩形框内的利于跟踪的特征点并记录;根据对初始帧图像中刀闸臂的定位结果对该帧图像中的刀闸进行边缘检测,确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线,进而计算上刀闸臂和下刀闸臂之间的夹角,判断初始帧图像中刀闸的实时状态;利用前一帧图像的特征点对当前帧图像中刀闸臂关节点跟踪定位,根据该跟踪定位结果计算当前帧图像中刀闸臂角平分线,对当前帧图像中的刀闸进行自动定位并根据定位结果进行边缘检测,确定当前帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线,进而计算上刀闸臂和下刀闸臂之间的夹角,判断当前帧图像中刀闸的实时状态;如果刀闸运动方向为由打开到闭合,则直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态;如果刀闸的运动方向为由闭合到打开,则检测到刀闸状态变为打开时,直接输出刀闸打开状态,不需要计算刀闸臂间的角度,直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态。
如果视频第一帧图像中刀闸状态为打开,且刀闸状态发生变化后为虚合或闭合,则刀闸的运动方向为由打开到闭合;如果视频第一帧图像中刀闸状态为闭合,且刀闸状态发生变化后为虚合或打开,则刀闸的运动方向为由闭合到打开。初始帧图像中刀闸的实时状态为输出状态。
依次检测视频的每一帧图像时,利用训练模型和模型文件对检测的该帧图像中的刀闸臂自动定位并获取刀闸状态,此处获取的刀闸状态是比较笼统的状态,后续获取的实时状态是根据刀闸臂间的角度精确分析过的刀闸状态。若刀闸的运动方向为由打开到闭合,第一帧图像中的刀闸状态为打开,根据用户需求检测到打开状态就可以,不需要精确计算刀闸臂间的角度。检测到实时视频中的初始帧图像是闭合状态或虚合状态的情况下,需要具体根据上刀闸臂和下刀闸臂之间的夹角确定刀闸的具体状态,准确检测剪刀式刀闸的实时状态。若刀闸的运动方向为由闭合到打开,第一帧图像中的刀闸状态为闭合,且第一帧图像即为计算角度的初始帧图像,需要具体根据上刀闸臂和下刀闸臂之间的夹角确定刀闸的具体状态,准确检测剪刀式刀闸的实时状态,直至刀闸状态变为打开,不需要精确计算角度,直接输出打开状态即可。
实施例1中“获取实时视频的任一帧图像并根据该帧图像建立该型号刀闸的刀闸臂的边界线模型并保存为模型文件”的方式为:获取视频的任一帧图像,在计算机上设置一个程序,利用该程序打开该帧图像并对其中刀闸的上下刀闸臂的左右边界和上下边界进行描边,形成一个四边形模板,上下刀闸臂在该四边形模板内,将四边形模板的四个端点坐标保存为模型文件;若该帧图像中的刀闸是闭合状态,根据刀闸臂的实际位置进行描边,若该帧图像中的刀闸是打开或虚合状态,根据刀闸的上下固定边界估算刀闸臂闭合状态下的位置,并对其闭合状态下的位置描边。所以,根据实时视频的任一帧图像可确定模型文件。
实施例1中,利用训练模型和模型文件对第一帧图像中的刀闸臂自动定位并获取刀闸估计状态的具体方式为:利用训练模型对当前帧图像进行检测,获取当前帧图像中的所有刀闸区域及每个刀闸区域对应的刀闸估计状态,“闭合”和“虚合”状态的刀闸对应的所在区域为包含上下刀闸臂及上下端点的整体矩形框区域,“打开”状态的刀闸对应的所在区域为包含上下刀闸臂和下端点的折叠矩形框区域;根据模型文件获取闭合状态的刀闸的闭合四边形框区域、上中点和下中点,上中点为闭合四边形框的上边界的中点,下中点为闭合四边形框的下边界的中点,计算上述整体矩形框区域和折叠矩形框区域分别与闭合四边形框区域的重叠面积;遍历当前帧图像中所有“闭合”和“虚合”状态的刀闸所在的区域,给定重叠面积阈值,获取包含上中点和下中点且重叠面积最大的区域,则该区域即为最终的上下刀闸臂整体区域,以此实现“闭合”或“虚合”状态的刀闸定位;若不存在上述包含上中点和下中点且重叠面积最大并大于重叠面积阈值的区域,则表明当前待检测的刀闸当前状态不是“闭合”或“虚合”状态,从所有“打开”状态的刀闸中实现刀闸定位,遍历目标图像中所有“打开”状态的刀闸所在的区域,获取包含下中点且重叠面积最大并大于重叠面积阈值的区域,若该区域存在,则该区域即为最终的打开状态的刀闸臂区域,以此实现“打开”状态的刀闸定位。利用训练模型和模型文件获取每一帧图像中的刀闸估计状态。
如图2所示,根据模型文件和训练模型获取始帧图像中的刀闸臂关节点矩形框,计算初始帧图像中刀闸臂的关节点的具体方式为:根据模型文件计算四边形模板的中心点,设定估算阈值R,将该中心点对应到初始帧图像中,在初始帧图像中以该中心点4为中心,刀闸臂的宽度为宽、刀闸臂宽度的R倍为长在初始帧图像中建立包含刀闸臂关节点的闭合状态下的估算关节点矩形框5;根据训练模型获取初始帧图像中定位后的包含标注关节点位置的所有的修正关节点矩形框6,计算修正关节点矩形框中与估算关节点矩形框重叠面积最大的修正关节点矩形框6,该修正关节点矩形框为初始帧图像中的刀闸臂关节点矩形框,其中心为刀闸臂关节点。
“计算初始帧图像中刀闸臂的角平分线”的方式为:获取采集实时视频的相机的畸变系数,并根据初始帧图像尺寸计算相机矩阵camera_matrix=[focal_length,0,center.x;0,focal_length,center.y;0,0,1],其中focal_length为初始帧图像宽度,center.x和center.y分别为初始帧图像中点的x坐标和y坐标;根据模型文件中的四个端点坐标估算其对应的世界坐标,利用参考文献《Pose Estimation based on Four CoplanarPoint Correspondences》中提出的相机姿态估计方法,根据模型文件中四个端点坐标、世界坐标、相机矩阵和畸变系数,便可获取相机所在的坐标系关于世界坐标系的旋转矩阵与平移矩阵,根据旋转矩阵和平移矩阵获取变换矩阵,设变换矩阵为R_matrix,刀闸臂关节点为artis_p,根据变换矩阵获取刀闸臂关节点在理想图像中的关节点坐标artis_q=(artis_q.x,artis_q.y),得出理想图像的过关节点且与地面平行的角平分线y=(artis_q.y/artis_q.x*x);将理想图像的角平分线上的任一点angle_p通过变换矩阵计算其在初始帧图像中的对应坐标,该对应坐标angle_q与刀闸臂关节点artis_p的连线为初始帧图像的角平分线7。
理想图像在理论上指的是相机中心点与刀闸臂关节点在同一直线上,相机垂直于刀闸拍摄的刀闸图像。相机在实际拍摄中,刀闸或相机一般都会有一定程度的位置偏移,利用刀闸臂关节点和变换矩阵获取的理想图像的刀闸臂关节点与理论上的理想图像的刀闸臂关节点会存在一些误差,该误差不影响角平分线的计算。
根据对初始帧图像中刀闸臂的定位结果对该帧图像中的刀闸进行边缘检测,确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线的具体方式为:根据刀闸臂定位结果对初始帧图像进行边缘检测,获取边缘线集合,计算初始帧图像的刀闸臂关节点到边缘线集合中的每条边缘线的距离,给定上距离阈值和下距离阈值,将不在阈值范围内的距离所对应的边缘线剔除,获取更新边缘线集合;利用角平分线将更新边缘线集合上下区分,分别获取上刀闸臂边缘线集合和下刀闸臂边缘线集合并进行对称配对,确定最终的上刀闸臂边缘线和下刀闸臂边缘线。
确定初始帧图像中的上刀闸臂边缘线和下刀闸臂边缘线时,利用角平分线将更新边缘线集合上下区分,分别获取上刀闸臂边缘线集合和下刀闸臂边缘线集合的具体方式为:在目标图像中计算以关节点为起点的垂直于角平分线且方向向上或方向向下的单位方向向量遍历更新边缘线集合中的边缘线,对其中任一条边缘线的两个端点记作T1和T2,将T1与刀闸臂关节点的向量记作/>将T2与刀闸臂关节点的向量记作/>计算/>和对于方向向上的单位方向向量/>若/>则T1在角平分线上侧,否则在角平分线下侧,若/>则T2在角平分线上侧,否则角平分线下侧;对于方向向下的单位方向向量/>若/>则T1在角平分线下侧,否则在角平分线上侧,若/>则T2在角平分线下侧,否则角平分线上侧;
若T1和T2均在角平分线上侧,则该边缘线为上刀闸臂边缘线,若T1和T2均在角平分线下侧,则该边缘线为下刀闸臂边缘线,若T1和T2分别在角平分线两侧,计算该边缘线以角平分线为分割线的上下线段长度,该边缘线为上下侧线段较长侧的边缘线,获取上刀闸臂边缘线集合和下刀闸臂边缘线集合。
如图3所示,n为单位向量,T1,T2为边缘线的两个端点,P1,P2为连接刀闸臂关节点和T1,T2组成的向量,P1,P2与n的夹角为锐角,所以 所以T1,T2均在角平分线上侧,T1,T2组成的边缘线为上刀闸臂边缘线。
单位方向向量计算的具体方式为:设定目标图像上刀闸臂的角平分线线为y=kx+b,刀闸臂关节点坐标为(Cx,Cy),设定垂直于角平分线且过刀闸臂关节点的垂线的直线方程为y=cx+d,c=-1/k,Cy=-1/k*Cx+d,d=Cy+1/k*Cx;根据垂线的直线方程计算以刀闸臂关节点为起点且方向向上或方向向下的单位方向向量/>设单位方向向量的终点坐标为(nx,ny),
则(ny-Cy)/(nx-Cx)=-1/k,(ny-Cy)2+(nx-Cx)2=1,求nx和ny,单位方向向量
“将上刀闸臂边缘线集合和下刀闸臂边缘线集合进行对称配对,确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线”的方式为:给定角度阈值,对于上刀闸臂边缘线集合中的任一条边缘线相对于水平位置的角度记为Mh,h代表不同的上刀闸臂边缘线,将任两个上刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的上刀闸臂边缘线按照从长到短排序;对于下刀闸臂边缘线集合中的任一条边缘线相对于水平位置的角度记为Nm,m代表不同的下刀闸臂边缘线,将任两个下刀闸臂边缘线的角度差值位于角度阈值内的划分为同组,将同组内的下刀闸臂边缘线按照从长到短排序;
遍历上刀闸臂边缘线集合的所有同组和下刀闸臂边缘线集合的所有同组并进行一一配对,计算任两组校正刀闸臂边缘线和配对分数,分数最高的组合对应的校正上刀闸臂边缘线和校正下刀闸臂边缘线即为最终的上刀闸臂边缘线和下刀闸臂边缘线。
“遍历上刀闸臂边缘线集合的所有同组和下刀闸臂边缘线集合的所有同组并进行一一配对,计算任两组校正刀闸臂边缘线和配对分数”的方式为:如图2所示,根据模型文件计算顶部两个端点之间的上中点和底部两个端点之间的下中点,计算每组的平均角度,上刀闸臂边缘线集合中每组的平均角度结合上中点获取上刀闸臂边缘线集合中每组的校正上刀闸臂边缘线,校正上刀闸臂边缘线与角平分线的交点记作A点;下刀闸臂边缘线集合中每组的平均角度结合下中点获取下刀闸臂边缘线集合中每组的校正下刀闸臂边缘线,校正下刀闸臂边缘线与角平分线的交点记作B点,计算A点和B点之间的距离dAB;刀闸臂上固定边界至下固定边界的距离为d0,dAB/d0>0.5则剔除A点所在的同组和B点所在的同组;
设定任两组配对分数的计算公式为其中系数ST表示上刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;SB表示下刀闸臂边缘线集合的任一个同组内边缘线长度的平方和;β为可调节的灵敏度参数;最高的配对分数S对应的A点所在的校正上刀闸臂边缘线和B点所在的校正下刀闸臂边缘线为最终的上刀闸臂边缘线和下刀闸臂边缘线。
假设上刀闸臂边缘线集合的任一个同组内边缘线数目为K,每条边缘线可表示为Li,根据边缘线起点终点坐标计算其长度为LLengthi,其中i=0,1,...K,,则ST=LLength0 2+LLength1 2...+LLengthK 2;假设下刀闸臂边缘线集合的任一个同组内边缘线数目为Q,每条边缘线可表示为Rj,根据边缘线起点终点坐标计算其长度为RLengthj,其中j=0,1,...,Q,则SB=RLength0 2+RLength1 2...+RLengthQ 2;β为可调节的灵敏度参数,在实际使用中可通过取不同的β值获取不同的分数,根据不同的分数确定配对结果,选择配对结果最好的对应的β值为最终的β值,不同的用户也可根据实际情况自行确定;最高的配对分数S对应的A点所在的校正上刀闸臂边缘线和B点所在的校正下刀闸臂边缘线为最终的上刀闸臂边缘线和下刀闸臂边缘线。
利用前一帧图像的特征点对当前帧图像中刀闸臂关节点跟踪定位的具体方式为:前一帧图像中的特征点位于前一帧图像中刀闸臂关节点定位时的关节点矩形框内,将前一帧图像中的特征点对应到当前帧图像中并获取这些特征点在当前帧图像中的位置,前一帧图像中的特征点对应到当前帧图像中为跟踪点;根据跟踪点获取当前帧图像中的包含所有跟踪点的最小矩形框,即为当前帧图像中的关节点矩形框,当前帧图像中的关节点矩形框的中点为刀闸臂关节点,以此实现对当前帧图像中刀闸臂关节点跟踪定位。根据定位结果计算当前帧图像中刀闸臂角平分线的具体方式与计算初始帧图像中刀闸臂角平分线的具体方式一样。确定当前帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线的具体方式与确定初始帧图像中最终的上刀闸臂边缘线和下刀闸臂边缘线的具体方式相同。处理后续的图像与处理当前帧图像是相同的处理方式。“计算上刀闸臂和下刀闸臂之间的夹角”的方式为:以最终的上刀闸臂边缘线和下刀闸臂边缘线为基准,若最终的上刀闸臂边缘线相对于闭合状态刀闸臂角平分线所在直线的角度为α1,最终的下刀闸臂边缘线相对于闭合状态刀闸臂角平分线所在直线的角度为α2,上下刀闸臂间的最终夹角为θ=|α2-α1|。
判断初始帧图像中的实时状态的具体方式为:根据用户需求给出剪刀式刀闸“打开”和“闭合”状态的两个角度阈值T-o和T-c;若上刀闸臂和下刀闸臂之间的夹角大于T-o,判定初始帧图像中的刀闸是打开状态,若上刀闸臂和下刀闸臂之间的实际夹角小于T-c,判定初始帧图像中的刀闸是闭合状态,若上刀闸臂和下刀闸臂之间的实际夹角介于T-o和T-c之间,判定初始帧图像中的刀闸是虚合状态。在实际使用中,角度阈值根据实际使用状况确定。
判断当前帧图像中刀闸的实时状态的具体方式为:根据用户需求给出剪刀式刀闸“打开”和“闭合”状态的两个角度阈值T-o和T-c,设定打开状态的高阈值hT-o和低阈值lT-o,T-o介于高阈值hT-o和低阈值lT-o之间,hT-o>T-o>lT-o;设定闭合状态的高阈值hT-c和低阈值lT-c,T-c介于高阈值hT-c和低阈值lT-c之间,hT-c>T-c>lT-c,且lT-o>hT-c;若上刀闸臂和下刀闸臂之间的校正夹角大于hT-o,判定当前帧图像中的刀闸是打开状态,若左刀闸臂和右刀闸臂之间的校正夹角小于lT-c,判定当前帧图像中的刀闸是闭合状态,若左刀闸臂和右刀闸臂之间的校正夹角介于hT-c和lT-o之间,判定当前帧图像中的刀闸是虚合状态;若左刀闸臂和右刀闸臂之间的校正夹角介于lT-o和hT-o之间或介于lT-c和hT-c之间,判定当前帧图像中的刀闸状态与前一帧图像中刀闸的状态相同。
判断下一帧图像中的刀闸状态与判断当前帧图像中的刀闸状态的方式相同。
建立模型文件和根据训练模型获取刀闸估计状态时,刀闸的闭合状态指的是上刀闸臂与上固定边界间存在接触且上下刀闸臂在同一直线上,虚合状态指的是上刀闸臂与上固定边界间存在接触但上下刀闸臂不在同一直线上,打开状态指的是上刀闸臂与上固定边界间不存在接触。这里的刀闸状态是笼统的,不同于根据刀闸臂间的夹角获取的刀闸状态,根据刀闸臂间夹角获取的刀闸状态为目标图像中刀闸的最终状态。直至检测到刀闸停止运动,验证视频中刀闸运动的最终状态的具体方式为:判断连续的每一帧图像中刀闸的实时状态后将其记录;给定连续帧数阈值,若连续帧图像中的刀闸状态保持不变,且连续帧数大于连续帧数阈值,表明刀闸维持同一个状态,检测到刀闸停止运动;若第一帧图像中刀闸的状态是打开状态,验证最终状态时是闭合状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理;若刀闸的状态是闭合状态,验证最终状态时是打开状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理;若刀闸的状态是虚合状态,验证最终状态时为闭合或打开状态则操作完成,验证最终状态时是虚合状态,则报警提示并请示工作人员人工确认和处理。
剪刀式刀闸指的是垂直伸缩式隔离开关,该类隔离开关以中间关节点为基准,将刀闸分为上下刀闸臂,在刀闸开合过程中,刀闸臂利用关节点进行伸缩式开合,完全闭合时两个刀闸臂在同一直线上,完全打开时两个刀闸臂折叠在一起。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。