发明内容
为了解决现有技术中的上述问题,即为了解决现有的目标检测与定位方法忽略目标之间的位置关系和空间分布的先验知识,导致检测与定位精度差的问题,本发明第一方面,提出了一种基于先验知识的小目标实时检测与定位方法,该方法包括:
步骤S10,获取包含待定位目标的场景图像,作为输入图像;
步骤S20,通过预训练的基于深度学习的目标检测网络获取所述输入图像中待定位目标的各候选区域的位置及对应的分类置信度;所述位置为各候选区域的中心点坐标;
步骤S30,通过预构建的基于目标位置概率密度分布的高斯混合模型获取各候选区域位置的置信度;
步骤S40,对各候选区域,基于其对应的分类置信度、位置的置信度求取联合概率分布,得到联合置信度;将联合置信度大于设定置信度阈值的候选区域作为待定位目标最终的预测区域,进而得到待定位目标的最终位置。
在一些优选的实施方式中,所述基于目标位置概率密度分布的高混合模型,其构建方法为:
步骤A10,采集训练样本图像,并标定训练样本图像中待定位目标的中心点坐标,即位置;所述训练样本图像为包含待定位目标的场景图像;
步骤A20,对所述训练样本图像中待定位目标的中心点坐标进行预处理;预处理后,通过k-mean算法进行聚类,得到待定位目标的位置概率密度分布;所述预处理包括去中心化和标准化;
步骤A30,利用高斯混合模型对待定位目标的位置概率密度分布进行建模,得到基于目标位置概率密度分布的高斯混合模型。
在一些优选的实施方式中,所述去中心化为将每个训练样本图像中待定位目标的中心点坐标减去所有目标中心的坐标平均值。
在一些优选的实施方式中,所述标准化为将离待定位目标中心点最远的目标坐标作为半径,归一化目标位置到一个半径为1,中心点为(0,0)的圆内;标准化后的待定位目标的坐标用极坐标(p,θ)来表示::
其中,
表示去中心化后的待定位目标的坐标,r表示半径。
在一些优选的实施方式中,所述基于目标位置概率密度分布的高斯混合模型为:
其中,p(x,y)表示基于目标位置概率密度分布的高斯混合模型,k为高斯混合模型的数目,πi是第i个高斯混合模型所占整体的权重,μi为第i个高斯混合模型的中心,∑i为第i个高斯混合模型的协方差矩阵, N(x,y|μi,∑i)表示第i个高斯混合模型密度分布函数。
在一些优选的实施方式中,所述联合置信度,其获取方法为:
Prob(box,object)=Prob(object)*Prob(box|object)
Prob(ti)=πiN(boxx,boxy|μk,∑k)
其中,Prob(T,box,object)表示联合置信度,Prob(ti)表示位置的置信度,即第i个高斯混合模型对待定位目标预测位置(x,y)的评估分数,Prob(box,object)表示分类置信度,即候选区域box与目标的相似度, Prob(object)表示object的概率,条件概率Prob(box|object)表示在object的条件下,box的概率。
本发明的第二方面,提出了一种基于先验知识的小目标实时检测与定位系统,该系统包括:图像获取模块、分类置信度获取模块、位置置信度获取模块、预测区域获取模块;
所述图像获取模块,配置为获取包含待定位目标的场景图像,作为输入图像;
所述分类置信度获取模块,配置为通过预训练的基于深度学习的目标检测网络获取所述输入图像中待定位目标的各候选区域的位置及对应的分类置信度;所述位置为各候选区域的中心点坐标;
所述位置置信度获取模块,配置为通过预构建的基于目标位置概率密度分布的高混合模型获取各候选区域位置的置信度;
所述预测区域获取模块,配置为对各候选区域,基于其对应的分类置信度、位置的置信度求取联合概率分布,得到联合置信度;将联合置信度大于设定置信度阈值的候选区域作为待定位目标最终的预测区域,进而得到待定位目标的最终位置。
本发明的第三方面,提出了一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的基于先验知识的小目标实时检测与定位方法。
本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的基于先验知识的小目标实时检测与定位方法。
本发明的有益效果:
本发明提高了目标检测、定位的精度。本发明利用目标空间分布先验知识,使用高混合模型表示目标空间密度分布函数来修正深度学习的置信度,能够以快速、定位和识别精度高、极低错检测率的优势,来完成目标的检测与定位,可以作为关键的感知技术来辅助机器人智能感知目标代替人工质检。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的一种基于先验知识的小目标实时检测与定位方法,如图1所示,该方法包括:
步骤S10,获取包含待定位目标的场景图像,作为输入图像;
步骤S20,通过预训练的基于深度学习的目标检测网络获取所述输入图像中待定位目标的各候选区域的位置及对应的分类置信度;所述位置为各候选区域的中心点坐标;
步骤S30,通过预构建的基于目标位置概率密度分布的高斯混合模型获取各候选区域位置的置信度;
步骤S40,对各候选区域,基于其对应的分类置信度、位置的置信度求取联合概率分布,得到联合置信度;将联合置信度大于设定置信度阈值的候选区域作为待定位目标最终的预测区域,进而得到待定位目标的最终位置。
为了更清晰地对本发明基于先验知识的小目标实时检测与定位方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
在下述的实施例中,先对基于目标位置概率密度分布的高混合模型的构建过程进行详述,再对基于先验知识的小目标实时检测与定位方法获取待定位目标的预测区域的过程进行详述。
1、基于目标位置概率密度分布的高混合模型的构建过程,如图3所示,具体如下:
步骤A10,采集训练样本图像,并标定训练样本图像中待定位目标的中心点坐标,即位置;所述训练样本图像为包含待定位目标的场景图像;
在本实施例中,采集检测场景中包含目标的图像数据,即包含待定位目标的场景图像。将图像识别目标(即待定位目标)建模为最小外接正四边形,标注待定位目标的位置、尺寸。所述位置为待定位目标的中心点坐标。
步骤A20,对所述训练样本图像中待定位目标的中心点坐标进行预处理;预处理后,通过k-mean算法进行聚类,得到待定位目标的位置概率密度分布;所述预处理包括去中心化和标准化;
在本实施例中,采用k-mean算法聚类待定位目标的尺寸并将其作为尺寸先验知识用于指导检测中锚框设置,降低网络的回归难度。采用去中心化、标准化对目标位置预处理后,聚类目标位置得到待定位目标的位置概率密度分布,作为空间位置密度分布先验知识。
其中,去中心化,就是将每个训练样本图像中待定位目标的中心点坐标减去所有目标中心的坐标平均值。
标准化是指将离待定位目标中心点最远的目标坐标作为半径,归一化目标位置到一个半径为1,中心点为(0,0)的圆内,用极坐标(p,θ) 来表示最后的目标位置。对于待定位目标的任意一个坐标(xi,yi)去中心化和标准化的过程由公式(1)(2)(3)计算:
其中,n为训练样本图像中所包含目标数目,x
i、y
i表示训练样本图像中第i个目标的中心点坐标,
表示去中心化后的待定位目标的中心点坐标,r表示半径,(p
i,θ
i)表示标准化后的目标对应的极坐标,
表示离待定位目标中心点最远的目标坐标与待定位目标中心点的距离。
步骤A30,利用高斯混合模型对待定位目标的位置概率密度分布进行建模,得到基于目标位置概率密度分布的高斯混合模型。
在本实施例中,利用上述步骤得到的待定位目标的位置密度分布,用高斯混合模型对目标位置信息分析建模,来辅助深度学习预测位置信息,增强错检测的识别能力。
其中,利用高斯混合模型对目标位置进行分析得到位置密集分布概率函数,高斯混合模型是由多个高斯模型组成,由于目标的位置是一个二维变量,每一个高斯模型都是二维的,由式(4)计算:
其中,p(x,y)表示基于目标位置概率密度分布的高斯混合模型,k为高斯混合模型的数目,πi是第i个高斯混合模型所占整体的权重,μi为第i个高斯混合模型的中心,∑i为第i个高斯混合模型的协方差矩阵, N(x,y|μi,∑i)表示第i个高斯混合模型密度分布函数,p(i)表示第i个高斯混合模型所占权重的表达形式,p(x,y|i)表示第i个高斯混合模型密集分布表达形式。
2、基于先验知识的小目标实时检测与定位方法
步骤S10,获取包含待定位目标的场景图像,作为输入图像;
在本实施例中,获取包含待定位目标的场景图像。
步骤S20,通过预训练的基于深度学习的目标检测网络获取所述输入图像中待定位目标的各候选区域的位置及对应的分类置信度;所述位置为各候选区域的中心点坐标;
在本实施例中,从增强网络捕捉空间细节能力、检测的精确率、实时性等方面对基于深度学习的目标检测网络的改进,以YoLo系类、 SSD等基于锚框的一阶段目标检测网络为例,通过降低网络下采样倍数思想来增强网络提取空间细节信息的能力,有效解决小目标在特征图上所占的信息过少的问题和减轻目标密集分布造成的漏检问题,同时由于网络下采样倍数带来的网络层数降低,达到的增强网络实时性的目的,使网络能够更加是适用于实时性要求高的场景任务。
本发明中,基于改进的深度学习的目标检测网络快速预测目标的坐标、外接矩形和分类置信度的分数,即待定位目标的候选区域以及分类置信度。
步骤S30,通过预构建的基于目标位置概率密度分布的高斯混合模型获取各候选区域位置的置信度;
在本实施例中,通过构建的基于目标位置概率密度分布的高斯混合模型获取各候选区域位置的置信度。
步骤S40,对各候选区域,基于其对应的分类置信度、位置的置信度求取联合概率分布,得到联合置信度;将联合置信度大于设定置信度阈值的候选区域作为待定位目标最终的预测区域,进而得到待定位目标的最终位置。
在本实施例中,基于深度学习的目标检测网络预测的分类置信度实际上是一个联合概率表示该预测区域box是目标object的概率即相似程度,不包含预测区域box的位置可信度。
将表示目标位置概率分布的高斯混合模型作为先验知识集合T={t1,t2,...,tk},其中t1,t2,...,tk都是相互独立的知识即满足独立性假设,评估预测区域box的位置可信度(置信度)来修正网络预测的分类置信度,即求取联合概率分布,得到联合置信度,如式(5)(6)(7)所示:
Prob(ti)=πiN(boxx,boxy|μk,∑k) (5)
Prob(box,object)=Prob(object)*Prob(box|object) (6)
其中,Prob(T,box,object)表示联合置信度,Prob(ti)表示位置的置信度,即第i个高斯混合模型对待定位目标预测位置(x,y)的评估分数,Prob(box,object)表示分类置信度,即候选区域box与目标的相似度,Prob(object)表示object的概率,条件概率Prob(box|object)表示在object的条件下,box的概率。
设置阈值T,将预测区域box的联合置信度大于T的一组预测作为最终的目标预测结果,进而得到待定位目标的最终定位位置(即将最终的预测区域对应的中心点坐标作为待定位目标的最终定位位置)。
本发明第二实施例的一种基于先验知识的小目标实时检测与定位系统,如图2所示,具体包括以:图像获取模块100、分类置信度获取模块200、位置置信度获取模块300、预测区域获取模块400;
所述图像获取模块100,配置为获取包含待定位目标的场景图像,作为输入图像;
所述分类置信度获取模块200,配置为通过预训练的基于深度学习的目标检测网络获取所述输入图像中待定位目标的各候选区域的位置及对应的分类置信度;所述位置为各候选区域的中心点坐标;
所述位置置信度获取模块300,配置为通过预构建的基于目标位置概率密度分布的高混合模型获取各候选区域位置的置信度;
所述预测区域获取模块400,配置为对各候选区域,基于其对应的分类置信度、位置的置信度求取联合概率分布,得到联合置信度;将联合置信度大于设定置信度阈值的候选区域作为待定位目标最终的预测区域,进而得到待定位目标的最终位置。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于先验知识的小目标实时检测与定位系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种设备,至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求上述的基于先验知识的小目标实时检测与定位方法。
本发明第三实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现权利要求上述的基于先验知识的小目标实时检测与定位方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
下面参考图4,其示出了适于用来实现本申请方法、系统、设备实施例的服务器的计算机系统的结构示意图。图4示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)401,其可以根据存储在只读存储器(ROM,Read Only Memory)402中的程序或者从存储部分408加载到随机访问存储器(RAM, Random Access Memory)403中的程序而执行各种适当的动作和处理。在 RAM403中,还存储有系统操作所需的各种程序和数据。CPU401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O,Input/Output) 接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通讯部分409。通讯部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通讯部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM 或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。