一种目标检测方法、装置、设备及可读存储介质与流程

文档序号:17726214发布日期:2019-05-22 02:31阅读:140来源:国知局
一种目标检测方法、装置、设备及可读存储介质与流程

本申请涉及计算机视觉技术领域,更具体地说,涉及一种目标检测方法、装置、设备及可读存储介质。



背景技术:

目标检测是计算机视觉领域中一个基础性的研究课题,其在人脸识别、安全监控以及动态追踪等很多方面都有广泛的应用前景。目标检测指的是在图像中定位并识别出每个目标。目标检测已广泛应用于人脸检测、车辆检测、行人计数、网络图像、安全系统和无人驾驶等领域。目前的目标检测方法主要是对整幅待检测图像的所有区域进行目标检测,但是,这种检测方式的检测效果不佳。



技术实现要素:

有鉴于此,本申请提供了一种目标检测方法、装置、设备及可读存储介质,用以提供一种检测效果较好的目标检测方案,该技术方案如下:

一种目标检测方法,包括:

获取目标场景下的图像序列中的一待检测图像;

获取所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况;

基于预设的前景检测算法以及所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况,确定所述待检测图像对应的目标检测结果。

可选的,所述获取所述目标场景下的各类目标在所述待检测图像中的出现情况,包括:

获取所述待检测图像对应的目标出现概率矩阵;

其中,所述目标出现概率矩阵能够表征所述目标场景下各类型的目标在所述待检测图像各对应位置出现的概率。

可选的,所述基于预设的前景检测算法以及所述目标场景下的各类目标在所述待检测图像中的出现情况,确定所述待检测图像的检测结果,包括:

通过所述预设的前景检测算法以及所述待检测图像对应的目标出现概率矩阵,从所述待检测图像中确定目标候选区域;

对所述目标候选区域进行目标检测,获得所述待检测图像对应的目标检测结果。

可选的,所述目标检测方法还包括:

基于所述待检测图像对应的目标检测结果,对所述待检测图像对应的目标出现概率矩阵进行更新;

更新后的目标出现概率矩阵作为所述图像序列中下一待检测图像对应的目标出现概率矩阵。

可选的,所述基于预设的前景检测算法以及所述待检测图像对应的目标出现概率矩阵,从所述待检测图像中确定目标候选区域,包括:

利用所述前景检测算法对所述待检测图像进行前景区域检测,获得所述待检测图像所包含的前景区域;

根据所述待检测图像对应的目标出现概率矩阵,对所述待检测图像所包含的前景区域进行更新,获得更新后的前景区域;

基于所述更新后的前景区域生成所述目标候选区域。

可选的,所述根据所述待检测图像对应的目标出现概率矩阵,对所述待检测图像所包含的前景区域进行更新,获得更新后的前景区域,包括:

基于所述目标出现概率矩阵,从所述前景区域中确定出现目标的概率小于第一概率阈值的前景区域并删除,获得剩余的前景区域;

和/或,

基于所述目标出现概率矩阵,从除所述前景区域外的非前景区域中确定出现目标的概率大于第二概率阈值的非前景区域;

所述剩余的前景区域,或者,所述前景区域和所述出现目标的概率大于第二概率阈值的非前景区域,或者,所述剩余的前景区域和所述出现目标的概率大于第二概率阈值的非前景区域,作为所述更新后的前景区域。

可选的,所述目标出现概率矩阵包括多个尺寸相同的二维概率矩阵,一个二维概率矩阵对应一类型的目标,一个二维概率矩阵能够表征其对应的类型的目标在各位置出现的概率;

所述根据所述待检测图像对应的目标出现概率矩阵,对所述待检测图像所包含的前景区域进行更新,包括:

通过多个二维概率矩阵,确定最大概率矩阵,其中,所述最大概率矩阵中任一位置的元素的值基于所述多个二维概率矩阵中对应位置的多个元素的值中的最大值确定;

利用所述最大概率矩阵,对所述待检测图像所包含的前景区域进行更新。

可选的,所述对所述目标候选区域进行目标检测,获得所述待检测图像对应的目标检测结果,包括:

将所述目标候选区域输入预先建立的目标检测模型,获得目标边界框和所述目标边界框对应的目标得分;

所述目标边界框和所述目标边界框对应的目标得分作为所述待检测图像对应的目标检测结果;

其中,所述目标边界框为所述目标候选区域中所包含的目标的边界框,所述目标边界框对应的目标得分为所述目标边界框中的目标属于每个类别的概率。

可选的,所述对所述目标候选区域进行目标检测,获得所述待检测图像对应的目标检测结果,还包括:

基于所述待检测图像对应的目标出现概率矩阵,以及所述目标边界框对应的目标得分,从所述目标边界框中去除冗余的目标边界框,获得最终的目标边界框,并获得所述最终的目标边界框中目标的类型;

所述最终的目标边界框和所述最终的目标边界框中目标的类型作为所述待检测图像对应的目标检测结果。

可选的,所述基于所述待检测图像对应的目标出现概率矩阵,以及所述目标边界框对应的目标得分,从所述目标边界框中去除冗余的目标边界框,包括:

通过所述目标出现概率矩阵确定所述目标边界框对应的区域出现对应类别的目标的概率;

根据所述目标边界框对应的区域出现对应类别的目标的概率对所述目标边界框对应的目标得分进行后处理,得到所述目标边界框对应的后处理得分;

基于所述目标边界框对应的后处理得分,从所述目标边界框中确定冗余的目标边界框。

可选的,所述待检测图像对应的目标检测结果包括:目标边界框和所述目标边界框中目标的类别;

所述基于所述待检测图像对应的目标检测结果,对所述待检测图像对应的目标出现概率矩阵进行更新,包括:

遍历所述目标边界框,对于当前遍历到的目标边界框,将所述目标出现概率矩阵中、与当前遍历到的目标边界框对应的区域中的值加上当前遍历到的目标边界框对应的概率,其中,当前遍历到的目标边界框对应的概率为当前遍历到的目标边界框中出现对应类别的目标的概率;

遍历基于预设的前景检测算法从所述待检测图像中检测出的前景区域,若基于所述目标检测结果确定出当前遍历到的前景区域为未出现任何类型的目标的区域,则将所述目标出现概率矩阵中、与当前遍历到的前景区域对应的区域中的值减去预设值。

一种目标检测装置,包括:图像获取模块、目标出现情况获取模块和目标检测模块;

所述图像获取模块,用于获取目标场景下的图像序列中的一待检测图像;

所述目标出现情况获取模块,用于获取所述目标场景下的各类目标在所述待检测图像中的出现情况;

所述目标检测模块,用于基于预设的前景检测算法以及所述目标场景下的各类目标在所述待检测图像中的出现情况,确定所述待检测图像对应的目标检测结果。

可选的,所述目标出现情况获取模块,具体用于获取所述待检测图像对应的目标出现概率矩阵;

其中,所述目标出现概率矩阵能够表征所述目标场景下各类型的目标在所述待检测图像各对应位置出现的概率。

可选的,所述目标检测模块包括:目标候选区域确定子模块和目标检测子模块;

所述目标候选区域确定子模块,用于通过所述预设的前景检测算法以及所述待检测图像对应的目标出现概率矩阵,从所述待检测图像中确定目标候选区域;

所述目标检测子模块,用于对所述目标候选区域进行目标检测,获得所述待检测图像对应的目标检测结果。

可选的,所述目标检测装置还包括:数据更新模块;

所述数据更新模块,用于基于所述待检测图像对应的目标检测结果,对所述待检测图像对应的目标出现概率矩阵进行更新;更新后的目标出现概率矩阵作为所述图像序列中下一待检测图像对应的目标出现概率矩阵。

一种目标检测设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现所述目标检测方法的各个步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述目标检测方法的各个步骤。

从上述的技术方案可以看出,本申请实施例提供的目标检测方法、装置、设备及可读存储介质,首先获取目标场景下的图像序列中的一待检测图像,然后获取目标场景下的各类目标在待检测图像各个位置的出现情况,最后基于预设的前景检测算法以及目标场景下的各类目标在待检测图像中的出现情况,确定待检测图像对应的目标检测结果。本申请提供的目标检测方法,同时考虑了短时上下文信息(前景检测)和长时上下文信息(目标在各对应位置的出现情况),同时考虑这两种信息能够大大减少前景检测效果不理想带来的虚警,还能够减少短时间内静止目标的漏警,另外,还能够大大降低目标检测的运算量,提高目标检测效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种目标检测方法的流程图;

图2a和图2b为本申请实施例提供的目标出现概率矩阵转换为概率形式的一示例的示意图;

图3为本申请实施例提供的目标检测方法中,基于预设的前景检测算法以及待检测图像对应的目标出现概率矩阵,从待检测图像中确定目标候选区域的流程示意图;

图4a-4c分别为本申请实施例提供的利用预设的前景检测算法检测出的前景区域的一示例的示意图、对图4a中的前景区域进行更新后的示意图以及基于图4b中的前景区域生成的目标候选区域的示意图;

图5为本申请实施例提供的目标检测模型的一结构示意图;

图6为本申请实施例提供的目标检测模型的训练过程的流程示意图;

图7为本申请实施例提供的通过目标检测模型获得的检测结果的一示例的示意图;

图8为本申请实施例提供的目标检测方法中,基于待检测图像对应的目标出现概率矩阵,以及目标边界框对应的目标得分,从目标边界框中去除冗余的目标边界框的流程示意图;

图9为本申请实施例提供的目标检测方法中,对基于待检测图像对应的目标检测结果,对待检测图像对应的目标出现概率矩阵进行更新的流程示意图;

图10为本申请实施例提供的目标检测方法中,对目标出现概率矩阵进行更新的一示例的示意图;

图11为本申请实施例提供的目标检测装置的结构示意图;

图12为本申请实施例提供的目标检测设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有技术中的目标检测方式为:对整幅待检测图像的所有区域进行目标检测,发明人在实现本发明创造的过程中发现,在实际场景中,待检测图像中的很多区域是静止的背景区域,对这些背景区域进行检测,势必会增加检测运算量,并且,当出现一些新的背景区域时,还有可能会产生目标的虚警。

为了降低目标检测的运算量,并减少静止目标的虚警,本案发明人进行了深入研究:

初始阶段的思路是,先利用前景检测方法从待检测图像中检测出前景区域,然后对前景区域进行目标检测。从待检测图像中检测出前景区域,只对检测出的前景区域进行目标检测能够降低检测运算量,且能够滤除掉一些背景区域的干扰。

但是,上述检测方法仍存在问题,具体体现在:检测方法稳定性不佳,对于一些短时间内静止的目标容易出现漏警,比如,临时停在路边的汽车、等红绿灯的行人等,另外,上述检测方法易受到环境因素的影响,比如,起风或者下雨天检测效果不佳。

鉴于上述问题,本案发明人继续深入研究,最终提出了一种解决方案,完美解决了上述研发过程中各个问题。接下来通过下述实施例对本申请提供的目标检测方案进行介绍。

请参阅图1,示出了本申请实施例提供的目标检测方法的流程示意图,该方法可以包括:

步骤s101:获取目标场景下的图像序列中的一待检测图像。

其中,目标场景下的图像序列可以为目标场景下的视频,比如监控场景下行人/车辆的视频。

步骤s102:获取目标场景下的各类目标在待检测图像各对应位置的出现情况。

在一种可能的实现方式中,目标场景下的各类目标在待检测图像各对应位置的出现情况可通过待检测图像对应的目标出现概率矩阵表征。待检测图像对应的目标出现概率矩阵用于表示待检测图像中每个坐标位置出现每种类型目标的概率相关取值,即目标出现概率矩阵能够表征目标场景下各类型的目标在待检测图像中各对应位置出现的概率。

假设定义目标出现概率矩阵为p′obj,p′obj的尺寸为c×h×w,其中,h为目标出现概率矩阵的宽,w为目标出现概率矩阵的高,目标出现概率矩阵的尺寸与待检测图像尺寸相同,c为待检测的目标的种类的数量,目标出现概率矩阵中(c,w,h)位置元素的值p′obj(c,w,h)表示第h行第w列对应位置出现第c类目标的概率相关取值。

在一种可能的实现方式中,可利用sigmoid函数将目标出现概率矩阵中的(c,w,h)位置元素的值p′obj(c,w,h)转换为概率形成,需要说明的是,之所以采用sigmoid函数,是因为其能够方便地将目标出现概率矩阵中的概率相关取值转换为概率形式(0到1之间的值),且对矩阵中较大的正值和较小的负值都有很好的鲁棒性。

具体的,在第h行第w列对应位置出现第c类目标的概率p′y(w,h)为:

相应的,在第h行第w列对应位置不出现第c类目标的概率p′n(w,h)为:

其中,a为超参数,其值可以为1。

步骤s103:基于预设的前景检测算法以及目标场景下的各类目标在待检测图像中的出现情况,确定待检测图像的检测结果。

基于预设的前景检测算法以及目标场景下的各类目标在待检测图像中的出现情况,确定待检测图像的检测结果的实现方式有多种,在一种可能的实现方式中,可通过预设的前景检测算法以及待检测图像对应的目标出现概率矩阵,从待检测图像中确定目标候选区域,确定出的目标候选区域作为待检测图像对应的目标检测结果。在另一种可能的实现方式中,可首先通过预设的前景检测算法以及待检测图像对应的目标出现概率矩阵,从待检测图像中确定目标候选区域;然后对目标候选区域进行目标检测,从而获得待检测图像对应的目标检测结果。

其中,目标候选区域为可能包含目标的区域,预设的前景检测算法可以为现有技术中常用的检测算法,比如,背景建模法、帧差法、光流法等。

本申请实施例提供的方法还可以包括:基于待检测图像对应的目标检测结果,对待检测图像对应的目标出现概率矩阵进行更新,更新后的目标出现概率矩阵作为图像序列中下一待检测图像对应的目标出现概率矩阵。

需要说明的是,若待检测图像为图像序列中第一幅待检测图像,则待检测图像对应的目标出现概率矩阵为预先基于目标场景构建的初始目标出现概率矩阵;若待检测图像不为图像序列中第一幅待检测的图像,则待检测图像对应的目标出现概率矩阵为基于前一幅待检测图像的目标检测结果对前一幅待检测图像对应的目标出现概率矩阵进行更新后得到的目标出现概率矩阵。

示例性的,图像序列中的待检测图像依次为i0、i1、i2…、in,则i0对应的目标出现概率矩阵为预先基于目标场景构建的初始目标出现概率矩阵p0,i1对应的目标出现概率矩阵为基于i1对应的目标检测结果对p0更新后得到的p1,i2对应的目标出现概率矩阵为基于i2对应的目标检测结果对p1更新后得到的p2,以此类推。

在本申请中,图像序列中的一待检测图像对应的目标出现概率矩阵通过对前一待检测图像对应的目标出现概率矩阵更新得到,对于图像序列中的第一幅待检测图像而言,其对应的目标出现概率矩阵中所有元素的值可初始化为0,即每个位置出现或者不出现任一目标的概率均为0.5,后续通过不断更新,使得目标出现概率值越来越准确。

示例性的,在关注行人和车辆两类目标的场景中,即c=2,目标出现概率矩阵初始化后如图2a所示,利用sigmoid函数将其转换成概率形式如图2b所示,图2b中前后两个二维矩阵分别表示行人和车辆出现的概率值,初始概率均为0.5,不出现的概率值用1减去对应位置出现的概率即可得到。

本申请实施例提供的目标检测方法,首先获取目标场景下的各类目标在待检测图像各对应位置的出现情况,然后基于预设的前景检测算法以及目标场景下的各类目标在待检测图像各对应位置的出现情况,确定待检测图像对应的目标检测结果。本申请实施例提供的目标检测方法,在确定目标检测结果时,同时考虑了短时上下文信息(前景检测)和长时上下文信息(目标出现情况),同时考虑这两种信息能够大大减少短时间内静止目标的漏警,还能够减少前景检测效果不理想带来的虚警,另外,本申请实施例提供的目标检测方法从待检测图像中确定目标候选区域,只对目标候选区域进行目标检测,能够大大降低目标检测的运算量,提高目标检测效率。

在本申请的另一实施例中,对上述实施例中“基于预设的前景检测算法以及待检测图像对应的目标出现概率矩阵,从待检测图像中确定目标候选区域”进行介绍。

请参阅图3,示出了基于预设的前景检测算法以及待检测图像对应的目标出现概率矩阵,从待检测图像中确定目标候选区域的流程示意图,可以包括:

步骤s301:利用前景检测算法对待检测图像进行前景区域检测,获得待检测图像所包含的前景区域。

本实施例可以但不限定为采用背景建模、帧差法、光流法等方法从待检测图像中检测出前景区域。以背景建模方法中的vibe算法为例对检测前景区域的过程进行说明:为每个背景点存储一个样本集作为背景模型,其中,样本集的采样值为该像素过去的像素值以及其相邻点的像素值,对于待检测图像中的任一像素点,将其与对应的样本集进行比较判别,确定该像素点属于前景还是背景,以得到待检测图像中各个像素点的类别,进而得到前景区域。

步骤s302:根据待检测图像对应的目标出现概率矩阵,对待检测图像所包含的前景区域进行更新,获得更新后的前景区域。

根据待检测图像对应的目标出现概率矩阵,对待检测图像所包含的前景区域进行更新的实现方式有多种,以下列举几种可能的实现方式。

第一种可能的实现方式:

根据待检测图像对应的目标出现概率矩阵,对待检测图像所包含的前景区域进行更新的过程包括:基于目标出现概率矩阵,从基于步骤s301获得的前景区域中,确定出现目标的概率小于第一概率阈值的前景区域并删除,获得剩余的前景区域;剩余的前景区域作为更新后的前景区域。

其中,基于目标出现概率矩阵,从基于步骤s301获得的前景区域中,确定出现目标的概率小于第一概率阈值的前景区域的过程可以包括:通过目标出现概率矩阵确定最大概率矩阵,基于最大概率矩阵确定目标出现的概率小于第一概率阈值的前景区域。

具体的,若设定目标出现概率矩阵为p′obj,p′obj的尺寸为c×h×w,则将p′obj沿着c维取最大值,从而得到w×h的矩阵,该矩阵作为最大概率相关值矩阵p′max,接着将最大概率相关值矩阵p′max转换为最大概率矩阵pmax,比如可采用sigmoid函数进行转换,最后,基于最大概率矩阵pmax确定目标出现的概率小于第一概率阈值的前景区域。

需要说明的是,目标出现概率矩阵p′obj实质为c个w×h的二维概率矩阵,一个二维概率矩阵对应一类型的目标,一个二维概率矩阵表示对应类型的目标在各位置出现的概率相关取值,即其能够表征其对应类型的目标在各位置出现的概率,上述的“将p′obj沿着c维取最大值”指的是,从c个w×h的二维概率矩阵中同一位置的c个值中取最大值。

示例性的,在关注行人和车辆两类目标的场景中,即c=2,对于待检测图像中的任一位置(w,h),目标出现概率矩阵p′obj中对应位置的元素的值为p′obj(1,w,h)和p′obj(2,w,h),取p′obj(1,w,h)和p′obj(2,w,h)中的最大值,即:

p′max(w,h)=max(p′obj(1,w,h),p′obj(2,w,h))(3)

在获得p′max(w,h)后,可通过sigmoid函数将p′max(w,h)转换为概率pmax(w,h):

通过上述过程可获得最大概率矩阵pmax。

基于最大概率矩阵pmax确定目标出现的概率小于第一概率阈值的前景区域的过程可以包括:采用预设尺寸(比如15×15)的滑动窗口在待检测图像中滑动,对于每个窗口,从最大概率矩阵pmax中获取该窗口内各个位置出现目标的概率值,计算窗口内各个位置出现目标的概率值的平均值计算出的平均值作为该窗口内出现目标的概率,若基于步骤s301确定该窗口内区域为前景,而窗内区域对应的小于第一概率阈值λmin,则确定该区域为上文所述的“目标出现的概率小于第一概率阈值的前景区域”,这种区域很可能为背景,但由于前景检测效果不理想,其被检测为了前景,为了降低前景检测效果不理想带来的虚警,并且降低后续目标检测的运算量,本申请实施例将这种区域删除。

第二种可能的实现方式:

根据待检测图像对应的目标出现概率矩阵,对待检测图像所包含的前景区域进行更新的过程包括:基于目标出现概率矩阵,从待检测图像中除基于步骤s301获得的前景区域外的非前景区域中,确定出现目标的概率大于第二概率阈值的非前景区域,将基于步骤s301获得的前景区域,以及出现概率大于第二概率阈值的非前景区域,作为更新后的前景区域。

具体的,可按上述方式确定出最大概率矩阵pmax,然后采用预设尺寸(比如15×15)的滑动窗口在待检测图像中滑动,对于每个窗口,同样从最大概率矩阵pmax中获取该窗口内各个位置出现目标的概率值,计算窗口内各个位置出现目标的概率值的平均值计算出的平均值作为该窗口内出现目标的概率,若基于步骤s301确定该窗口内区域为背景区域,而窗内区域对应的大于第二概率阈值λmax,则确定该区域为上文所述的“出现目标的概率大于第二概率阈值的非前景区域”,这种区域很可能为前景区域,但由于其处于静止状态而被误检为背景,为了降低静止目标的漏警率,本申请实施例将这种区域作为前景区域进行后续的目标检测。

第三种可能的实现方式,也是较优选的实现方式:

根据待检测图像对应的目标出现概率矩阵,对待检测图像所包含的前景区域进行更新的过程包括:基于目标出现概率矩阵,从基于步骤s301获得的前景区域中,确定出现目标的概率小于第一概率阈值的前景区域并删除,获得剩余的前景区域;基于目标出现概率矩阵,从除基于步骤s301获得的前景区域外的非前景区域中确定目标出现概率大于第二概率阈值的非前景区域,将剩余的前景区域和目标出现概率大于第二概率阈值的非前景区域,作为更新后的前景区域。该实现方式不但能够降低前景检测效果不理想带来的虚警,还能降低静止目标的漏警率。

请参阅图4,图4a为利用预设的前景检测算法检测出的前景区域的示意图,图4b为基于第三种可能的实现方式对图4a中的前景区域进行更新后得到的前景区域的示意图,由图4a和图4b可以看出,图4a中的前景区域1为目标出现概率小于第一概率阈值的前景区域,由于其很可能为背景,因此,将其删除,而图4b中的区域4为目标出现概率大于第二概率阈值的非前景区域,由于其很可能包含静止目标,因此,将该区域作为前景区域进行后续的目标检测。

步骤s303:基于更新后的前景区域生成目标候选区域。

对于通过步骤s302获得的每个前景区域,寻找该前景区域中的联通区域,逐步构造最小矩形框以将寻找到的联通区域包含,直至该前景区域中的所有联通区域都被构造的矩形框所包含,从而得到目标候选区域。

请参阅图4c,图4c为基于图4b中的前景区域生成的目标候选区域,由于图4b中包含3个联通区域,因此,最终生成3个矩形框,即得到3个目标候选区域。

在本申请的另一实施例中,对上述实施例中的“步骤s103:对目标候选区域进行目标检测,获得待检测图像对应的目标检测结果”进行介绍。

对目标候选区域进行目标检测,获得待检测图像对应的目标检测结果的过程可以包括:将目标候选区域输入预先建立的目标检测模型,获得目标边界框和目标边界框对应的目标得分。目标边界框和目标边界框对应的目标得分作为待检测图像对应的目标检测结果。其中,目标边界框为目标候选区域中所包含的目标的边界框,目标边界框对应的目标得分为目标边界框中的目标属于每个类别的概率。

本实施例中的目标检测模型基于标注有目标类别和目标边界框的训练图像训练得到。需要说明的是,首先收集目标场景下的多幅训练图像,然后分别对每幅训练图像进行标注,具体的,标注出训练图像中出现的目标的边界框,并标注出边界框中目标的类别,在标注边界框时,需要将目标包含在内。示例性的,在监控场景下,用户希望检测视频中的行人和车辆,因此,在对监控场景下的训练图像进行标注时,需要标注出训练图像中出现的行人、车辆的边界框,并针对边界框中的目标标注出是行人还是车辆。在获得标注好的训练图像后,便可采用标注好的训练图像对预先搭建的目标检测模型进行训练。

请参阅图5,示出了目标检测模型的一结构示意图,可以包括:特征提取模块501、前景目标提取模块502和检测结果确定模块503。

请参阅图6,示出了目标检测模型的训练过程的流程示意图,可以包括:

步骤s601:通过目标检测模型的特征提取模块501,从输入的训练图像中提取特征图。

在一种可能的实现方式中,特征提取模块501可以为卷积神经网络cnn,卷积神经网络cnn可以为全卷积神经网络。

步骤s602:通过目标检测模型的前景目标提取模块502,基于特征提取模块501提取的特征图,从针对训练图像定义的多个候选框中确定前景类的候选框,并基于训练图像中标注的目标边界框对前景类的候选框进行修正,获得修正后的前景类候选框。

具体的,前景目标提取模块首先对输入图像的每个位置定义预设个(比如9个)不同尺寸以及长宽比的候选框,然后在特征提取模块提取的特征图上对所有的候选框进行判别,即,对每个候选框对应的区域进行前景、背景的分类以及前景类的候选框到真实目标边界框的回归。其中,前景包含所有关注的目标,而背景则为其它区域,候选框到真实目标边界框的回归指的是基于真实目标边界框对候选框进行回归修正,使候选框经回归修正后与真实目标边界框接近。

示例性的,监控场景中关注的目标是行人和车辆,则若候选框与某个真实标注的行人或车辆的边界框的面积交并比对大于设定阈值(比如0.5),则将该候选框对应的类别输出为前景类,反之则将该候选框对应的类别输出为背景类。对于前景类的候选框的回归,假设前景类的候选框为(xa,ya,wa,ha),其中(xa,ya)表示候选框的中心位置,(wa,ha)表示候选框的宽和高,标注的边界框即真实目标边界框为(x,y,w,h),网络输出的回归值为(δxa,δya,δwa,δha),它们之间的关系为:

步骤s603:通过目标检测模型的检测结果确定模块503,基于特征提取模块501输出的特征图和前景目标提取模块502输出的、修正后的前景类候选框,对修正后的前景类候选框中的目标进行分类,并对修正后的前景类候选框进一步进行修正,获得输入的训练图像对应的检测结果。

具体的,检测结果确定模块503从特征提取模块501输出的特征图中,将前景目标提取模块502输出的前景类的候选框对应的区域裁剪出来,对裁剪出的区域进行目标分类(比如,关注行人和车辆的场景中,目标的类别包括行人、车辆和背景)以及候选框的回归。需要说明的是,本步骤中候选框的回归是对步骤s2获得的修正后的前景类候选框进行进一步修正,修正方式与步骤s2中的方式相同。

步骤s604:基于训练图像对应的检测结果和训练图像的标注结果计算检测误差,基于检测误差更新目标检测模型的参数。

在本实施例中,可基于检测误差,利用反向梯度法计算得到目标检测模型的参数的梯度,基于计算得到的梯度更新目标检测模型的参数。对目标检测模型进行迭代训练直至模型收敛。优选的,在对模型进行训练时,可首先使用公开数据集imagenet对目标检测模型中的特征提取模块501进行预训练,得到特征提取模块501的初始参数,然后再用收集的训练图像对整个模型进行训练。

在训练完成后,将获得的目标候选区域逐个输入训练好的目标检测模型进行目标检测,获得目标检测结果,目标检测结果包括目标边界框和目标边界框对应的目标得分。请参阅图7,示出了通过目标检测模型获得的目标检测结果的一示例的示意图,通过目标检测模型检测出两个行人,其中,出现在(120,115)位置的行人的高宽为(100,30),得分为(0.99,0.0,0.01)其中,(0.99,0.0,0.01)表示出现在(120,115)位置的目标为行人、车辆以及背景的概率分别为0.99、0.0和0.01。

需要说明的是,可直接将通过目标检测模型获得的检测结果作为待检测图像对应的最终目标检测结果。然而,考虑到通过目标检测模型获得的检测结果准确度不够高,为了提高检测准确度,在本申请的另一实施例中,目标检测方法还可以包括:基于待检测图像对应的目标出现概率矩阵,以及目标边界框对应的目标得分,从目标边界框中去除冗余的目标边界框,获得最终的目标边界框,并确定最终的目标边界框中目标的类型;将最终的目标边界框和最终的目标边界框中目标的类型,作为待检测图像对应的目标检测结果。

请参阅图8,示出了基于待检测图像对应的目标出现概率矩阵,以及目标边界框对应的目标得分,从目标边界框中去除冗余的目标边界框的实现过程的流程示意图,可以包括:

步骤s801:从目标出现概率矩阵中获取目标边界框所在位置出现对应类别的目标的概率,并根据目标边界框所在位置出现对应类别的目标的概率对目标边界框对应的目标得分进行后处理,得到目标边界框对应的后处理得分。

具体的,对于任一目标边界框(x,y,w,h),通过下式确定该目标边界框(x,y,w,h)对应的后处理得分:

其中,p′obj(c,w,h)表示目标出现概率矩阵中对应的类别c在位置(x,y)出现的概率相关值,a为超参数,其值可以为1,sc表示目标边界框(x,y,w,h)中的目标为类别c的概率,s'c表示目标边界框(x,y,w,h)中的目标为类别c的后处理概率,由上式可知,将sc乘以位置(x,y)处出现类别c的目标的概率便可得到目标边界框(x,y,w,h)中的目标为类别c的后处理概率s'c,目标边界框(x,y,w,h)中的目标分别为各个类别的后处理概率组成目标边界框(x,y,w,h)对应的后处理得分,若某个位置出现对应类别目标的概率越小,则对分类得分的惩罚越大,从而得到更准确的得分。

步骤s802:基于目标边界框对应的后处理得分,从目标边界框中确定冗余的目标边界框并去除,获得最终的目标边界框。

在一种可能的实现方式中,可采用非极大值抑制方法获得最终的目标边界框,具体的实现过程包括:

步骤s8021:将后处理得分小于预设得分阈值的目标边界框作为冗余的目标边界框并去除,获得剩余的目标边界框,剩余的目标边界框组成候选目标边界框集合。

具体的,可将所有目标边界框对应的后处理得分按从大到小的顺序排序,然后将后处理得分小于预设得分阈值的目标边界框去除。

步骤s8022:从候选目标边界框集合中获取后处理得分最高的目标边界框作为当前目标边界框,将当前目标边界框加入目标边界框集合中,并将当前目标边界框从候选目标边界框集合中删除。

步骤s8023:分别计算候选目标边界框集合中各个目标边界框与当前目标边界框的面积交并比。

步骤s8024:将与当前目标边界框的面积交并比大于预设交并比阈值的目标边界框作为冗余的目标边界框,将其从候选目标边界框集合中删除,然后转入步骤s8022,直至候选目标边界框集合中的所有候选目标边界框被选取和/或被删除,此时,目标边界框集合中的目标边界框即为最终的目标边界框。

在本申请的另一实施例中,对基于待检测图像对应的目标检测结果,对待检测图像对应的目标出现概率矩阵进行更新进行介绍。

基于待检测图像对应的目标检测结果,对待检测图像对应的目标出现概率矩阵进行更新,包括:

步骤s901:遍历从待检测图像中检测出的目标边界框,对于当前遍历到的目标边界框,将目标出现概率矩阵中、与当前遍历到的目标边界框对应的区域中的值加上当前遍历到的目标边界框对应的概率。

其中,当前遍历到的目标边界框对应的概率为当前遍历到的目标边界框对应的区域中出现对应类别的目标的概率。

将目标出现概率矩阵中、与当前遍历到的目标边界框对应的区域中的值加上当前遍历到的目标边界框对应的概率,能够增大该区域出现对应类别的目标的概率。假设当前遍历到的目标边界框对应的区域为(xmin:xmax,ymin:ymax),其中,(xmin,ymin)和(xmax,ymax)分别表示当前遍历到的目标边界框的左上角坐标值以及右下角坐标值,检测出的目标的类别为c,概率为pc,则按下式对目标出现概率矩阵中p′obj(c,xmin:xmax,ymin:ymax)位置的值进行更新:

p′obj更新(c,xmin:xmax,ymin:ymax)=p′obj(c,xmin:xmax,ymin:ymax)+pc(7)

示例性的,如10所示,图10左侧为初始目标出现概率矩阵,两个二维矩阵分别对应行人和车辆,假设从第一幅待检测图像中检测到一个行人和一个车辆,且检测到行人的概率为0.99,检测到车辆的概率为0.8,则目标出现概率矩阵中对应类别的二维矩阵上的对应区域加上概率,即在图10中行人对应的二维矩阵中的区域1001(对应行人所在区域)上加上0.99,在车辆对应的二维矩阵中的区域1002(对应车辆所在区域)上加上0.8。

步骤s902:遍历基于预设的前景检测算法从待检测图像中检测出的前景区域,若基于检测结果确定出当前遍历到的前景区域为未出现任何类型的目标的区域,则将目标出现概率矩阵中、与当前遍历到的前景区域对应的区域中的值减去预设值。

假设基于预设的前景检测算法从待检测图像中检测出多个前景区域,在最终的检测结果中,有一前景区域并未出现任何类型的目标,则将目标出现概率矩阵中对应区域减去预设值,示例性的,如图所示,假设目标出现概率矩阵对应的区域为1003,则将区域1003中的值减去一预设值,比如减去0.1,更新后该区域的值均为-0.1。

本申请实施例提供的目标检测方法,同时考虑了短时上下文信息(前景检测)和长时上下文信息(目标出现概率矩阵),同时考虑这两种信息能够大大减少短时间内静止目标的漏警,还能够减少前景检测效果不理想带来的虚警,另外,本申请实施例提供的目标检测方法从待检测图像中确定目标候选区域,只对目标候选区域进行目标检测,能够大大降低目标检测的运算量,提高目标检测效率。

下面对本申请实施例提供的目标检测装置进行描述,下文描述的目标检测装置与上文描述的目标检测方法可相互对应参照。

请参阅图11,图11为本申请实施例提供的一种目标检测装置的结构示意图,该装置可以包括:图像获取模块1101、目标出现情况获取模块1102和目标检测模块1103。其中:

图像获取模块1101,用于获取目标场景下的图像序列中的一待检测图像;

目标出现情况获取模块1102,用于获取所述目标场景下的各类目标在所述待检测图像中的出现情况。

目标检测模块1103,用于基于预设的前景检测算法以及目标场景下的各类目标在所述待检测图像中的出现情况,确定所述待检测图像对应的目标检测结果。

本申请实施例提供的目标检测装置在进行目标检测时,同时考虑了短时上下文信息(前景检测)和长时上下文信息(目标出现情况),同时考虑这两种信息能够大大减少前景检测效果不理想带来的虚警,还能够减少短时间内静止目标的漏警,另外还能够降低目标检测的运算量,提高目标检测效率。

在一种可能的实现方式中,上述实施例提供的目标检测装置中的目标出现情况获取模块1102,具体用于获取待检测图像对应的目标出现概率矩阵。

其中,目标出现概率矩阵能够表征所述目标场景下各类型的目标在待检测图像各对应位置出现的概率。

在一种可能的实现方式中,上述实施例提供的目标检测装置中的目标检测模块包括:目标候选区域确定子模块和目标检测子模块。

所述目标候选区域确定子模块,用于通过所述预设的前景检测算法以及所述待检测图像对应的目标出现概率矩阵,从所述待检测图像中确定目标候选区域;

所述目标检测子模块,用于对所述目标候选区域进行目标检测,获得所述待检测图像对应的目标检测结果。

在一种可能的实现方式中,上述实施例提供的目标检测装置还包括:数据更新模块。

所述数据更新模块,用于基于所述待检测图像对应的目标检测结果,对所述待检测图像对应的目标出现概率矩阵进行更新;更新后的目标出现概率矩阵作为所述图像序列中下一待检测图像对应的目标出现概率矩阵。

在一种可能的实现方式中,所述目标候选区域确定子模块可以包括:前景检测子模块、前景区域更新子模块和目标候选区域生成子模块。

所述前景检测子模块,用于利用前景检测算法对所述待检测图像进行前景区域检测,获得所述待检测图像所包含前景区域。

所述前景区域更新子模块,用于所述根据所述待检测图像对应的目标出现概率矩阵,对所述待检测图像所包含的前景区域进行更新,获得更新后的前景区域。

所述目标候选区域生成子模块,用于基于所述更新后的前景区域生成所述目标候选区域。

在一种可能的实现方式中,所述前景区域更新子模块,具体用于基于所述目标出现概率矩阵,从所述前景区域中确定出现目标的概率小于第一概率阈值的前景运动区域并删除,获得剩余的前景区域;和/或,基于所述目标出现概率矩阵,从除所述前景区域外的非前景区域中确定出现目标的概率大于第二概率阈值的非前景区域;所述剩余的前景区域,或者,所述前景区域和所述出现目标的概率大于第二概率阈值的非前景区域,或者,所述剩余的前景区域和所述出现目标的概率大于第二概率阈值的非前景区域,作为所述更新后的前景区域。

上述实施例中的所述目标出现概率矩阵包括多个尺寸相同的二维概率矩阵,一个二维概率矩阵对应一类型的目标,一个二维概率矩阵能够表征其对应的类型的目标在各位置出现的概率。

所述前景区域更新子模块,具体用于通过多个二维概率矩阵,确定最大概率矩阵,其中,所述最大概率矩阵中任一位置的元素的值基于所述多个二维概率矩阵中对应位置的多个元素的值中的最大值确定;利用所述最大概率矩阵,对所述待检测图像所包含的前景区域进行更新。

在一种可能的实现方式中,上述实施例提供的目标检测装置中的目标检测模块1103包括:目标检测子模块。

目标检测子模块,用于将所述目标候选区域输入预先建立的目标检测模型,获得目标边界框和所述目标边界框对应的目标得分;所述目标边界框和所述目标边界框对应的目标得分作为所述待检测图像对应的目标检测结果。其中,所述目标边界框为所述目标候选区域中所包含的目标的边界框,所述目标边界框对应的目标得分为所述目标边界框中的目标属于每个类别的概率。

其中,所述目标检测模型采用标注有目标类别和目标边界框的训练图像训练得到。上述实施例提供的目标检测装置还包括:训练模块。

训练模块,具体用于通过所述目标检测模型的特征提取模块,从输入的训练图像中提取特征图;通过所述目标检测模型的前景目标提取模块,基于所述特征图从针对所述训练图像定义的多个候选框中确定前景类的候选框,并基于所述训练图像中标注的目标边界框对所述前景类的候选框进行修正,获得修正后的前景类候选框;通过所述目标检测模型的检测结果确定模块,基于所述特征图对所述修正后的前景类候选框中的目标进行分类,并基于所述训练图像中标注的目标边界框对所述修正后的前景类候选框进一步进行修正,获得所述训练图像对应的检测结果;基于所述训练图像对应的检测结果和所述训练图像对应的标注结果计算检测误差,并基于所述检测误差更新所述目标检测模型的参数。

在一种可能的实现方式中,上述实施例提供的目标检测装置中的目标检测模块1103除了包括目标检测子模块外,还可以包括:目标边界框处理子模块和目标类型获取子模块。

所述目标边界框处理子模块,用于基于所述待检测图像对应的目标出现概率矩阵,以及目标边界框对应的目标得分,从目标边界框中去除冗余的目标边界框,获得最终的目标边界框。

所述目标类型获取子模块,用于获得所述最终的目标边界框中目标的类型。

所述最终的目标边界框和所述最终的目标边界框中目标的类型作为所述待检测图像对应的目标检测结果。

在一种可能的实现方式中,所述目标边界框处理子模块,具体用于通过所述目标出现概率矩阵确定目标边界框对应的区域出现对应类别的目标的概率,并根据目标边界框对应的区域出现对应类别的目标的概率对目标边界框对应的目标得分进行后处理,得到目标边界框对应的后处理得分;基于目标边界框对应的后处理得分,从目标边界框中确定冗余的目标边界框。

上述实施例中,所述待检测图像对应的目标检测结果包括:目标边界框和目标边界框中目标的类别。所述数据更新模块包括:第一更新子模块和第二更新子模块。

所述第一更新子模块,用于遍历所述目标边界框,对于当前遍历到的目标边界框,将所述目标出现概率矩阵中、与当前遍历到的目标边界框对应的区域中的值加上当前遍历到的目标边界框对应的概率,其中,当前遍历到的目标边界框对应的概率为当前遍历到的目标边界框中出现对应类别的目标的概率。

所述第二更新子模块,用于遍历基于预设的前景检测算法从所述待检测图像中检测出的前景运动区域,若基于所述目标检测结果确定出当前遍历到的前景区域为未出现任何类型的目标的区域,则将所述目标出现概率矩阵中、与当前遍历到的前景区域对应的区域中的值减去预设值。

本申请实施例还提供了一种目标检测设备,请参阅图12,示出了该目标检测设备的结构示意图,该设备可以包括:至少一个处理器1201,至少一个通信接口1202,至少一个存储器1203和至少一个通信总线1204;

在本申请实施例中,处理器1201、通信接口1202、存储器1203、通信总线1204的数量为至少一个,且处理器1201、通信接口1202、存储器1203通过通信总线1204完成相互间的通信;

处理器1201可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器1203可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取目标场景下的图像序列中的一待检测图像;

获取所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况;

基于预设的前景检测算法以及所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况,确定所述待检测图像对应的目标检测结果。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:

获取目标场景下的图像序列中的一待检测图像;

获取所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况;

基于预设的前景检测算法以及所述目标场景下的各类目标在所述待检测图像各对应位置的出现情况,确定所述待检测图像对应的目标检测结果。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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