一种抛撒物检测方法及装置
文献发布时间:2023-06-19 19:28:50
技术领域
本申请涉及智慧交通领域,尤其涉及一种抛撒物检测方法及装置。
背景技术
交通道路抛撒物检测是智慧交通领域的一个重点和难点,因为交通道路抛撒物不仅会导致道路变得脏乱,严重情况下甚至会危及驾驶员的生命安全。近几年交通道路抛撒物导致人身安全受到威胁的情况频频发生,全国各地的交管局对该行为的管控愈发重视。道路交通抛撒物行为可以使用枪机、球机进行检测,通常采用目标检测的方式来判断,但是受限于抛撒物种类杂、应用环境干扰多,检测的召回率与准确率较差。
发明内容
本申请实施例提供了一种抛撒物检测方法及装置,用以通过运动检测模型和深度学习抛撒物目标检测模型实现对抛撒物的检测,提高对抛撒物检测的准确性。
本申请实施例提供的一种抛撒物检测方法,所述方法包括:
获取针对目标拍摄场景得到的采集图像,确定所述采集图像中的感兴趣区域;
通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像;
通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果。
通过该方法,获取针对目标拍摄场景得到的采集图像,确定所述采集图像中的感兴趣区域;通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像;通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果,从而通过运动检测模型和深度学习抛撒物目标检测模型实现对抛撒物的检测,提高对抛撒物检测的准确性。
在一些实施例中,所述通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像,包括:
基于所述感兴趣区域,确定每一运动目标的轮廓,并在轮廓上绘制运动检测框,得到每一运动目标的运动检测框;其中,所述运动检测框中的图像为运动目标的图像;
根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤,得到至少一个运动目标图像。
通过该方法,实现通过运动检测模型绘制运动目标的运动检测框,并过滤掉非抛撒物的运动检测框,从而提高检测的准确性。
在一些实施例中,所述根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤,得到至少一个运动目标图像,包括:
针对每一所述运动检测框,与预设的非抛撒物的运动检测框进行交并比,当所述交并比大于预设阈值时,过滤掉该运动检测框;
针对每一剩余的运动检测框,基于原采集图像的宽高,对该运动检测框进行扩张,并从扩张后的运动检测框中提取出运动目标的图像,得到运动目标图像。
通过该方法,实现对运动检测框进行过滤,并提取出剩余运动检测框中的图像,以提高后续检测的准确性。
在一些实施例中,所述通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果,包括:
通过对所述感兴趣区域进行抛撒物检测,判断所述感兴趣区域中是否存在抛撒物图像;
如果是,则根据所述抛撒物图像,对所述至少一个运动目标图像进行过滤,并利用剩余的运动目标图像与所述抛撒物图像,得到所述采集图像对应的抛撒物检测结果;
否则,利用所述至少一个运动目标图像,得到所述采集图像对应的抛撒物检测结果。
通过该方法,实现根据深度学习抛撒物目标检测模型对感兴趣区域的检测结果对运动目标图像进行过滤。
在一些实施例中,所述方法还包括如下预先训练所述深度学习抛撒物目标检测模型的步骤:
计算预设数量的样本图像的总损失函数值;其中,所述总损失函数值,为预设类别损失函数值与对比编码先验损失函数值之和;
根据所述总损失函数值,调整深度学习抛撒物目标检测模型中各层神经网络的权重。
通过该方法,实现通过增加对比编码先验损失函数,将同类抛撒物之间的距离拉近,不同类抛撒物之间的距离扩大,提高了深度学习抛撒物目标检测模型对抛撒物检测与分类的准确性。
在一些实施例中,所述方法还包括:
基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息。
通过该方法,实现判断是否发出抛撒物预警信息,从而实现对预警信息的快速响应。
在一些实施例中,所述基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息,包括:
当确定连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果中存在同一抛撒物图像时,判断预设的用于存储非抛撒物图像的数据库中是否存在图像;
如果是,则当所述同一抛撒物图像与所述数据库中的图像均不匹配时,发出抛撒物预警信息;
否则,直接发出抛撒物预警信息。
通过该方法,实现自动将多次检测到的同一抛撒物与数据库中的非抛撒物进行匹配,以过滤掉误报数据,进而提高检测的准确率与召回率。
本申请另一实施例提供了一种抛撒物检测装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
此外,根据实施例,例如提供了一种用于计算机的计算机程序产品,其包括软件代码部分,当所述产品在计算机上运行时,这些软件代码部分用于执行上述所定义的方法的步骤。该计算机程序产品可以包括在其上存储有软件代码部分的计算机可读介质。此外,该计算机程序产品可以通过上传过程、下载过程和推送过程中的至少一个经由网络直接加载到计算机的内部存储器中和/或发送。
本申请另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种抛撒物检测方法的具体流程示意图;
图2为本申请实施例提供的一种采集图像;
图3为本申请实施例提供的一种运动检测模型背景建模完成后的检测效果图;
图4为本申请实施例提供的一种通过运动检测模型得到运动目标图像的具体流程示意图;
图5为本申请实施例提供的一种通过运动检测模型绘制的运动检测框的示意图;
图6为本申请实施例提供的一种运动检测框扩张后的示意图;
图7为本申请实施例提供的一种运动目标图像的示意图;
图8为本申请实施例提供的一种通过深度学习抛撒物目标检测模型进行抛撒物检测的流程示意图;
图9为本申请实施例提供的一种抛撒物检测系统的结构示意图;
图10为本申请实施例提供的一种对误报的快速响应处理的流程示意图;
图11为本申请实施例提供的一种抛撒物预警信息示意图;
图12为本申请实施例提供的一种抛撒物检测方法的整体流程示意图;
图13为本申请实施例提供的一种抛撒物检测装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种抛撒物检测方法及装置,用以通过运动检测模型和深度学习抛撒物目标检测模型实现对抛撒物的检测,提高对抛撒物检测的准确性。
其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下示例和实施例将只被理解为是说明性的示例。虽然本说明书可能在若干处提及“一”、“一个”或“一些”示例或实施例,但这并非意味着每个这种提及都与相同的示例或实施例有关,也并非意味着该特征仅适用于单个示例或实施例。不同实施例的单个特征也可以被组合以提供其他实施例。此外,如“包括”和“包含”的术语应被理解为并不将所描述的实施例限制为仅由已提及的那些特征组成;这种示例和实施例还可以包含并未具体提及的特征、结构、单元、模块等。
下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
需要说明的是,本申请实施例提供的技术方案,以对卡口相机获取的高速道路上连续的图像视频帧进行抛撒物检测为例进行说明,但并不限于此。
下面对文中出现的一些名词进行解释:
1、本申请实施例中术语“感兴趣区域”,指机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。
2、本申请实施例中术语“小样本”,样本容量小于或等于30的样本。
3、本申请实施例中术语“IOU”,Intersection over Union,交并比,预测的边框与真实的边框的交叠率,即它们的交集和并集的比值。
4、本申请实施例中术语“Ghost区域”,当一个原本静止的物体开始运动,背景差检测算法可能会将原来该物体所覆盖的区域错误的检测为运动的,这块区域就成为Ghost区域,或原来运动的物体变为静止的也会引入Ghost区域。
5、本申请实施例中术语“码流”,指视频图像经过编码压缩后在单位时间内的数据流量,也叫码率。
6、本申请实施例中术语“运动检测框”,是运动检测模型在图像画面中找到每一运动目标的轮廓,并在轮廓上绘制的矩形框;
预测框,是深度学习抛撒物目标检测模型基于锚框计算输出的框,预测目标物体的最小外边界框;
锚框,是根据数据集的对象位置类聚出来的框,用于预测目标物体;
真实框(也称标注框),是人工标注的目标物体位置,存放在标注文件中,用于与预测框进行匹配,以去掉不可用的预测框。
通过卡口相机获取高速道路上连续的图像视频帧,基于图像视频帧配置画面中的感兴趣区域,结合传统机器学习与深度学习算法对感兴趣区域内的目标进行检测时,受限于抛撒物的类别范围广、尺寸大小差异大、部分类别训练数据少且不同角度呈现不同的姿态特征,因此小样本少见类别的抛撒物一直是检测与分类的难点。
为了解决上述问题,本申请实施例提出了一种抛撒物检测方法,可以应用于例如卡口相机,对于小样本少见类别的抛撒物,尤其是小目标,能够准确的检出并细分其类别,增强对小样本目标的召回率,同时对误检的目标也能进行有效过滤,提高检测的准确率。
由于部分抛撒物目标像素较小,检测难度高,落在路面上与背景区分度不明显,最佳的检测时机为抛撒出来的时候,因此,本申请实施例提出的抛撒物检测方法,不仅采用深度学习目标检测算法(深度学习抛撒物目标检测模型采用的算法)检测抛撒物,还通过运动检测算法(运动检测模型采用的算法)提取出潜在抛撒物目标小图,从而降低抛撒物的漏检率。
参见图1,本申请实施例提供的一种抛撒物检测方法,具体步骤包括:
步骤S11、获取针对目标拍摄场景得到的采集图像;
步骤S12、根据用户配置的感兴趣区域,确定采集图像画面中的感兴趣区域;
步骤S13、通过运动检测模型对步骤S12得到的图像画面中的感兴趣区域进行运动目标检测,得到运动目标图像;
本步骤中,运动检测模型在进行运动目标检测前,需要先利用采集图像(例如8帧图像,运动检测模型会对已检测过的每一帧图像进行缓存,以便于下一次检测时进行参考)进行背景建模,背景建模完成后才可以进行运动目标检测,例如图2所示的采集图像,矩形框中为运动的行人,例如图3所示,为背景建模完成后针对图2识别出的运动目标。也就是说针对前8帧图像,运动检测模型无法检测出任何运动目标;
本步骤中,运动检测模型例如采用运动检测算法对感兴趣区域进行运动检测;
步骤S14、通过深度学习抛撒物目标检测模型对步骤S12得到的感兴趣区域和步骤S13得到的运动目标图像进行抛撒物检测,当检测出抛撒物时,则通过用户界面输出抛撒物的类别及特征图像(所述特征图像,即在原采集图像上以检测框标识出抛撒物),当未检测出抛撒物时,则通过用户界面输出原采集图像;
本步骤中,深度学习抛撒物目标检测模型例如采用深度学习目标检测算法对感兴趣区域和运动目标图像进行抛撒物检测;
步骤S15、当满足预设条件时,确定是否发出抛撒物预警信息;
具体地,例如,当连续多帧图像检测到抛撒物时,将抛撒物的特征图像与预设的数据库中的非抛撒物的特征图像进行余弦相似度匹配,若相似度超过预设阈值(例如0.8),则不发出抛撒物预警信息;若相似度小于或等于预设阈值,则发出抛撒物预警信息,即输出最近一帧图像对应的抛撒物特征图像到用户界面,该特征图像上标注出抛撒物及其类别。
参见图4,上述步骤S13中得到运动目标图像的具体流程,包括:
步骤S131、获取针对目标拍摄场景得到的采集图像;
步骤S132、基于步骤S131获取的采集图像,根据用户配置的感兴趣区域,确定图像画面中的感兴趣区域;
步骤S133、基于感兴趣区域,确定每一运动目标的轮廓,并在轮廓上绘制运动检测框,得到每一运动目标的运动检测框,其中,所述运动检测框中的图像就是运动目标的图像;
本步骤中,例如采用ViBe算法从感兴趣区域得到每一运动目标的运动检测框,ViBe算法模型建立了一个样本集,该样本集存储有所有像素点,保存了每一像素点过去的像素值以及其邻居点的像素值,通过比较当前像素值与样本集中的样本历史像素值,判断该当前像素值对应的像素点是否属于背景点,若当前像素值与样本集中的历史值接近(例如像素值相差在预设范围内),则确定该当前像素值对应的像素点属于背景点;ViBe算法检测效果优于其他常见算法,且对硬件内存占用较少。
步骤S134、根据预设的非抛撒物的运动检测框,对步骤S133得到的运动检测框进行过滤;
本步骤中,将步骤S133得到的每一运动检测框,例如与预设的机动车、行人、非机动车的运动检测框进行IOU匹配,当IOU大于预设阈值时,过滤掉该运动检测框,反之,则保留该运动检测框;
步骤S135、针对每一剩余的运动检测框,基于原采集图像的宽高,对该运动检测框进行扩张,并从扩张后的运动检测框中提取出运动目标的图像,得到运动目标图像;
本步骤中,为避免出现运动目标未被运动检测框完全覆盖住,影响后续进行抛撒物检测的准确性,对运动检测框进行扩张处理,例如图5所示,以抛撒物的运动检测框的中心点为中心,基于其对应的原采集图像的宽度和高度(例如宽高2倍),对该运动检测框进行扩张(即将运动检测框增大,运动检测框中图像的大小不变),例如图6所示,并提取出扩张后的运动检测框中的运动目标的图像,例如图7所示,得到运动目标图像。
参见图8,上述步骤S14通过深度学习抛撒物目标检测模型对感兴趣区域和运动目标图像进行抛撒物检测的具体流程,包括:
步骤S141、通过深度学习抛撒物目标检测模型对感兴趣区域进行抛撒物检测,若检测出抛撒物,则进行步骤S142;否则直接进行步骤S143;
步骤S142、根据检测出的抛撒物图像,对每一运动目标图像进行过滤;
本步骤中,将每一运动目标图像与抛撒物图像进行交并比,当交并比大于预设阈值时,过滤掉该运动目标图像,以避免对同一图像重复进行抛撒物检测;
步骤S143,对剩余的运动目标图像进行抛撒物检测,当检测出抛撒物时,与步骤S141的检测结果进行整合,通过用户界面输出抛撒物的类别及特征图像;
本步骤中,若检测出抛撒物,将检测结果与步骤S141的检测结果进行整合,也就是说,在原采集图像画面中的感兴趣区域以矩形框标识出所有的抛撒物。
参见图9,本申请实施例提出的一种抛撒物检测系统,例如包括深度学习目标检测模块100和运动检测模块200;
深度学习目标检测模块100,用于对图像画面中的感兴趣区域进行抛撒物检测(例如采用上述的深度学习抛撒物目标检测模型);
运动检测模块200(例如采用上述的运动检测模型),用于对图像画面中的感兴趣区域进行运动目标检测,得到运动目标图像,并发送给所述深度学习目标检测模块100。
所述深度学习目标检测模块100,还用于接收运动检测模块200发送的运动目标图像,并对运动目标图像进行抛撒物检测。
在一些实施例中,运动检测模块200,例如包括第一运动检测模块201和第二运动检测模块202;
第一运动检测模块201,用于基于图像画面中的感兴趣区域,确定每一运动目标的轮廓,并在轮廓上绘制运动检测框,得到每一运动目标的运动检测框,其中,运动检测框中的图像就是运动目标的图像;
第一运动检测模块201从图像画面中的感兴趣区域确定所有运动目标,确保后续进行抛撒物检测时,未遗漏抛撒物目标,提高检测的准确性;
由于第一运动检测模块201只能确定运动目标,但运动目标不全是抛撒物,例如行人、机动车、非机动车,因此需要进一步对运动目标进行筛选,以过滤掉这些运动目标,因此对运动检测模块200增设第二运动检测模块202,用于从第一运动检测模块201确定的运动检测框中,过滤掉已知运动目标类别的运动检测框(例如机动车、行人、非机动车的运动检测框)。在一些实施例中,还可以进一步针对剩余的每一运动检测框,基于原采集图像的宽高,对该运动检测框进行扩张,并从扩张后的运动检测框中提取出运动目标的图像,得到运动目标图像发送给上述的深度学习目标检测模块100。
在一些实施例中,抛撒物检测系统还包括:注册底库模块300,用于存储非抛撒物的特征图像。当上述的深度学习目标检测模块100确定连续多帧(可以设置)针对目标拍摄场景得到的采集图像对应的抛撒物检测结果中存在同一抛撒物图像时,输出该抛撒物的特征图像给注册底库模块300;注册底库模块300将该抛撒物的特征图像与数据库中存储的非抛撒物的特征图像进行余弦相似度匹配,若相似度小于或等于预设阈值(例如0.8),则深度学习目标检测模块100发出抛撒物预警信息,否则不发出抛撒物预警信息;若相似度大于预设阈值,将原采集图像存入非抛撒物样本集,该非抛撒物样本集用于对深度学习抛撒物目标检测模型进行训练,训练后的深度学习抛撒物目标检测模型,用于进行抛撒物检测,从而进一步提高检测的准确性。
在一些实施例中,上述第一运动检测模块201,例如采用ViBe模型从采集图像中提取出运动目标图像。该ViBe模型主要包括三个方面:ViBe模型的工作原理、背景模型的初始化方法、背景模型的更新策略。
一、ViBe模型的工作原理:
该ViBe模型预先建立了一个样本集,该样本集存储有所有像素点,保存了每一像素点过去的像素值以及其邻居点的像素值,通过比较当前像素值与样本集中的样本历史像素值,判断该当前像素值对应的像素点是否属于背景点,若当前像素值与样本集中的历史值接近,确定该当前像素值对应的像素点属于背景点。
记V(x,y)为当前图像帧中坐标(x,y)处的像素值;M(x,y)={V
在一些实施例中,选取样本集中的邻域样本点n的数量为50,从而可以保障抛撒物检测系统内存耗时,以及增加该系统对复杂场景的适应能力。
将像素值的50个邻居点与样本集M(x,y)中历史像素值相减得到的差值,与R进行对比,若得到的50个差值的绝对值小于R的数量,即潜在背景目标像素点的数量N>th(th表示预设阈值,例如为43),则表示该像素点与历史像素点相似,可将该像素点判断为背景点;若差值大于R或小于-R的数量N1,即潜在前景目标像素点的个数N1>T(T=n-th),则将该像素点判断为前景点。
二、背景模型的初始化:
初始化是建立背景模型的过程,ViBe模型主要利用单帧图像初始化背景模型,对于一个像素点,结合相邻像素点拥有相近像素值的空间分布特性,随机地选择该像素点的邻居点的像素值作为该像素点的模型样本值。背景模型初始化就是填充像素点的样本集的过程。在一些实施例中,选择待处理图像帧的例如前8帧初始化背景模型,选取每一像素点周围的50个邻居点作为样本集,不仅可以减小计算量,还可以保存图像的时空信息。
三、背景模型的更新策略:
背景模型的更新可以使得背景模型能够适应背景的不断变化,例如光照的变化,背景图像的变更等。在一些实施例中,采用例如前景点计数方法的更新策略,对像素点进行统计,若某个像素点连续N帧(例如20)被检测为前景点,则将其更新为背景点。通过ViBe模型检测出来的每个背景点都有
该更新策略利用了像素值的空间传播特性,可以有效避免Ghost区域的产生,且在选择要替换的样本集中的样本值时,是随机选取一个样本值进行更新,从而可以保证样本值的平滑性。样本值在本ViBe模型中的更新与时间无关,该更新策略较为合理。
在一些实施例中,上述深度学习目标检测模块100,例如采用单阶段目标检测算法,以Yolov5s为例,第一阶段使用大量标注的常见类别抛撒物(例如纸盒、箱子、包)样本对检测模型进行预训练,得到加入初始参数的检测模型;第二阶段使用少见类别抛撒物(例如饮料瓶、购物袋)的小样本对加入初始参数的检测模型进行微调。不同于两阶段目标检测算法网络冻结卷积层仅在全连接层微调参数的方式,为了使Yolov5s各层网络都学习小样本的类别特征,在一些实施例中,对检测模型的微调是基于Yolov5s全网络进行的,但是基本类别与小样本训练数据比例的失衡仍然会对小样本的检测结果造成很大影响,无法使一些易混淆或者目标小、训练样本少的目标被准确分类。为解决该问题,在一些实施例中,在对检测模型进行第二阶段训练时,对检测模型的相关参数进行了调整。
因小样本数据量少,预训练模型(即已加入初始参数的检测模型)在检测到小样本目标时的置信度往往不会很高,很多预测框会直接被NMS(非极大值抑制)操作抑制掉。在对预训练模型进行第二阶段训练时,设定一个置信度分数阈值(例如0.2),将预训练模型推理出的置信度分数大于或等于该阈值的预测框都保留下来,从而提高小样本预测框的数量,让一些置信度分数比较低的预测框不被过滤掉。
但增加预测框的数量会引入较多不包含目标语义信息的预测框,导致预训练模型难收敛且准确率降低。在一些实施例中,在对预训练模型进行第二阶段训练时,设定一个IOU阈值(例如0.6),当预测框与标注框(人工标注的坐标框)的IOU大于或等于该阈值时,保留该预测框,从而保障预测框的可用性,也就是说,预测框与标注框的交并比达到60%,方可将该预测框留下训练。
为使同类检测目标的特征向量彼此靠近即增加同类间的相似度,不同类检测目标的特征向量彼此远离,提高预训练模型对抛撒物检测与分类的准确性,在一些实施例中,在对预训练模型进行第二阶段训练时,在预训练模型原有损失函数的基础上新增CPE(Contrastive Proposal Encoding,对比先验编码损失)损失。CPE损失的计算公式例如:
其中,
其中,L
其中,λ表示控制各类损失函数的权重超参(例如λ1=λ2=λ3=1,λ4=0.7),L
本申请实施例提出的采用深度学习目标检测为主、机器学习为辅的检测方式,可以提高检测的鲁棒性,加强对小样本的召回率,但是在实际应用中,仍可能出现部分误报(即检测不准确)的情况,因此,在一些实施例中,通过上述的注册底库模块300实现对误报的快速响应处理,参见图10,具体步骤包括:
步骤S21、获取针对目标拍摄场景得到的采集图像,根据用户配置的感兴趣区域,确定图像画面中的感兴趣区域;
步骤S22、通过运动检测模块200对图像画面中的感兴趣区域进行运动目标检测,得到运动目标图像;
步骤S23、通过深度学习目标检测模块100对图像画面中的感兴趣区域和运动目标图像进行抛撒物检测,当检测出抛撒物时判断是否满足预设条件;
需要说明的是,所述预设条件也可以包括多个条件,例如可以在满足第一预设条件时,进一步判断是否满足第二预设条件,在满足多个条件时才发出抛撒物预警信息。例如,针对任一抛撒物图像,若连续多帧存在该抛撒物图像,则认为满足预设条件;或者,针对任一抛撒物图像,若连续多帧存在该抛撒物图像,并且该抛撒物图像与预设非抛撒物图像的相似度,小于或等于预设阈值,则认为满足预设条件。
其中,所述预设非抛撒物图像,存储于注册底库模块300。
步骤S24、当满足预设条件时,通过深度学习目标检测模块100发出抛撒物预警信息。
在一些实施例中可以通过用户界面发出抛撒物预警信息,例如,通过用户界面发出的抛撒物预警信息如图11所示,使得工作人员可以利用图11所示的抛撒物预警信息进行人工分析,判断图11中标记的抛撒物是否确实为抛撒物,从而确认此次抛撒物预警信息是否为误报。
步骤S25、若例如通过用户界面接收到当前发出的抛撒物预警信息为误报的用户指令,则确定当前误检出的抛撒物实际为非抛撒物,并将该非抛撒物图像存入注册底库模块300,即实时更新注册底库模块300,以进一步提高后续的误报判断的准确性。
若通过用户界面接收到当前发出的抛撒物预警信息为正确的预警的用户确认指令,则最终确定当前检测到抛撒物。
在一些实施例中,当上述注册底库模块300中存储的非抛撒物数据量足够多时,例如超过预设阈值(具体取值可以根据实际需要而定)时,在后续检测过程中,当触发上报条件发出抛撒物预警信息前,先与存入数据库的非抛撒物特征图像的特征向量进行余弦相似度匹配,若相似度超过预设阈值(例如0.8),则不发出抛撒物预警信息,即上述的当满足多个预设条件时,才发出抛撒物预警信息。也就是说,可以通过注册底库模块300代替人工判断相同目标或类似目标触发的预警事件,即可以省去上述通过人工在用户界面上确认当前预警是否为误报的步骤。
在一些实施例中,还可以将误报检测出的非抛撒物对应的原采集图像也存储到注册底库模块300,根据保存的非抛撒物的原采集图像帧序号可以对误报的数据进行有效的定位收集并纳入训练集,从而实现对深度学习目标检测算法进行迭代更新,优化检测的准确率与召回率,提高鲁棒性。
综上所述,参见图12,本申请实施例提供的一种抛撒物检测方法,包括:
步骤S31、获取针对目标拍摄场景得到的采集图像,确定所述采集图像中的感兴趣区域;
本步骤中,根据用户配置的感兴趣区域,确定采集图像画面中的感兴趣区域;
步骤S32、通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像;
例如通过上述的运动检测模块200对图像画面中的感兴趣区域进行运动目标检测;
步骤S33、通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果;
本步骤中,例如通过上述的深度学习目标检测模块100对感兴趣区域和运动目标图像进行抛撒物检测;
通过步骤S33,实现对原采集图像和运动检测模型提取出的运动目标图像进行抛撒物检测,从而提高了对抛撒物检测的准确性。
为提高检测的准确性,在一些实施例中,所述通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像,包括:
基于所述感兴趣区域,确定每一运动目标的轮廓,并在轮廓上绘制运动检测框,得到每一运动目标的运动检测框(例如通过上述的第一运动检测模块201执行);其中,所述运动检测框中的图像为运动目标的图像;
根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤(例如通过上述的第二运动检测模块202执行,过滤掉机动车、行人、非机动车的运动检测框),得到至少一个运动目标图像。
为提高后续检测的准确性,在一些实施例中,所述根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤,得到至少一个运动目标图像,包括:
针对每一所述运动检测框,与预设的非抛撒物的运动检测框进行交并比,当所述交并比大于预设阈值(例如0.8)时,过滤掉该运动检测框;
针对每一剩余的运动检测框,基于原采集图像的宽高(例如图像宽高的2倍),对该运动检测框进行扩张,并从扩张后的运动检测框中提取出运动目标的图像,得到运动目标图像。
为避免对同一图像进行重复检测,在一些实施例中,所述通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果,包括:
通过对所述感兴趣区域进行抛撒物检测,判断所述感兴趣区域中是否存在抛撒物图像;
如果是,则根据所述抛撒物图像,对所述至少一个运动目标图像进行过滤(例如将抛撒物图像与运动目标图像进行交并比,当交并比大于预设阈值时,过滤掉该运动目标图像),并利用剩余的运动目标图像与所述抛撒物图像,得到所述采集图像对应的抛撒物检测结果;
否则,利用所述至少一个运动目标图像,得到所述采集图像对应的抛撒物检测结果。
为提高深度学习抛撒物目标检测模型对抛撒物检测与分类的准确性,在一些实施例中,所述方法还包括如下预先训练所述深度学习抛撒物目标检测模型的步骤:
计算预设数量的样本图像的总损失函数值;其中,所述总损失函数值,为预设类别损失函数值与对比编码先验损失函数值之和;
根据所述总损失函数值,调整深度学习抛撒物目标检测模型中各层神经网络的权重;
其中,所述预设数量,例如上述的一个batch数量;所述预设类别损失函数值,例如检测模型原有损失函数;所述对比编码先验损失函数值,例如CPE损失。
为提高检测的准确性,在一些实施例中,所述方法还包括:
基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息;
例如可以是连续多帧图像检测到同一抛撒物,就发出抛撒物预警信息,也可以是连续多帧图像检测到同一抛撒物,并且该抛撒物与预设数据库中存储的非抛撒物不匹配时,才发出抛撒物预警信息;
所述抛撒物预警信息,例如输出最近一帧图像对应的抛撒物特征图像到用户界面,该特征图像上标注出抛撒物及其类别。
为实现自动过滤掉非抛撒物发出的误报数据,在一些实施例中,所述基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息,包括:
当确定连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果中存在同一抛撒物图像时,判断预设的用于存储非抛撒物图像的数据库中是否存在图像;
如果是,则当所述同一抛撒物图像与所述数据库中的图像均不匹配时(将抛撒物图像与数据库中的图像进行交并比,当交并比小于或等于预设阈值时,说明抛撒物与数据库中的图像不匹配),发出抛撒物预警信息;
否则,直接发出抛撒物预警信息。
下面介绍一下本申请实施例提供的设备或装置,其中与上述方法中所述的相同或相应的技术特征的解释或举例说明,后续不再赘述。
参见图13,本申请实施例提供的一种抛撒物检测装置,包括:
处理器600,用于读取存储器620中的程序,执行下列过程:
获取针对目标拍摄场景得到的采集图像,确定所述采集图像中的感兴趣区域;
通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像;
通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果。
在一些实施例中,所述通过运动检测模型对所述感兴趣区域进行运动目标检测,得到至少一个运动目标图像,包括:
基于所述感兴趣区域,确定每一运动目标的轮廓,并在轮廓上绘制运动检测框,得到每一运动目标的运动检测框;其中,所述运动检测框中的图像为运动目标的图像;
根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤,得到至少一个运动目标图像。
在一些实施例中,所述根据预设的非抛撒物的运动检测框,对所述每一运动目标的运动检测框进行过滤,得到至少一个运动目标图像,包括:
针对每一所述运动检测框,与预设的非抛撒物的运动检测框进行交并比,当所述交并比大于预设阈值时,过滤掉该运动检测框;
针对每一剩余的运动检测框,基于原采集图像的宽高,对该运动检测框进行扩张,并从扩张后的运动检测框中提取出运动目标的图像,得到运动目标图像。
在一些实施例中,所述通过深度学习抛撒物目标检测模型对所述感兴趣区域和所述至少一个运动目标图像,进行抛撒物检测,确定所述采集图像对应的抛撒物检测结果,包括:
通过对所述感兴趣区域进行抛撒物检测,判断所述感兴趣区域中是否存在抛撒物图像;
如果是,则根据所述抛撒物图像,对所述至少一个运动目标图像进行过滤,并利用剩余的运动目标图像与所述抛撒物图像,得到所述采集图像对应的抛撒物检测结果;
否则,利用所述至少一个运动目标图像,得到所述采集图像对应的抛撒物检测结果。
在一些实施例中,所述处理器600还用于读取存储器620中的程序,执行如下预先训练所述深度学习抛撒物目标检测模型的步骤:
计算预设数量的样本图像的总损失函数值;其中,所述总损失函数值,为预设类别损失函数值与对比编码先验损失函数值之和;
根据所述总损失函数值,调整深度学习抛撒物目标检测模型中各层神经网络的权重。
在一些实施例中,所述处理器600还用于读取存储器620中的程序,执行:
基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息。
在一些实施例中,所述基于连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果,判断是否发出抛撒物预警信息,包括:
当确定连续多帧针对所述目标拍摄场景得到的采集图像对应的抛撒物检测结果中存在同一抛撒物图像时,判断预设的用于存储非抛撒物图像的数据库中是否存在图像;
如果是,则当所述同一抛撒物图像与所述数据库中的图像均不匹配时,发出抛撒物预警信息;
否则,直接发出抛撒物预警信息。
在一些实施例中,本申请实施例提供的抛撒物检测装置还包括收发机610,用于在处理器600的控制下接收和发送数据。
其中,在图13中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。
在一些实施例中,本申请实施例提供的抛撒物检测装置还包括用户接口630,用户接口630可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
在一些实施例中,处理器600可以是CPU(中央处埋器)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable GateArray,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
本申请实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。
处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的任一所述方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。所述计算机可读存储介质,可以是非暂时性计算机可读介质。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
- 一种固态颗粒抛撒装置及方法
- 一种延长电动多旋翼航时的电池抛撒方法及装置、无人机
- 一种液相色谱质子转移反应质谱的水中挥发性有机物检测装置及检测方法
- 一种溶解性有机物分子量分布的检测装置及检测方法
- 一种欺诈检测模型训练方法和装置及欺诈检测方法和装置
- 车辆抛撒物检测方法、装置、电子装置和存储介质
- 一种事件相机和视觉相机协同的高速抛撒物检测方法和系统