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

文档序号:21324023发布日期:2020-06-30 20:57阅读:158来源:国知局
一种目标检测方法、装置、电子设备及存储介质与流程

本公开涉及图像处理技术领域,具体而言,涉及一种目标检测方法、装置、电子设备及存储介质。



背景技术:

随着传感器制造产业的不断发展,数码相机、单反相机和手机等设备的成像能力也越来越强;有很多以前只能通过专业设备拍摄的情景,例如银河、星空等,也能够通过这些普通的成像设备拍摄下来。

虽然现在的设备已经可以拍摄星空、银河等风光,但是对于流星的拍摄依旧存在问题。流星雨与其他情况不同,拍摄所需的时间更长和空间范围更广。摄影师或用户往往需要在一段时间内连续拍摄几千张照片,后期需要人工从海量的照片中寻找有流星的照片,效率较低。



技术实现要素:

本公开至少提供一种目标检测方法、装置、电子设备及存储介质。

第一方面,本公开实施例提供了一种目标检测方法,包括:获取图像序列;所述图像序列中包括多张待检测图像;将所述图像序列中的至少部分待检测图像中的各张待检测图像依次作为当前待检测图像,并基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像;检测所述差值图像中是否存在用于表征待检测目标的目标像素点;基于所述检测结果,确定所述当前待检测图像的目标检测结果。

这样,利用了按照拍摄时间排布的图像序列中,相邻待检测图像之间的变化信息,来实现动态出现的目标的检测,所需要消耗的计算资源少,能够很好的部署在计算资源较为有限的嵌入式设备中,且检测速度快,能够边拍摄照片边进行检测过程,时效性强,且检测效率更高。

一种可选的实施方式中,所述图像序列中的多张待检测图像,包括在同一拍摄位置进行周期性曝光得到的多张图像。

一种可选的实施方式中,所述基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像,包括:确定所述当前待检测图像的梯度图像,并获取确定的前一张待检测图像的梯度图像;基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像。

这样,对图像中较小的物体边缘进行了强化,减小由于差值图像确定过程中将某些较小物体忽略的可能,降低检测误差。

一种可选的实施方式中,所述基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像,包括:对所述当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,获取所述前一张待检测图像的膨胀梯度图像;将所述膨胀梯度图像与所述当前待检测图像的梯度图像逐像素相减,得到所述当前待检测图像的差值图像。

这样,消除由于当前待检测图像和前一张待检测图像中由于物体位置发生微小变化而导致的检测误差。

一种可选的实施方式中,所述确定所述当前待检测图像的梯度图像,包括:对所述当前待检测图像进行卷积处理,得到所述当前待检测图像的梯度图像。

一种可选的实施方式中,所述检测所述差值图像中是否存在用于表征待检测目标的目标像素点,包括:将所述差值图像进行二值化处理,得到所述差值图像的二值图像;对所述二值图像进行霍夫变换,并基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点。

这样,将差值图像进行二值化处理,能够更好的将当前待处理图像中属于目标物体的像素点与非目标的像素点区分开来,然后采用霍夫变换,基于目标物体在当前待处理图像中所形成的运动轨迹,来检测当前待处理图像中是否存在待目标物体,识别的精度更高,且图像二值化、霍夫变换的处理过程所需要耗费的计算量都比较小,因此这种从待处理图像中检测是否存在目标物体的方法更适于部署在计算资源较为有限的嵌入式设备中。

一种可选的实施方式中,所述将所述差值图像进行二值化处理,得到所述差值图像的二值图像,包括:基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值;基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

这样,通过设置二值化像素值阈值来对差值图像进行二值化,能够消除差值图像中的噪声,提升检测精度。

一种可选的实施方式中,所述基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值,包括:基于所述差值图像中各个像素点的像素值,以及预先确定的在所述二值图像中,对应的像素值为第一预设值的像素点的最大数量,确定所述二值化像素值阈值。

这样,针对不同场景获得的图像序列可针对性设置二值化像素阈值,使得对不同场景得到的二值化图像,都能够更好的将属于目标物体的像素点和非目标物体像素点区分开来,从而针对不同场景能够得到准确度更高的目标检测结果。

一种可选的实施方式中,所述基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点,包括:在所述霍夫变换的结果包括存在目标形状的像素点组的情况下,基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

这样,根据目标形状的像素点组确定目标的位置信息,能够排除霍夫变换结果中,由除了待检测目标外的其他物体所形成的轨迹或者轮廓,进而通过该过程,将待检测目标从二值图像中确定出来,得到目标像素点在二值图像中的位置信息。

一种可选的实施方式中,所述基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像之前,还包括:对所述当前待检测图像以及所述当前待检测图像的前一张待检测图像进行降采样处理;所述基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像,包括:基于降采样后的所述当前待检测图像、以及所述降采样后的前一张待检测图像,确定所述当前待检测图像的差值图像。

这样,对当前待检测图像和当前待检测图像的前一张待检测图像进行降采样,能够将当前待检测图像和前一张待检测图像缩小,进而减少后续处理过程中所需要消耗的计算量,进而进一步降低目标检测过程需要的计算资源。

第二方面,本公开实施例还提供一种目标检测装置,包括:获取模块,用于获取图像序列;所述图像序列中包括多张待检测图像;第一确定模块,用于将所述图像序列中至少部分待检测图像中的各张待检测图像依次作为当前待检测图像,并基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像;检测模块,用于检测所述差值图像中是否存在用于表征待检测目标的目标像素点;第二确定模块,用于基于所述检测结果,确定所述当前待检测图像的目标检测结果。

一种可能的实施方式中,所述图像序列中的多张待检测图像,包括在同一拍摄位置进行周期性曝光得到的多张图像。

一种可能的实施方式中,所述第一确定模块,在基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像时,用于:确定所述当前待检测图像的梯度图像,并获取确定的前一张待检测图像的梯度图像;基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像。

一种可能的实施方式中,所述第一确定模块,在基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像时,用于:对所述当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,获取所述前一张待检测图像的膨胀梯度图像;将所述膨胀梯度图像与所述当前待检测图像的梯度图像逐像素相减,得到所述当前待检测图像的差值图像。

一种可能的实施方式中,所述第一确定模块,在确定所述当前待检测图像的梯度图像时,用于:对所述当前待检测图像进行卷积处理,得到所述当前待检测图像的梯度图像。

一种可能的实施方式中,所述检测模块,在检测所述差值图像中是否存在用于表征待检测目标的目标像素点时,用于:将所述差值图像进行二值化处理,得到所述差值图像的二值图像;对所述二值图像进行霍夫变换,并基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点。

一种可能的实施方式中,所述检测模块,在将所述差值图像进行二值化处理,得到所述差值图像的二值图像时,用于:基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值;基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

一种可能的实施方式中,所述检测模块,在基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值时,用于:基于所述差值图像中各个像素点的像素值,以及预先确定的在所述二值图像中,对应的像素值为第一预设值的像素点的最大数量,确定所述二值化像素值阈值。

一种可能的实施方式中,所述检测模块,在基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点时,用于:在所述霍夫变换的结果包括存在目标形状的像素点组的情况下,基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

一种可能的实施方式中,还包括:采样模块,用于在所述确定模块基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像之前,对所述当前待检测图像以及所述当前待检测图像的前一张待检测图像进行降采样处理;所述第一确定模块,在基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像时,用于:基于降采样后的所述当前待检测图像、以及所述降采样后的前一张待检测图像,确定所述当前待检测图像的差值图像。

第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种目标检测方法的流程图;

图2示出了本公开实施例所提供的一种确定当前待检测图像的差值图像的具体方法的流程图;

图3示出了本公开实施例所提供的检测差值图像中是否存在用于表征待检测目标的目标像素点的具体方法的流程图;

图4示出了本公开实施例所提供的各种图像的具体示例的示意图;

图5示出了本公开实施例所提供的一种目标检测装置的示意图;

图6示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

经研究发现,当前对图像进行目标检测时,一般是基于深度学习算法,也即利用海量样本训练深度学习模型,然后将待检测图像输入至深度学习模型中,获取待检测图像的目标检测结果。然而深度学习模型由于其规模以及在进行推理时需要耗费大量的计算资源,因此在很多情况下不适于部署在计算资源较为有限的嵌入式设备中。例如在数千张连续拍摄的图像中,识别包括有流行的图像时,需要将数千张图像依次输入至深度学习模型中;这对于数码相机、单反相机、手机等计算资源较为有限的设备中而言显然是不现实的。解决方法,其一是在图像拍摄后,从数千张图像中进行人工筛选,效率低;其二是将拍摄得到的大量照片导入到计算机中,通过计算机中部署的深度学习模型对照片进行识别,及时性差,且数码相机、单反相机、手机等设备的存储资源也较为有限,在很多情况下要求及时对拍摄得到的照片进行筛选,造成第二种方式在很多场景下无法适用。

基于上述研究,本公开提供了一种目标检测方法及装置,在获取包括多张待检测图像的图像序列后,从中确定部分图像作为当前图像,并基于当前待检测图像和当前待检测图像的前一张待检测图像,确定给当前待检测图像的差值图像,然后检测差值图像中是否存在用于表征待检测目标的目标像素点,并基于检测结果,确定当前待检测图像的目标检测结果,从而利用了按照拍摄时间排布的图像序列中,相邻待检测图像之间的变化信息,来实现动态出现的目标的检测,所需要消耗的计算资源少,能够很好的部署在计算资源较为有限的嵌入式设备中,且检测速度快,能够边拍摄照片边进行检测过程,时效性强,且检测效率更高。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种目标检测方法进行详细介绍,本公开实施例所提供的目标检测方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(userequipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、手持设备、计算设备、车载设备、可穿戴设备、数码相机、单反相机、手机等。在一些可能的实现方式中,该目标检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

下面以执行主体为终端设备为例,对本公开实施例提供的目标检测方法加以说明。

参见图1所示,为本公开实施例提供的目标检测方法的流程图,所述方法包括步骤s101~s104,其中:

s101:获取图像序列;所述图像序列中包括多张待检测图像;

s102:将所述图像序列中至少部分待检测图像中的各张待检测图像依次作为当前待检测图像,并基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像;

s103:检测所述差值图像中是否存在用于表征待检测目标的目标像素点;

s104:基于所述检测结果,确定所述当前待检测图像的目标检测结果。

下面分别对上述s101~s104加以详细说明。

i:在上述s101中,图像序列,是指各张待检测图像按照拍摄时间顺序进行排序后所构成的序列。例如包括在同一拍摄位置进行周期性曝光得到的多张图像。

同一拍摄位置,例如是指图像序列中的所有待检测图像的拍摄地点、拍摄角度均相同。周期性曝光,例如是指终端设备每隔一定时间就进行一次拍摄曝光;且每次曝光时,曝光时间相同。

示例性的,在同一拍摄位置对天空进行周期性曝光,生成多天空的待检测图像,要检测的目标例如是天空中的流星、飞鸟、飞行物等中任一种。

ii:在上述s102中,在对图像序列进行检测时,可以将图像序列中首张待检测图像外的所有待检测图像均作为检测的对象,也可以将其中的部分作为检测的图像。

针对图像序列中的首张待检测图像,可以直接将其作为未经过目标检测的图像,保存在终端设备中;然后通过人工检测等方式确定其中是否存在目标;也可以不对其进行目标检测,而是仅仅作为图像序列中第二张待检测图像的前一张待检测图像,用于确定第二张待检测图像的目标检测结果。

下面以将除首张待检测图像外的其他所有待检测图像均作为检测的对象,对本公开实施例加以说明。

在具体实施中,将除首张待检测图像外的所有待检测图像依次作为当前图像,并针对每张待检测图像,基于当前待检测图像以及当前待检测图像的前一张待检测图像,确定当前待检测图像的差值图像。

例如,由n张待检测图像构成的图像序列表示为:a1、a2、a3、......、an;

将其中的待检测图像ai作为当前待检测图像,其中,i为大于1,小于或者等于n的正整数;则当前待检测图像ai的前一张待检测图像为ai-1;根据待检测图像为ai-1和当前待检测图像ai确定当前待检测图像ai的差值图像。

在一种可能的实施方式中,可以直接将当前待检测图像和前一张待检测图像逐像素相减,得到当前待检测图像的差值图像。

在另一种可能的实施方式中,由于待检测图像中待检测目标较小,例如待检测目标为流星的情况下,每一颗星星所涵盖的像素点很少,造成每一颗星星的边缘并不明确;例如某些比较小的星星不容易检测。为了提高对某些比较小的目标,例如星星的检测准确度,在本公开另一实施例中,参见图2所示,还提供另一种确定当前待检测图像的差值图像的具体方法,包括:

s201:确定所述当前待检测图像的梯度图像,并获取确定的前一张待检测图像的梯度图像。

示例性的,例如可以索贝尔算子(sobeloperator)、罗伯特算子(robertoperator)、普威特算子(priwittoperator)、拉普拉斯算子等,来确定待检测图像的梯度图像。

下面以sobel算子为例,对确定当前待检测图像的梯度图像的过程加以说话:sobel算子是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。

具体地,sobel算子包含两组3×3的矩阵,分别为横向矩阵和纵向矩阵;使用横线矩阵对待检测图像进行横向卷积处理,并使用纵向矩阵对待检测图像进行纵向卷积处理,分别得到待检测图像中的各个像素点在横向和纵向的亮度差分近似值。

然后基于待检测图像分别在横向和纵向的亮度差分近似值,计算待检测待图像中各个像素点的灰度。

示例性的,假设待检测图像为a,sobel算子包括的两组矩阵分别表示为m1、和m2,则待检测图像中的各个像素点在横向的亮度差分近似值gx满足:

gx=m1*a。

待检测图像中的各个像素点在纵向的亮度差分近似值gy满足:

gy=m2*a。

上述两个公式中,*表示卷积操作。

则待检测图像中,各个像素点的灰度值g满足:

由待检测图像中各个像素点的灰度值构成的图像,即为待检测图像的梯度图像。

这里,确定当前检测图像的梯度图像的目的,是为了强化其中表示目标的像素点,并弱化除目标外其他像素点,从而提高小目标的检测精度。

s202:基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像。

这里,当前待检测图像的前一张待检测图像的梯度图像与当前待检测图像的梯度图像的获取方式类似,在此不再赘述。

这里,由于当前待检测图像的前一张待检测图像已经在前序处理中得到过依次梯度图像;因此可以在前序处理时,将其梯度图像保存在目标存储位置;在后续使用时,直接从目标存储位置调取即可。

在确定当前待检测图像的差值图像时,在一种可能的实施方式中,可以将当前待检测图像的梯度图像和前一张待检测图像的梯度图像逐像素相减,得到当前待检测图像的差值图像。

在另一种可能的实施例中,由于在某些场景下,随着时间变化,场景中的物体的位置会发生一定的偏移,例如星空中的星星会由于地球的转动,在不同拍摄时间,同一拍摄位置,会有微小的移动。为了减少这样的偏移对检测结果造成的影响,在确定当前待检测图像的差值图像时,还可以先对所述当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,获取所述前一张待检测图像的膨胀梯度图像。然后将所述膨胀梯度图像与所述当前待检测图像的梯度图像逐像素相减,得到所述当前待检测图像的差值图像。

膨胀处理即为对待检测图像求局部最大值,使得待检测图像中高亮区域有一定的增长;对当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,能够使得前一张待检测图像中某个或某些目标,例如每一颗星星,所涵盖的像素点得以增加,进而在确定差值图像时,消除星星在图像中的微小移动,为差值图像带来的噪声。

这样,通过上述s201~s202的处理,首先强化待处理图像中各个物体的边缘,进而在确定差值图像时,以减少待检测图像中较小的物体被去除的可能性,提高检测精度。

示例性的,以流星作为待检测目标为例,如图4中b所示提供一张当前待检测图像的示例图;如图4中a所示,提供一张当前打检测图像的前一张待检测图像的示例图;如图4中d所示,提供一张当前待检测图像的梯度图像的示例图;如图4中c所示,提供给一张当前打检测图像的前一张待检测图像的梯度图像的示例图。如图4中e所示,提供一张图4中b所示当前待检测图像的差值图像的示例图。

在本公开另一实施例中,在基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像之前,还包括:对所述当前待检测图像以及所述当前待检测图像的前一张待检测图像进行降采样处理。

此时,在确定所述当前待检测图像的差值图像时,具体过程包括:基于降采样后的所述当前待检测图像、以及所述降采样后的前一张待检测图像,确定所述当前待检测图像的差值图像。

这里,对当前待检测图像和当前待检测图像的前一张待检测图像进行降采样,能够将当前待检测图像和前一张待检测图像缩小,进而减少后续处理过程中所需要消耗的计算量,进而进一步降低目标检测过程需要的计算资源。

iii:在上述s103中,在具体实施中,参见图3所示,本公开实施例还提供一种检测所述差值图像中是否存在用于表征待检测目标的目标像素点的具体方法,包括:

s301:将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

在具体实施中,差值图像为灰度图像,像素点的取值为0~255。从灰度图像中确定目标像素点时,由于各个像素点的像素值具有多样性,造成确定目标像素点的计算过程也较为复杂,因此可以首先将差值图像进行二值化处理,得到差值图像的二值图。

具体地,本公开实施例提供一种将差值图像进行二值化处理的具体方式,包括:基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值;基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

此处,例如可以基于所述差值图像中各个像素点的像素值,以及预先确定的在所述二值图像中,对应的像素值为第一预设值的像素点的最大数量,确定所述二值化像素值阈值。

示例性的,在灰度图像中,像素值越大,则像素点的颜色越趋向于白色;像素值越小,则像素点的颜色越趋向于黑色。

例如可以基于差值图像中各个像素点的像素值从大到小的顺序,对各个像素点进行排序,然后根据排序从前到后的顺序,从中取m个像素点;将第m+1个像素点的像素值,确定为二值化像素值阈值。

另外,在一些特殊情况下,排序中的第m个像素点和第m+1个像素点的像素值相同,在该种情况下,可以继续按照排序向后取像素点,直至遇到第一个与第m个像素点的像素值不同的像素点,将该像素点的像素值确定为二值化像素值阈值。

其中,m为对应的像素值为第一预设值的像素点的最大数量。

在另一种实施例中,还可以统计二值化图像的灰度值直方图;然后根据灰度值直方图,确定累计直方图;在累计直方图中,包括256个矩形图;每一个矩形图对应一个像素值x,任一矩形图表示像素值在[x,255]区间内的像素点的累计数量;x的取值为0~255。

从255到0,遍历该累计直方图,将遇到的第一个累计数量大于m的矩形图对应的像素值x,确定为二值化像素值阈值。

在确定了二值化像素值阈值后,要基于该二值化像素阈值,将差值图像转换为二值图像。

本公开实施例还提供一种将差值图像进行二值化处理,得到差值图像的二值图像的具体过程,包括:

遍历所述差值图像中各个像素点,并将遍历到的像素点的像素值,与所述二值化像素值阈值进行比对;在所述遍历到的像素点的像素值,小于等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第一预设值;在所述遍历到的像素点的像素值,大于或者等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第二预设值。

这里,第一预设值例如为1,第二预设值例如为0。或者,第一预设值例如为0,第二预设值例如为1。

另外,还可以为第一预设值和第二预设值确定其他取值,具体可以根据实际需要进行设定,这里不做限定。

示例性的,如图4中f所示,提供一种差值图像的二值图像的具体示例。

s302:对所述二值图像进行霍夫变换,并基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点。

这里,例如可以在所述霍夫变换的结果包括存在目标形状的像素点组的情况下,基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

所述目标形状的像素点组可用于指示所述待检测目标的形状和/或行动轨迹。基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息时,可以将目标形状的像素点组确定为构成所述待检测目标的目标像素点,并得到该目标形状的像素点组在二值图像中的位置信息。在具体实施中,霍夫变换是图像处理中识别几何形状的方法;用能够用于识别图像中的直线、圆、任意曲线等。

在具体实施中,根据待检测目标行动轨迹的不同,确定目标像素点的霍夫变换方式也不同。

示例性的,在待检测目标的运动轨迹为直线的情况下,例如流星在星空中的运动轨迹即为直线,可以对待检测图像的差值图像进行霍夫直线变换,以从差值图像中确定其中是否存在流星。在待检测目标的运动轨迹为圆形的情况下,例如对圆形立交桥上行驶的车辆进行检测时,可以采用霍夫圆形变换。在待检测目标的运动轨迹为不规则的曲线时,可以采用广义霍夫变换等。

霍夫变换能够检测到二值图像中形成某一形状的多个像素点组;每一个像素点组均可能为待检测目标所涵盖的像素点。

示例性的,若待检测目标的运动轨迹为直线,则可以采用下述方式确定目标像素点:在所述霍夫变换的结果包括多条线段的情况下,将得到的所述多条线段进行极大值抑制处理,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

这里,极大值抑制处理,能够排除霍夫变换结果所包括的多条线段中,由除了待检测目标外的其他物体所形成的轨迹或者轮廓,进而通过该过程,将待检测目标从二值图像中确定出来,得到目标像素点在二值图像中的位置信息。由于二值图像中的像素点,和当前待检测图像中的差值图像的各个像素点一一对应,进而能够预计该位置信息,确定差值图像中目标像素点的位置信息。

若在所述霍夫变换的结果并未包括线段的情况下,则认为差值图像中并不存在目标像素点。

示例性的,如图4中g所示,提供一种对二值图像进行霍夫变换后得到的目标像素点的检测结果的示例图。

本公开另一实施例中,为了从二值图中确定目标像素点时,还可以对二值图进行轮廓检测的方法,从二值图中确定构成目标形状的目标像素点。或者采用对二值图进行连通域分析的方法,以从二值图中确定构成目标形状的目标像素点。

iv:在上述s104中,通过上述s103,能够得到当前待检测图像的差值图像中是否存在目标像素点的检测结果。

如图4中h所示,提供一张对当前待检测图像进行目标检测的目标检测结果的示例图。

当前待检测图像和其差值图像中的像素点具有映射关系,进而,在当前待检测图像的差值图像中,存在目标像素点后,能够根据检测出的目标像素点在差值图像中的位置,通过映射关系,可以从当前待检测图像中得到待检测目标的具体位置,将该待检测目标在当前待检测图像中的具体位置作为当前待检测图像的目标检测结果。

若当前待检测图像的差值图像中,并不存在目标像素点,则可以直接将能够表征待检测图像中未存在待检测目标的信息,如“该图像中不存在流星”作为目标检测结果进行输出。

具体的目标检测结果的形式,可以根据实际的需要进行具体设定。

在本公开另一实施例中,在得到图像序列中,至少部分待检测图像的目标检测结果后,还可以将不存在目标的待检测图像进行删除,以节省设备的存储空间。

本公开实施例在获取包括多张待检测图像的图像序列后,从中确定部分图像作为当前图像,并基于当前待检测图像和当前待检测图像的前一张待检测图像,确定给当前待检测图像的差值图像,然后检测差值图像中是否存在用于表征待检测目标的目标像素点,并基于检测结果,确定当前待检测图像的目标检测结果,从而利用了按照拍摄时间排布的图像序列中,相邻待检测图像之间的变化信息,来实现动态出现的目标的检测,所需要消耗的计算资源少,能够很好的部署在计算资源较为有限的嵌入式设备中,且检测速度快,能够边拍摄照片边进行检测过程,时效性强,且检测效率更高。

基于同一发明构思,本公开实施例中还提供了与目标检测方法对应的目标检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述目标检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图5所示,为本公开实施例提供的一种目标检测装置的示意图,所述装置包括:

获取模块51,用于获取图像序列;所述图像序列中包括多张待检测图像;

第一确定模块52,用于将所述图像序列中至少部分待检测图像中的各张待检测图像依次作为当前待检测图像,并基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像;

检测模块53,用于检测所述差值图像中是否存在用于表征待检测目标的目标像素点;

第二确定模块54,用于基于所述检测结果,确定所述当前待检测图像的目标检测结果。

一种可能的实施方式中,所述图像序列中的多张待检测图像,包括在同一拍摄位置进行周期性曝光得到的多张图像。

一种可能的实施方式中,所述第一确定模块52,在基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像时,用于:

确定所述当前待检测图像的梯度图像,并获取确定的前一张待检测图像的梯度图像;

基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像。

一种可能的实施方式中,所述第一确定模块52,在基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像时,用于:

对所述当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,获取所述前一张待检测图像的膨胀梯度图像;

将所述膨胀梯度图像与所述当前待检测图像的梯度图像逐像素相减,得到所述当前待检测图像的差值图像。

一种可能的实施方式中,所述第一确定模块52,在确定所述当前待检测图像的梯度图像时,用于:

对所述当前待检测图像进行卷积处理,得到所述当前待检测图像的梯度图像。

一种可能的实施方式中,所述检测模块53,在检测所述差值图像中是否存在用于表征待检测目标的目标像素点时,用于:

将所述差值图像进行二值化处理,得到所述差值图像的二值图像;

对所述二值图像进行霍夫变换,并基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点。

一种可能的实施方式中,所述检测模块53,在将所述差值图像进行二值化处理,得到所述差值图像的二值图像时,用于:

基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值;

基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

一种可能的实施方式中,所述检测模块53,在基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值时,用于:

基于所述差值图像中各个像素点的像素值,以及预先确定的在所述二值图像中,对应的像素值为第一预设值的像素点的最大数量,确定所述二值化像素值阈值。

一种可能的实施方式中,所述检测模块53,在基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像时,用于:

遍历所述差值图像中各个像素点,并将遍历到的像素点的像素值,与所述二值化像素值阈值进行比对;

在所述遍历到的像素点的像素值,小于等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第一预设值;

在所述遍历到的像素点的像素值,大于或者等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第二预设值。

一种可能的实施方式中,所述检测模块53,在基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点时,用于:

在所述霍夫变换的结果包括存在目标形状的像素点组的情况下,基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;

基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

一种可能的实施方式中,还包括:采样模块55,用于在所述每一确定模块52基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像之前,对所述当前待检测图像以及所述当前待检测图像的前一张待检测图像进行降采样处理;

所述第一确定模块52,在基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像时,用于:

基于降采样后的所述当前待检测图像、以及所述降采样后的前一张待检测图像,确定所述当前待检测图像的差值图像。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:

处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器61与所述存储器62之间通过总线63通信,使得所述处理器61在用户态执行以下指令:

获取图像序列;所述图像序列中包括多张待检测图像;

将所述图像序列中的至少部分待检测图像中的各张待检测图像依次作为当前待检测图像,并基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像;

检测所述差值图像中是否存在用于表征待检测目标的目标像素点;

基于所述检测结果,确定所述当前待检测图像的目标检测结果。

一种可能的实施方式中,处理器61执行的指令中,所述图像序列中的多张待检测图像,包括在同一拍摄位置进行周期性曝光得到的多张图像。

一种可能的实施方式中,处理器61执行的指令中,像,确定所述当前待检测图像的差值图像,包括:

确定所述当前待检测图像的梯度图像,并获取确定的前一张待检测图像的梯度图像;

基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像。

一种可能的实施方式中,处理器61执行的指令中,所述基于所述当前待检测图像的前一张待检测图像的梯度图像,以及所述当前待检测图像的梯度图像,确定所述当前待检测图像的差值图像,包括:

对所述当前待检测图像的前一张待检测图像的梯度图像进行图形态学膨胀处理,获取所述前一张待检测图像的膨胀梯度图像;

将所述膨胀梯度图像与所述当前待检测图像的梯度图像逐像素相减,得到所述当前待检测图像的差值图像。

一种可能的实施方式中,处理器61执行的指令中,确定所述当前待检测图像的梯度图像,包括:

对所述当前待检测图像进行卷积处理,得到所述当前待检测图像的梯度图像。

一种可能的实施方式中,处理器61执行的指令中,所述检测所述差值图像中是否存在用于表征待检测目标的目标像素点,包括:

将所述差值图像进行二值化处理,得到所述差值图像的二值图像;

对所述二值图像进行霍夫变换,并基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点。

一种可能的实施方式中,处理器61执行的指令中,所述将所述差值图像进行二值化处理,得到所述差值图像的二值图像,包括:

基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值;

基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像。

一种可能的实施方式中,处理器61执行的指令中,所述基于所述差值图像中各个像素点的像素值,确定二值化像素值阈值,包括:

基于所述差值图像中各个像素点的像素值,以及预先确定的在所述二值图像中,对应的像素值为第一预设值的像素点的最大数量,确定所述二值化像素值阈值。

一种可能的实施方式中,处理器61执行的指令中,所述基于各个像素点的像素值、以及所述二值化像素值阈值,将所述差值图像进行二值化处理,得到所述差值图像的二值图像,包括:

遍历所述差值图像中各个像素点,并将遍历到的像素点的像素值,与所述二值化像素值阈值进行比对;

在所述遍历到的像素点的像素值,小于等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第一预设值;

在所述遍历到的像素点的像素值,大于或者等于所述二值化像素值阈值的情况下,为所述遍历到的像素点的像素值重新赋值为第二预设值。

一种可能的实施方式中,处理器61执行的指令中,所述基于所述霍夫变换的结果,确定所述二值图像中是否存在用于表征所述待检测目标的目标像素点,包括:

在所述霍夫变换的结果包括存在目标形状的像素点组的情况下,基于所述像素点组,得到构成所述待检测目标的目标像素点在所述二值图像中的位置信息;

基于所述位置信息,从与所述二值图像对应的所述当前待检测图像中,确定所述目标像素点的位置信息。

一种可能的实施方式中,处理器61执行的指令中,所述基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像之前,还包括:

对所述当前待检测图像以及所述当前待检测图像的前一张待检测图像进行降采样处理;

所述基于所述当前待检测图像以及所述当前待检测图像的前一张待检测图像,确定所述当前待检测图像的差值图像,包括:

基于降采样后的所述当前待检测图像、以及所述降采样后的前一张待检测图像,确定所述当前待检测图像的差值图像。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的目标检测方法的步骤。

本公开实施例所提供的目标检测方法的计算机程序产品,包括程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的目标检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

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

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

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