掌桥专利:专业的专利平台
掌桥专利
首页

一种目标检测方法、装置及可读存储介质

文献发布时间:2023-06-19 09:26:02


一种目标检测方法、装置及可读存储介质

技术领域

本发明涉及计算机视觉与机器学习领域,尤其涉及一种目标检测方法、装置及可读存储介质。

背景技术

在各种基于神经网络模型的图像目标检测算法中,模型设定的输入分辨率较低,一般为几百,如经典的YOLO模型输入为416*416,VGG为224*224。不论原始图像的分辨率如何,都要变换到设定的分辨率,然后输入模型进行检测,之后再将检测结果映射到原始图像上。

然而,随着技术的发展,日常中常用的设备如手机、相机、监控摄像头等,其拍摄的照片分辨率常为1080P(1920*1080)、2K(2560*1440)、4K(3840*2160)甚至更高的分辨率。这样就产生了一个问题:在输入图片上相对清晰的物体,经预处理后输入到检测模型时,已经变得模糊与微小,导致漏检或检测精度不高。

在低分辨率图像上的小目标,放大分辨率后,能够增强其特征。

发明内容

本发明的主要目的在于提供一种目标检测方法、装置及其可读存储介质,旨在提高现有检测方法的检测精度,降低漏检率,特别适用于高分辨率图像上的小目标检测。

本发明的技术方案如下:

一种目标检测方法,其特征在于,包括如下步骤:

步骤1):根据实际的检测对象,来定义具体的目标检测模块;

步骤2):给定原始图像作为输入图像,若原始图像的分辨率较低,则增加分辨率作为输入图像;

步骤3):将输入图像整体预处理后输入到定义好的目标检测模块中进行检测,得到一批目标位置及相关参数;

步骤4):按照设定的筛选策略,从得到的目标位置中筛选出初定位置和复检位置;

步骤5):根据精度和效率要求,判读是否结束本次复检,若不结束,则跳到步骤6);若所有复检都结束,则跳到步骤8);

步骤6):将复检位置按照设定的融合策略进行融合之后,作为待处理的复检位置;

步骤7):从输入图像上取出待处理的复检位置附近的图像作为新的输入图像,递归性地跳转到步骤3),重复上述检测、筛选再检测的过程;

步骤8):将所有初定位置融合后得到结果。

所述的一种目标检测方法,其特征在于,所述步骤1)中的目标检测模块采用传统手工特征的检测方法或基于神经网络的方法;所述目标检测模块为基于神经网络的方法时使用公开的预训练模型或在公开数据集上训练,也可使用在自定义数据集上训练后以实现特定目标的检测。

所述的一种目标检测方法,其特征在于,所述步骤2)中的原始输入图像,为一张图片,或为视频中的一帧或由多帧按照一定方法融合成的一帧;所述步骤2)中的增加分辨率的方法为插值;所述步骤3)中的预处理包括图像的灰度变换、尺寸变换、填充或剪裁;所述步骤3)中将输入图像经过预处理后输入到目标检测模块,采用单张或批量的输入;所述步骤4)中的目标位置的筛选因素包括置信度、所在位置、面积、区域颜色或灰度特征,其中某一候选目标位置可同时筛选为初定位置和复检位置;所述步骤5)中的结束判断因素为递归深度,递归到设定深度则不再递归。

所述的一种目标检测方法,其特征在于,所述步骤6)中的复检位置融合策略,其目的在于将相近的复检位置合并以减少复检位置数,融合方法为若任意两个复检位置判定为能够融合,则用这两个位置的最小外接矩形取代这两个位置;所述步骤6)的复检位置融合策略可区分目标的类别或者不区分;所述步骤6)所述的复检位置融合策略,复检位置的相近性的判定基于位置或IoU因素;所述步骤7)的结果融合,其目的在于避免同一目标被输出为多个结果,融合方法为对得到的所有初定位置按照设定的策略如NMS或其变种融合后得到结果。

所述的一种目标检测方法,其特征在于,所述步骤8)的融合后的结果,若经过了步骤2)所述的增加分辨率过程,则要将结果映射到低分辨率上作为最终结果,否则直接作为最终结果。

一种目标检测装置,其特征在于,包括:

输入部分,用于从指定位置获取图像或视频数据;

处理部分,用于执行上述任一所述的目标检测方法;

输出部分,用于将结果输出到指定位置。

所述的一种目标检测装置,其特征在于,所述指定位置为采集设备时,即通过采集图像或视频得到输入图像时,所述的输入部分包括实现采集图像或视频功能的设备如相机、镜头、光源、采集卡;所述指定位置为存储设备时,即通过从本地或网络位置读取图像或视频时,所述的输入部分包括实现读取功能的设备如通信设备与存储设备。

所述的一种目标检测装置,其特征在于,所述的处理部分包括:计算机设备如存储器、处理器;所述存储器,用于存放至少一条指令;所述处理器,用于执行所述存储器上所存放的至少一条指令,实现上述任一所述的目标检测方法。

所述的一种目标检测装置,其特征在于,所述的输出部分根据不同的输出要求,采用显示器或存储器或传输结果信息的通信设备。

一种可读存储介质,其特征在于,所述可读存储介质上存储有至少一条指令,所述至少一条指令被执行时实现上述任一所述的目标检测方法。

本发明的有益效果是:所述的目标检测方法是一种框架算法,针对各种特定场景的具体算法具有较强的通用性,能够方便地在原有算法的基础上提高检测精度;由于复检,各类高分辨率的图像或视频能够充分被利用,能够提高检测的准确度,降低小目标的漏检率;而准确度和漏检率在计数、检测、监控等领域具有重要意义。所述的复检位置融合策略,能够减少由于复检带来的时间复杂度。

附图说明

图1是本发明目标检测方法的一种实施例的整体流程示意图;

图2是本发明目标检测方法中目标检测模块的一种实施例示意图;

图3是本发明目标检测方法中目标检测模块的又一种实施例示意图;

图4是本发明目标检测方法中复检位置融合的一种实施例示意图;

图5是本发明目标检测方法中复检位置融合的又一种实施例示意图;

图6是本发明目标检测装置的一种实施例的系统示意图;

图7是本发明目标检测装置中的输入部分的一种实施例示意图;

图8是本发明目标检测装置中的输入部分的又一种实施例示意图;

图9是本发明目标检测装置中的输出部分的一种实施例示意图;

图10是本发明目标检测装置中的输出部分的又一种实施例示意图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式。显然,所描述的实施例并不代表与本申请相一致的所有实施方式。本申请还可以通过另外不同的具体实施方式加以实施,其中的各项细节可以根据具体情况,基于本申请所述的方法思路加以调整。需要说明的是,在不冲突的情况下,以下实施例及实施例中的部分步骤可以相互组合。基于本申请中的实施例,其他人员在没有做出创造性改变的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

需要说明的是,本申请实施例提供的目标检测方法可以应用于具有目标检测需求的设备,其可以包括但不限于视频监控领域的前端视频采集设备或后端服务器,或其他能用于目标检测的设备如智能手机、智能相机、树莓派或其他智能硬件等。

一种目标检测方法,具体方法如下:

1)定义具体的目标检测模块,保证输入图像后输出目标位置及其他相关参数如置信度等;根据检测对象的不同,该目标检测模块可以选用传统手工特征的检测方法如VJ法、DPM法等;也可以选用基于神经网络的方法如Fast RCNN、Faster RCNN、MobileNet、SSD、YOLO等网络或其变种或组合等;当目标检测模块为基于神经网络的方法时,若待检目标已存在于公开数据集如VOC、MS COCO中,则可以直接调用公开的预训练权重或精调后再调用;也可以在自定义数据集上训练后以实现特定目标的检测;

2)给定原始图像作为输入图像,若原始图像的分辨率较低,则通过插值增加分辨率后作为输入图像;

3)输入图像经过灰度变换、尺寸变换、填充或剪裁等预处理后,再输入到检测模块进行检测,检测模块输出大量位置,这些位置经过筛选后得到初定位置和复检位置;

4)根据具体情况的不同,筛选因素如置信度、所在位置、面积、区域颜色或灰度特征等;筛选因素的一部分和/或另一部分满足某种的预设条件,即可将对应的目标位置作为初定位置,满足另一预设条件的作为复检位置,其余的为其他位置被丢弃掉;为提高准确度,初定位置也可以同时为复检位置,从而在后面再检测;

5)根据精度和效率要求,判读是否结束本次复检,若不结束,则跳到步骤6);若所有复检都结束,则跳到步骤8);

6)得到的复检位置比较多时,需要进行融合,其目的在于将相近的复检位置合并以减少复检位置数,从而提高效率,并避免一个目标被严重拆分的情况;相近性的判定基于位置、IoU等因素;根据具体情况,融合方式为先在同类内融合,之后在不同类间再融合;或者直接整体融合;基于位置融合时,选用K-Means聚类方法,将每一类各自融合;若在同类内融合,所用K-Means方法可以利用复检位置的面积、置信度等做加权聚类;基于IoU融合时,当任意两个复检位置的IoU值大于或等于一定阈值时即融合;根据具体情况的不同,可以先进行基于位置的融合,再进行基于IoU的融合;或先进行基于IoU的融合,再进行基于位置的融合;或者两种融合方式同时进行;

7)复检位置融合后得到待处理的复检位置,在待处理的这些复检位置进行一定的扩展或收缩,然后映射到输入图像上,就可以取出这些位置附近的图像作为新的输入图像;递归性地跳转到步骤3),重复上述检测、筛选再检测的过程;

8)将所有初定位置融合后得到结果。

为实现所述的目标检测方法,本发明提供了一种目标检测装置;

所述的目标检测装置包括输入部分、处理部分、输出部分;

所述的输入部分,用于采集图像或视频或者从其他位置读取图像或视频;当通过采集图像或视频得到输入图像时,输入部分包括实现采集图像或视频的设备如相机、镜头、光源、采集卡等;当通过从其他为位置读取图像或视频时,输入部分包括实现读取功能的设备如处理器、通信设备与存储设备等;

所述的处理部分包括:计算机设备如存储器、处理器等;所述存储器,用于存放至少一条指令;所述处理器,用于执行所述存储器上所存放的至少一条指令,实现所述的目标检测方法;

所述的输出部分,根据不同的输出要求,可包括如显示器或传输结果信息的通信设备等。

一种可读存储介质,所述的可读存储介质上存储有至少一条指令,所述至少一条指令被执行时实现所述的目标检测方法。

实施例,如图1-10所示:

如图1为本申请实施例提供的一种目标检测方法的流程示意图,包括以下步骤:

步骤S100:定义具体的目标检测模块,该模块能够实现输入图像后输出目标位置及其他参数如置信度等;本申请提高的目标检测方法的精髓在于提出了复检实施方法,置于每次检测需要的具体检测模块根据实际情况来定义;

步骤S110:给定原始图像作为输入图像,若为低分辨率则增加分辨率后作为输入图像;本步骤的目的在于提高了目标检测方法的通用性;所述目标检测方法要求输入图像具有较高的分辨率,若原始图像分辨率较低,则增加分辨率即可满足;

步骤S120:作为一个完整步骤,其输入为图像,输出为检测到的若干个初定的目标位置;本步骤内含有递归过程,分为多个子步骤;

步骤S130:用于将检测到的若干个初定的目标位置进行融合;

上述步骤为所述目标检测方法的整体过程,下面对每一步骤的具体实施方式进行拆解;

对于所述步骤S100,用于定义具体的目标检测模块;根据实际情况,可以选择不同的方法,总体上分为传统手工特征的方法和基于神经网络的方法;

如图2所示,即为所述的基于传统手工特征方法定义的目标检测模块;利用所述传统方法,如检测某种圆形工件时,可以选用工件轮廓作为特征,计算出轮廓的似圆度可以作为结果的置信度;其他情况不一而足;

如图3所示,即为所述的基于神经网络的方法;基于神经网络的方法如Fast RCNN、Faster RCNN、MobileNet、SSD、YOLO等网络或其变种或组合等;这类方法通常包括训练和检测两步;若所选网络模型已有符合要求的预训练权重,则可以直接进行检测;否则要根据需求在公开数据集或自定义数据集上训练,然后再进行检测;

对于所述步骤S120:该步骤为核心检测环节,主要思路是检测、复检的递归过程;其子步骤如下:

如图1所示步骤S120a:该步骤为对输入图像进行预处理,然后使用前面定义好的目标检测模块做检测,输出目标的位置及其他参数置信度等;

当输入图像为多张时,可以每张依次检测;也可以根据具体情况将多张图像拼接为一张或几张来批量化;或者若检测模块支持时刻多张同时输入来批量化;

如图1所示步骤S120b:该步骤用于对检测模块得到的结果进行筛选,筛选出初定位置和复检位置,其他位置被丢弃;根据具体情况,初定位置也可以作为复检位置;

所述筛选因素可选择面积、位置、置信度、其他blob特征等;例如:丢弃置信度小于0.2的目标,置信度大于等于0.2小于0.8的为复检目标,置信度大于等于0.7的为初定目标;

如图1所示步骤S120c:该步骤用于判断是否进行复检;若需复检则进入到下一步骤,否则结束本次递归;

所述复检判断因素可选择递归深度或其他特定因素等;例如:递归深度阈值设置为3,则过程为对于某个复检位置,复检后再得到复检位置,再进行复检后结束;

如图1所示步骤S120d:该步骤用于将相近的复检位置进行融合;所述融合方法为若任意两个复检位置判定为可以融合,则用这两个位置的最小外接矩形取代这两个位置;该步骤主要的作用体现在两个方面:

其一:复检位置存在重叠情况,融合后能够大大减少复检位置,提高效率,在工程实践上具有很大的实用性;

其二:一些目标可能被划分到相互临近的几个复检位置,通过融合来避免同一个目标被严重拆分的情况;

所述复检位置融合的判定因素如位置或IoU或其他相近性判断因素等;可以选择单个或若干个因素进行判定;选择若干个因素可以同时或者先后或者其他方式进行组合;如先基于因素1和因素2进行融合,融合的结果再基于因素3进行融合;

所述复检位置融合时可以选择区分目标种类或不区分或半区分;如不区分时:所有复检位置同时进行融合;如区分时:复检位置中目标属于种类1如汽车的进行融合,属于猫的进行融合,以此类推;如半区分时:可设置相似类别,如复检位置中目标属于车辆如汽车、卡车等的进行融合,属于动物如猫、狗等的进行融合,以此类推;

如图4所示为基于位置的复检位置融合策略实施例,基于聚类算法如K-Means等对复检位置进行聚类,种类数可根据具体情况进行设定,如选择聚集为2类;聚类时可以参考置信度、面积等因素进行加权;

如图5所示为基于IoU的复检位置融合策略实施例,若任意两个复检位置的IoU超过一定阈值如0.6,则用这两个位置的最小外接矩形取代这两个位置;

需要说明的是,有一些情况不需要进行融合,如复检位置比较少,或者期望简化方法、或者对效率要求不高等,此时可统一认定为融合的结果即为融合前的复检位置;

复检位置经融合后即为待处理的复检位置,供下一步骤处理;

如图1所示步骤S120e:该步骤用于在待处理的复检位置上进行一定的扩展或收缩,然后映射到输入图像上,取出对应的图像新的输入图像;所述扩展的目的之一是避免目标占据图像边界部分,目的之二是避免小目标被过度放大;所述收缩的目的是避免一些位置框超出有效区域;

所述复检位置的尺度和参考点可能和输入图像不符,但存在一一对应的关系,即复检位置必定可以由输入图像的某部分经过尺度和位置变换;取出这个对于的图像作为新的输入图像;

得到新的输入图像后,递归到步骤S120a;

根据递归判定条件,若干步骤后所有递归结束,然后进入下一步骤S130;

所述步骤S130:对得到的初定位置进行融合,融合的目的在于避免同一目标被输出为多个结果;融合方法通常为非极大值抑制法(Non-Maximum Suppression,NMS)或其变种如Soft-NMS等;

融合后的结果基于输入图像,而最终输出的结果要基于原始图像,因此若在步骤S110中把原始图像的分辨率提高后作为输入图像,则融合结果再进行一次逆变换后映射到原始图像才能最为最终输出结果;若在步骤S110中没有变换分辨率,则融合结果即为最终输出结果。

对于前述实施例提供的目标检测方法,本申请实施例提供了一种目标检测装置,该装置包括输入部分、处理部分和输出部分,如图6所示;

如图6中610为输入部分,用于从指定位置获取图像或视频数据;该指定位置可以为采集设备或存储设备;该存储设备可以位于本地或网络位置;

如图6中620为处理部分,用于对图像或视频数据按照所述的目标检测方法进行检测;

如图6中630为输出部分,用于将检测结果输出到指定位置;该指定位置可以为显示器、存储设备等;该存储设备可以位于本地或网络位置;

所述存储器可以是任何电子、磁性、光学或其他物理存储装置,可以有多个并位于本地或远端网络位置,可以包含或存储信息如可执行指令、数据等;所述存储器可以被所述处理器读和/或写和/或访问;典型的存储器例如RAM、ROM、Flash、机械硬盘、固态硬盘、光盘、优盘或其他任意可处理器可读存储设备等;

所述存储器至少存储实现所述目标检测方法的步骤所对应的指令中的一条;所述指令可以被所述处理器执行;

所述处理器可以与所述存储器之间进行通信和/或读写控制;

如图7为从采集设备获取图像或视频数据的一个实施例;

如图8为从存储设备获取图像或视频数据的一个实施例;

如图9为将结果输出到显示器的一个实施例;

如图10为将结果输出到存储设备的一个实施例;

需要说明的是,图7、8、9、10所述实施例仅为部分特例,这些特例的部分组合也属于实施例,如输入部分同时包含采集设备和存储设备等;其他组合情况不再赘述。

本申请实施例还提供了一种存储有机器可执行指令的机器可读存储介质,所述介质至少存储实现所述目标检测方法的步骤所对应的指令中的一条;

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,或者本领域的普通技术人员在本申请的启示下做出的各种形式的具体变换等,或直接或间接运用在其他相关的技术领域,均应包含在本申请保护的范围之内。

技术分类

06120112161569