一种基于LSD直线检测分割算法的集装箱异动监测方法技术

技术编号:20683291 阅读:34 留言:0更新日期:2019-03-27 19:40
本发明专利技术公开了一种基于LSD直线检测分割算法的集装箱异动监测方法,包括步骤A:生成标准模板,步骤B:新的视频帧直线要素进行比对统计,步骤C,结果处置。本发明专利技术利用LSD算法提取图像直线技术手段,通过对摄像头采集的视频,获取集装箱的初始位置、状态,如果集装箱发生异动,通过与初始位置的比对,继而找出发生异动的集装箱,并输出异动事件。本发明专利技术通过建立多帧模板,有效降低了摄像头抖动的影响;并进一步建立标准模板,划定敏感区,有效提高异动的报告方式,多线程划分,提高了处理效率。

【技术实现步骤摘要】
一种基于LSD直线检测分割算法的集装箱异动监测方法
本专利技术涉及集装箱监控
,特别涉及一种基于LSD直线检测分割算法的集装箱异动监测方法。
技术介绍
集装箱通过锁钮及绑扎杆等固定装置进行固定,并按照下重上轻的堆放原则进行摆放,以增强集装箱的稳定性。如果集装箱的稳定性偏低,横摇周期变长,抵抗横风横浪的能力偏弱,一旦集装箱发生移动,船舶重心不稳,则会使航行的危险性增大,极易发生事故。以前,行业内普遍采用在船舶上安装摄像头的方式进行集装箱的异动监控,但这种方式只能观测到幅度较大的异动,如果有细微异动,摄像头很难观测到,并且也无法避免集装箱异动的发生。近年来,行业开始研究集装箱异动监测的新技术,LSD直线监测分割算法就是其中一种。LSD(LineSegmentDetector)算法是一种直线特征检测算法,能在极短时间内得出亚像素级精度的检测结果,LSD算法被设计为可以在数字图像上都无需参数调节,可自行控制误检的数量。该算法可检测图像中局部笔直的线性轮廓,即直线分割。LSD算法执行速率快、精度高,非常适合用于直线特征明显的集装箱监测技术。
技术实现思路
为实现上述目的,本专利技术公开了一种基于LSD直线检测分割算法的集装箱异动监测方法,包括以下步骤:步骤A:生成标准模板,步骤B:新的视频帧直线要素进行比对统计,步骤C,结果处置;所述的步骤A包括:步骤A1、视频实时性同步:针对输入的视频,采取多线程技术处理,一个线程负责取视频数据,并且将数据转换为算法可用的矩阵数据,另一个线程负责事件处理,以保证处理线程内的数据为最新帧,避免由于终端性能差异导致视频实时性差;步骤A2、建立空白模板:根据视频帧的像素大小,生成同样大小的空白模板,其尺寸为:宽为输入图像矩阵的宽度,高为输入图像矩阵的高度,波段数为1,单色波段,图像位深为2bit;步骤A3、提取每一帧视频帧进行LSD算法处理:将摄像头采集的视频帧转换为LSD算法的数据结构,通过LSD算法处理,采集当前视频帧的直线特征,并将直线要素置信度参数大于2的以值1填充在A2的模板中,至此生成第一帧模板;步骤A4、LSD算法处理下一帧视频帧:与步骤A3相同,将直线要素以像素值1填充模板;LSD算法连续处理50帧:循环步骤A4,在模板中共填充50次直线要素,目的是减少单次识别误差及摄像头抖动产生的误差;步骤A5、将A4中产生的结果,作为不敏感区;以像素为单位进行要素扩展,分为5级预警区域,作为敏感区,两者共同构成初始模板,此处命名为Mask;所述的步骤B包括:步骤B1、创建事件模板:与A2相同;步骤B2、LSD算法处理第51帧:与步骤A3相同,将直线要素以像素值1填充模板,此处命名为Frame51;步骤B3、统计:将Frame51与Mask进行比较,落在不敏感区的要素信息不参与统计,落在敏感区的要素进行统计分析,分别统计敏感区的要素数量;所述的步骤C包括:步骤C1、结果判断:根据预先设置的阈值进行等级判断,得出异动的区域,如果异动的区域大于设定值,根据设置的预报模式输出异动事件,算法周期结束,重置,从A2重新开始,进行下一循环;如果未大于设定值,则重复循环执行步骤B;作为上述技术方案的进一步改进,所述步骤A3进一步包括以下步骤:A31:LSD尺度缩放因子;A32:LSD梯度及方向模板;A33:梯度伪排序;A34:直线区域增长;A35:NFA的计算;A36:类内点密度;A37:优化矩形。作为上述技术方案的进一步改进,所述步骤C1进一步包括以下步骤:C11:敏感阈值设置;C12:结果预报模式设置;设置输出结果样式。本专利技术的有益效果是:利用LSD算法提取图像直线技术手段,通过对摄像头采集的视频,获取集装箱的初始位置、状态,如果集装箱发生异动,通过与初始位置的比对,继而找出发生异动的集装箱,并输出异动事件。本专利技术通过建立多帧模板,有效降低了摄像头抖动的影响;并进一步建立标准模板,划定敏感区,有效提高异动的报告方式,多线程划分,提高了处理效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的工作原理流程图;图2为本专利技术LSD直线检测分割算法的工作原理流程图;图3是本专利技术实验过程中的第一帧原始图;图4是本专利技术实验过程中采集到的模板第一帧图像;图5是本专利技术实验过程中处理完成的初始模板;图6是与初始模板比对后得到的集装箱无异动的视频帧;图7是与初始模板比对后得到的集装箱有异动的视频帧;图8是有异动视频帧的原始图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。如图1-2所示,本专利技术给出的一种基于LSD直线检测分割算法的集装箱异动监测方法,该方法包括生成标准模板和异动统计及结果处置三部分。第一部分、生成标准模板:所述的步骤A的方法包括:步骤A1、视频实时性同步:针对输入的视频,采取多线程技术处理,一个线程负责取视频数据,并且将数据转换为算法可用的矩阵数据,另一个线程负责事件处理,以保证处理线程内的数据为最新帧,避免由于终端性能差异导致视频实时性差;步骤A2、建立空白模板:根据视频帧的像素大小,生成同样大小的空白模板,其尺寸为:宽为输入图像矩阵的宽度,高为输入图像矩阵的高度,波段数为1,单色波段,图像位深为2bit;步骤A3、提取每一帧视频帧进行LSD算法处理:将摄像头采集的视频帧转换为LSD算法的数据结构,通过LSD算法处理,采集当前视频帧的直线特征,并将直线要素置信度参数大于2的以值1填充在A2的模板中,至此生成第一帧模板;其中LSD算法处理,可分为7个流程:尺度缩放、梯度和方向计算、梯度伪排序、直线(矩形)区域增长、NFA的计算、类内点密度、优化矩形。通过这7步,可从图片中检测分割出直线。下面简述各个步骤:A31尺度缩放:实验中尺度缩放因子s=0.8目的是为了消除锯齿效应。然后用高斯下采样的方式对输入图像进行操作;A32梯度和方向计算:计算时用到的是2*2的模板,为了用相反模块的时候保证相邻点方向分布的独立性;A33梯度伪排序:梯度值越大,越是显著的边缘点,因此更适合作为种子点。对梯度值进行完全排序是一个时效性很高的工作,因此简单的将梯度值划分为1024个等级,这1024个等级涵盖了梯度由0~255的变化范围,这种排序是一个线程的时耗。种子点从梯度值最高的等级开始搜索,依次往下,直至所有点标记为USED;A34直线(矩形)区域增长:由种子点搜索角度满足并且状态为USED的点(八邻域)形成的区域称为line-supportregion。邻域内在角度承受范围t内满足整个区域的方向角region-ang的点加入到这个区域;A35NFA的计算:NFA(NumberofFalseALarms)来评判图像中某个候选的矩形少于相反模块中相同位置矩形里标记点的数量的概率,NFA越大,表明当前矩形与相反模块中相同位置越相似,相反的,当前矩形越有可能是“真正的目标”;A36类内点密度:类内点的本文档来自技高网...

【技术保护点】
1.一种基于LSD直线检测分割算法的集装箱异动监测方法,其特征在于,包括步骤A:生成标准模板,步骤B:新的视频帧直线要素进行比对统计,步骤C,结果处置;所述的步骤A包括:步骤A1、视频实时性同步:针对输入的视频,采取多线程技术处理,一个线程负责取视频数据,并且将数据转换为算法可用的矩阵数据,另一个线程负责事件处理,以保证处理线程内的数据为最新帧,避免由于终端性能差异导致视频实时性差;步骤A2、建立空白模板:根据视频帧的像素大小,生成同样大小的空白模板,其尺寸为:宽为输入图像矩阵的宽度,高为输入图像矩阵的高度,波段数为1,单色波段,图像位深为2bit;步骤A3、提取每一帧视频帧进行LSD算法处理:将摄像头采集的视频帧转换为LSD算法的数据结构,通过LSD算法处理,采集当前视频帧的直线特征,并将直线要素置信度参数大于2的以值1填充在A2的模板中,至此生成第一帧模板;步骤A4、LSD算法处理下一帧视频帧:与步骤A3相同,将直线要素以像素值1填充模板;LSD算法连续处理50帧:循环步骤A4,在模板中共填充50次直线要素,目的是减少单次识别误差及摄像头抖动产生的误差;步骤A5、将A4中产生的结果,作为不敏感区;以像素为单位进行要素扩展,分为5级预警区域,作为敏感区,两者共同构成初始模板,此处命名为Mask;所述的步骤B包括:步骤B1、创建事件模板:与A2相同;步骤B2、LSD算法处理第51帧:与步骤A3相同,将直线要素以像素值1填充模板,此处命名为Frame51;步骤B3、统计:将Frame51与Mask进行比较,落在不敏感区的要素信息不参与统计,落在敏感区的要素进行统计分析,分别统计敏感区的要素数量;所述的步骤C包括:步骤C1、结果判断:根据预先设置的阈值进行等级判断,得出异动的区域,如果异动的区域大于设定值,根据设置的预报模式输出异动事件,算法周期结束,重置,从A2重新开始,进行下一循环;如果未大于设定值,则重复循环执行步骤B。...

【技术特征摘要】
1.一种基于LSD直线检测分割算法的集装箱异动监测方法,其特征在于,包括步骤A:生成标准模板,步骤B:新的视频帧直线要素进行比对统计,步骤C,结果处置;所述的步骤A包括:步骤A1、视频实时性同步:针对输入的视频,采取多线程技术处理,一个线程负责取视频数据,并且将数据转换为算法可用的矩阵数据,另一个线程负责事件处理,以保证处理线程内的数据为最新帧,避免由于终端性能差异导致视频实时性差;步骤A2、建立空白模板:根据视频帧的像素大小,生成同样大小的空白模板,其尺寸为:宽为输入图像矩阵的宽度,高为输入图像矩阵的高度,波段数为1,单色波段,图像位深为2bit;步骤A3、提取每一帧视频帧进行LSD算法处理:将摄像头采集的视频帧转换为LSD算法的数据结构,通过LSD算法处理,采集当前视频帧的直线特征,并将直线要素置信度参数大于2的以值1填充在A2的模板中,至此生成第一帧模板;步骤A4、LSD算法处理下一帧视频帧:与步骤A3相同,将直线要素以像素值1填充模板;LSD算法连续处理50帧:循环步骤A4,在模板中共填充50次直线要素,目的是减少单次识别误差及摄像头抖动产生的误差;步骤A5、将A4中产生的结果,作为不敏感区;以像素为单位进行要素扩展,分为5级预警...

【专利技术属性】
技术研发人员:曹亮赵强张朋元
申请(专利权)人:华际科工北京卫星通信科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1