首页 / 专利库 / 多媒体工具与应用 / 宏模块 / 像素 / 背景像素 / 检测对象的方法、装置、电子设备和存储介质

检测对象的方法、装置、电子设备和存储介质

阅读:183发布:2020-05-11

专利汇可以提供检测对象的方法、装置、电子设备和存储介质专利检索,专利查询,专利分析的服务。并且本公开提供了一种检测对象的方法、装置、 电子 设备和存储介质,涉及智能交通和智能驾驶的技术领域。该方法包括:基于视频中的目标 帧 之前的一组先前帧,在目标帧中检测目标对象,目标对象在采集一组先前帧之前处于运动状态,并且在采集一组先前帧和目标帧时处于静止状态。该方法还包括:基于对象在目标帧中的 位置 范围,确定目标帧之后的一组后续帧在位置范围内的一组后续图像。该方法还包括:至少基于一组后续图像,来确定对象处于静止状态的时段是否达到预定时长。该方法进一步包括:根据确定对象处于静止状态的时段达到预定时长,通过识别对象的类别来确定对象的异常性。本公开的 实施例 可以提高检测异常对象的准确性和全面性。,下面是检测对象的方法、装置、电子设备和存储介质专利的具体信息内容。

1.一种检测对象的方法,包括:
基于视频中的目标之前的一组先前帧,在所述目标帧中检测目标对象,所述目标对象在采集所述一组先前帧之前处于运动状态,并且在采集所述一组先前帧和所述目标帧时处于静止状态;
基于所述目标对象在所述目标帧中的位置范围,确定所述目标帧之后的一组后续帧在所述位置范围内的一组后续图像;
至少基于所述一组后续图像,来确定所述目标对象处于静止状态的时段是否达到预定时长;以及
根据确定所述目标对象处于静止状态的时段达到所述预定时长,通过识别所述目标对象的类别来确定所述目标对象的异常性。
2.根据权利要求1所述的方法,其中检测所述目标对象包括:
获得与所述目标帧和所述一组先前帧分别对应的多个二值图像,在所述多个二值图像中的每个二值图像中,第一像素值表示在所述二值图像对应的帧被采集时保持静止状态达到阈值时长的对象,并且第二像素值表示在所述二值图像对应的帧被采集时保持静止状态未达到阈值时长的对象;
对所述多个二值图像执行逻辑运算,来生成结果二值图像;以及
在所述结果二值图像中,确定由所述第二像素值表示的部分与所述目标对象相对应。
3.根据权利要求2所述的方法,其中获得所述多个二值图像包括,针对所述目标帧和所述一组先前帧中的每个帧:
基于所述帧之前的预定数目的帧来确定针对所述帧的背景图像,所述背景图像表示以所述阈值时长在所述帧被采集之前处于静止状态的对象;
基于所述帧与所述背景图像的比较,来确定所述帧中的背景部分和前景部分;以及通过使用所述第一像素值表示所述背景部分并且使用所述第二像素值表示所述前景部分,来生成与所述帧对应的二值图像。
4.根据权利要求1所述的方法,还包括:
在所述目标帧中确定所述目标对象的图像;以及
在所述目标帧中确定所述位置范围以包括所述目标对象的所述图像。
5.根据权利要求4所述的方法,其中所述位置范围包括矩形图像区域。
6.根据权利要求1所述的方法,其中确定所述目标对象处于静止状态的时段是否达到所述预定时长包括:
针对所述一组后续图像中的每个图像,根据确定所述图像与前一图像之间的差异未达到阈值,将第一计数值递增,所述第一计数值指示所述目标对象被确定为处于静止状态的帧的数目;以及
根据确定所述第一计数值达到第一阈值数目,确定所述目标对象处于静止状态的时段达到所述预定时长。
7.根据权利要求6所述的方法,还包括:
根据确定所述差异达到所述阈值,将第二计数值递增,所述第二计数值指示所述目标对象被确定为处于运动状态的帧的数目;以及
根据确定所述第二计数值达到第二阈值数目,确定所述目标对象处于静止状态的时段未达到所述预定时长。
8.根据权利要求6所述的方法,还包括:
确定多个像素对,所述多个像素对中的每个像素对包括所述图像和所述前一图像的相对应的两个像素;
针对所述多个像素对中的每个像素对,确定所述像素对中的两个像素的像素值之间的差值的绝对值;以及
确定与所述多个像素对分别对应的多个绝对值的总和,以作为所述差异。
9.根据权利要求1所述的方法,还包括:
使用经训练的机器学习模型来识别所述目标对象的类别。
10.根据权利要求1所述的方法,其中确定所述目标对象的所述异常性包括:
根据确定所述目标对象的类别不属于预定的正常类别或属于未知的类别,确定所述目标对象为异常对象。
11.根据权利要求1所述的方法,还包括:
根据确定所述目标对象为异常对象,实时监测所述目标对象的位置变化。
12.一种检测对象的装置,包括:
检测模,被配置为基于视频中的目标帧之前的一组先前帧,在所述目标帧中检测目标对象,所述目标对象在采集所述一组先前帧之前处于运动状态,并且在采集所述一组先前帧和所述目标帧时处于静止状态;
后续图像确定模块,被配置为基于所述目标对象在所述目标帧中的位置范围,确定所述目标帧之后的一组后续帧在所述位置范围内的一组后续图像;
预定时长达到与否确定模块,被配置为至少基于所述一组后续图像,来确定所述目标对象处于静止状态的时段是否达到预定时长;以及
异常性确定模块,被配置为根据确定所述目标对象处于静止状态的时段达到所述预定时长,通过识别所述目标对象的类别来确定所述目标对象的异常性。
13.根据权利要求12所述的装置,其中所述检测模块包括:
二值图像获得模块,被配置为获得与所述目标帧和所述一组先前帧分别对应的多个二值图像,在所述多个二值图像中的每个二值图像中,第一像素值表示在所述二值图像对应的帧被采集时保持静止状态达到阈值时长的对象,并且第二像素值表示在所述二值图像对应的帧被采集时保持静止状态未达到阈值时长的对象;
逻辑运算模块,被配置为对所述多个二值图像执行逻辑运算,来生成结果二值图像;以及
目标对象确定模块,被配置为在所述结果二值图像中,确定由所述第二像素值表示的部分与所述目标对象相对应。
14.根据权利要求13所述的装置,其中所述二值图像获得模块包括背景图像确定模块,比较模块和二值图像生成模块,并且针对所述目标帧和所述一组先前帧中的每个帧:
所述背景图像确定模块被配置为基于所述帧之前的预定数目的帧来确定针对所述帧的背景图像,所述背景图像表示以所述阈值时长在所述帧被采集之前处于静止状态的对象;
所述比较模块被配置为基于所述帧与所述背景图像的比较,来确定所述帧中的背景部分和前景部分;以及
所述二值图像生成模块被配置为通过使用所述第一像素值表示所述背景部分并且使用所述第二像素值表示所述前景部分,来生成与所述帧对应的二值图像。
15.根据权利要求12所述的装置,还包括:
目标对象图像确定模块,被配置为在所述目标帧中确定所述目标对象的图像;以及位置范围确定模块,被配置为在所述目标帧中确定所述位置范围以包括所述目标对象的所述图像。
16.根据权利要求15所述的装置,其中所述位置范围包括矩形图像区域。
17.根据权利要求12所述的装置,其中所述预定时长达到与否确定模块包括:
第一计数值模块,被配置为针对所述一组后续图像中的每个图像,根据确定所述图像与前一图像之间的差异未达到阈值,将第一计数值递增,所述第一计数值指示所述目标对象被确定为处于静止状态的帧的数目;以及
达到预定时长确定模块,被配置为根据确定所述第一计数值达到第一阈值数目,确定所述目标对象处于静止状态的时段达到所述预定时长。
18.根据权利要求17所述的装置,还包括:
第二计数值模块,被配置为根据确定所述差异达到所述阈值,将第二计数值递增,所述第二计数值指示所述目标对象被确定为处于运动状态的帧的数目;以及未达到预定时长确定模块,被配置为根据确定所述第二计数值达到第二阈值数目,确定所述目标对象处于静止状态的时段未达到所述预定时长。
19.根据权利要求17所述的装置,还包括:
像素对确定模块,被配置为确定多个像素对,所述多个像素对中的每个像素对包括所述图像和所述前一图像的相对应的两个像素;
绝对值确定模块,被配置为针对所述多个像素对中的每个像素对,确定所述像素对中的两个像素的像素值之间的差值的绝对值;以及
绝对值总和确定模块,被配置为确定与所述多个像素对分别对应的多个绝对值的总和,以作为所述差异。
20.根据权利要求12所述的装置,还包括:
类别识别模块,被配置为使用经训练的机器学习模型来识别所述目标对象的类别。
21.根据权利要求12所述的装置,其中所述异常性确定模块包括:
异常对象确定模块,被配置为根据确定所述目标对象的类别不属于预定的正常类别或属于未知的类别,确定所述目标对象为异常对象。
22.根据权利要求12所述的装置,还包括:
位置变化监测模块,被配置为根据确定所述目标对象为异常对象,实时监测所述目标对象的位置变化。
23.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1-11中任一项所述的方法。
24.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-11中任一项所述的方法。

说明书全文

检测对象的方法、装置、电子设备和存储介质

技术领域

[0001] 本公开的实施例一般地涉及计算机技术领域和数据/图像处理技术领域,并且更特别地,涉及智能交通和智能驾驶的技术领域。

背景技术

[0002] 道路上的异常对象(例如,遗撒物体)可能是车辆或行人遗落或丢弃的物体,也有可能是不法分子放置的威胁社会安全的危险品。更一般地,道路上的异常对象可以是妨碍交通或不应当出现在道路场景中的任何物体。因此,对道路上的异常对象的检测在交通实践中是非常重要的,并且具有广泛的应用。
[0003] 然而,用于检测道路上的异常对象的传统算法识别异常对象的精度较低,并且无法全面地检测出异常对象,因此不能满足道路交通的实际需求。发明内容
[0004] 本公开的实施例涉及一种用于检测对象的技术方案。
[0005] 在本公开的第一方面,提供了一种检测对象的方法。该方法包括:基于视频中的目标之前的一组先前帧,在目标帧中检测目标对象,目标对象在采集一组先前帧之前处于运动状态,并且在采集一组先前帧和目标帧时处于静止状态。该方法还包括:基于对象在目标帧中的位置范围,确定目标帧之后的一组后续帧在位置范围内的一组后续图像。该方法还包括:至少基于一组后续图像,来确定对象处于静止状态的时段是否达到预定时长。该方法进一步包括:根据确定对象处于静止状态的时段达到预定时长,通过识别对象的类别来确定对象的异常性。
[0006] 在本公开的第二方面,提供了一种检测对象的装置。该装置包括:检测模,被配置为基于视频中的目标帧之前的一组先前帧,在目标帧中检测目标对象,目标对象在采集一组先前帧之前处于运动状态,并且在采集一组先前帧和目标帧时处于静止状态。该装置还包括:后续图像确定模块,被配置为基于对象在目标帧中的位置范围,确定目标帧之后的一组后续帧在位置范围内的一组后续图像。该装置还包括:预定时长达到与否确定模块,被配置为至少基于一组后续图像,来确定对象处于静止状态的时段是否达到预定时长。该装置进一步包括:异常性确定模块,被配置为根据确定对象处于静止状态的时段达到预定时长,通过识别对象的类别来确定对象的异常性。
[0007] 在本公开的第三方面,提供了一种电子设备。该电子设备包括一个或多个处理器、以及存储装置。存储装置用于存储一个或多个程序。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现第一方面的方法。
[0008] 在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面的方法。
[0009] 应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。附图说明
[0010] 通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例。
[0011] 图1示出了本公开的一些实施例能够在其中实现的示例环境的示意图。
[0012] 图2示出了根据本公开的实施例的检测对象的示例过程的流程图
[0013] 图3示出了根据本公开的实施例的在目标帧中检测目标对象的示意图。
[0014] 图4示出了根据本公开的实施例的确定目标帧之后的一组后续帧在位置范围内的一组后续图像的示意图。
[0015] 图5示出了根据本公开的实施例的基于二值图像来检测目标对象的示例过程的流程图。
[0016] 图6A示出了根据本公开的实施例的基于二值图像来检测目标对象的示意图。
[0017] 图6B示出了根据本公开的实施例的基于二值图像来排除运动对象的示意图。
[0018] 图7示出了根据本公开的实施例的基于背景图像来生成二值图像的示例过程的流程图。
[0019] 图8示出了根据本公开的实施例的基于背景图像来生成二值图像的示意图。
[0020] 图9示出了根据本公开的实施例的基于帧计数来确定目标对象处于静止状态的时段是否达到预定时长的示例过程的流程图。
[0021] 图10示出了根据本公开的实施例的基于帧计数来确定目标对象处于静止状态的时段是否达到预定时长的示意图。
[0022] 图11示出了根据本公开的实施例的基于像素值来确定图像之间的差异的示例过程的流程图。
[0023] 图12示出了根据本公开的实施例的检测对象的装置的示意性框图
[0024] 图13示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
[0025] 贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。

具体实施方式

[0026] 下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
[0027] 当前,对于道路上的异常对象(例如,遗撒物体),主要存在两种传统的检测方法。一种传统的检测方法是单独使用背景建模的方式来检测遗撒物体。这种检测方法首先建立背景模型,之后通过背景差分来得到每帧中的运动前景,从而确定帧中的运动物体。然后,通过跟踪物体的重心、面积和轮廓等,来判断该物体是否为遗撒物体。
[0028] 另一种传统的检测方法是目标检测结合对象跟踪。这种检测方法首先收集可能出现在道路上的遗撒物体,将它们标记为“遗撒”类别,并且训练检测模型。然后,使用跟踪模型来跟踪被检测出的疑似遗撒物体的速度,位置等。当疑似遗撒物体被判定为静止物体时,将会认为检测到遗撒物体。
[0029] 然而,这些传统的检测方法识别精度低,并且无法全面地检测出异常对象,因此不能满足道路交通的实际需求。具体地,第一种传统检测方法的应用场景仅限于简单的实验场景。在这种场景下,只有遗撒物体可能从运动状态变为静止状态,而其他正常运动的物体不会停止运动。这种检测方法在实际场景中是无法使用的,因为在真实的道路中可能存在车辆或行人因为等待交通信号灯而停止运动,从而造成该传统检测方法的大规模误检。
[0030] 另一方面,基于背景来检测运动前景的该传统检测方法还存在以下问题。当一个运动物体停止运动时,在其停止运动之后采集到的前几帧中仍会被前景建模算法认为是运动物体。经过一段时间后,该静止物体才会逐渐融入到背景中。这是由于背景建模算法的原理造成的。在背景建模的过程中,首先通过历史帧的数据建立出背景模型。当一个原本运动的物体变为静止时,从历史数据看它仍然属于运动物体。在前景建模算法采用后续拍摄的新帧逐渐替换掉旧帧的过程中,该物体才会被判断为静止物体。在这个过程中,该物体的运动前景是逐渐消散的,并不是稳定的。因此,跟踪物体的重心、面积和轮廓来判断物体的运动状态是否变化是不可行的。
[0031] 第二种传统的检测方法只能检测出训练检测模型的训练集中出现过的物体,而对于训练集没有出现过的物体则无法检测。然而,在实际情况中,许多遗撒物体可能是检测模型没有训练过的物体,因此这种传统的检测方法在实际中也无法大规模地应用。
[0032] 鉴于以上分析和研究,本公开的实施例提出了一种用于检测异常对象的技术方案,以至少部分地解决传统方案中存在的上述技术问题以及潜在的其他技术问题。在本公开的实施例中,首先在目标帧中检测目标对象,该目标对象在目标帧和一组先前帧拍摄时是静止的,但是在之前是运动的,也即从运行状态变为静止状态。然后,根据目标对象在目标帧中的位置范围,来确定目标帧之后的多个后续帧在该位置范围内的多个后续图像。接着,基于该多个后续图像来确定目标对象是否保持静止达到预定时长。在目标对象保持静止达到预定时长的情况下,通过识别目标对象的类别来确定其是否为异常对象。
[0033] 本公开的技术方案可以提高检测异常对象的准确性和全面性。具体地,本公开的实施例在检测从运动状态变为静止状态的目标对象之外,还识别目标对象的类别,从而可以避免大量的误检而提高异常对象的检测准确性。此外,本公开的实施例对于被检测的对象的类别没有限制,只要经过运动后停止的对象都可以被检测出,从而提高异常对象的检测全面性而避免漏检。下文结合附图来描述本公开的一些示例实施例。
[0034] 图1示出了本公开的一些实施例能够在其中实现的示例环境100的示意图。如图1所示,示例环境100可以包括成像设备110和计算设备120。成像设备110可以拍摄或采集视频130,并且将视频130提供给计算设备120进行处理。基于对视频130的处理,计算设备120可以检测出视频130中出现的对象,例如,异常对象。需要说明的是,在图1的示例中,视频130是针对某个交通道路拍摄的,因此计算设备120可以从视频130中检测出该道路上的异常对象。然而,将理解,呈现道路的视频130仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,视频130可以呈现任何适当的场景,并且计算设备120可以针对不同的具体场景来检测针对该场景的异常对象。
[0035] 如在图1的示例视频130中所呈现的,交通工具140正在道路上行驶。如本文中所使用的,交通工具是指能够承载人和/或物并且可移动的任何类型的工具。在图1以及本文的其他附图和描述中,交通工具140被图示为车辆140。车辆140可以是机动车辆或非机动车辆,其示例包括但不限于小汽车、轿车、卡车、公交车、电动车、摩托车、自行车,等等。然而,应当理解,车辆140仅是交通工具的一个示例。本公开的实施例等同地适用于车辆之外的任何其他交通工具,诸如船、火车、飞机,等等。
[0036] 除车辆140之外,视频130中还呈现了其他物体(也称为对象),诸如行人150、交通信号灯160-1和160-2、以及植物170等可移动或不可移动的物体。在图1的示例中,交通信号灯160-1是针对车辆140的红绿灯。例如,当交通信号灯160-1显示红灯时,车辆140需要停车并等候。类似地,交通信号灯160-2是针对准备通过人行横道的行人150的红绿灯。例如,当交通信号灯160-2显示红灯时,行人150需要停止走动并等候。此外,在图1的示例中,瓶子145正在从车辆140中被扔出而即将掉落在道路上。因此,在成像设备110采集视频130的时间段期间,车辆140、瓶子145和行人150在某些时刻可能是运动的,而在其他的时刻也可能是静止的。还需要说明的是,对于图1的示例性交通道路的场景而言,车辆140和行人150是正常的对象,而瓶子145是异常的对象。
[0037] 在一些实施例中,成像设备110可以是任何具有成像功能的设备。这样的成像设备包括但不限于照相机、摄像机、摄影机、摄像头、监视探头、具有拍照或摄像功能的可移动设备,等等。为了减少遮挡,成像设备110可以设置在示例环境100中的较高位置。例如,设置在固定杆上或墙壁的较高处,以便更好地监测示例环境100。
[0038] 在一些实施例中,计算设备120可以包括任何能够实现计算功能和/或控制功能的设备,其可以是任意类型的固定计算设备、移动计算设备或便携式计算设备,包括但不限于,专用计算机、通用计算机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、多媒体计算机、移动电话、通用处理器、微处理器、微控制器、或状态机。计算设备120还可以实施为个体计算设备或计算设备的组合,例如,数字信号处理器(DSP)和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。另外,在本公开的上下文中,计算设备120也可以称为电子设备120,这两个术语在本文中可以互换地使用。
[0039] 此外,应当理解,图1仅示意性地示出了示例环境100中的与本公开的实施例相关的单元、元素、或组件。在实践中,示例环境100还可以包括用于其他功能的其他单元、元素、或组件。另外,图1中示出的单元、元素、或组件的特定数目仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,示例环境100可以包括任何适当数目的成像设备、计算设备、参与交通的车辆或行人、其他道路元素,等等。因此,本公开的实施例不限于图1所描绘的具体设备、单元、元素、组件或场景,而是一般性地适用于任何需要检测对象的技术环境。下面参考图2至图4来描述本公开的实施例的对象检测的示例过程。
[0040] 图2示出了根据本公开的实施例的检测对象的示例过程200的流程图。在一些实施例中,示例过程200可以由示例环境100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程200也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元或模块来实现。
[0041] 在210处,计算设备120基于视频130中的目标帧之前的一组先前帧,在目标帧中检测目标对象,其中目标对象在采集一组先前帧之前处于运动状态,并且在采集一组先前帧和目标帧时处于静止状态。如本文中使用的,目标帧可以是指计算设备120当前正在处理、考虑或关注的帧,其可以是视频130中的任何帧。换言之,示例过程200可以针对视频130中的任何帧来执行。此外,在本公开的上下文中,目标对象可以是指这样的对象,该对象在目标帧和一组先前帧被拍摄之前是运动的,但是在目标帧和一组先前帧被拍摄时是静止的。也就是说,目标对象是经过运动之后静止的对象,并且其在目标帧和先前帧被拍摄时是静止的。
[0042] 计算设备120在目标帧中检测目标对象的原因在于,在道路交通场景或其他场景中,异常对象通常是经过运动之后静止在道路上(或其他场景中)的对象。因此,计算设备120在目标帧中检测到的目标对象有可能是异常对象,也即,候选的异常对象。在后续的操作中,计算设备120可以进一步确定检测到的候选异常对象是否为真正的异常对象。下文参考图3来描述计算设备120在目标帧中检测这样的目标对象的具体示例。
[0043] 图3示出了根据本公开的实施例的在目标帧130-X中检测目标对象140、145、150的示意图。在图3的示例中,视频130中的目标帧130-X表示计算设备120当前正处理、考虑或关注的帧,而帧130-N至帧130-X-1表示目标帧130-X之前的先前帧,其中X和N为整数。如图3所示,假定在帧130-N被拍摄之前,车辆140正在道路上行驶,瓶子145因从车辆140中被扔出而正在空中运动,而行人150正在走向人行横道。此外,假定在帧130-N至目标帧130-X被拍摄时,车辆140因交通信号灯160-1显示红灯而停止行驶,瓶子145已经掉落并停止在地面上,而行人150因交通信号灯160-2显示红灯而停止在人行横道前等候。需要指出的是,车辆140、瓶子145或行人150也可能是在帧130-N之前的某个帧就已经停止运动,也即,帧130-N可能不是目标对象从运动状态改变为静止状态的第一帧。
[0044] 因此,计算设备120可以基于目标帧130-X之前的先前帧130-N至130-X-1,来检测出目标帧130-X中的目标对象,也即,车辆140、瓶子145和行人150。将理解,计算设备120可以采用任何适当的方式来检测作为目标对象的车辆140、瓶子145和行人150。例如,计算设备120可以在先前帧130-N被拍摄之前的时间检测出处于运动状态的车辆140、瓶子145和行人150,然后跟踪它们以确定它们在先前帧130-N至130-X-1和目标帧130-X被采集时是否处于静止状态。替换地,在其他实施例中,计算设备120还可以基于与目标帧130-X和先前帧130-N至130-X-1相对应的二值图像来检测目标帧130-X中的目标对象。这样的示例将在后文中进一步描述。此外,要理解的是,先前帧130-N至130-X-1的数目(即,X-N的取值)可以由技术人员根据实际的精度要求和具体的技术环境来确定。例如,计算设备120可以基于目标帧130-X的前1帧、前5帧、前9帧等,来检测目标帧130-X中的目标对象。
[0045] 一般而言,尽管道路上(或其他场景中)的异常对象(例如,遗撒物)通常是经过运动之后静止在道路上(或其他场景中)的物体,但是先运动后静止的物体并不一定就是异常对象。例如,道路上可能存在各种车辆或行人等,这些对象是参与交通的正常对象,但是也经常在运动之后停止在道路上。异常对象和正常对象的区别在于,异常对象通常在停止运动变为静止后不再继续运动,而正常对象(例如,车辆、行人等)在静止后一般会继续运动。因此,在检测到目标对象之后,计算设备120可以进一步检测目标对象是否长时间静止(也称为稳定静止),以便在异常对象检测中排除掉短时间静止的正常对象。
[0046] 为了判断目标对象在目标帧之后是否长时间保持静止,计算设备120可以在目标帧之后的一个或多个后续帧中,检测目标对象在目标帧中的对应位置范围处是否发生变化。换言之,针对一个或多个后续帧,计算设备120观察相同的位置范围处的图像是否变化。如果目标对象在目标帧之后的后续帧被拍摄时继续保持静止,那么后续帧在相同的位置范围内与目标帧应该具有基本相同的图像。反之,如果目标对象在目标帧之后的后续帧被采集时已经发生运动,那么后续帧在相同的位置范围内与目标帧应该具有不同的图像。
[0047] 因此,返回参考图2,在220处,计算设备120基于目标对象在目标帧中的位置范围,来确定目标帧之后的一组后续帧在该位置范围内的一组后续图像。如本文中使用的,这里的位置范围可以是指目标帧中与目标对象相关联的区域(例如,像素区域),其可以是目标对象的图像在目标帧中的像素区域,也可以是目标帧中的包括目标对象图像的预定形状(例如,矩形、圆形等)的像素区域。下文参考图4来描述这些后续图像的具体示例。
[0048] 图4示出了根据本公开的实施例的确定目标帧130-X之后的一组后续帧130-X+1至130-M在位置范围内的一组后续图像410-X至410-M、420-X至420-M、或430-X至430-M的示意图。需要说明的是,在本文中为了描述的简便,将目标对象在目标帧130-X中的对应位置范围内的图像也称为后续图像。
[0049] 在图4的示例中,关于作为目标对象的车辆140,计算设备120可以将车辆140在目标帧130-X中的位置范围设定为包括车辆140的图像的矩形图像410-X。根据矩形图像410-X在目标帧130-X的位置,计算设备120可以获得后续帧130-X+1在相同位置范围处的矩形图像410-X+1、……、后续帧130-M在相同位置范围处的矩形图像410-M,等等。
[0050] 类似地,在图4的示例中,关于作为目标对象的瓶子145,计算设备120可以将瓶子145在目标帧130-X中的位置范围设定为瓶子145的图像本身420-X。根据瓶子形状的图像
420-X在目标帧130-X的位置,计算设备120可以获得后续帧130-X+1在相同位置范围处的瓶子形状的图像420-X+1、……、后续帧130-M在相同位置范围处的瓶子形状的图像420-M,等等。
[0051] 类似地,在图4的示例中,关于作为目标对象的行人150,计算设备120可以将行人150在目标帧130-X中的位置范围设定为包括行人150的图像的椭圆形图像430-X。根据椭圆形图像430-X在目标帧130-X的位置,计算设备120可以获得后续帧130-X+1在相同位置范围处的椭圆形图像430-X+1、……、后续帧130-M在相同位置范围处的椭圆形图像430-M,等等。
[0052] 如在图4中描绘的,计算设备120可以将上述位置范围设置为任何适当的形状。例如,针对车辆140的位置范围可以包括矩形图像区域410-X。如此,计算设备120用于处理后续图像410-X至410-M的过程可以被简化,从而节省用于处理后续图像410-X至410-M的处理资源。例如,计算设备120可以仅通过两个对点来确定出矩形图像区域410-X在目标帧130-X中的具体位置。
[0053] 替换地,计算设备120可以将上述位置范围设置为对象图像本身的形状。例如,针对瓶子145的位置范围可以包括瓶子形状的图像区域420-X。如此,计算设备120可以减小位置范围的面积,并且提高检测目标对象是否继续运动的准确性。此外,计算设备120可以在上述位置范围的设置中考虑简单性和准确性的折中。例如,针对行人150的位置范围可以包括椭圆形的图像区域430-X。如此,计算设备120可以在一定程度上提高检测准确性的同时,也在一定程度上简化对后续图像430-X至430-M的处理过程。
[0054] 不论位置范围被设置为何种形状,计算设备120可以首先在目标帧130-X中确定目标对象的图像,例如,车辆140、瓶子145和行人150的图像。然后,计算设备120可以在目标帧130-X中确定用于目标对象的位置范围以包括目标对象的图像。例如,计算设备120可以确定包括车辆140的图像的位置范围410-X、包括瓶子145的图像的位置范围420-X、以及包括行人150的图像的位置范围430-X。以此方式,计算设备120可以高效地且可操作地在目标帧中确定出与目标对象相关联的位置范围。
[0055] 参考图2和图4,在230处,计算设备120至少基于一组后续图像410-X至410-M、420-X至420-M、或430-X至430-M,来确定目标对象(例如,车辆140、瓶子145或行人150)处于静止状态的时段是否达到预定时长。如上文指出的,如果目标对象在目标帧130-X被拍摄之后持续保持静止状态,那么上述后续图像将是基本不变的。反之,如果目标对象在目标帧130-X被拍摄之后重新开始运动,那么上述一组后续图像将会是不同的。因此,计算设备120可以通过检测上述后续图像是否发生变化,来确定目标对象是否保持静止达到预定时长。
[0056] 将理解,这里的预定时长可以由技术人员根据实际的精度要求和具体的技术环境来确定。因此,计算设备120可以通过对作为目标对象的车辆140、瓶子145和行人140处于静止状态的时段进行计时,从而确定这些目标对象保持静止是否达到预定时长。替换地,由于视频130中的帧之间可以具有预定的相等的时间间隔,所以计算设备120可以通过对帧进行计数的方式来确定这些目标对象保持静止是否达到预定时长。这样的示例将在后文中进一步描述。
[0057] 在图4的示例中,计算设备120可以确定矩形图像410-X中包括车辆140的完整图像,矩形图像410-X+1中包括车辆140的不完整图像,……,而矩形图像410-M中没有包括车辆140的图像。这意味着,车辆140在目标帧130-X之后的后续帧130-X+1至130-M被采集期间发生了运动。因此,在一些实施例中,计算设备120可以确定作为目标对象的车辆140处于静止状态的时段未达到预定时长。
[0058] 类似地,在图4的示例中,计算设备120可以确定瓶子形状的图像420-X中包括瓶子145的完整图像,瓶子形状的图像420-X+1中包括瓶子145的完整图像,……,而瓶子形状的图像420-M中也包括瓶子145的完整图像。这意味着,瓶子145在目标帧130-X之后的后续帧
130-X+1至130-M被拍摄期间保持静止。因此,在一些实施例中,计算设备120可以确定作为目标对象的瓶子145处于静止状态的时段达到预定时长。
[0059] 类似地,在图4的示例中,计算设备120可以确定椭圆形图像430-X中包括行人150的完整图像,椭圆形图像430-X+1中包括行人150的不完整图像,……,而椭圆形图像430-M中没有包括行人150的图像。这意味着,行人150在目标帧130-X之后的后续帧130-X+1至130-M被采集期间发生了运动。因此,在一些实施例中,计算设备120可以确定作为目标对象的行人150处于静止状态的时段未达到预定时长。
[0060] 需要进一步说明的是,在排除掉短时间静止的正常对象之后,计算设备120仍然不能将目标对象确认为异常对象。这是因为,在各种场景中还存在一些正常的对象也可能经过运动之后长时间地静止。例如,道路交通部可能在道路上临时设置或者永久安装新道路设施,这些新设置或安装的道路设施也是经过运动之后长时间静止在道路上,但对于道路场景却是正常的对象。又例如,在实践中也不能排除有些车辆或行人在运动之后较长时间地停留在道路上。基于这样的考虑,计算设备120还需要进一步根据目标对象的类别来判断其是否为异常对象。
[0061] 因此,继续参考图2,在240处,如果目标对象处于静止状态的时段达到预定时长,则计算设备120通过识别目标对象的类别来确定目标对象的异常性。换言之,计算设备120根据目标对象的类别来确定其是否为异常对象。在一些实施例中,计算设备120可以预先设置正常的对象类别集合和异常的对象类别集合之一或两者,以便判断目标对象的类别是正常的还是异常的。对于道路交通的场景而言,正常的对象类别集合可以包括车辆、行人、各种交通设施、或合理地出现在道路上的任何其他的对象类别。例如,在图4的示例中,假设计算设备120在框230处也检测到车辆140和行人150保持静止达到预定时长,则计算设备120可以在框240处识别出车辆140和行人150属于正常的对象类别,从而确定车辆140和行人150不是异常对象,因此避免了误检。
[0062] 与正常的对象类别集合相反,异常的对象类别集合可以包括各种不应当出现在道路上的对象类别。要明白的是,异常的对象类别可能是无法穷举的。因此,在一些实施例中,计算设备120可以仅预先设定正常的对象类别集合,而不预先设置异常的对象类别集合。在这种情况下,如果检测到的目标对象的类别不属于预定的正常类别,则计算设备120可以确定目标对象为异常对象,从而减少异常对象的误检。例如,在图4的示例中,对于作为目标对象的瓶子145,计算设备120可以确定其不属于预定的正常对象类别,进而确定其为异常对象。另外,计算设备120有时可能无法识别出目标对象的类别,也即目标对象属于未知的类别。在这种情况下,计算设备120也可以确定目标对象为异常对象,因为未知的类别更可能是不应当出现在道路场景的对象,从而减少异常对象的漏检。
[0063] 一般而言,计算设备120可以采用任何适当的方式来识别目标对象的类别。例如,计算设备120可以存储由各种已知对象的图像组成的图像库,然后可以将检测到的目标对象的图像与图像库中的各种图像进行比较或匹配,从而识别目标对象的类别。在其他实施例中,计算设备120还可以使用经训练的机器学习模型来识别目标对象的类别,以便利用成熟的且功能强大的基于机器学习的识别工具来提高目标对象类别的识别效率和准确性。
[0064] 例如,计算设备120可以提取目标对象的尺度不变特征变换(SIFT)特征并且结合支持向量机(SVM)来识别目标对象的类别。在识别目标对象的类别(本文中也称为测试)时,计算设备120可以输入目标对象的测试特征以便从支持向量机获取目标对象的类别。如果得到的类别的置信度大于阈值,则支持向量机可以输出其对应的类别。如果小于阈值,则支持向量机可以输出“未知”类别。
[0065] 在一些实施例中,计算设备120还可以使用已知的对象来训练支持向量机模型。具体地,计算设备120可以按照已知的对象类别来抽取训练集中所有对象的尺度不变特征变换特征。然后,对于每一个对象,计算设备120可以选取所有特征中范数前k大的特征,以作为训练特征(在检测过程中可以采用同样的方法来获取检测特征)。例如,尺度不变特征变换特征可以是一种兴趣点特征。每个尺度不变特征变换特征可以是一个向量(例如,1×128维),但是每个图像上有多少个尺度不变特征变换特征是不确定的,因此需要计算每个尺度不变特征变换特征的范数,并且对于每张图像都取出范数前k大的尺度不变特征变换特征。接着,计算设备120可以使用所有对象的训练特征和标签来训练支持向量机模型。
[0066] 在一些实施例中,在确定目标对象为异常对象之后,为了便于处理检测到的异常对象,例如,及时地清理道路上的异常对象,计算设备120可能需要实时地监测异常对象的运动状态或位置。作为示例,如果异常对象是车辆或行人不小心失落的物体(例如,钱包),则异常对象很可能将被失落者重新捡回,因此不再需要另外地被清理。又例如,在清理措施被采取之前,异常对象的位置也可能由于其他原因(车辆的碰撞、被吹动等)而发生变化。因此,在计算设备120确定目标对象为异常对象的情况下,计算设备120可以实时监测目标对象的位置变化,以便为可能的清理措施提供准确的依据。
[0067] 如上文在描述示例过程200的框210时提到的,计算设备120可以基于与目标帧和先前帧相对应的二值图像来检测目标帧中的目标对象。下文参考图5、图6A和图6B来描述这样的示例。
[0068] 图5示出了根据本公开的实施例的基于二值图像来检测目标对象的示例过程500的流程图。在一些实施例中,示例过程500可以由示例环境100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程500也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元或模块来实现。
[0069] 图6A示出了根据本公开的实施例的基于二值图像602-612来检测目标对象145的示意图。在图6A的示例中,二值图像602-612分别与图3中示出的目标帧130-X和先前帧130-N至130-X-1相对应(此处假设X-N=5,也即考虑五个先前帧)。二值图像602-612中的每个二值图像(例如,二值图像602)通过第一像素值(例如,0)表示在二值图像对应的帧(例如,帧130-N)被采集时保持静止状态达到阈值时长的对象。也就是说,在二值图像602中,黑色部分表示的对象在帧130-N被拍摄时已经保持静止状态达到阈值时长。
[0070] 此外,二值图像602-612中的每个二值图像(例如,二值图像602)通过第二像素值(例如,255)表示在二值图像对应的帧(例如,帧130-N)被采集时保持静止状态未达到阈值时长的对象。也就是说,在二值图像602中,白色部分表示的对象145在帧130-N被拍摄时保持静止状态还没有达到阈值时长。换言之,对象145在帧130-N被拍摄时是静止的,但是在阈值时长之前还是运动的。也即,形象地说,在帧130-N被拍摄时,对象145刚刚停止运动。
[0071] 需要指出的是,这里的阈值时长可以由技术人员根据实际的精度要求和具体的技术环境来确定。此外,将理解,这里使用的各种具体数值仅为示例,无意以任何方式限制本公开的范围。在其他实施例中,X-N可以是任何适当的数值,并且第一像素值和第二像素值也可以是任何适当的像素值。还需要说明的是,图6A中为了描绘的便利,已经假定在目标帧130-X和先前帧130-N至130-X-1中仅呈现作为目标对象的瓶子145,而忽略了此前描述的作为目标对象的车辆140和行人150。
[0072] 参考图5和图6A,在510处,计算设备120可以获得与目标帧130-X和一组先前帧130-N至130-X-1分别对应的多个二值图像602-612。一般地,计算设备120可以通过任何适当的方式,从目标帧130-X和先前帧130-N至130-X-1来生成多个二值图像602-612。例如,计算设备120可以先检测到在帧130-N被拍摄之前瓶子145从运动状态变为静止状态,然后可以确定瓶子145在变为静止后保持静止是否达到阈值时长。针对在瓶子145停止运动的时刻直到保持静止达到阈值时长的这段时间内被采集的每个后续帧,计算设备120可以确定瓶子145在该帧中的图像,再采用像素值255来取代瓶子145的图像,并且采用像素值0来取代帧中的其他部分,从而得到与该帧相对应的二值图像。替换地,在其他实施例中,针对目标帧130-X和先前帧130-N至130-X-1,计算设备120还可以使用基于背景图像的方式来生成二值图像,这样的示例将在后文中进一步描述。
[0073] 继续参考图5和图6A,在520处,计算设备120可以对多个二值图像602-612执行逻辑运算630,来生成结果二值图像614。例如,在图6A的示例中,计算设备120对二值图像602-612所执行的逻辑运算630可以是逻辑“与”运算,也即,关于二值图像602-612逐像素点地进行逻辑“与”运算。将注意到,由于是针对黑白二值图像执行逻辑“与”运算,所以参与计算的像素值只有0和255两种值。在本文中,使用运算符号“&”来表示逻辑“与”运算,则关于这两个像素值的逻辑“与”运算可以表示为:255&255=255,255&0=0,并且0&0=0。
[0074] 因为在二值图像602-612中,在基本相同的位置处是第二像素值255表示的白色瓶子图像,而在其他区域是第一像素值0表示的黑色图像,所以通过逻辑“与”运算得到的结果二值图像614仍然是与二值图像602-612基本相同的二值图像。需要指出的是,这里的逻辑“与”运算仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,在第一像素值被设置为255而第二像素值被设置为0的情况下,计算设备120也可以对二值图像602-612执行逻辑“或”运算。
[0075] 由此可见,通过二值图像602-612之间的逻辑运算得到的结果二值图像614可以有效地检测出保持静止尚未达到阈值时长的目标对象,例如,瓶子145。为了说明通过二值图像的逻辑运算得到的这种结果二值图像对于检测目标对象的有效性,下文参考图6B来描述其可以有效地排除掉正处于运动状态的对象。此外,如在下文中进一步说明的,该结果二值图像也可以有效地排除掉保持静止已经达到阈值时长的对象。
[0076] 图6B示出了根据本公开的实施例的基于二值图像612-622来排除运动对象的示意图。在图6B中,二值图像612-622分别对应于瓶子145尚处于运动状态时采集的多个帧,例如,图3中的帧130-N之前的多个帧。因此,在二值图像612-622中,像素值255表示的瓶子145的图像在各个二值图像中处于不同的位置。进而,通过对二值图像612-622执行逻辑“与”运算所得到的结果二值图像624将是全黑的(因为255&0=0),也即,结果二值图像624的所有像素均为第一像素值0。换言之,根据示例过程500所得到的结果二值图像不会将处于运动状态的对象(例如,运动中的瓶子145)错误地检测为目标对象。另一方面,如果瓶子145处于静止状态超过阈值时长,则示例过程500将使用第一像素值(例如,0)来表示瓶子145的图像。因此,根据示例过程500所得到的结果二值图像也不会将静止超过阈值时长的对象错误地检测为目标对象。
[0077] 返回参考图5和图6A,在530处,计算设备120可以在结果二值图像614中,确定由第二像素值(例如,255)表示的部分616与目标对象145相对应。如上文描述的,根据示例过程500所得到的结果二值图像614可以过滤掉处于运动状态的对象,也可以过滤掉保持静止状态已经达到阈值时长的对象,而检测出在二值图像612对应的目标帧130-X被拍摄时保持静止尚未达到阈值时长的目标对象。因此,计算设备120可以将结果二值图像614中的白色部分616确定为检测到的目标对象。通过示例过程500,计算设备120可以按照明确且可操作的方式来检测目标帧中的目标对象,从而准确地且可操作地检测出目标对象,同时避免了跟踪运动对象而节省大量的处理资源。
[0078] 如上文在描述示例过程500的框510时提到的,计算设备120还可以使用基于背景图像的方式来生成与帧相对应的二值图像。下文参考图7和图8来描述这样的示例。
[0079] 图7示出了根据本公开的实施例的基于背景图像来生成二值图像的示例过程700的流程图。在一些实施例中,示例过程700可以由示例环境100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程700也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元或模块来实现。
[0080] 图8示出了根据本公开的实施例的基于背景图像810来生成二值图像602的示意图。在图8中,以帧130-N作为示例,描绘了基于其背景图像810来生成与之对应的二值图像602。在本文中,用于帧的背景图像表示以之前描述的阈值时长在该帧被采集之前处于静止状态的对象。换言之,在帧130-N被拍摄的时间点,已经保持静止达到阈值时长的对象将表示在帧130-N的背景图像810中。
[0081] 应当理解,虽然图8以帧130-N作为示例描绘了生成与之相对应的二值图像602,但是示例过程700可以针对目标帧130-X和先前帧130-N至130-X-1中的每个帧来执行。另外,还需要指出的是,图8中为了描绘的简便,已经假定帧130-N中仅呈现作为目标对象的瓶子145,而忽略了此前描述的作为目标对象的车辆140和行人150。
[0082] 参考图7和图8,在710处,计算设备120可以基于帧130-N之前的预定数目的帧来确定针对帧130-N的背景图像810。例如,计算设备120可以检测帧130-N中的每个对象,然后基于之前的预定数目的帧逐个地确定每个对象在帧130-N被采集时是否已经保持静止达到阈值时长,从而可以获得由保持静止达到阈值时长的所有对象形成的背景图像810。应当明白,这里的预定数目可以由技术人员根据实际的精度要求和具体的技术环境来确定。在一些实施例中,这里的预定数目可以基于前文提到的阈值时长来确定。
[0083] 替换地,在其他实施例中,计算设备120可以采用背景建模算法,基于帧130-N之前的预定数目的帧来确定帧130-N的背景图像810。这样的背景建模算法可以包括但不限于:单高斯模型算法、混合高斯模型算法、滑动高斯平均模型算法、码本模型算法、自组织背景检测模型算法、样本一致性背景建模算法、基于颜色信息的背景建模算法、统计平均算法、中值滤波算法、本征背景算法、核密度估计算法、以及任何已知或未来开发的背景建模算法,等等。
[0084] 举例而言,在这些背景建模算法中,对于视频130中的某个帧,计算设备120可以使用该帧之前的预定数目(例如,100个)的历史帧进行背景建模。然后,计算设备120可以将该帧与建立的背景进行对比,不同的图像区域可以认为是运动前景,相同的图像区域则可以认为是静止背景。基于此,计算设备120可以输出与原图像(即,所处理的帧)等同大小的二值图像,其中表示静止背景的像素值可以设置为0(黑色),表示运动前景的像素值可以设置为255(白色)。
[0085] 需要指出的是,在采用背景建模算法的实施例中,停止运动的物体在一定时间内仍会被计算设备120检测为前景,也即,在前景检测的结果中体现为白色的前景,像素值为255。经过一段时间后,该停止运动的物体才会完全融入到背景中。在这个过程中,与该物体对应的运动前景是逐渐消散的,并不是稳定的。这是由于背景建模算法的原理造成的。在背景建模算法中,通过历史帧建立出背景,而当新的帧到来时,计算设备120将使用该新帧替换最早的帧来计算用于该新帧之后的下一帧的背景。因此,当原本运动的物体变为静止时,它从历史帧来看仍然属于运动物体,在后续的新帧逐渐替换旧帧的过程中,才会逐渐地被判断为静止物体。因此,在使用背景建模算法的实施例中,静止后的物体从变为静止开始到完全融入到背景中的时间段可以对应于上文描述的阈值时长。
[0086] 在720处,计算设备120可以基于帧130-N与背景图像810的比较,来确定帧130-N中的背景部分和前景部分。例如,在图8的示例中,计算设备120可以将帧130-N与背景图像810相同的部分确定为背景部分(例如,除了瓶子145的图像以外的部分),并且将不同于背景图像810的部分确定为帧130-N的前景部分(例如,瓶子145的图像部分)。此外,在使用背景建模算法的情况下,计算设备120可以使用与背景建模算法中的背景和前景算法来确定帧130-N中的背景部分和前景部分,例如,背景差分算法等。
[0087] 在730处,在帧130-N中,计算设备120通过使用第一像素值表示背景部分并且使用第二像素值表示前景部分,来生成与帧130-N对应的二值图像602。例如,在图8的示例中,计算设备120可以使用像素值0来表示除了瓶子145的图像以外的部分,并且使用像素值255来表示瓶子145的图像部分,从而生成二值图像602。在一些实施例中,生成的二值图像602可以与帧130-N具有相同的大小。在其他实施例中,二值图像602也可以按照预定比例相对于帧130-N被放大或缩小。如上文指出的,这里使用的像素值的具体数值仅为示例,无意以任何方式限制本公开的范围。在其他实施例中,第一像素值和第二像素值也可以是任何适当的其他像素值。
[0088] 通过示例过程700,计算设备120可以按照明确且可操作的方式来获得与帧相对应的二值图像,从而简化了计算设备120用于生成二值图像的处理过程,节省了用于生成二值图像的处理资源。此外,示例过程700还可以利用成熟的各种背景建模算法来生成二值图像,从而提高生成二值图像的效率和准确性。
[0089] 如上文在描述示例过程200的框230时提到的,计算设备120可以采用对帧进行计数的方式来确定目标对象处于静止状态的时段是否达到预定时长。下文参考图9和图10来描述这样的示例。
[0090] 图9示出了根据本公开的实施例的基于帧计数来确定目标对象处于静止状态的时段是否达到预定时长的示例过程900的流程图。在一些实施例中,示例过程900可以由示例环境100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程900也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元或模块来实现。
[0091] 图10示出了根据本公开的实施例的基于帧计数来确定目标对象(例如,车辆140、瓶子145和行人150)处于静止状态的时段是否达到预定时长的示意图。如图10所示,其再次图示了图4中所描绘的由计算设备120获得的关于车辆140的后续图像410-X至410-M、关于瓶子145的后续图像420-X至420-M、以及关于行人150的后续图像430-X至430-M。
[0092] 参考图9,在910处,针对示例过程200的框220处确定的一组后续图像中的每个图像,计算设备120可以确定该图像与前一图像之间的差异。例如,在图10的示例中,计算设备120可以确定与车辆140相关联的图像410-X+1与图像410-X之间的差异,图像410-X+2与图像410-X+1之间的差异,……,图像410-M与图像410-M-1之间的差异,等等。类似地,计算设备120可以确定与瓶子145相关联的图像420-X+1与图像420-X之间的差异,图像420-X+2与图像420-X+1之间的差异,……,图像420-M与图像420-M-1之间的差异,等等。类似地,计算设备120可以确定与行人150相关联的图像430-X+1与图像430-X之间的差异,图像430-X+2与图像430-X+1之间的差异,……,图像430-M与图像430-M-1之间的差异,等等。
[0093] 需要说明的是,计算设备120可以采用任何适当的方式来确定两个后续图像之间的差异。例如,计算设备120可以分别计算两个后续图像中的所有像素的平均值,然后再确定两个平均值之间的差异。又例如,计算设备120可以计算两个后续图像之间的相似度,然后使得两个后续图像之间的差异与相似度负相关。再例如,计算设备120可以将两个后续图像分别划分成多个子区域,然后确定两个后续图像的对应子区域之间的差异,进而确定两个后续图像之间的总差异。在其他实施例中,计算设备120还可以通过逐像素的比较来确定两个后续图像之间的差异。这样的示例将在后文中进一步描述。
[0094] 在920处,计算设备120可以确定正在处理的后续图像与前一图像之间的差异是否达到阈值。将理解,这里的阈值可以由技术人员根据实际的精度要求和具体的技术环境来确定。例如,在图10的示例中,计算设备120可以确定图像410-X+1与图像410-X之间的差异是否达到阈值,图像410-X+2与图像410-X+1之间的差异是否达到阈值,……,图像410-M与图像410-M-1之间的差异是否达到阈值,等等。类似地,计算设备120可以确定图像420-X+1与图像420-X之间的差异是否达到阈值,图像420-X+2与图像420-X+1之间的差异是否达到阈值,……,图像420-M与图像420-M-1之间的差异是否达到阈值,等等。类似地,计算设备120可以确定图像430-X+1与图像430-X之间的差异是否达到阈值,图像430-X+2与图像430-X+1之间的差异是否达到阈值,……,图像430-M与图像430-M-1之间的差异是否达到阈值,等等。
[0095] 在930处,如果两个图像之间的差异未达到阈值,则计算设备120可以将第一计数值递增,第一计数值指示目标对象被确定为处于静止状态的帧的数目。例如,在图10的示例中,计算设备120可以确定与瓶子145相关联的图像420-X+1与图像420-X之间的差异小于阈值,图像420-X+2与图像420-X+1之间的差异小于阈值,……,图像420-M与图像420-M-1之间的差异小于阈值,等等。因此,在一些实施例中,针对与瓶子145相关联的后续图像420-X至420-M,计算设备120可以从0开始将第一计数值依次递增,直到M-X。也即,目标对象瓶子145被确定为处于静止状态的帧的数目为M-X。
[0096] 类似地,计算设备120也可以针对关于车辆140的后续图像410-X至410-M、以及关于行人150的后续图像430-X至430-M进行第一计数值的更新。此外,将理解,这里第一计数值的具体数值仅为示例,无意以任何方式限制本公开的范围。在其他实施例中,第一计数值可以使用任何适当的数值来表示。
[0097] 在940处,计算设备120可以确定第一计数值是否达到第一阈值数目。例如,继续上文的示例,计算设备120可以确定关于瓶子145的第一计数值M-X是否大于预定的第一阈值数目。类似地,计算设备120可以确定关于车辆140和行人150的第一计数值是否大于预定的第一阈值数目。将理解,这里的第一阈值数目可以由技术人员根据实际的精度要求和具体的技术环境来确定。此外,在一些实施例中,第一阈值数目可以基于示例过程200的框230中的预定时长来确定。
[0098] 在950处,如果第一计数值达到第一阈值数目,则计算设备120可以确定目标对象处于静止状态的时段达到预定时长。例如,继续上文的示例,如果关于瓶子145的第一计数值M-X达到第一阈值数目,则计算设备120可以认为瓶子145已经保持静止达到预定时长。反之,如果第一计数值M-X小于第一阈值数目,则计算设备120可以认为瓶子145尚未保持静止达到预定时长。类似地,计算设备120可以关于车辆140和行人150的第一计数值,来判断车辆140和行人150是否保持静止达到预定时长。
[0099] 在一些实施例中,为了避免计算设备120对已经重新开始运动的目标对象(例如,车辆140和行人150)一直保持对上述第一计数值的监测和更新,计算设备120还可以针对两个后续图像之间的差异达到阈值的情况进行计数,以便可以在适当的时机尽早地结束关于目标对象的帧计数。
[0100] 基于上述考虑,在960处,如果在框920处所针对的图像与前一图像的差异达到前述阈值,则计算设备120可以将第二计数值递增,第二计数值指示目标对象被确定为处于运动状态的帧的数目。例如,在图10的示例中,计算设备120可以确定与车辆140相关联的图像410-X+1与图像410-X之间的差异大于阈值,图像410-X+2与图像410-X+1之间的差异大于阈值,……,图像410-M与图像410-M-1之间的差异大于阈值,等等。类似地,计算设备120可以确定与行人150相关联的图像430-X+1与图像430-X之间的差异大于阈值,图像430-X+2与图像430-X+1之间的差异大于阈值,……,图像430-M与图像430-M-1之间的差异大于阈值,等等。
[0101] 因此,在一些实施例中,针对与车辆140相关联的后续图像410-X至410-M,计算设备120可以从0开始将第二计数值依次递增,直到M-X。类似地,针对与行人150相关联的后续图像430-X至430-M,计算设备120也可以从0开始将第二计数值依次递增,直到M-X。换言之,目标对象车辆140和行人150被确定为处于运动状态的帧的数目为M-X。类似地,计算设备120也可以针对关于瓶子145的后续图像420-X至420-M进行第二计数值的更新。将理解,这里第二计数值的具体数值仅为示例,无意以任何方式限制本公开的范围。在其他实施例中,第二计数值可以使用任何适当的数值来表示。
[0102] 在970处,计算设备120可以确定第二计数值是否达到第二阈值数目。例如,继续上文的示例,计算设备120可以确定关于车辆140和行人150的第二计数值M-X是否大于预定的第二阈值数目。类似地,计算设备120可以确定关于瓶子145的第二计数值是否大于预定的第二阈值数目。将理解,这里的第二阈值数目可以由技术人员根据实际的精度要求和具体的技术环境来确定,并且其可以不同于针对第一计数值的第一阈值数目。
[0103] 在980处,如果第二计数值达到第二阈值数目,则计算设备120可以确定目标对象处于静止状态的时段未达到预定时长。例如,继续上文的示例,如果关于车辆140和行人150的第二计数值M-X达到第二阈值数目,则计算设备120可以认为车辆140和行人150保持静止未达到预定时长。反之,如果第二计数值M-X小于第二阈值数目,则计算设备120可以继续对车辆140和行人150的第一计数值和第二计数值进行更新。类似地,计算设备120可以关于瓶子145的第二计数值,来判断是退出对第一计数值和第二计数值的监测,还是继续更新这两个计数值。
[0104] 通过示例过程900,计算设备120可以按照简单的计数方式来确定目标对象保持静止是否达到预定时长,从而将该过程融入到针对每个帧的处理中,而无需额外地针对每个运动后静止的目标对象进行计时。此外,通过设置用于第二计数值的第二阈值数目,计算设备120还可以将已经重新运动的对象提前地排除其长时间保持静止的可能性,从而节省了计算设备120的处理资源。
[0105] 如上文在描述示例过程900的框910时提到的,计算设备120还可以通过逐像素的比较来确定两个后续图像之间的差异。下文参考图11来描述这样的示例。
[0106] 图11示出了根据本公开的实施例的基于像素值来确定图像之间的差异的示例过程1100的流程图。在一些实施例中,示例过程1100可以由示例环境100中的计算设备120来实现,例如可以由计算设备120的处理器或处理单元来实现,或者由计算设备120的各种功能模块来实现。在其他实施例中,示例过程1100也可以由独立于示例环境100的计算设备来实现,或者可以由示例环境100中的其他单元或模块来实现。
[0107] 在1110处,计算设备120可以确定两个图像的多个像素对,其中多个像素对中的每个像素对包括该图像和前一图像的相对应的两个像素。例如,在图10的示例中,对于图像410-X+1和图像410-X,计算设备120可以确定它们之间的多个像素对,每个像素对包括对应的两个像素。这里的相对应的两个像素是指在图像410-X+1和图像410-X中具有相同像素位置的两个像素。将理解,尽管这里使用图像410-X+1和图像410-X作为示例,但是示例过程
1100可以针对任何两个图像来执行。
[0108] 在1120处,针对多个像素对中的每个像素对,计算设备120可以确定像素对中的两个像素的像素值之间的差值的绝对值。例如,在图10的示例中,针对图像410-X+1和图像410-X的对应的两个像素,计算设备120可以计算这两个像素的像素值之间的差值的绝对值。
[0109] 在1130处,计算设备120可以确定与多个像素对分别对应的多个绝对值的总和,以作为这两个图像之间的差异。例如,在图10的示例中,对于图像410-X+1和图像410-X的所有的像素对,计算设备120可以计算上述绝对值的总和,用来表示图像410-X+1和图像410-X之间的差异。通过示例过程1100,计算设备120可以精确地计算出每两个后续图像之间的差异,从而提高检测目标对象的准确性。
[0110] 图12示出了根据本公开的实施例的检测对象的装置1200的示意性框图。在一些实施例中,装置1200可以被包括在图1的计算设备120中或者被实现为计算设备120。
[0111] 如图12所示,装置1200包括检测模块1210、后续图像确定模块1220、预定时长达到与否确定模块1230、以及异常性确定模块1240。检测模块1210被配置为基于视频中的目标帧之前的一组先前帧,在目标帧中检测目标对象,目标对象在采集一组先前帧之前处于运动状态,并且在采集一组先前帧和目标帧时处于静止状态。后续图像确定模块1220被配置为基于目标对象在目标帧中的位置范围,确定目标帧之后的一组后续帧在位置范围内的一组后续图像。预定时长达到与否确定模块1230被配置为至少基于一组后续图像,来确定目标对象处于静止状态的时段是否达到预定时长。异常性确定模块1240被配置为根据确定目标对象处于静止状态的时段达到预定时长,通过识别目标对象的类别来确定目标对象的异常性。
[0112] 在一些实施例中,检测模块1210包括:二值图像获得模块,获得与目标帧和一组先前帧分别对应的多个二值图像,在多个二值图像中的每个二值图像中,第一像素值表示在二值图像对应的帧被采集时保持静止状态达到阈值时长的对象,并且第二像素值表示在二值图像对应的帧被采集时保持静止状态未达到阈值时长的对象;逻辑运算模块,被配置为对多个二值图像执行逻辑运算,来生成结果二值图像;以及目标对象确定模块,被配置为在结果二值图像中,确定由第二像素值表示的部分与目标对象相对应。
[0113] 在一些实施例中,二值图像获得模块包括背景图像确定模块,比较模块和二值图像生成模块,并且针对目标帧和一组先前帧中的每个帧:背景图像确定模块被配置为基于帧之前的预定数目的帧来确定针对帧的背景图像,背景图像表示以阈值时长在帧被采集之前处于静止状态的对象;比较模块被配置为基于帧与背景图像的比较,来确定帧中的背景部分和前景部分;以及二值图像生成模块被配置为通过使用第一像素值表示背景部分并且使用第二像素值表示前景部分,来生成与帧对应的二值图像。
[0114] 在一些实施例中,装置1200还包括:目标对象图像确定模块,被配置为在目标帧中确定目标对象的图像;以及位置范围确定模块,被配置为在目标帧中确定位置范围以包括目标对象的图像。
[0115] 在一些实施例中,位置范围包括矩形图像区域。
[0116] 在一些实施例中,预定时长达到与否确定模块1230包括:第一计数值模块,被配置为针对一组后续图像中的每个图像,根据确定图像与前一图像之间的差异未达到阈值,将第一计数值递增,第一计数值指示目标对象被确定为处于静止状态的帧的数目;以及达到预定时长确定模块,被配置为根据确定第一计数值达到第一阈值数目,确定目标对象处于静止状态的时段达到预定时长。
[0117] 在一些实施例中,装置1200还包括:第二计数值模块,被配置为根据确定图像与前一图像之间的差异达到阈值,将第二计数值递增,第二计数值指示目标对象被确定为处于运动状态的帧的数目;以及未达到预定时长确定模块,被配置为根据确定第二计数值达到第二阈值数目,确定目标对象处于静止状态的时段未达到预定时长。
[0118] 在一些实施例中,装置1200还包括:像素对确定模块,被配置为确定多个像素对,多个像素对中的每个像素对包括图像和前一图像的相对应的两个像素;绝对值确定模块,被配置为针对多个像素对中的每个像素对,确定像素对中的两个像素的像素值之间的差值的绝对值;以及绝对值总和确定模块,被配置为确定与多个像素对分别对应的多个绝对值的总和,以作为图像与前一图像之间的差异。
[0119] 在一些实施例中,装置1200还包括:类别识别模块,被配置为使用经训练的机器学习模型来识别目标对象的类别。
[0120] 在一些实施例中,异常性确定模块1240包括:异常对象确定模块,被配置为根据确定目标对象的类别不属于预定的正常类别或属于未知的类别,确定目标对象为异常对象。
[0121] 在一些实施例中,装置1200还包括:位置变化监测模块,被配置为根据确定目标对象为异常对象,实时监测目标对象的位置变化。
[0122] 图13示出了一种可以被用来实施本公开的实施例的设备1300的示意性框图。如图13所示,设备1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储设备(ROM)
1302中的计算机程序指令或者从存储单元1308加载到随机访问存储设备(RAM)1303中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
[0123] 设备1300中的多个部件连接至I/O接口1305,其包括:输入单元1306,例如键盘鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备
1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0124] 上文所描述的各个过程和处理,例如示例过程200、500、700、900、1100可由处理单元1301来执行。例如,在一些实施例中,示例过程200、500、700、900、1100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序被加载到RAM 1303并由CPU 1301执行时,可以执行上文描述的示例过程200、500、700、900、1100的一个或多个步骤。
[0125] 如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
[0126] 如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
[0127] 应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
[0128] 此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
[0129] 虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈