具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的一较佳实施例提供的在线课堂中基于网格的接力跟踪方法的流程图。
如图1所示,根据本发明的在线课堂中基于网格的接力跟踪方法主要包括以下三个步骤:
步骤102,将二值图像序列网格化;
步骤104,确定在每一帧二值图像中各运动目标所占的网格位置。
步骤106,按照二值图像序列之间的顺序以及各运动目标在每一二值图像中的网格位置统计出所述各运动目标的运动轨迹。
步骤108,基于所述运动轨迹判断对应的运动目标是否进入二值图像中的边界网格中,在确定所述运动目标进入边界网格时,所述当前摄像机的相邻摄像机对所述运动目标进行接力跟踪。
在上述步骤104中,确定在每一帧二值图像中任一运动目标所占的网格位置,包括:
在二值图像中以Z字形搜索网格,每一网格对应一个图像块;
在检测到有效图像块时,继续判断所述有效图像块的相邻图像块是否是有效图像块,其中,有效图像块是像素值为第一值的像素个数占整个图像块总像素数目的比例,若所述比例大于预设值,则判定该图像块是有效图像块;
如果连续相邻的图像块均为有效图像块,则判定所述连续相邻的图像块是所述运动目标。
上述在线课堂中基于网格的接力跟踪方法还可以包括以下步骤:
判断所述连续相邻的图像块包含的图像块个数是否小于预设值;
根据判断结果将图像块个数大于等于预设值的连续相邻的图像块作为所述运动目标。
在上述步骤106中,确定各运动目标的运动轨迹的过程具体包括:
将当前帧二值图像中的各运动目标对应的图像块与前一帧二值图像中的各运动目标对应的图像块进行比较;
若当前帧二值图像中的运动目标与前一帧二值图像中的运动目标有重叠,则具有重叠的两个运动目标是同一运动目标,所述同一运动目标在前一帧二值图像和当前帧二值图像中的网格位置构成所述同一运动目标的运动轨迹。
上述在线课堂中基于网格的接力跟踪方法还可以包括:
若存在任意两个运动目标的运动轨迹方向是相对的,则在计算所述两个运动目标的运动轨迹时,忽略所述两个运动目标在发生重叠时所在的二值图像中的网格位置,采用预估的网格位置替代在发生重叠时所在的二值图像中的网格位置。
其中,所述边界网格是所述二值图像边缘以内预设行数和/或预设列数的网格。
下面结合图2进一步说明根据本发明的技术方案。
如图2所示,首先,将各二值图像网格化,将图像划分成同等大小的网格,使二值图像被划分成图像块,每一图像块的大小可以是3×3个像素大小。
然后在图像中检测运动目标。运动目标的检测方法具体包括:
在二值图像中以Z字形搜索网格,在检测到有效图像块时,继续判断该有效图像块的相邻图像块是否是有效图像块,其中,在图像块中,若像素值为第一值的像素个数占整个图像块总像素数目的比例大于预设值,则判定该图像块是有效图像块。如果连续相邻的图像块均为有效图像块,则判定连续相邻的图像块是运动目标。如果一个有效图像块的周边没有有效图像块,则忽略该有效图像块。如图2所示,在该二值图像中检测出两个运动目标,运动目标的中心位置可以用对应的网格位置(m,n)来表示,m表示第几行,n表示第几列。
除此之外,为了提高检测准确率,还需要判断连续相邻的图像块数是否大于预设值,只有大于预设值,才认为该连续相邻的图像块是运动目标。
因此,通过该方法可以检测出一个二值图像中有多少个运动目标。
采用上述同样的方法可以在所有的二值图像中检测出运动目标。假设有三帧二值图像f1、f2、f3,在每一帧二值图像中均检测出两个运动目标。在确定每个运动目标中心的网格位置之后,根据图像帧之间的顺序就可以形成针对一个运动目标的运动轨迹。在生成运动轨迹时,需要判断哪个运动目标与哪个运动目标是同一运动目标。在本实施例中,通过判断f1中的运动目标与f2中的运动目标是否有重叠的方式来确定是否是同一运动目标,由于运动目标有位移,因此只要两帧之间的运动目标有重叠,说明这两帧中的运动目标是同一运动目标。在锁定了同一运动目标之后,就可以根据同一运动目标在不同二值图像中的网格位置来生成运动轨迹了。因此,在存在多个运动目标时,也能够获得多个运动目标的不同运动轨迹。
在某些场景下,两个运动目标的运动轨迹方向有可能是相对的,因此在某个时刻的二值图像中,两个运动目标会有重叠,可能会引起误检,认为出现了新的运动目标。在本实施例中也考虑到该特殊情况,如果出现这种情况,即突然出现了个运动目标,在一两秒之后又突然消失,在此可以认为不是真的运动目标,而是两个运动目标出现了重叠。在该情况下,可以忽略发生两个运动目标在发生重叠时所在的二值图像中的网格位置,采用预估的网格位置替代在发生重叠时所在的二值图像中的网格位置。即可以根据已得到的运动目标的运动轨迹来预估在下一刻可能的网格位置,用该网格位置来作为运动目标的实际网格位置。两三帧的网格位置的误差不会影响整个运动目标的运动轨迹趋势。
在生成运动目标的运动轨迹之后,根据该运动轨迹可以判断运动目标是否进入二值图像中的边界网格中,或者是否正要离开当前摄像机的拍摄范围,边界网格是二值图像边缘以内预设行数和/或预设列数的网格。在确定运动目标进入边界网格时,当前摄像机的相邻摄像机对运动目标进行接力跟踪。如图3所示,在本实施例中,可以设置最外的两行两列是边界网格。
从上述实施例中可以看出,根据本发明的在线课堂中基于网格的接力跟踪方法没有特征提取步骤,绕过了复杂的特征计算方法,大大降低了计算复杂度,在没有统计特征的情况下,也能够检测出运动目标,并可统计出运动目标的数量,提高了运动目标检测与跟踪的实时性。
图4所示为根据本发明的较佳实施例提供的在线课堂中基于网格的接力跟踪装置的框图。
如图4所示,根据本发明的实施例的一种基于网格的运动目标接力跟踪装置400可以包括:划分单元402,用于将二值图像序列网格化;
位置检测单元404,连接至所述划分单元402,用于确定在每一帧二值图像中各运动目标所占的网格位置;
运动轨迹统计单元406,连接至所述位置检测单元,按照二值图像序列之间的顺序以及各运动目标在每一二值图像中的网格位置统计出所述各运动目标的运动轨迹;
判断单元408,连接至所述运动轨迹统计单元,基于所述运动轨迹判断对应的运动目标是否进入二值图像中的边界网格中;
接力跟踪单元410,连接至所述判断单元408,在确定所述运动目标进入边界网格时,所述当前摄像机的相邻摄像机对所述运动目标进行接力跟踪。
其中,所述位置检测单元404包括:
搜索子单元,在二值图像中以Z字形搜索网格,每一网格对应一个图像块;
有效图像块检测子单元,在检测到有效图像块时,继续判断所述有效图像块的相邻图像块是否是有效图像块,其中,有效图像块是像素值为第一值的像素个数占整个图像块总像素数目的比例,若所述比例大于预设值,则判定该图像块是有效图像块;
运动目标检测子单元,如果连续相邻的图像块均为有效图像块,则判定所述连续相邻的图像块是所述运动目标。
其中,所述运动轨迹统计单元406可以包括:
比较子单元,将当前帧二值图像中的各运动目标对应的图像块与前一帧二值图像中的各运动目标对应的图像块进行比较;
轨迹计算子单元,若当前帧二值图像中的运动目标与前一帧二值图像中的运动目标有重叠,则具有重叠的两个运动目标是同一运动目标,所述同一运动目标在前一帧二值图像和当前帧二值图像中的网格位置构成所述同一运动目标的运动轨迹。
所述运动轨迹统计单元406还用于若存在任意两个运动目标的运动轨迹方向是相对的,则在计算所述两个运动目标的运动轨迹时,忽略所述两个运动目标在发生重叠时所在的二值图像中的网格位置,采用预估的网格位置替代在发生重叠时所在的二值图像中的网格位置.
根据本发明提供的在线课堂中基于网格的接力跟踪方法及装置,无需复杂的特征计算过程,也无需计算连通域,通过对二值图像进行网格化的手段来进行运动目标检测和跟踪,简化了目标跟踪运算度,增强了目标跟踪的实时性。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。