一种视频中物体检测方法及装置、计算机存储介质与流程

文档序号:14871998发布日期:2018-07-07 00:44阅读:135来源:国知局

本发明涉及计算机视觉技术领域中的物体检测技术,具体涉及一种视频中物体检测方法、装置及计算机存储介质。



背景技术:

视频中物体检测是计算机视觉领域的重要问题以及智能视频分析的基础技术。视频中物体检测可以在很多方面有重要应用,如安防监控、自动驾驶和高级视频检索等。

视频中物体检测是建立在图片物体检测的基础上,但由于时间信息的引入,使得问题建模更加复杂。现有的视频物体检测方法在检测速度和准确率之间的权衡效果上还不能满足实际应用需求,如果对视频中每一帧都应用物体检测器,则需要消耗大量时间,效率比较低,如果稀疏地进行检测,则检测性能会有很大的降低。



技术实现要素:

有鉴于此,本发明期望提供一种视频中物体检测方法及装置、计算机存储介质,能在保证较高准确率的前提下实现视频中的实时物体检测。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种视频中物体检测方法,所述方法包括:

基于目标视频确定若干个关键帧,并对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果;

根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果;

对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果;

基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果。

上述方案中,可选地,所述确定所述目标视频的检测结果之后,所述方法还包括:

将各相邻两帧中类别相同的检测框,根据空间位置重叠程度进行串联操作,得到目标链,所述目标链跨越多帧且由类别相同的检测框组成;

分别针对每个目标链上的检测框进行重新分类,并得到各检测框的分类置信度。

上述方案中,可选地,所述基于目标视频确定若干个关键帧,并对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果,包括:

按照预设时间间隔选取多个初始关键帧,对各所述初始关键帧进行物体检测,得到各个所述初始关键帧中的检测框的空间位置及分类置信度;

针对每相邻两个所述初始关键帧中的检测框,基于空间位置和分类置信度进行匹配,响应于空间位置和分类置信度的匹配程度小于预设阈值,在所述相邻两个初始关键帧之间的各帧中选择次级关键帧,并对各个所述次级关键帧进行物体检测,得到各个所述次级关键帧中的检测框的空间位置及分类置信度;

其中,为所述目标视频确定的关键帧仅包括各所述初始关键帧,或者,同时包括各所述初始关键帧和各所述次级关键帧。

上述方案中,可选地,所述根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果,包括:

对于每相邻的两个关键帧,取左侧帧、中间帧以及左侧帧与中间帧之间的帧,计算第一运动历史图像(mhi,motionhistoryimage),利用第一神经网络对所述第一运动历史图像提取特征,预测出检测框从左侧帧到中间帧的第一偏移量,将所述第一偏移量加到左侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

对于每相邻的两个关键帧,取右侧帧、中间帧以及右侧帧与中间帧之间的帧,计算第二运动历史图像,利用第一神经网络对所述第二运动历史图像提取特征,预测出检测框从右侧帧到中间帧的第二偏移量,将所述第二偏移量加到右侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

将从左侧帧向中间帧传播得到的中间帧的结果,以及从右侧帧向中间帧传播得到的中间帧的结果,合并在一起作为中间帧的检测结果。

上述方案中,可选地,所述对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果,包括:

将中间帧的图像以及检测结果按照目标尺度进行尺度变换操作,所述目标尺度大于当前尺度;

利用第二神经网络对所述图像提取特征,预测出输入框到所述图像中对应物体位置的偏移量,将所述偏移量与所述输入框相加,作为在所述目标尺度中修正后所得的空间位置;

其中,所述输入框是中间帧的检测框。

上述方案中,可选地,所述基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果,包括:

基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,利用线性插值算法确定出所述目标视频中除各个所述关键帧和各个所述中间帧之外的其他帧的检测结果。

上述方案中,可选地,所述分别针对每个目标链上的检测框进行重新分类,并得到各检测框的分类置信度,包括:

等间隔选取每一个目标链上的若干个检测框,裁剪出所述若干个检测框对应的图像并将所述图像缩放到相同大小,利用第三神经网络对相同大小的各个所述图像提取特征并进行分类,得到每一个目标链上的各检测框的分类置信度。

第二方面,本发明实施例提供了一种视频中物体检测装置,所述装置包括:

第一确定模块,用于基于目标视频确定若干个关键帧;

关键帧检测模块,用于对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果;

第二确定模块,用于根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果;

修正模块,用于对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果;

第三确定模块,用于基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果。

上述方案中,可选地,所述装置还包括:

再分类模块,用于在所述第三确定模块确定出所述目标视频的检测结果之后,将各相邻两帧种的类别相同的检测框,根据空间位置重叠程度进行串联操作,得到目标链,所述目标链跨越多帧且由类别相同的检测框组成;分别针对每个目标链上的检测框进行重新分类,得到各检测框的分类置信度。

上述方案中,可选地,所述第一确定模块,还用于:

按照预设时间间隔选取多个初始关键帧,对各所述初始关键帧进行物体检测,得到各个所述初始关键帧中的检测框的空间位置及分类置信度;

针对每相邻两个所述初始关键帧中的检测框,基于空间位置和分类置信度进行匹配;

响应于空间位置和分类置信度的匹配程度小于预设阈值,在所述相邻两个初始关键帧之间的各帧中选择次级关键帧,并对各个所述次级关键帧进行物体检测,得到各个所述次级关键帧中的检测框的空间位置及分类置信度;

其中,为所述目标视频确定的关键帧仅包括各所述初始关键帧,或者,同时包括各所述初始关键帧和各所述次级关键帧。

上述方案中,可选地,所述第二确定模块,用于:

对于每相邻的两个关键帧,取左侧帧、中间帧以及左侧帧与中间帧之间的帧,计算第一运动历史图像(mhi),利用第一神经网络对所述第一运动历史图像提取特征,预测出检测框从左侧帧到中间帧的第一偏移量,将所述第一偏移量加到左侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

对于每相邻的两个关键帧,取右侧帧、中间帧以及右侧帧与中间帧之间的帧,计算第二运动历史图像,利用第一神经网络对所述第二运动历史图像提取特征,预测出检测框从右侧帧到中间帧的第二偏移量,将所述第二偏移量加到右侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

将从左侧帧向中间帧传播得到的中间帧的结果,以及从右侧帧向中间帧传播得到的中间帧的结果,合并在一起作为中间帧的检测结果。

上述方案中,可选地,所述修正模块,还用于:

将中间帧的图像以及检测结果按照目标尺度进行尺度变换操作,所述目标尺度大于当前尺度;

利用第二神经网络对所述图像提取特征,预测出输入框到所述图像中对应物体位置的偏移量,将所述偏移量与所述输入框相加,作为在所述目标尺度中修正后所得的空间位置;

其中,所述输入框是中间帧的检测框。

第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序用于执行以上所述的视频中物体检测方法。

本发明实施例提出的视频中物体检测方法及装置、计算机存储介质,基于目标视频确定若干个关键帧,并对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果;根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果;对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果;基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果;如此,仅对关键帧通过检测器进行物体检测,无需利用检测器对中间帧以及除关键帧和中间帧之外的其他帧进行检测,既能保证关键帧的检测结果的准确性,又能节省计算成本以及时间;利用关键帧的检测结果预测出中间帧的检测结果,通过对中间帧的结果进行修正,能够提高预测所得的中间帧的检测结果的准确性;基于关键帧以及中间帧的检测结果,估计出目标视频中每一帧的检测结果,可节省计算成本以及时间;通过本发明所述技术方案,可以实现计算成本和检测性能的良好平衡,能在保证较高准确率的前提下实现视频中的实时物体检测。

附图说明

图1为本发明实施例提供的视频中物体检测方法的一种实现流程示意图;

图2为本发明实施例提供的时间-尺度网格化分析示意图;

图3为本发明实施例提供的检测框架的示例图;

图4为本发明实施例提供的视频中物体检测装置的一种组成结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

本发明实施例提供一种视频中物体检测方法,如图1所示,所述方法主要包括:

步骤101、基于目标视频确定若干个关键帧,并对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果。

这里,所述目标视频可以是实时视频,还可以是历史视频。

这里,所述目标视频是通过图像采集器如摄像头或相机等采集得到的。

其中,为所述目标视频确定的关键帧仅包括初始关键帧,或者,为所述目标视频确定的关键帧同时包括初始关键帧和次级关键帧。

作为一种可选的实施方式,所述基于目标视频确定若干个关键帧,包括:

按照预设时间间隔选取多个初始关键帧,对各所述初始关键帧进行物体检测,得到各个所述初始关键帧中的检测框的空间位置及分类置信度;

响应于空间位置和分类置信度的匹配程度小于预设阈值,在所述相邻两个初始关键帧之间的各帧中选择次级关键帧,并对各个所述次级关键帧进行物体检测,得到各个所述次级关键帧中的检测框的空间位置及分类置信度;

其中,为所述目标视频确定的关键帧仅包括各所述初始关键帧,或者,同时包括各所述初始关键帧和各所述次级关键帧。

也就是说,若某相邻两个初始关键帧的检测框之间的匹配程度小于预设阈值,则在所述相邻两个初始关键帧之间的各帧中选择次级关键帧;若某相邻两个初始关键帧的检测框之间的匹配程度大于或等于预设阈值,则无需在所述相邻两个初始关键帧之间的各帧中选择次级关键帧。

这里,所述预设时间间隔的值可根据检测精度和/或检测速度进行设定或调整。

这里,对每个关键帧进行物体检测后得到的检测结果,均包括检测框的空间位置和分类置信度。

一般来说,采用基于图片的物体检测器对关键帧进行物体检测。

这里,在确定出次级关键帧之后,是否还需对该次级关键帧和与其相邻的初始关键帧进行匹配程度验证,也可根据检测精度和/或检测速度的需求进行设定或调整。

举例来说,一目标视频共有121帧,若每间隔24帧选取一系列初始关键帧,则所选取的初始关键帧为第1帧、第25帧、第49帧、第73帧、第97帧、第121帧。用基于图片的物体检测器对这一系列初始关键帧进行物体检测,然后计算第1帧的检测结果与第25帧的检测结果的匹配程度,第25帧的检测结果与第49帧的检测结果的匹配程度,第49帧的检测结果与第73帧的检测结果的匹配程度,第73帧的检测结果与第97帧的检测结果的匹配程度,第97帧的检测结果与第121帧的检测结果的匹配程度,假设仅第1帧的检测结果与第25帧的检测结果的匹配程度,以及第49帧的检测结果与第73帧的检测结果的匹配程度小于一定阈值则,在第1帧与第25帧之间确定第13帧为次级关键帧,在第73帧与第97帧之间确定第85帧为次级关键帧,并基于图片的物体检测器对这一系列次级关键帧进行物体检测。

实际应用中,若每相邻两初始关键帧的帧数平均值为非整数,则将与该平均值相邻且小于该平均值的整数值所对应的帧,确定为次级关键帧。

举例来说,若两初始关键帧为第1帧和第24帧,则第1帧和第24帧的平均值为12.5,由于12<12.5,13>12.5,则将第12帧确定为第1帧和第24帧之间的次级关键帧。

在一具体实施方式中,所述基于目标视频确定若干个关键帧,并对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果,包括:

按照预设时间间隔选取多个初始关键帧,用基于图片的物体检测器对所述初始关键帧进行物体检测,得到与各个所述初始关键帧对应的检测框的空间位置及分类置信度;

针对每相邻两个所述初始关键帧中的检测框,基于空间位置和分类置信度进行匹配,响应于空间位置和分类置信度的匹配程度小于预设阈值,在所述相邻两个初始关键帧之间的各帧中选择次级关键帧,并对各个所述次级关键帧进行物体检测,得到各个所述次级关键帧中的检测框的空间位置及分类置信度。

也就是说,初始关键帧和次级关键帧一起作为整个框架的关键帧,在关键帧上应用物体检测器得到检测结果。

步骤102、根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果。

作为一种可选的实施方式,所述根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果,包括:

对于每相邻的两个关键帧,取左侧帧、中间帧以及左侧帧与中间帧之间的帧,计算第一运动历史图像(mhi,motionhistoryimage),利用第一神经网络对所述第一运动历史图像提取特征,预测出检测框从左侧帧到中间帧的第一偏移量,将所述第一偏移量加到左侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

对于每相邻的两个关键帧,取右侧帧、中间帧以及右侧帧与中间帧之间的帧,计算第二运动历史图像,利用第一神经网络对所述第二运动历史图像提取特征,预测出检测框从右侧帧到中间帧的第二偏移量,将所述第二偏移量加到右侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

将从左侧帧向中间帧传播得到的中间帧的结果,以及从右侧帧向中间帧传播得到的中间帧的结果,合并在一起作为中间帧的检测结果。

其中,所述第一神经网络是通过专门的第一训练集训练好的神经网络。通过向第一神经网络输入左右两关键帧及其检测结果和中间帧的图像,第一神经网络能输出中间帧的检测结果。这里,所述左侧帧与所述右侧帧,分别从相邻的两个关键帧中取出。所述中间帧是相邻的两个关键帧之间的帧。

如此,求取中间帧的检测结果时,无需采用基于图片的检测器来对中间帧进行检测,仅需利用步骤101中获得的关键帧的检测结果即可预测出中间帧的检测结果。

仍以上述目标视频共有121帧,确定出的关键帧包括初始关键帧第1帧、第25帧、第49帧、第73帧、第97帧、第121帧,次级关键帧第13帧、第85帧为例进行说明,那么相邻关键帧包括(1,13)、(13,25)、(25,49)、(49,73)、(73,85)、(85,97)、(97,121),每相邻两所述关键帧之间的中间帧包括第7帧、第17帧、第37帧、第61帧、第79帧、第91帧、第109帧;仅以相邻关键帧为第1帧和第7帧为例,它们之间的中间帧为第4帧,从左侧帧第1帧向中间帧第4帧传播的传播结果记为中间帧第4帧的第一种检测结果,从右侧帧第7帧向中间帧第4帧传播的传播结果记为中间帧第4帧的第二种检测结果,因此,预测出的中间帧第4帧的检测结果包括第一种检测结果和第二种检测结果。

其中,第一种检测结果包括检测框的空间位置和分类置信度,第二种检测结果也包括检测框的空间位置和分类置信度。

根据左侧帧第1帧、中间帧第4帧以及它们之间的帧第2帧、第3帧,计算mhi,利用第一神经网络对所述mhi提取特征,预测出检测框从左侧帧第1帧到中间帧第4帧的偏移量,将所述偏移量加到左侧帧第1帧的检测框上,作为传播到中间帧第4帧的检测框的空间位置,中间帧第4帧的检测框的分类置信度与左侧帧第1帧的检测框的分类置信度相同。

同理,根据右侧帧第7帧、中间帧第4帧以及它们之间的帧第5帧、第6帧,计算mhi,利用第一神经网络对所述mhi提取特征,预测出检测框从右侧帧第7帧到中间帧第4帧的偏移量,将所述偏移量加到右侧帧第7帧的检测框上,作为传播到中间帧第4帧的检测框的空间位置,中间帧第4帧的检测框的分类置信度与右侧帧第7帧的检测框的分类置信度相同。

以相邻关键帧第1帧和第25帧的中间帧第13帧为例,从第1帧传播过来得到的第13帧的检测结果为检测框a+分类置信度a’;从第13帧传播过来得到的第13帧的检测结果为检测框b+分类置信度b’,若检测框a包括检测框a1、a2、a3共3个框,分类置信度a’包括分类置信度a1’、a2’、a3’,分别对应检测框a1、a2、a3;检测框b包括检测框b1、b2共2个框,分类置信度b’包括分类置信度b1’、b2’,分别对应检测框b1、b2;那么,中间帧第13帧的检测结果包括:a1、a2、a3、b1、b2共5个框,这5个框分别对应的分类置信度为a1’、a2’、a3’、b1、b2。

步骤103、对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果。

如此,通过对中间帧的检测结果进行修正,能够使经预测得到的而非经检测器检测得到的中间帧的检测结果更加准确,同时也能节省计算成本。

作为一种可选的实施方式,所述对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果,包括:

将中间帧的图像以及检测结果按照目标尺度进行尺度变换操作,所述目标尺度大于当前尺度;

利用第二神经网络对所述图像提取特征,预测出输入框到所述图像中对应物体位置的偏移量,将所述偏移量与所述输入框相加,作为在所述目标尺度中修正后所得的空间位置;

其中,所述输入框是中间帧的检测框。

具体地,若利用第一神经网络求取中间帧的检测结果时,是基于第一尺度完成的,则利用第二神经网络对中间帧的检测结果进行修正时,是基于第二尺度完成的,其中,第一尺度小于第二尺度。这里,所述尺度可以理解为图像的分辨率的大小。也就是说,在尺度维度上,从低分辨率到高分辨率一级一级地修正框的空间位置。

仍以上述相邻关键帧为第1帧和第7帧,它们之间的中间帧第4帧为例,利用第二神经网络对中间帧第4帧的检测结果进行修正,则第二神经网络的输入为:中间帧第4帧的图像和中间帧第4帧的检测结果;第二神经网络的输出为:修正后的中间帧第4帧的检测结果。

这里,中间帧第4帧的检测结果包括检测框的空间位置和分类置信度,通过第二神经网络对第4帧的检测结果进行修正时,仅需对第4帧的检测框的空间位置进行修正。

其中,所述第二神经网络是通过专门的第二训练集训练好的神经网络。通过向第二神经网络输入中间帧的检测结果以及中间帧的图像,第二神经网络能输出修正后的中间帧的检测结果。

上述步骤102、步骤103进行若干级之后,可以得到每一帧上的检测结果。

这里,具体执行多少级,可根据检测精度和/或检测速度的需求进行设定或调整。

由于确定中间帧的检测结果时,没有采用检测器,这将比直接利用检测器速度要快,能节省时间成本。

假设相邻关键帧第1帧和第25帧中间无需插入次级关键帧,那么,取第1帧和第25帧之间的第13帧作为第一级中间帧;取第1帧和第13帧之间的第7帧,取第13帧和第25帧之间的第19帧作为第二级中间帧;考虑到时间和精度的平衡,求出中间帧第13帧、第7帧、第19帧的检测结果之后,就不再利用上述方法求解第1帧至25帧中除第1帧、第25帧、第13帧、第7帧、第19帧之外的其他帧的检测结果,而是采用线性插值算法得到其他帧的结果,以更快地得到其他帧的检测结果。

步骤104、基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果。

作为一种可选的实施方式,所述基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果,包括:

基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,利用线性插值算法确定出所述目标视频中除各个所述关键帧和各个所述中间帧之外的其他帧的检测结果。

如此,能够在保证重要帧如关键帧和中间帧的检测结果准确性的同时,还能估计出目标视频中除各个所述关键帧和各个所述中间帧之外的其他帧的检测结果,满足时间和精度的平衡,可以在保证高准确率的前提下实现视频中的实时物体检测。

进一步地,在步骤104之后,所述方法还可包括:

步骤105(图1中未示出):将各相邻两帧中类别相同的检测框,根据空间位置重叠程度进行串联操作,得到目标链,所述目标链跨越多帧且由类别相同的检测框组成;分别针对每个目标链上的检测框进行重新分类,并得到各检测框的分类置信度。

也就是说,将相邻两帧的同类别的检测框,根据空间位置重叠程度串联起来,最终形成跨越多帧的由同类别的检测框组成的一条链;对每一条链上的检测框进行重新分类,并确定每一条链上的检测框的分类置信度。

这里,所述的类别是指物体所述类别,如人类、动物、交通工具等。所述类别可以根据通用标准或客户需求进行设定。

这里,所述的空间位置重叠程度,是指:将相邻两帧中距离最近的两个检测框串联起来。

例如,第一帧上有4个框,分别记为框1、框2、框3、框4;第二帧上有4个框,分别记为框1’、框2’、框3’、框4’。若框1与框1’距离近,则将框1与框1’串起来,形成第一条链;若框2与框2’距离近,则将框2与框2’串起来,形成第二条链;若框3与框3’距离近,则将框3与框3’串起来,形成第三条链;若框3与框3’距离近,则将框3与框3’串起来,形成第四条链。实际应用中,有可能第一条链、第二条链、第三条链和第四条链所对应的物体类别相同,也可能不同。比如,四条链上对应的物体均为人。再比如,第一条链对应的物体为人,第二条链对应的物体为狗,第三条链对应的物体为树,第四条链对应的物体为车。

作为一种可选的实施方式,所述分别针对每个目标链上的检测框进行重新分类,并得到各检测框的分类置信度,包括:

等间隔选取每一个目标链上的若干个检测框,裁剪出所述若干个检测框对应的图像并将所述图像缩放到相同大小,利用第三神经网络对相同大小的各个所述图像提取特征并进行分类,得到每一个目标链上的各检测框的分类置信度。

这里,等间隔的值可以根据链的长度进行设定或调整。这里的等间隔的值,与选取初始关键帧时的等时间间隔的值可以相同,也可以不同。

这里,选取若干个框,可以理解为每隔一定时间间隔选择一个框。

假设一条链的长度为30帧,那么,每隔6帧选取一个框,所选取的若干个框可以是第1、7、13、19、25、30帧上对应于该条链上的框。

实际上,对应于一条链来说,该条链上每个框都对应于一个独立的帧,不会出现一条链上有一帧图像的2个或2个以上的框的情况。

实际应用中,如果真实图像是一人一狗一车,检测出的是2人2狗1车;在真实的人的位置检测出2个框,这2个框有重叠,则保留分类置信度高的框。

这里的再分类,实际上是对框中的物体以及框的分类置信度进行再次确认,但是不会对框的空间位置进行再次确定。

对于每一同类别,第1至第25帧,若每一帧都有猫、都有狗、都有车、都有人;则可能得到一条有关猫的链,一条有关狗的链,一条有关人的链,一条有关车的链。

比如,根据步骤101至104确认出,第1帧至第25帧框中的对象为猫,置信度为0.5;经过步骤105再分类后可能得到,第1帧至第25帧框中的对象是猫,置信度为0.8;或者第1帧至第25帧框中的对象是狗,置信度为0.7。

其中,所述第三神经网络是通过专门的第三训练集训练好的神经网络。通过向第三神经网络输入每一条由同类别的检测框组成的链,第三神经网络能输出每一条链上的检测框的分类置信度。

如此,通过对各帧的检测结果中的分类置信度重新分类,能够提升分类置信度的准确性,从而进一步提升各帧的检测结果的准确性。

针对一个目标视频而言,若一个节点理解为一帧,那么,该目标视频应该有多个输入节点和多个输出节点。以目标视频有600帧为例,若共选取了50个关键帧,那么,该目标视频应该有50个输入节点,和600个输出节点。

相对于现有通常只在时间或者尺度中一个维度上进行优化,且没有综合建模分析的方法而言,本申请提出了一种新的视频物体检测框架,在时间和尺度两个维度上进行综合建模分析,具体的,在时间和尺度两个维度上进行网格状渐进式分析。

图2为时间-尺度网格化分析示意图,如图2所示,本发明提出的视频物体检测框架,将物体检测建模为在时间-尺度二维空间中的有向无环图,横向为时间维度,从左至右时间依次递增,纵向为尺度维度,从上至下图片分辨率依次增大。图2中每个节点为某个时间点在某个尺度下的检测结果,每一条有向边为一种操作,物体检测的过程为从上方稀疏的节点开始,经过一系列路径,到达最下方的密集的节点。在时间维度上,利用运动历史图像(mhi)作为输入,将检测结果传播到其他帧上;在尺度维度上,从低分辨率到高分辨率一级一级地修正框的空间位置。通过这种网格式的传播和修正路径,最终获得在高分辨率下每一帧的检测结果。

图3为检测框架的示例图,其中,t表示时间传播模块,s表示空间位置修正模块,对于该图来说,在时间t对应的这帧图像(假设为关键帧,对应第1帧),利用检测器检测得到4个框,且每个框中的对象是人;在时间t+4x对应的这帧图像(假设为关键帧,对应第25帧),利用检测器检测得到4个框,且3个框中的对象是人,1个框中的对象是车;在时间t+2x对应的这帧图像(假设为中间帧,对应第13帧),不利用检测器检测,而是通过基于时间-尺度的传播与修正,得到8个框,包括由第1帧向第13帧传播得到的4个框,加上由第25帧向第13帧传播得到的4个框。

本发明实施例提出的视频中物体检测方法,提出了一种新的视频物体检测框架,在时间和尺度两个维度上进行网格状渐进式分析。在所提出的框架下设计高效的时间维度传播模块,具体的,在时间维度上,利用运动历史图像(mhi)作为输入,将检测结果传播到其他帧上;在尺度维度上,从低分辨率到高分辨率一级一级地修正框的空间位置。通过这种网格式的传播和修正路径,最终获得在高分辨率下每一帧的检测结果。通过本发明所述技术方案,可以实现计算成本和检测性能的良好平衡,能在保证较高准确率的前提下实现视频中的实时物体检测。

采用本发明所述技术方案,可以对监控视频进行实时分析,检测出感兴趣的物体,还可以对车载摄像头的视频流进行实时分析,检测前方道路上的行人、车辆等物体,进行基于视觉的辅助驾驶。

对应上述视频中物体检测方法,本实施例提供了一种视频中物体检测装置,如图4所示,该装置包括:

第一确定模块10,用于基于目标视频确定若干个关键帧;

关键帧检测模块20,用于对每个所述关键帧进行物体检测,得到各个所述关键帧的检测结果;

第二确定模块30,用于根据各个所述关键帧的检测结果,确定每相邻两所述关键帧之间的中间帧的检测结果;

修正模块40,用于对各个所述中间帧的检测结果进行修正,得到修正后的各个所述中间帧的检测结果;

第三确定模块50,用于基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,确定所述目标视频的检测结果。

进一步地,所述装置还包括:

再分类模块60,用于在所述第三确定模块50确定出所述目标视频的检测结果之后,将各相邻两帧的类别相同的检测框,根据空间位置重叠程度进行串联操作,得到目标链,所述目标链跨越多帧且由类别相同的检测框组成;分别针对每个目标链上的检测框进行重新分类,得到各检测框的分类置信度。

作为一种实施方式,所述第一确定模块10,还用于:

按照预设时间间隔选取多个初始关键帧,对各所述初始关键帧进行物体检测,得到各个所述初始关键帧中的检测框的空间位置及分类置信度;

针对每相邻两个所述初始关键帧中的检测框,基于空间位置和分类置信度进行匹配;

响应于空间位置和分类置信度的匹配程度小于预设阈值,在所述相邻两个初始关键帧之间的各帧中选择次级关键帧,并对各个所述次级关键帧进行物体检测,得到各个所述次级关键帧中的检测框的空间位置及分类置信度;

其中,为所述目标视频确定的关键帧仅包括各所述初始关键帧,或者,同时包括各所述初始关键帧和各所述次级关键帧。

作为一种实施方式,所述第二确定模块30,用于:

对于每相邻的两个关键帧,取左侧帧、中间帧以及左侧帧与中间帧之间的帧,计算第一运动历史图像(mhi),利用第一神经网络对所述第一运动历史图像提取特征,预测出检测框从左侧帧到中间帧的第一偏移量,将所述第一偏移量加到左侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

对于每相邻的两个关键帧,取右侧帧、中间帧以及右侧帧与中间帧之间的帧,计算第二运动历史图像,利用第一神经网络对所述第二运动历史图像提取特征,预测出检测框从右侧帧到中间帧的第二偏移量,将所述第二偏移量加到右侧帧的检测框上,作为传播到中间帧的检测框的空间位置,中间帧的检测框的分类置信度与左侧帧的检测框的分类置信度相同;

将从左侧帧向中间帧传播得到的中间帧的结果,以及从右侧帧向中间帧传播得到的中间帧的结果,合并在一起作为中间帧的检测结果。

作为一种实施方式,所述修正模块40,还用于:

将中间帧的图像以及检测结果按照目标尺度进行尺度变换操作,所述目标尺度大于当前尺度;

利用第二神经网络对所述图像提取特征,预测出输入框到所述图像中对应物体位置的偏移量,将所述偏移量与所述输入框相加,作为在所述目标尺度中修正后所得的空间位置;

其中,所述输入框是中间帧的检测框。

作为一种实施方式,所述第三确定模块50,还用于:

基于各个所述关键帧的检测结果、各个修正后的所述中间帧的检测结果,利用线性插值算法确定出所述目标视频中除各个所述关键帧和各个所述中间帧之外的其他帧的检测结果。

作为一种实施方式,所述再分类模块60,还用于:

等间隔选取每一个目标链上的若干个检测框,裁剪出所述若干个检测框对应的图像并将所述图像缩放到相同大小,利用第三神经网络对相同大小的各个所述图像提取特征并进行分类,得到每一个目标链上的各检测框的分类置信度。

本领域技术人员应当理解,图4中所示的视频中物体检测装置中的各处理模块的实现功能可参照前述视频中物体检测方法的相关描述而理解。本领域技术人员应当理解,图4所示的视频中物体检测装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

实际应用中,上述关键帧检测模块20可通过基于图片的物体检测器来实现。上述第一确定模块10、第二确定模块30、修正模块40、第三确定模块50和再分类模块60的具体结构均可对应于处理器。所述处理器具体的结构可以为中央处理器(cpu,centralprocessingunit)、微处理器(mcu,microcontrollerunit)、数字信号处理器(dsp,digitalsignalprocessing)或可编程逻辑器件(plc,programmablelogiccontroller)等具有处理功能的电子元器件或电子元器件的集合。其中,所述处理器包括可执行代码,所述可执行代码存储在存储介质中,所述处理器可以通过总线等通信接口与所述存储介质中相连,在执行具体的各单元的对应功能时,从所述存储介质中读取并运行所述可执行代码。所述存储介质用于存储所述可执行代码的部分优选为非瞬间存储介质。

所述第一确定模块10、第二确定模块30、修正模块40、第三确定模块50和再分类模块60可以集成对应于同一处理器,或分别对应不同的处理器;当集成对应于同一处理器时,所述处理器采用时分处理所述第一确定模块10、第二确定模块30、修正模块40、第三确定模块50和再分类模块60对应的功能。

本发明提出的视频中物体检测装置,在时间和尺度两个维度上进行网格状渐进式分析,具体的,在时间维度上,利用运动历史图像(mhi)作为输入,将检测结果传播到其他帧上;在尺度维度上,从低分辨率到高分辨率一级一级地修正框的空间位置;通过这种网格式的传播和修正路径,最终获得在高分辨率下每一帧的检测结果;如此,可以实现计算成本和检测性能的良好平衡,能在保证较高准确率的前提下实现视频中的实时物体检测。

本发明实施例还记载了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述各个实施例所述的视频中物体检测方法。也就是说,所述计算机可执行指令被处理器执行之后,能够实现前述任意一个技术方案提供的视频中物体检测方法。

本领域技术人员应当理解,本实施例的计算机存储介质中各程序的功能,可参照前述各实施例所述的视频中物体检测方法的相关描述而理解。

需要说明的是,本发明所述技术方案具有较强的通用性。除了进行上述物体检测的任务外,通过对特定模块如第二确定模块和修正模块等模块的替换,可以完成视频中的物体跟踪、目标实例分割等任务。

以目标实例分割为例,在本发明所提供方法的框架下,从稀疏关键帧的分割结果开始,在时间轴上进行分割掩膜的传播,并在空间位置上一步步修正,此时,将物体检测器替换成分割器。

以物体跟踪为例,在本发明所提供方法的框架下,从稀疏关键帧的检测结果开始,在时间轴上进行跟踪的传播,并在空间位置上一步步修正,此时,将物体检测器替换成跟踪器。

上述各实施例所述的视频中物体检测方法和装置、计算机存储介质,可具体应用在智能视频分析、无人车自动驾驶等应用场景。

下面给出具体应用在无人驾驶领域的应用场景。实际应用中,智能汽车通过上述视频中物体检测方法及装置、计算机存储介质,采用时间上从稀疏到密集,尺度上从低分辨率到高分辨率的检测过程,确定出目标视频中每一帧的检测结果,在保证高准确率的前提下实现视频中的实时物体检测,对车载摄像头的视频流进行实时分析,检测前方道路上的行人、车辆等物体,进行基于视觉的辅助驾驶。

下面给出具体应用在智能视频分析上的应用场景。实际应用中,机器人通过上述视频中物体检测方法及装置、计算机存储介质,采用时间上从稀疏到密集,尺度上从低分辨率到高分辨率的检测过程,对监控视频进行实时分析,能快速且准确地确定出目标视频中每一帧的检测结果,检测出感兴趣的物体。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1