1.一种基于视频处理的皮带运动状态监测方法,其特征在于:包括以下步骤:步骤1:逐帧读取皮带监控视频的实时视频流,对视频帧利用背景减除算法的KNN背景分割器设置阴影检测,进行包括图像形态学操作在内的预处理;
步骤2:对预处理后的视频帧,根据前景面积检测运动物体,根据视频中的运动区域面积设立标志位flag,判断当前视频帧中皮带的运动状态;
步骤3:定义一个包括皮带四种运动状态的FSM,皮带四种运动状态包括:正常运行、空载运行、疑似空载运行和停止运行;根据标志位及标志位的累加值,判断当前视频帧的状态;
步骤4:运行FSM,每5帧判断一次状态变化,以实现皮带四种运动状态的动态转换,从而对皮带的运动状态做出判断并实时报警。
2.根据权利要求1所述的基于视频处理的皮带运动状态监测方法,其特征在于:在步骤
1中,具体包括如下步骤:
步骤1.1:引入背景减除算法的KNN背景分割器进行背景分割,通过KNN背景分割器从视频流中分离出运动的物体前景;
基于完整的皮带静止背景帧,能够通过帧差法来计算像素差从而获取前景对象,但是在检测皮带运动状况的情况下,背景帧不会完全静止,从而需要在视频流的每帧图像中提取背景,而当皮带上的物体有阴影时,因阴影也在移动,背景提取更加复杂,因此引入了背景减除算法,以达到目标检测的目的;
步骤1.2:对分离出的运动物体前景,根据皮带在监控视频中的具体位置划定一个ROI区域作为皮带的检测区域,并对其进行单阈值OTSU二值化处理、形态学处理,实时检测动态前景。
3.根据权利要求1所述的基于视频处理的皮带运动状态监测方法,其特征在于:在步骤
2中,具体包括如下步骤:
步骤2.1:参数初始化,定义标志位flag为0,临界面积MaxArea为50;
步骤2.2:利用contourArea,计算运动区域面积Area,判断Area与MaxArea的大小;
若判断结果是Area≤MaxArea,则flag=1,认为当前视频帧中的皮带为静态;
或判断结果是Area>MaxArea,则flag=2,认为当前视频帧中的皮带为动态。
4.根据权利要求1所述的基于视频处理的皮带运动状态监测方法,其特征在于:在步骤
3中,具体包括如下步骤:
步骤3.1:参数初始化,定义标志位的累加值countFlag为0;
步骤3.2:定义一个包括皮带四种运动状态的FSM;
步骤3.3:实现FSM的参数初始化,具体包括如下步骤:步骤3.3.1:定义一个空载计时器unMoveTime为0和一个状态变量,通过FSM变换得到皮带的运动状态信息,然后对应的改变状态变量和空载计时器的值;
步骤3.3.2:定义一个特定的二值化阈值sThreshold,用于在当前视频帧进入FSM的“停止运行”状态后,以便在皮带进入“正常运行”状态时能够敏锐地捕捉到状态的变化;
步骤3.3.3:定义一个空载时间阈值,以供后期空载运行报警判断;
步骤3.4:根据标志位flag和标志位的累加值countFlag,判断当前视频帧的状态,具体包括如下步骤:步骤3.4.1:逐帧读取预处理后的视频流,根据flag的值,对countFlag进行累加:若flag=1,即当前视频帧中的皮带为静态时,countFlag累加1;
若flag=2,即当前视频帧中的皮带为动态时,countFlag重新置为0;
步骤3.4.2:判断countFlag的大小;
当countFlag<50时,认为当前视频帧进入FSM的“正常运行”状态;
当50≤countFlag<1000时,认为当前视频帧进入FSM的“疑似空载运行”状态;
当countFlag≥1000时,认为当前视频帧进入FSM的“停止运行”状态,修改当前二值化阈值为sThreshold。
5.根据权利要求1所述的基于视频处理的皮带运动状态监测方法,其特征在于:在步骤
4中,具体包括如下步骤:
步骤4.1:FSM处于“正常运行”状态时,运行皮带运动检测过程,若连续十次状态变化判断的flag都为2,即countFlag>50,则认为FSM进入“疑似空载运行”状态,反之状态不变;
步骤4.2:FSM处于“疑似空载运行”状态时,运行皮带运动检测过程,空载计时器unMoveTime开始从0计数,具体包括如下步骤:步骤4.2.1:参数初始化,分别定义第一系统时间fTime、第二系统时间sTime和第三系统时间tTime为0;
步骤4.2.2:判断第一系统时间fTime是否等于零;
若:判断结果是fTime=0时,则令fTime、sTime和tTime等于当前系统时间;
或判断结果是fTime≠0时,则将tTime的值传给sTime,然后令Ttime等于当前系统时间;
步骤4.2.3:判断tTime与sTime的差值与80s的大小关系;
若:判断结果是tTime与sTime的差值小于80s,则认为皮带在这段时间仍为“疑似空载运行”状态,空载计时器unMoveTime累加当前tTime与sTime的差值;
或判断结果是tTime与sTime的差值大于或者等于80s,则认为皮带在这段时间为“正常运行”状态,空载计时器unMoveTime和fTime重新置为0;
步骤4.2.4查看空载计时器unMoveTime,判读unMoveTime的累计时间是否超过预设的空载运行时间阈值;
若:判断结果是unMoveTime的累计时间超过预设的空载运行时间阈值,则认为FSM进入“空载运行”状态,进行实时报警并显示报警状态信息,将空载计时器重置为0,重新开始计时;
或判断结果是unMoveTime的累计时间没有超过预设的空载运行时间阈值,则状态不变;
步骤4.3:FSM处于“停止运行”状态时,运行皮带运动检测过程,若下一次状态变化的flag=2,即当前视频帧中的皮带从静止状态转变为运动状态,则认为FSM进入“正常运行”状态,反之状态不变;
步骤4.4以此类推,每5帧运行一次上述FSM过程,完成一次判断。